Contents / Reference section / Previous chapter / Next chapter / Index


48 Appendix

Teletext (MODE 7) Displayed Alphanumeric Characters

Each code produces a unique character. Thus VDU 78 or PRINT CHR$(78) would display an N since column 70, row 8 shows an N.

Teletext (MODE 7) Displayed Graphic Characters

Each character has a code. Thus H is code 72 since it is in column 70 row 2.

ASCII (MODES 0 to 6) Displayed Character Set and Control Codes

Each displayed character consists of 8 rows of 8 dots.

Hexadecimal ASCII Codes

Printed circuit board layout for the BBC Microcomputer

External connections

Memory map

Memory Map Assignments

FF00-FFFF Operating System ROM
FE00-FEFF Internal memory mapped input/output (SHEILA)
FD00-FDFF External memory mapped input/output (JIM)
FC00-FCFF External memory mapped input/output (FRED)
C000-FBFF Operating System ROM
8000-BFFF One or more languages ROMS (e.g. BASIC, PASCAL)
4000 7FFF Optional RAM on Model B
0000-3FFF always RAM
E00 Default setting of PAGE
D80-DFF allocated to machine operating system
D00-D7F Used by NMI routines (eg by Disc or Econet filing systems)
C00-CFF User defined character definitions
B00-BFF User defined function key definitions
A00-AFF RS423 receive, and cassette workspace
900-9FF RS423 transmit, cassette, sound and speech workspace
800-8FF Miscellaneous workspace
400-7FF Language ROM workspace
300-3FF Miscellaneous workspace
200-2FF Operating system workspace and indirection vectors
100-1FF 6502 stack
0FF Zero page
Zero Page
FF The top bit is set during an ESCAPE condition
FD- FE Address following detected BRK instruction
FC User IRQ routine save slot for register A
D0 to FB allocated to machine operating system
B0 to CF allocated to current filing system
90 to AF allocated to machine operating system
70 to 8F free for user routines
0 to 6F BASIC language

Printer, User I/O and 1MHz Bus circuits

Video outputs

RS423 Interface

Analogue inputs

Disc interface

Cassette interface

VDU code summary

Decimal Hex CTRL ASCII abbrev. Bytes extra Meaning
0 0 @ NUL 0 does nothing
1 1 A SOH 1 send next character to printer only
2 2 B STX 0 enable printer
3 3 C ETX 0 disable printer
4 4 D EOT 0 write text at text cursor
5 5 E ENQ 0 write text at graphics cursor
6 6 F ACK 0 enable VDU drivers
7 7 G BEL 0 make a short beep
8 8 H BS 0 backspace cursor one character
9 9 I HT 0 forwardspace cursor one character
10 A J LF 0 move cursor down one line
11 B K VT 0 move cursor up one line
12 C L FF 0 clear text area
13 D M CR 0 move cursor to start of current line
14 E N SO 0 page mode on
15 F O SI 0 page mode off
16 10 P DLE 0 clear graphics area
17 11 Q DC1 1 define text colour
18 12 R DC2 2 define graphics colour
19 13 S DC3 5 define logical colour
20 14 T DC4 0 restore default iogical colours
21 15 U NAK 0 disable VDU drivers or delete current line
22 16 V SYN 1 select screen mode
23 17 W ETB 9 re-program display character
24 18 X CAN 8 define graphics window
25 19 Y EM 5 PLOT K,x,y
26 1A Z SUB 0 restore default windows
27 1B [ ESC 0 does nothing
28 1C \ FS 4 define text window
29 1D ] GS 4 define graphics origin
30 1E ^ RS 0 home text cursor to top left
31 1F _ US 2 move text cursor to x,y
127 7F DEL 0 backspace and delete

FX and OSBYTE Call Summary

Decimal Hex Function

* 0 0 Prints operating system version number
1 1 Reserved for application programs
2 2 Selects input device
3 3 Selects output devices
* 4 4 Enable/disable cursor edit keys
* 5 5 Select printer type
* 6 6 Set Printer ignore character
* 7 7 Set RS423 receive baud rate
* 8 8 Set RS423 transmit baud rate
* 9 9 Set flash period of first colour
* 10 A Set flash period of second colour
* 11 B Set auto-repeat delay
* 12 C Set auto-repeat period
13 D Disable various events
14 E Enable various events
* 15 F Flush all or just input buffer
* 16 10 Select number of ADC channels
17 11 Force start of conversion on ADC channel
18 12 Reset user defined function keys
19 13 Wait for field synchronization
20 14 Explode soft character RAM allocation

21 15 Flush selected buffer
* 124 7C Reset ESCAPE flag
* 125 7D Set ESCAPE flag
* 126 7E Acknowledge detection of ESCAPE condition
* 127 7F Check end of file status
* 128 80 Read ADC channel/fire buttons/last conversion
* 129 81 Read key within time limit
* 130 82 Read machine high order address
* 131 83 Read top of operating system RAM Address
* 132 84 Read bottom of display RAM address
* 133 85 Read lowest address for particular MODE
* 134 86 Read text cursor position
* 135 87 Read character at text cursor position
136 88 Reserved
* 137 89 Turn cassette motor ON/OFF
138 8A Insert character into keyboard buffer

Decimal Hex Function

* 139 8B Set file options
* 140 8C Select cassette file system and set speed
141 8D Reserved
142 8E Reserved
143 8F Reserved
* 144 90 Alter TV display position/interlace
145 91 Remove character from buffer
146 92 Read from I/O area FRED
147 93 Write to I/O area FRED
148 94 Read from I/O area JIM
149 95 Write to I/O area JIM
150 96 Read from I/O area SHEILA
151 97 Write to I/O area SHEILA
224 E0 Cancel VDU queue
225 E1 Set base number for function-key codes
226 E2 Set base number for SHIFT function-key codes
227 E3 Set base number for CTRL function-key codes
228 E4 Set base number for SHIFT/CTRL function key codes
229 E5 Escape=& 1B
230 E6 Enable/disable normalESCAPE key action
231 E7 Enable/disable user 6522 IRQ
232 E8 Enable/disable 6850 ACIA IRQ

Routine Vector Summary of function

Name Address Name Address

UPTV 222 User print routine
EVNTV 220 Event interrupt
FSCV 21E File system control entry
OSFIND FFCE FINDV 21C Open or close a file
OSGBPB FFD1 GBPBV 21A Load or save a block of memory to a file
OSBPUT FFD4 BPUTV 218 Save a single byte to file from A
OSBGET FFD7 BGETV 216 Load a single byte to A from file
OSARGS FFDA ARGSV 214 Load or save data about a file
OSFILE FFDD FILEV 212 Load or save a complete file
OSRDCH FFE0 RDCHV 210 Read character (from keyboard) to A
OSASCI FFE3 ?? ?? Write a character (to screen) from A plus LF if (A)=&0D
OSNEWL FFE7 ?? ?? Write LF,CR (&0A,&0D) to screen
OSWRCH FFEE WRCHV 20E Write character (to screen) from A
OSWORD FFF1 WORDV 20C Perfrom miscellaneous OS operation using control block to pass parameters
OSBYTE FFF4 BYTEV 20A Perfrom miscellaneous OS operation using registers to pass parameters
OSCLI FFF7 CLIV 208 Interpret the command line given
IRQ2V 206 Unrecognised IRQ vector
IRQ1V 204 All IRQ vector
BRKV 202 Break vector
USERV 200 Reserved

Exit: BBC Microcomputer User Guide; Kasoft Typesetting; Archer


The BBC Microcomputer User Guide was written by John Coll and edited by David Allen for the British Broadcasting Corporation.

Optical character recognition and original formatting effort by Mark Usher.

HTML version maintained by: Kade "Archer" Hansson; e-mail: archer@dialix.com.au

Last updated: Monday 12th February 2001