VDU display setup parameters and routines. |
C000 |
C2FF |
character font lookup table |
C300 |
initialise system |
C303 |
‘BBC Computer’ embedded message |
C312 |
‘16K + BELL’ embedded message |
C317 |
‘32K + DELL’ embedded message |
C31F |
C32E |
4-colour MODE byte mask lookup table |
C32F |
C332 |
16-colour MODE byte mask lookup table |
C333 |
C353 |
VDU entry point lo lookup table |
C354 |
C374 |
VDU entry point hi parameter lookup table |
C375 |
C383 |
*640 multiplication table (40-,80-column MODEs) |
C385 |
C3E5 |
*40 multiplication table (teletext MODE) |
C3E7 |
C3EE |
text window – bottom row lookup table |
C3EF |
C3F6 |
text window – right-hand column lookup table |
C3F7 |
C3FE |
video ULA control register setting |
C3FF |
C406 |
number of bytes per character for each display MODE |
C407 |
C408 |
mask table for 2-colour MODEs |
C409 |
C40C |
mask table for 4-colour MODEs |
C40D |
C414 |
mask table for 2-colour MODEs, font flag mask table |
C4l4 |
C41B |
number of colours minus one for each MODE |
C418 |
C425 |
6COL PLOT options processing lookup table |
C424 |
C425 |
2-colour MODE colour parameter lookup table |
C426 |
C429 |
4-colour MODE colour parameter lookup table |
C42A |
C439 |
16-colour MODE colour parameter lookup table |
C430 |
C44l |
display MODE pixels/byte -l lookup table |
C440 |
C447 |
screen display memory index lookup table |
C44l |
C444 |
sound pitch offset by channel lookup table |
C44B |
C44E |
CRTC setup parameter |
C44F |
C453 |
CRTC setup parameter |
C447 |
C458 |
VDU section control numbers |
C459 |
C4SD |
MSB of memory occupied by screen buffer |
C45E |
C462 |
MSB of first location occupied by screen buffer |
C463 |
C465 |
number of bytes/row |
C466 |
C468 |
row multiplications table pointer lo lookup table |
C469 |
C46D |
CRTC cursor end register setting lookup table |
C46E |
C479 |
6845 registers 0-11 for MODEs 0-2 |
C47A |
C485 |
6845 registers 0-11 for MODE 3 |
C486 |
C49l |
6845 registers 0-11 for MODEs 4-5 |
C492 |
C49D |
6845 registers 0-11 for MODE 6 |
C4A93 |
C4A9 |
6845 registers 0-11 for MODE 7 |
C4AA |
C4AD |
VDU routine vector addresses |
C4AE |
C4B1 |
VDU routine branch vector address lo |
C4B2 |
C4B5 |
VDU routine branch vector address hi |
C4B6 |
C4B9 |
teletext character conversion table |
C4BA |
C4BF |
soft character RAM allocation |
VDU routines. |
C4C0 |
check VDU command, if normal character, PRINT it |
C4ED |
RUBOUT |
C511 |
VDU 00 – do nothing |
C511 |
VDU 06 – enable VDU drivers |
C511 |
YDU 27 – do nothing |
C53B |
VDU 01 – send next character to printer only |
C55E |
confirm input, output cursors not separated |
C565 |
prepare cursor character for display |
C568 |
interchange cursors, set CRTC address registers, toggle VDU screen status |
C588 |
get graphics cursor printing status bit |
C58D |
YDU 14 – paged mode on |
C596 |
YDU 02 – enable printer |
C59B |
VDU 21 – disable VDU drivers or delete current line |
C59D |
set VDU status or, if zero, reset default |
C5A1 |
VDU 03 – disable printer |
C5A6 |
YDU 15 – paged mode off |
C5A8 |
reset specified VDU status bits |
C5AD |
VDU 04 – write text at text cursor |
C5B9 |
VDU 05 – write text at graphics cursor |
C5C5 |
VDU 08 – backspace one character |
C621 |
move graphics cursor one position |
C65B |
VDU 11 – move cursor up one line |
C664 |
VDU 09 – advance tent cursor if enabled |
C684 |
set text cursor to new line, scrolling if required |
C6AC |
clear text line to background, calculate offset, set CRTC address |
C6AF |
calculate offsets of character row, set text cursor address register |
C6B4 |
paged mode scrolling |
C6F0 |
VDU 10 – move cursor down one line (line feed) |
C6FA |
VDU 28 – define test window |
C735 |
OSWORD 09 – read pixel value |
C74B |
OSWORD 0B – read palette |
C759 |
VDU 12 – clear test area |
C779 |
VDU 30 – home text cursor to top left |
C787 |
VDU 31 – move test cursor to 0,9 |
C7AB |
interchange current tent cursor with value from general graphics coordinate workspace |
C7AF |
VDU 13 – move cursor to start of current line |
C7C0 |
VDU 16 – clear graphics area |
C7F9 |
VDU 17 – define text colour |
C7FD |
VDU 18 – define graphics colour |
C839 |
VDU 20 – restore default logical colour |
C88F |
save colour index and define logical colour |
C892 |
VDU 19 – define logical colour |
C89E |
set logical/physical colour relationship |
C8E0 |
OSWORD OC – write palette |
C8EB |
VDU 22 – select screen MODE |
C8F1 |
VDU 23 – re-program display character or write to CRTC |
C938 |
process unrecognised VDU command |
C93F |
setup CRTC |
C951 |
set 6845 cursor register to previous value |
C954 |
set 6845 cursor parameters register = A-register |
C958 |
write parameter from VDU queue to specified CRTC register |
C95E |
set specified CRTC register |
C98C |
VDU 25 – PLOT k,X,Y |
C994 |
backspace one row, set CRTC screen start address registers |
C9A4 |
advance one row, set CRTC screen start address registers |
C9B3 |
set 6845 CRTC screen start address registers |
C9BD |
VDU 26 – restore default windows |
C9F6 |
save 6845 test cursor position address, set corresponding 6845 registers |
CA02 |
set 6845 text cursor address registers |
CA0E |
set 6845 CRTC registers indexed by 9-register |
CA2B |
write two bytes to consecutive 6845 registers |
CA39 |
VDU 24 – define graphics window |
CA88 |
set test window width according to character size |
CAA2 |
VDU 29 – define graphics origin |
CAAC |
VDU 127 – backspace and delete |
CAD4 |
add number of bytes in row to display address |
CAE0 |
zero POINT line counter and scroll if enabled |
CAE3 |
scroll if enabled |
CB14 |
zero page PRINT line counter |
CB1D |
initialise video display parameters and workspace |
CB33 |
set up video display parameters table |
CBC1 |
initialise screen display parameters |
CBF3 |
OSWORD 0A – read character definition |
CC02 |
character font definition indirection vector lookup table |
CCF5 |
process unrecognised VDU command |
CCF8 |
scroll back one row, check if wrap-round seeded |
CD07 |
OSBYTE 14 – explode soft character ROM allocation |
CD3F |
move text cursor to next line |
CD6A |
process character for display |
CD77 |
recover A-register, processor status from stack |
CD7A |
process cursor character for display |
CDA4 |
soft scroll one line |
CDCE |
set scan line address, scroll back until counter zero |
CDDA |
interchange current test cursor with value from coordinate workspace |
CDDE |
interchange two Page 3 bytes indexed by X,Y |
CDE2 |
interchange old and current graphics cursors |
CDE4 |
interchange old graphics cursor with value from coordinate workspace |
CDE6 |
interchange four-byte block indexed by X,Y in Page 3 |
CDFF |
scroll text one line |
CE2A |
set scan line address source line address |
CE38 |
copy source line to scan line |
CE5B |
determine test window height, if non-zero do CR |
CE6E |
set text cursor U-coordinate to left-hand side of text window |
CE73 |
add character to scan line |
CEE8 |
confirm cursor in text window, calculate character row offset |
CF06 |
calculate address of text cursor |
CF63 |
PRINT character at graphics cursor |
C046 |
home graphics cursor |
CFAD |
set graphics cursor X-coordinate to left-hand column |
CFB7 |
set up character definition and display character |
CFBF |
display character |
CFDC |
insert teletext character in scan line, convert if required |
D03E |
set up character definition pointers |
D060 |
process PLOT command |
D0B3 |
set Page 0 colour processing bytes |
D0D9 |
move graphics cursor to absolute position |
D0DC |
copy current graphics cursor coordinates from VDU queue |
D0DE |
copy four bytes from VDU queue |
D0E3 |
set colour of point at current graphics cursor |
D0EB |
omit last paint in line |
D0F0 |
set colour of current graphics point, save to graphics scan line |
D0F3 |
process colour and save to graphics scan line |
D104 |
process colour of current graphics point |
D10D |
check current graphics cursor position with respect to to window boundaries |
D10F |
check position of indexed graphics coordinates with respect to window boundaries |
D128 |
check current graphics point position with respect to window boundaries |
D149 |
adjust coordinates according to display MODE |
D14D |
adjust PLOT coordinate according to display options |
D176 |
adjust coordinate for relative/absolute PLOT, divide it by 2 |
D1AD |
divide PLOT coordinate by 2 |
D1B8 |
calculate graphics cursor offset according to display MODE |
D1D5 |
adjust cursor coordinates, calculate cursor offset |
D1E3 |
use graphics origin to calculate cursor offset |
D1ED |
execute PLOT command |
D214 |
set up branch loops, PLOT parameters |
D2E3 |
set scan byte if appropriate, adjust coordinates and scan position |
D3D3 |
decrement graphics cell top line address by one raw, set Y=7 |
D3ED |
set graphics cask left-hand colour cask, increment graphics cell by use line |
D3FD |
set graphics mask right-hand colour cask, decrement graphics cell by one line |
DA0D |
calculate graphics cursor relative to graphics window |
D411 |
calculate graphics coordinates relative to specified paint |
D418 |
calculate graphics coordinate offset |
D42C |
if necessary, set up working coordinates, evaluate difference, |
D42C |
make positive, divide Y by 2 |
D459 |
take modulus of working coordinate, divide Y coordinate by 2 |
D467 |
change sign of working coordinate, if negative |
D47C |
copy 8 Page 3 bytes to new location (indexed by X,Y) |
D480 |
copy two Page 3 bytes to coordinate workspace |
D482 |
copy two Page 3 bytes to new location (indexed by X,Y) |
D486 |
copy current graphics cursor to coordinate workspace |
D488 |
copy current graphics cursor to new Page 3 location (indexed by Y) |
D48A |
copy four Page 3 bytes to new location (indexed by X,Y) |
D49B |
fore 2s complement of number in Y-,A-registers |
D4AA |
if byte legal, process colour, else, discard it and cove cursor |
D4BF |
omit last point in inverting actions |
D506 |
PLOT with dotted line |
D545 |
move graphics cursor and calculate offset for MODE |
D548 |
get current graphics byte cask, set colour, save byte to scan line |
D574 |
reset graphics byte and save to scan line |
D592 |
check X coordinate from VDU queue against graphics window boundary |
D5AC |
process working I coordinate, transfer to YOU queue |
D5CC |
OSWORD 0D – read last two graphics cursor positions |
D5DE |
OSWORD 0D – read old and current graphics position |
D5D5 |
transfer four bytes index by 4-register to OS buffer |
D5EA |
PLOT and fill triangle |
D632 |
11 old graphics cursor greater than new PLOT point, interchange thee |
D636 |
of source coordinate greater than destination coordinate, interchange points |
D647 |
OSBYTE 86 – read text cursor position (POS and VPOS) |
D658 |
process coordinates and PLOT points til target reached |
D6A2 |
set and arrange working coordinates… |
D6A6 |
arrange working coordinates, process colour mask, save to scan line |
D70E |
recover target coordinates from stack |
D774 |
derive coordinates for next point in triangular PLOT |
D7AC |
add stored value to working coordinate, increment counter if necessary |
D7C2 |
OSBYTE 87 – read character at text cursor position |
D808 |
derive character definition from displayed character |
D839 |
determine logical colour of specified point |
D85D |
get coordinates from YOU queue, set up graphics line address, colour mask |
D85F |
set coordinate source index, set up line address, colour mask |
D864 |
set up graphics line address |
D8CE |
if enabled, PRINT at cursor position |
D905 |
if test cursor enabled, read character |
D918 |
reset CRTC cursor register, cursors together, enable screen, set 4-register to 80 |
D923 |
OSBYTE 85 – read HIMEM |
8926 |
OSBYTE 85 – read address of screen buffer for MODE |
Page 2 setup – default values. |
D940 |
D976 |
Page 2 vectors default settings |
D976 |
D9CC |
MOS variables default settings |