summaryrefslogtreecommitdiffstats
path: root/docs/os12/mdfs.net/Docs/Comp/BBC/OS1-20/C300
diff options
context:
space:
mode:
Diffstat (limited to 'docs/os12/mdfs.net/Docs/Comp/BBC/OS1-20/C300')
-rw-r--r--docs/os12/mdfs.net/Docs/Comp/BBC/OS1-20/C3001
1 files changed, 1 insertions, 0 deletions
diff --git a/docs/os12/mdfs.net/Docs/Comp/BBC/OS1-20/C300 b/docs/os12/mdfs.net/Docs/Comp/BBC/OS1-20/C300
new file mode 100644
index 0000000..83abcfd
--- /dev/null
+++ b/docs/os12/mdfs.net/Docs/Comp/BBC/OS1-20/C300
@@ -0,0 +1 @@
+BBC Operation System OS 1.20 Startup Strings and Tables C300 JMP &CB1D ;Initialise screen with mode in A. C303 DB 13,'BBC Computer ',0 C312 DB '16K',7,0 C317 DB '32K',7,0 C31C DB 08,0D,0D ;Termination byte in next table ****** 16 COLOUR MODE BYTE MASK LOOK UP TABLE****** C31F DB 00 ;00000000 C320 DB 11 ;00010001 C321 DB 22 ;00100010 C322 DB 33 ;00110011 C323 DB 44 ;01000100 C324 DB 55 ;01010101 C325 DB 66 ;01100110 C326 DB 77 ;01110111 C327 DB 88 ;10001000 C328 DB 99 ;10011001 C329 DB AA ;10101010 C32A DB BB ;10111011 C32B DB CC ;11001100 C32C DB DD ;11011101 C32D DB EE ;11101110 C32E DB FF ;11111111 ****** 4 COLOUR MODE BYTE MASK LOOK UP TABLE****** C32F DB 00 ;00000000 C330 DB 55 ;01010101 C331 DB AA ;10101010 C332 DB FF ;11111111 ****** VDU ENTRY POINT LO LOOK UP TABLE****** C333 DB 11 ;00010001 C334 DB 3B ;00111011 C335 DB 96 ;10010110 C336 DB A1 ;10100001 C337 DB AD ;10101101 C338 DB B9 ;10111001 C339 DB 11 ;00010001 C33A DB 6F ;01101111 C33B DB C5 ;11000101 C33C DB 64 ;01100100 C33D DB F0 ;11110000 C33E DB 5B ;01011011 C33F DB 59 ;01011001 C340 DB AF ;10101111 C341 DB 8D ;10001101 C342 DB A6 ;10100110 C343 DB C0 ;11000000 C344 DB F9 ;11111001 C345 DB FD ;11111101 C346 DB 92 ;10010010 C347 DB 39 ;00111001 C348 DB 9B ;10011011 C349 DB EB ;11101011 C34A DB F1 ;11110001 C34B DB 39 ;00111001 C34C DB 8C ;10001100 C34D DB BD ;10111101 C34E DB 11 ;00010001 C34F DB FA ;11111010 C350 DB A2 ;10100010 C351 DB 79 ;01111001 C352 DB 87 ;10000111 C353 DB AC ;10101100 ****** VDU ENTRY POINT HI PARAMETER LOOK UP TABLE****** ; 1xxxxxxx - no parameters, address high byte ; 0aaapppp - parameter count 16-p, address high byte &C3+a C354 DB C5 ;11000101 VDU 0 - &C511, no parameters C355 DB 2F ;00101111 VDU 1 - &C53B, 1 parameter C356 DB C5 ;11000101 VDU 2 - &C596, no parameters C357 DB C5 ;11000101 VDU 3 - &C5A1, no parameters C358 DB C5 ;11000101 VDU 4 - &C5AD, no parameters C359 DB C5 ;11000101 VDU 5 - &C5B9, no parameters C35A DB C5 ;11000101 VDU 6 - &C511, no parameters C35B DB E8 ;11101000 VDU 7 - &E86F, no parameters C35C DB C5 ;11000101 VDU 8 - &C5C5, no parameters C35D DB C6 ;11000110 VDU 9 - &C664, no parameters C35E DB C6 ;11000110 VDU 10 - &C6F0, no parameters C35F DB C6 ;11000110 VDU 11 - &C65B, no parameters C360 DB C7 ;11000111 VDU 12 - &C759, no parameters C361 DB C7 ;11000111 VDU 13 - &C7AF, no parameters C362 DB C5 ;11000101 VDU 14 - &C58D, no parameters C363 DB C5 ;11000101 VDU 15 - &C5A6, no parameters C364 DB C7 ;11000111 VDU 16 - &C7C0, no parameters C365 DB 4F ;01001111 VDU 17 - &C7F9, 1 parameter C366 DB 4E ;01001110 VDU 18 - &C7FD, 2 parameters C367 DB 5B ;01011011 VDU 19 - &C892, 5 parameters C368 DB C8 ;11001000 VDU 20 - &C839, no parameters C369 DB C5 ;11000101 VDU 21 - &C59B, no parameters C36A DB 5F ;01011111 VDU 22 - &C8EB, 1 parameter C36B DB 57 ;01010111 VDU 23 - &C8F1, 9 parameters C36C DB 78 ;01111000 VDU 24 - &CA39, 8 parameters C36D DB 6B ;01101011 VDU 25 - &C9AC, 5 parameters C36E DB C9 ;11001001 VDU 26 - &C9BD, no parameters C36F DB C5 ;11000101 VDU 27 - &C511, no parameters C370 DB 3C ;00111100 VDU 28 - &C6FA, 4 parameters C371 DB 7C ;01111100 VDU 29 - &CAA2, 4 parameters C372 DB C7 ;11000111 VDU 30 - &C779, no parameters C373 DB 4E ;01001110 VDU 31 - &C787, 2 parameters C374 DB CA ;11001010 VDU 127 - &CAAC, no parameters ****** 640 MULTIPLICATION TABLE 40COL, 80COL MODES HIBYTE, LOBYTE ****** C375 DW 0000 ; 0*640 = &0000 C377 DW 8002 ; 1*640 = &0280 C379 DW 0005 ; 2*640 = &0500 C37B DW 8007 ; 3*640 = &0780 C37D DW 000A ; 4* C37F DW 800C ; 5* C381 DW 000F ; 6* C383 DW 8011 ; 7* C385 DW 0014 ; 8* C387 DW 8016 ; 9* C389 DW 0019 ; 10* C38B DW 801B ; 11* C38D DW 001E ; 12* C38F DW 8020 ; 13* C391 DW 0023 ; 14* C393 DW 8025 ; 15* C395 DW 0028 ; 16* C397 DW 802A ; 17* C399 DW 002D ; 18* C39B DW 802F ; 19* C39D DW 0032 ; 20* C39F DW 8034 ; 21* C3A1 DW 0037 ; 22* C3A3 DW 8039 ; 23* C3A5 DW 003C ; 24* C3A7 DW 803E ; 25* C3A9 DW 0041 ; 26* C3AB DW 8043 ; 27* C3AD DW 0046 ; 28* C3AF DW 8048 ; 29* C3B1 DW 004B ; 30* C3B3 DW 804D ; 31*640 = &4D80 ****** *40 MULTIPLICATION TABLE TELETEXT MODE HIBYTE, LOBYTE ****** C3B5 DW 0000 ; 0*40 = &0000 C3B7 DW 2800 ; 1*40 = &0028 C3B9 DW 5000 ; 2 C3BB DW 7800 ; 3 C3BD DW A000 ; 4 C3BF DW C800 ; 5 C3C1 DW F000 ; 6 C3C3 DW 1801 ; 7 C3C5 DW 4001 ; 8 C3C7 DW 6801 ; 9 C3C9 DW 9001 ; 10 C3CB DW B801 ; 11 C3CD DW E001 ; 12 C3CF DW 0802 ; 13 C3D1 DW 3002 ; 14 C3D3 DW 5802 ; 15 C3D5 DW 8002 ; 16 C3D7 DW A802 ; 17 C3D9 DW D002 ; 18 C3DB DW F802 ; 19 C3DD DW 2003 ; 20 C3DF DW 4803 ; 21 C3E1 DW 7003 ; 22 C3E3 DW 9803 ; 23*40 = &0398 C3E5 DW C003 ; 24*40 = &03C0 ****** TEXT WINDOW -BOTTOM ROW LOOK UP TABLE ****** C3E7 DB 1F ; MODE 0 - 32 ROWS C3E8 DB 1F ; MODE 1 - 32 ROWS C3E9 DB 1F ; MODE 2 - 32 ROWS C3EA DB 18 ; MODE 3 - 25 ROWS C3EB DB 1F ; MODE 4 - 32 ROWS C3EC DB 1F ; MODE 5 - 32 ROWS C3ED DB 18 ; MODE 6 - 25 ROWS C3EE DB 18 ; MODE 7 - 25 ROWS ****** TEXT WINDOW -RIGHT HAND COLUMN LOOK UP TABLE ****** C3EF DB 4F ; MODE 0 - 80 COLUMNS C3F0 DB 27 ; MODE 1 - 40 COLUMNS C3F1 DB 13 ; MODE 2 - 20 COLUMNS C3F2 DB 4F ; MODE 3 - 80 COLUMNS C3F3 DB 27 ; MODE 4 - 40 COLUMNS C3F4 DB 13 ; MODE 5 - 20 COLUMNS C3F5 DB 27 ; MODE 6 - 40 COLUMNS C3F6 DB 27 ; MODE 7 - 40 COLUMNS ************************************************************************* * * * SEVERAL OF THE FOLLOWING TABLES OVERLAP EACH OTHER * * SOME ARE DUAL PURPOSE * * * ************************************************************************* ************** VIDEO ULA CONTROL REGISTER SETTINGS *********************** C3F7 DB 9C ;10011100 C3F8 DB D8 ;11011000 C3F9 DB F4 ;11110100 C3FA DB 9C ;10011100 C3FB DB 88 ;10001000 C3FC DB C4 ;11000100 C3FD DB 88 ;10001000 C3FE DB 4B ;01001011 ******** NUMBER OF BYTES PER CHARACTER FOR EACH DISPLAY MODE ************ C3FF DB 08 ;00001000 C400 DB 10 ;00010000 C401 DB 20 ;00100000 C402 DB 08 ;00001000 C403 DB 08 ;00001000 C404 DB 10 ;00010000 C405 DB 08 ;00001000 C406 DB 01 ;00000001 ******************* MASK TABLE FOR 2 COLOUR MODES ********************** C407 DB AA ;10101010 C408 DB 55 ;01010101 ****************** MASK TABLE FOR 4 COLOUR MODES *********************** C409 DB 88 ;10001000 C40A DB 44 ;01000100 C40B DB 22 ;00100010 C40C DB 11 ;00010001 ********** MASK TABLE FOR 4 COLOUR MODES FONT FLAG MASK TABLE ********** C40D DB 80 ;10000000 C40E DB 40 ;01000000 C40F DB 20 ;00100000 C410 DB 10 ;00010000 C411 DB 08 ;00001000 C412 DB 04 ;00000100 C413 DB 02 ;00000010 - NEXT BYTE IN FOLLOWING TABLE ********* NUMBER OF TEXT COLOURS -1 FOR EACH MODE ************************ C414 DB 01 ; MODE 0 - 2 COLOURS C415 DB 03 ; MODE 1 - 4 COLOURS C416 DB 0F ; MODE 2 - 16 COLOURS C417 DB 01 ; MODE 3 - 2 COLOURS C418 DB 01 ; MODE 4 - 2 COLOURS C419 DB 03 ; MODE 5 - 4 COLOURS C41A DB 01 ; MODE 6 - 2 COLOURS C41B DB 00 ; MODE 7 - 1 'COLOUR' ************** GCOL PLOT OPTIONS PROCESSING LOOK UP TABLE *************** C41C DB FF ;11111111 C41D DB 00 ;00000000 C41E DB 00 ;00000000 C41F DB FF ;11111111 C420 DB FF ;11111111 C421 DB FF ;11111111 C422 DB FF ;11111111 C423 DB 00 ;00000000 ********** 2 COLOUR MODES PARAMETER LOOK UP TABLE WITHIN TABLE ********** C424 DB 00 ;00000000 C425 DB FF ;11111111 *************** 4 COLOUR MODES PARAMETER LOOK UP TABLE ****************** C426 DB 00 ;00000000 C427 DB 0F ;00001111 C428 DB F0 ;11110000 C429 DB FF ;11111111 ***************16 COLOUR MODES PARAMETER LOOK UP TABLE ****************** C42A DB 00 ;00000000 C42B DB 03 ;00000011 C42C DB 0C ;00001100 C42D DB 0F ;00001111 C42E DB 30 ;00110000 C42F DB 33 ;00110011 C430 DB 3C ;00111100 C431 DB 3F ;00111111 C432 DB C0 ;11000000 C433 DB C3 ;11000011 C434 DB CC ;11001100 C435 DB CF ;11001111 C436 DB F0 ;11110000 C437 DB F3 ;11110011 C438 DB FC ;11111100 C439 DB FF ;11111111 ********** DISPLAY MODE PIXELS/BYTE-1 LOOK UP TABLE ********************* C43A DB 07 ; MODE 0 - 8 PIXELS/BYTE C43B DB 03 ; MODE 1 - 4 PIXELS/BYTE C43C DB 01 ; MODE 2 - 2 PIXELS/BYTE C43D DB 00 ; MODE 3 - 1 PIXEL/BYTE (NON-GRAPHICS) C43E DB 07 ; MODE 4 - 8 PIXELS/BYTE C43F DB 03 ; MODE 5 - 4 PIXELS/BYTE ********* SCREEN DISPLAY MEMORY INDEX LOOK UP TABLE OVERLAPS ************ C440 DB 00 ; MODE 6 - 1 PIXEL/BYTE // MODE 0 - TYPE 0 ***** SOUND PITCH OFFSET BY CHANNEL LOOK UP TABLE WITHIN TABLE ********** C441 DB 00 ; MODE 7 - 1 PIXEL/BYTE // MODE 1 - TYPE 0 // CHANNEL 0 C442 DB 00 ; MODE 2 - TYPE 0 // CHANNEL 1 C443 DB 01 ; MODE 3 - TYPE 1 // CHANNEL 2 C444 DB 02 ; MODE 4 - TYPE 2 // CHANNEL 3 **** REST OF DISPLAY TABLE **** C445 DB 02 ; MODE 5 - TYPE 2 C446 DB 03 ; MODE 6 - TYPE 3 C447 DB 04 ; MODE 7 - TYPE 4 ***************** VDU SECTION CONTROL NUMBERS *************************** C447 DB 04 ; MODE 7 - TYPE 4 C448 DB 00 ;00000000 C449 DB 06 ;00000110 C44A DB 02 ;00000010 *********** CRTC SET UP PARAMETERS TABLE 1 WITHIN TABLE ****************** C44B DB 0D ;00001101 C44C DB 05 ;00000101 C44D DB 0D ;00001101 C44E DB 05 ;00000101 *********** CRTC SET UP PARAMETERS TABLE 2 WITHIN TABLE ***************** C44F DB 04 ;00000100 C450 DB 04 ;00000100 C451 DB 0C ;00001100 C452 DB 0C ;00001100 C453 DB 04 ;00000100 **** REST OF VDU SECTION CONTROL NUMBERS **** C454 DB 02 ;00000010 C455 DB 32 ;00110010 C456 DB 7A ;01111010 C457 DB 92 ;10010010 C458 DB E6 ;11100110 ************** MSB OF MEMORY OCCUPIED BY SCREEN BUFFER ***************** C459 DB 50 ; Type 0: &5000 - 20k C45A DB 40 ; Type 1: &4000 - 16k C45B DB 28 ; Type 2: &2800 - 10k C45C DB 20 ; Type 3: &2000 - 8k C45D DB 04 ; Type 4: &0400 - 1k ************ MSB OF FIRST LOCATION OCCUPIED BY SCREEN BUFFER ************ C45E DB 30 ; Type 0: &3000 C45F DB 40 ; Type 1: &4000 C460 DB 58 ; Type 2: &5800 C461 DB 60 ; Type 3: &6000 C462 DB 7C ; Type 4: &7C00 ***************** NUMBER OF BYTES PER ROW ******************************* C463 DB 28 ;00101000 C464 DB 40 ;01000000 C465 DB 80 ;10000000 ******** ROW MULTIPLIACTION TABLE POINTER TO LOOK UP TABLE ************** C466 DB B5 ;10110101 C467 DB 75 ;01110101 C468 DB 75 ;01110101 ********** CRTC CURSOR END REGISTER SETTING LOOK UP TABLE *************** C469 DB 0B ;00001011 C46A DB 17 ;00010111 C46B DB 23 ;00100011 C46C DB 2F ;00101111 C46D DB 3B ;00111011 ************* 6845 REGISTERS 0-11 FOR MODES 0-2 ************************* C46E DB 7F ;01111111 C46F DB 50 ;01010000 C470 DB 62 ;01100010 C471 DB 28 ;00101000 C472 DB 26 ;00100110 C473 DB 00 ;00000000 C474 DB 20 ;00100000 C475 DB 22 ;00100010 C476 DB 01 ;00000001 C477 DB 07 ;00000111 C478 DB 67 ;01100111 C479 DB 08 ;00001000 ************* 6845 REGISTERS 0-11 FOR MODE 3 **************************** C47A DB 7F ;01111111 C47B DB 50 ;01010000 C47C DB 62 ;01100010 C47D DB 28 ;00101000 C47E DB 1E ;00011110 C47F DB 02 ;00000010 C480 DB 19 ;00011001 C481 DB 1B ;00011011 C482 DB 01 ;00000001 C483 DB 09 ;00001001 C484 DB 67 ;01100111 C485 DB 09 ;00001001 ************ 6845 REGISTERS 0-11 FOR MODES 4-5 ************************** C486 DB 3F ;00111111 C487 DB 28 ;00101000 C488 DB 31 ;00110001 C489 DB 24 ;00100100 C48A DB 26 ;00100110 C48B DB 00 ;00000000 C48C DB 20 ;00100000 C48D DB 22 ;00100010 C48E DB 01 ;00000001 C48F DB 07 ;00000111 C490 DB 67 ;01100111 C491 DB 08 ;00001000 ********** 6845 REGISTERS 0-11 FOR MODE 6 ******************************* C492 DB 3F ;00111111 C493 DB 28 ;00101000 C494 DB 31 ;00110001 C495 DB 24 ;00100100 C496 DB 1E ;00011110 C497 DB 02 ;00000010 C498 DB 19 ;00011001 C499 DB 1B ;00011011 C49A DB 01 ;00000001 C49B DB 09 ;00001001 C49C DB 67 ;01100111 C49D DB 09 ;00001001 ********* 6845 REGISTERS 0-11 FOR MODE 7 ***************************** C49E DB 3F ;00111111 C49F DB 28 ;00101000 C4A0 DB 33 ;00110011 C4A1 DB 24 ;00100100 C4A2 DB 1E ;00011110 C4A3 DB 02 ;00000010 C4A4 DB 19 ;00011001 C4A5 DB 1B ;00011011 C4A6 DB 93 ;10010011 C4A7 DB 12 ;00010010 C4A8 DB 72 ;01110010 C4A9 DB 13 ;00010011 ************* VDU ROUTINE VECTOR ADDRESSES ****************************** C4AA DB 86 ;10000110 C4AB DB D3 ;11010011 C4AC DB 7E ;01111110 C4AD DB D3 ;11010011 ************ VDU ROUTINE BRANCH VECTOR ADDRESS LO *********************** C4AE DB 6A ;01101010 C4AF DB 74 ;01110100 C4B0 DB 42 ;01000010 C4B1 DB 4B ;01001011 ************ VDU ROUTINE BRANCH VECTOR ADDRESS HI *********************** C4B2 DB D3 ;11010011 C4B3 DB D3 ;11010011 C4B4 DB D3 ;11010011 C4B5 DB D3 ;11010011 *********** TELETEXT CHARACTER CONVERSION TABLE ************************ C4B6 DB 23 ; '#' -> '_' C4B7 DB 5F ; '_' -> '`' C4B8 DB 60 ; '`' -> '#' C4B9 DB 23 ; '#' *********** SOFT CHARACTER RAM ALLOCATION ***************************** C4BA DB 04 ; &20-&3F - OSHWM+&0400 C4BB DB 05 ; &40-&5F - OSHWM+&0500 C4BC DB 06 ; &60-&7F - OSHWM+&0600 C4BD DB 00 ; &80-&9F - OSHWM+&0000 C4BE DB 01 ; &A0-&BF - OSHWM+&0100 C4BF DB 02 ; &C0-&DF - OSHWM+&0200 ************************************************************************* * * * VDU FUNCTIONS ADDRESSES * * * ************************************************************************* ; VDU Address Parameters function ; 0 &C511 0 does nothing ; 1 &C53B 1 next character to printer only ; 2 &C596 0 enable printer ; 3 &C5A1 0 disable printer ; 4 &C5AD 0 select text cursor ; 5 &C5B9 0 select graphics cursor ; 6 &C511 0 enable display ; 7 &E86F 0 bell ; 8 &C5C5 0 cursor left ; 9 &C664 0 cursor right ; 10 &C6F0 0 cursor down ; 11 &C65B 0 cursor up ; 12 &C759 0 clear text window ; 13 &C7AF 0 newline ; 14 &C58D 0 select paged mode ; 15 &C5A6 0 cancel paged mode ; 16 &C7C0 0 clear graphics screen ; 17 &C7F9 1 define text colour ; 18 &C7FD 2 define graphics colour ; 19 &C892 5 define logical colour ; 20 &C839 0 restore default colours ; 21 &C59B 0 disable display ; 22 &C8EB 1 select screen MODE ; 23 &C8F1 9 define character ; 24 &CA39 8 define graphics window ; 25 &C98C 5 PLOT ; 26 &C9BD 0 set default windows ; 27 &C511 0 ESCAPE (does nothing) ; 28 &C6FA 4 define text window ; 29 &CAA2 4 define graphics origin ; 30 &C779 0 home cursor ; 31 &C787 2 position text cursor (TAB) ;127 &CAAC 0 delete ************************************************************************* * * * VDU Variables * * * ************************************************************************* ;D0 VDU status ;Bit 0 printer output enabled ; 1 scrolling disabled ; 2 paged scrolling enabled ; 3 software scrolling selected ; 4 not used ; 5 printing at graphics cursor enabled ; 6 cursor editing mode enabled ; 7 screen disabled ;D1 byte mask for current graphics point ;D2/3 text colour bytes to be ORed and EORed into memory ;D4/5 graphics colour bytes to be ORed and EORed into memory ;D6/7 address of top line of current graphics cell ;D8/9 address of top scan line of current text character ;DA/F temporary workspace ;E0/1 CRTC row multiplication table pointer ;246 Character definition explosion switch ;248 current video ULA control regiter setting ;249 current pallette setting ;251 flash counter ;252 mark-space count ;253 space period count ;256 EXEC file handle ;257 SPOOL file handle ;260 Econet OSWRCH interception flag ;267 bit 7 set ignore start up message ;268 length of key string ;269 print line counter ;26A number of items in VDU queque ;26B TAB key value ;26C ESCAPE character ;27D cursor editing status ;28F start up options (Keyboard links) bits 0-2 default screen Mode 3 reverse SHIFT/BREAK 4-5 disc timing parameters ;290 screen display vertical adjustment ;291 interlace toggle flag ;300/1 graphics window left ;302/3 graphics window bottom ;304/5 graphics window right ;306/7 graphics window top ;308 text window left ;309 text window bottom ;30A text window right ;30B text window top ;30C/D graphics origin, horizontal (external values) ;30E/F graphics origin, vertical (external values) ;310/1 current graphics cursor, horizontal (external values) ;312/3 current graphics cursor, vertical (external values) ;314/5 last graphics cursor, horizontal (external values) ;316/7 last graphics cursor, vertical (external values) ;318 text column ;319 text line ;31A graphics scan line expressed as line of character ;31B-323 VDU parameters, last parameter in &323 ;324/5 current graphics cursor, horizontal (internal values) ;316/7 current graphics cursor, vertical (internal values) ;328-349 general workspace ;34A/B text cursor address to CRT controller ;34C/D width of text window in bytes ;34E hi byte of address of screen RAM start ;34F bytes per character ;350/1 address of window area start ;352/3 bytes per character row ;354 high byte of screen RAM size ;355 Mode ;356 memory map type ;357/35A current colours ;35B/C graphics plot mode ;35D/E jump vector ;35F last setting of CRT controller Cursor start register ;360 number of logical colours less 1 ;361 pixels per byte (0 in text only modes) ;362/3 colour masks ;364/5 X/Y for text input cursor ;366 output cursor character for MODE 7 ;367 Font flag ;368/E font location bytes ;36F-37E Colour palette \ No newline at end of file