BBC Micro Advanced BASIC ROM User Guide
The Advanced BASIC ROM User Guide for the BBC Microcomputer is a book by Colin Pharo, published in 1984 by the Cambridge Microcomputer Centre, 153–154 East Road, Cambridge (ISBN 0 946827 45 1). The hosted PDF is the remastered edition by dv8 (2017), second revision, March 2023: a retypeset text with a text layer, not a scan. Its numbered pages run to p. 182.
It is not an Acorn publication. It is a companion to Mark Plumbley's BASIC ROM User Guide: Plumbley describes how BBC BASIC works, and Pharo describes how to call the BASIC ROM's own integer, floating-point, conversion, mathematical and random-number routines from assembly language. Each routine is given with its BASIC 1 and BASIC 2 addresses; the example programs are written for BASIC 2, and the book explains what to change for BASIC 1.
Contents
[edit | edit source]| Chapter | Sections (page) |
|---|---|
| 1 Numbering systems | Binary (9); hexadecimal (13) |
| 2 Integers | Work areas (17); defining constants (18); routines summary (21); routines description (22) |
| 3 Floating point numbers | Variables (55); integer versus floating point (58); work areas (59); defining constants (61); routines summary (62); routines description (63); interface program (92) and test (94) |
| 4 Conversions | Work areas (95); routines summary (96); routines description (97); ASCII conversion demonstration (105) |
| 5 Mathematical functions | Routines summary (108); routines description (109); demonstration (122) |
| 6 Random numbers | Work area (127); routines summary (128); routines description (129); demonstration (134) |
| 7 BASIC memory map | Zero page dedicated locations (137); zero page multiple-use locations (139); resident integer variables (140); floating point temporary areas (140); variable pointer table (141); stacks and buffers (144); token and action tables (144); tables summary (145) |
| 8 Timings | Units of time (150); processor speed (150); program speed (151); microsecond timer (151); BASIC timings (154) |
| 9 Trigonometrical manipulations | Fixed shapes (156); reduced accuracy (158); mathematical transform (159); symmetry (160); hybrid (164) |
| 10 Large machine code programs | BASIC 2 relocation (167); intra-module relocation (169–175); inter-module relocation (175); initial BASIC program (179) |
What it settles
[edit | edit source]Chapter 7 maps the memory BBC BASIC uses: its reserved zero-page locations, the resident integer variables, the floating-point temporary areas, the variable pointer table and the token and action tables. Chapter 8 gives BASIC timings and a microsecond timer program.
What this book does not contain
[edit | edit source]- Any hardware content: no circuit diagram, parts list or fault-finding.
- Operating system detail. For OS calls, vectors and the hardware chapters, see BBC Micro Advanced User Guide.
Download: BBC_Micro_Advanced_BASIC_ROM_User_Guide.pdf