Kevin Thacker's CPC Guide (UK) (Face A) (1994) (Version Basic 1.1) [EDUCATIF].dsk
   
Choose sector :
Size : 512 (Real : 512)
000000: 00 38 32 35 35 20 20 20 20 54 58 54 00 00 00 44 .8255 TXT...D
000010: 02 03 04 05 06 07 08 09 0A 00 00 00 00 00 00 00 ................
000020: 00 38 32 35 35 32 20 20 20 54 58 54 00 00 00 4B .82552 TXT...K
000030: 0B 0C 0D 0E 0F 10 11 12 13 14 00 00 00 00 00 00 ................
000040: 00 42 44 4F 53 20 20 20 20 54 58 54 00 00 00 33 .BDOS TXT...3
000050: 15 16 17 18 19 1A 1B 00 00 00 00 00 00 00 00 00 ................
000060: 00 43 41 53 20 20 20 20 20 54 58 54 00 00 00 74 .CAS TXT...t
000070: 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 00 .... !"#$%&'()*.
000080: 00 43 4F 4E 4E 45 43 54 20 54 58 54 00 00 00 2F .CONNECT TXT.../
000090: 2B 2C 2D 2E 2F 30 00 00 00 00 00 00 00 00 00 00 +,-./0..........
0000A0: 00 43 4F 4E 54 43 48 41 52 54 58 54 00 00 00 1C .CONTCHARTXT....
0000B0: 31 32 33 34 00 00 00 00 00 00 00 00 00 00 00 00 1234............
0000C0: 00 43 52 54 43 20 20 20 20 54 58 54 00 00 00 80 .CRTC TXT....
0000D0: 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 56789:;<=>?@ABCD
0000E0: 00 43 52 54 43 20 20 20 20 54 58 54 01 00 00 2F .CRTC TXT.../
0000F0: 45 46 47 48 49 4A 00 00 00 00 00 00 00 00 00 00 EFGHIJ..........
000100: 00 45 58 50 41 4E 20 20 20 54 58 54 00 00 00 0B .EXPAN TXT....
000110: 4B 4C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 KL..............
000120: 00 46 49 4E 44 45 52 20 20 44 41 54 00 00 00 1B .FINDER DAT....
000130: 4D 4E 4F 50 00 00 00 00 00 00 00 00 00 00 00 00 MNOP............
000140: 00 47 41 54 45 20 20 20 20 54 58 54 00 00 00 74 .GATE TXT...t
000150: 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 00 QRSTUVWXYZ[\]^_.
000160: 00 47 52 41 20 20 20 20 20 54 58 54 00 00 00 47 .GRA TXT...G
000170: 60 61 62 63 64 65 66 67 68 00 00 00 00 00 00 00 `abcdefgh.......
000180: 00 48 41 52 44 57 41 52 45 54 58 54 00 00 00 0E .HARDWARETXT....
000190: 69 6A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ij..............
0001A0: 00 48 49 2D 4B 45 52 4E 20 54 58 54 00 00 00 4A .HI-KERN TXT...J
0001B0: 6B 6C 6D 6E 6F 70 71 72 73 74 00 00 00 00 00 00 klmnopqrst......
0001C0: 00 49 4E 44 49 52 45 43 54 54 58 54 00 00 00 68 .INDIRECTTXT...h
0001D0: 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 00 00 00 uvwxyz{|}~......
0001E0: 00 49 4F 50 4F 52 54 53 20 54 58 54 00 00 00 09 .IOPORTS TXT....
0001F0: 82 83 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 63 61 6E 20 0D 8A 66 75 6E 63 74 69 6F 6E 2E 0D can ..function..
000010: 0D 4D 6F 64 65 20 30 20 2D 20 42 61 73 69 63 20 .Mode 0 - Basic
000020: 49 6E 70 75 74 2F 4F 75 74 70 75 74 0D 4D 6F 64 Input/Output.Mod
000030: 65 20 31 20 2D 20 53 74 72 6F 62 65 64 20 49 6E e 1 - Strobed In
000040: 70 75 74 2F 4F 75 74 70 75 74 20 2A 2A 4E 4F 54 put/Output **NOT
000050: 20 55 53 45 44 20 42 59 20 43 50 43 2A 2A 0D 4D USED BY CPC**.M
000060: 6F 64 65 20 32 20 2D 20 42 69 2D 44 69 72 65 63 ode 2 - Bi-Direc
000070: 74 69 6F 6E 61 6C 20 42 75 73 20 20 20 2A 2A 4E tional Bus **N
000080: 4F 54 20 55 53 45 44 20 42 59 20 43 50 43 2A 2A OT USED BY CPC**
000090: 0D 0D 49 6E 20 73 6F 6D 65 20 6F 66 20 74 68 65 ..In some of the
0000A0: 73 65 20 6D 6F 64 65 73 20 70 6F 72 74 90 20 43 se modes port. C
0000B0: 90 20 69 73 90 20 75 73 65 64 90 20 61 73 20 61 . is. used. as a
0000C0: 20 63 6F 6E 74 72 6F 6C 2F 73 74 61 74 75 73 20 control/status
0000D0: 70 6F 72 74 20 66 6F 72 20 0D 8A 70 6F 72 74 20 port for ..port
0000E0: 41 20 6F 72 20 42 2E 20 49 74 20 63 61 6E 90 20 A or B. It can.
0000F0: 62 65 90 20 75 73 65 64 90 20 74 6F 90 20 63 6F be. used. to. co
000100: 6E 66 69 72 6D 20 77 68 65 6E 20 64 61 74 61 20 nfirm when data
000110: 74 72 61 6E 73 66 65 72 20 6D 61 79 20 74 61 6B transfer may tak
000120: 65 20 0D 8A 70 6C 61 63 65 2C 20 61 6E 64 20 72 e ..place, and r
000130: 65 66 6C 65 63 74 20 61 6E 79 20 6F 74 68 65 72 eflect any other
000140: 20 66 6C 61 67 73 2E 20 54 68 65 20 38 32 35 35 flags. The 8255
000150: 20 50 50 49 20 69 73 20 74 68 65 72 65 66 6F 72 PPI is therefor
000160: 65 20 73 75 70 70 6C 69 65 64 20 0D 8A 77 69 74 e supplied ..wit
000170: 68 20 74 68 65 20 61 64 64 65 64 20 6F 70 74 69 h the added opti
000180: 6F 6E 20 66 6F 72 20 74 68 65 20 75 73 65 72 20 on for the user
000190: 74 6F 20 73 65 74 20 6F 72 20 72 65 73 65 74 20 to set or reset
0001A0: 61 6E 79 20 69 6E 64 69 76 69 64 75 61 6C 20 62 any individual b
0001B0: 69 74 73 20 0D 8A 69 6E 20 70 6F 72 74 20 43 2E its ..in port C.
0001C0: 0D 0D 54 68 65 20 49 2F 4F 20 73 74 61 74 75 73 ..The I/O status
0001D0: 2C 20 6D 6F 64 65 20 6F 66 20 6F 70 65 72 61 74 , mode of operat
0001E0: 69 6F 6E 90 20 61 6E 64 90 20 62 69 74 90 20 73 ion. and. bit. s
0001F0: 65 74 74 69 6E 67 20 69 73 20 64 65 66 69 6E 65 etting is define
Size : 512 (Real : 512)
000000: 00 4B 45 52 4E 41 4C 20 20 54 58 54 00 00 00 80 .KERNAL TXT....
000010: 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 ................
000020: 00 4B 45 52 4E 41 4C 20 20 54 58 54 01 00 00 64 .KERNAL TXT...d
000030: 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 00 00 00 ................
000040: 00 4B 45 59 4D 41 50 20 20 54 58 54 00 00 00 29 .KEYMAP TXT...)
000050: A1 A2 A3 A4 A5 A6 00 00 00 00 00 00 00 00 00 00 ................
000060: 00 4B 4D 20 20 20 20 20 20 54 58 54 00 00 00 4B .KM TXT...K
000070: A7 A8 A9 AA AB AC AD AE AF B0 00 00 00 00 00 00 ................
000080: 00 44 49 53 43 20 20 20 20 20 20 20 00 00 00 16 .DISC ....
000090: B1 B2 B3 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 64 20 62 79 20 74 68 65 20 0D 8A 38 32 35 35 20 d by the ..8255
000010: 50 50 49 20 63 6F 6E 74 72 6F 6C 90 20 62 79 74 PPI control. byt
000020: 65 2E 90 20 28 54 68 65 90 20 63 6F 6E 74 72 6F e.. (The. contro
000030: 6C 90 20 62 79 74 65 90 20 69 73 90 20 61 63 63 l. byte. is. acc
000040: 65 73 73 65 64 90 20 75 73 69 6E 67 20 70 6F 72 essed. using por
000050: 74 20 0D 8A 26 46 37 78 78 2E 28 38 32 35 35 20 t ..&F7xx.(8255
000060: 43 6F 6E 74 72 6F 6C 20 70 6F 72 74 29 29 0D 0D Control port))..
000070: 54 68 65 20 70 6F 72 74 73 20 6D 61 79 20 62 65 The ports may be
000080: 20 61 63 63 65 73 73 65 64 20 73 65 70 61 72 61 accessed separa
000090: 74 65 6C 79 20 62 79 20 74 68 65 20 43 50 55 2E tely by the CPU.
0000A0: 0D 0D 50 6F 72 74 20 41 20 69 73 20 61 63 63 65 ..Port A is acce
0000B0: 73 73 65 64 20 75 73 69 6E 67 20 70 6F 72 74 20 ssed using port
0000C0: 26 46 34 78 78 2E 0D 50 6F 72 74 20 42 20 69 73 &F4xx..Port B is
0000D0: 20 61 63 63 65 73 73 65 64 20 75 73 69 6E 67 20 accessed using
0000E0: 70 6F 72 74 20 26 46 35 78 78 2E 0D 50 6F 72 74 port &F5xx..Port
0000F0: 20 43 20 69 73 20 61 63 63 65 73 73 65 64 20 75 C is accessed u
000100: 73 69 6E 67 20 70 6F 72 74 20 26 46 36 78 78 2E sing port &F6xx.
000110: 20 0D 0D 4E 4F 54 45 3A 0D 0D 4D 6F 64 65 20 30 ..NOTE:..Mode 0
000120: 20 6F 70 65 72 61 74 69 6F 6E 3A 0D 0D 4D 6F 64 operation:..Mod
000130: 65 20 30 20 6F 70 65 72 61 74 69 6F 6E 20 64 6F e 0 operation do
000140: 65 73 20 6E 6F 74 20 72 65 71 75 69 72 65 90 20 es not require.
000150: 6F 74 68 65 72 90 20 70 6F 72 74 73 90 20 74 6F other. ports. to
000160: 20 62 65 20 75 73 65 64 20 74 6F 20 63 6F 6E 74 be used to cont
000170: 72 6F 6C 20 0D 8A 64 61 74 61 20 74 72 61 6E 73 rol ..data trans
000180: 66 65 72 2E 20 44 61 74 61 20 6D 61 79 20 6F 6E fer. Data may on
000190: 6C 79 20 62 65 20 73 65 6E 74 20 74 6F 90 20 61 ly be sent to. a
0001A0: 20 70 6F 72 74 20 69 66 20 74 68 65 20 70 6F 72 port if the por
0001B0: 74 20 69 73 20 64 65 66 69 6E 65 64 20 0D 8A 61 t is defined ..a
0001C0: 73 20 6F 75 74 70 75 74 2C 20 61 6E 64 20 64 61 s output, and da
0001D0: 74 61 20 6D 61 79 20 6F 6E 6C 79 20 62 65 20 72 ta may only be r
0001E0: 65 61 64 90 20 66 72 6F 6D 20 61 20 70 6F 72 74 ead. from a port
0001F0: 20 77 68 65 6E 20 74 68 65 20 70 6F 72 74 20 69 when the port i
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 73 20 73 65 74 20 0D 8A 74 6F 20 69 6E 70 75 74 s set ..to input
000010: 2E 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ...=============
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000030: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000040: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000050: 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 55 73 69 6E 67 =========..Using
000060: 20 74 68 65 20 38 32 35 35 20 50 6F 72 74 73 0D the 8255 Ports.
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 0D 0D 57 68 65 6E 20 77 72 69 74 69 ----..When writi
000090: 6E 67 20 74 6F 20 61 20 70 6F 72 74 3A 0D 0D 31 ng to a port:..1
0000A0: 29 20 4D 61 6B 65 20 73 75 72 65 90 74 68 65 90 ) Make sure.the.
0000B0: 70 6F 72 74 20 69 73 20 6F 70 65 72 61 74 69 6E port is operatin
0000C0: 67 20 61 73 20 6F 75 74 70 75 74 2E 20 28 54 68 g as output. (Th
0000D0: 69 73 20 69 73 20 64 6F 6E 65 20 62 79 20 73 65 is is done by se
0000E0: 6E 64 69 6E 67 20 0D 8A 20 20 20 61 20 63 6F 6E nding .. a con
0000F0: 74 72 6F 6C 20 62 79 74 65 20 74 6F 20 70 6F 72 trol byte to por
000100: 74 20 26 46 37 78 78 29 2E 0D 32 29 20 57 72 69 t &F7xx)..2) Wri
000110: 74 65 20 74 68 65 20 64 61 74 61 20 74 6F 20 74 te the data to t
000120: 68 65 20 70 6F 72 74 2E 0D 33 29 20 52 65 74 75 he port..3) Retu
000130: 72 6E 20 74 68 65 20 70 6F 72 74 20 74 6F 20 69 rn the port to i
000140: 74 27 73 20 6F 72 69 67 69 6E 61 6C 20 49 2F 4F t's original I/O
000150: 20 53 74 61 74 75 73 2E 0D 0D 57 68 65 6E 20 72 Status...When r
000160: 65 61 64 69 6E 67 20 66 72 6F 6D 20 61 20 70 6F eading from a po
000170: 72 74 3A 0D 0D 31 29 20 4D 61 6B 65 20 73 75 72 rt:..1) Make sur
000180: 65 20 74 68 65 20 70 6F 72 74 20 69 73 20 6F 70 e the port is op
000190: 65 72 61 74 69 6E 67 90 20 61 73 20 69 6E 70 75 erating. as inpu
0001A0: 74 2E 20 28 54 68 69 73 20 69 73 20 64 6F 6E 65 t. (This is done
0001B0: 20 62 79 20 73 65 6E 64 69 6E 67 20 0D 8A 20 20 by sending ..
0001C0: 20 61 20 63 6F 6E 74 72 6F 6C 20 62 79 74 65 20 a control byte
0001D0: 74 6F 20 70 6F 72 74 20 26 46 37 78 78 29 2E 0D to port &F7xx)..
0001E0: 32 29 20 52 65 61 64 20 74 68 65 20 64 61 74 61 2) Read the data
0001F0: 20 66 72 6F 6D 20 74 68 65 20 70 6F 72 74 2E 0D from the port..
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 33 29 20 52 65 74 75 72 6E 20 74 68 65 20 70 6F 3) Return the po
000010: 72 74 20 74 6F 20 69 74 27 73 20 6F 72 69 67 69 rt to it's origi
000020: 6E 61 6C 20 49 2F 4F 20 53 74 61 74 75 73 2E 0D nal I/O Status..
000030: 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D .===============
000040: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000050: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000060: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000070: 3D 3D 3D 3D 3D 3D 3D 0D 0D 38 32 35 35 20 50 50 =======..8255 PP
000080: 49 20 43 6F 6E 74 72 6F 6C 20 42 79 74 65 0D 2D I Control Byte.-
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 0D 0D 54 68 69 73 20 62 79 74 65 20 ----..This byte
0000B0: 63 6F 6E 74 72 6F 6C 73 20 74 68 65 20 49 6E 70 controls the Inp
0000C0: 75 74 2F 4F 75 74 70 75 74 20 28 49 2F 4F 29 20 ut/Output (I/O)
0000D0: 73 74 61 74 75 73 20 61 6E 64 20 6F 70 65 72 61 status and opera
0000E0: 74 69 6E 67 20 6D 6F 64 65 20 6F 66 20 0D 8A 65 ting mode of ..e
0000F0: 61 63 68 20 70 6F 72 74 2E 0D 0D 49 74 20 61 6C ach port...It al
000100: 73 6F 20 68 61 73 20 61 20 73 65 63 6F 6E 64 61 so has a seconda
000110: 72 79 20 66 75 6E 63 74 69 6F 6E 20 77 68 69 63 ry function whic
000120: 68 20 61 6C 6C 6F 77 73 20 74 68 65 20 75 73 65 h allows the use
000130: 72 20 74 6F 20 73 65 74 20 6F 72 20 72 65 73 65 r to set or rese
000140: 74 20 0D 8A 61 20 70 61 72 74 69 63 75 6C 61 72 t ..a particular
000150: 20 62 69 74 20 6F 66 20 70 6F 72 74 20 43 2E 0D bit of port C..
000160: 0D 54 6F 20 73 65 6E 64 20 61 20 63 6F 6E 74 72 .To send a contr
000170: 6F 6C 20 62 79 74 65 90 20 74 6F 90 20 74 68 65 ol byte. to. the
000180: 90 20 38 32 35 35 2C 90 20 73 69 6D 70 6C 79 90 . 8255,. simply.
000190: 20 73 65 6E 74 90 20 74 68 65 20 62 79 74 65 20 sent. the byte
0001A0: 74 6F 20 70 6F 72 74 20 0D 8A 26 46 37 78 78 2E to port ..&F7xx.
0001B0: 20 28 4E 4F 54 45 3A 20 54 68 65 20 63 6F 6E 74 (NOTE: The cont
0001C0: 72 6F 6C 90 20 62 79 74 65 90 20 63 61 6E 90 20 rol. byte. can.
0001D0: 6F 6E 6C 79 90 20 62 65 90 20 77 72 69 74 74 65 only. be. writte
0001E0: 6E 2C 90 20 69 74 20 63 61 6E 6E 6F 74 20 62 65 n,. it cannot be
0001F0: 20 0D 8A 72 65 61 64 2E 29 0D 0D 54 68 65 20 66 ..read.)..The f
Size : 512 (Real : 512)
000000: 38 32 35 35 20 50 61 72 61 6C 6C 65 6C 20 50 65 8255 Parallel Pe
000010: 72 69 70 68 65 72 61 6C 20 49 6E 74 65 72 66 61 ripheral Interfa
000020: 63 65 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ce.-------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 0D 0D 54 68 65 20 38 32 35 35 20 -----..The 8255
000050: 69 73 20 61 20 67 65 6E 65 72 61 6C 20 70 75 72 is a general pur
000060: 70 6F 73 65 90 20 69 6E 70 75 74 90 20 6F 75 74 pose. input. out
000070: 70 75 74 90 20 63 68 69 70 2E 20 49 74 20 69 73 put. chip. It is
000080: 20 63 6F 6E 6E 65 63 74 65 64 20 74 6F 20 0D 8A connected to ..
000090: 74 68 65 20 50 53 47 2C 20 6B 65 79 62 6F 61 72 the PSG, keyboar
0000A0: 64 20 61 6E 64 20 63 61 73 73 65 74 74 65 20 72 d and cassette r
0000B0: 65 63 6F 72 64 65 72 2E 0D 0D 50 72 6F 67 72 61 ecorder...Progra
0000C0: 6D 6D 69 6E 67 20 74 68 65 20 38 32 35 35 0D 2D mming the 8255.-
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 0D 0D 54 68 65 20 38 32 35 35 20 68 61 ---..The 8255 ha
0000F0: 73 20 33 20 38 2D 62 69 74 90 20 70 6F 72 74 73 s 3 8-bit. ports
000100: 90 20 28 41 2C 42 90 20 61 6E 64 90 20 43 29 2C . (A,B. and. C),
000110: 90 20 65 61 63 68 90 20 6F 66 20 77 68 69 63 68 . each. of which
000120: 20 63 61 6E 20 68 61 76 65 20 61 20 0D 8A 64 69 can have a ..di
000130: 66 66 65 72 65 6E 74 20 49 2F 4F 20 53 74 61 74 fferent I/O Stat
000140: 75 73 90 20 28 69 2E 65 2E 90 20 69 6E 70 75 74 us. (i.e.. input
000150: 90 20 6F 72 90 20 6F 75 74 70 75 74 29 2E 90 20 . or. output)..
000160: 50 6F 72 74 90 20 43 90 20 63 61 6E 20 61 6C 73 Port. C. can als
000170: 6F 20 62 65 20 0D 8A 70 72 6F 67 72 61 6D 6D 65 o be ..programme
000180: 64 20 74 6F 20 6F 70 65 72 61 74 65 20 69 6E 20 d to operate in
000190: 74 77 6F 20 68 61 6C 76 65 73 2E 20 28 41 73 20 two halves. (As
0001A0: 74 77 6F 20 73 65 70 61 72 61 74 65 20 34 2D 62 two separate 4-b
0001B0: 69 74 20 70 6F 72 74 73 29 2E 20 0D 0D 54 68 65 it ports). ..The
0001C0: 72 65 20 61 72 65 20 33 90 20 62 61 73 69 63 90 re are 3. basic.
0001D0: 20 6D 6F 64 65 73 90 20 6F 66 90 20 6F 70 65 72 modes. of. oper
0001E0: 61 74 69 6F 6E 90 20 75 6E 64 65 72 90 20 77 68 ation. under. wh
0001F0: 69 63 68 90 20 74 68 65 90 20 70 6F 72 74 73 20 ich. the. ports
Size : 512 (Real : 512)
000000: 75 6E 63 74 69 6F 6E 20 74 6F 20 62 65 20 65 78 unction to be ex
000010: 65 63 75 74 65 64 20 62 79 20 74 68 65 90 20 38 ecuted by the. 8
000020: 32 35 35 90 20 69 73 20 64 65 70 65 6E 64 61 6E 255. is dependan
000030: 74 20 6F 6E 20 74 68 65 20 73 74 61 74 65 20 6F t on the state o
000040: 66 20 0D 8A 62 69 74 20 37 2E 0D 0D 49 66 20 62 f ..bit 7...If b
000050: 69 74 20 37 20 69 73 20 31 2C 20 74 68 65 20 72 it 7 is 1, the r
000060: 65 6D 61 69 6E 69 6E 67 90 20 62 69 74 73 90 20 emaining. bits.
000070: 61 72 65 20 75 73 65 64 20 74 6F 20 64 65 66 69 are used to defi
000080: 6E 65 20 74 68 65 20 49 2F 4F 20 73 74 61 74 75 ne the I/O statu
000090: 73 2C 20 0D 8A 61 6E 64 20 6F 70 65 72 61 74 69 s, ..and operati
0000A0: 6E 67 20 6D 6F 64 65 20 6F 66 20 65 61 63 68 20 ng mode of each
0000B0: 70 6F 72 74 2E 20 0D 0D 49 66 20 62 69 74 20 37 port. ..If bit 7
0000C0: 20 69 73 20 30 2C 20 74 68 65 20 72 65 6D 61 69 is 0, the remai
0000D0: 6E 69 6E 67 90 20 62 69 74 73 90 20 61 72 65 90 ning. bits. are.
0000E0: 20 75 73 65 64 20 74 6F 20 64 65 74 65 72 6D 69 used to determi
0000F0: 6E 65 20 77 68 61 74 20 62 69 74 20 69 73 20 0D ne what bit is .
000100: 8A 73 65 74 20 28 73 65 74 20 74 6F 20 31 29 20 .set (set to 1)
000110: 6F 72 20 72 65 73 65 74 20 28 73 65 74 20 74 6F or reset (set to
000120: 20 30 29 20 6F 66 20 70 6F 72 74 20 43 2E 0D 0D 0) of port C...
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000150: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000160: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000170: 3D 3D 3D 3D 3D 3D 0D 0D 43 6F 6E 66 69 67 75 72 ======..Configur
000180: 61 74 69 6F 6E 20 63 6F 6E 74 72 6F 6C 20 62 79 ation control by
000190: 74 65 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D te.-------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 57 -------------..W
0001B0: 68 65 6E 20 62 69 74 20 37 20 69 73 20 73 65 74 hen bit 7 is set
0001C0: 20 74 6F 20 31 2C 20 74 68 65 20 63 6F 6D 6D 61 to 1, the comma
0001D0: 6E 64 20 62 79 74 65 20 6F 70 65 72 61 74 65 73 nd byte operates
0001E0: 20 69 6E 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E in the followin
0001F0: 67 20 0D 8A 77 61 79 3A 0D 0D 42 69 74 20 37 3A g ..way:..Bit 7:
Size : 512 (Real : 512)
000000: 65 20 6D 61 79 20 63 72 61 73 68 2E 20 28 54 68 e may crash. (Th
000010: 65 20 66 69 72 6D 77 61 72 65 90 20 65 78 70 65 e firmware. expe
000020: 63 74 73 90 20 74 68 65 90 20 6F 70 65 72 61 74 cts. the. operat
000030: 69 6E 67 20 6D 6F 64 65 73 20 74 6F 20 62 65 20 ing modes to be
000040: 0D 8A 74 68 65 20 73 61 6D 65 20 61 73 20 67 69 ..the same as gi
000050: 76 65 6E 20 62 65 6C 6F 77 29 2E 20 0D 0D 50 6F ven below). ..Po
000060: 72 74 20 41 20 28 50 6F 72 74 20 61 64 64 72 65 rt A (Port addre
000070: 73 73 3A 26 46 34 78 78 29 20 28 49 2F 4F 20 53 ss:&F4xx) (I/O S
000080: 74 61 74 75 73 3A 20 4F 75 74 70 75 74 29 20 28 tatus: Output) (
000090: 4F 70 65 72 61 74 69 6E 67 20 6D 6F 64 65 3A 20 Operating mode:
0000A0: 30 29 0D 2D 2D 2D 2D 2D 2D 0D 0D 42 69 74 20 37 0).------..Bit 7
0000B0: 3A 20 7D 20 50 53 47 20 64 61 74 61 0D 42 69 74 : } PSG data.Bit
0000C0: 20 36 3A 20 7D 0D 42 69 74 20 35 3A 20 7D 0D 42 6: }.Bit 5: }.B
0000D0: 69 74 20 34 3A 20 7D 0D 42 69 74 20 33 3A 20 7D it 4: }.Bit 3: }
0000E0: 0D 42 69 74 20 32 3A 20 7D 0D 42 69 74 20 31 3A .Bit 2: }.Bit 1:
0000F0: 20 7D 0D 42 69 74 20 30 3A 20 7D 0D 0D 3D 3D 3D }.Bit 0: }..===
000100: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000110: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000120: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 3D 0D 0D 50 6F 72 74 20 42 20 28 50 6F 72 ===..Port B (Por
000150: 74 20 61 64 64 72 65 73 73 3A 20 26 46 35 78 78 t address: &F5xx
000160: 29 20 28 49 2F 4F 20 53 74 61 74 75 73 3A 20 49 ) (I/O Status: I
000170: 6E 70 75 74 29 20 28 4F 70 65 72 61 74 69 6E 67 nput) (Operating
000180: 20 6D 6F 64 65 3A 20 30 29 0D 2D 2D 2D 2D 2D 2D mode: 0).------
000190: 0D 0D 42 69 74 90 37 3A 90 43 61 73 73 65 74 74 ..Bit.7:.Cassett
0001A0: 65 20 72 65 61 64 20 64 61 74 61 0D 0D 42 69 74 e read data..Bit
0001B0: 20 36 3A 20 50 72 69 6E 74 65 72 20 63 6F 6E 66 6: Printer conf
0001C0: 69 67 75 72 61 74 69 6F 6E 0D 09 31 3A 20 4E 6F iguration..1: No
0001D0: 74 2D 72 65 61 64 79 2C 20 20 30 3A 20 52 65 61 t-ready, 0: Rea
0001E0: 64 79 0D 0D 42 69 74 20 35 3A 20 45 78 70 61 6E dy..Bit 5: Expan
0001F0: 73 69 6F 6E 20 70 65 72 69 70 68 65 72 61 6C 20 sion peripheral
Size : 512 (Real : 512)
000000: 20 43 6F 6E 74 72 6F 6C 20 62 79 74 65 20 66 75 Control byte fu
000010: 6E 63 74 69 6F 6E 20 28 31 3D 43 6F 6E 66 69 67 nction (1=Config
000020: 75 72 61 74 69 6F 6E 20 63 6F 6E 74 72 6F 6C 20 uration control
000030: 62 79 74 65 29 0D 0D 42 69 74 20 36 3A 20 7D 20 byte)..Bit 6: }
000040: 4F 70 65 72 61 74 69 6E 67 20 4D 6F 64 65 20 28 Operating Mode (
000050: 50 6F 72 74 20 41 20 61 6E 64 20 50 6F 72 74 20 Port A and Port
000060: 43 20 75 70 70 65 72 29 0D 42 69 74 20 35 3A 20 C upper).Bit 5:
000070: 7D 20 0D 0D 42 69 74 20 34 3A 20 50 6F 72 74 20 } ..Bit 4: Port
000080: 41 20 49 2F 4F 20 53 74 61 74 75 73 0D 09 20 30 A I/O Status.. 0
000090: 3A 20 4F 75 74 70 75 74 2C 20 31 3A 20 49 6E 70 : Output, 1: Inp
0000A0: 75 74 0D 0D 42 69 74 20 33 3A 20 50 6F 72 74 20 ut..Bit 3: Port
0000B0: 43 20 28 75 70 70 65 72 29 20 49 2F 4F 20 53 74 C (upper) I/O St
0000C0: 61 74 75 73 20 0D 09 20 30 3A 20 4F 75 74 70 75 atus .. 0: Outpu
0000D0: 74 2C 20 31 3A 20 49 6E 70 75 74 0D 0D 42 69 74 t, 1: Input..Bit
0000E0: 20 32 3A 20 4F 70 65 72 61 74 69 6E 67 20 4D 6F 2: Operating Mo
0000F0: 64 65 20 73 65 6C 65 63 74 69 6F 6E 20 28 50 6F de selection (Po
000100: 72 74 20 42 20 61 6E 64 20 50 6F 72 74 20 43 20 rt B and Port C
000110: 6C 6F 77 65 72 29 0D 0D 42 69 74 20 31 3A 20 50 lower)..Bit 1: P
000120: 6F 72 74 20 42 20 49 2F 4F 20 53 74 61 74 75 73 ort B I/O Status
000130: 0D 09 30 3A 20 4F 75 74 70 75 74 2C 20 31 3A 20 ..0: Output, 1:
000140: 49 6E 70 75 74 0D 0D 42 69 74 20 30 3A 20 50 6F Input..Bit 0: Po
000150: 72 74 20 43 20 28 6C 6F 77 65 72 29 20 49 2F 4F rt C (lower) I/O
000160: 20 53 74 61 74 75 73 0D 09 30 3A 20 4F 75 74 70 Status..0: Outp
000170: 75 74 2C 20 31 3A 20 49 6E 70 75 74 0D 0D 50 6F ut, 1: Input..Po
000180: 72 74 20 41 20 61 6E 64 20 50 6F 72 74 20 43 20 rt A and Port C
000190: 28 75 70 70 65 72 29 20 4F 70 65 72 61 74 69 6E (upper) Operatin
0001A0: 67 20 6D 6F 64 65 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D g mode.---------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 42 -------------..B
0001D0: 69 74 20 36 09 09 42 69 74 20 35 09 09 4D 6F 64 it 6..Bit 5..Mod
0001E0: 65 20 73 65 6C 65 63 74 69 6F 6E 0D 2D 2D 2D 2D e selection.----
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 64 65 74 65 63 74 0D 09 31 3A 20 45 78 70 61 6E detect..1: Expan
000010: 73 69 6F 6E 20 70 65 72 69 70 68 65 72 61 6C 20 sion peripheral
000020: 70 72 65 73 65 6E 74 2C 20 30 3A 20 4E 6F 74 20 present, 0: Not
000030: 70 72 65 73 65 6E 74 0D 0D 42 69 74 20 34 3A 20 present..Bit 4:
000040: 53 63 72 65 65 6E 20 72 65 66 72 65 73 68 20 66 Screen refresh f
000050: 72 65 71 75 65 6E 63 79 20 28 64 65 66 69 6E 65 requency (define
000060: 64 20 62 79 20 68 61 72 64 77 61 72 65 29 0D 09 d by hardware)..
000070: 31 3A 20 35 30 48 7A 20 20 20 20 30 3A 20 36 30 1: 50Hz 0: 60
000080: 48 7A 0D 0D 42 69 74 20 33 3A 20 7D 20 43 6F 6D Hz..Bit 3: } Com
000090: 70 75 74 65 72 20 6E 61 6D 65 20 6F 6E 20 70 6F puter name on po
0000A0: 77 65 72 2D 75 70 2E 0D 42 69 74 20 32 3A 20 7D wer-up..Bit 2: }
0000B0: 0D 42 69 74 20 31 3A 20 7D 0D 0D 42 69 74 20 30 .Bit 1: }..Bit 0
0000C0: 3A 20 56 53 59 4E 43 20 73 74 61 74 75 73 20 28 : VSYNC status (
0000D0: 46 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 73 74 Frame flyback st
0000E0: 61 74 75 73 29 0D 09 31 3A 20 56 53 59 4E 43 20 atus)..1: VSYNC
0000F0: 6F 63 63 75 72 65 64 2C 20 30 3A 20 6E 6F 20 56 occured, 0: no V
000100: 53 59 4E 43 0D 0D 54 61 62 6C 65 20 73 68 6F 77 SYNC..Table show
000110: 69 6E 67 20 43 6F 6D 70 75 74 65 72 20 6E 61 6D ing Computer nam
000120: 65 20 6F 6E 20 70 6F 77 65 72 2D 75 70 3A 0D 0D e on power-up:..
000130: 42 69 74 20 33 20 20 20 20 20 20 42 69 74 20 32 Bit 3 Bit 2
000140: 20 20 20 20 42 69 74 20 31 20 20 20 20 43 6F 6D Bit 1 Com
000150: 70 75 74 65 72 20 6E 61 6D 65 0D 2D 2D 2D 2D 2D puter name.-----
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 0D 0D 20 20 20 30 20 20 20 20 20 20 20 ---.. 0
000190: 30 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 0 0
0001A0: 49 73 70 0D 20 20 20 30 20 20 20 20 20 20 20 30 Isp. 0 0
0001B0: 20 20 20 20 20 20 31 20 20 20 20 20 20 20 20 54 1 T
0001C0: 72 69 75 6D 70 68 0D 20 20 20 30 20 20 20 20 20 riumph. 0
0001D0: 20 20 31 20 20 20 20 20 20 30 20 20 20 20 20 20 1 0
0001E0: 20 20 53 61 69 73 68 6F 0D 20 20 20 30 20 20 20 Saisho. 0
0001F0: 20 20 20 20 31 20 20 20 20 20 20 31 20 20 20 20 1 1
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 30 09 09 ----------. 0..
000020: 20 20 30 09 09 4D 6F 64 65 20 30 09 0D 20 20 30 0..Mode 0.. 0
000030: 09 09 20 20 31 09 09 4D 6F 64 65 20 31 0D 20 20 .. 1..Mode 1.
000040: 31 09 09 20 20 30 09 09 4D 6F 64 65 20 32 0D 20 1.. 0..Mode 2.
000050: 20 31 09 09 20 20 31 09 09 4D 6F 64 65 20 32 0D 1.. 1..Mode 2.
000060: 0D 50 6F 72 74 20 42 20 61 6E 64 20 50 6F 72 74 .Port B and Port
000070: 20 43 20 28 6C 6F 77 65 72 29 20 6F 70 65 72 61 C (lower) opera
000080: 74 69 6E 67 20 6D 6F 64 65 0D 2D 2D 2D 2D 2D 2D ting mode.------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 0D 0D 42 69 74 20 32 09 09 4D 6F 64 65 20 --..Bit 2..Mode
0000C0: 53 65 6C 65 63 74 69 6F 6E 0D 2D 2D 2D 2D 2D 2D Selection.------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 30 09 09 4D --------.. 0..M
0000F0: 6F 64 65 20 30 0D 20 20 31 09 09 4D 6F 64 65 20 ode 0. 1..Mode
000100: 31 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 1..=============
000110: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000120: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 42 69 74 20 53 =========..Bit S
000150: 65 74 2F 52 65 73 65 74 20 63 6F 6E 74 72 6F 6C et/Reset control
000160: 20 62 79 74 65 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D byte.----------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 0D 0D 57 68 65 6E 20 62 69 74 20 37 20 69 73 20 ..When bit 7 is
000190: 73 65 74 20 74 6F 90 20 30 2C 90 20 74 68 65 90 set to. 0,. the.
0001A0: 20 63 6F 6E 74 72 6F 6C 90 20 62 79 74 65 20 6F control. byte o
0001B0: 70 65 72 61 74 65 73 20 69 6E 20 74 68 65 20 66 perates in the f
0001C0: 6F 6C 6C 6F 77 69 6E 67 20 0D 8A 77 61 79 3A 0D ollowing ..way:.
0001D0: 0D 42 69 74 20 37 3A 20 43 6F 6E 74 72 6F 6C 20 .Bit 7: Control
0001E0: 62 79 74 65 20 66 75 6E 63 74 69 6F 6E 20 28 30 byte function (0
0001F0: 3D 42 69 74 20 53 65 74 2F 52 65 73 65 74 20 63 =Bit Set/Reset c
Size : 512 (Real : 512)
000000: 20 20 20 20 53 6F 6C 61 76 6F 78 0D 20 20 20 31 Solavox. 1
000010: 20 20 20 20 20 20 20 30 20 20 20 20 20 20 30 20 0 0
000020: 20 20 20 20 20 20 20 41 77 61 0D 20 20 20 31 20 Awa. 1
000030: 20 20 20 20 20 20 30 20 20 20 20 20 20 31 20 20 0 1
000040: 20 20 20 20 20 20 53 63 68 6E 65 69 64 65 72 0D Schneider.
000050: 20 20 20 31 20 20 20 20 20 20 20 31 20 20 20 20 1 1
000060: 20 20 30 20 20 20 20 20 20 20 20 4F 72 69 6F 6E 0 Orion
000070: 0D 20 20 20 31 20 20 20 20 20 20 20 31 20 20 20 . 1 1
000080: 20 20 20 31 20 20 20 20 20 20 20 20 41 6D 73 74 1 Amst
000090: 72 61 64 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D rad..===========
0000A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 50 6F 72 ===========..Por
0000E0: 74 20 43 20 28 50 6F 72 74 20 61 64 64 72 65 73 t C (Port addres
0000F0: 73 3A 20 26 46 36 78 78 29 20 28 49 2F 4F 20 53 s: &F6xx) (I/O S
000100: 74 61 74 75 73 3A 20 4F 75 74 70 75 74 29 20 28 tatus: Output) (
000110: 4F 70 65 72 61 74 69 6E 67 20 6D 6F 64 65 3A 20 Operating mode:
000120: 30 29 0D 2D 2D 2D 2D 2D 2D 0D 0D 42 69 74 20 37 0).------..Bit 7
000130: 3A 20 7D 20 50 53 47 20 63 6F 6E 74 72 6F 6C 0D : } PSG control.
000140: 42 69 74 20 36 3A 20 7D 0D 0D 42 69 74 90 35 3A Bit 6: }..Bit.5:
000150: 20 43 61 73 73 65 74 74 65 20 77 72 69 74 65 20 Cassette write
000160: 64 61 74 61 0D 0D 42 69 74 20 34 3A 20 43 61 73 data..Bit 4: Cas
000170: 73 65 74 74 65 20 6D 6F 74 6F 72 20 63 6F 6E 74 sette motor cont
000180: 72 6F 6C 0D 20 20 20 20 20 20 20 20 31 3A 20 54 rol. 1: T
000190: 75 72 6E 20 6D 6F 74 6F 72 20 6F 6E 2C 20 30 3A urn motor on, 0:
0001A0: 20 54 75 72 6E 20 6D 6F 74 6F 72 20 6F 66 66 0D Turn motor off.
0001B0: 8A 0D 42 69 74 20 33 3A 20 7D 20 4B 65 79 62 6F ..Bit 3: } Keybo
0001C0: 61 72 64 20 6C 69 6E 65 20 74 6F 20 62 65 20 73 ard line to be s
0001D0: 63 61 6E 6E 65 64 20 28 30 2D 31 30 29 0D 42 69 canned (0-10).Bi
0001E0: 74 20 32 3A 20 7D 0D 42 69 74 20 31 3A 20 7D 0D t 2: }.Bit 1: }.
0001F0: 42 69 74 20 30 3A 20 7D 0D 0D 3D 3D 3D 3D 3D 3D Bit 0: }..======
Size : 512 (Real : 512)
000000: 6F 6E 74 72 6F 6C 20 62 79 74 65 29 0D 0D 42 69 ontrol byte)..Bi
000010: 74 20 36 3A 20 7D 20 4E 6F 74 20 75 73 65 64 2E t 6: } Not used.
000020: 20 28 73 65 6E 64 20 30 29 0D 42 69 74 20 35 3A (send 0).Bit 5:
000030: 20 7D 0D 42 69 74 20 34 3A 20 7D 0D 0D 42 69 74 }.Bit 4: }..Bit
000040: 20 33 3A 20 7D 20 42 69 74 20 74 6F 20 63 68 61 3: } Bit to cha
000050: 6E 67 65 2E 0D 42 69 74 20 32 3A 20 7D 0D 42 69 nge..Bit 2: }.Bi
000060: 74 20 31 3A 20 7D 0D 0D 42 69 74 20 30 3A 20 42 t 1: }..Bit 0: B
000070: 69 74 20 6F 70 65 72 61 74 69 6F 6E 0D 09 31 3A it operation..1:
000080: 20 53 65 74 20 62 69 74 20 28 6D 61 6B 65 20 62 Set bit (make b
000090: 69 74 3D 31 29 2C 20 30 3A 20 52 65 73 65 74 20 it=1), 0: Reset
0000A0: 62 69 74 20 28 6D 61 6B 65 20 62 69 74 3D 30 29 bit (make bit=0)
0000B0: 0D 0D 54 61 62 6C 65 20 74 6F 20 73 68 6F 77 20 ..Table to show
0000C0: 68 6F 77 20 62 69 74 20 74 6F 20 63 68 61 6E 67 how bit to chang
0000D0: 65 20 69 73 20 63 6F 64 65 64 3A 0D 0D 42 69 74 e is coded:..Bit
0000E0: 20 33 09 09 42 69 74 20 32 09 09 42 69 74 20 31 3..Bit 2..Bit 1
0000F0: 09 09 42 69 74 20 73 65 6C 65 63 74 65 64 0D 2D ..Bit selected.-
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 30 09 09 -----------. 0..
000140: 20 20 30 09 09 20 20 30 09 09 42 69 74 20 30 0D 0.. 0..Bit 0.
000150: 20 30 09 09 20 20 30 09 09 20 20 31 09 09 42 69 0.. 0.. 1..Bi
000160: 74 20 31 0D 20 30 09 09 20 20 31 09 09 20 20 30 t 1. 0.. 1.. 0
000170: 09 09 42 69 74 20 32 0D 20 30 09 09 20 20 31 09 ..Bit 2. 0.. 1.
000180: 09 20 20 31 09 09 42 69 74 20 33 0D 20 31 09 09 . 1..Bit 3. 1..
000190: 20 20 30 09 09 20 20 30 09 09 42 69 74 20 34 0D 0.. 0..Bit 4.
0001A0: 20 31 09 09 20 20 30 09 09 20 20 31 09 09 42 69 1.. 0.. 1..Bi
0001B0: 74 20 35 0D 20 31 09 09 20 20 31 09 09 20 20 30 t 5. 1.. 1.. 0
0001C0: 09 09 42 69 74 20 36 0D 20 31 09 09 20 20 31 09 ..Bit 6. 1.. 1.
0001D0: 09 20 20 31 09 09 42 69 74 20 37 0D 0D 3D 3D 3D . 1..Bit 7..===
0001E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
Size : 512 (Real : 512)
000000: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000010: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000030: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000040: 0D 0D 50 72 6F 67 72 61 6D 6D 69 6E 67 20 45 78 ..Programming Ex
000050: 61 6D 70 6C 65 73 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D amples.---------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 31 29 20 -----------..1)
000070: 55 73 69 6E 67 20 74 68 65 20 63 6F 6E 74 72 6F Using the contro
000080: 6C 20 62 79 74 65 0D 0D 61 29 20 53 65 74 74 69 l byte..a) Setti
000090: 6E 67 20 62 69 74 20 37 20 6F 66 20 70 6F 72 74 ng bit 7 of port
0000A0: 20 43 20 74 6F 20 31 2C 0D 0D 4C 44 20 42 2C 26 C to 1,..LD B,&
0000B0: 46 37 09 09 3B 38 32 35 35 20 43 6F 6E 74 72 6F F7..;8255 Contro
0000C0: 6C 20 70 6F 72 74 0D 4C 44 20 41 2C 25 30 30 30 l port.LD A,%000
0000D0: 30 31 31 31 31 09 09 3B 42 69 74 20 53 65 74 2F 01111..;Bit Set/
0000E0: 72 65 73 65 74 20 66 75 6E 63 74 69 6F 6E 0D 4F reset function.O
0000F0: 55 54 20 28 43 29 2C 41 09 09 3B 53 65 6E 64 20 UT (C),A..;Send
000100: 69 74 20 74 6F 20 38 32 35 35 0D 52 45 54 0D 0D it to 8255.RET..
000110: 62 29 20 53 65 74 20 70 6F 72 74 20 41 90 20 74 b) Set port A. t
000120: 6F 90 20 69 6E 70 75 74 2C 90 20 6F 70 65 72 61 o. input,. opera
000130: 74 69 6E 67 90 20 69 6E 90 20 6D 6F 64 65 90 20 ting. in. mode.
000140: 30 2C 90 20 70 6F 72 74 90 20 42 20 74 6F 20 6F 0,. port. B to o
000150: 75 74 70 75 74 2C 20 0D 8A 6F 70 65 72 61 74 69 utput, ..operati
000160: 6E 67 20 69 6E 20 6D 6F 64 65 20 30 20 61 6E 64 ng in mode 0 and
000170: 20 70 6F 72 74 20 43 20 74 6F 20 69 6E 70 75 74 port C to input
000180: 2C 20 6F 70 65 72 61 74 69 6E 67 20 69 6E 20 6D , operating in m
000190: 6F 64 65 20 30 2E 0D 0D 4C 44 20 42 2C 26 46 37 ode 0...LD B,&F7
0001A0: 09 09 3B 38 32 35 35 20 43 6F 6E 74 72 6F 6C 20 ..;8255 Control
0001B0: 70 6F 72 74 0D 4C 44 20 41 2C 25 31 30 30 31 31 port.LD A,%10011
0001C0: 30 30 31 09 09 3B 43 6F 6E 66 69 67 75 72 61 74 001..;Configurat
0001D0: 69 6F 6E 20 66 75 6E 63 74 69 6F 6E 0D 4F 55 54 ion function.OUT
0001E0: 20 28 43 29 2C 41 09 09 3B 53 65 6E 64 20 69 74 (C),A..;Send it
0001F0: 20 74 6F 20 38 32 35 35 0D 52 45 54 0D 0D 3D 3D to 8255.RET..==
Size : 512 (Real : 512)
000000: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000010: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000020: 3D 3D 0D 0D 50 6F 72 74 20 55 73 61 67 65 0D 2D ==..Port Usage.-
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 46 6F 72 20 65 ---------..For e
000040: 61 63 68 20 70 6F 72 74 2C 20 74 68 65 20 70 6F ach port, the po
000050: 72 74 20 61 64 64 72 65 73 73 90 20 28 61 74 90 rt address. (at.
000060: 20 77 68 69 63 68 90 20 74 68 65 20 70 6F 72 74 which. the port
000070: 20 63 61 6E 20 62 65 20 61 63 63 65 73 73 65 64 can be accessed
000080: 29 20 0D 8A 69 74 27 73 20 6E 6F 72 6D 61 6C 20 ) ..it's normal
000090: 49 2F 4F 20 53 74 61 74 75 73 20 28 75 6E 6C 65 I/O Status (unle
0000A0: 73 73 90 20 63 68 61 6E 67 65 64 90 20 62 79 90 ss. changed. by.
0000B0: 20 74 68 65 20 75 73 65 72 29 2C 20 69 74 27 73 the user), it's
0000C0: 20 6F 70 65 72 61 74 69 6E 67 20 0D 8A 6D 6F 64 operating ..mod
0000D0: 65 20 28 75 6E 6C 65 73 73 20 63 68 61 6E 67 65 e (unless change
0000E0: 64 20 62 79 20 74 68 65 20 75 73 65 72 29 20 61 d by the user) a
0000F0: 72 65 20 67 69 76 65 6E 2E 0D 0D 46 6F 72 20 6D re given...For m
000100: 6F 72 65 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 ore information
000110: 6F 6E 20 61 90 20 70 61 72 74 69 63 75 6C 61 72 on a. particular
000120: 90 20 66 75 6E 63 74 69 6F 6E 90 20 6F 66 20 65 . function. of e
000130: 61 63 68 20 70 6F 72 74 2C 20 73 65 65 20 74 68 ach port, see th
000140: 65 20 0D 8A 61 70 70 72 6F 70 69 61 74 65 20 70 e ..appropiate p
000150: 61 72 74 20 6F 66 20 74 68 65 20 43 50 43 20 47 art of the CPC G
000160: 75 69 64 65 2E 0D 0D 4E 4F 54 45 3A 20 49 66 20 uide...NOTE: If
000170: 79 6F 75 20 61 72 65 20 75 73 69 6E 67 20 74 68 you are using th
000180: 65 20 66 69 72 6D 77 61 72 65 2C 20 61 6C 77 61 e firmware, alwa
000190: 79 73 20 72 65 74 75 72 6E 20 74 68 65 20 6F 70 ys return the op
0001A0: 65 72 61 74 69 6E 67 20 6D 6F 64 65 73 20 0D 8A erating modes ..
0001B0: 61 6E 64 20 49 2F 4F 20 73 74 61 74 75 73 20 6F and I/O status o
0001C0: 66 20 74 68 65 20 70 6F 72 74 73 20 75 73 65 64 f the ports used
0001D0: 90 20 74 6F 20 74 68 65 69 72 20 73 74 61 74 75 . to their statu
0001E0: 73 20 62 65 6C 6F 77 2C 20 6F 74 68 65 72 77 69 s below, otherwi
0001F0: 73 65 20 74 68 65 20 0D 8A 66 69 72 6D 77 61 72 se the ..firmwar
Size : 512 (Real : 512)
000000: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000010: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000030: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000040: 3D 3D 3D 3D 0D 0D 32 29 20 55 73 69 6E 67 20 70 ====..2) Using p
000050: 6F 72 74 20 41 2F 42 2F 43 2C 0D 0D 49 6E 20 74 ort A/B/C,..In t
000060: 68 69 73 20 65 78 61 6D 70 6C 65 2C 20 70 6F 72 his example, por
000070: 74 20 41 20 69 73 20 73 65 74 20 74 6F 90 20 6F t A is set to. o
000080: 75 74 70 75 74 2C 20 70 6F 72 74 20 42 20 69 73 utput, port B is
000090: 20 73 65 74 20 74 6F 20 69 6E 70 75 74 2C 20 61 set to input, a
0000A0: 6E 64 20 0D 8A 70 6F 72 74 20 43 20 69 73 20 73 nd ..port C is s
0000B0: 65 74 20 74 6F 20 6F 75 74 70 75 74 2C 20 61 6E et to output, an
0000C0: 64 20 74 68 65 79 20 61 72 65 20 61 6C 6C 20 6F d they are all o
0000D0: 70 65 72 61 74 69 6E 67 20 69 6E 20 6D 6F 64 65 perating in mode
0000E0: 20 30 2E 0D 0D 57 65 20 77 69 6C 6C 20 6F 6E 6C 0...We will onl
0000F0: 79 20 62 65 20 75 73 69 6E 67 20 70 6F 72 74 20 y be using port
000100: 41 20 66 6F 72 20 74 68 65 73 65 20 65 78 61 6D A for these exam
000110: 70 6C 65 73 2E 0D 0D 61 29 20 52 65 61 64 69 6E ples...a) Readin
000120: 67 20 66 72 6F 6D 20 70 6F 72 74 20 41 2C 0D 0D g from port A,..
000130: 09 09 09 3B 53 65 74 20 70 6F 72 74 20 41 20 74 ...;Set port A t
000140: 6F 20 69 6E 70 75 74 0D 20 20 20 20 20 20 20 20 o input.
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 0D 4C 44 20 42 2C 26 46 37 09 09 3B 38 32 35 35 .LD B,&F7..;8255
000170: 20 43 6F 6E 74 72 6F 6C 20 70 6F 72 74 0D 4C 44 Control port.LD
000180: 20 41 2C 25 31 30 30 31 30 30 31 30 09 09 3B 43 A,%10010010..;C
000190: 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 66 75 6E onfiguration fun
0001A0: 63 74 69 6F 6E 0D 4F 55 54 20 28 43 29 2C 41 09 ction.OUT (C),A.
0001B0: 09 3B 53 65 6E 64 20 74 6F 20 38 32 35 35 0D 0D .;Send to 8255..
0001C0: 4C 44 20 42 2C 26 46 34 09 09 3B 50 6F 72 74 20 LD B,&F4..;Port
0001D0: 41 20 70 6F 72 74 20 61 64 64 72 65 73 73 0D 49 A port address.I
0001E0: 4E 20 45 2C 28 43 29 09 09 3B 47 65 74 20 62 79 N E,(C)..;Get by
0001F0: 74 65 20 66 72 6F 6D 20 70 6F 72 74 0D 0D 09 09 te from port....
Size : 512 (Real : 512)
000000: 63 74 69 6F 6E 2E 0D 0D 4D 6F 64 65 20 30 20 2D ction...Mode 0 -
000010: 20 42 61 73 69 63 20 49 6E 70 75 74 2F 4F 75 74 Basic Input/Out
000020: 70 75 74 0D 4D 6F 64 65 20 31 20 2D 20 53 74 72 put.Mode 1 - Str
000030: 6F 62 65 64 20 49 6E 70 75 74 2F 4F 75 74 70 75 obed Input/Outpu
000040: 74 20 2A 2A 4E 4F 54 20 55 53 45 44 20 42 59 20 t **NOT USED BY
000050: 43 50 43 2A 2A 0D 4D 6F 64 65 20 32 20 2D 20 42 CPC**.Mode 2 - B
000060: 69 2D 44 69 72 65 63 74 69 6F 6E 61 6C 20 42 75 i-Directional Bu
000070: 73 20 20 20 2A 2A 4E 4F 54 20 55 53 45 44 20 42 s **NOT USED B
000080: 59 20 43 50 43 2A 2A 0D 0D 49 6E 20 73 6F 6D 65 Y CPC**..In some
000090: 20 6F 66 20 74 68 65 73 65 20 6D 6F 64 65 73 20 of these modes
0000A0: 70 6F 72 74 20 20 43 20 20 69 73 20 20 75 73 65 port C is use
0000B0: 64 20 20 61 73 20 61 20 63 6F 6E 74 72 6F 6C 2F d as a control/
0000C0: 73 74 61 74 75 73 20 70 6F 72 74 20 66 6F 72 0D status port for.
0000D0: 70 6F 72 74 20 41 20 6F 72 20 42 2E 20 49 74 20 port A or B. It
0000E0: 63 61 6E 20 20 62 65 20 20 75 73 65 64 20 20 74 can be used t
0000F0: 6F 20 20 63 6F 6E 66 69 72 6D 20 77 68 65 6E 20 o confirm when
000100: 64 61 74 61 20 74 72 61 6E 73 66 65 72 20 6D 61 data transfer ma
000110: 79 20 74 61 6B 65 0D 70 6C 61 63 65 2C 20 61 6E y take.place, an
000120: 64 20 72 65 66 6C 65 63 74 20 61 6E 79 20 6F 74 d reflect any ot
000130: 68 65 72 20 66 6C 61 67 73 2E 20 54 68 65 20 38 her flags. The 8
000140: 32 35 35 20 50 50 49 20 69 73 20 74 68 65 72 65 255 PPI is there
000150: 66 6F 72 65 20 73 75 70 70 6C 69 65 64 0D 77 69 fore supplied.wi
000160: 74 68 20 74 68 65 20 61 64 64 65 64 20 6F 70 74 th the added opt
000170: 69 6F 6E 20 66 6F 72 20 74 68 65 20 75 73 65 72 ion for the user
000180: 20 74 6F 20 73 65 74 20 6F 72 20 72 65 73 65 74 to set or reset
000190: 20 61 6E 79 20 69 6E 64 69 76 69 64 75 61 6C 20 any individual
0001A0: 62 69 74 73 0D 69 6E 20 70 6F 72 74 20 43 2E 0D bits.in port C..
0001B0: 0D 54 68 65 20 49 2F 4F 20 73 74 61 74 75 73 2C .The I/O status,
0001C0: 20 6D 6F 64 65 20 6F 66 20 6F 70 65 72 61 74 69 mode of operati
0001D0: 6F 6E 20 20 61 6E 64 20 20 62 69 74 20 20 73 65 on and bit se
0001E0: 74 74 69 6E 67 20 69 73 20 64 65 66 69 6E 65 64 tting is defined
0001F0: 20 62 79 20 74 68 65 0D 38 32 35 35 20 50 50 49 by the.8255 PPI
Size : 512 (Real : 512)
000000: 09 3B 52 65 67 69 73 74 65 72 20 45 20 68 6F 6C .;Register E hol
000010: 64 73 20 76 61 6C 75 65 20 66 72 6F 6D 20 70 6F ds value from po
000020: 72 74 0D 0D 09 09 09 3B 52 65 74 75 72 6E 20 70 rt.....;Return p
000030: 6F 72 74 20 49 2F 4F 20 73 74 61 74 75 73 20 61 ort I/O status a
000040: 6E 64 20 6F 70 65 72 61 74 69 6E 67 20 6D 6F 64 nd operating mod
000050: 65 73 0D 09 09 09 3B 74 6F 20 70 72 65 76 69 6F es....;to previo
000060: 75 73 20 73 65 74 74 69 6E 67 73 2E 0D 0D 4C 44 us settings...LD
000070: 20 42 2C 26 46 37 09 09 3B 38 32 35 35 20 43 6F B,&F7..;8255 Co
000080: 6E 74 72 6F 6C 20 70 6F 72 74 0D 4C 44 20 41 2C ntrol port.LD A,
000090: 25 31 30 30 30 30 30 31 30 09 09 3B 43 6F 6E 66 %10000010..;Conf
0000A0: 69 67 75 72 61 74 69 6F 6E 20 66 75 6E 63 74 69 iguration functi
0000B0: 6F 6E 0D 4F 55 54 20 28 43 29 2C 41 09 09 3B 53 on.OUT (C),A..;S
0000C0: 65 6E 64 20 74 6F 20 38 32 35 35 0D 52 45 54 0D end to 8255.RET.
0000D0: 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D .===============
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000100: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000110: 3D 3D 3D 3D 3D 3D 3D 0D 0D 62 29 20 57 72 69 74 =======..b) Writ
000120: 69 6E 67 20 74 6F 20 70 6F 72 74 20 41 2C 0D 0D ing to port A,..
000130: 09 09 09 3B 53 65 74 20 70 6F 72 74 20 41 20 74 ...;Set port A t
000140: 6F 20 6F 75 74 70 75 74 0D 20 20 20 20 20 20 20 o output.
000150: 20 20 20 20 20 20 20 20 20 0D 09 09 09 3B 28 4E ....;(N
000160: 6F 74 65 20 74 68 65 20 6E 65 78 74 20 66 65 77 ote the next few
000170: 20 6C 69 6E 65 73 20 61 72 65 20 6E 6F 74 20 6E lines are not n
000180: 65 63 65 73 73 61 72 79 0D 09 09 09 3B 61 73 20 ecessary....;as
000190: 70 6F 72 74 20 41 20 69 73 20 61 6C 72 65 61 64 port A is alread
0001A0: 79 20 61 63 74 69 6E 67 20 61 73 20 6F 75 74 70 y acting as outp
0001B0: 75 74 2C 20 68 6F 77 65 76 65 72 0D 09 09 09 3B ut, however....;
0001C0: 69 74 20 69 73 20 67 69 76 65 6E 20 68 65 72 65 it is given here
0001D0: 20 6A 75 73 74 20 74 6F 20 6D 61 6B 65 20 74 68 just to make th
0001E0: 65 20 65 78 61 6D 70 6C 65 0D 09 09 09 3B 6D 6F e example....;mo
0001F0: 72 65 20 75 6E 64 65 72 73 74 61 6E 64 61 62 6C re understandabl
Size : 512 (Real : 512)
000000: 20 63 6F 6E 74 72 6F 6C 20 20 62 79 74 65 2E 20 control byte.
000010: 20 28 54 68 65 20 20 63 6F 6E 74 72 6F 6C 20 20 (The control
000020: 62 79 74 65 20 20 69 73 20 20 61 63 63 65 73 73 byte is access
000030: 65 64 20 20 75 73 69 6E 67 20 70 6F 72 74 0D 26 ed using port.&
000040: 46 37 78 78 2E 28 38 32 35 35 20 43 6F 6E 74 72 F7xx.(8255 Contr
000050: 6F 6C 20 70 6F 72 74 29 29 0D 0D 54 68 65 20 70 ol port))..The p
000060: 6F 72 74 73 20 6D 61 79 20 62 65 20 61 63 63 65 orts may be acce
000070: 73 73 65 64 20 73 65 70 61 72 61 74 65 6C 79 20 ssed separately
000080: 62 79 20 74 68 65 20 43 50 55 2E 0D 0D 50 6F 72 by the CPU...Por
000090: 74 20 41 20 69 73 20 61 63 63 65 73 73 65 64 20 t A is accessed
0000A0: 75 73 69 6E 67 20 70 6F 72 74 20 26 46 34 78 78 using port &F4xx
0000B0: 2E 0D 50 6F 72 74 20 42 20 69 73 20 61 63 63 65 ..Port B is acce
0000C0: 73 73 65 64 20 75 73 69 6E 67 20 70 6F 72 74 20 ssed using port
0000D0: 26 46 35 78 78 2E 0D 50 6F 72 74 20 43 20 69 73 &F5xx..Port C is
0000E0: 20 61 63 63 65 73 73 65 64 20 75 73 69 6E 67 20 accessed using
0000F0: 70 6F 72 74 20 26 46 36 78 78 2E 0D 0D 4E 4F 54 port &F6xx...NOT
000100: 45 3A 0D 0D 4D 6F 64 65 20 30 20 6F 70 65 72 61 E:..Mode 0 opera
000110: 74 69 6F 6E 3A 0D 0D 4D 6F 64 65 20 30 20 6F 70 tion:..Mode 0 op
000120: 65 72 61 74 69 6F 6E 20 64 6F 65 73 20 6E 6F 74 eration does not
000130: 20 72 65 71 75 69 72 65 20 20 6F 74 68 65 72 20 require other
000140: 20 70 6F 72 74 73 20 20 74 6F 20 62 65 20 75 73 ports to be us
000150: 65 64 20 74 6F 20 63 6F 6E 74 72 6F 6C 0D 64 61 ed to control.da
000160: 74 61 20 74 72 61 6E 73 66 65 72 2E 20 44 61 74 ta transfer. Dat
000170: 61 20 6D 61 79 20 6F 6E 6C 79 20 62 65 20 73 65 a may only be se
000180: 6E 74 20 74 6F 20 20 61 20 70 6F 72 74 20 69 66 nt to a port if
000190: 20 74 68 65 20 70 6F 72 74 20 69 73 20 64 65 66 the port is def
0001A0: 69 6E 65 64 0D 61 73 20 6F 75 74 70 75 74 2C 20 ined.as output,
0001B0: 61 6E 64 20 64 61 74 61 20 6D 61 79 20 6F 6E 6C and data may onl
0001C0: 79 20 62 65 20 72 65 61 64 20 20 66 72 6F 6D 20 y be read from
0001D0: 61 20 70 6F 72 74 20 77 68 65 6E 20 74 68 65 20 a port when the
0001E0: 70 6F 72 74 20 69 73 20 73 65 74 0D 74 6F 20 69 port is set.to i
0001F0: 6E 70 75 74 2E 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D nput...=========
Size : 512 (Real : 512)
000000: 65 29 0D 0D 4C 44 20 42 2C 26 46 37 09 09 3B 38 e)..LD B,&F7..;8
000010: 32 35 35 20 43 6F 6E 74 72 6F 6C 20 70 6F 72 74 255 Control port
000020: 0D 4C 44 20 41 2C 25 31 30 30 30 30 30 31 30 09 .LD A,%10000010.
000030: 09 3B 43 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 .;Configuration
000040: 66 75 6E 63 74 69 6F 6E 0D 4F 55 54 20 28 43 29 function.OUT (C)
000050: 2C 41 09 09 3B 53 65 6E 64 20 74 6F 20 38 32 35 ,A..;Send to 825
000060: 35 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5.
000070: 20 20 20 20 20 20 20 20 20 20 0D 4C 44 20 42 2C .LD B,
000080: 26 46 34 09 09 3B 70 6F 72 74 20 41 20 70 6F 72 &F4..;port A por
000090: 74 20 61 64 64 72 65 73 73 0D 0D 09 09 09 3B 52 t address.....;R
0000A0: 65 67 69 73 74 65 72 20 45 20 68 6F 6C 64 73 20 egister E holds
0000B0: 76 61 6C 75 65 20 74 6F 20 70 75 74 20 69 6E 74 value to put int
0000C0: 6F 20 70 6F 72 74 0D 0D 4C 44 20 45 2C 26 46 46 o port..LD E,&FF
0000D0: 09 09 3B 44 61 74 61 20 74 6F 20 70 75 74 20 69 ..;Data to put i
0000E0: 6E 74 6F 20 70 6F 72 74 0D 4F 55 54 20 28 43 29 nto port.OUT (C)
0000F0: 2C 41 09 09 3B 53 65 6E 64 20 74 6F 20 70 6F 72 ,A..;Send to por
000100: 74 20 41 0D 0D 09 09 09 3B 52 65 74 75 72 6E 20 t A.....;Return
000110: 70 6F 72 74 20 49 2F 4F 20 73 74 61 74 75 73 20 port I/O status
000120: 61 6E 64 20 6F 70 65 72 61 74 69 6E 67 20 6D 6F and operating mo
000130: 64 65 73 0D 09 09 09 3B 74 6F 20 70 72 65 76 69 des....;to previ
000140: 6F 75 73 20 73 65 74 74 69 6E 67 73 2E 0D 0D 4C ous settings...L
000150: 44 20 42 2C 26 46 37 09 09 3B 38 32 35 35 20 43 D B,&F7..;8255 C
000160: 6F 6E 74 72 6F 6C 20 70 6F 72 74 0D 4C 44 20 41 ontrol port.LD A
000170: 2C 25 31 30 30 30 30 30 31 30 09 09 3B 43 6F 6E ,%10000010..;Con
000180: 66 69 67 75 72 61 74 69 6F 6E 20 66 75 6E 63 74 figuration funct
000190: 69 6F 6E 0D 4F 55 54 20 28 43 29 2C 41 0D 52 45 ion.OUT (C),A.RE
0001A0: 54 0D 1A 74 72 6F 6C 20 70 6F 72 74 0D 4C 44 20 T..trol port.LD
0001B0: 41 2C 25 31 30 30 30 30 30 31 30 09 09 3B 43 6F A,%10000010..;Co
0001C0: 6E 66 69 67 75 72 61 74 69 6F 6E 20 66 75 6E 63 nfiguration func
0001D0: 74 69 6F 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A tio.............
0001E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0001F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
Size : 512 (Real : 512)
000000: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000010: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000030: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 55 =============..U
000040: 73 69 6E 67 20 74 68 65 20 38 32 35 35 20 50 6F sing the 8255 Po
000050: 72 74 73 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D rts.------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 57 68 65 6E 20 77 --------..When w
000070: 72 69 74 69 6E 67 20 74 6F 20 61 20 70 6F 72 74 riting to a port
000080: 3A 0D 0D 31 29 20 4D 61 6B 65 20 73 75 72 65 20 :..1) Make sure
000090: 74 68 65 20 70 6F 72 74 20 69 73 20 6F 70 65 72 the port is oper
0000A0: 61 74 69 6E 67 20 61 73 20 6F 75 74 70 75 74 2E ating as output.
0000B0: 20 28 54 68 69 73 20 69 73 20 64 6F 6E 65 20 62 (This is done b
0000C0: 79 20 73 65 6E 64 69 6E 67 0D 20 20 20 61 20 63 y sending. a c
0000D0: 6F 6E 74 72 6F 6C 20 62 79 74 65 20 74 6F 20 70 ontrol byte to p
0000E0: 6F 72 74 20 26 46 37 78 78 29 2E 0D 32 29 20 57 ort &F7xx)..2) W
0000F0: 72 69 74 65 20 74 68 65 20 64 61 74 61 20 74 6F rite the data to
000100: 20 74 68 65 20 70 6F 72 74 2E 0D 33 29 20 52 65 the port..3) Re
000110: 74 75 72 6E 20 74 68 65 20 70 6F 72 74 20 74 6F turn the port to
000120: 20 69 74 27 73 20 6F 72 69 67 69 6E 61 6C 20 49 it's original I
000130: 2F 4F 20 53 74 61 74 75 73 2E 0D 0D 57 68 65 6E /O Status...When
000140: 20 72 65 61 64 69 6E 67 20 66 72 6F 6D 20 61 20 reading from a
000150: 70 6F 72 74 3A 0D 0D 31 29 20 4D 61 6B 65 20 73 port:..1) Make s
000160: 75 72 65 20 74 68 65 20 70 6F 72 74 20 69 73 20 ure the port is
000170: 6F 70 65 72 61 74 69 6E 67 20 20 61 73 20 69 6E operating as in
000180: 70 75 74 2E 20 28 54 68 69 73 20 69 73 20 64 6F put. (This is do
000190: 6E 65 20 62 79 20 73 65 6E 64 69 6E 67 0D 20 20 ne by sending.
0001A0: 20 61 20 63 6F 6E 74 72 6F 6C 20 62 79 74 65 20 a control byte
0001B0: 74 6F 20 70 6F 72 74 20 26 46 37 78 78 29 2E 0D to port &F7xx)..
0001C0: 32 29 20 52 65 61 64 20 74 68 65 20 64 61 74 61 2) Read the data
0001D0: 20 66 72 6F 6D 20 74 68 65 20 70 6F 72 74 2E 0D from the port..
0001E0: 33 29 20 52 65 74 75 72 6E 20 74 68 65 20 70 6F 3) Return the po
0001F0: 72 74 20 74 6F 20 69 74 27 73 20 6F 72 69 67 69 rt to it's origi
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 6E 61 6C 20 49 2F 4F 20 53 74 61 74 75 73 2E 0D nal I/O Status..
000010: 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D .===============
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000030: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000040: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000050: 3D 3D 3D 3D 3D 3D 3D 0D 0D 38 32 35 35 20 50 50 =======..8255 PP
000060: 49 20 43 6F 6E 74 72 6F 6C 20 42 79 74 65 0D 2D I Control Byte.-
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 0D 0D 54 68 69 73 20 62 79 74 65 20 ----..This byte
000090: 63 6F 6E 74 72 6F 6C 73 20 74 68 65 20 49 6E 70 controls the Inp
0000A0: 75 74 2F 4F 75 74 70 75 74 20 28 49 2F 4F 29 20 ut/Output (I/O)
0000B0: 73 74 61 74 75 73 20 61 6E 64 20 6F 70 65 72 61 status and opera
0000C0: 74 69 6E 67 20 6D 6F 64 65 20 6F 66 0D 65 61 63 ting mode of.eac
0000D0: 68 20 70 6F 72 74 2E 0D 0D 49 74 20 61 6C 73 6F h port...It also
0000E0: 20 68 61 73 20 61 20 73 65 63 6F 6E 64 61 72 79 has a secondary
0000F0: 20 66 75 6E 63 74 69 6F 6E 20 77 68 69 63 68 20 function which
000100: 61 6C 6C 6F 77 73 20 74 68 65 20 75 73 65 72 20 allows the user
000110: 74 6F 20 73 65 74 20 6F 72 20 72 65 73 65 74 0D to set or reset.
000120: 61 20 70 61 72 74 69 63 75 6C 61 72 20 62 69 74 a particular bit
000130: 20 6F 66 20 70 6F 72 74 20 43 2E 0D 0D 54 6F 20 of port C...To
000140: 73 65 6E 64 20 61 20 63 6F 6E 74 72 6F 6C 20 62 send a control b
000150: 79 74 65 20 20 74 6F 20 20 74 68 65 20 20 38 32 yte to the 82
000160: 35 35 2C 20 20 73 69 6D 70 6C 79 20 20 73 65 6E 55, simply sen
000170: 74 20 20 74 68 65 20 62 79 74 65 20 74 6F 20 70 t the byte to p
000180: 6F 72 74 0D 26 46 37 78 78 2E 20 28 4E 4F 54 45 ort.&F7xx. (NOTE
000190: 3A 20 54 68 65 20 63 6F 6E 74 72 6F 6C 20 20 62 : The control b
0001A0: 79 74 65 20 20 63 61 6E 20 20 6F 6E 6C 79 20 20 yte can only
0001B0: 62 65 20 20 77 72 69 74 74 65 6E 2C 20 20 69 74 be written, it
0001C0: 20 63 61 6E 6E 6F 74 20 62 65 0D 72 65 61 64 2E cannot be.read.
0001D0: 29 0D 0D 54 68 65 20 66 75 6E 63 74 69 6F 6E 20 )..The function
0001E0: 74 6F 20 62 65 20 65 78 65 63 75 74 65 64 20 62 to be executed b
0001F0: 79 20 74 68 65 20 20 38 32 35 35 20 20 69 73 20 y the 8255 is
Size : 512 (Real : 512)
000000: 38 32 35 35 20 50 61 72 61 6C 6C 65 6C 20 50 65 8255 Parallel Pe
000010: 72 69 70 68 65 72 61 6C 20 49 6E 74 65 72 66 61 ripheral Interfa
000020: 63 65 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ce.-------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 0D 0D 54 68 65 20 38 20 44 71 80 -----..The 8 Dq.
000050: 0C 70 60 63 27 88 88 00 88 04 8E 01 CF 87 80 04 .p`c'...........
000060: 87 80 04 08 4F CF 82 00 87 80 01 CF CF 80 00 01 ....O...........
000070: 87 80 01 CF CF 8C 03 82 07 C0 CF 92 01 CF 82 04 ................
000080: 4F 8C 00 00 80 88 0C 01 88 09 CF 81 80 70 01 83 O............p..
000090: 88 4F 87 84 18 41 CF 80 08 02 0C 80 0E 04 89 CF .O...A..........
0000A0: 8E 00 89 CF 8C 0E 04 04 08 01 81 88 4F 84 88 0C ............O...
0000B0: 00 04 89 88 04 C0 F0 70 07 84 80 08 04 8E 00 00 .......p........
0000C0: 02 00 88 4F 81 83 88 4F C3 C4 C0 40 70 40 40 40 ...O...O...@p@@@
0000D0: 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@
0000E0: 40 70 70 01 83 88 4F C3 C4 C0 40 4F 83 8E 04 4F @pp...O...@O...O
0000F0: C4 4F C3 C0 0C 82 01 CF CF 87 80 04 81 84 4F CF .O............O.
000100: C3 9E 41 9C CF CF 8E 00 89 CF CF 9C 42 41 CF CF ..A.........BA..
000110: 88 0E 0C 03 CF CF 80 08 CF 80 03 82 0C 03 CF 8C ................
000120: 0E 00 CF 83 8E 00 88 4F 8E 70 09 82 08 88 88 04 .......O.p......
000130: 88 00 81 CF 92 40 10 4F 84 01 8E 01 80 04 4F CF .....@.O......O.
000140: C3 82 40 88 40 CF CF 82 00 87 80 01 CF CF 80 04 ..@.@...........
000150: CF CF 80 00 01 87 80 01 C2 40 CF CF 87 80 04 81 .........@......
000160: CF CF 9C 4F CF 8C 0E 00 CF 8E 01 84 00 4F 8C 88 ...O.........O..
000170: 70 07 84 80 08 04 8E 00 00 08 09 CF 81 80 4F 80 p.............O.
000180: 07 88 04 8E 01 88 4F 82 00 CF 81 80 00 4F 83 8E ......O......O..
000190: 01 80 88 04 40 CF C3 9E 04 4F 81 80 00 4F 84 08 ....@....O...O..
0001A0: 07 8E 04 8E 01 88 4F C1 C0 0C 82 01 CF 87 80 04 ......O.........
0001B0: 81 84 42 40 F0 70 01 83 88 04 88 4F 8E 04 88 4F ..B@.p.....O...O
0001C0: C4 4F CF 8C 8E 04 02 0C 4F CF 80 00 09 88 04 4F .O......O......O
0001D0: CF 80 08 CF CF 80 07 88 04 8E 01 82 00 00 CF CF ................
0001E0: 80 00 89 88 04 CF CF 80 03 82 0C 03 CF CF 81 83 ................
0001F0: 88 4F CF 87 80 04 81 84 4F 8C 0E 00 F0 08 80 00 .O......O.......
Size : 512 (Real : 512)
000000: 64 65 70 65 6E 64 61 6E 74 20 6F 6E 20 74 68 65 dependant on the
000010: 20 73 74 61 74 65 20 6F 66 0D 62 69 74 20 37 2E state of.bit 7.
000020: 0D 0D 49 66 20 62 69 74 20 37 20 69 73 20 31 2C ..If bit 7 is 1,
000030: 20 74 68 65 20 72 65 6D 61 69 6E 69 6E 67 20 20 the remaining
000040: 62 69 74 73 20 20 61 72 65 20 75 73 65 64 20 74 bits are used t
000050: 6F 20 64 65 66 69 6E 65 20 74 68 65 20 49 2F 4F o define the I/O
000060: 20 73 74 61 74 75 73 2C 0D 61 6E 64 20 6F 70 65 status,.and ope
000070: 72 61 74 69 6E 67 20 6D 6F 64 65 20 6F 66 20 65 rating mode of e
000080: 61 63 68 20 70 6F 72 74 2E 0D 0D 49 66 20 62 69 ach port...If bi
000090: 74 20 37 20 69 73 20 30 2C 20 74 68 65 20 72 65 t 7 is 0, the re
0000A0: 6D 61 69 6E 69 6E 67 20 20 62 69 74 73 20 20 61 maining bits a
0000B0: 72 65 20 20 75 73 65 64 20 74 6F 20 64 65 74 65 re used to dete
0000C0: 72 6D 69 6E 65 20 77 68 61 74 20 62 69 74 20 69 rmine what bit i
0000D0: 73 0D 73 65 74 20 28 73 65 74 20 74 6F 20 31 29 s.set (set to 1)
0000E0: 20 6F 72 20 72 65 73 65 74 20 28 73 65 74 20 74 or reset (set t
0000F0: 6F 20 30 29 20 6F 66 20 70 6F 72 74 20 43 2E 0D o 0) of port C..
000100: 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D .===============
000110: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000120: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 3D 3D 3D 3D 3D 0D 0D 43 6F 6E 66 69 67 75 =======..Configu
000150: 72 61 74 69 6F 6E 20 63 6F 6E 74 72 6F 6C 20 62 ration control b
000160: 79 74 65 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D yte.------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D --------------..
000180: 57 68 65 6E 20 62 69 74 20 37 20 69 73 20 73 65 When bit 7 is se
000190: 74 20 74 6F 20 31 2C 20 74 68 65 20 63 6F 6D 6D t to 1, the comm
0001A0: 61 6E 64 20 62 79 74 65 20 6F 70 65 72 61 74 65 and byte operate
0001B0: 73 20 69 6E 20 74 68 65 20 66 6F 6C 6C 6F 77 69 s in the followi
0001C0: 6E 67 0D 77 61 79 3A 0D 0D 42 69 74 20 37 3A 20 ng.way:..Bit 7:
0001D0: 43 6F 6E 74 72 6F 6C 20 62 79 74 65 20 66 75 6E Control byte fun
0001E0: 63 74 69 6F 6E 20 28 31 3D 43 6F 6E 66 69 67 75 ction (1=Configu
0001F0: 72 61 74 69 6F 6E 20 63 6F 6E 74 72 6F 6C 20 62 ration control b
Size : 512 (Real : 512)
000000: 20 20 77 68 69 63 68 20 20 74 68 65 20 70 6F 72 which the por
000010: 74 20 63 61 6E 20 62 65 20 61 63 63 65 73 73 65 t can be accesse
000020: 64 29 0D 69 74 27 73 20 6E 6F 72 6D 61 6C 20 49 d).it's normal I
000030: 2F 4F 20 53 74 61 74 75 73 20 28 75 6E 6C 65 73 /O Status (unles
000040: 73 20 20 63 68 61 6E 67 65 64 20 20 62 79 20 20 s changed by
000050: 74 68 65 20 75 73 65 72 29 2C 20 69 74 27 73 20 the user), it's
000060: 6F 70 65 72 61 74 69 6E 67 0D 6D 6F 64 65 20 28 operating.mode (
000070: 75 6E 6C 65 73 73 20 63 68 61 6E 67 65 64 20 62 unless changed b
000080: 79 20 74 68 65 20 75 73 65 72 29 20 61 72 65 20 y the user) are
000090: 67 69 76 65 6E 2E 0D 0D 46 6F 72 20 6D 6F 72 65 given...For more
0000A0: 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 6F 6E 20 information on
0000B0: 61 20 20 70 61 72 74 69 63 75 6C 61 72 20 20 66 a particular f
0000C0: 75 6E 63 74 69 6F 6E 20 20 6F 66 20 65 61 63 68 unction of each
0000D0: 20 70 6F 72 74 2C 20 73 65 65 20 74 68 65 0D 61 port, see the.a
0000E0: 70 70 72 6F 70 69 61 74 65 20 70 61 72 74 20 6F ppropiate part o
0000F0: 66 20 74 68 65 20 43 50 43 20 47 75 69 64 65 2E f the CPC Guide.
000100: 0D 0D 4E 4F 54 45 3A 20 49 66 20 79 6F 75 20 61 ..NOTE: If you a
000110: 72 65 20 75 73 69 6E 67 20 74 68 65 20 66 69 72 re using the fir
000120: 6D 77 61 72 65 2C 20 61 6C 77 61 79 73 20 72 65 mware, always re
000130: 74 75 72 6E 20 74 68 65 20 6F 70 65 72 61 74 69 turn the operati
000140: 6E 67 20 6D 6F 64 65 73 0D 61 6E 64 20 49 2F 4F ng modes.and I/O
000150: 20 73 74 61 74 75 73 20 6F 66 20 74 68 65 20 70 status of the p
000160: 6F 72 74 73 20 75 73 65 64 20 20 74 6F 20 74 68 orts used to th
000170: 65 69 72 20 73 74 61 74 75 73 20 62 65 6C 6F 77 eir status below
000180: 2C 20 6F 74 68 65 72 77 69 73 65 20 74 68 65 0D , otherwise the.
000190: 66 69 72 6D 77 61 72 65 20 6D 61 79 20 63 72 61 firmware may cra
0001A0: 73 68 2E 20 28 54 68 65 20 66 69 72 6D 77 61 72 sh. (The firmwar
0001B0: 65 20 20 65 78 70 65 63 74 73 20 20 74 68 65 20 e expects the
0001C0: 20 6F 70 65 72 61 74 69 6E 67 20 6D 6F 64 65 73 operating modes
0001D0: 20 74 6F 20 62 65 0D 74 68 65 20 73 61 6D 65 20 to be.the same
0001E0: 61 73 20 67 69 76 65 6E 20 62 65 6C 6F 77 29 2E as given below).
0001F0: 0D 0D 50 6F 72 74 20 41 20 28 50 6F 72 74 20 61 ..Port A (Port a
Size : 512 (Real : 512)
000000: 79 74 65 29 0D 0D 42 69 74 20 36 3A 20 7D 20 4F yte)..Bit 6: } O
000010: 70 65 72 61 74 69 6E 67 20 4D 6F 64 65 20 28 50 perating Mode (P
000020: 6F 72 74 20 41 20 61 6E 64 20 50 6F 72 74 20 43 ort A and Port C
000030: 20 75 70 70 65 72 29 0D 42 69 74 20 35 3A 20 7D upper).Bit 5: }
000040: 0D 0D 42 69 74 20 34 3A 20 50 6F 72 74 20 41 20 ..Bit 4: Port A
000050: 49 2F 4F 20 53 74 61 74 75 73 0D 20 20 20 20 20 I/O Status.
000060: 20 20 20 20 30 3A 20 4F 75 74 70 75 74 2C 20 31 0: Output, 1
000070: 3A 20 49 6E 70 75 74 0D 0D 42 69 74 20 33 3A 20 : Input..Bit 3:
000080: 50 6F 72 74 20 43 20 28 75 70 70 65 72 29 20 49 Port C (upper) I
000090: 2F 4F 20 53 74 61 74 75 73 0D 20 20 20 20 20 20 /O Status.
0000A0: 20 20 20 30 3A 20 4F 75 74 70 75 74 2C 20 31 3A 0: Output, 1:
0000B0: 20 49 6E 70 75 74 0D 0D 42 69 74 20 32 3A 20 4F Input..Bit 2: O
0000C0: 70 65 72 61 74 69 6E 67 20 4D 6F 64 65 20 73 65 perating Mode se
0000D0: 6C 65 63 74 69 6F 6E 20 28 50 6F 72 74 20 42 20 lection (Port B
0000E0: 61 6E 64 20 50 6F 72 74 20 43 20 6C 6F 77 65 72 and Port C lower
0000F0: 29 0D 0D 42 69 74 20 31 3A 20 50 6F 72 74 20 42 )..Bit 1: Port B
000100: 20 49 2F 4F 20 53 74 61 74 75 73 0D 20 20 20 20 I/O Status.
000110: 20 20 20 20 30 3A 20 4F 75 74 70 75 74 2C 20 31 0: Output, 1
000120: 3A 20 49 6E 70 75 74 0D 0D 42 69 74 20 30 3A 20 : Input..Bit 0:
000130: 50 6F 72 74 20 43 20 28 6C 6F 77 65 72 29 20 49 Port C (lower) I
000140: 2F 4F 20 53 74 61 74 75 73 0D 20 20 20 20 20 20 /O Status.
000150: 20 20 30 3A 20 4F 75 74 70 75 74 2C 20 31 3A 20 0: Output, 1:
000160: 49 6E 70 75 74 0D 0D 50 6F 72 74 20 41 20 61 6E Input..Port A an
000170: 64 20 50 6F 72 74 20 43 20 28 75 70 70 65 72 29 d Port C (upper)
000180: 20 4F 70 65 72 61 74 69 6E 67 20 6D 6F 64 65 0D Operating mode.
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 0D 0D 42 69 74 20 36 20 20 20 ------..Bit 6
0001C0: 20 20 20 20 20 20 20 20 42 69 74 20 35 20 20 20 Bit 5
0001D0: 20 20 20 20 20 20 20 20 4D 6F 64 65 20 73 65 6C Mode sel
0001E0: 65 63 74 69 6F 6E 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D ection.---------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 64 64 72 65 73 73 3A 26 46 34 78 78 29 20 28 49 ddress:&F4xx) (I
000010: 2F 4F 20 53 74 61 74 75 73 3A 20 4F 75 74 70 75 /O Status: Outpu
000020: 74 29 20 28 4F 70 65 72 61 74 69 6E 67 20 6D 6F t) (Operating mo
000030: 64 65 3A 20 30 29 0D 2D 2D 2D 2D 2D 2D 0D 0D 42 de: 0).------..B
000040: 69 74 20 37 3A 20 7D 20 50 53 47 20 64 61 74 61 it 7: } PSG data
000050: 0D 42 69 74 20 36 3A 20 7D 0D 42 69 74 20 35 3A .Bit 6: }.Bit 5:
000060: 20 7D 0D 42 69 74 20 34 3A 20 7D 0D 42 69 74 20 }.Bit 4: }.Bit
000070: 33 3A 20 7D 0D 42 69 74 20 32 3A 20 7D 0D 42 69 3: }.Bit 2: }.Bi
000080: 74 20 31 3A 20 7D 0D 42 69 74 20 30 3A 20 7D 0D t 1: }.Bit 0: }.
000090: 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D .===============
0000A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 0D 0D 50 6F 72 74 20 42 20 =======..Port B
0000E0: 28 50 6F 72 74 20 61 64 64 72 65 73 73 3A 20 26 (Port address: &
0000F0: 46 35 78 78 29 20 28 49 2F 4F 20 53 74 61 74 75 F5xx) (I/O Statu
000100: 73 3A 20 49 6E 70 75 74 29 20 28 4F 70 65 72 61 s: Input) (Opera
000110: 74 69 6E 67 20 6D 6F 64 65 3A 20 30 29 0D 2D 2D ting mode: 0).--
000120: 2D 2D 2D 2D 0D 0D 42 69 74 20 37 3A 20 43 61 73 ----..Bit 7: Cas
000130: 73 65 74 74 65 20 72 65 61 64 20 64 61 74 61 0D sette read data.
000140: 0D 42 69 74 20 36 3A 20 50 72 69 6E 74 65 72 20 .Bit 6: Printer
000150: 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 0D 20 20 configuration.
000160: 20 20 20 20 20 20 31 3A 20 4E 6F 74 2D 72 65 61 1: Not-rea
000170: 64 79 2C 20 20 30 3A 20 52 65 61 64 79 0D 0D 42 dy, 0: Ready..B
000180: 69 74 20 35 3A 20 45 78 70 61 6E 73 69 6F 6E 20 it 5: Expansion
000190: 70 65 72 69 70 68 65 72 61 6C 20 64 65 74 65 63 peripheral detec
0001A0: 74 0D 20 20 20 20 20 20 20 20 31 3A 20 45 78 70 t. 1: Exp
0001B0: 61 6E 73 69 6F 6E 20 70 65 72 69 70 68 65 72 61 ansion periphera
0001C0: 6C 20 70 72 65 73 65 6E 74 2C 20 30 3A 20 4E 6F l present, 0: No
0001D0: 74 20 70 72 65 73 65 6E 74 0D 0D 42 69 74 20 34 t present..Bit 4
0001E0: 3A 20 53 63 72 65 65 6E 20 72 65 66 72 65 73 68 : Screen refresh
0001F0: 20 66 72 65 71 75 65 6E 63 79 20 28 64 65 66 69 frequency (defi
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 0D 20 20 30 20 20 20 20 20 20 20 -----. 0
000020: 20 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 0
000030: 20 20 20 20 20 20 4D 6F 64 65 20 30 0D 20 20 30 Mode 0. 0
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 1
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 6F 64 Mod
000060: 65 20 31 0D 20 20 31 20 20 20 20 20 20 20 20 20 e 1. 1
000070: 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 0
000080: 20 20 20 20 4D 6F 64 65 20 32 0D 20 20 31 20 20 Mode 2. 1
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 31 20 20 1
0000A0: 20 20 20 20 20 20 20 20 20 20 20 4D 6F 64 65 20 Mode
0000B0: 32 0D 0D 50 6F 72 74 20 42 20 61 6E 64 20 50 6F 2..Port B and Po
0000C0: 72 74 20 43 20 28 6C 6F 77 65 72 29 20 6F 70 65 rt C (lower) ope
0000D0: 72 61 74 69 6E 67 20 6D 6F 64 65 0D 2D 2D 2D 2D rating mode.----
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000100: 2D 2D 2D 2D 0D 0D 42 69 74 20 32 20 20 20 20 20 ----..Bit 2
000110: 20 20 20 20 20 20 4D 6F 64 65 20 53 65 6C 65 63 Mode Selec
000120: 74 69 6F 6E 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D tion.-----------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 0D 0D 20 20 30 20 20 20 20 20 20 20 20 ---.. 0
000150: 20 20 20 20 20 4D 6F 64 65 20 30 0D 20 20 31 20 Mode 0. 1
000160: 20 20 20 20 20 20 20 20 20 20 20 20 4D 6F 64 65 Mode
000170: 20 31 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 1..============
000180: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000190: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 42 69 74 20 ==========..Bit
0001C0: 53 65 74 2F 52 65 73 65 74 20 63 6F 6E 74 72 6F Set/Reset contro
0001D0: 6C 20 62 79 74 65 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D l byte.---------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 0D 0D 57 68 65 6E 20 62 69 74 20 37 20 69 73 -..When bit 7 is
Size : 512 (Real : 512)
000000: 6E 65 64 20 62 79 20 68 61 72 64 77 61 72 65 29 ned by hardware)
000010: 0D 20 20 20 20 20 20 20 20 31 3A 20 35 30 48 7A . 1: 50Hz
000020: 20 20 20 20 30 3A 20 36 30 48 7A 0D 0D 42 69 74 0: 60Hz..Bit
000030: 20 33 3A 20 7D 20 43 6F 6D 70 75 74 65 72 20 6E 3: } Computer n
000040: 61 6D 65 20 6F 6E 20 70 6F 77 65 72 2D 75 70 2E ame on power-up.
000050: 0D 42 69 74 20 32 3A 20 7D 0D 42 69 74 20 31 3A .Bit 2: }.Bit 1:
000060: 20 7D 0D 0D 42 69 74 20 30 3A 20 56 53 59 4E 43 }..Bit 0: VSYNC
000070: 20 73 74 61 74 75 73 20 28 46 72 61 6D 65 20 66 status (Frame f
000080: 6C 79 62 61 63 6B 20 73 74 61 74 75 73 29 0D 20 lyback status).
000090: 20 20 20 20 20 20 20 31 3A 20 56 53 59 4E 43 20 1: VSYNC
0000A0: 6F 63 63 75 72 65 64 2C 20 30 3A 20 6E 6F 20 56 occured, 0: no V
0000B0: 53 59 4E 43 0D 0D 54 61 62 6C 65 20 73 68 6F 77 SYNC..Table show
0000C0: 69 6E 67 20 43 6F 6D 70 75 74 65 72 20 6E 61 6D ing Computer nam
0000D0: 65 20 6F 6E 20 70 6F 77 65 72 2D 75 70 3A 0D 0D e on power-up:..
0000E0: 42 69 74 20 33 20 20 20 20 20 20 42 69 74 20 32 Bit 3 Bit 2
0000F0: 20 20 20 20 42 69 74 20 31 20 20 20 20 43 6F 6D Bit 1 Com
000100: 70 75 74 65 72 20 6E 61 6D 65 0D 2D 2D 2D 2D 2D puter name.-----
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 0D 0D 20 20 20 30 20 20 20 20 20 20 20 ---.. 0
000140: 30 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 0 0
000150: 49 73 70 0D 20 20 20 30 20 20 20 20 20 20 20 30 Isp. 0 0
000160: 20 20 20 20 20 20 31 20 20 20 20 20 20 20 20 54 1 T
000170: 72 69 75 6D 70 68 0D 20 20 20 30 20 20 20 20 20 riumph. 0
000180: 20 20 31 20 20 20 20 20 20 30 20 20 20 20 20 20 1 0
000190: 20 20 53 61 69 73 68 6F 0D 20 20 20 30 20 20 20 Saisho. 0
0001A0: 20 20 20 20 31 20 20 20 20 20 20 31 20 20 20 20 1 1
0001B0: 20 20 20 20 53 6F 6C 61 76 6F 78 0D 20 20 20 31 Solavox. 1
0001C0: 20 20 20 20 20 20 20 30 20 20 20 20 20 20 30 20 0 0
0001D0: 20 20 20 20 20 20 20 41 77 61 0D 20 20 20 31 20 Awa. 1
0001E0: 20 20 20 20 20 20 30 20 20 20 20 20 20 31 20 20 0 1
0001F0: 20 20 20 20 20 20 53 63 68 6E 65 69 64 65 72 0D Schneider.
Size : 512 (Real : 512)
000000: 20 73 65 74 20 74 6F 20 20 30 2C 20 20 74 68 65 set to 0, the
000010: 20 20 63 6F 6E 74 72 6F 6C 20 20 62 79 74 65 20 control byte
000020: 6F 70 65 72 61 74 65 73 20 69 6E 20 74 68 65 20 operates in the
000030: 66 6F 6C 6C 6F 77 69 6E 67 0D 77 61 79 3A 0D 0D following.way:..
000040: 42 69 74 20 37 3A 20 43 6F 6E 74 72 6F 6C 20 62 Bit 7: Control b
000050: 79 74 65 20 66 75 6E 63 74 69 6F 6E 20 28 30 3D yte function (0=
000060: 42 69 74 20 53 65 74 2F 52 65 73 65 74 20 63 6F Bit Set/Reset co
000070: 6E 74 72 6F 6C 20 62 79 74 65 29 0D 0D 42 69 74 ntrol byte)..Bit
000080: 20 36 3A 20 7D 20 4E 6F 74 20 75 73 65 64 2E 20 6: } Not used.
000090: 28 73 65 6E 64 20 30 29 0D 42 69 74 20 35 3A 20 (send 0).Bit 5:
0000A0: 7D 0D 42 69 74 20 34 3A 20 7D 0D 0D 42 69 74 20 }.Bit 4: }..Bit
0000B0: 33 3A 20 7D 20 42 69 74 20 74 6F 20 63 68 61 6E 3: } Bit to chan
0000C0: 67 65 2E 0D 42 69 74 20 32 3A 20 7D 0D 42 69 74 ge..Bit 2: }.Bit
0000D0: 20 31 3A 20 7D 0D 0D 42 69 74 20 30 3A 20 42 69 1: }..Bit 0: Bi
0000E0: 74 20 6F 70 65 72 61 74 69 6F 6E 0D 20 20 20 20 t operation.
0000F0: 20 20 20 20 31 3A 20 53 65 74 20 62 69 74 20 28 1: Set bit (
000100: 6D 61 6B 65 20 62 69 74 3D 31 29 2C 20 30 3A 20 make bit=1), 0:
000110: 52 65 73 65 74 20 62 69 74 20 28 6D 61 6B 65 20 Reset bit (make
000120: 62 69 74 3D 30 29 0D 0D 54 61 62 6C 65 20 74 6F bit=0)..Table to
000130: 20 73 68 6F 77 20 68 6F 77 20 62 69 74 20 74 6F show how bit to
000140: 20 63 68 61 6E 67 65 20 69 73 20 63 6F 64 65 64 change is coded
000150: 3A 0D 0D 42 69 74 20 33 20 20 20 20 20 20 20 20 :..Bit 3
000160: 20 20 20 42 69 74 20 32 20 20 20 20 20 20 20 20 Bit 2
000170: 20 20 20 42 69 74 20 31 20 20 20 20 20 20 20 20 Bit 1
000180: 20 20 20 42 69 74 20 73 65 6C 65 63 74 65 64 0D Bit selected.
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 30 20 ------------. 0
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 0
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 0
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 74 Bit
Size : 512 (Real : 512)
000000: 20 20 20 31 20 20 20 20 20 20 20 31 20 20 20 20 1 1
000010: 20 20 30 20 20 20 20 20 20 20 20 4F 72 69 6F 6E 0 Orion
000020: 0D 20 20 20 31 20 20 20 20 20 20 20 31 20 20 20 . 1 1
000030: 20 20 20 31 20 20 20 20 20 20 20 20 41 6D 73 74 1 Amst
000040: 72 61 64 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D rad..===========
000050: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000060: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000070: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000080: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 50 6F 72 ===========..Por
000090: 74 20 43 20 28 50 6F 72 74 20 61 64 64 72 65 73 t C (Port addres
0000A0: 73 3A 20 26 46 36 78 78 29 20 28 49 2F 4F 20 53 s: &F6xx) (I/O S
0000B0: 74 61 74 75 73 3A 20 4F 75 74 70 75 74 29 20 28 tatus: Output) (
0000C0: 4F 70 65 72 61 74 69 6E 67 20 6D 6F 64 65 3A 20 Operating mode:
0000D0: 30 29 0D 2D 2D 2D 2D 2D 2D 0D 0D 42 69 74 20 37 0).------..Bit 7
0000E0: 3A 20 7D 20 50 53 47 20 63 6F 6E 74 72 6F 6C 0D : } PSG control.
0000F0: 42 69 74 20 36 3A 20 7D 0D 0D 42 69 74 20 35 3A Bit 6: }..Bit 5:
000100: 20 43 61 73 73 65 74 74 65 20 77 72 69 74 65 20 Cassette write
000110: 64 61 74 61 0D 0D 42 69 74 20 34 3A 20 43 61 73 data..Bit 4: Cas
000120: 73 65 74 74 65 20 6D 6F 74 6F 72 20 63 6F 6E 74 sette motor cont
000130: 72 6F 6C 0D 20 20 20 20 20 20 20 20 31 3A 20 54 rol. 1: T
000140: 75 72 6E 20 6D 6F 74 6F 72 20 6F 6E 2C 20 30 3A urn motor on, 0:
000150: 20 54 75 72 6E 20 6D 6F 74 6F 72 20 6F 66 66 0D Turn motor off.
000160: 0D 42 69 74 20 33 3A 20 7D 20 4B 65 79 62 6F 61 .Bit 3: } Keyboa
000170: 72 64 20 6C 69 6E 65 20 74 6F 20 62 65 20 73 63 rd line to be sc
000180: 61 6E 6E 65 64 20 28 30 2D 31 30 29 0D 42 69 74 anned (0-10).Bit
000190: 20 32 3A 20 7D 0D 42 69 74 20 31 3A 20 7D 0D 42 2: }.Bit 1: }.B
0001A0: 69 74 20 30 3A 20 7D 0D 0D 3D 3D 3D 3D 3D 3D 3D it 0: }..=======
0001B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D ===============.
0001F0: 0D 50 72 6F 67 72 61 6D 6D 69 6E 67 20 45 78 61 .Programming Exa
Size : 512 (Real : 512)
000000: 20 30 0D 20 30 20 20 20 20 20 20 20 20 20 20 20 0. 0
000010: 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 20 0
000020: 20 20 20 20 20 31 20 20 20 20 20 20 20 20 20 20 1
000030: 20 20 20 42 69 74 20 31 0D 20 30 20 20 20 20 20 Bit 1. 0
000040: 20 20 20 20 20 20 20 20 20 20 20 31 20 20 20 20 1
000050: 20 20 20 20 20 20 20 20 20 20 20 30 20 20 20 20 0
000060: 20 20 20 20 20 20 20 20 20 42 69 74 20 32 0D 20 Bit 2.
000070: 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0
000080: 20 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1
000090: 20 31 20 20 20 20 20 20 20 20 20 20 20 20 20 42 1 B
0000A0: 69 74 20 33 0D 20 31 20 20 20 20 20 20 20 20 20 it 3. 1
0000B0: 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 0
0000C0: 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 0
0000D0: 20 20 20 20 20 42 69 74 20 34 0D 20 31 20 20 20 Bit 4. 1
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 30 20 20 0
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 31 20 20 1
000100: 20 20 20 20 20 20 20 20 20 20 20 42 69 74 20 35 Bit 5
000110: 0D 20 31 20 20 20 20 20 20 20 20 20 20 20 20 20 . 1
000120: 20 20 20 31 20 20 20 20 20 20 20 20 20 20 20 20 1
000130: 20 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 0
000140: 20 42 69 74 20 36 0D 20 31 20 20 20 20 20 20 20 Bit 6. 1
000150: 20 20 20 20 20 20 20 20 20 31 20 20 20 20 20 20 1
000160: 20 20 20 20 20 20 20 20 20 31 20 20 20 20 20 20 1
000170: 20 20 20 20 20 20 20 42 69 74 20 37 0D 0D 3D 3D Bit 7..==
000180: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000190: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001C0: 3D 3D 3D 0D 0D 50 6F 72 74 20 55 73 61 67 65 0D ===..Port Usage.
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 46 6F 72 20 ----------..For
0001E0: 65 61 63 68 20 70 6F 72 74 2C 20 74 68 65 20 70 each port, the p
0001F0: 6F 72 74 20 61 64 64 72 65 73 73 20 20 28 61 74 ort address (at
Size : 512 (Real : 512)
000000: 6D 70 6C 65 73 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D mples.----------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 31 29 20 55 ----------..1) U
000020: 73 69 6E 67 20 74 68 65 20 63 6F 6E 74 72 6F 6C sing the control
000030: 20 62 79 74 65 0D 0D 61 29 20 53 65 74 74 69 6E byte..a) Settin
000040: 67 20 62 69 74 20 37 20 6F 66 20 70 6F 72 74 20 g bit 7 of port
000050: 43 20 74 6F 20 31 2C 0D 0D 4C 44 20 42 2C 26 46 C to 1,..LD B,&F
000060: 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7
000070: 20 3B 38 32 35 35 20 43 6F 6E 74 72 6F 6C 20 70 ;8255 Control p
000080: 6F 72 74 0D 4C 44 20 41 2C 25 30 30 30 30 31 31 ort.LD A,%000011
000090: 31 31 20 20 20 20 20 20 20 20 20 20 3B 42 69 74 11 ;Bit
0000A0: 20 53 65 74 2F 72 65 73 65 74 20 66 75 6E 63 74 Set/reset funct
0000B0: 69 6F 6E 0D 4F 55 54 20 28 43 29 2C 41 20 20 20 ion.OUT (C),A
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 3B 53 65 6E ;Sen
0000D0: 64 20 69 74 20 74 6F 20 38 32 35 35 0D 52 45 54 d it to 8255.RET
0000E0: 0D 0D 62 29 20 53 65 74 20 70 6F 72 74 20 41 20 ..b) Set port A
0000F0: 20 74 6F 20 20 69 6E 70 75 74 2C 20 20 6F 70 65 to input, ope
000100: 72 61 74 69 6E 67 20 20 69 6E 20 20 6D 6F 64 65 rating in mode
000110: 20 20 30 2C 20 20 70 6F 72 74 20 20 42 20 74 6F 0, port B to
000120: 20 6F 75 74 70 75 74 2C 0D 6F 70 65 72 61 74 69 output,.operati
000130: 6E 67 20 69 6E 20 6D 6F 64 65 20 30 20 61 6E 64 ng in mode 0 and
000140: 20 70 6F 72 74 20 43 20 74 6F 20 69 6E 70 75 74 port C to input
000150: 2C 20 6F 70 65 72 61 74 69 6E 67 20 69 6E 20 6D , operating in m
000160: 6F 64 65 20 30 2E 0D 0D 4C 44 20 42 2C 26 46 37 ode 0...LD B,&F7
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 3B 38 32 35 35 20 43 6F 6E 74 72 6F 6C 20 70 6F ;8255 Control po
000190: 72 74 0D 4C 44 20 41 2C 25 31 30 30 31 31 30 30 rt.LD A,%1001100
0001A0: 31 20 20 20 20 20 20 20 20 20 20 3B 43 6F 6E 66 1 ;Conf
0001B0: 69 67 75 72 61 74 69 6F 6E 20 66 75 6E 63 74 69 iguration functi
0001C0: 6F 6E 0D 4F 55 54 20 28 43 29 2C 41 20 20 20 20 on.OUT (C),A
0001D0: 20 20 20 20 20 20 20 20 20 20 20 3B 53 65 6E 64 ;Send
0001E0: 20 69 74 20 74 6F 20 38 32 35 35 0D 52 45 54 0D it to 8255.RET.
0001F0: 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D .===============
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000010: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000030: 3D 3D 3D 3D 3D 3D 3D 0D 0D 32 29 20 55 73 69 6E =======..2) Usin
000040: 67 20 70 6F 72 74 20 41 2F 42 2F 43 2C 0D 0D 49 g port A/B/C,..I
000050: 6E 20 74 68 69 73 20 65 78 61 6D 70 6C 65 2C 20 n this example,
000060: 70 6F 72 74 20 41 20 69 73 20 73 65 74 20 74 6F port A is set to
000070: 20 20 6F 75 74 70 75 74 2C 20 70 6F 72 74 20 42 output, port B
000080: 20 69 73 20 73 65 74 20 74 6F 20 69 6E 70 75 74 is set to input
000090: 2C 20 61 6E 64 0D 70 6F 72 74 20 43 20 69 73 20 , and.port C is
0000A0: 73 65 74 20 74 6F 20 6F 75 74 70 75 74 2C 20 61 set to output, a
0000B0: 6E 64 20 74 68 65 79 20 61 72 65 20 61 6C 6C 20 nd they are all
0000C0: 6F 70 65 72 61 74 69 6E 67 20 69 6E 20 6D 6F 64 operating in mod
0000D0: 65 20 30 2E 0D 0D 57 65 20 77 69 6C 6C 20 6F 6E e 0...We will on
0000E0: 6C 79 20 62 65 20 75 73 69 6E 67 20 70 6F 72 74 ly be using port
0000F0: 20 41 20 66 6F 72 20 74 68 65 73 65 20 65 78 61 A for these exa
000100: 6D 70 6C 65 73 2E 0D 0D 61 29 20 52 65 61 64 69 mples...a) Readi
000110: 6E 67 20 66 72 6F 6D 20 70 6F 72 74 20 41 2C 0D ng from port A,.
000120: 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000130: 20 20 20 20 20 20 20 20 20 3B 53 65 74 20 70 6F ;Set po
000140: 72 74 20 41 20 74 6F 20 69 6E 70 75 74 0D 0D 4C rt A to input..L
000150: 44 20 42 2C 26 46 37 20 20 20 20 20 20 20 20 20 D B,&F7
000160: 20 20 20 20 20 20 20 3B 38 32 35 35 20 43 6F 6E ;8255 Con
000170: 74 72 6F 6C 20 70 6F 72 74 0D 4C 44 20 41 2C 25 trol port.LD A,%
000180: 31 30 30 31 30 30 31 30 20 20 20 20 20 20 20 20 10010010
000190: 20 20 3B 43 6F 6E 66 69 67 75 72 61 74 69 6F 6E ;Configuration
0001A0: 20 66 75 6E 63 74 69 6F 6E 0D 4F 55 54 20 28 43 function.OUT (C
0001B0: 29 2C 41 20 20 20 20 20 20 20 20 20 20 20 20 20 ),A
0001C0: 20 20 3B 53 65 6E 64 20 74 6F 20 38 32 35 35 0D ;Send to 8255.
0001D0: 0D 4C 44 20 42 2C 26 46 34 20 20 20 20 20 20 20 .LD B,&F4
0001E0: 20 20 20 20 20 20 20 20 20 3B 50 6F 72 74 20 41 ;Port A
0001F0: 20 70 6F 72 74 20 61 64 64 72 65 73 73 0D 49 4E port address.IN
Size : 512 (Real : 512)
000000: 1B 40 45 72 72 6F 72 20 63 6F 64 65 73 3A 0D 0D .@Error codes:..
000010: 49 66 20 62 69 74 20 36 20 3D 20 30 20 74 68 65 If bit 6 = 0 the
000020: 6E 20 74 68 65 20 65 72 72 6F 72 20 6E 75 6D 62 n the error numb
000030: 65 72 73 20 61 72 65 20 61 73 20 66 6F 6C 6C 6F ers are as follo
000040: 77 73 3A 0D 0D 26 30 45 20 20 20 20 20 46 69 6C ws:..&0E Fil
000050: 65 20 69 73 20 6E 6F 74 20 6F 70 65 6E 20 61 73 e is not open as
000060: 20 65 78 70 65 63 74 65 64 0D 26 30 46 20 20 20 expected.&0F
000070: 20 20 48 61 72 64 20 65 6E 64 20 6F 66 20 66 69 Hard end of fi
000080: 6C 65 0D 0D 26 31 30 20 20 20 20 20 42 61 64 20 le..&10 Bad
000090: 63 6F 6D 6D 61 6E 64 20 28 69 6E 63 6F 72 72 65 command (incorre
0000A0: 63 74 20 66 69 6C 65 6E 61 6D 65 3F 29 0D 26 31 ct filename?).&1
0000B0: 31 20 20 20 20 20 46 69 6C 65 20 65 78 69 73 74 1 File exist
0000C0: 73 2E 0D 26 31 32 20 20 20 20 20 46 69 6C 65 20 s..&12 File
0000D0: 64 6F 65 73 6E 27 74 20 65 78 69 73 74 2E 0D 26 doesn't exist..&
0000E0: 31 33 20 20 20 20 20 44 69 72 65 63 74 6F 72 79 13 Directory
0000F0: 20 66 75 6C 6C 0D 26 31 34 20 20 20 20 20 44 69 full.&14 Di
000100: 73 63 20 69 73 20 66 75 6C 6C 2E 0D 26 31 35 20 sc is full..&15
000110: 20 20 20 20 44 69 73 63 20 68 61 73 20 62 65 65 Disc has bee
000120: 6E 20 63 68 61 6E 67 65 64 20 77 69 74 68 20 66 n changed with f
000130: 69 6C 65 73 20 6F 70 65 6E 2E 0D 26 31 36 20 20 iles open..&16
000140: 20 20 20 46 69 6C 65 20 69 73 20 72 65 61 64 2D File is read-
000150: 6F 6E 6C 79 0D 0D 26 31 41 20 20 20 20 20 53 6F only..&1A So
000160: 66 74 20 65 6E 64 20 6F 66 20 66 69 6C 65 0D 0D ft end of file..
000170: 26 30 30 20 20 20 20 20 55 73 65 72 20 68 61 73 &00 User has
000180: 20 68 69 74 20 65 73 63 61 70 65 0D 0D 49 66 20 hit escape..If
000190: 62 69 74 20 36 20 3D 20 31 20 74 68 65 6E 20 74 bit 6 = 1 then t
0001A0: 68 65 20 65 72 72 6F 72 20 69 73 20 61 73 20 66 he error is as f
0001B0: 6F 6C 6C 6F 77 73 3A 0D 0D 42 69 74 20 35 20 20 ollows:..Bit 5
0001C0: 20 44 61 74 61 20 45 72 72 6F 72 20 20 20 20 20 Data Error
0001D0: 20 28 64 61 74 61 20 63 6F 72 72 75 70 74 69 6F (data corruptio
0001E0: 6E 20 6F 6E 20 64 69 73 63 29 0D 42 69 74 20 34 n on disc).Bit 4
0001F0: 20 20 20 4F 76 65 72 72 75 6E 20 45 72 72 6F 72 Overrun Error
Size : 512 (Real : 512)
000000: 20 45 2C 28 43 29 20 20 20 20 20 20 20 20 20 20 E,(C)
000010: 20 20 20 20 20 20 3B 47 65 74 20 62 79 74 65 20 ;Get byte
000020: 66 72 6F 6D 20 70 6F 72 74 0D 0D 20 20 20 20 20 from port..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 3B 52 65 67 69 73 74 65 72 20 45 20 68 ;Register E h
000050: 6F 6C 64 73 20 76 61 6C 75 65 20 66 72 6F 6D 20 olds value from
000060: 70 6F 72 74 0D 0D 20 20 20 20 20 20 20 20 20 20 port..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 52 ;R
000080: 65 74 75 72 6E 20 70 6F 72 74 20 49 2F 4F 20 73 eturn port I/O s
000090: 74 61 74 75 73 20 61 6E 64 20 6F 70 65 72 61 74 tatus and operat
0000A0: 69 6E 67 20 6D 6F 64 65 73 0D 20 20 20 20 20 20 ing modes.
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 3B 74 6F 20 70 72 65 76 69 6F 75 73 20 73 ;to previous s
0000D0: 65 74 74 69 6E 67 73 2E 0D 0D 4C 44 20 42 2C 26 ettings...LD B,&
0000E0: 46 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 F7
0000F0: 20 20 3B 38 32 35 35 20 43 6F 6E 74 72 6F 6C 20 ;8255 Control
000100: 70 6F 72 74 0D 4C 44 20 41 2C 25 31 30 30 30 30 port.LD A,%10000
000110: 30 31 30 20 20 20 20 20 20 20 20 20 20 3B 43 6F 010 ;Co
000120: 6E 66 69 67 75 72 61 74 69 6F 6E 20 66 75 6E 63 nfiguration func
000130: 74 69 6F 6E 0D 4F 55 54 20 28 43 29 2C 41 20 20 tion.OUT (C),A
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 53 65 ;Se
000150: 6E 64 20 74 6F 20 38 32 35 35 0D 52 45 54 0D 0D nd to 8255.RET..
000160: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000170: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000180: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000190: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001A0: 3D 3D 3D 3D 3D 3D 0D 0D 62 29 20 57 72 69 74 69 ======..b) Writi
0001B0: 6E 67 20 74 6F 20 70 6F 72 74 20 41 2C 0D 0D 20 ng to port A,..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 20 20 20 3B 53 65 74 20 70 6F 72 74 ;Set port
0001E0: 20 41 20 74 6F 20 6F 75 74 70 75 74 0D 0D 20 20 A to output..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 20 20 20 28 64 61 74 61 20 6E 6F 74 20 73 75 70 (data not sup
000010: 70 6C 69 65 64 20 74 6F 20 46 44 43 20 71 75 69 plied to FDC qui
000020: 63 6B 20 65 6E 6F 75 67 68 29 0D 42 69 74 20 33 ck enough).Bit 3
000030: 20 20 20 44 72 69 76 65 20 6E 6F 74 20 72 65 61 Drive not rea
000040: 64 79 20 28 64 69 73 63 20 6E 6F 74 20 69 6E 20 dy (disc not in
000050: 64 72 69 76 65 29 0D 42 69 74 20 32 20 20 20 4E drive).Bit 2 N
000060: 6F 20 64 61 74 61 20 28 73 65 63 74 6F 72 20 6E o data (sector n
000070: 6F 74 20 66 6F 75 6E 64 29 0D 42 69 74 20 31 20 ot found).Bit 1
000080: 20 20 6E 6F 74 20 77 72 69 74 61 62 6C 65 20 20 not writable
000090: 20 20 28 64 69 73 63 20 69 73 20 77 72 69 74 65 (disc is write
0000A0: 20 70 72 6F 74 65 63 74 65 64 29 0D 62 69 74 20 protected).bit
0000B0: 30 20 20 20 61 64 64 72 65 73 73 20 6D 61 72 6B 0 address mark
0000C0: 20 6D 69 73 73 69 6E 67 20 28 63 61 6E 6E 6F 74 missing (cannot
0000D0: 20 64 65 74 65 72 6D 69 6E 65 20 74 68 65 20 66 determine the f
0000E0: 6F 72 6D 61 74 20 66 6F 72 20 74 68 65 20 64 61 ormat for the da
0000F0: 74 61 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 ta.
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 69 6E 20 74 68 65 20 73 65 63 74 6F 72 29 2E in the sector).
000120: 0D 0D 45 72 72 6F 72 20 73 74 61 74 75 73 20 62 ..Error status b
000130: 75 66 66 65 72 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D uffer.----------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 54 68 65 20 66 ---------..The f
000150: 69 72 73 74 20 76 61 6C 75 65 20 69 73 20 20 74 irst value is t
000160: 68 65 20 20 6E 75 6D 62 65 72 20 20 6F 66 20 20 he number of
000170: 62 79 74 65 73 20 20 72 65 63 69 65 76 65 64 20 bytes recieved
000180: 64 75 72 69 6E 67 20 74 68 65 20 72 65 73 75 6C during the resul
000190: 74 0D 70 68 61 73 65 20 6F 66 20 74 68 65 20 46 t.phase of the F
0001A0: 44 43 20 28 61 73 20 20 64 65 73 63 72 69 62 65 DC (as describe
0001B0: 64 20 20 65 6C 73 65 77 68 65 72 65 29 20 64 69 d elsewhere) di
0001C0: 73 63 20 63 6F 6E 74 72 6F 6C 6C 65 72 2C 20 74 sc controller, t
0001D0: 68 6F 73 65 0D 66 6F 6C 6C 6F 77 69 6E 67 20 61 hose.following a
0001E0: 72 65 20 74 68 65 20 62 79 74 65 73 20 72 65 63 re the bytes rec
0001F0: 69 65 76 65 64 2E 20 28 46 6F 72 20 61 20 66 75 ieved. (For a fu
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 3B 28 4E 6F 74 65 20 74 68 65 ;(Note the
000010: 20 6E 65 78 74 20 66 65 77 20 6C 69 6E 65 73 20 next few lines
000020: 61 72 65 20 6E 6F 74 20 6E 65 63 65 73 73 61 72 are not necessar
000030: 79 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y.
000040: 20 20 20 20 20 20 20 20 20 20 3B 61 73 20 70 6F ;as po
000050: 72 74 20 41 20 69 73 20 61 6C 72 65 61 64 79 20 rt A is already
000060: 61 63 74 69 6E 67 20 61 73 20 6F 75 74 70 75 74 acting as output
000070: 2C 20 68 6F 77 65 76 65 72 0D 20 20 20 20 20 20 , however.
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 3B 69 74 20 69 73 20 67 69 76 65 6E 20 68 ;it is given h
0000A0: 65 72 65 20 6A 75 73 74 20 74 6F 20 6D 61 6B 65 ere just to make
0000B0: 20 74 68 65 20 65 78 61 6D 70 6C 65 0D 20 20 20 the example.
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 3B 6D 6F 72 65 20 75 6E 64 65 72 ;more under
0000E0: 73 74 61 6E 64 61 62 6C 65 29 0D 0D 4C 44 20 42 standable)..LD B
0000F0: 2C 26 46 37 20 20 20 20 20 20 20 20 20 20 20 20 ,&F7
000100: 20 20 20 20 3B 38 32 35 35 20 43 6F 6E 74 72 6F ;8255 Contro
000110: 6C 20 70 6F 72 74 0D 4C 44 20 41 2C 25 31 30 30 l port.LD A,%100
000120: 30 30 30 31 30 20 20 20 20 20 20 20 20 20 20 3B 00010 ;
000130: 43 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 66 75 Configuration fu
000140: 6E 63 74 69 6F 6E 0D 4F 55 54 20 28 43 29 2C 41 nction.OUT (C),A
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B ;
000160: 53 65 6E 64 20 74 6F 20 38 32 35 35 0D 0D 4C 44 Send to 8255..LD
000170: 20 42 2C 26 46 34 20 20 20 20 20 20 20 20 20 20 B,&F4
000180: 20 20 20 20 20 20 3B 70 6F 72 74 20 41 20 70 6F ;port A po
000190: 72 74 20 61 64 64 72 65 73 73 0D 0D 20 20 20 20 rt address..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 20 3B 52 65 67 69 73 74 65 72 20 45 20 ;Register E
0001C0: 68 6F 6C 64 73 20 76 61 6C 75 65 20 74 6F 20 70 holds value to p
0001D0: 75 74 20 69 6E 74 6F 20 70 6F 72 74 0D 0D 4C 44 ut into port..LD
0001E0: 20 45 2C 26 46 46 20 20 20 20 20 20 20 20 20 20 E,&FF
0001F0: 20 20 20 20 20 20 3B 44 61 74 61 20 74 6F 20 70 ;Data to p
Size : 512 (Real : 512)
000000: 6C 6C 20 64 65 73 63 72 69 70 74 69 6F 6E 20 73 ll description s
000010: 65 65 20 6E 6F 74 65 73 20 6F 6E 0D 46 44 43 29 ee notes on.FDC)
000020: 2E 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ...-------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 42 49 4F 53 3A 20 --------..BIOS:
000070: 53 45 54 20 4D 45 53 53 41 47 45 20 2D 20 53 65 SET MESSAGE - Se
000080: 74 20 6D 65 73 73 61 67 65 73 20 74 6F 20 62 65 t messages to be
000090: 20 64 69 73 70 6C 61 79 65 64 20 6F 72 20 6E 6F displayed or no
0000A0: 74 2E 0D 0D 45 6E 74 72 79 3A 0D 0D 49 66 20 6D t...Entry:..If m
0000B0: 65 73 73 61 67 65 73 20 61 72 65 20 74 6F 20 62 essages are to b
0000C0: 65 20 65 6E 61 62 6C 65 64 3A 0D 0D 41 20 3D 20 e enabled:..A =
0000D0: 26 30 0D 0D 49 66 20 6D 65 73 73 61 67 65 73 20 &0..If messages
0000E0: 64 69 73 61 62 6C 65 64 3A 0D 0D 41 20 3D 20 26 disabled:..A = &
0000F0: 46 46 0D 0D 45 78 69 74 3A 0D 0D 41 20 3D 20 70 FF..Exit:..A = p
000100: 72 65 76 69 6F 75 73 20 73 74 61 74 65 0D 48 4C revious state.HL
000110: 20 61 6E 64 20 66 6C 61 67 73 20 63 6F 72 72 75 and flags corru
000120: 70 74 2E 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D pt...-----------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 42 49 4F 53 ----------..BIOS
000170: 3A 20 53 45 54 55 50 20 44 49 53 43 20 2D 20 53 : SETUP DISC - S
000180: 65 74 75 70 20 64 69 73 63 20 69 6E 66 6F 72 6D etup disc inform
000190: 61 74 69 6F 6E 0D 0D 45 6E 74 72 79 3A 0D 0D 48 ation..Entry:..H
0001A0: 4C 20 3D 20 61 64 64 72 65 73 73 20 6F 66 20 70 L = address of p
0001B0: 61 72 61 6D 65 74 65 72 20 62 6C 6F 63 6B 0D 0D arameter block..
0001C0: 45 78 69 74 3A 0D 0D 41 46 2C 42 43 2C 44 45 2C Exit:..AF,BC,DE,
0001D0: 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 4E 6F 74 HL corrupt...Not
0001E0: 65 73 3A 0D 0D 50 61 72 61 6D 65 74 65 72 20 62 es:..Parameter b
0001F0: 6C 6F 63 6B 3A 0D 0D 42 79 74 65 20 20 20 20 44 lock:..Byte D
Size : 512 (Real : 512)
000000: 75 74 20 69 6E 74 6F 20 70 6F 72 74 0D 4F 55 54 ut into port.OUT
000010: 20 28 43 29 2C 41 20 20 20 20 20 20 20 20 20 20 (C),A
000020: 20 20 20 20 20 3B 53 65 6E 64 20 74 6F 20 70 6F ;Send to po
000030: 72 74 20 41 0D 0D 20 20 20 20 20 20 20 20 20 20 rt A..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 52 ;R
000050: 65 74 75 72 6E 20 70 6F 72 74 20 49 2F 4F 20 73 eturn port I/O s
000060: 74 61 74 75 73 20 61 6E 64 20 6F 70 65 72 61 74 tatus and operat
000070: 69 6E 67 20 6D 6F 64 65 73 0D 20 20 20 20 20 20 ing modes.
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 3B 74 6F 20 70 72 65 76 69 6F 75 73 20 73 ;to previous s
0000A0: 65 74 74 69 6E 67 73 2E 0D 0D 4C 44 20 42 2C 26 ettings...LD B,&
0000B0: 46 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 F7
0000C0: 20 20 3B 38 32 35 35 20 43 6F 6E 74 72 6F 6C 20 ;8255 Control
0000D0: 70 6F 72 74 0D 4C 44 20 41 2C 25 31 30 30 30 30 port.LD A,%10000
0000E0: 30 31 30 20 20 20 20 20 20 20 20 20 20 3B 43 6F 010 ;Co
0000F0: 6E 66 69 67 75 72 61 74 69 6F 6E 20 66 75 6E 63 nfiguration func
000100: 74 69 6F 6E 0D 4F 55 54 20 28 43 29 2C 41 0D 52 tion.OUT (C),A.R
000110: 45 54 0D 0D 1A 75 72 70 6F 73 65 20 20 69 6E 70 ET...urpose inp
000120: 75 74 20 20 6F 75 74 70 75 74 20 20 63 68 69 70 ut output chip
000130: 2E 20 1A 31 30 30 30 30 30 31 30 09 09 3B 43 6F . .10000010..;Co
000140: 6E 66 69 67 75 72 61 74 69 6F 6E 20 66 75 6E 63 nfiguration func
000150: 74 69 6F 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A tio.............
000160: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000170: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000180: 20 20 20 20 20 20 3B 70 6F 72 74 20 41 20 70 6F ;port A po
000190: 72 74 20 61 64 64 72 65 73 73 0D 0D 20 20 20 20 rt address..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 20 3B 52 65 67 69 73 74 65 72 20 45 20 ;Register E
0001C0: 68 6F 6C 64 73 20 76 61 6C 75 65 20 74 6F 20 70 holds value to p
0001D0: 75 74 20 69 6E 74 6F 20 70 6F 72 74 0D 0D 4C 44 ut into port..LD
0001E0: 20 45 2C 26 46 46 20 20 20 20 20 20 20 20 20 20 E,&FF
0001F0: 20 20 20 20 20 20 3B 44 61 74 61 20 74 6F 20 70 ;Data to p
Size : 512 (Real : 512)
000000: 65 66 61 75 6C 74 20 20 20 20 20 20 20 20 20 46 efault F
000010: 75 6E 63 74 69 6F 6E 0D 0D 30 2C 31 20 20 20 20 unction..0,1
000020: 20 35 30 20 20 20 20 20 20 20 20 20 20 20 20 20 50
000030: 20 4D 6F 74 6F 72 20 6F 6E 20 74 69 6D 65 6F 75 Motor on timeou
000040: 74 20 28 32 30 20 6D 69 6C 6C 69 73 65 63 6F 6E t (20 millisecon
000050: 64 20 75 6E 69 74 73 29 0D 32 2C 33 20 20 20 20 d units).2,3
000060: 20 32 35 30 20 20 20 20 20 20 20 20 20 20 20 20 250
000070: 20 4D 6F 74 6F 72 20 6F 66 66 20 74 69 6D 65 6F Motor off timeo
000080: 75 74 20 28 32 30 20 6D 69 6C 6C 69 73 65 63 6F ut (20 milliseco
000090: 6E 64 20 75 6E 69 74 73 29 0D 34 20 20 20 20 20 nd units).4
0000A0: 20 20 31 37 35 20 20 20 20 20 20 20 20 20 20 20 175
0000B0: 20 20 57 72 69 74 65 20 6F 66 66 20 74 69 6D 65 Write off time
0000C0: 20 28 31 30 20 6D 69 63 72 6F 73 65 63 6F 6E 64 (10 microsecond
0000D0: 20 75 6E 69 74 73 29 0D 35 20 20 20 20 20 20 20 units).5
0000E0: 31 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 15
0000F0: 48 65 61 64 20 73 65 74 74 6C 65 20 74 69 6D 65 Head settle time
000100: 20 28 31 20 6D 69 6C 6C 69 73 65 63 6F 6E 64 20 (1 millisecond
000110: 75 6E 69 74 73 29 0D 36 20 20 20 20 20 20 20 31 units).6 1
000120: 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 2 S
000130: 74 65 70 20 72 61 74 65 20 74 69 6D 65 20 28 31 tep rate time (1
000140: 20 6D 69 6C 6C 69 73 65 63 6F 6E 64 20 75 6E 69 millisecond uni
000150: 74 73 29 0D 37 20 20 20 20 20 20 20 31 20 20 20 ts).7 1
000160: 20 20 20 20 20 20 20 20 20 20 20 20 7D 20 48 65 } He
000170: 61 64 20 75 6E 6C 6F 61 64 20 64 65 6C 61 79 20 ad unload delay
000180: 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D 38 20 |.8
000190: 20 20 20 20 20 20 31 20 20 20 20 20 20 20 20 20 1
0001A0: 20 20 20 20 20 20 7D 20 62 69 74 73 20 37 2D 31 } bits 7-1
0001B0: 20 2D 20 68 65 61 64 20 6C 6F 61 64 20 64 65 6C - head load del
0001C0: 61 79 20 20 20 20 7C 20 73 65 65 20 69 6E 66 6F ay | see info
0001D0: 20 6F 6E 20 46 44 43 0D 20 20 20 20 20 20 20 20 on FDC.
0001E0: 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1
0001F0: 62 69 74 20 20 20 20 30 20 2D 20 6E 6F 6E 2D 44 bit 0 - non-D
Size : 512 (Real : 512)
000000: 0D 4F 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 .Other flags cor
000010: 72 75 70 74 0D 0D 4E 6F 74 65 73 3A 0D 0D 46 6F rupt..Notes:..Fo
000020: 72 6D 61 74 20 68 65 61 64 65 72 20 64 61 74 61 rmat header data
000030: 3A 0D 0D 54 68 69 73 20 69 73 20 74 68 65 20 73 :..This is the s
000040: 61 6D 65 20 61 73 20 74 68 65 20 20 66 6F 72 6D ame as the form
000050: 61 74 20 20 64 61 74 61 20 20 73 65 6E 74 20 20 at data sent
000060: 74 6F 20 74 68 65 20 46 44 43 20 66 6F 72 20 69 to the FDC for i
000070: 74 73 20 66 6F 72 6D 61 74 0D 63 6F 6D 6D 61 6E ts format.comman
000080: 64 2E 20 54 68 65 20 66 6F 72 6D 61 74 20 68 65 d. The format he
000090: 61 64 65 72 20 64 61 74 61 20 20 63 6F 6E 73 69 ader data consi
0000A0: 73 74 73 20 20 6F 66 20 20 65 6E 74 72 69 65 73 sts of entries
0000B0: 20 20 6F 66 20 34 20 62 79 74 65 73 2E 20 41 6E of 4 bytes. An
0000C0: 0D 65 6E 74 72 79 20 69 73 20 6E 65 65 64 65 64 .entry is needed
0000D0: 20 70 65 72 20 73 65 63 74 6F 72 2E 0D 0D 45 61 per sector...Ea
0000E0: 63 68 20 65 6E 74 72 79 20 68 61 73 20 74 68 65 ch entry has the
0000F0: 20 66 6F 72 6D 3A 0D 0D 42 79 74 65 0D 0D 30 20 form:..Byte..0
000100: 20 20 20 20 20 20 20 74 72 61 63 6B 20 6E 75 6D track num
000110: 62 65 72 0D 31 20 20 20 20 20 20 20 20 68 65 61 ber.1 hea
000120: 64 20 6E 75 6D 62 65 72 20 28 73 69 64 65 29 0D d number (side).
000130: 32 20 20 20 20 20 20 20 20 73 65 63 74 6F 72 20 2 sector
000140: 6E 75 6D 62 65 72 0D 33 20 20 20 20 20 20 20 20 number.3
000150: 73 65 63 74 6F 72 20 73 69 7A 65 20 28 30 20 2D sector size (0 -
000160: 20 31 32 38 20 62 79 74 65 73 2C 20 31 20 2D 20 128 bytes, 1 -
000170: 32 35 36 20 62 79 74 65 73 2C 20 32 20 2D 20 35 256 bytes, 2 - 5
000180: 31 32 20 62 79 74 65 73 2C 20 65 74 63 29 0D 0D 12 bytes, etc)..
000190: 28 66 6F 72 20 73 70 65 63 69 61 6C 20 66 6F 72 (for special for
0001A0: 6D 61 74 73 20 69 74 20 69 73 20 6E 6F 74 20 20 mats it is not
0001B0: 6E 65 63 65 73 73 61 72 79 20 20 66 6F 72 20 20 necessary for
0001C0: 74 68 65 20 74 72 61 63 6B 20 6E 75 6D 62 65 72 the track number
0001D0: 20 74 6F 20 62 65 0D 74 68 65 20 73 61 6D 65 20 to be.the same
0001E0: 61 73 20 74 68 65 20 74 72 61 63 6B 20 20 74 68 as the track th
0001F0: 65 20 20 64 72 69 76 65 20 20 72 65 61 64 69 6E e drive readin
Size : 512 (Real : 512)
000000: 4D 41 20 6D 6F 64 65 20 20 20 20 20 20 20 7C 20 MA mode |
000010: 53 50 45 43 49 46 59 20 63 6F 6D 6D 61 6E 64 0D SPECIFY command.
000020: 0D 54 68 65 20 70 72 6F 67 72 61 6D 6D 65 64 20 .The programmed
000030: 76 61 6C 75 65 73 20 61 72 65 20 75 73 65 64 20 values are used
000040: 66 6F 72 20 62 6F 74 68 20 64 72 69 76 65 73 2E for both drives.
000050: 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ..--------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 0D 0D 42 49 4F 53 3A 20 53 -------..BIOS: S
0000A0: 45 4C 45 43 54 20 46 4F 52 4D 41 54 20 2D 20 49 ELECT FORMAT - I
0000B0: 6E 69 74 69 6C 69 73 65 20 64 61 74 61 20 70 61 nitilise data pa
0000C0: 72 61 6D 65 74 65 72 73 20 66 6F 72 20 73 65 6C rameters for sel
0000D0: 65 63 74 65 64 20 66 6F 72 6D 61 74 0D 0D 45 6E ected format..En
0000E0: 74 72 79 3A 0D 0D 41 20 3D 20 26 34 31 2C 20 26 try:..A = &41, &
0000F0: 43 31 20 6F 72 20 26 30 31 0D 0D 26 34 31 20 2D C1 or &01..&41 -
000100: 20 53 79 73 74 65 6D 20 66 6F 72 6D 61 74 0D 26 System format.&
000110: 43 31 20 2D 20 44 61 74 61 20 66 6F 72 6D 61 74 C1 - Data format
000120: 0D 26 30 31 20 2D 20 49 42 4D 20 66 6F 72 6D 61 .&01 - IBM forma
000130: 74 0D 0D 45 20 3D 20 64 72 69 76 65 20 6E 75 6D t..E = drive num
000140: 62 65 72 20 28 41 20 3D 20 30 2C 20 42 20 3D 20 ber (A = 0, B =
000150: 31 29 0D 0D 45 78 69 74 3A 0D 0D 41 46 2C 42 43 1)..Exit:..AF,BC
000160: 2C 44 45 2C 48 4C 20 63 6F 72 72 75 70 74 2E 0D ,DE,HL corrupt..
000170: 0D 4E 6F 74 65 73 3A 0D 0D 42 79 74 65 73 20 30 .Notes:..Bytes 0
000180: 2D 32 31 20 61 72 65 20 72 65 73 65 74 20 74 6F -21 are reset to
000190: 20 74 68 65 20 20 76 61 6C 75 65 73 20 20 66 6F the values fo
0001A0: 72 20 65 61 63 68 20 70 61 72 74 69 63 75 6C 61 r each particula
0001B0: 72 20 66 6F 72 6D 61 74 2E 20 42 79 74 65 73 0D r format. Bytes.
0001C0: 32 32 2D 32 34 20 72 65 6D 61 69 6E 20 75 6E 74 22-24 remain unt
0001D0: 6F 75 63 68 65 64 2E 0D 0D 49 66 20 74 68 65 20 ouched...If the
0001E0: 75 73 65 72 20 77 61 6E 74 73 20 74 6F 20 75 73 user wants to us
0001F0: 65 20 61 20 73 70 65 63 69 61 6C 20 66 6F 72 6D e a special form
Size : 512 (Real : 512)
000000: 67 2F 77 72 69 74 69 6E 67 20 68 65 61 64 20 69 g/writing head i
000010: 73 20 6C 6F 63 61 74 65 64 20 6F 6E 2C 0D 61 6C s located on,.al
000020: 73 6F 20 79 6F 75 20 63 61 6E 20 68 61 76 65 20 so you can have
000030: 64 69 66 66 65 72 65 6E 74 20 73 65 63 74 6F 72 different sector
000040: 20 6E 75 6D 62 65 72 73 20 61 6E 64 20 68 65 61 numbers and hea
000050: 64 20 76 61 6C 75 65 73 29 2E 0D 0D 54 68 65 20 d values)...The
000060: 45 78 70 61 6E 64 65 64 20 64 69 73 63 20 70 61 Expanded disc pa
000070: 72 61 6D 65 74 65 72 20 62 6C 6F 63 6B 20 6D 75 rameter block mu
000080: 73 74 20 62 65 20 69 6E 69 74 69 61 6C 69 73 65 st be initialise
000090: 64 20 66 6F 72 20 74 68 65 20 72 65 71 75 69 72 d for the requir
0000A0: 65 64 0D 66 6F 72 6D 61 74 2E 0D 0D 2D 2D 2D 2D ed.format...----
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 0D 0D 42 49 4F 53 3A 20 4D 4F 56 45 20 54 --..BIOS: MOVE T
000100: 52 41 43 4B 20 2D 20 4D 6F 76 65 20 74 6F 20 73 RACK - Move to s
000110: 70 65 63 69 66 69 65 64 20 74 72 61 63 6B 0D 0D pecified track..
000120: 45 6E 74 72 79 3A 0D 0D 45 20 3D 20 64 72 69 76 Entry:..E = driv
000130: 65 20 6E 75 6D 62 65 72 0D 44 20 3D 20 74 72 61 e number.D = tra
000140: 63 6B 20 6E 75 6D 62 65 72 0D 0D 45 78 69 74 3A ck number..Exit:
000150: 0D 0D 49 66 20 6D 6F 76 65 64 20 4F 4B 3A 0D 0D ..If moved OK:..
000160: 43 61 72 72 79 20 74 72 75 65 2E 0D 41 20 3D 20 Carry true..A =
000170: 30 0D 48 4C 20 75 6E 63 68 61 6E 67 65 64 2E 0D 0.HL unchanged..
000180: 0D 49 66 20 6D 6F 76 65 20 66 61 69 6C 65 64 3A .If move failed:
000190: 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 2E 0D 41 ..Carry false..A
0001A0: 20 3D 20 65 72 72 6F 72 20 73 74 61 74 75 73 20 = error status
0001B0: 62 79 74 65 0D 48 4C 20 3D 20 61 64 64 72 65 73 byte.HL = addres
0001C0: 73 20 6F 66 20 65 72 72 6F 72 20 73 74 61 74 75 s of error statu
0001D0: 73 20 62 75 66 66 65 72 0D 0D 4F 74 68 65 72 20 s buffer..Other
0001E0: 66 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D flags corrupt...
0001F0: 4E 6F 74 65 73 3A 0D 0D 54 68 65 20 72 65 61 64 Notes:..The read
Size : 512 (Real : 512)
000000: 61 74 2C 20 74 68 65 79 20 6D 75 73 74 20 70 6F at, they must po
000010: 6B 65 20 69 6E 74 6F 20 74 68 65 0D 65 78 74 65 ke into the.exte
000020: 6E 64 65 64 20 64 69 73 63 20 70 61 72 61 6D 65 nded disc parame
000030: 74 65 72 20 62 6C 6F 63 6B 20 64 69 72 65 63 74 ter block direct
000040: 6C 79 2E 0D 0D 4D 61 6B 65 20 73 75 72 65 2C 20 ly...Make sure,
000050: 61 75 74 6F 20 73 65 6C 65 63 74 20 66 6F 72 6D auto select form
000060: 61 74 20 3D 20 4E 4F 2C 20 6F 74 68 65 72 77 69 at = NO, otherwi
000070: 73 65 2C 20 77 68 65 6E 20 61 20 6E 65 77 20 64 se, when a new d
000080: 69 73 63 20 69 73 20 70 75 74 0D 69 6E 20 61 6E isc is put.in an
000090: 64 20 6F 70 65 72 61 74 65 64 20 6F 6E 2C 20 74 d operated on, t
0000A0: 68 65 20 64 69 73 63 20 70 61 72 61 6D 65 74 65 he disc paramete
0000B0: 72 20 62 6C 6F 63 6B 20 77 69 6C 6C 20 63 68 61 r block will cha
0000C0: 6E 67 65 2E 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D nge...----------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 42 49 4F -----------..BIO
000110: 53 3A 20 52 45 41 44 20 53 45 43 54 4F 52 20 2D S: READ SECTOR -
000120: 20 52 65 61 64 20 61 20 73 65 63 74 6F 72 20 69 Read a sector i
000130: 6E 74 6F 20 6D 65 6D 6F 72 79 0D 0D 45 6E 74 72 nto memory..Entr
000140: 79 3A 0D 0D 48 4C 20 3D 20 61 64 64 72 65 73 73 y:..HL = address
000150: 20 74 6F 20 70 75 74 20 73 65 63 74 6F 72 20 64 to put sector d
000160: 61 74 61 0D 45 20 3D 20 64 72 69 76 65 20 6E 75 ata.E = drive nu
000170: 6D 62 65 72 20 28 30 2D 31 29 0D 44 20 3D 20 74 mber (0-1).D = t
000180: 72 61 63 6B 20 6E 75 6D 62 65 72 20 28 30 2D 34 rack number (0-4
000190: 32 29 0D 43 20 3D 20 73 65 63 74 6F 72 20 6E 75 2).C = sector nu
0001A0: 6D 62 65 72 20 28 61 6E 79 20 2D 20 64 65 70 65 mber (any - depe
0001B0: 6E 64 73 20 6F 6E 20 66 6F 72 6D 61 74 29 0D 0D nds on format)..
0001C0: 45 78 69 74 3A 0D 0D 49 66 20 73 65 63 74 6F 72 Exit:..If sector
0001D0: 20 72 65 61 64 20 4F 4B 3A 0D 0D 43 61 72 72 79 read OK:..Carry
0001E0: 20 74 72 75 65 2E 20 41 20 3D 20 30 2E 0D 0D 49 true. A = 0...I
0001F0: 66 20 66 61 69 6C 65 64 20 74 6F 20 72 65 61 64 f failed to read
Size : 512 (Real : 512)
000000: 2F 77 72 69 74 65 2F 66 6F 72 6D 61 74 20 20 72 /write/format r
000010: 6F 75 74 69 6E 65 73 20 20 6D 6F 76 65 20 20 61 outines move a
000020: 75 74 6F 6D 61 74 69 63 61 6C 6C 79 20 20 74 6F utomatically to
000030: 20 20 74 68 65 20 20 63 6F 72 72 65 63 74 0D 74 the correct.t
000040: 72 61 63 6B 2E 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D rack...---------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 42 -------------..B
000090: 49 4F 53 3A 20 47 45 54 20 44 52 20 53 54 41 54 IOS: GET DR STAT
0000A0: 55 53 20 2D 20 47 65 74 20 73 74 61 74 75 73 20 US - Get status
0000B0: 72 65 67 69 73 74 65 72 20 33 20 6F 66 20 75 50 register 3 of uP
0000C0: 44 37 36 35 41 20 64 69 73 63 20 63 6F 6E 74 72 D765A disc contr
0000D0: 6F 6C 6C 65 72 0D 0D 45 6E 74 72 79 3A 0D 0D 41 oller..Entry:..A
0000E0: 20 3D 20 64 72 69 76 65 20 6E 75 6D 62 65 72 0D = drive number.
0000F0: 0D 45 78 69 74 3A 0D 0D 49 66 20 63 61 72 72 79 .Exit:..If carry
000100: 20 74 72 75 65 3A 0D 0D 41 20 3D 20 64 72 69 76 true:..A = driv
000110: 65 20 73 74 61 74 75 73 20 62 79 74 65 20 61 73 e status byte as
000120: 20 62 65 6C 6F 77 20 28 53 74 61 74 75 73 20 72 below (Status r
000130: 65 67 69 73 74 65 72 20 33 20 6F 66 20 46 44 43 egister 3 of FDC
000140: 29 2E 0D 48 4C 20 75 6E 63 68 61 6E 67 65 64 2E )..HL unchanged.
000150: 0D 0D 49 66 20 63 61 72 72 79 20 66 61 6C 73 65 ..If carry false
000160: 3A 0D 0D 48 4C 20 3D 20 61 64 64 72 65 73 73 20 :..HL = address
000170: 6F 66 20 65 72 72 6F 72 20 20 73 74 61 74 75 73 of error status
000180: 20 20 62 75 66 66 65 72 2C 20 20 73 65 63 6F 6E buffer, secon
000190: 64 20 20 62 79 74 65 20 20 3D 20 73 74 61 74 75 d byte = statu
0001A0: 73 20 62 79 74 65 20 61 73 0D 62 65 6C 6F 77 0D s byte as.below.
0001B0: 41 20 63 6F 72 72 75 70 74 0D 0D 4F 74 68 65 72 A corrupt..Other
0001C0: 20 66 6C 61 67 73 20 63 6F 72 72 75 70 74 0D 0D flags corrupt..
0001D0: 4E 6F 74 65 73 3A 0D 0D 42 69 74 20 20 20 20 20 Notes:..Bit
0001E0: 46 75 6E 63 74 69 6F 6E 0D 0D 37 20 20 20 20 20 Function..7
0001F0: 20 20 75 6E 64 65 66 69 6E 65 64 0D 36 20 20 20 undefined.6
Size : 512 (Real : 512)
000000: 20 73 65 63 74 6F 72 20 63 6F 72 72 65 63 74 6C sector correctl
000010: 79 3A 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 2E y:..Carry false.
000020: 20 41 20 3D 20 65 72 72 6F 72 20 73 74 61 74 75 A = error statu
000030: 73 20 62 79 74 65 20 28 73 65 65 20 61 62 6F 76 s byte (see abov
000040: 65 29 0D 48 4C 20 3D 20 61 64 64 72 65 73 73 20 e).HL = address
000050: 6F 66 20 65 72 72 6F 72 20 73 74 61 74 75 73 20 of error status
000060: 62 75 66 66 65 72 20 28 73 65 65 20 61 62 6F 76 buffer (see abov
000070: 65 29 0D 0D 4F 74 68 65 72 20 66 6C 61 67 73 20 e)..Other flags
000080: 63 6F 72 72 75 70 74 2E 0D 0D 2D 2D 2D 2D 2D 2D corrupt...------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D ---------------.
0000D0: 42 49 4F 53 3A 20 57 52 49 54 45 20 53 45 43 54 BIOS: WRITE SECT
0000E0: 4F 52 20 2D 20 57 72 69 74 65 20 61 20 73 65 63 OR - Write a sec
0000F0: 74 6F 72 20 74 6F 20 64 69 73 63 0D 0D 45 6E 74 tor to disc..Ent
000100: 72 79 3A 0D 0D 48 4C 20 3D 20 61 64 64 72 65 73 ry:..HL = addres
000110: 73 20 74 6F 20 67 65 74 20 73 65 63 74 6F 72 20 s to get sector
000120: 64 61 74 61 20 66 72 6F 6D 0D 45 20 3D 20 64 72 data from.E = dr
000130: 69 76 65 20 6E 75 6D 62 65 72 20 28 41 20 3D 20 ive number (A =
000140: 30 2C 20 42 20 3D 20 31 29 0D 44 20 3D 20 74 72 0, B = 1).D = tr
000150: 61 63 6B 20 6E 75 6D 62 65 72 0D 43 20 3D 20 73 ack number.C = s
000160: 65 63 74 6F 72 20 6E 75 6D 62 65 72 0D 0D 45 78 ector number..Ex
000170: 69 74 3A 0D 0D 49 66 20 73 65 63 74 6F 72 20 77 it:..If sector w
000180: 72 69 74 74 65 6E 20 4F 4B 3A 0D 0D 43 61 72 72 ritten OK:..Carr
000190: 79 20 74 72 75 65 2E 0D 41 20 3D 20 30 0D 48 4C y true..A = 0.HL
0001A0: 20 75 6E 63 68 61 6E 67 65 64 2E 0D 0D 49 66 20 unchanged...If
0001B0: 73 65 63 74 6F 72 20 77 61 73 6E 27 74 20 77 72 sector wasn't wr
0001C0: 69 74 74 65 6E 20 63 6F 72 72 65 63 74 6C 79 3A itten correctly:
0001D0: 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 2E 0D 41 ..Carry false..A
0001E0: 20 3D 20 65 72 72 6F 72 20 62 79 74 65 20 20 20 = error byte
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 20 20 20 20 66 6C 61 67 20 20 74 6F 20 20 69 6E flag to in
000010: 64 69 63 61 74 65 20 20 69 66 20 20 64 72 69 76 dicate if driv
000020: 65 20 20 69 73 20 20 77 72 69 74 65 20 20 70 72 e is write pr
000030: 6F 74 65 63 74 65 64 20 20 28 31 3A 77 72 69 74 otected (1:writ
000040: 65 0D 20 20 20 20 20 20 20 20 70 72 6F 74 65 63 e. protec
000050: 74 65 64 29 0D 35 20 20 20 20 20 20 20 46 6C 61 ted).5 Fla
000060: 67 20 74 6F 20 69 6E 64 69 63 61 74 65 20 69 66 g to indicate if
000070: 20 64 72 69 76 65 20 72 65 61 64 79 20 28 31 3D drive ready (1=
000080: 72 65 61 64 79 29 0D 34 20 20 20 20 20 20 20 46 ready).4 F
000090: 6C 61 67 20 74 6F 20 69 6E 64 69 63 61 74 65 20 lag to indicate
0000A0: 69 66 20 68 65 61 64 20 69 73 20 6F 6E 20 74 72 if head is on tr
0000B0: 61 63 6B 20 30 20 28 31 3D 61 74 20 74 72 61 63 ack 0 (1=at trac
0000C0: 6B 20 30 29 0D 33 20 20 20 20 20 20 20 75 6E 64 k 0).3 und
0000D0: 65 66 69 6E 65 64 0D 32 20 20 20 20 20 20 20 68 efined.2 h
0000E0: 65 61 64 2F 73 69 64 65 20 28 30 29 0D 31 20 20 ead/side (0).1
0000F0: 20 20 20 20 20 30 0D 30 20 20 20 20 20 20 20 73 0.0 s
000100: 65 6C 65 63 74 65 64 20 64 72 69 76 65 20 28 41 elected drive (A
000110: 3D 30 2C 20 42 3D 31 29 0D 0D 49 66 20 61 6E 79 =0, B=1)..If any
000120: 20 6F 66 20 74 68 65 20 62 69 74 73 20 34 2D 36 of the bits 4-6
000130: 20 61 72 65 20 73 65 74 20 28 31 29 20 74 68 65 are set (1) the
000140: 6E 20 74 68 61 74 20 65 72 72 6F 72 20 20 68 61 n that error ha
000150: 73 20 6F 63 63 75 72 65 64 2E 0D 0D 2D 2D 2D 2D s occured...----
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 0D 0D 42 49 4F 53 3A 20 20 53 45 54 20 20 52 -..BIOS: SET R
0001B0: 45 54 52 59 20 20 20 43 4F 55 4E 54 20 20 20 2D ETRY COUNT -
0001C0: 20 20 20 53 65 74 20 20 20 74 68 65 20 20 20 6E Set the n
0001D0: 75 6D 62 65 72 20 20 20 6F 66 20 20 20 72 65 74 umber of ret
0001E0: 72 69 65 73 20 20 66 6F 72 0D 20 20 20 20 20 20 ries for.
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 20 20 20 28 73 65 65 20 61 62 6F 76 65 29 0D 48 (see above).H
000010: 4C 20 3D 20 61 64 64 72 65 73 73 20 6F 66 20 65 L = address of e
000020: 72 72 6F 72 20 73 74 61 74 75 73 20 62 75 66 66 rror status buff
000030: 65 72 0D 0D 4F 74 68 65 72 20 66 6C 61 67 73 20 er..Other flags
000040: 63 6F 72 72 75 70 74 2E 0D 0D 2D 2D 2D 2D 2D 2D corrupt...------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 0D 0D 42 49 4F 53 3A 20 46 4F 52 4D 41 54 20 54 ..BIOS: FORMAT T
0000A0: 52 41 43 4B 20 2D 20 20 46 6F 72 6D 61 74 20 20 RACK - Format
0000B0: 61 20 20 74 72 61 63 6B 20 20 28 69 6E 69 74 69 a track (initi
0000C0: 61 6C 69 73 65 20 20 61 20 20 74 72 61 63 6B 20 alise a track
0000D0: 66 6F 72 20 64 61 74 61 0D 20 20 20 20 20 20 20 for data.
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 s
0000F0: 74 6F 72 61 67 65 29 0D 0D 45 6E 74 72 79 3A 0D torage)..Entry:.
000100: 0D 48 4C 20 3D 20 61 64 64 72 65 73 73 20 6F 66 .HL = address of
000110: 20 66 6F 72 6D 61 74 20 68 65 61 64 65 72 20 64 format header d
000120: 61 74 61 0D 45 20 3D 20 64 72 69 76 65 20 6E 75 ata.E = drive nu
000130: 6D 62 65 72 0D 44 20 3D 20 74 72 61 63 6B 20 6E mber.D = track n
000140: 75 6D 62 65 72 0D 0D 45 78 69 74 20 63 6F 6E 64 umber..Exit cond
000150: 69 74 69 6F 6E 73 3A 0D 0D 49 66 20 74 72 61 63 itions:..If trac
000160: 6B 20 66 6F 72 6D 61 74 74 65 64 20 4F 4B 3A 0D k formatted OK:.
000170: 0D 43 61 72 72 79 20 74 72 75 65 2E 0D 41 20 3D .Carry true..A =
000180: 20 30 0D 48 4C 20 75 6E 63 68 61 6E 67 65 64 2E 0.HL unchanged.
000190: 2E 0D 0D 49 66 20 66 61 69 6C 65 64 20 74 6F 20 ...If failed to
0001A0: 66 6F 72 6D 61 74 20 74 72 61 63 6B 20 63 6F 72 format track cor
0001B0: 72 65 63 74 6C 79 3A 0D 0D 43 61 72 72 79 20 66 rectly:..Carry f
0001C0: 61 6C 73 65 2E 0D 41 20 3D 20 65 72 72 6F 72 20 alse..A = error
0001D0: 73 74 61 74 75 73 20 62 79 74 65 0D 48 4C 20 3D status byte.HL =
0001E0: 20 61 64 64 72 65 73 73 20 6F 66 20 65 72 72 6F address of erro
0001F0: 72 20 73 74 61 74 75 73 20 62 75 66 66 65 72 0D r status buffer.
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 72 65 61 64 2F 77 read/w
000010: 72 69 74 65 2F 66 6F 72 6D 61 74 20 63 6F 6D 6D rite/format comm
000020: 61 6E 64 73 0D 0D 45 6E 74 72 79 3A 0D 0D 41 20 ands..Entry:..A
000030: 3D 20 6E 65 77 20 76 61 6C 75 65 20 66 6F 72 20 = new value for
000040: 72 65 74 72 79 20 63 6F 75 6E 74 0D 0D 45 78 69 retry count..Exi
000050: 74 3A 0D 0D 41 20 3D 20 6F 6C 64 20 76 61 6C 75 t:..A = old valu
000060: 65 0D 48 4C 20 61 6E 64 20 66 6C 61 67 73 20 63 e.HL and flags c
000070: 6F 72 72 75 70 74 2E 0D 0D 4E 6F 74 65 73 3A 0D orrupt...Notes:.
000080: 0D 54 68 65 20 64 65 66 61 75 6C 74 20 76 61 6C .The default val
000090: 75 65 20 69 73 20 31 36 2E 0D 0D 2D 2D 2D 2D 2D ue is 16...-----
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 0D 0D 1A 20 62 69 74 20 36 20 3D 20 30 20 74 68 ... bit 6 = 0 th
0000F0: 65 6E 20 74 68 65 20 65 72 72 6F 72 20 6E 75 6D en the error num
000100: 62 65 72 73 20 61 72 65 20 61 73 20 66 6F 6C 6C bers are as foll
000110: 6F 77 73 3A 0D 0D 26 30 45 09 46 69 6C 65 20 69 ows:..&0E.File i
000120: 73 20 6E 6F 74 20 6F 70 65 6E 20 61 73 20 65 78 s not open as ex
000130: 70 65 63 74 65 64 0D 26 30 46 09 48 61 72 64 20 pected.&0F.Hard
000140: 65 6E 64 20 6F 66 20 66 69 6C 65 0D 0D 1A 6E 63 end of file...nc
000150: 74 69 6F 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A tio.............
000160: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000170: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 0D 0D 42 49 4F 53 3A 20 20 53 45 54 20 20 52 -..BIOS: SET R
0001B0: 45 54 52 59 20 20 20 43 4F 55 4E 54 20 20 20 2D ETRY COUNT -
0001C0: 20 20 20 53 65 74 20 20 20 74 68 65 20 20 20 6E Set the n
0001D0: 75 6D 62 65 72 20 20 20 6F 66 20 20 20 72 65 74 umber of ret
0001E0: 72 69 65 73 20 20 66 6F 72 0D 20 20 20 20 20 20 ries for.
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 74 65 20 0D 8A 65 72 72 6F 72 73 2E 0D 0D 0D 0D te ..errors.....
000010: 54 68 65 20 64 65 66 61 75 6C 74 20 68 61 6C 66 The default half
000020: 90 20 7A 65 72 6F 90 20 6C 65 6E 67 74 68 90 20 . zero. length.
000030: 61 6E 64 90 20 70 72 65 63 6F 6D 70 65 6E 73 61 and. precompensa
000040: 74 69 6F 6E 90 20 73 65 74 74 69 6E 67 73 20 61 tion. settings a
000050: 72 65 20 33 33 33 20 0D 8A 6D 69 63 72 6F 73 65 re 333 ..microse
000060: 63 6F 6E 64 73 20 28 31 30 30 30 20 62 61 75 64 conds (1000 baud
000070: 29 20 61 6E 64 20 32 35 20 6D 69 63 72 6F 73 65 ) and 25 microse
000080: 63 6F 6E 64 73 20 72 65 73 70 65 63 74 69 76 6C conds respectivl
000090: 79 2E 20 54 68 65 20 63 6F 6D 6D 6F 6E 6C 79 20 y. The commonly
0000A0: 0D 8A 75 73 65 64 90 20 66 61 73 74 65 72 90 20 ..used. faster.
0000B0: 73 65 74 74 69 6E 67 90 20 69 73 90 20 31 36 37 setting. is. 167
0000C0: 90 90 20 6D 69 63 72 6F 73 65 63 6F 6E 64 73 90 .. microseconds.
0000D0: 90 20 28 32 30 30 30 90 20 62 61 75 64 29 90 20 . (2000. baud).
0000E0: 77 69 74 68 90 20 35 30 20 0D 8A 6D 69 63 72 6F with. 50 ..micro
0000F0: 73 65 63 6F 6E 64 73 20 6F 66 20 70 72 65 63 6F seconds of preco
000100: 6D 70 65 6E 73 61 74 69 6F 6E 2E 90 20 54 68 65 mpensation.. The
000110: 73 65 90 20 76 61 6C 75 65 73 90 20 68 61 76 65 se. values. have
000120: 90 20 62 65 65 6E 20 64 65 74 65 72 6D 69 6E 65 . been determine
000130: 64 20 0D 8A 61 66 74 65 72 20 65 78 74 65 6E 73 d ..after extens
000140: 69 76 65 20 74 65 73 74 69 6E 67 20 61 6E 64 20 ive testing and
000150: 74 68 65 20 75 73 65 72 20 69 73 20 61 64 76 69 the user is advi
000160: 73 65 64 20 74 6F 20 73 74 69 63 6B 20 74 6F 20 sed to stick to
000170: 74 68 65 6D 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D them.....-------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D --------------..
0001C0: 26 42 43 36 42 20 2D 20 43 41 53 20 4E 4F 49 53 &BC6B - CAS NOIS
0001D0: 59 20 2D 20 41 6C 6C 6F 77 20 6D 65 73 73 61 67 Y - Allow messag
0001E0: 65 73 20 74 6F 20 62 65 20 70 72 69 6E 74 65 64 es to be printed
0001F0: 0D 0D 0D 0D 45 6E 74 72 79 3A 0D 0D 0D 0D 49 66 ....Entry:....If
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 20 6D 65 73 73 61 67 65 73 20 61 72 65 20 74 6F messages are to
000010: 20 62 65 20 65 6E 61 62 6C 65 64 3A 0D 0D 0D 0D be enabled:....
000020: 41 20 3D 20 30 0D 0D 0D 0D 49 66 20 6D 65 73 73 A = 0....If mess
000030: 61 67 65 73 20 61 72 65 20 74 6F 20 62 65 20 64 ages are to be d
000040: 69 73 61 62 6C 65 64 3A 0D 0D 0D 0D 41 20 3C 3E isabled:....A <>
000050: 20 30 0D 0D 0D 0D 45 78 69 74 3A 0D 0D 0D 0D 41 0....Exit:....A
000060: 46 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 4E 6F F corrupt.....No
000070: 74 65 73 3A 0D 0D 0D 0D 54 68 65 20 70 72 6F 6D tes:....The prom
000080: 70 74 20 6D 65 73 73 61 67 65 73 20 73 75 63 68 pt messages such
000090: 20 61 73 20 27 50 72 65 73 73 20 50 4C 41 59 90 as 'Press PLAY.
0000A0: 20 74 68 65 6E 20 61 6E 79 20 6B 65 79 22 20 61 then any key" a
0000B0: 72 65 20 74 75 72 6E 65 64 20 6F 66 66 2E 20 0D re turned off. .
0000C0: 8A 45 72 72 6F 72 20 6D 65 73 73 61 67 65 73 20 .Error messages
0000D0: 73 75 63 68 20 61 73 20 27 52 65 61 64 20 65 72 such as 'Read er
0000E0: 72 6F 72 20 61 27 20 65 74 63 20 61 72 65 20 6E ror a' etc are n
0000F0: 6F 74 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D ot.....---------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 26 42 ------------..&B
000140: 43 36 45 20 2D 20 43 41 53 20 53 54 41 52 54 20 C6E - CAS START
000150: 4D 4F 54 4F 52 20 2D 20 53 74 61 72 74 20 63 61 MOTOR - Start ca
000160: 73 73 65 74 74 65 20 6D 6F 74 6F 72 2E 0D 0D 0D ssette motor....
000170: 0D 45 6E 74 72 79 3A 0D 0D 0D 0D 4E 6F 6E 65 0D .Entry:....None.
000180: 0D 0D 0D 45 78 69 74 3A 0D 0D 0D 0D 49 66 20 74 ...Exit:....If t
000190: 68 65 20 6D 6F 74 6F 72 20 74 75 72 6E 65 64 20 he motor turned
0001A0: 6F 6E 20 4F 4B 3A 0D 0D 0D 0D 43 61 72 72 79 20 on OK:....Carry
0001B0: 74 72 75 65 2E 0D 0D 0D 0D 49 66 20 74 68 65 20 true.....If the
0001C0: 75 73 65 72 20 68 69 74 20 65 73 63 61 70 65 3A user hit escape:
0001D0: 0D 0D 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 2E ....Carry false.
0001E0: 0D 0D 0D 0D 41 20 3D 20 70 72 65 76 69 6F 75 73 ....A = previous
0001F0: 20 6D 6F 74 6F 72 20 73 74 61 74 65 0D 0D 4F 74 motor state..Ot
Size : 512 (Real : 512)
000000: 00 43 41 53 20 20 20 20 20 20 20 20 00 00 00 00 .CAS ....
000010: 00 00 0D 00 00 72 01 00 0D 39 00 00 00 00 00 00 .....r...9......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 0D 39 00 DA 02 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 1A .9...--------...
000050: 24 24 FF 00 FF 00 00 0D 00 00 72 01 00 91 37 00 $$........r...7.
000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000080: 26 42 43 36 35 20 2D 20 43 41 53 20 49 4E 49 54 &BC65 - CAS INIT
000090: 49 41 4C 49 53 45 20 2D 20 49 6E 69 74 69 61 6C IALISE - Initial
0000A0: 69 73 65 20 74 68 65 20 63 61 73 73 65 74 74 65 ise the cassette
0000B0: 20 6D 61 6E 61 67 65 72 0D 0D 0D 0D 45 6E 74 72 manager....Entr
0000C0: 79 3A 0D 0D 0D 0D 4E 6F 6E 65 0D 0D 0D 0D 45 78 y:....None....Ex
0000D0: 69 74 3A 0D 0D 0D 0D 41 46 2C 42 43 2C 44 45 2C it:....AF,BC,DE,
0000E0: 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 4E HL corrupt.....N
0000F0: 6F 74 65 73 3A 0D 0D 0D 0D 41 6C 6C 20 73 74 72 otes:....All str
000100: 65 61 6D 73 20 61 72 65 20 6D 61 72 6B 65 64 20 eams are marked
000110: 63 6C 6F 73 65 64 2E 0D 0D 54 68 65 20 64 65 66 closed...The def
000120: 61 75 6C 74 20 77 72 69 74 65 20 73 70 65 65 64 ault write speed
000130: 20 69 73 20 73 65 74 20 75 70 2E 0D 0D 54 68 65 is set up...The
000140: 20 70 72 6F 6D 70 74 20 6D 65 73 73 61 67 65 73 prompt messages
000150: 20 61 72 65 20 74 75 72 6E 65 64 20 6F 6E 2E 0D are turned on..
000160: 0D 54 68 65 20 63 61 73 73 65 74 74 65 20 6D 6F .The cassette mo
000170: 74 6F 72 20 69 73 20 74 75 72 6E 65 64 20 6F 66 tor is turned of
000180: 66 20 28 65 78 63 65 70 74 20 6F 6E 20 56 31 2E f (except on V1.
000190: 30 29 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0)....----------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 26 42 43 -----------..&BC
0001E0: 36 38 20 2D 20 43 41 53 20 53 45 54 20 53 50 45 68 - CAS SET SPE
0001F0: 45 44 20 2D 20 53 65 74 20 74 68 65 20 77 72 69 ED - Set the wri
Size : 512 (Real : 512)
000000: 68 65 72 20 66 6C 61 67 73 20 63 6F 72 72 75 70 her flags corrup
000010: 74 2E 0D 0D 0D 0D 4E 6F 74 65 73 3A 0D 0D 0D 0D t.....Notes:....
000020: 54 68 65 20 70 72 65 76 69 6F 75 73 20 73 74 61 The previous sta
000030: 74 65 20 6D 61 79 20 62 65 20 73 65 6E 74 20 74 te may be sent t
000040: 6F 20 43 41 53 20 52 45 53 54 4F 52 45 20 4D 4F o CAS RESTORE MO
000050: 54 4F 52 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D TOR.....--------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 0D 0D ------------....
0000A0: 26 42 43 37 31 20 2D 20 43 41 53 20 53 54 4F 50 &BC71 - CAS STOP
0000B0: 20 4D 4F 54 4F 52 20 2D 20 53 74 6F 70 20 63 61 MOTOR - Stop ca
0000C0: 73 73 65 74 74 65 20 6D 6F 74 6F 72 2E 20 0D 0D ssette motor. ..
0000D0: 0D 0D 45 6E 74 72 79 3A 0D 0D 0D 0D 4E 6F 6E 65 ..Entry:....None
0000E0: 0D 0D 0D 0D 45 78 69 74 3A 0D 0D 0D 0D 49 66 20 ....Exit:....If
0000F0: 6D 6F 74 6F 72 20 77 61 73 20 74 75 72 6E 65 64 motor was turned
000100: 20 6F 66 66 20 4F 4B 3A 0D 0D 0D 0D 43 61 72 72 off OK:....Carr
000110: 79 20 74 72 75 65 2E 0D 0D 0D 0D 49 66 20 74 68 y true.....If th
000120: 65 20 75 73 65 72 20 68 69 74 20 65 73 63 61 70 e user hit escap
000130: 65 3A 0D 0D 0D 0D 43 61 72 72 79 20 66 61 6C 73 e:....Carry fals
000140: 65 0D 0D 0D 0D 41 20 3D 20 70 72 65 76 69 6F 75 e....A = previou
000150: 73 20 73 74 61 74 65 0D 0D 4F 74 68 65 72 20 66 s state..Other f
000160: 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 0D lags corrupt....
000170: 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D .---------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 0D 0D 0D 0D 26 42 43 37 34 20 ------....&BC74
0001C0: 2D 20 43 41 53 20 52 45 53 54 4F 52 45 20 4D 4F - CAS RESTORE MO
0001D0: 54 4F 52 20 2D 20 52 65 73 74 6F 72 65 20 70 72 TOR - Restore pr
0001E0: 65 76 69 6F 75 73 20 73 74 61 74 65 20 6F 66 20 evious state of
0001F0: 6D 6F 74 6F 72 0D 0D 0D 0D 45 6E 74 72 79 3A 0D motor....Entry:.
Size : 512 (Real : 512)
000000: 74 65 20 73 70 65 65 64 0D 0D 0D 0D 45 6E 74 72 te speed....Entr
000010: 79 3A 0D 0D 0D 0D 48 4C 20 3D 20 6C 65 6E 67 74 y:....HL = lengt
000020: 68 20 6F 66 20 68 61 6C 66 20 61 20 7A 65 72 6F h of half a zero
000030: 20 62 69 74 0D 0D 41 20 3D 20 70 72 65 63 6F 6D bit..A = precom
000040: 70 65 6E 73 61 74 69 6F 6E 20 74 6F 20 61 70 70 pensation to app
000050: 6C 79 0D 0D 0D 0D 45 78 69 74 3A 0D 0D 0D 0D 41 ly....Exit:....A
000060: 46 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 F and HL corrupt
000070: 2E 0D 0D 0D 0D 4E 6F 74 65 73 3A 0D 0D 0D 0D 54 .....Notes:....T
000080: 68 65 20 73 70 65 65 64 20 73 75 70 70 6C 69 65 he speed supplie
000090: 64 20 69 73 20 74 68 65 20 6C 65 6E 67 74 68 20 d is the length
0000A0: 6F 66 20 61 20 68 61 6C 66 20 7A 65 72 6F 20 62 of a half zero b
0000B0: 69 74 20 69 6E 20 6D 69 72 63 6F 73 65 63 6F 6E it in mircosecon
0000C0: 64 73 2E 20 41 20 0D 8A 6F 6E 65 20 62 69 74 20 ds. A ..one bit
0000D0: 69 73 20 77 72 69 74 74 65 6E 20 74 77 69 63 65 is written twice
0000E0: 20 74 68 65 20 6C 65 6E 67 74 68 90 20 6F 66 20 the length. of
0000F0: 61 20 7A 65 72 6F 20 62 69 74 2E 20 54 68 65 20 a zero bit. The
000100: 73 70 65 65 64 20 73 75 70 70 6C 69 65 64 20 0D speed supplied .
000110: 8A 63 61 6E 20 62 65 20 72 65 6C 61 74 65 64 20 .can be related
000120: 74 6F 20 74 68 65 90 20 61 76 65 72 61 67 65 90 to the. average.
000130: 20 62 61 75 64 90 20 72 61 74 65 90 20 28 61 73 baud. rate. (as
000140: 73 75 6D 69 6E 67 20 65 71 75 61 6C 20 6E 75 6D suming equal num
000150: 62 65 72 73 20 6F 66 20 0D 8A 6F 6E 65 73 20 61 bers of ..ones a
000160: 6E 64 20 7A 65 72 6F 73 29 20 62 79 20 74 68 65 nd zeros) by the
000170: 20 66 6F 6C 6C 6F 77 69 6E 67 20 65 71 75 61 74 following equat
000180: 69 6F 6E 73 3A 0D 0D 0D 0D 41 76 65 72 61 67 65 ions:....Average
000190: 20 62 61 75 64 20 72 61 74 65 3A 0D 0D 0D 0D 3D baud rate:....=
0001A0: 20 31 20 30 30 30 20 30 30 30 2F 28 33 2A 68 61 1 000 000/(3*ha
0001B0: 6C 66 20 7A 65 72 6F 20 6C 65 6E 67 74 68 29 0D lf zero length).
0001C0: 0D 3D 20 33 33 33 20 33 33 33 2F 48 61 6C 66 20 .= 333 333/Half
0001D0: 7A 65 72 6F 20 6C 65 6E 67 74 68 0D 0D 0D 0D 54 zero length....T
0001E0: 68 65 20 68 61 6C 66 20 7A 65 72 6F 20 6C 65 6E he half zero len
0001F0: 67 74 68 20 6D 75 73 74 20 62 65 90 20 62 65 74 gth must be. bet
Size : 512 (Real : 512)
000000: 0D 0D 0D 41 20 3D 20 70 72 65 76 69 6F 75 73 20 ...A = previous
000010: 73 74 61 74 65 0D 0D 0D 0D 45 78 69 74 3A 0D 0D state....Exit:..
000020: 0D 0D 49 66 20 6D 6F 74 6F 72 20 73 65 74 20 61 ..If motor set a
000030: 73 20 61 70 70 72 6F 70 69 61 74 65 20 77 61 73 s appropiate was
000040: 20 4F 4B 3A 0D 0D 0D 0D 43 61 72 72 79 20 74 72 OK:....Carry tr
000050: 75 65 2E 0D 0D 0D 0D 45 73 63 61 70 65 20 77 61 ue.....Escape wa
000060: 73 20 70 72 65 73 73 65 64 3A 0D 0D 0D 0D 43 61 s pressed:....Ca
000070: 72 72 79 20 66 61 6C 73 65 2E 0D 0D 0D 0D 41 20 rry false.....A
000080: 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 73 20 and other flags
000090: 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 2D 2D 2D 2D corrupt.....----
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 0D 0D 0D 0D 26 42 43 37 37 20 2D 20 43 41 53 -....&BC77 - CAS
0000F0: 20 49 4E 20 4F 50 45 4E 20 2D 20 4F 70 65 6E 20 IN OPEN - Open
000100: 61 20 66 69 6C 65 20 66 6F 72 20 69 6E 70 75 74 a file for input
000110: 0D 0D 0D 0D 45 6E 74 72 79 3A 0D 0D 0D 0D 42 20 ....Entry:....B
000120: 3D 20 6C 65 6E 67 74 68 20 6F 66 20 66 69 6C 65 = length of file
000130: 6E 61 6D 65 0D 0D 48 4C 20 3D 20 61 64 64 72 65 name..HL = addre
000140: 73 73 20 6F 66 20 66 69 6C 65 6E 61 6D 65 0D 0D ss of filename..
000150: 44 45 20 3D 20 32 4B 20 62 75 66 66 65 72 20 74 DE = 2K buffer t
000160: 6F 20 75 73 65 0D 0D 0D 0D 45 78 69 74 3A 0D 0D o use....Exit:..
000170: 0D 0D 49 66 20 74 68 65 20 66 69 6C 65 20 77 61 ..If the file wa
000180: 73 20 6F 70 65 6E 65 64 20 4F 4B 3A 0D 0D 0D 0D s opened OK:....
000190: 43 61 72 72 79 20 74 72 75 65 2E 0D 0D 5A 65 72 Carry true...Zer
0001A0: 6F 20 66 61 6C 73 65 2E 0D 0D 48 4C 20 3D 20 61 o false...HL = a
0001B0: 64 64 72 65 73 73 20 6F 66 20 61 20 62 75 66 66 ddress of a buff
0001C0: 65 72 20 63 6F 6E 74 61 69 6E 69 6E 67 20 74 68 er containing th
0001D0: 65 20 66 69 6C 65 20 68 65 61 64 65 72 0D 0D 44 e file header..D
0001E0: 45 20 3D 20 64 61 74 61 20 6C 6F 63 61 74 69 6F E = data locatio
0001F0: 6E 20 28 66 72 6F 6D 20 68 65 61 64 65 72 29 0D n (from header).
Size : 512 (Real : 512)
000000: 77 65 65 6E 20 31 33 30 20 61 6E 64 20 34 38 30 ween 130 and 480
000010: 20 6D 69 63 72 6F 73 65 63 6F 6E 64 73 2E 20 56 microseconds. V
000020: 61 6C 75 65 73 20 0D 8A 6F 75 74 73 69 64 65 20 alues ..outside
000030: 74 68 65 73 65 20 76 61 6C 75 65 73 20 77 69 6C these values wil
000040: 6C 20 63 61 75 73 65 20 72 65 61 64 20 61 6E 64 l cause read and
000050: 20 77 72 69 74 65 20 65 72 72 6F 72 73 2E 0D 0D write errors...
000060: 0D 0D 54 68 65 20 70 72 65 63 6F 6D 70 65 6E 73 ..The precompens
000070: 61 74 69 6F 6E 20 73 75 70 70 6C 69 65 64 20 69 ation supplied i
000080: 73 20 74 68 65 90 20 65 78 74 72 61 20 6C 65 6E s the. extra len
000090: 67 74 68 2C 20 69 6E 20 6D 69 63 72 6F 73 65 63 gth, in microsec
0000A0: 6F 6E 64 73 2C 20 74 6F 20 0D 8A 61 64 64 20 74 onds, to ..add t
0000B0: 6F 20 68 61 6C 66 20 61 20 6F 6E 65 90 20 62 69 o half a one. bi
0000C0: 74 90 20 61 6E 64 90 20 74 6F 90 20 73 75 62 74 t. and. to. subt
0000D0: 72 61 63 74 90 20 66 72 6F 6D 90 20 68 61 6C 66 ract. from. half
0000E0: 20 61 20 7A 65 72 6F 20 62 69 74 20 75 6E 64 65 a zero bit unde
0000F0: 72 20 0D 8A 63 65 72 74 61 69 6E 20 63 6F 6E 64 r ..certain cond
000100: 69 74 69 6F 6E 73 2E 20 54 68 65 20 61 6D 6F 75 itions. The amou
000110: 6E 74 20 6F 66 20 70 72 65 63 6F 6D 70 65 6E 73 nt of precompens
000120: 61 74 69 6F 6E 20 72 65 71 75 69 72 65 64 20 76 ation required v
000130: 61 72 69 65 73 20 77 69 74 68 20 0D 8A 74 68 65 aries with ..the
000140: 20 73 70 65 65 64 20 28 6D 6F 72 65 20 69 73 20 speed (more is
000150: 72 65 71 75 69 72 65 64 20 61 74 20 68 69 67 68 required at high
000160: 65 72 20 62 61 75 64 20 72 61 74 65 73 29 2E 0D er baud rates)..
000170: 0D 0D 0D 54 68 65 20 70 72 65 63 6F 6D 70 65 6E ...The precompen
000180: 73 61 74 69 6F 6E 20 6D 61 79 20 6C 69 65 90 20 sation may lie.
000190: 62 65 74 77 65 65 6E 90 20 30 90 20 61 6E 64 20 between. 0. and
0001A0: 32 35 35 20 6D 69 63 72 6F 73 65 63 6F 6E 64 73 255 microseconds
0001B0: 20 61 6C 74 68 6F 75 67 68 20 0D 8A 74 68 65 20 although ..the
0001C0: 68 69 67 68 65 72 20 73 65 74 74 69 6E 67 73 20 higher settings
0001D0: 61 72 65 20 6E 6F 74 20 75 73 65 66 75 6C 90 20 are not useful.
0001E0: 61 73 90 20 74 68 65 79 20 77 69 6C 6C 20 63 61 as. they will ca
0001F0: 75 73 65 20 72 65 61 64 20 61 6E 64 20 77 72 69 use read and wri
Size : 512 (Real : 512)
000000: 0D 42 43 20 3D 20 6C 65 6E 67 74 68 20 6F 66 20 .BC = length of
000010: 66 69 6C 65 20 28 66 72 6F 6D 20 68 65 61 64 65 file (from heade
000020: 72 29 0D 0D 41 20 3D 20 66 69 6C 65 20 74 79 70 r)..A = file typ
000030: 65 0D 0D 0D 0D 49 66 20 73 74 72 65 61 6D 20 69 e....If stream i
000040: 73 20 69 6E 20 75 73 65 3A 0D 0D 0D 0D 43 61 72 s in use:....Car
000050: 72 79 20 66 61 6C 73 65 2E 0D 0D 5A 65 72 6F 20 ry false...Zero
000060: 66 61 6C 73 65 2E 0D 0D 42 43 2C 44 45 2C 48 4C false...BC,DE,HL
000070: 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 56 31 2E corrupt.....V1.
000080: 30 0D 0D 2D 2D 2D 2D 20 20 41 20 63 6F 72 72 75 0..---- A corru
000090: 70 74 2E 0D 0D 0D 0D 56 31 2E 31 0D 0D 2D 2D 2D pt.....V1.1..---
0000A0: 2D 20 20 41 20 3D 20 65 72 72 6F 72 20 6E 75 6D - A = error num
0000B0: 62 65 72 20 28 26 30 45 29 0D 0D 0D 0D 49 66 20 ber (&0E)....If
0000C0: 75 73 65 72 20 68 69 74 20 65 73 63 61 70 65 3A user hit escape:
0000D0: 0D 0D 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 2E ....Carry false.
0000E0: 0D 0D 5A 65 72 6F 20 74 72 75 65 2E 0D 0D 42 43 ..Zero true...BC
0000F0: 2C 44 45 2C 48 4C 20 63 6F 72 72 75 70 74 2E 0D ,DE,HL corrupt..
000100: 0D 0D 0D 56 31 2E 30 0D 0D 2D 2D 2D 2D 20 20 41 ...V1.0..---- A
000110: 20 63 6F 72 72 75 70 74 0D 0D 0D 0D 56 31 2E 31 corrupt....V1.1
000120: 0D 0D 2D 2D 2D 2D 20 20 41 20 3D 20 65 72 72 6F ..---- A = erro
000130: 72 20 6E 75 6D 62 65 72 20 28 26 30 30 29 0D 0D r number (&00)..
000140: 0D 0D 0D 0D 49 58 20 61 6E 64 20 6F 74 68 65 72 ....IX and other
000150: 20 66 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D flags corrupt..
000160: 0D 0D 0D 4E 6F 74 65 73 3A 0D 0D 0D 0D 54 68 65 ...Notes:....The
000170: 20 32 6B 20 62 75 66 66 65 72 20 73 75 70 70 6C 2k buffer suppl
000180: 69 65 64 20 69 73 20 75 73 65 64 20 74 6F 20 73 ied is used to s
000190: 74 6F 72 65 20 74 68 65 20 63 6F 6E 74 65 6E 74 tore the content
0001A0: 73 20 6F 66 20 61 20 62 6C 6F 63 6B 20 6F 66 20 s of a block of
0001B0: 74 68 65 20 0D 8A 66 69 6C 65 2E 20 49 74 20 77 the ..file. It w
0001C0: 69 6C 6C 20 72 65 6D 61 69 6E 90 20 69 6E 90 20 ill remain. in.
0001D0: 75 73 65 90 20 75 6E 74 69 6C 90 20 65 69 74 68 use. until. eith
0001E0: 65 72 90 20 43 41 53 90 20 49 4E 90 20 43 4C 4F er. CAS. IN. CLO
0001F0: 53 45 20 6F 72 20 43 41 53 20 49 4E 20 0D 8A 41 SE or CAS IN ..A
Size : 512 (Real : 512)
000000: 20 70 6F 73 73 69 62 6C 65 90 20 74 6F 20 64 69 possible. to di
000010: 72 65 63 74 20 0D 8A 72 65 61 64 69 6E 67 20 28 rect ..reading (
000020: 62 79 20 43 41 53 20 49 4E 20 44 49 52 45 43 54 by CAS IN DIRECT
000030: 29 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ).....----------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 8A 0D 0D 26 -----------....&
000080: 42 43 38 33 20 2D 20 43 41 53 20 49 4E 20 44 49 BC83 - CAS IN DI
000090: 52 45 43 54 20 2D 20 52 65 61 64 20 61 20 69 6E RECT - Read a in
0000A0: 70 75 74 20 66 69 6C 65 20 69 6E 74 6F 20 73 74 put file into st
0000B0: 6F 72 65 2E 0D 0D 0D 0D 45 6E 74 72 79 3A 0D 0D ore.....Entry:..
0000C0: 0D 0D 48 4C 20 3D 20 61 64 64 72 65 73 73 20 74 ..HL = address t
0000D0: 6F 20 70 75 74 20 74 68 65 20 66 69 6C 65 20 28 o put the file (
0000E0: 61 6E 79 77 68 65 72 65 20 69 6E 20 72 61 6D 29 anywhere in ram)
0000F0: 0D 0D 0D 0D 45 78 69 74 3A 0D 0D 0D 0D 49 66 20 ....Exit:....If
000100: 66 69 6C 65 20 77 61 73 20 72 65 61 64 20 4F 4B file was read OK
000110: 3A 0D 0D 0D 0D 43 61 72 72 79 20 74 72 75 65 2E :....Carry true.
000120: 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0D 48 4C Zero false...HL
000130: 20 3D 20 65 6E 74 72 79 20 61 64 64 72 65 73 73 = entry address
000140: 0D 0D 41 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D ..A corrupt.....
000150: 49 66 20 66 69 6C 65 20 77 61 73 20 6E 6F 74 20 If file was not
000160: 6F 70 65 6E 65 64 20 63 6F 72 72 65 63 74 6C 79 opened correctly
000170: 3A 0D 0D 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 :....Carry false
000180: 2E 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0D 48 . Zero false...H
000190: 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 56 31 L corrupt.....V1
0001A0: 2E 30 0D 0D 2D 2D 2D 2D 20 41 20 63 6F 72 72 75 .0..---- A corru
0001B0: 70 74 2E 0D 0D 0D 0D 56 31 2E 31 0D 0D 2D 2D 2D pt.....V1.1..---
0001C0: 2D 20 41 20 3D 20 65 72 72 6F 72 20 6E 75 6D 62 - A = error numb
0001D0: 65 72 20 28 26 30 45 29 0D 0D 0D 0D 49 66 20 75 er (&0E)....If u
0001E0: 73 65 72 20 68 69 74 20 65 73 63 61 70 65 3A 0D ser hit escape:.
0001F0: 0D 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 0D 0D ...Carry false..
Size : 512 (Real : 512)
000000: 42 41 4E 44 4F 4E 20 69 73 20 63 61 6C 6C 65 64 BANDON is called
000010: 2E 20 54 68 65 20 62 75 66 66 65 72 90 20 6D 61 . The buffer. ma
000020: 79 90 20 62 65 90 20 73 74 6F 72 65 64 90 20 61 y. be. stored. a
000030: 6E 79 77 68 65 72 65 2C 20 65 76 65 6E 20 75 6E nywhere, even un
000040: 64 65 72 20 61 20 0D 8A 52 4F 4D 2E 0D 0D 0D 0D der a ..ROM.....
000050: 41 20 66 69 6C 65 6E 61 6D 65 20 6F 66 20 30 20 A filename of 0
000060: 63 68 61 72 61 63 74 65 72 73 20 69 73 20 74 72 characters is tr
000070: 65 61 74 65 64 20 74 6F 20 6D 65 61 6E 2C 20 6C eated to mean, l
000080: 6F 61 64 20 74 68 65 20 6E 65 78 74 20 66 69 6C oad the next fil
000090: 65 20 66 72 6F 6D 20 0D 8A 63 61 73 73 65 74 74 e from ..cassett
0000A0: 65 2E 0D 0D 0D 0D 54 68 65 20 66 69 6C 65 6E 61 e.....The filena
0000B0: 6D 65 20 69 73 20 73 68 6F 72 74 65 6E 65 64 20 me is shortened
0000C0: 74 6F 90 20 31 36 90 20 63 68 61 72 61 63 74 65 to. 16. characte
0000D0: 72 73 90 20 69 66 90 20 69 74 20 69 73 20 6C 6F rs. if. it is lo
0000E0: 6E 67 65 72 20 74 68 61 6E 20 31 36 20 0D 8A 63 nger than 16 ..c
0000F0: 68 61 72 61 63 74 65 72 73 2E 49 66 20 69 74 20 haracters.If it
000100: 69 73 20 6C 65 73 73 20 74 68 61 6E 20 31 36 90 is less than 16.
000110: 20 63 68 61 72 61 63 74 65 72 73 90 20 69 74 20 characters. it
000120: 69 73 20 70 61 64 64 65 64 20 77 69 74 68 20 26 is padded with &
000130: 30 30 20 74 6F 20 0D 8A 31 36 20 63 68 61 72 61 00 to ..16 chara
000140: 63 74 65 72 73 2E 20 54 68 65 20 41 53 43 49 49 cters. The ASCII
000150: 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 characters are
000160: 74 75 72 6E 65 64 20 74 6F 20 75 70 70 65 72 20 turned to upper
000170: 63 61 73 65 2E 0D 0D 0D 0D 57 68 65 6E 20 74 68 case.....When th
000180: 65 20 66 69 6C 65 20 69 73 90 20 6F 70 65 6E 65 e file is. opene
000190: 64 90 20 66 6F 72 90 20 72 65 61 64 69 6E 67 90 d. for. reading.
0001A0: 20 74 68 65 90 20 66 69 72 73 74 90 20 62 6C 6F the. first. blo
0001B0: 63 6B 20 69 73 20 72 65 61 64 2E 20 54 68 65 20 ck is read. The
0001C0: 0D 8A 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 ..address of the
0001D0: 20 61 72 65 61 20 77 68 65 72 65 90 20 74 68 65 area where. the
0001E0: 90 20 68 65 61 64 65 72 90 20 66 72 6F 6D 90 20 . header. from.
0001F0: 74 68 69 73 90 20 62 6C 6F 63 6B 20 69 73 20 73 this. block is s
Size : 512 (Real : 512)
000000: 5A 65 72 6F 20 74 72 75 65 2E 0D 0D 48 4C 20 63 Zero true...HL c
000010: 6F 72 72 75 70 74 2E 0D 0D 0D 0D 56 31 2E 30 0D orrupt.....V1.0.
000020: 0D 2D 2D 2D 2D 20 41 20 63 6F 72 72 75 70 74 2E .---- A corrupt.
000030: 0D 0D 0D 0D 56 31 2E 31 0D 0D 2D 2D 2D 2D 20 41 ....V1.1..---- A
000040: 20 3D 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 = error number
000050: 28 26 30 30 29 0D 0D 0D 0D 0D 0D 44 45 2C 49 58 (&00)......DE,IX
000060: 2C 42 43 20 61 6E 64 20 6F 74 68 65 72 20 66 6C ,BC and other fl
000070: 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D ags corrupt.....
000080: 4E 6F 74 65 73 3A 0D 0D 0D 0D 54 68 65 20 73 74 Notes:....The st
000090: 72 65 61 6D 20 6D 75 73 74 20 6E 65 20 6E 65 77 ream must ne new
0000A0: 6C 79 20 6F 70 65 6E 65 64 90 20 28 62 79 90 20 ly opened. (by.
0000B0: 43 41 53 90 20 49 4E 20 4F 50 45 4E 29 2E 20 49 CAS. IN OPEN). I
0000C0: 66 20 74 68 65 20 73 74 72 65 61 6D 20 68 61 73 f the stream has
0000D0: 20 0D 8A 62 65 65 6E 20 75 73 65 64 20 66 6F 72 ..been used for
0000E0: 20 63 68 61 72 61 63 74 65 72 20 61 63 63 65 73 character acces
0000F0: 73 90 20 74 68 65 6E 90 20 69 74 90 20 69 73 90 s. then. it. is.
000100: 20 6E 6F 74 20 70 6F 73 73 69 62 6C 65 20 74 6F not possible to
000110: 20 64 69 72 65 63 74 6C 79 20 0D 8A 72 65 61 64 directly ..read
000120: 20 74 68 65 20 66 69 6C 65 2E 20 49 74 20 69 73 the file. It is
000130: 20 6E 6F 74 90 20 70 6F 73 73 69 62 6C 65 90 20 not. possible.
000140: 74 6F 90 20 72 65 61 64 90 20 74 68 65 20 66 69 to. read. the fi
000150: 6C 65 20 69 6E 74 6F 20 73 74 6F 72 65 20 6D 6F le into store mo
000160: 72 65 20 0D 8A 74 68 61 6E 20 6F 6E 63 65 2E 20 re ..than once.
000170: 54 68 69 73 20 77 69 6C 6C 20 63 6F 72 72 75 70 This will corrup
000180: 74 20 74 68 65 20 63 6F 70 79 20 6F 66 20 74 68 t the copy of th
000190: 65 20 66 69 6C 65 20 72 65 61 64 2E 0D 0D 0D 0D e file read.....
0001A0: 54 68 65 20 62 75 66 66 65 72 20 6F 66 20 64 61 The buffer of da
0001B0: 74 61 20 72 65 61 64 20 77 68 65 6E 90 20 74 68 ta read when. th
0001C0: 65 90 20 73 74 72 65 61 6D 90 20 77 61 73 20 6F e. stream. was o
0001D0: 70 65 6E 65 64 20 69 73 20 63 6F 70 69 65 64 20 pened is copied
0001E0: 74 6F 20 69 74 73 20 0D 8A 63 6F 72 72 65 63 74 to its ..correct
0001F0: 20 70 6F 73 69 74 69 6F 6E 20 61 6E 64 20 74 68 position and th
Size : 512 (Real : 512)
000000: 74 6F 72 65 64 20 69 73 20 0D 8A 70 61 73 73 65 tored is ..passe
000010: 64 20 62 61 63 6B 20 74 6F 20 74 68 65 20 75 73 d back to the us
000020: 65 72 20 73 6F 20 74 68 61 74 90 20 74 68 65 20 er so that. the
000030: 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 63 61 6E 20 information can
000040: 62 65 20 65 78 74 72 61 63 74 65 64 20 66 72 6F be extracted fro
000050: 6D 20 0D 8A 69 74 2E 20 54 68 65 20 75 73 65 72 m ..it. The user
000060: 20 69 73 20 6E 6F 74 20 61 6C 6C 6F 77 65 64 90 is not allowed.
000070: 20 74 6F 90 20 77 72 69 74 65 90 20 74 6F 90 20 to. write. to.
000080: 69 74 2C 20 6F 6E 6C 79 20 72 65 61 64 20 66 72 it, only read fr
000090: 6F 6D 20 69 74 2E 54 68 69 73 20 0D 8A 61 72 65 om it.This ..are
0000A0: 61 20 77 69 6C 6C 20 6C 69 65 20 69 6E 20 74 68 a will lie in th
0000B0: 65 90 20 63 65 6E 74 72 61 6C 90 20 33 32 6B 90 e. central. 32k.
0000C0: 20 6F 66 90 20 72 61 6D 2E 20 54 68 65 20 63 61 of. ram. The ca
0000D0: 73 73 65 74 74 65 20 6D 61 6E 61 67 65 72 20 75 ssette manager u
0000E0: 73 65 73 20 0D 8A 73 6F 6D 65 20 66 69 65 6C 64 ses ..some field
0000F0: 73 20 69 6E 20 74 68 65 20 68 65 61 64 65 72 20 s in the header
000100: 66 6F 72 20 69 74 73 20 6F 77 6E 20 70 75 72 70 for its own purp
000110: 6F 73 65 73 20 73 6F 20 74 68 65 73 65 20 6D 61 oses so these ma
000120: 79 20 76 61 72 79 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D y vary.....-----
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 0D 8A 0D 0D 26 42 43 37 41 20 2D 20 43 41 53 20 ....&BC7A - CAS
000180: 49 4E 20 43 4C 4F 53 45 20 2D 20 43 6C 6F 73 65 IN CLOSE - Close
000190: 20 69 6E 70 75 74 20 66 69 6C 65 20 70 72 6F 70 input file prop
0001A0: 65 72 6C 79 2E 0D 0D 0D 0D 45 6E 74 72 79 3A 0D erly.....Entry:.
0001B0: 0D 0D 0D 4E 6F 6E 65 0D 0D 0D 0D 45 78 69 74 3A ...None....Exit:
0001C0: 0D 0D 0D 0D 49 66 20 73 74 72 65 61 6D 20 77 61 ....If stream wa
0001D0: 73 20 63 6C 6F 73 65 64 20 4F 4B 3A 0D 0D 0D 0D s closed OK:....
0001E0: 43 61 72 72 79 20 74 72 75 65 2E 0D 0D 41 20 63 Carry true...A c
0001F0: 6F 72 72 75 70 74 2E 0D 0D 0D 0D 49 66 20 74 68 orrupt.....If th
Size : 512 (Real : 512)
000000: 65 20 72 65 6D 61 69 6E 64 65 72 20 6F 66 20 74 e remainder of t
000010: 68 65 20 66 69 6C 65 20 69 73 20 61 6C 73 6F 20 he file is also
000020: 72 65 61 64 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D read.....-------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 8A --------------..
000070: 0D 0D 26 42 43 38 36 20 2D 20 43 41 53 20 52 45 ..&BC86 - CAS RE
000080: 54 55 52 4E 20 2D 20 50 75 74 20 62 61 63 6B 20 TURN - Put back
000090: 74 68 65 20 6C 61 73 74 20 63 68 61 72 61 63 74 the last charact
0000A0: 65 72 20 72 65 61 64 0D 0D 0D 0D 45 6E 74 72 79 er read....Entry
0000B0: 3A 0D 0D 0D 0D 4E 6F 6E 65 0D 0D 0D 0D 45 78 69 :....None....Exi
0000C0: 74 3A 0D 0D 0D 0D 41 6C 6C 20 70 72 65 73 65 72 t:....All preser
0000D0: 76 65 64 2E 0D 0D 0D 0D 4E 6F 74 65 73 3A 0D 0D ved.....Notes:..
0000E0: 0D 0D 54 68 69 73 20 69 73 20 6F 6E 6C 79 20 70 ..This is only p
0000F0: 6F 73 73 69 62 6C 65 20 69 66 20 74 68 65 90 20 ossible if the.
000100: 66 69 6C 65 90 20 68 61 73 90 20 62 65 65 6E 90 file. has. been.
000110: 20 72 65 61 64 20 69 6E 20 62 79 20 75 73 69 6E read in by usin
000120: 67 20 43 41 53 20 49 4E 20 0D 8A 43 48 41 52 2E g CAS IN ..CHAR.
000130: 20 41 74 20 6C 65 61 73 74 20 6F 6E 65 20 63 68 At least one ch
000140: 61 72 61 63 74 65 72 20 6D 75 73 74 20 68 61 76 aracter must hav
000150: 65 20 62 65 65 6E 20 72 65 61 64 20 73 69 6E 63 e been read sinc
000160: 65 3A 0D 0D 0D 0D 0D 0D 61 29 20 74 68 65 20 73 e:......a) the s
000170: 74 72 65 61 6D 20 77 61 73 20 6F 70 65 6E 65 64 tream was opened
000180: 0D 0D 62 29 20 74 68 65 20 6C 61 73 74 20 63 68 ..b) the last ch
000190: 61 72 61 63 74 65 72 20 77 61 73 20 72 65 74 75 aracter was retu
0001A0: 72 6E 65 64 2E 0D 0D 63 29 20 74 68 65 20 6C 61 rned...c) the la
0001B0: 73 74 20 74 65 73 74 20 66 6F 72 20 65 6F 66 20 st test for eof
0001C0: 77 61 73 20 6D 61 64 65 2E 0D 0D 0D 0D 2D 2D 2D was made.....---
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 65 20 73 74 72 65 61 6D 20 77 61 73 20 6E 6F 74 e stream was not
000010: 20 6F 70 65 6E 3A 0D 0D 0D 0D 43 61 72 72 79 20 open:....Carry
000020: 66 61 6C 73 65 0D 0D 0D 0D 56 31 2E 30 0D 0D 2D false....V1.0..-
000030: 2D 2D 2D 20 41 20 63 6F 72 72 75 70 74 2E 0D 0D --- A corrupt...
000040: 0D 0D 56 31 2E 31 0D 0D 2D 2D 2D 2D 20 41 20 3D ..V1.1..---- A =
000050: 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 28 26 error number (&
000060: 30 45 29 0D 0D 0D 0D 42 43 2C 44 45 2C 48 4C 20 0E)....BC,DE,HL
000070: 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 73 20 and other flags
000080: 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 2D 2D 2D 2D corrupt.....----
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 0D 8A 0D 0D 26 42 43 37 44 20 2D 20 43 41 53 -....&BC7D - CAS
0000E0: 20 49 4E 20 41 42 41 4E 44 4F 4E 20 2D 20 43 6C IN ABANDON - Cl
0000F0: 6F 73 65 20 69 6E 70 75 74 20 66 69 6C 65 20 73 ose input file s
000100: 74 72 61 69 67 68 74 20 61 77 61 79 0D 0D 0D 0D traight away....
000110: 45 6E 74 72 79 3A 0D 0D 0D 0D 4E 6F 6E 65 0D 0D Entry:....None..
000120: 0D 0D 45 78 69 74 3A 0D 0D 0D 0D 41 46 2C 42 43 ..Exit:....AF,BC
000130: 2C 44 45 2C 48 4C 20 63 6F 72 72 75 70 74 2E 0D ,DE,HL corrupt..
000140: 0D 0D 0D 4E 6F 74 65 73 3A 0D 0D 0D 0D 54 68 69 ...Notes:....Thi
000150: 73 20 69 73 20 6D 65 61 6E 74 20 74 6F 20 62 65 s is meant to be
000160: 20 75 73 65 64 20 61 66 74 65 72 20 61 6E 20 65 used after an e
000170: 72 72 6F 72 20 68 61 73 20 6F 63 63 75 72 65 64 rror has occured
000180: 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D .....-----------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 8A 0D 0D 26 42 ----------....&B
0001D0: 43 38 30 20 2D 20 43 41 53 20 49 4E 20 43 48 41 C80 - CAS IN CHA
0001E0: 52 20 2D 20 52 65 61 64 20 61 20 63 68 61 72 61 R - Read a chara
0001F0: 63 74 65 72 20 66 72 6F 6D 20 74 68 65 20 69 6E cter from the in
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 0D 8A 0D 0D 26 42 43 38 39 20 2D 20 43 41 --....&BC89 - CA
000020: 53 20 54 45 53 54 20 45 4F 46 20 2D 20 43 68 65 S TEST EOF - Che
000030: 63 6B 20 69 66 20 65 6E 64 20 6F 66 20 66 69 6C ck if end of fil
000040: 65 20 68 61 73 20 62 65 65 6E 20 72 65 61 63 68 e has been reach
000050: 65 64 0D 0D 0D 0D 45 6E 74 72 79 3A 0D 0D 0D 0D ed....Entry:....
000060: 4E 6F 6E 65 0D 0D 0D 0D 45 78 69 74 3A 0D 0D 0D None....Exit:...
000070: 0D 49 66 20 74 68 65 20 65 6E 64 20 6F 66 20 66 .If the end of f
000080: 69 6C 65 20 77 61 73 20 6E 6F 74 20 66 6F 75 6E ile was not foun
000090: 64 3A 0D 0D 0D 0D 43 61 72 72 79 20 74 72 75 65 d:....Carry true
0000A0: 2E 20 5A 65 72 6F 20 66 61 6C 73 65 2E 20 41 20 . Zero false. A
0000B0: 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 49 66 20 65 corrupt.....If e
0000C0: 6E 64 20 6F 66 20 66 69 6C 65 20 77 61 73 20 66 nd of file was f
0000D0: 6F 75 6E 64 3A 0D 0D 0D 0D 43 61 72 72 79 20 66 ound:....Carry f
0000E0: 61 6C 73 65 2E 20 5A 65 72 6F 20 66 61 6C 73 65 alse. Zero false
0000F0: 2E 0D 0D 0D 0D 56 31 2E 30 0D 0D 2D 2D 2D 2D 20 .....V1.0..----
000100: 41 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 56 31 A corrupt.....V1
000110: 2E 31 0D 0D 2D 2D 2D 2D 20 41 20 3D 20 65 72 72 .1..---- A = err
000120: 6F 72 20 6E 75 6D 62 65 72 20 28 26 30 45 20 2D or number (&0E -
000130: 20 73 74 72 65 61 6D 20 69 73 20 6E 6F 74 20 6F stream is not o
000140: 70 65 6E 20 6F 72 20 26 30 46 20 2D 20 65 6E 64 pen or &0F - end
000150: 20 6F 66 20 66 69 6C 65 29 0D 0D 0D 0D 49 66 20 of file)....If
000160: 74 68 65 20 75 73 65 72 20 68 69 74 20 65 73 63 the user hit esc
000170: 61 70 65 3A 0D 0D 0D 0D 43 61 72 72 79 20 66 61 ape:....Carry fa
000180: 6C 73 65 2E 20 5A 65 72 6F 20 74 72 75 65 2E 0D lse. Zero true..
000190: 0D 0D 0D 56 31 2E 30 0D 0D 2D 2D 2D 2D 20 41 20 ...V1.0..---- A
0001A0: 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 56 31 2E 31 corrupt.....V1.1
0001B0: 0D 0D 2D 2D 2D 2D 20 41 20 3D 20 65 72 72 6F 72 ..---- A = error
0001C0: 20 6E 75 6D 62 65 72 20 28 26 30 30 29 0D 0D 0D number (&00)...
0001D0: 0D 49 58 20 61 6E 64 20 6F 74 68 65 72 20 66 6C .IX and other fl
0001E0: 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D ags corrupt.....
0001F0: 43 61 6C 6C 69 6E 67 20 74 68 69 73 20 72 6F 75 Calling this rou
Size : 512 (Real : 512)
000000: 70 75 74 20 66 69 6C 65 0D 0D 0D 0D 45 6E 74 72 put file....Entr
000010: 79 3A 0D 0D 0D 0D 4E 6F 6E 65 0D 0D 0D 0D 45 78 y:....None....Ex
000020: 69 74 3A 0D 0D 0D 0D 49 66 20 63 68 61 72 61 63 it:....If charac
000030: 74 65 72 20 77 61 73 20 72 65 61 64 20 4F 4B 3A ter was read OK:
000040: 0D 0D 0D 0D 43 61 72 72 79 20 74 72 75 65 2E 20 ....Carry true.
000050: 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0D 41 20 3D Zero false...A =
000060: 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 0D character read.
000070: 0D 0D 0D 49 66 20 65 6E 64 20 6F 66 20 66 69 6C ...If end of fil
000080: 65 20 77 61 73 20 66 6F 75 6E 64 3A 0D 0D 0D 0D e was found:....
000090: 43 61 72 72 79 20 66 61 6C 73 65 2E 20 5A 65 72 Carry false. Zer
0000A0: 6F 20 66 61 6C 73 65 2E 20 0D 0D 0D 0D 56 31 2E o false. ....V1.
0000B0: 30 0D 0D 2D 2D 2D 2D 20 41 20 63 6F 72 72 75 70 0..---- A corrup
0000C0: 74 2E 0D 0D 0D 0D 56 31 2E 31 0D 0D 2D 2D 2D 2D t.....V1.1..----
0000D0: 20 41 20 3D 20 65 72 72 6F 72 20 6E 75 6D 62 65 A = error numbe
0000E0: 72 20 28 26 30 45 29 0D 0D 0D 0D 49 66 20 75 73 r (&0E)....If us
0000F0: 65 72 20 68 69 74 20 65 73 63 61 70 65 3A 0D 0D er hit escape:..
000100: 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 2E 0D 0D ..Carry false...
000110: 5A 65 72 6F 20 74 72 75 65 2E 0D 0D 0D 0D 56 31 Zero true.....V1
000120: 2E 30 0D 0D 2D 2D 2D 2D 20 41 20 63 6F 72 72 75 .0..---- A corru
000130: 70 74 2E 0D 0D 0D 0D 56 31 2E 31 0D 0D 2D 2D 2D pt.....V1.1..---
000140: 2D 20 41 20 3D 20 65 72 72 6F 72 20 6E 75 6D 62 - A = error numb
000150: 65 72 20 28 26 30 30 29 0D 0D 0D 0D 49 58 20 61 er (&00)....IX a
000160: 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 73 20 63 nd other flags c
000170: 6F 72 72 75 70 74 2E 0D 0D 0D 0D 4E 6F 74 65 73 orrupt.....Notes
000180: 3A 0D 0D 0D 0D 4F 6E 63 65 20 74 68 65 20 66 69 :....Once the fi
000190: 72 73 74 20 63 68 61 72 61 63 74 65 72 20 68 61 rst character ha
0001A0: 73 20 62 65 65 6E 20 72 65 61 64 20 66 72 6F 6D s been read from
0001B0: 20 61 20 66 69 6C 65 20 69 74 20 63 61 6E 20 6F a file it can o
0001C0: 6E 6C 79 20 62 65 20 75 73 65 64 20 0D 8A 66 6F nly be used ..fo
0001D0: 72 20 63 68 61 72 61 63 74 65 72 20 62 79 90 20 r character by.
0001E0: 63 68 61 72 61 63 74 65 72 90 20 61 63 63 65 73 character. acces
0001F0: 73 2E 90 20 49 74 90 20 69 73 90 20 6E 6F 74 90 s.. It. is. not.
Size : 512 (Real : 512)
000000: 74 69 6E 65 20 70 75 74 73 20 74 68 65 20 73 74 tine puts the st
000010: 72 65 61 6D 90 20 69 6E 74 6F 20 63 68 61 72 61 ream. into chara
000020: 63 74 65 72 20 69 6E 70 75 74 20 6D 6F 64 65 2E cter input mode.
000030: 20 49 74 20 69 73 20 0D 8A 6E 6F 74 20 70 6F 73 It is ..not pos
000040: 73 69 62 6C 65 20 74 6F 20 75 73 65 20 64 69 72 sible to use dir
000050: 65 63 74 20 72 65 61 64 69 6E 67 20 61 66 74 65 ect reading afte
000060: 72 20 74 68 69 73 20 72 6F 75 74 69 6E 65 20 68 r this routine h
000070: 61 73 20 62 65 65 6E 20 63 61 6C 6C 65 64 2E 0D as been called..
000080: 0D 0D 0D 49 74 20 69 73 20 6E 6F 74 20 70 6F 73 ...It is not pos
000090: 73 69 62 6C 65 20 74 6F 90 20 63 61 6C 6C 90 20 sible to. call.
0000A0: 43 41 53 90 20 52 45 54 55 52 4E 90 20 61 66 74 CAS. RETURN. aft
0000B0: 65 72 90 20 74 68 69 73 20 72 6F 75 74 69 6E 65 er. this routine
0000C0: 20 68 61 73 20 62 65 65 6E 20 0D 8A 63 61 6C 6C has been ..call
0000D0: 65 64 2E 20 41 20 63 68 61 72 61 63 74 65 72 20 ed. A character
0000E0: 6D 75 73 74 20 62 65 20 72 65 61 64 20 66 69 72 must be read fir
0000F0: 73 74 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D st.....---------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 8A --------------..
000140: 0D 0D 26 42 43 38 43 20 2D 20 43 41 53 20 4F 55 ..&BC8C - CAS OU
000150: 54 20 4F 50 45 4E 20 2D 20 4F 70 65 6E 20 61 20 T OPEN - Open a
000160: 66 69 6C 65 20 66 6F 72 20 6F 75 74 70 75 74 0D file for output.
000170: 0D 0D 0D 45 6E 74 72 79 3A 0D 0D 0D 0D 42 20 3D ...Entry:....B =
000180: 20 6C 65 6E 67 74 68 20 6F 66 20 66 69 6C 65 6E length of filen
000190: 61 6D 65 0D 0D 48 4C 20 3D 20 61 64 64 72 65 73 ame..HL = addres
0001A0: 73 20 6F 66 20 66 69 6C 65 6E 61 6D 65 0D 0D 44 s of filename..D
0001B0: 45 20 3D 20 61 64 64 72 65 73 73 20 6F 66 20 32 E = address of 2
0001C0: 6B 20 62 75 66 66 65 72 0D 0D 0D 0D 45 78 69 74 k buffer....Exit
0001D0: 3A 0D 0D 0D 0D 49 66 20 74 68 65 20 66 69 6C 65 :....If the file
0001E0: 20 77 61 73 20 6F 70 65 6E 65 64 20 4F 4B 3A 0D was opened OK:.
0001F0: 0D 0D 0D 43 61 72 72 79 20 74 72 75 65 2E 0D 0D ...Carry true...
Size : 512 (Real : 512)
000000: 20 61 73 20 65 78 70 65 63 74 65 64 3A 0D 0D 0D as expected:...
000010: 0D 43 61 72 72 79 20 66 61 6C 73 65 2E 20 5A 65 .Carry false. Ze
000020: 72 6F 20 66 61 6C 73 65 2E 20 41 20 3D 20 26 30 ro false. A = &0
000030: 45 20 28 65 72 72 6F 72 20 6E 75 6D 62 65 72 29 E (error number)
000040: 0D 0D 0D 0D 49 66 20 63 6F 6D 6D 61 6E 64 20 66 ....If command f
000050: 61 69 6C 65 64 3A 0D 0D 0D 0D 43 61 72 72 79 20 ailed:....Carry
000060: 66 61 6C 73 65 2E 0D 0D 5A 65 72 6F 20 74 72 75 false...Zero tru
000070: 65 2E 0D 0D 41 20 3D 20 65 72 72 6F 72 20 6E 75 e...A = error nu
000080: 6D 62 65 72 0D 0D 0D 0D 0D 0D 42 43 2C 44 45 2C mber......BC,DE,
000090: 48 4C 2C 49 58 20 61 6E 64 20 6F 74 68 65 72 20 HL,IX and other
0000A0: 66 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D flags corrupt...
0000B0: 0D 0D 4E 6F 74 65 73 3A 0D 0D 0D 0D 41 66 74 65 ..Notes:....Afte
0000C0: 72 20 77 72 69 74 69 6E 67 20 74 68 65 20 66 69 r writing the fi
0000D0: 6C 65 20 69 74 20 6D 75 73 74 90 20 62 65 90 20 le it must. be.
0000E0: 63 6C 6F 73 65 64 90 20 77 69 74 68 20 43 41 53 closed. with CAS
0000F0: 20 4F 55 54 20 43 4C 4F 53 45 20 66 6F 72 20 74 OUT CLOSE for t
000100: 68 65 20 0D 8A 66 69 6C 65 20 74 6F 20 6D 61 6B he ..file to mak
000110: 65 20 73 75 72 65 20 74 68 65 20 66 69 6C 65 20 e sure the file
000120: 69 73 20 77 72 69 74 74 65 6E 20 74 6F 20 64 69 is written to di
000130: 73 6B 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D sk.....---------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 0D -------------...
000180: 0D 26 42 43 39 42 20 2D 20 43 41 53 20 43 41 54 .&BC9B - CAS CAT
000190: 41 4C 4F 47 20 2D 20 47 65 6E 65 72 61 74 65 20 ALOG - Generate
0001A0: 61 20 63 61 74 61 6C 6F 67 75 65 20 66 72 6F 6D a catalogue from
0001B0: 20 63 61 73 73 65 74 74 65 0D 0D 0D 0D 45 6E 74 cassette....Ent
0001C0: 72 79 3A 0D 0D 0D 0D 44 45 20 3D 20 61 64 64 72 ry:....DE = addr
0001D0: 65 73 73 20 6F 66 20 32 6B 20 62 75 66 66 65 72 ess of 2k buffer
0001E0: 20 74 6F 20 75 73 65 2E 0D 0D 0D 0D 45 78 69 74 to use.....Exit
0001F0: 3A 0D 0D 0D 0D 49 66 20 74 68 65 20 63 61 74 61 :....If the cata
Size : 512 (Real : 512)
000000: 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0D 48 4C 20 Zero false...HL
000010: 3D 20 61 64 64 72 65 73 73 20 6F 66 20 61 20 62 = address of a b
000020: 75 66 66 65 72 90 20 63 6F 6E 74 61 69 6E 69 6E uffer. containin
000030: 67 90 20 74 68 65 90 20 68 65 61 64 65 72 20 74 g. the. header t
000040: 68 61 74 20 77 69 6C 6C 20 62 65 20 77 72 69 74 hat will be writ
000050: 74 65 6E 20 0D 8A 74 6F 20 65 61 63 68 20 62 6C ten ..to each bl
000060: 6F 63 6B 2E 0D 0D 41 20 63 6F 72 72 75 70 74 2E ock...A corrupt.
000070: 0D 0D 0D 0D 49 66 20 73 74 72 65 61 6D 20 69 73 ....If stream is
000080: 20 69 6E 20 75 73 65 3A 0D 0D 0D 0D 43 61 72 72 in use:....Carr
000090: 79 20 66 61 6C 73 65 2E 0D 0D 5A 65 72 6F 20 66 y false...Zero f
0000A0: 61 6C 73 65 2E 0D 0D 48 4C 20 63 6F 72 72 75 70 alse...HL corrup
0000B0: 74 2E 0D 0D 0D 0D 56 31 2E 30 0D 0D 2D 2D 2D 2D t.....V1.0..----
0000C0: 20 20 41 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D A corrupt.....
0000D0: 56 31 2E 31 0D 0D 2D 2D 2D 2D 20 20 41 20 3D 20 V1.1..---- A =
0000E0: 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 28 26 30 error number (&0
0000F0: 45 29 0D 0D 0D 0D 49 66 20 75 73 65 72 20 68 69 E)....If user hi
000100: 74 20 65 73 63 61 70 65 3A 0D 0D 0D 0D 43 61 72 t escape:....Car
000110: 72 79 20 66 61 6C 73 65 2E 0D 0D 5A 65 72 6F 20 ry false...Zero
000120: 74 72 75 65 2E 0D 0D 48 4C 20 63 6F 72 72 75 70 true...HL corrup
000130: 74 2E 0D 0D 0D 0D 56 31 2E 30 0D 0D 2D 2D 2D 2D t.....V1.0..----
000140: 20 20 41 20 63 6F 72 72 75 70 74 0D 0D 0D 0D 56 A corrupt....V
000150: 31 2E 31 0D 0D 2D 2D 2D 2D 20 20 41 20 3D 20 65 1.1..---- A = e
000160: 72 72 6F 72 20 6E 75 6D 62 65 72 20 28 26 30 30 rror number (&00
000170: 29 0D 0D 0D 0D 0D 0D 42 43 2C 44 45 2C 49 58 20 )......BC,DE,IX
000180: 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 73 20 and other flags
000190: 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 2D 2D 2D 2D corrupt.....----
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 0D 8A 0D 0D 26 42 43 38 46 20 2D 20 43 ---....&BC8F - C
0001F0: 41 53 20 4F 55 54 20 43 4C 4F 53 45 20 2D 20 43 AS OUT CLOSE - C
Size : 512 (Real : 512)
000000: 6C 6F 67 75 65 20 77 65 6E 74 20 4F 4B 3A 0D 0D logue went OK:..
000010: 0D 0D 43 61 72 72 79 20 74 72 75 65 2E 20 5A 65 ..Carry true. Ze
000020: 72 6F 20 66 61 6C 73 65 2E 20 41 20 63 6F 72 72 ro false. A corr
000030: 75 70 74 2E 0D 0D 0D 0D 49 66 20 74 68 65 20 73 upt.....If the s
000040: 74 72 65 61 6D 20 77 61 73 20 69 6E 20 75 73 65 tream was in use
000050: 3A 0D 0D 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 :....Carry false
000060: 2E 20 5A 65 72 6F 20 66 61 6C 73 65 2E 20 0D 0D . Zero false. ..
000070: 0D 0D 56 31 2E 30 0D 0D 2D 2D 2D 2D 20 41 20 63 ..V1.0..---- A c
000080: 6F 72 72 75 70 74 2E 0D 0D 0D 0D 56 31 2E 31 0D orrupt.....V1.1.
000090: 0D 2D 2D 2D 2D 20 41 20 3D 20 26 30 45 20 28 65 .---- A = &0E (e
0000A0: 72 72 6F 72 20 6E 75 6D 62 65 72 29 0D 0D 0D 0D rror number)....
0000B0: 42 43 2C 44 45 2C 48 4C 2C 49 58 20 61 6E 64 20 BC,DE,HL,IX and
0000C0: 6F 74 68 65 72 20 66 6C 61 67 73 2E 0D 0D 0D 0D other flags.....
0000D0: 4E 6F 74 65 73 3A 0D 0D 0D 0D 54 68 65 20 72 65 Notes:....The re
0000E0: 61 64 20 73 74 72 65 61 6D 20 6D 75 73 74 20 62 ad stream must b
0000F0: 65 20 63 6C 6F 73 65 64 20 62 65 66 6F 72 65 20 e closed before
000100: 74 68 69 73 20 72 6F 75 74 69 6E 65 20 69 73 20 this routine is
000110: 63 61 6C 6C 65 64 2E 0D 0D 0D 0D 54 68 65 20 70 called.....The p
000120: 72 6F 6D 70 74 20 6D 65 73 73 61 67 65 73 20 61 rompt messages a
000130: 72 65 20 74 75 72 6E 65 64 20 6F 6E 2E 0D 0D 0D re turned on....
000140: 0D 57 68 65 6E 20 74 68 65 20 63 61 74 61 6C 6F .When the catalo
000150: 67 20 69 73 20 75 73 73 75 65 64 2C 20 74 68 65 g is ussued, the
000160: 20 64 69 72 65 63 74 6F 72 79 20 69 73 20 72 65 directory is re
000170: 61 64 20 69 6E 74 6F 20 6D 65 6D 6F 72 79 2E 0D ad into memory..
000180: 0D 4F 6E 6C 79 20 74 68 6F 73 65 20 66 69 6C 65 .Only those file
000190: 73 20 69 6E 20 74 68 65 20 63 75 72 72 65 6E 74 s in the current
0001A0: 90 20 75 73 65 72 90 20 61 6E 64 2F 6F 72 20 61 . user. and/or a
0001B0: 72 65 20 73 65 74 20 74 6F 20 64 69 72 65 63 74 re set to direct
0001C0: 6F 72 79 20 61 72 65 20 0D 8A 70 75 74 20 69 6E ory are ..put in
0001D0: 74 6F 20 74 68 65 20 62 75 66 66 65 72 2E 20 54 to the buffer. T
0001E0: 68 65 90 20 62 75 66 66 65 72 90 20 67 69 76 65 he. buffer. give
0001F0: 73 90 20 61 6C 6C 90 20 74 68 65 20 66 69 6C 65 s. all. the file
Size : 512 (Real : 512)
000000: 6C 6F 73 65 20 74 68 65 20 6F 75 74 70 75 74 20 lose the output
000010: 66 69 6C 65 20 63 6F 72 72 65 63 74 6C 79 2E 0D file correctly..
000020: 0D 0D 0D 45 6E 74 72 79 3A 0D 0D 0D 0D 4E 6F 6E ...Entry:....Non
000030: 65 0D 0D 0D 0D 45 78 69 74 3A 0D 0D 0D 0D 49 66 e....Exit:....If
000040: 20 73 74 72 65 61 6D 20 77 61 73 20 63 6C 6F 73 stream was clos
000050: 65 64 20 4F 4B 3A 0D 0D 0D 0D 43 61 72 72 79 20 ed OK:....Carry
000060: 74 72 75 65 2E 20 5A 65 72 6F 20 66 61 6C 73 65 true. Zero false
000070: 2E 0D 0D 41 20 63 6F 72 72 75 70 74 2E 0D 0D 0D ...A corrupt....
000080: 0D 49 66 20 74 68 65 20 73 74 72 65 61 6D 20 77 .If the stream w
000090: 61 73 20 6E 6F 74 20 6F 70 65 6E 3A 0D 0D 0D 0D as not open:....
0000A0: 43 61 72 72 79 20 66 61 6C 73 65 2E 20 5A 65 72 Carry false. Zer
0000B0: 6F 20 66 61 6C 73 65 2E 0D 0D 0D 0D 56 31 2E 30 o false.....V1.0
0000C0: 0D 0D 2D 2D 2D 2D 20 41 20 63 6F 72 72 75 70 74 ..---- A corrupt
0000D0: 2E 0D 0D 0D 0D 56 31 2E 31 0D 0D 2D 2D 2D 2D 20 .....V1.1..----
0000E0: 41 20 3D 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 A = error number
0000F0: 20 28 26 30 45 29 0D 0D 0D 0D 49 66 20 74 68 65 (&0E)....If the
000100: 20 75 73 65 72 20 68 69 74 20 65 73 63 61 70 65 user hit escape
000110: 3A 0D 0D 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 :....Carry false
000120: 2E 20 5A 65 72 6F 20 74 72 75 65 2E 0D 0D 0D 0D . Zero true.....
000130: 56 31 2E 30 0D 0D 2D 2D 2D 2D 20 41 20 63 6F 72 V1.0..---- A cor
000140: 72 75 70 74 2E 0D 0D 0D 0D 56 31 2E 31 0D 0D 2D rupt.....V1.1..-
000150: 2D 2D 2D 20 41 20 3D 20 65 72 72 6F 72 20 6E 75 --- A = error nu
000160: 6D 62 65 72 20 28 26 30 30 29 0D 0D 0D 0D 49 58 mber (&00)....IX
000170: 2C 42 43 2C 44 45 2C 48 4C 20 61 6E 64 20 6F 74 ,BC,DE,HL and ot
000180: 68 65 72 20 66 6C 61 67 73 20 63 6F 72 72 75 70 her flags corrup
000190: 74 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D t.....----------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 8A 0D -------------...
0001E0: 0D 26 42 43 39 32 20 2D 20 43 41 53 20 4F 55 54 .&BC92 - CAS OUT
0001F0: 20 41 42 41 4E 44 4F 4E 20 2D 20 43 6C 6F 73 65 ABANDON - Close
Size : 512 (Real : 512)
000000: 73 20 6D 61 74 63 68 69 6E 67 20 74 68 6F 73 65 s matching those
000010: 20 0D 8A 63 72 69 74 65 72 69 61 2C 20 61 6E 64 ..criteria, and
000020: 20 74 68 65 20 6E 61 6D 65 73 20 61 72 65 20 69 the names are i
000030: 6E 20 61 6C 70 68 61 62 65 74 69 63 61 6C 20 6F n alphabetical o
000040: 72 64 65 72 2E 0D 0D 0D 0D 49 66 20 6E 6F 20 66 rder.....If no f
000050: 69 6C 65 73 20 6D 61 74 63 68 20 74 68 69 73 2C iles match this,
000060: 20 74 68 65 20 62 75 66 66 65 72 20 77 69 6C 6C the buffer will
000070: 20 73 74 61 72 74 20 77 69 74 68 20 61 20 7A 65 start with a ze
000080: 72 6F 2E 0D 0D 0D 0D 54 68 65 20 63 61 74 61 6C ro.....The catal
000090: 6F 67 20 66 6F 72 6D 61 74 3A 0D 0D 0D 0D 45 6E og format:....En
0000A0: 74 72 79 20 31 2C 45 6E 74 72 79 20 32 2E 2E 2E try 1,Entry 2...
0000B0: 0D 0D 0D 0D 0D 0D 57 68 65 72 65 20 65 6E 74 72 ......Where entr
0000C0: 79 20 66 6F 72 6D 61 74 20 69 73 3A 0D 0D 0D 0D y format is:....
0000D0: 42 79 74 65 20 30 3A 09 09 4D 61 72 6B 65 72 20 Byte 0:..Marker
0000E0: 28 26 46 46 29 0D 0D 42 79 74 65 20 31 2D 31 32 (&FF)..Byte 1-12
0000F0: 3A 09 46 69 6C 65 6E 61 6D 65 20 0D 0D 0D 0D 09 :.Filename .....
000100: 09 38 20 63 68 61 72 61 63 74 65 72 20 6E 61 6D .8 character nam
000110: 65 20 70 61 72 74 20 70 61 64 64 65 64 20 77 69 e part padded wi
000120: 74 68 20 73 70 61 63 65 73 0D 0D 0D 0D 09 09 33 th spaces......3
000130: 20 63 68 61 72 61 63 74 65 72 20 65 78 74 65 6E character exten
000140: 73 69 6F 6E 20 70 61 72 74 20 70 61 64 64 65 64 sion part padded
000150: 20 77 69 74 68 20 73 70 61 63 65 73 0D 0D 0D 0D with spaces....
000160: 09 09 45 78 74 65 6E 73 69 6F 6E 20 70 61 72 74 ..Extension part
000170: 3A 0D 0D 0D 0D 09 09 42 79 74 65 20 30 3A 09 09 :......Byte 0:..
000180: 42 69 74 20 37 3A 20 31 3A 20 52 65 61 64 20 4F Bit 7: 1: Read O
000190: 6E 6C 79 2C 0D 0D 09 09 09 09 20 20 20 20 20 20 nly,......
0001A0: 20 30 3A 20 52 65 61 64 20 77 72 69 74 65 2E 0D 0: Read write..
0001B0: 0D 0D 0D 42 79 74 65 20 31 33 3A 09 53 69 7A 65 ...Byte 13:.Size
0001C0: 20 6F 66 20 66 69 6C 65 20 69 6E 20 4B 2E 0D 0D of file in K...
0001D0: 42 79 74 65 20 31 34 3A 09 4D 61 72 6B 65 72 20 Byte 14:.Marker
0001E0: 28 26 30 30 29 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 2D (&00)..........-
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 20 6F 75 74 70 75 74 20 66 69 6C 65 20 69 6D 6D output file imm
000010: 65 64 69 61 74 65 6C 79 2E 0D 0D 0D 0D 45 6E 74 ediately.....Ent
000020: 72 79 3A 0D 0D 0D 0D 4E 6F 6E 65 0D 0D 0D 0D 45 ry:....None....E
000030: 78 69 74 3A 0D 0D 0D 0D 41 46 2C 42 43 2C 44 45 xit:....AF,BC,DE
000040: 2C 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D ,HL corrupt.....
000050: 4E 6F 74 65 73 3A 0D 0D 0D 0D 54 68 69 73 20 69 Notes:....This i
000060: 73 20 69 6E 74 65 6E 64 65 64 20 74 6F 20 62 65 s intended to be
000070: 20 75 73 65 64 20 61 66 74 65 72 20 61 6E 20 65 used after an e
000080: 72 72 6F 72 20 68 61 73 20 6F 63 63 75 72 65 64 rror has occured
000090: 2E 0D 0D 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D .....-----------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 8A 0D 0D ------------....
0000E0: 26 42 43 39 35 20 2D 20 43 41 53 20 4F 55 54 20 &BC95 - CAS OUT
0000F0: 43 48 41 52 20 2D 20 57 72 69 74 65 20 61 20 63 CHAR - Write a c
000100: 68 61 72 61 63 74 65 72 20 74 6F 20 74 68 65 20 haracter to the
000110: 6F 75 74 70 75 74 20 66 69 6C 65 0D 0D 0D 0D 45 output file....E
000120: 6E 74 72 79 3A 0D 0D 0D 0D 41 20 3D 20 63 68 61 ntry:....A = cha
000130: 72 61 63 74 65 72 0D 0D 0D 0D 45 78 69 74 3A 0D racter....Exit:.
000140: 0D 0D 0D 49 66 20 63 68 61 72 61 63 74 65 72 20 ...If character
000150: 77 61 73 20 77 72 69 74 74 65 6E 20 4F 4B 3A 0D was written OK:.
000160: 0D 0D 0D 43 61 72 72 79 20 74 72 75 65 2E 20 5A ...Carry true. Z
000170: 65 72 6F 20 66 61 6C 73 65 2E 0D 0D 41 20 3D 20 ero false...A =
000180: 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 49 66 20 74 corrupt.....If t
000190: 68 65 20 66 69 6C 65 20 77 61 73 20 6E 6F 74 20 he file was not
0001A0: 6F 70 65 6E 20 61 73 20 65 78 70 65 63 74 65 64 open as expected
0001B0: 3A 0D 0D 0D 0D 43 61 72 72 79 20 66 61 6C 73 65 :....Carry false
0001C0: 2E 20 5A 65 72 6F 20 66 61 6C 73 65 2E 20 0D 0D . Zero false. ..
0001D0: 0D 0D 56 31 2E 30 0D 0D 2D 2D 2D 2D 20 41 20 63 ..V1.0..---- A c
0001E0: 6F 72 72 75 70 74 2E 0D 0D 0D 0D 56 31 2E 31 0D orrupt.....V1.1.
0001F0: 0D 2D 2D 2D 2D 20 41 20 3D 20 65 72 72 6F 72 20 .---- A = error
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 0D 8A 0D 0D 26 42 43 39 45 20 ------....&BC9E
000040: 2D 20 43 41 53 20 57 52 49 54 45 20 2D 20 57 72 - CAS WRITE - Wr
000050: 69 74 65 20 61 20 68 65 61 64 65 72 6C 65 73 73 ite a headerless
000060: 20 66 69 6C 65 20 74 6F 20 74 61 70 65 2E 0D 0D file to tape...
000070: 0D 0D 45 6E 74 72 79 3A 0D 0D 0D 0D 48 4C 20 3D ..Entry:....HL =
000080: 20 61 64 64 72 65 73 73 20 6F 66 20 64 61 74 61 address of data
000090: 20 74 6F 20 77 72 69 74 65 0D 0D 44 45 20 3D 20 to write..DE =
0000A0: 6C 65 6E 67 74 68 20 6F 66 20 64 61 74 61 20 74 length of data t
0000B0: 6F 20 77 72 69 74 65 0D 0D 41 20 3D 20 73 79 6E o write..A = syn
0000C0: 63 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 77 c character to w
0000D0: 72 69 74 65 20 61 74 20 65 6E 64 20 6F 66 20 74 rite at end of t
0000E0: 68 65 20 6C 65 61 64 65 72 0D 0D 0D 0D 45 78 69 he leader....Exi
0000F0: 74 3A 0D 0D 0D 0D 49 66 20 74 68 65 20 72 65 63 t:....If the rec
000100: 6F 72 64 20 77 61 73 20 77 72 69 74 74 65 6E 20 ord was written
000110: 4F 4B 3A 0D 0D 0D 0D 43 61 72 72 79 20 74 72 75 OK:....Carry tru
000120: 65 2E 20 41 20 63 6F 72 72 75 70 74 2E 0D 0D 0D e. A corrupt....
000130: 0D 49 66 20 61 6E 20 65 72 72 6F 72 20 6F 63 63 .If an error occ
000140: 75 72 65 64 3A 0D 0D 0D 0D 43 61 72 72 79 20 66 ured:....Carry f
000150: 61 6C 73 65 2E 20 41 20 3D 20 65 72 72 6F 72 20 alse. A = error
000160: 63 6F 64 65 0D 0D 0D 0D 42 43 2C 44 45 2C 48 4C code....BC,DE,HL
000170: 2C 49 58 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D ,IX corrupt.....
000180: 4E 6F 74 65 73 3A 0D 0D 0D 0D 41 20 6C 65 6E 67 Notes:....A leng
000190: 74 68 20 6F 66 20 30 20 69 73 20 74 61 6B 65 6E th of 0 is taken
0001A0: 20 74 6F 20 6D 65 61 6E 20 36 35 35 33 36 20 62 to mean 65536 b
0001B0: 79 74 65 73 2E 20 54 68 65 20 64 61 74 61 20 74 ytes. The data t
0001C0: 6F 20 62 65 20 77 72 69 74 74 65 6E 20 6D 61 79 o be written may
0001D0: 20 0D 8A 6C 69 65 20 61 6E 79 77 68 65 72 65 2C ..lie anywhere,
0001E0: 20 65 76 65 6E 20 75 6E 64 65 72 20 61 20 72 6F even under a ro
0001F0: 6D 2E 0D 0D 0D 0D 54 68 65 20 73 79 6E 63 20 63 m.....The sync c
Size : 512 (Real : 512)
000000: 6E 75 6D 62 65 72 20 28 26 30 45 29 0D 0D 0D 0D number (&0E)....
000010: 49 66 20 75 73 65 72 20 68 69 74 20 65 73 63 61 If user hit esca
000020: 70 65 3A 0D 0D 0D 0D 43 61 72 72 79 20 66 61 6C pe:....Carry fal
000030: 73 65 2E 0D 0D 5A 65 72 6F 20 74 72 75 65 2E 0D se...Zero true..
000040: 0D 0D 0D 56 31 2E 30 0D 0D 2D 2D 2D 2D 20 41 20 ...V1.0..---- A
000050: 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 56 31 2E 31 corrupt.....V1.1
000060: 0D 0D 2D 2D 2D 2D 20 41 20 3D 20 65 72 72 6F 72 ..---- A = error
000070: 20 6E 75 6D 62 65 72 20 28 26 30 30 29 0D 0D 0D number (&00)...
000080: 0D 41 2C 49 58 20 61 6E 64 20 6F 74 68 65 72 20 .A,IX and other
000090: 66 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D flags corrupt...
0000A0: 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ..--------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 8A 0D 0D 26 42 43 ---------....&BC
0000F0: 39 38 20 2D 20 43 41 53 20 4F 55 54 20 44 49 52 98 - CAS OUT DIR
000100: 45 43 54 20 2D 20 57 72 69 74 65 20 74 68 65 20 ECT - Write the
000110: 6F 75 74 70 75 74 20 66 69 6C 65 20 66 72 6F 6D output file from
000120: 20 73 74 6F 72 65 2E 0D 0D 0D 0D 45 6E 74 72 79 store.....Entry
000130: 3A 0D 0D 0D 0D 48 4C 20 3D 20 61 64 64 72 65 73 :....HL = addres
000140: 73 20 6F 66 20 74 68 65 20 64 61 74 61 20 74 6F s of the data to
000150: 20 77 72 69 74 65 0D 0D 44 45 20 3D 20 6C 65 6E write..DE = len
000160: 67 74 68 20 6F 66 20 64 61 74 61 20 74 6F 20 77 gth of data to w
000170: 72 69 74 65 0D 0D 42 43 20 3D 20 65 6E 74 72 79 rite..BC = entry
000180: 20 61 64 64 72 65 73 73 0D 0D 41 20 3D 20 66 69 address..A = fi
000190: 6C 65 20 74 79 70 65 0D 0D 0D 0D 45 78 69 74 3A le type....Exit:
0001A0: 0D 0D 0D 0D 49 66 20 66 69 6C 65 20 77 61 73 20 ....If file was
0001B0: 77 72 69 74 74 65 6E 20 4F 4B 3A 0D 0D 0D 0D 43 written OK:....C
0001C0: 61 72 72 79 20 74 72 75 65 2E 0D 0D 5A 65 72 6F arry true...Zero
0001D0: 20 66 61 6C 73 65 2E 0D 0D 41 20 63 6F 72 72 75 false...A corru
0001E0: 70 74 2E 0D 0D 0D 0D 49 66 20 74 68 65 20 73 74 pt.....If the st
0001F0: 72 65 61 6D 20 69 73 20 6E 6F 74 20 6F 70 65 6E ream is not open
Size : 512 (Real : 512)
000000: 68 61 72 61 74 63 72 65 20 69 73 20 75 73 65 64 haratcre is used
000010: 20 74 6F 20 64 69 73 74 69 6E 67 75 69 73 68 20 to distinguish
000020: 68 65 61 64 65 72 20 72 65 63 6F 72 64 73 20 28 header records (
000030: 73 79 6E 63 20 69 73 20 26 32 63 29 20 0D 8A 66 sync is &2c) ..f
000040: 72 6F 6D 20 64 61 74 61 20 72 65 63 6F 72 64 73 rom data records
000050: 20 28 73 79 6E 63 20 69 73 20 26 31 36 29 2E 90 (sync is &16)..
000060: 20 4F 74 68 65 72 90 20 73 79 6E 63 20 63 68 61 Other. sync cha
000070: 72 61 63 74 65 72 73 20 63 6F 75 6C 64 20 62 65 racters could be
000080: 20 75 73 65 64 20 0D 8A 62 75 74 20 74 68 65 20 used ..but the
000090: 72 65 73 75 6C 74 69 6E 67 20 72 65 63 6F 72 64 resulting record
0000A0: 20 77 6F 75 6C 64 20 72 65 71 75 69 72 65 90 20 would require.
0000B0: 73 70 65 63 69 61 6C 90 20 61 63 74 69 6F 6E 20 special. action
0000C0: 74 6F 20 62 65 20 74 61 6B 65 6E 20 74 6F 20 0D to be taken to .
0000D0: 8A 72 65 61 64 20 69 74 2E 0D 0D 0D 0D 54 68 65 .read it.....The
0000E0: 20 65 72 72 6F 72 20 63 6F 64 65 73 20 61 72 65 error codes are
0000F0: 3A 0D 0D 0D 0D 30 20 2D 20 54 68 65 20 65 73 63 :....0 - The esc
000100: 61 70 65 20 6B 65 79 20 77 61 73 20 70 72 65 73 ape key was pres
000110: 73 65 64 0D 0D 31 20 2D 20 54 68 65 20 63 61 73 sed..1 - The cas
000120: 73 65 74 74 65 20 6D 61 6E 61 67 65 72 20 77 61 sette manager wa
000130: 73 20 75 6E 61 62 6C 65 20 74 6F 90 20 67 65 74 s unable to. get
000140: 20 62 61 63 6B 20 74 6F 20 77 72 69 74 69 6E 67 back to writing
000150: 20 61 20 62 69 74 20 66 61 73 74 20 0D 8A 20 20 a bit fast ..
000160: 20 20 65 6E 6F 75 67 68 2E 0D 0D 0D 0D 54 68 65 enough.....The
000170: 20 63 61 73 73 65 74 74 65 20 6D 6F 74 6F 72 20 cassette motor
000180: 69 73 20 74 75 72 6E 65 64 20 6F 6E 90 20 62 79 is turned on. by
000190: 90 20 74 68 69 73 20 72 6F 75 74 69 6E 65 20 61 . this routine a
0001A0: 6E 64 20 74 68 65 6E 20 72 65 73 74 6F 72 65 64 nd then restored
0001B0: 20 74 6F 20 0D 8A 69 74 73 20 6F 72 69 67 69 6E to ..its origin
0001C0: 61 6C 20 73 74 61 74 75 73 2E 0D 0D 0D 0D 49 6E al status.....In
0001D0: 74 65 72 75 70 74 73 20 61 72 65 20 64 69 73 61 terupts are disa
0001E0: 62 6C 65 64 20 61 6E 64 20 74 68 65 20 73 6F 75 bled and the sou
0001F0: 6E 64 90 20 6D 61 6E 61 67 65 72 90 20 69 73 20 nd. manager. is
Size : 512 (Real : 512)
000000: 43 4F 4E 4E 45 43 54 4F 52 53 0D 3D 3D 3D 3D 3D CONNECTORS.=====
000010: 3D 3D 3D 3D 3D 0D 0D 0D 4E 43 20 2D 09 50 69 6E =====...NC -.Pin
000020: 20 6E 6F 74 20 63 6F 6E 6E 65 63 74 65 64 0D 0D not connected..
000030: 41 20 62 61 72 20 61 62 6F 76 65 20 74 68 65 20 A bar above the
000040: 70 69 6E 20 6E 61 6D 65 2C 20 69 6E 64 69 63 61 pin name, indica
000050: 74 65 73 20 74 68 61 74 20 74 68 65 20 73 69 67 tes that the sig
000060: 6E 61 6C 20 69 73 20 61 63 74 69 76 65 20 77 68 nal is active wh
000070: 65 6E 20 6C 6F 77 2C 0D 6F 72 20 61 20 30 56 20 en low,.or a 0V
000080: 69 73 20 61 70 70 6C 69 65 64 2E 0D 0D 47 4E 44 is applied...GND
000090: 09 2D 20 30 56 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D .- 0V..=========
0000A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000E0: 3D 3D 3D 3D 3D 3D 0D 0D 0D 50 72 69 6E 74 65 72 ======...Printer
0000F0: 20 50 6F 72 74 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D Port.==========
000100: 3D 3D 0D 0D 09 09 41 73 20 73 65 65 6E 20 66 72 ==....As seen fr
000110: 6F 6D 20 74 68 65 20 72 65 61 72 0D 0D 0D 0D 31 om the rear....1
000120: 37 20 31 36 20 31 35 20 31 34 20 31 33 20 31 32 7 16 15 14 13 12
000130: 20 31 31 20 31 30 20 39 20 20 38 20 20 37 20 20 11 10 9 8 7
000140: 36 20 20 35 20 20 34 20 20 33 20 20 32 20 20 31 6 5 4 3 2 1
000150: 0D 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 .- - - - -
000160: 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D - - - - - -
000170: 20 20 2D 20 20 2D 7C 7C 2D 20 20 2D 20 20 2D 20 - -||- - -
000180: 20 2D 20 0D 2D 20 20 2D 20 20 2D 20 20 2D 20 20 - .- - - -
000190: 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D - - - - - -
0001A0: 20 20 2D 20 20 2D 20 20 2D 7C 7C 2D 20 20 2D 20 - - -||- -
0001B0: 20 2D 20 20 2D 0D 33 35 20 33 34 20 33 33 20 33 - -.35 34 33 3
0001C0: 32 20 33 31 20 33 30 20 32 39 20 32 38 20 32 37 2 31 30 29 28 27
0001D0: 20 32 36 20 32 35 20 32 34 20 32 33 20 32 32 20 26 25 24 23 22
0001E0: 32 31 20 32 30 20 31 39 0D 0D 09 5F 5F 5F 5F 5F 21 20 19..._____
0001F0: 5F 0D 31 09 53 74 72 6F 62 65 0D 0D 32 09 44 30 _.1.Strobe..2.D0
Size : 512 (Real : 512)
000000: 73 68 75 74 20 64 6F 77 6E 20 73 6F 20 74 68 61 shut down so tha
000010: 74 20 6E 6F 20 0D 8A 6E 6F 74 65 20 6C 61 73 74 t no ..note last
000020: 73 20 66 6F 72 20 74 68 65 20 64 75 72 61 74 69 s for the durati
000030: 6F 6E 20 6F 66 20 74 68 65 20 72 65 63 6F 72 64 on of the record
000040: 20 62 65 69 6E 67 20 6C 6F 61 64 65 64 2E 0D 0D being loaded...
000050: 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ..--------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 0D 0D 26 42 43 41 --------....&BCA
0000A0: 31 20 2D 20 43 41 53 20 52 45 41 44 20 2D 20 52 1 - CAS READ - R
0000B0: 65 61 64 20 61 20 72 65 63 6F 72 64 20 66 72 6F ead a record fro
0000C0: 6D 20 74 61 70 65 0D 0D 0D 0D 45 6E 74 72 79 3A m tape....Entry:
0000D0: 0D 0D 0D 0D 48 4C 20 3D 20 61 64 64 72 65 73 73 ....HL = address
0000E0: 20 74 6F 20 70 75 74 20 64 61 74 61 0D 0D 44 45 to put data..DE
0000F0: 20 3D 20 6C 65 6E 67 74 68 20 6F 66 20 64 61 74 = length of dat
000100: 61 0D 0D 41 20 3D 20 73 79 6E 63 20 63 68 61 72 a..A = sync char
000110: 61 63 74 65 72 20 65 78 70 65 63 74 65 64 20 61 acter expected a
000120: 74 20 65 6E 64 20 6F 66 20 6C 65 61 64 65 72 2E t end of leader.
000130: 0D 0D 0D 0D 45 78 69 74 3A 0D 0D 0D 0D 49 66 20 ....Exit:....If
000140: 72 65 63 6F 72 64 20 77 61 73 20 72 65 61 64 20 record was read
000150: 4F 4B 3A 0D 0D 0D 0D 43 61 72 72 79 20 74 72 75 OK:....Carry tru
000160: 65 2E 20 41 20 63 6F 72 72 75 70 74 2E 0D 0D 0D e. A corrupt....
000170: 0D 49 66 20 61 6E 20 65 72 72 6F 72 20 6F 63 63 .If an error occ
000180: 75 72 65 64 3A 0D 0D 0D 0D 43 61 72 72 79 20 66 ured:....Carry f
000190: 61 6C 73 65 2E 20 41 20 3D 20 65 72 72 6F 72 20 alse. A = error
0001A0: 63 6F 64 65 0D 0D 0D 0D 42 43 2C 44 45 2C 48 4C code....BC,DE,HL
0001B0: 2C 49 58 20 61 6E 64 20 6F 74 68 65 72 20 66 6C ,IX and other fl
0001C0: 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D ags corrupt.....
0001D0: 4E 6F 74 65 73 3A 0D 0D 0D 0D 49 74 20 69 73 20 Notes:....It is
0001E0: 6E 6F 74 20 6E 65 63 65 73 73 61 72 79 20 74 6F not necessary to
0001F0: 20 72 65 61 64 20 61 6C 6C 90 20 74 68 65 90 20 read all. the.
Size : 512 (Real : 512)
000000: 0D 0D 33 09 44 31 0D 0D 34 09 44 32 0D 0D 35 09 ..3.D1..4.D2..5.
000010: 44 33 0D 0D 36 09 44 34 0D 0D 37 09 44 35 0D 0D D3..6.D4..7.D5..
000020: 38 09 44 36 0D 0D 39 09 44 37 0D 0D 31 30 09 4E 8.D6..9.D7..10.N
000030: 43 0D 0D 31 31 09 42 75 73 79 0D 0D 31 32 09 4E C..11.Busy..12.N
000040: 43 0D 0D 31 33 09 4E 43 0D 0D 31 34 09 47 6E 64 C..13.NC..14.Gnd
000050: 0D 0D 31 35 09 4E 43 0D 0D 31 36 09 47 6E 64 0D ..15.NC..16.Gnd.
000060: 0D 31 37 09 4E 43 0D 0D 31 39 09 47 6E 64 0D 0D .17.NC..19.Gnd..
000070: 32 30 09 4E 43 0D 0D 32 31 09 47 6E 64 0D 0D 32 20.NC..21.Gnd..2
000080: 32 09 4E 43 0D 0D 32 33 09 47 6E 64 0D 0D 32 34 2.NC..23.Gnd..24
000090: 09 4E 43 0D 0D 32 35 09 47 6E 64 0D 0D 32 36 09 .NC..25.Gnd..26.
0000A0: 4E 43 0D 0D 32 37 09 47 6E 64 0D 0D 32 38 09 4E NC..27.Gnd..28.N
0000B0: 43 0D 0D 32 39 09 47 6E 64 0D 0D 33 30 09 4E 43 C..29.Gnd..30.NC
0000C0: 0D 0D 33 31 09 47 6E 64 0D 0D 33 32 09 4E 43 0D ..31.Gnd..32.NC.
0000D0: 0D 33 33 09 47 6E 64 0D 0D 3D 3D 3D 3D 3D 3D 3D .33.Gnd..=======
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000100: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000110: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000120: 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D 4A 6F 79 73 =========...Joys
000130: 74 69 63 6B 20 53 6F 63 6B 65 74 0D 3D 3D 3D 3D tick Socket.====
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D 0D 20 ===========....
000150: 20 20 20 20 20 20 20 20 20 20 20 20 41 73 20 73 As s
000160: 65 65 6E 20 66 72 6F 6D 20 74 68 65 20 72 65 61 een from the rea
000170: 72 0D 0D 0D 20 20 20 20 5F 5F 5F 5F 5F 5F 5F 5F r... ________
000180: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000190: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0001A0: 5F 5F 0D 20 20 20 20 5C 20 20 20 20 20 20 20 20 __. \
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 2F 0D 20 20 20 20 20 5C 09 31 09 32 09 33 09 34 /. \.1.2.3.4
0001E0: 09 35 20 20 20 2F 0D 20 20 20 20 20 20 5C 20 20 .5 /. \
0001F0: 2A 20 20 20 20 20 20 2A 20 20 20 20 20 20 20 2A * * *
Size : 512 (Real : 512)
000000: 64 61 74 61 90 20 62 79 74 65 73 20 69 6E 20 74 data. bytes in t
000010: 68 65 20 72 65 63 6F 72 64 2E 20 20 49 66 20 61 he record. If a
000020: 20 0D 8A 6C 65 6E 67 74 68 20 6F 66 20 6C 65 73 ..length of les
000030: 73 20 74 68 61 6E 90 20 74 68 61 74 90 20 77 72 s than. that. wr
000040: 69 74 74 65 6E 90 20 69 73 90 20 73 70 65 63 69 itten. is. speci
000050: 66 69 65 64 90 20 6F 6E 6C 79 20 74 68 61 74 20 fied. only that
000060: 6E 75 6D 62 65 72 20 6F 66 20 0D 8A 62 79 74 65 number of ..byte
000070: 73 20 77 69 6C 6C 20 62 65 20 72 65 61 64 2E 20 s will be read.
000080: 54 72 79 69 6E 67 90 20 74 6F 90 20 72 65 61 64 Trying. to. read
000090: 90 20 6D 6F 72 65 90 20 62 79 74 65 73 20 74 68 . more. bytes th
0000A0: 61 6E 20 74 68 6F 73 65 20 74 68 61 74 20 68 61 an those that ha
0000B0: 76 65 20 0D 8A 62 65 65 6E 20 77 72 69 74 74 65 ve ..been writte
0000C0: 6E 20 77 69 6C 6C 20 67 69 76 65 20 61 6E 20 65 n will give an e
0000D0: 72 72 6F 72 20 28 75 73 75 61 6C 6C 79 20 6F 76 rror (usually ov
0000E0: 65 72 72 75 6E 29 2E 0D 0D 0D 0D 53 65 65 20 43 errun).....See C
0000F0: 41 53 20 57 52 49 54 45 0D 0D 0D 0D 4F 6E 65 20 AS WRITE....One
000100: 65 78 74 72 61 20 65 72 72 6F 72 20 63 61 6E 20 extra error can
000110: 6F 63 63 75 72 3A 0D 0D 0D 0D 32 20 2D 20 41 20 occur:....2 - A
000120: 43 52 43 20 66 61 69 6C 75 72 65 20 77 61 73 20 CRC failure was
000130: 64 65 74 65 63 74 65 64 2E 0D 0D 0D 0D 2D 2D 2D detected.....---
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 0D 0D 0D 0D 26 42 43 41 34 20 2D 20 43 ---....&BCA4 - C
000190: 41 53 20 43 48 45 43 4B 20 2D 20 43 68 65 63 6B AS CHECK - Check
0001A0: 20 61 20 72 65 63 6F 72 64 20 6F 6E 20 63 61 73 a record on cas
0001B0: 73 65 74 74 65 20 77 69 74 68 20 64 61 74 61 20 sette with data
0001C0: 69 6E 20 6D 65 6D 6F 72 79 0D 0D 0D 0D 45 6E 74 in memory....Ent
0001D0: 72 79 3A 0D 0D 0D 0D 48 4C 20 3D 20 73 74 61 72 ry:....HL = star
0001E0: 74 20 61 64 64 72 65 73 73 20 6F 66 20 64 61 74 t address of dat
0001F0: 61 20 74 6F 20 72 65 61 64 0D 0D 44 45 20 3D 20 a to read..DE =
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 2A 20 20 20 20 20 20 2A 20 * *
000010: 20 20 2F 20 0D 20 20 20 20 20 20 20 5C 20 20 20 / . \
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F /
000040: 0D 20 20 20 20 20 20 20 20 5C 20 20 20 20 2A 20 . \ *
000050: 20 20 20 20 20 2A 20 20 20 20 20 20 20 2A 20 20 * *
000060: 20 20 20 20 20 2A 20 20 20 20 2F 0D 09 20 5C 20 * /.. \
000070: 20 20 36 09 20 20 20 20 37 09 20 20 20 20 38 09 6. 7. 8.
000080: 20 20 20 20 39 20 20 20 2F 0D 20 20 20 20 20 20 9 /.
000090: 20 20 20 20 5C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F \___________
0000A0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0000B0: 5F 2F 0D 0D 0D 31 09 55 70 0D 0D 32 09 44 6F 77 _/...1.Up..2.Dow
0000C0: 6E 0D 0D 33 09 4C 65 66 74 0D 0D 34 09 52 69 67 n..3.Left..4.Rig
0000D0: 68 74 0D 0D 35 09 53 70 61 72 65 09 28 45 78 74 ht..5.Spare.(Ext
0000E0: 72 61 20 66 69 72 65 20 62 75 74 74 6F 6E 20 66 ra fire button f
0000F0: 6F 72 20 41 4D 58 20 6D 6F 75 73 65 29 0D 0D 36 or AMX mouse)..6
000100: 09 46 69 72 65 20 32 0D 0D 37 09 46 69 72 65 20 .Fire 2..7.Fire
000110: 31 0D 0D 38 09 43 6F 6D 6D 6F 6E 0D 0D 39 09 43 1..8.Common..9.C
000120: 6F 6D 6D 6F 6E 20 32 0D 0D 3D 3D 3D 3D 3D 3D 3D ommon 2..=======
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000150: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000160: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000170: 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D 53 74 65 72 =========...Ster
000180: 65 6F 20 53 6F 63 6B 65 74 0D 3D 3D 3D 3D 3D 3D eo Socket.======
000190: 3D 3D 3D 3D 3D 3D 3D 0D 0D 20 20 20 20 20 20 20 =======..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 69 ri
0001B0: 67 68 74 0D 20 20 20 20 20 20 20 20 20 20 20 20 ght.
0001C0: 20 20 20 20 20 20 20 20 20 20 7C 0D 20 20 20 20 |.
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 7C 0D 20 20 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F |. __________
0001F0: 5F 5F 20 20 20 20 20 20 20 20 7C 0D 20 2F 20 20 __ |. /
Size : 512 (Real : 512)
000000: 6C 65 6E 67 74 68 20 6F 66 20 64 61 74 61 0D 0D length of data..
000010: 41 20 3D 20 73 79 6E 63 20 63 68 61 72 61 63 74 A = sync charact
000020: 65 72 0D 0D 0D 0D 45 78 69 74 3A 0D 0D 0D 0D 49 er....Exit:....I
000030: 66 20 72 65 63 6F 72 64 20 77 61 73 20 63 68 65 f record was che
000040: 63 6B 65 64 20 4F 4B 3A 0D 0D 0D 0D 43 61 72 72 cked OK:....Carr
000050: 79 20 74 72 75 65 2E 20 41 20 63 6F 72 72 75 70 y true. A corrup
000060: 74 2E 0D 0D 0D 0D 49 66 20 61 6E 20 65 72 72 6F t.....If an erro
000070: 72 20 6F 63 63 75 72 65 64 3A 0D 0D 0D 0D 43 61 r occured:....Ca
000080: 72 72 79 20 66 61 6C 73 65 2E 20 41 20 3D 20 65 rry false. A = e
000090: 72 72 6F 72 20 63 6F 64 65 2E 0D 0D 0D 0D 42 43 rror code.....BC
0000A0: 2C 44 45 2C 48 4C 2C 49 58 20 61 6E 64 20 6F 74 ,DE,HL,IX and ot
0000B0: 68 65 72 20 66 6C 61 67 73 20 63 6F 72 72 75 70 her flags corrup
0000C0: 74 2E 0D 0D 0D 0D 4E 6F 74 65 73 3A 0D 0D 0D 0D t.....Notes:....
0000D0: 53 65 65 20 43 41 53 20 52 45 41 44 0D 0D 0D 0D See CAS READ....
0000E0: 4F 6E 65 20 65 78 74 72 61 20 63 6F 64 65 20 6D One extra code m
0000F0: 61 79 20 62 65 20 72 65 74 75 72 6E 65 64 20 62 ay be returned b
000100: 79 20 74 68 69 73 20 72 6F 75 74 69 6E 65 2E 0D y this routine..
000110: 0D 0D 0D 33 20 2D 20 54 68 65 20 64 61 74 61 20 ...3 - The data
000120: 69 73 20 64 69 66 66 65 72 65 6E 74 20 74 6F 20 is different to
000130: 74 68 61 74 20 69 6E 20 6D 65 6D 6F 72 79 0D 0D that in memory..
000140: 0D 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ..--------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 1A 24 24 FF 00 FF --------...$$...
000190: 6F 77 73 3A 0D 0D 26 30 45 09 46 69 6C 65 20 69 ows:..&0E.File i
0001A0: 73 20 6E 6F 74 20 6F 70 65 6E 20 61 73 20 65 78 s not open as ex
0001B0: 70 65 63 74 65 64 0D 26 30 46 09 48 61 72 64 20 pected.&0F.Hard
0001C0: 65 6E 64 20 6F 66 20 66 69 6C 65 0D 0D 1A 6E 63 end of file...nc
0001D0: 74 69 6F 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A tio.............
0001E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0001F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 7C 5F 5F 5F 5F 5F |_____
000010: 20 5F 5F 5F 20 2D 2D 0D 7C 20 20 20 20 20 20 20 ___ --.|
000020: 20 20 20 20 20 20 7C 5F 5F 5F 5F 5F 7C 5F 5F 5F |_____|___
000030: 7C 20 20 7C 0D 20 5C 5F 5F 5F 5F 5F 5F 5F 5F 5F | |. \_________
000040: 5F 5F 5F 7C 20 20 20 20 20 20 20 20 20 20 2D 2D ___| --
000050: 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000060: 20 20 7C 20 20 20 20 20 20 20 20 7C 0D 20 20 20 | |.
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 |
000080: 20 20 20 20 20 20 20 7C 0D 20 20 20 20 20 20 20 |.
000090: 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 |
0000A0: 20 20 6C 65 66 74 0D 20 20 20 20 20 20 20 20 20 left.
0000B0: 20 20 20 20 20 20 20 67 6E 64 0D 0D 0D 3D 3D 3D gnd...===
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000100: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D =============...
000110: 4D 6F 6E 69 74 6F 72 20 53 6F 63 6B 65 74 0D 3D Monitor Socket.=
000120: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D =============...
000130: 09 09 73 65 65 6E 20 66 72 6F 6D 20 72 65 61 72 ..seen from rear
000140: 0D 0D 0D 09 09 20 20 20 20 20 0D 09 09 20 20 20 ..... ...
000150: 20 5F 5F 5F 20 20 20 5F 5F 5F 0D 20 20 20 20 20 ___ ___.
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 20 /
000170: 20 20 7C 5F 7C 20 20 20 5C 0D 20 20 20 20 20 20 |_| \.
000180: 20 20 20 20 20 20 20 20 20 20 20 20 2F 20 35 20 / 5
000190: 20 20 20 20 20 20 31 20 5C 0D 20 20 20 20 20 20 1 \.
0001A0: 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 2A 20 | *
0001B0: 20 20 36 20 20 20 2A 20 20 7C 0D 20 20 20 20 20 6 * |.
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 |
0001D0: 20 20 20 2A 20 20 20 20 20 20 7C 0D 20 20 20 20 * |.
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 |
0001F0: 2A 20 20 20 20 20 20 20 2A 20 20 7C 0D 20 20 20 * * |.
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5C \
000010: 20 34 20 20 20 2A 33 20 20 32 20 2F 0D 09 09 20 4 *3 2 /...
000020: 20 20 5C 5F 5F 5F 5F 5F 5F 5F 5F 5F 2F 0D 0D 0D \_________/...
000030: 31 09 52 65 64 20 28 41 6E 61 6C 6F 67 75 65 20 1.Red (Analogue
000040: 73 69 67 6E 61 6C 29 0D 0D 32 09 47 72 65 65 6E signal)..2.Green
000050: 20 28 41 6E 61 6C 6F 67 75 65 20 73 69 67 6E 61 (Analogue signa
000060: 6C 29 0D 0D 33 09 42 6C 75 65 20 28 41 6E 61 6C l)..3.Blue (Anal
000070: 6F 67 75 65 20 73 69 67 6E 61 6C 29 0D 0D 34 09 ogue signal)..4.
000080: 43 6F 6D 70 6F 73 69 74 65 20 53 79 6E 63 20 28 Composite Sync (
000090: 63 6F 6D 62 69 6E 65 64 20 48 6F 72 69 7A 6F 6E combined Horizon
0000A0: 74 61 6C 20 61 6E 64 20 56 65 72 69 63 61 6C 20 tal and Verical
0000B0: 73 79 6E 63 20 73 69 67 6E 61 6C 73 29 0D 0D 35 sync signals)..5
0000C0: 09 47 6E 64 0D 0D 36 20 20 20 09 4C 75 6D 69 6E .Gnd..6 .Lumin
0000D0: 61 6E 63 65 20 28 61 6E 61 6C 6F 67 75 65 20 73 ance (analogue s
0000E0: 69 67 6E 61 6C 3B 20 6F 6E 6C 79 20 61 70 70 6C ignal; only appl
0000F0: 69 65 73 20 74 6F 20 47 72 65 65 6E 20 53 63 72 ies to Green Scr
000100: 65 65 6E 20 4D 6F 6E 69 74 6F 72 73 29 0D 0D 0D een Monitors)...
000110: 0D 4E 6F 74 65 3A 0D 0D 46 6F 72 20 63 6F 6C 6F .Note:..For colo
000120: 75 72 20 6D 6F 6E 69 74 6F 72 73 3A 0D 0D 31 29 ur monitors:..1)
000130: 20 4F 6E 6C 79 20 74 68 65 20 52 65 64 2C 20 47 Only the Red, G
000140: 72 65 65 6E 2C 20 42 6C 75 65 2C 20 43 6F 6D 70 reen, Blue, Comp
000150: 6F 73 69 74 65 20 53 79 6E 63 2C 20 61 6E 64 20 osite Sync, and
000160: 47 6E 64 20 73 69 67 6E 61 6C 73 20 61 72 65 20 Gnd signals are
000170: 75 73 65 64 2E 0D 0D 32 29 20 54 68 65 20 52 65 used...2) The Re
000180: 64 2C 20 47 72 65 65 6E 20 61 6E 64 20 42 6C 75 d, Green and Blu
000190: 65 20 61 72 65 20 61 6E 61 6C 6F 67 75 65 20 73 e are analogue s
0001A0: 69 67 6E 61 6C 73 2E 20 54 68 65 20 76 6F 6C 74 ignals. The volt
0001B0: 61 67 65 20 6F 66 20 74 68 65 20 73 69 67 6E 61 age of the signa
0001C0: 6C 0D 20 20 20 64 65 70 65 6E 64 73 20 6F 6E 20 l. depends on
0001D0: 74 68 65 20 61 6D 6F 75 6E 74 20 6F 66 20 43 6F the amount of Co
0001E0: 6C 6F 75 72 20 70 72 65 73 65 6E 74 2E 0D 0D 33 lour present...3
0001F0: 29 20 4F 6E 6C 79 20 33 20 6C 65 76 65 6C 73 20 ) Only 3 levels
Size : 512 (Real : 512)
000000: 73 73 2E 20 54 68 65 20 61 64 64 72 65 73 73 20 ss. The address
000010: 6C 69 6E 65 73 20 68 6F 6C 64 20 74 68 65 20 70 lines hold the p
000020: 6F 72 74 20 61 64 64 72 65 73 73 2C 20 61 6E 64 ort address, and
000030: 20 74 68 65 0D 09 09 64 61 74 61 20 6C 69 6E 65 the...data line
000040: 73 20 68 6F 6C 64 20 74 68 65 20 62 79 74 65 20 s hold the byte
000050: 6F 66 20 64 61 74 61 2E 0D 5F 5F 0D 52 64 09 2D of data..__.Rd.-
000060: 09 69 6E 64 69 63 61 74 65 73 20 74 68 65 20 43 .indicates the C
000070: 50 55 20 69 73 20 72 65 61 64 69 6E 67 20 64 61 PU is reading da
000080: 74 61 0D 5F 5F 0D 57 72 09 2D 09 69 6E 64 69 63 ta.__.Wr.-.indic
000090: 61 74 65 73 20 74 68 65 20 43 50 55 20 69 73 20 ates the CPU is
0000A0: 77 72 69 74 69 6E 67 20 64 61 74 61 0D 5F 5F 5F writing data.___
0000B0: 5F 5F 0D 52 65 73 65 74 09 2D 09 77 68 65 6E 20 __.Reset.-.when
0000C0: 74 68 69 73 20 73 69 67 6E 61 6C 20 69 73 20 6C this signal is l
0000D0: 6F 77 2C 20 74 68 65 20 43 50 55 20 72 65 73 65 ow, the CPU rese
0000E0: 74 73 2C 20 74 68 65 20 70 72 6F 67 72 61 6D 20 ts, the program
0000F0: 63 6F 75 6E 74 65 72 0D 09 09 62 65 63 6F 6D 65 counter...become
000100: 73 20 7A 65 72 6F 2C 20 61 6E 64 20 74 68 65 20 s zero, and the
000110: 70 72 6F 67 72 61 6D 20 69 73 20 73 74 61 72 74 program is start
000120: 65 64 20 65 78 65 63 75 74 69 6E 67 2E 0D 5F 5F ed executing..__
000130: 5F 0D 49 72 71 09 2D 09 57 68 65 6E 20 6C 6F 77 _.Irq.-.When low
000140: 2C 20 74 68 65 20 43 50 55 20 69 73 20 69 6E 74 , the CPU is int
000150: 65 72 72 75 70 74 65 64 2E 0D 0D 0D 53 6F 75 6E errupted....Soun
000160: 64 09 2D 09 6D 6F 6E 6F 20 6F 75 74 70 75 74 20 d.-.mono output
000170: 6F 66 20 61 6C 6C 20 33 20 63 68 61 6E 6E 65 6C of all 3 channel
000180: 73 20 6D 69 78 65 64 20 74 6F 67 65 74 68 65 72 s mixed together
000190: 0D 0D 47 6E 64 09 2D 09 30 56 20 73 75 70 70 6C ..Gnd.-.0V suppl
0001A0: 79 0D 0D 2B 35 76 09 2D 09 35 76 20 53 75 70 70 y..+5v.-.5v Supp
0001B0: 6C 79 0D 0D 30 09 2D 09 34 4D 68 7A 20 43 6C 6F ly..0.-.4Mhz Clo
0001C0: 63 6B 20 28 66 6F 72 20 64 72 69 76 69 6E 67 20 ck (for driving
0001D0: 74 68 65 20 43 50 55 29 0D 0D 0D 0D 0D 3D 3D 3D the CPU).....===
0001E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
Size : 512 (Real : 512)
000000: 6F 66 20 63 6F 6C 6F 75 72 20 61 72 65 20 75 73 of colour are us
000010: 65 64 2E 20 28 4F 6E 2C 20 68 61 6C 66 2D 6F 6E ed. (On, half-on
000020: 2C 20 6F 66 66 29 0D 20 20 20 41 6C 6C 20 63 6F , off). All co
000030: 6D 62 69 6E 61 74 61 74 69 6F 6E 73 20 6F 66 20 mbinatations of
000040: 74 68 65 73 65 20 77 69 6C 6C 20 67 69 76 65 20 these will give
000050: 32 37 20 63 6F 6C 6F 75 72 73 2E 0D 0D 46 6F 72 27 colours...For
000060: 20 67 72 65 65 6E 20 73 63 72 65 65 6E 20 6D 6F green screen mo
000070: 6E 69 74 6F 72 73 3A 0D 0D 31 29 20 4F 6E 6C 79 nitors:..1) Only
000080: 20 6C 75 6D 69 6E 61 6E 63 65 20 61 6E 64 20 47 luminance and G
000090: 6E 64 20 73 69 67 6E 61 6C 73 20 61 72 65 20 75 nd signals are u
0000A0: 73 65 64 2E 0D 0D 32 29 20 4C 75 6D 69 6E 61 6E sed...2) Luminan
0000B0: 63 65 20 69 73 20 61 20 61 6E 61 6C 6F 67 75 65 ce is a analogue
0000C0: 20 73 69 67 6E 61 6C 2E 0D 20 20 20 54 68 65 72 signal.. Ther
0000D0: 65 20 61 72 65 20 32 37 20 6C 65 76 65 6C 73 20 e are 27 levels
0000E0: 6F 66 20 67 72 65 65 6E 20 72 61 6E 67 69 6E 67 of green ranging
0000F0: 20 66 72 6F 6D 20 6E 6F 6E 65 2C 20 74 6F 20 66 from none, to f
000100: 75 6C 6C 20 67 72 65 65 6E 2E 0D 0D 0D 3D 3D 3D ull green....===
000110: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000120: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000150: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D =============...
000160: 54 61 70 65 20 53 6F 63 6B 65 74 0D 3D 3D 3D 3D Tape Socket.====
000170: 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D 09 09 73 65 65 6E =======.....seen
000180: 20 66 72 6F 6D 20 72 65 61 72 0D 09 09 20 20 20 from rear...
000190: 20 20 0D 09 09 20 20 20 20 5F 5F 5F 20 20 20 5F ... ___ _
0001A0: 5F 5F 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 __.
0001B0: 20 20 20 20 20 20 2F 20 20 20 7C 5F 7C 20 20 20 / |_|
0001C0: 5C 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \.
0001D0: 20 20 20 20 2F 20 33 20 20 20 20 20 20 20 31 20 / 3 1
0001E0: 5C 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \.
0001F0: 20 20 20 7C 20 2A 20 20 20 20 20 20 20 20 20 2A | * *
Size : 512 (Real : 512)
000000: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000010: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D 44 ============...D
000030: 69 73 63 20 44 72 69 76 65 20 32 20 53 6F 63 6B isc Drive 2 Sock
000040: 65 74 20 28 43 50 43 36 36 34 2F 36 31 32 38 29 et (CPC664/6128)
000050: 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D .===============
000060: 3D 3D 3D 3D 0D 0D 0D 09 09 09 73 65 65 6E 20 66 ====......seen f
000070: 72 6F 6D 20 72 65 61 72 0D 0D 0D 20 32 20 20 34 rom rear... 2 4
000080: 20 20 36 20 20 38 20 31 30 20 31 32 20 31 34 20 6 8 10 12 14
000090: 31 36 20 31 38 20 32 30 20 32 32 20 32 34 20 32 16 18 20 22 24 2
0000A0: 36 20 32 38 20 33 30 20 33 32 20 33 34 0D 20 2D 6 28 30 32 34. -
0000B0: 20 20 2D 7C 7C 2D 20 20 2D 20 20 2D 20 20 2D 20 -||- - - -
0000C0: 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 - - - - -
0000D0: 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D - - - - - -
0000E0: 0D 20 2D 20 20 2D 7C 7C 2D 20 20 2D 20 20 2D 20 . - -||- - -
0000F0: 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 - - - - -
000100: 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D - - - - - -
000110: 20 20 2D 0D 20 31 20 20 33 20 20 35 20 20 37 20 -. 1 3 5 7
000120: 20 39 20 31 31 20 31 33 20 31 35 20 31 37 20 31 9 11 13 15 17 1
000130: 39 20 32 31 20 32 33 20 32 35 20 32 37 20 32 39 9 21 23 25 27 29
000140: 20 33 31 20 33 33 0D 0D 20 20 20 20 20 20 20 20 31 33..
000150: 5F 5F 5F 5F 5F 0D 31 09 52 65 61 64 79 0D 0D 32 _____.1.Ready..2
000160: 09 47 6E 64 0D 09 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F .Gnd..__________
000170: 5F 5F 5F 0D 33 09 53 69 64 65 20 31 20 73 65 6C ___.3.Side 1 sel
000180: 65 63 74 0D 0D 34 09 47 6E 64 0D 09 5F 5F 5F 5F ect..4.Gnd..____
000190: 5F 5F 5F 5F 5F 0D 35 09 52 65 61 64 20 64 61 74 _____.5.Read dat
0001A0: 61 0D 0D 36 09 47 6E 64 0D 09 5F 5F 5F 5F 5F 5F a..6.Gnd..______
0001B0: 5F 5F 5F 5F 5F 5F 5F 0D 37 09 57 72 69 74 65 20 _______.7.Write
0001C0: 50 72 6F 74 65 63 74 0D 0D 38 09 47 6E 64 0D 09 Protect..8.Gnd..
0001D0: 5F 5F 5F 5F 5F 5F 5F 0D 39 09 54 72 61 63 6B 20 _______.9.Track
0001E0: 30 0D 0D 31 30 09 47 6E 64 0D 09 5F 5F 5F 5F 5F 0..10.Gnd.._____
0001F0: 5F 5F 5F 5F 5F 0D 31 31 09 57 72 69 74 65 20 47 _____.11.Write G
Size : 512 (Real : 512)
000000: 20 7C 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 |.
000010: 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 |
000020: 20 20 7C 0D 20 20 20 20 20 20 20 20 20 20 20 20 |.
000030: 20 20 20 20 20 7C 20 20 2A 20 20 20 20 20 20 20 | *
000040: 2A 20 20 7C 0D 20 20 20 20 20 20 20 20 20 20 20 * |.
000050: 20 20 20 20 20 20 20 5C 20 35 20 20 20 2A 32 20 \ 5 *2
000060: 20 34 20 2F 0D 09 09 20 20 20 5C 5F 5F 5F 5F 5F 4 /... \_____
000070: 5F 5F 5F 5F 2F 0D 0D 0D 31 09 52 65 6D 6F 74 65 ____/...1.Remote
000080: 20 53 77 69 74 63 68 20 28 54 61 70 65 20 6D 6F Switch (Tape mo
000090: 74 6F 72 20 6F 6E 2F 6F 66 66 20 73 77 69 74 63 tor on/off switc
0000A0: 68 29 0D 0D 32 09 47 6E 64 0D 0D 33 09 52 65 6D h)..2.Gnd..3.Rem
0000B0: 6F 74 65 20 53 77 69 74 63 68 20 28 54 61 70 65 ote Switch (Tape
0000C0: 20 6D 6F 74 6F 72 20 6F 6E 2F 6F 66 66 20 73 77 motor on/off sw
0000D0: 69 74 63 68 29 0D 0D 34 09 44 61 74 61 20 69 6E itch)..4.Data in
0000E0: 20 28 64 61 74 61 20 72 65 61 64 29 0D 0D 35 09 (data read)..5.
0000F0: 44 61 74 61 20 6F 75 74 20 28 64 61 74 61 20 77 Data out (data w
000100: 72 69 74 74 65 6E 29 0D 0D 3D 3D 3D 3D 3D 3D 3D ritten)..=======
000110: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000120: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000150: 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D 45 78 70 61 =========...Expa
000160: 6E 73 69 6F 6E 20 53 6F 63 6B 65 74 0D 3D 3D 3D nsion Socket.===
000170: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D =============...
000180: 09 09 09 73 65 65 6E 20 66 72 6F 6D 20 72 65 61 ...seen from rea
000190: 72 0D 0D 0D 34 39 20 34 37 20 34 35 20 34 33 20 r...49 47 45 43
0001A0: 34 31 20 33 39 20 33 37 20 33 35 20 33 33 20 33 41 39 37 35 33 3
0001B0: 31 20 32 39 20 32 37 20 32 35 20 32 33 20 32 31 1 29 27 25 23 21
0001C0: 20 31 39 20 31 37 20 31 35 20 31 33 20 31 31 20 19 17 15 13 11
0001D0: 20 39 20 20 37 20 20 35 20 20 33 20 20 31 0D 20 9 7 5 3 1.
0001E0: 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D - - - - - -
0001F0: 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 - - - - -
Size : 512 (Real : 512)
000000: 61 74 65 0D 0D 31 32 09 47 6E 64 0D 09 5F 5F 5F ate..12.Gnd..___
000010: 5F 5F 5F 5F 5F 5F 5F 0D 31 33 09 57 72 69 74 65 _______.13.Write
000020: 20 44 61 74 61 0D 0D 31 34 09 47 6E 64 0D 09 5F Data..14.Gnd.._
000030: 5F 5F 5F 0D 31 35 09 53 74 65 70 0D 0D 31 36 09 ___.15.Step..16.
000040: 47 6E 64 0D 09 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F Gnd..___________
000050: 5F 5F 5F 5F 5F 0D 31 37 09 44 69 72 65 63 74 69 _____.17.Directi
000060: 6F 6E 20 53 65 6C 65 63 74 0D 0D 31 38 09 47 6E on Select..18.Gn
000070: 64 0D 09 5F 5F 5F 5F 5F 5F 5F 5F 0D 31 39 09 4D d..________.19.M
000080: 6F 74 6F 72 20 4F 6E 0D 0D 32 30 09 47 6E 64 0D otor On..20.Gnd.
000090: 0D 32 31 09 4E 43 0D 0D 32 32 09 47 6E 64 0D 09 .21.NC..22.Gnd..
0000A0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 0D 32 ______________.2
0000B0: 33 09 44 72 69 76 65 20 53 65 6C 65 63 74 20 31 3.Drive Select 1
0000C0: 0D 0D 32 34 09 47 6E 64 0D 0D 32 35 09 4E 43 0D ..24.Gnd..25.NC.
0000D0: 0D 32 36 09 47 6E 64 0D 09 5F 5F 5F 5F 5F 0D 32 .26.Gnd.._____.2
0000E0: 37 09 49 6E 64 65 78 0D 0D 32 38 09 47 6E 64 0D 7.Index..28.Gnd.
0000F0: 0D 32 39 09 4E 43 0D 0D 33 30 09 47 6E 64 0D 0D .29.NC..30.Gnd..
000100: 33 31 09 4E 43 0D 0D 33 32 09 47 6E 64 0D 0D 33 31.NC..32.Gnd..3
000110: 33 09 4E 43 0D 0D 33 34 09 47 6E 64 0D 0D 1A 20 3.NC..34.Gnd...
000120: 6C 6F 77 2C 0D 6F 1A 70 65 6E 20 61 73 20 65 78 low,.o.pen as ex
000130: 70 65 63 74 65 64 0D 26 30 46 09 48 61 72 64 20 pected.&0F.Hard
000140: 65 6E 64 20 6F 66 20 66 69 6C 65 0D 0D 1A 6E 63 end of file...nc
000150: 74 69 6F 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A tio.............
000160: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000170: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000180: 65 63 74 0D 0D 34 09 47 6E 64 0D 09 5F 5F 5F 5F ect..4.Gnd..____
000190: 5F 5F 5F 5F 5F 0D 35 09 52 65 61 64 20 64 61 74 _____.5.Read dat
0001A0: 61 0D 0D 36 09 47 6E 64 0D 09 5F 5F 5F 5F 5F 5F a..6.Gnd..______
0001B0: 5F 5F 5F 5F 5F 5F 5F 0D 37 09 57 72 69 74 65 20 _______.7.Write
0001C0: 50 72 6F 74 65 63 74 0D 0D 38 09 47 6E 64 0D 09 Protect..8.Gnd..
0001D0: 5F 5F 5F 5F 5F 5F 5F 0D 39 09 54 72 61 63 6B 20 _______.9.Track
0001E0: 30 0D 0D 31 30 09 47 6E 64 0D 09 5F 5F 5F 5F 5F 0..10.Gnd.._____
0001F0: 5F 5F 5F 5F 5F 0D 31 31 09 57 72 69 74 65 20 47 _____.11.Write G
Size : 512 (Real : 512)
000000: 20 2D 20 20 2D 20 20 2D 7C 7C 2D 20 20 2D 20 20 - - -||- -
000010: 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D - - - - - -
000020: 20 20 2D 20 20 2D 20 20 2D 0D 20 2D 20 20 2D 20 - - -. - -
000030: 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 - - - - -
000040: 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D - - - - - -
000050: 20 20 2D 7C 7C 2D 20 20 2D 20 20 2D 20 20 2D 20 -||- - - -
000060: 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 2D 20 20 - - - - -
000070: 2D 20 20 2D 0D 35 30 20 34 38 20 34 36 20 34 34 - -.50 48 46 44
000080: 20 34 32 20 34 30 20 33 38 20 33 36 20 33 34 20 42 40 38 36 34
000090: 33 32 20 33 30 20 32 38 20 32 36 20 32 34 20 32 32 30 28 26 24 2
0000A0: 32 20 32 30 20 31 38 20 31 36 20 31 34 20 31 32 2 20 18 16 14 12
0000B0: 20 31 30 20 20 38 20 20 36 20 20 34 20 20 32 0D 10 8 6 4 2.
0000C0: 0D 41 78 78 20 2D 20 41 64 64 72 65 73 73 20 6C .Axx - Address l
0000D0: 69 6E 65 73 0D 44 78 20 20 2D 20 44 61 74 61 20 ines.Dx - Data
0000E0: 6C 69 6E 65 73 0D 0D 0D 0D 31 09 53 6F 75 6E 64 lines....1.Sound
0000F0: 20 0D 0D 32 09 47 6E 64 0D 0D 33 09 41 31 35 0D ..2.Gnd..3.A15.
000100: 0D 34 09 41 31 34 0D 0D 35 09 41 31 33 0D 0D 36 .4.A14..5.A13..6
000110: 09 41 31 32 0D 0D 37 09 41 31 31 0D 0D 38 09 41 .A12..7.A11..8.A
000120: 31 30 0D 0D 39 09 41 39 0D 0D 31 30 09 41 38 0D 10..9.A9..10.A8.
000130: 0D 31 31 09 41 37 0D 0D 31 32 09 41 36 0D 0D 31 .11.A7..12.A6..1
000140: 33 09 41 35 0D 0D 31 34 09 41 34 0D 0D 31 35 09 3.A5..14.A4..15.
000150: 41 33 0D 0D 31 36 09 41 32 0D 0D 31 37 09 41 31 A3..16.A2..17.A1
000160: 0D 0D 31 38 09 41 30 0D 0D 31 39 09 44 37 0D 0D ..18.A0..19.D7..
000170: 32 30 09 44 36 0D 0D 32 31 09 44 35 0D 0D 32 32 20.D6..21.D5..22
000180: 09 44 34 0D 0D 32 33 09 44 33 0D 0D 32 34 09 44 .D4..23.D3..24.D
000190: 32 0D 0D 32 35 09 44 31 0D 0D 32 36 09 44 30 0D 2..25.D1..26.D0.
0001A0: 0D 32 37 09 2B 35 76 0D 20 20 20 20 20 20 20 20 .27.+5v.
0001B0: 5F 5F 5F 5F 0D 32 38 09 4D 72 65 71 0D 20 20 20 ____.28.Mreq.
0001C0: 20 20 20 20 20 5F 5F 0D 32 39 09 4D 31 0D 20 20 __.29.M1.
0001D0: 20 20 20 20 20 20 5F 5F 5F 5F 0D 33 30 09 52 66 ____.30.Rf
0001E0: 73 68 0D 20 20 20 20 20 20 20 20 5F 5F 5F 5F 0D sh. ____.
0001F0: 33 31 09 49 6F 72 71 0D 20 20 20 20 20 20 20 20 31.Iorq.
Size : 512 (Real : 512)
000000: 0D 0D 43 6F 6E 74 72 6F 6C 20 09 4E 61 6D 65 09 ..Control .Name.
000010: 09 50 61 72 61 6D 65 74 65 72 73 09 09 09 09 46 .Parameters....F
000020: 75 6E 63 74 69 6F 6E 0D 63 68 61 72 61 63 74 65 unction.characte
000030: 72 0D 63 6F 64 65 0D 28 41 53 43 49 49 20 76 61 r.code.(ASCII va
000040: 6C 75 65 29 0D 0D 26 30 30 09 09 4E 55 4C 09 09 lue)..&00..NUL..
000050: 4E 6F 6E 65 2E 09 09 09 09 4E 6F 74 68 69 6E 67 None.....Nothing
000060: 2E 0D 0D 26 30 31 09 09 53 4F 48 09 09 73 79 6D ...&01..SOH..sym
000070: 62 6F 6C 20 28 30 2E 2E 32 35 35 29 09 09 09 64 bol (0..255)...d
000080: 69 73 70 6C 61 79 20 73 79 6D 62 6F 6C 0D 0D 26 isplay symbol..&
000090: 30 32 09 09 53 54 58 09 09 4E 6F 6E 65 2E 09 09 02..STX..None...
0000A0: 09 09 54 75 72 6E 20 6F 66 66 20 74 65 78 74 0D ..Turn off text.
0000B0: 09 09 09 09 09 09 09 09 63 75 72 73 6F 72 0D 0D ........cursor..
0000C0: 26 30 33 09 09 45 54 58 09 09 4E 6F 6E 65 2E 09 &03..ETX..None..
0000D0: 09 09 09 54 75 72 6E 20 6F 6E 20 74 65 78 74 0D ...Turn on text.
0000E0: 09 09 09 09 09 09 09 09 63 75 72 73 6F 72 0D 0D ........cursor..
0000F0: 26 30 34 09 09 45 4F 54 09 09 73 63 72 65 65 6E &04..EOT..screen
000100: 5F 6D 6F 64 65 20 28 30 2E 2E 32 29 09 09 53 65 _mode (0..2)..Se
000110: 74 20 73 63 72 65 65 6E 20 6D 6F 64 65 0D 0D 26 t screen mode..&
000120: 30 35 09 09 45 4E 51 09 09 63 68 61 72 61 63 74 05..ENQ..charact
000130: 65 72 20 28 30 2E 2E 32 35 35 29 09 09 64 69 73 er (0..255)..dis
000140: 70 6C 61 79 20 63 68 61 72 0D 09 09 09 09 09 09 play char.......
000150: 09 09 61 74 20 67 72 61 70 68 69 63 73 20 0D 09 ..at graphics ..
000160: 09 09 09 09 09 09 09 63 75 72 73 6F 72 20 70 6F .......cursor po
000170: 73 69 74 69 6F 6E 0D 0D 0D 26 30 36 20 09 09 41 sition...&06 ..A
000180: 43 4B 09 09 4E 6F 6E 65 2E 09 09 09 09 45 6E 61 CK..None.....Ena
000190: 62 6C 65 20 70 72 69 6E 74 69 6E 67 0D 09 09 09 ble printing....
0001A0: 09 09 09 09 09 6F 66 20 74 65 78 74 20 63 68 61 .....of text cha
0001B0: 72 73 0D 09 09 09 09 09 09 09 09 61 6E 64 20 69 rs.........and i
0001C0: 6E 74 65 72 70 72 65 74 61 0D 09 09 09 09 09 09 nterpreta.......
0001D0: 09 09 2D 74 69 6F 6E 20 6F 66 20 63 6F 6E 74 72 ..-tion of contr
0001E0: 6F 6C 0D 09 09 09 09 09 09 09 09 63 68 61 72 73 ol.........chars
0001F0: 2E 0D 0D 26 30 37 20 2A 09 09 42 45 4C 09 09 4E ...&07 *..BEL..N
Size : 512 (Real : 512)
000000: 5F 5F 0D 33 32 09 52 64 0D 20 20 20 20 20 20 20 __.32.Rd.
000010: 20 5F 5F 0D 33 33 09 57 72 0D 20 20 20 20 20 20 __.33.Wr.
000020: 20 20 5F 5F 5F 5F 20 20 20 20 0D 33 34 09 48 61 ____ .34.Ha
000030: 6C 74 0D 20 20 20 20 20 20 20 20 5F 5F 5F 0D 33 lt. ___.3
000040: 35 09 49 6E 74 0D 20 20 20 20 20 20 20 20 5F 5F 5.Int. __
000050: 5F 0D 33 36 09 4E 6D 69 0D 20 20 20 20 20 20 20 _.36.Nmi.
000060: 20 5F 5F 5F 5F 0D 33 37 09 42 75 73 72 32 0D 20 ____.37.Busr2.
000070: 20 20 20 20 20 20 20 5F 5F 5F 5F 5F 0D 33 38 09 _____.38.
000080: 42 75 73 61 6B 0D 0D 33 39 09 52 65 61 64 79 0D Busak..39.Ready.
000090: 09 5F 5F 5F 5F 5F 5F 5F 5F 5F 0D 34 30 09 42 75 ._________.40.Bu
0000A0: 73 20 72 65 73 65 74 0D 20 20 20 20 20 20 20 20 s reset.
0000B0: 5F 5F 5F 5F 5F 0D 34 31 09 52 65 73 65 74 0D 09 _____.41.Reset..
0000C0: 5F 5F 5F 5F 5F 0D 34 32 09 52 6F 6D 65 6E 0D 0D _____.42.Romen..
0000D0: 34 33 09 52 6F 6D 64 69 73 0D 20 20 20 20 20 20 43.Romdis.
0000E0: 20 20 5F 5F 5F 5F 5F 0D 34 34 09 52 61 6D 72 64 _____.44.Ramrd
0000F0: 0D 0D 34 35 09 52 61 6D 64 69 73 0D 0D 34 36 09 ..45.Ramdis..46.
000100: 43 75 72 73 6F 72 0D 0D 34 37 09 4C 2E 70 65 6E Cursor..47.L.pen
000110: 0D 20 20 20 20 20 20 20 20 5F 5F 5F 0D 34 38 09 . ___.48.
000120: 45 78 70 0D 0D 34 39 09 47 6E 64 0D 0D 35 30 09 Exp..49.Gnd..50.
000130: 30 0D 0D 0D 50 69 6E 20 64 65 73 63 72 69 70 74 0...Pin descript
000140: 69 6F 6E 73 3A 0D 0D 0D 41 31 35 2E 2E 41 30 09 ions:...A15..A0.
000150: 2D 09 41 64 64 72 65 73 73 20 6C 69 6E 65 73 20 -.Address lines
000160: 28 68 6F 6C 64 73 20 6D 65 6D 6F 72 79 20 61 64 (holds memory ad
000170: 64 72 65 73 73 29 0D 0D 0D 44 37 2E 2E 44 30 09 dress)...D7..D0.
000180: 2D 09 44 61 74 61 20 6C 69 6E 65 73 20 28 68 6F -.Data lines (ho
000190: 6C 64 73 20 64 61 74 61 20 62 65 69 6E 67 20 70 lds data being p
0001A0: 6F 6B 65 64 20 6F 72 20 70 65 65 6B 65 64 29 0D oked or peeked).
0001B0: 0D 0D 5F 5F 5F 5F 0D 49 6F 72 71 09 2D 09 77 68 ..____.Iorq.-.wh
0001C0: 65 6E 20 6C 6F 77 2C 20 69 6E 64 69 63 61 74 65 en low, indicate
0001D0: 73 20 43 50 55 20 69 73 20 77 72 69 74 69 6E 67 s CPU is writing
0001E0: 20 74 6F 20 6F 72 20 72 65 61 64 69 6E 67 20 74 to or reading t
0001F0: 6F 20 61 20 70 6F 72 74 0D 09 09 61 64 64 72 65 o a port...addre
Size : 512 (Real : 512)
000000: 6F 6E 65 2E 09 09 09 09 4D 61 6B 65 20 61 20 62 one.....Make a b
000010: 65 65 70 2E 0D 0D 26 30 38 20 2A 09 09 42 53 09 eep...&08 *..BS.
000020: 09 4E 6F 6E 65 2E 09 09 09 09 4D 6F 76 65 20 63 .None.....Move c
000030: 75 72 73 6F 72 0D 20 20 20 20 20 20 20 20 28 62 ursor. (b
000040: 61 63 6B 73 70 61 63 65 29 09 09 09 09 09 09 6C ackspace)......l
000050: 65 66 74 20 61 20 63 68 61 72 0D 09 0D 0D 26 30 eft a char....&0
000060: 39 20 2A 09 09 54 41 42 09 09 4E 6F 6E 65 2E 09 9 *..TAB..None..
000070: 09 09 09 4D 6F 76 65 20 63 75 72 73 6F 72 0D 09 ...Move cursor..
000080: 09 09 09 09 09 09 09 72 69 67 68 74 20 61 20 63 .......right a c
000090: 68 61 72 2E 0D 0D 26 30 41 20 2A 09 09 4C 46 09 har...&0A *..LF.
0000A0: 09 4E 6F 6E 65 2E 09 09 09 09 4D 6F 76 65 20 63 .None.....Move c
0000B0: 75 72 73 6F 72 0D 09 09 09 09 09 09 09 09 64 6F ursor.........do
0000C0: 77 6E 20 61 20 6C 69 6E 65 2E 0D 09 20 20 20 28 wn a line... (
0000D0: 6C 69 6E 65 20 66 65 65 64 29 0D 0D 26 30 42 20 line feed)..&0B
0000E0: 2A 09 09 56 54 09 09 4E 6F 6E 65 2E 09 09 09 09 *..VT..None.....
0000F0: 4D 6F 76 65 20 63 75 72 73 6F 72 0D 09 09 09 09 Move cursor.....
000100: 09 09 09 09 75 70 20 61 20 6C 69 6E 65 2E 0D 0D ....up a line...
000110: 26 30 43 20 2A 09 09 46 46 09 09 4E 6F 6E 65 2E &0C *..FF..None.
000120: 09 09 09 09 43 6C 65 61 72 20 74 65 78 74 0D 09 ....Clear text..
000130: 20 20 20 28 66 6F 72 6D 20 66 65 65 64 29 09 09 (form feed)..
000140: 09 09 09 09 77 69 6E 64 6F 77 20 61 6E 64 20 6D ....window and m
000150: 6F 76 65 0D 09 09 09 09 09 09 09 09 63 75 72 73 ove.........curs
000160: 6F 72 20 74 6F 20 74 6F 70 0D 09 09 09 09 09 09 or to top.......
000170: 09 09 6C 65 66 74 0D 0D 26 30 44 20 2A 09 09 43 ..left..&0D *..C
000180: 52 09 09 4E 6F 6E 65 2E 09 09 09 09 4D 6F 76 65 R..None.....Move
000190: 20 63 75 72 73 6F 72 20 74 6F 0D 09 20 20 28 63 cursor to.. (c
0001A0: 61 72 72 69 61 67 65 20 72 65 74 75 72 6E 29 09 arriage return).
0001B0: 09 09 09 09 6C 65 66 74 20 65 64 67 65 20 6F 66 ....left edge of
0001C0: 20 0D 09 09 09 09 09 09 09 09 77 69 6E 64 6F 77 .........window
0001D0: 2E 0D 0D 26 30 45 09 09 53 4F 09 09 50 61 70 65 ...&0E..SO..Pape
0001E0: 72 5F 6E 75 6D 62 65 72 20 28 30 2E 2E 31 35 29 r_number (0..15)
0001F0: 09 09 53 65 74 20 70 61 70 65 72 20 74 6F 20 75 ..Set paper to u
Size : 512 (Real : 512)
000000: 09 09 20 74 68 65 20 74 77 6F 20 76 61 6C 75 65 .. the two value
000010: 73 0D 09 09 09 09 09 09 09 09 20 61 72 65 20 64 s......... are d
000020: 69 66 66 65 72 65 6E 74 0D 09 09 09 09 09 09 09 ifferent........
000030: 09 20 74 68 65 20 62 6F 72 64 65 72 20 0D 09 09 . the border ...
000040: 09 09 09 09 09 09 20 63 6F 6C 6F 75 72 20 77 69 ...... colour wi
000050: 6C 6C 0D 09 09 09 09 09 09 09 09 20 66 6C 61 73 ll......... flas
000060: 68 20 62 65 74 77 65 65 6E 0D 09 09 09 09 09 09 h between.......
000070: 09 09 20 74 68 65 20 74 77 6F 2E 0D 0D 09 09 09 .. the two......
000080: 09 09 09 09 09 20 0D 0D 0D 0D 26 31 45 09 09 52 ..... ....&1E..R
000090: 53 09 09 4E 6F 6E 65 2E 09 09 09 09 20 4D 6F 76 S..None..... Mov
0000A0: 65 20 63 75 72 73 6F 72 20 74 6F 0D 09 09 09 09 e cursor to.....
0000B0: 09 09 09 09 20 74 6F 70 20 6C 65 66 74 20 28 31 .... top left (1
0000C0: 2C 31 29 0D 09 09 09 09 09 09 09 09 20 70 6F 73 ,1)......... pos
0000D0: 69 74 69 6F 6E 20 69 6E 0D 09 09 09 09 09 09 09 ition in........
0000E0: 09 20 63 75 72 72 65 6E 74 20 74 65 78 74 0D 09 . current text..
0000F0: 09 09 09 09 09 09 09 20 77 69 6E 64 6F 77 2E 0D ....... window..
000100: 0D 26 31 46 09 09 55 53 09 09 78 5F 74 65 78 74 .&1F..US..x_text
000110: 5F 63 6F 6F 72 64 69 6E 61 74 65 20 28 31 2E 2E _coordinate (1..
000120: 38 30 29 2C 20 20 20 20 20 20 20 4D 6F 76 65 20 80), Move
000130: 63 75 72 73 6F 72 20 74 6F 0D 09 09 09 09 79 5F cursor to.....y_
000140: 74 65 78 74 5F 63 6F 6F 72 64 69 6E 61 74 65 20 text_coordinate
000150: 28 31 2E 2E 32 35 29 09 20 28 78 2C 79 29 20 70 (1..25). (x,y) p
000160: 6F 73 69 74 69 6F 6E 0D 09 09 09 09 09 09 09 09 osition.........
000170: 20 77 69 74 68 69 6E 20 74 68 65 0D 09 09 09 09 within the.....
000180: 09 09 09 09 20 63 75 72 72 65 6E 74 6C 79 20 0D .... currently .
000190: 09 09 09 09 09 09 09 09 20 73 65 6C 65 63 74 65 ........ selecte
0001A0: 64 20 74 65 78 74 0D 09 09 09 09 09 09 09 09 20 d text.........
0001B0: 77 69 6E 64 6F 77 2E 1A FF 00 00 00 00 FF FF FF window..........
0001C0: FF 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF ................
0001D0: FF 00 00 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0001E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0001F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
Size : 512 (Real : 512)
000000: 73 65 0D 0D 26 30 46 20 09 09 53 49 09 09 49 6E se..&0F ..SI..In
000010: 6B 5F 6E 75 6D 62 65 72 20 28 30 2E 2E 31 35 29 k_number (0..15)
000020: 09 09 53 65 74 20 70 65 6E 20 74 6F 20 75 73 65 ..Set pen to use
000030: 0D 0D 0D 26 31 30 20 2A 09 09 44 4C 45 09 09 4E ...&10 *..DLE..N
000040: 6F 6E 65 2E 09 09 09 09 44 65 6C 65 74 65 20 63 one.....Delete c
000050: 75 72 72 65 6E 74 0D 09 09 09 09 09 09 09 09 63 urrent.........c
000060: 68 61 72 61 63 74 65 72 2E 0D 0D 26 31 31 20 2A haracter...&11 *
000070: 09 09 44 43 31 09 09 4E 6F 6E 65 2E 09 09 09 09 ..DC1..None.....
000080: 43 6C 65 61 72 20 66 72 6F 6D 20 6C 65 66 74 0D Clear from left.
000090: 09 09 09 09 09 09 09 09 65 64 67 65 20 74 6F 20 ........edge to
0000A0: 63 68 61 72 0D 09 09 09 09 09 09 09 09 70 6F 73 char.........pos
0000B0: 69 74 69 6F 6E 2E 0D 0D 26 31 32 20 2A 09 09 44 ition...&12 *..D
0000C0: 43 32 09 09 4E 6F 6E 65 2E 09 09 09 09 43 6C 65 C2..None.....Cle
0000D0: 61 72 20 66 72 6F 6D 20 63 68 61 72 0D 09 09 09 ar from char....
0000E0: 09 09 09 09 09 70 6F 73 69 74 69 6F 6E 20 74 6F .....position to
0000F0: 0D 09 09 09 09 09 09 09 09 72 69 67 68 74 20 65 .........right e
000100: 64 67 65 20 6F 66 0D 09 09 09 09 09 09 09 09 77 dge of.........w
000110: 69 6E 64 6F 77 2E 0D 0D 26 31 33 20 2A 09 09 44 indow...&13 *..D
000120: 43 33 09 09 4E 6F 6E 65 2E 09 09 09 09 43 6C 65 C3..None.....Cle
000130: 61 72 20 77 69 6E 64 6F 77 20 75 70 0D 09 09 09 ar window up....
000140: 09 09 09 09 09 74 6F 20 63 75 72 72 65 6E 74 20 .....to current
000150: 63 68 61 72 0D 09 09 09 09 09 09 09 09 70 6F 73 char.........pos
000160: 69 74 69 6F 6E 2E 0D 0D 26 31 34 20 2A 09 09 44 ition...&14 *..D
000170: 43 34 09 09 4E 6F 6E 65 2E 09 09 09 09 43 6C 65 C4..None.....Cle
000180: 61 72 20 63 75 72 72 65 6E 74 0D 09 09 09 09 09 ar current......
000190: 09 09 09 77 69 6E 64 6F 77 20 77 69 74 68 0D 09 ...window with..
0001A0: 09 09 09 09 09 09 09 63 75 72 72 65 6E 74 20 70 .......current p
0001B0: 61 70 65 72 0D 09 09 09 09 09 09 09 09 63 6F 6C aper.........col
0001C0: 6F 75 72 2E 0D 0D 26 31 35 09 09 4E 41 4B 09 09 our...&15..NAK..
0001D0: 4E 6F 6E 65 2E 09 09 09 09 44 69 73 61 62 6C 65 None.....Disable
0001E0: 20 70 72 69 6E 74 69 6E 67 0D 09 09 09 09 09 09 printing.......
0001F0: 09 09 6F 66 20 74 65 78 74 20 61 6E 64 0D 09 09 ..of text and...
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 09 09 09 09 09 09 64 69 73 61 62 6C 65 0D 09 09 ......disable...
000010: 09 09 09 09 09 09 69 6E 74 65 72 70 72 65 74 69 ......interpreti
000020: 6E 67 0D 09 09 09 09 09 09 09 09 6F 74 68 65 72 ng.........other
000030: 20 63 6F 6E 74 72 6F 6C 0D 09 09 09 09 09 09 09 control........
000040: 09 63 68 61 72 73 2C 20 75 6E 74 69 6C 20 61 6E .chars, until an
000050: 0D 09 09 09 09 09 09 09 09 41 43 4B 20 69 73 20 .........ACK is
000060: 72 65 63 69 65 76 65 64 2E 0D 0D 26 31 36 09 09 recieved...&16..
000070: 53 59 4E 09 09 74 72 61 6E 73 70 61 72 65 6E 74 SYN..transparent
000080: 20 6F 6E 2F 6F 66 66 20 28 30 2E 2E 31 29 09 50 on/off (0..1).P
000090: 61 72 61 6D 65 74 65 72 20 6D 6F 64 20 32 0D 09 arameter mod 2..
0000A0: 09 09 09 09 09 09 09 28 30 20 64 69 73 61 62 6C .......(0 disabl
0000B0: 65 0D 09 09 09 09 09 09 09 09 20 31 20 65 6E 61 e......... 1 ena
0000C0: 62 6C 65 29 0D 0D 26 31 37 09 09 45 54 42 09 09 ble)..&17..ETB..
0000D0: 67 72 61 70 68 69 63 73 20 69 6E 6B 20 6D 6F 64 graphics ink mod
0000E0: 65 20 28 30 2E 2E 33 29 2E 09 20 50 61 72 61 6D e (0..3).. Param
0000F0: 65 74 65 72 20 6D 6F 64 20 34 0D 0D 09 09 09 09 eter mod 4......
000100: 09 09 09 09 30 20 2D 20 6E 6F 72 6D 61 6C 2F 66 ....0 - normal/f
000110: 6F 72 63 65 0D 09 09 09 09 09 09 09 09 31 20 2D orce.........1 -
000120: 20 58 4F 52 0D 09 09 09 09 09 09 09 09 32 20 2D XOR.........2 -
000130: 20 41 4E 44 0D 09 09 09 09 09 09 09 09 33 20 2D AND.........3 -
000140: 20 4F 52 0D 0D 26 31 38 09 09 43 41 4E 09 09 4E OR..&18..CAN..N
000150: 6F 6E 65 2E 09 09 09 09 20 45 78 63 68 61 6E 67 one..... Exchang
000160: 65 20 70 65 6E 0D 09 09 09 09 09 09 09 09 20 61 e pen......... a
000170: 6E 64 20 70 61 70 65 72 20 69 6E 6B 73 2E 0D 0D nd paper inks...
000180: 0D 26 31 39 09 09 45 4D 09 09 73 79 6D 62 6F 6C .&19..EM..symbol
000190: 5F 76 61 6C 75 65 20 28 30 2E 2E 32 35 35 29 2C _value (0..255),
0001A0: 09 09 20 44 65 66 69 6E 65 20 61 20 75 73 65 72 .. Define a user
0001B0: 0D 09 09 09 09 73 79 6D 62 6F 6C 5F 6C 69 6E 65 .....symbol_line
0001C0: 5F 31 20 28 30 2E 2E 32 35 35 29 2C 09 20 20 20 _1 (0..255),.
0001D0: 20 20 20 20 20 20 64 65 66 69 6E 65 61 62 6C 65 defineable
0001E0: 0D 09 09 09 09 73 79 6D 62 6F 6C 5F 6C 69 6E 65 .....symbol_line
0001F0: 5F 32 20 28 30 2E 2E 32 35 35 29 2C 09 09 20 63 _2 (0..255),.. c
Size : 512 (Real : 512)
000000: 1B 40 49 66 20 61 6E 79 6F 6E 65 20 68 61 73 20 .@If anyone has
000010: 61 6E 79 20 6D 6F 72 65 20 69 6E 66 6F 72 6D 61 any more informa
000020: 74 69 6F 6E 20 61 62 6F 75 74 20 74 68 65 20 43 tion about the C
000030: 52 54 43 20 61 6E 64 20 43 52 54 43 20 64 69 66 RTC and CRTC dif
000040: 66 65 72 65 6E 63 65 73 0D 70 6C 65 61 73 65 20 ferences.please
000050: 63 6F 6E 74 61 63 74 20 6D 65 2E 0D 0D 49 20 68 contact me...I h
000060: 61 76 65 20 65 78 70 6C 61 69 6E 65 64 20 74 68 ave explained th
000070: 6F 73 65 20 72 65 67 69 73 74 65 72 73 20 20 49 ose registers I
000080: 20 20 75 6E 64 65 72 73 74 61 6E 64 20 66 75 6C understand ful
000090: 6C 79 2E 20 54 68 65 20 6F 74 68 65 72 73 20 77 ly. The others w
0000A0: 69 6C 6C 0D 62 65 20 64 65 73 63 72 69 62 65 64 ill.be described
0000B0: 20 61 73 20 73 6F 6F 6E 20 61 73 20 20 49 20 20 as soon as I
0000C0: 75 6E 64 65 72 73 74 61 6E 64 20 20 74 68 65 6D understand them
0000D0: 20 20 66 75 6C 6C 79 20 61 6E 64 2C 20 49 20 63 fully and, I c
0000E0: 61 6E 20 65 78 70 6C 61 69 6E 0D 65 78 61 63 74 an explain.exact
0000F0: 6C 79 20 77 68 61 74 20 74 68 65 79 20 64 6F 2E ly what they do.
000100: 0D 0D 50 72 6F 67 72 61 6D 6D 69 6E 67 20 74 68 ..Programming th
000110: 65 20 43 52 54 43 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D e CRTC.---------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 54 68 65 -----------..The
000130: 20 43 52 54 43 20 68 61 73 20 31 38 20 72 65 67 CRTC has 18 reg
000140: 69 73 74 65 72 73 20 28 30 2D 31 37 29 20 77 68 isters (0-17) wh
000150: 69 63 68 20 61 72 65 20 75 73 65 64 20 74 6F 20 ich are used to
000160: 63 6F 6E 74 72 6F 6C 20 74 68 65 20 73 63 72 65 control the scre
000170: 65 6E 2C 0D 73 63 72 65 65 6E 20 63 75 72 73 6F en,.screen curso
000180: 72 2C 20 61 6E 64 20 74 6F 20 73 65 6E 73 65 20 r, and to sense
000190: 61 20 6C 69 67 68 74 20 70 65 6E 2F 67 75 6E 2E a light pen/gun.
0001A0: 0D 0D 54 6F 20 61 63 63 65 73 73 20 74 68 65 73 ..To access thes
0001B0: 65 20 72 65 67 69 73 74 65 72 73 2C 20 74 68 65 e registers, the
0001C0: 20 43 52 54 43 20 20 68 61 73 20 20 33 20 63 6F CRTC has 3 co
0001D0: 6E 74 72 6F 6C 20 70 6F 72 74 73 2E 20 4F 6E 65 ntrol ports. One
0001E0: 20 70 6F 72 74 20 74 6F 0D 73 65 6C 65 63 74 20 port to.select
0001F0: 61 20 72 65 67 69 73 74 65 72 2C 20 6F 6E 65 20 a register, one
Size : 512 (Real : 512)
000000: 68 61 72 61 63 74 65 72 2E 0D 09 09 09 09 73 79 haracter......sy
000010: 6D 62 6F 6C 5F 6C 69 6E 65 5F 33 20 28 30 2E 2E mbol_line_3 (0..
000020: 32 35 35 29 2C 0D 09 09 09 09 73 79 6D 62 6F 6C 255),.....symbol
000030: 5F 6C 69 6E 65 5F 34 20 28 30 2E 2E 32 35 35 29 _line_4 (0..255)
000040: 2C 09 09 20 28 73 61 6D 65 20 61 73 20 53 59 4D ,.. (same as SYM
000050: 42 4F 4C 0D 09 09 09 09 73 79 6D 62 6F 6C 5F 6C BOL.....symbol_l
000060: 69 6E 65 5F 35 20 28 30 2E 2E 32 35 35 29 2C 09 ine_5 (0..255),.
000070: 09 20 63 6F 6D 6D 61 6E 64 20 69 6E 20 0D 09 09 . command in ...
000080: 09 09 73 79 6D 62 6F 6C 5F 6C 69 6E 65 5F 36 20 ..symbol_line_6
000090: 28 30 2E 2E 32 35 35 29 2C 09 09 20 42 41 53 49 (0..255),.. BASI
0000A0: 43 29 2E 0D 09 09 09 09 73 79 6D 62 6F 6C 5F 6C C)......symbol_l
0000B0: 69 6E 65 5F 37 20 28 30 2E 2E 32 35 35 29 2C 0D ine_7 (0..255),.
0000C0: 09 09 09 09 73 79 6D 62 6F 6C 5F 6C 69 6E 65 5F ....symbol_line_
0000D0: 38 20 28 30 2E 2E 32 35 35 29 2E 0D 0D 0D 26 31 8 (0..255)....&1
0000E0: 41 09 09 53 55 42 09 09 78 31 5F 65 64 67 65 5F A..SUB..x1_edge_
0000F0: 6F 66 5F 77 69 6E 64 6F 77 20 28 31 2E 2E 38 30 of_window (1..80
000100: 29 2C 09 20 44 65 66 69 6E 65 20 74 68 65 20 73 ),. Define the s
000110: 69 7A 65 0D 09 09 09 09 78 32 5F 65 64 67 65 5F ize.....x2_edge_
000120: 6F 66 5F 77 69 6E 64 6F 77 20 28 31 2E 2E 38 30 of_window (1..80
000130: 29 2C 09 20 6F 66 20 61 20 77 69 6E 64 6F 77 2E ),. of a window.
000140: 0D 09 09 09 09 79 31 5F 65 64 67 65 5F 6F 66 5F .....y1_edge_of_
000150: 77 69 6E 64 6F 77 20 28 31 2E 2E 32 35 29 2C 09 window (1..25),.
000160: 0D 09 09 09 09 79 32 5F 65 64 67 65 5F 6F 66 5F .....y2_edge_of_
000170: 77 69 6E 64 6F 77 20 28 31 2E 2E 32 35 29 2E 09 window (1..25)..
000180: 20 54 68 65 20 6C 65 66 74 20 65 64 67 65 0D 09 The left edge..
000190: 09 09 09 09 09 09 09 20 69 73 20 74 61 6B 65 6E ....... is taken
0001A0: 20 74 6F 20 62 65 0D 09 09 09 09 09 09 09 09 20 to be.........
0001B0: 74 68 65 20 73 6D 61 6C 6C 65 72 0D 09 09 09 09 the smaller.....
0001C0: 09 09 09 09 20 76 61 6C 75 65 20 6F 66 0D 09 09 .... value of...
0001D0: 09 09 09 09 09 78 31 5F 65 64 67 65 5F 6F 66 5F .....x1_edge_of_
0001E0: 77 69 6E 64 6F 77 20 61 6E 64 0D 09 09 09 09 09 window and......
0001F0: 09 09 78 32 5F 65 64 67 65 5F 6F 66 5F 77 69 6E ..x2_edge_of_win
Size : 512 (Real : 512)
000000: 70 6F 72 74 20 74 6F 20 20 77 72 69 74 65 20 20 port to write
000010: 64 61 74 61 20 20 69 6E 74 6F 20 74 68 65 20 72 data into the r
000020: 65 67 69 73 74 65 72 20 61 6E 64 20 6F 6E 65 0D egister and one.
000030: 70 6F 72 74 20 74 6F 20 72 65 61 64 20 64 61 74 port to read dat
000040: 61 20 66 72 6F 6D 20 74 68 65 20 72 65 67 69 73 a from the regis
000050: 74 65 72 2E 0D 0D 50 6F 72 74 20 61 64 64 72 65 ter...Port addre
000060: 73 73 20 20 20 20 52 65 61 64 2F 57 72 69 74 65 ss Read/Write
000070: 20 20 20 20 20 20 46 75 6E 63 74 69 6F 6E 2F 55 Function/U
000080: 73 65 0D 0D 26 42 43 78 78 20 20 20 20 20 20 20 se..&BCxx
000090: 20 20 20 20 57 20 20 20 20 20 20 20 20 20 20 20 W
0000A0: 20 20 20 20 53 65 6C 65 63 74 20 43 52 54 43 20 Select CRTC
0000B0: 72 65 67 69 73 74 65 72 0D 26 42 44 78 78 20 20 register.&BDxx
0000C0: 20 20 20 20 20 20 20 20 20 57 20 20 20 20 20 20 W
0000D0: 20 20 20 20 20 20 20 20 20 57 72 69 74 65 20 64 Write d
0000E0: 61 74 61 20 74 6F 20 73 65 6C 65 63 74 65 64 20 ata to selected
0000F0: 43 52 54 43 20 72 65 67 69 73 74 65 72 0D 26 42 CRTC register.&B
000100: 46 78 78 20 20 20 20 20 20 20 20 20 20 20 52 20 Fxx R
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 Re
000120: 61 64 20 64 61 74 61 20 66 72 6F 6D 20 73 65 6C ad data from sel
000130: 65 63 74 65 64 20 43 52 54 43 20 72 65 67 69 73 ected CRTC regis
000140: 74 65 72 0D 0D 4E 4F 54 45 3A 20 44 75 65 20 74 ter..NOTE: Due t
000150: 6F 20 64 69 66 66 65 72 65 6E 63 65 73 20 69 6E o differences in
000160: 20 43 52 54 43 27 73 2C 20 20 73 6F 6D 65 20 6F CRTC's, some o
000170: 66 20 74 68 65 20 69 6E 66 6F 72 6D 61 74 69 6F f the informatio
000180: 6E 20 64 65 73 63 72 69 62 65 64 0D 20 20 20 20 n described.
000190: 20 20 68 65 72 65 20 6D 61 79 20 6E 6F 74 20 77 here may not w
0001A0: 6F 72 6B 2E 20 20 57 68 65 72 65 20 20 64 69 66 ork. Where dif
0001B0: 66 65 72 65 6E 63 65 73 20 20 6F 63 63 75 72 20 ferences occur
0001C0: 20 28 74 68 61 74 20 61 72 65 20 6B 6E 6F 77 6E (that are known
0001D0: 29 2C 0D 20 20 20 20 20 20 74 68 65 79 20 77 69 ),. they wi
0001E0: 6C 6C 20 62 65 20 6C 69 73 74 65 64 2E 0D 0D 20 ll be listed...
0001F0: 20 20 20 20 20 49 66 20 79 6F 75 20 69 6E 74 65 If you inte
Size : 512 (Real : 512)
000000: 64 6F 77 2C 20 61 6E 64 0D 09 09 09 09 09 09 09 dow, and........
000010: 74 68 65 20 74 6F 70 20 65 64 67 65 20 69 73 20 the top edge is
000020: 74 61 6B 65 6E 0D 09 09 09 09 09 09 09 74 6F 20 taken........to
000030: 62 65 20 74 68 65 20 73 6D 61 6C 6C 65 72 20 76 be the smaller v
000040: 61 6C 75 65 0D 09 09 09 09 09 09 09 6F 66 20 79 alue........of y
000050: 31 5F 65 64 67 65 5F 6F 66 5F 77 69 6E 64 6F 77 1_edge_of_window
000060: 20 61 6E 64 0D 09 09 09 09 09 09 09 79 32 5F 65 and........y2_e
000070: 64 67 65 5F 6F 66 5F 77 69 6E 64 6F 77 2E 0D 09 dge_of_window...
000080: 09 09 09 0D 0D 0D 26 31 42 09 09 45 53 43 09 09 ......&1B..ESC..
000090: 09 09 09 09 20 4E 6F 20 65 66 66 65 63 74 2E 0D .... No effect..
0000A0: 0D 09 09 09 09 09 09 09 09 20 28 55 73 65 64 20 ......... (Used
0000B0: 62 79 20 61 20 0D 09 09 09 09 09 09 09 09 20 70 by a ......... p
0000C0: 72 69 6E 74 65 72 20 74 6F 0D 09 09 09 09 09 09 rinter to.......
0000D0: 09 09 20 61 6C 6C 6F 77 20 74 68 65 20 75 73 65 .. allow the use
0000E0: 72 0D 09 09 09 09 09 09 09 09 20 74 6F 20 63 68 r......... to ch
0000F0: 61 6E 67 65 20 66 6F 6E 74 0D 09 09 09 09 09 09 ange font.......
000100: 09 09 20 73 74 79 6C 65 20 61 6E 64 0D 09 09 09 .. style and....
000110: 09 09 09 09 09 20 6F 74 68 65 72 20 74 68 69 6E ..... other thin
000120: 67 73 29 2E 0D 0D 26 31 43 09 09 46 53 09 09 49 gs)...&1C..FS..I
000130: 6E 6B 5F 6E 75 6D 62 65 72 20 28 30 2E 2E 31 35 nk_number (0..15
000140: 29 2C 09 09 20 53 65 74 20 61 6E 20 69 6E 6B 20 ),.. Set an ink
000150: 74 6F 0D 09 09 09 09 43 6F 6C 6F 75 72 5F 31 20 to.....Colour_1
000160: 28 30 2E 2E 33 31 29 2C 09 09 20 61 20 70 61 69 (0..31),.. a pai
000170: 72 20 6F 66 20 0D 09 09 09 09 43 6F 6C 6F 75 72 r of .....Colour
000180: 5F 32 20 28 30 2E 2E 33 31 29 09 09 20 63 6F 6C _2 (0..31).. col
000190: 6F 75 72 73 2E 0D 0D 0D 0D 26 31 44 09 09 47 53 ours.....&1D..GS
0001A0: 09 09 43 6F 6C 6F 75 72 5F 31 20 28 30 2E 2E 33 ..Colour_1 (0..3
0001B0: 31 29 2C 09 09 20 53 65 74 20 62 6F 72 64 65 72 1),.. Set border
0001C0: 20 74 6F 0D 09 09 09 09 43 6F 6C 6F 75 72 5F 32 to.....Colour_2
0001D0: 20 28 30 2E 2E 33 31 29 09 09 20 61 20 70 61 69 (0..31).. a pai
0001E0: 72 20 6F 66 0D 09 09 09 09 09 09 09 09 20 63 6F r of......... co
0001F0: 6C 6F 75 72 73 2E 20 49 66 0D 09 09 09 09 09 09 lours. If.......
Size : 512 (Real : 512)
000000: 6E 64 20 74 6F 20 75 73 65 20 73 70 65 63 69 61 nd to use specia
000010: 6C 20 65 66 66 65 63 74 73 2C 20 65 6E 73 75 72 l effects, ensur
000020: 65 20 74 68 65 79 20 77 6F 72 6B 20 77 69 74 68 e they work with
000030: 20 61 6C 6C 0D 20 20 20 20 20 20 43 52 54 43 20 all. CRTC
000040: 74 79 70 65 73 2C 20 6F 72 20 79 6F 75 20 73 70 types, or you sp
000050: 65 63 69 66 79 20 77 68 69 63 68 20 43 52 54 43 ecify which CRTC
000060: 20 74 79 70 65 73 20 74 68 65 20 65 66 66 65 63 types the effec
000070: 74 20 77 6F 72 6B 73 20 6F 6E 2E 0D 0D 3D 3D 3D t works on...===
000080: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000090: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000C0: 3D 3D 3D 0D 0D 0D 53 65 6C 65 63 74 69 6E 67 20 ===...Selecting
0000D0: 61 20 72 65 67 69 73 74 65 72 0D 2D 2D 2D 2D 2D a register.-----
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D ---------------.
0000F0: 0D 41 20 72 65 67 69 73 74 65 72 20 69 73 20 73 .A register is s
000100: 65 6C 65 63 74 65 64 20 62 79 20 73 65 6E 64 69 elected by sendi
000110: 6E 67 20 20 74 68 65 20 20 72 65 67 69 73 74 65 ng the registe
000120: 72 20 6E 75 6D 62 65 72 20 28 69 6E 20 74 68 65 r number (in the
000130: 20 72 61 6E 67 65 0D 30 2D 31 37 29 20 74 6F 20 range.0-17) to
000140: 70 6F 72 74 20 26 42 43 78 78 2E 20 54 68 69 73 port &BCxx. This
000150: 20 72 65 67 69 73 74 65 72 20 20 77 69 6C 6C 20 register will
000160: 72 65 6D 61 69 6E 20 73 65 6C 65 63 74 65 64 20 remain selected
000170: 75 6E 74 69 6C 20 61 6E 6F 74 68 65 72 0D 69 73 until another.is
000180: 20 73 65 6C 65 63 74 65 64 2E 20 54 68 69 73 20 selected. This
000190: 6D 65 61 6E 73 20 79 6F 75 20 63 61 6E 20 77 72 means you can wr
0001A0: 69 74 65 20 74 6F 20 74 68 65 20 73 61 6D 65 20 ite to the same
0001B0: 72 65 67 69 73 74 65 72 20 6D 61 6E 79 20 74 69 register many ti
0001C0: 6D 65 73 2C 0D 77 69 74 68 6F 75 74 20 68 61 76 mes,.without hav
0001D0: 69 6E 67 20 74 6F 20 72 65 2D 73 65 6C 65 63 74 ing to re-select
0001E0: 20 74 68 65 20 72 65 67 69 73 74 65 72 20 65 61 the register ea
0001F0: 63 68 20 74 69 6D 65 2E 0D 0D 28 53 65 65 20 74 ch time...(See t
Size : 512 (Real : 512)
000000: 20 20 20 58 20 20 20 20 20 20 20 58 0D 2A 31 35 X X.*15
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 52 2F 57 R/W
000020: 20 20 20 20 20 43 75 72 73 6F 72 20 28 4C 6F 77 Cursor (Low
000030: 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 ) X
000040: 20 20 20 20 20 58 20 20 20 20 20 20 20 58 0D 31 X X.1
000050: 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 6 R
000060: 20 20 20 20 20 20 20 4C 69 67 68 74 20 50 65 6E Light Pen
000070: 20 28 48 69 67 68 29 20 20 20 20 20 20 20 20 20 (High)
000080: 20 58 20 20 20 20 20 58 20 20 20 20 20 20 20 58 X X X
000090: 0D 31 37 20 20 20 20 20 20 20 20 20 20 20 20 20 .17
0000A0: 20 52 20 20 20 20 20 20 20 4C 69 67 68 74 20 50 R Light P
0000B0: 65 6E 20 28 4C 6F 77 29 20 20 20 20 20 20 20 20 en (Low)
0000C0: 20 20 20 58 20 20 20 20 20 58 20 20 20 20 20 20 X X
0000D0: 20 58 0D 0D 2A 20 2D 20 54 68 65 73 65 20 72 65 X..* - These re
0000E0: 67 69 73 74 65 72 73 20 61 72 65 20 6E 6F 74 20 gisters are not
0000F0: 75 73 65 64 20 6F 6E 20 74 68 65 20 43 50 43 2E used on the CPC.
000100: 0D 0D 52 20 2D 20 52 65 61 64 20 6F 6E 6C 79 0D ..R - Read only.
000110: 57 20 2D 20 57 72 69 74 65 20 6F 6E 6C 79 0D 0D W - Write only..
000120: 52 2F 57 20 2D 20 42 6F 74 68 20 52 65 61 64 20 R/W - Both Read
000130: 61 6E 64 20 57 72 69 74 65 0D 0D 58 20 69 6E 64 and Write..X ind
000140: 69 63 61 74 65 73 20 74 68 65 20 20 76 61 6C 75 icates the valu
000150: 65 73 20 20 6F 66 20 20 74 68 65 73 65 20 20 72 es of these r
000160: 65 67 69 73 74 65 72 73 20 20 6D 61 79 20 20 76 egisters may v
000170: 61 72 79 20 64 75 72 69 6E 67 20 6E 6F 72 6D 61 ary during norma
000180: 6C 0D 6F 70 65 72 61 74 69 6F 6E 2E 0D 0D 4E 4F l.operation...NO
000190: 54 45 3A 0D 0D 45 78 70 65 72 69 6D 65 6E 74 69 TE:..Experimenti
0001A0: 6E 67 20 77 69 74 68 20 74 68 65 20 72 65 67 69 ng with the regi
0001B0: 73 74 65 72 73 20 63 61 6E 20 20 70 72 6F 64 75 sters can produ
0001C0: 63 65 20 69 6E 74 65 72 65 73 74 69 6E 67 20 65 ce interesting e
0001D0: 66 66 65 63 74 73 2E 20 59 6F 75 0D 77 69 6C 6C ffects. You.will
0001E0: 20 6E 6F 74 20 64 6F 20 61 6E 79 20 68 61 72 6D not do any harm
0001F0: 20 62 79 20 64 6F 69 6E 67 20 20 74 68 69 73 2E by doing this.
Size : 512 (Real : 512)
000000: 68 65 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 65 he programming e
000010: 78 61 6D 70 6C 65 29 0D 0D 3D 3D 3D 3D 3D 3D 3D xample)..=======
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000030: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000040: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000050: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D ===============.
000060: 0D 0D 57 72 69 74 69 6E 67 20 74 6F 20 61 20 72 ..Writing to a r
000070: 65 67 69 73 74 65 72 0D 2D 2D 2D 2D 2D 2D 2D 2D egister.--------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 4F -------------..O
000090: 6E 63 65 20 61 20 72 65 67 69 73 74 65 72 20 68 nce a register h
0000A0: 61 73 20 62 65 65 6E 20 73 65 6C 65 63 74 65 64 as been selected
0000B0: 20 75 73 69 6E 67 20 74 68 65 20 6D 65 74 68 6F using the metho
0000C0: 64 20 61 62 6F 76 65 2C 20 74 68 65 20 75 73 65 d above, the use
0000D0: 72 20 63 61 6E 0D 77 72 69 74 65 20 64 61 74 61 r can.write data
0000E0: 20 69 6E 74 6F 20 69 74 2E 20 44 61 74 61 20 63 into it. Data c
0000F0: 61 6E 20 20 62 65 20 20 77 72 69 74 74 65 6E 20 an be written
000100: 69 6E 74 6F 20 74 68 65 20 72 65 67 69 73 74 65 into the registe
000110: 72 20 62 79 20 73 65 6E 64 69 6E 67 0D 74 68 65 r by sending.the
000120: 20 64 61 74 61 20 74 6F 20 70 6F 72 74 20 26 42 data to port &B
000130: 44 78 78 2E 0D 0D 49 66 20 74 68 65 20 73 65 6C Dxx...If the sel
000140: 65 63 74 65 64 20 20 72 65 67 69 73 74 65 72 20 ected register
000150: 20 63 61 6E 6E 6F 74 20 20 62 65 20 20 77 72 69 cannot be wri
000160: 74 74 65 6E 20 20 74 6F 2C 20 20 74 68 65 72 65 tten to, there
000170: 20 20 77 69 6C 6C 20 62 65 20 6E 6F 0D 65 66 66 will be no.eff
000180: 65 63 74 2E 0D 0D 28 53 65 65 20 74 68 65 20 70 ect...(See the p
000190: 72 6F 67 72 61 6D 6D 69 6E 67 20 65 78 61 6D 70 rogramming examp
0001A0: 6C 65 29 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D le)..===========
0001B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D 52 65 ===========...Re
0001F0: 61 64 69 6E 67 20 61 20 72 65 67 69 73 74 65 72 ading a register
Size : 512 (Real : 512)
000000: 20 20 4A 75 73 74 20 73 77 69 74 63 68 20 74 68 Just switch th
000010: 65 20 63 6F 6D 70 75 74 65 72 20 6F 66 66 20 61 e computer off a
000020: 6E 64 0D 74 68 65 6E 20 6F 6E 2C 20 61 6E 64 20 nd.then on, and
000030: 65 76 65 72 79 74 68 69 6E 67 20 77 69 6C 6C 20 everything will
000040: 62 65 20 6F 6B 20 61 67 61 69 6E 2E 0D 3D 3D 3D be ok again..===
000050: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000060: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000070: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000080: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000090: 3D 3D 3D 0D 0D 52 65 67 69 73 74 65 72 20 75 73 ===..Register us
0000A0: 61 67 65 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D age.------------
0000B0: 2D 2D 0D 0D 43 65 72 74 61 69 6E 20 72 65 67 69 --..Certain regi
0000C0: 73 74 65 72 73 20 63 61 6E 20 62 65 20 75 73 65 sters can be use
0000D0: 64 20 66 6F 72 20 76 61 72 69 6F 75 73 20 74 68 d for various th
0000E0: 69 6E 67 73 2E 20 48 65 72 65 20 69 73 20 61 20 ings. Here is a
0000F0: 6C 69 73 74 20 6F 66 0D 72 65 67 69 73 74 65 72 list of.register
000100: 73 20 61 6E 64 20 74 68 65 69 72 20 63 6F 6D 6D s and their comm
000110: 6F 6E 20 75 73 61 67 65 2E 0D 0D 0D 52 65 67 69 on usage....Regi
000120: 73 74 65 72 20 30 3A 20 20 20 20 20 48 6F 72 69 ster 0: Hori
000130: 7A 6F 6E 74 61 6C 20 73 70 6C 69 74 74 69 6E 67 zontal splitting
000140: 20 28 63 68 61 6E 67 69 6E 67 20 6F 66 20 73 63 (changing of sc
000150: 72 65 65 6E 20 61 64 64 72 65 73 73 2F 6D 6F 64 reen address/mod
000160: 65 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.
000170: 20 20 61 63 63 72 6F 73 73 20 6C 69 6E 65 29 2E accross line).
000180: 0D 52 65 67 69 73 74 65 72 20 31 3A 20 20 20 20 .Register 1:
000190: 20 57 69 64 74 68 20 6F 66 20 73 63 72 65 65 6E Width of screen
0001A0: 0D 52 65 67 69 73 74 65 72 20 32 3A 20 20 20 20 .Register 2:
0001B0: 20 61 29 20 48 6F 72 69 7A 6F 6E 74 61 6C 20 70 a) Horizontal p
0001C0: 6F 73 69 74 69 6F 6E 69 6E 67 20 6F 66 20 73 63 ositioning of sc
0001D0: 72 65 65 6E 0D 20 20 20 20 20 20 20 20 20 20 20 reen.
0001E0: 20 20 20 20 20 62 29 20 53 63 72 65 65 6E 20 64 b) Screen d
0001F0: 69 73 74 6F 72 74 69 6E 67 20 28 77 68 65 6E 20 istorting (when
Size : 512 (Real : 512)
000000: 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D .---------------
000010: 2D 2D 2D 0D 0D 4F 6E 63 65 20 61 20 72 65 67 69 ---..Once a regi
000020: 73 74 65 72 20 68 61 73 20 62 65 65 6E 20 73 65 ster has been se
000030: 6C 65 63 74 65 64 2C 20 20 69 74 20 20 63 61 6E lected, it can
000040: 20 20 62 65 20 72 65 61 64 20 66 72 6F 6D 2E 20 be read from.
000050: 54 68 65 20 64 61 74 61 20 69 6E 0D 74 68 65 20 The data in.the
000060: 72 65 67 69 73 74 65 72 20 63 61 6E 20 62 65 20 register can be
000070: 72 65 61 64 20 66 72 6F 6D 20 70 6F 72 74 20 26 read from port &
000080: 42 46 78 78 2E 0D 0D 49 66 20 74 68 65 20 72 65 BFxx...If the re
000090: 67 69 73 74 65 72 20 63 61 6E 6E 6F 74 20 62 65 gister cannot be
0000A0: 20 72 65 61 64 2C 20 61 20 76 61 6C 75 65 20 6F read, a value o
0000B0: 66 20 26 46 46 20 77 69 6C 6C 20 62 65 20 72 65 f &FF will be re
0000C0: 74 75 72 6E 65 64 2E 0D 0D 28 53 65 65 20 74 68 turned...(See th
0000D0: 65 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 65 78 e programming ex
0000E0: 61 6D 70 6C 65 29 0D 0D 4E 4F 54 45 3A 20 4F 6E ample)..NOTE: On
0000F0: 20 63 65 72 74 61 69 6E 20 43 52 54 43 20 74 79 certain CRTC ty
000100: 70 65 73 20 74 68 69 73 20 69 73 20 6E 6F 74 20 pes this is not
000110: 70 6F 73 73 69 62 6C 65 2E 0D 0D 3D 3D 3D 3D 3D possible...=====
000120: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000150: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000160: 3D 0D 0D 0D 52 65 67 69 73 74 65 72 20 46 75 6E =...Register Fun
000170: 63 74 69 6F 6E 73 20 2D 20 61 6E 64 20 6E 6F 72 ctions - and nor
000180: 6D 61 6C 20 76 61 6C 75 65 73 0D 2D 2D 2D 2D 2D mal values.-----
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 52 -------------..R
0001A0: 65 67 69 73 74 65 72 20 20 20 20 20 20 20 20 52 egister R
0001B0: 65 61 64 2F 20 20 20 52 65 67 69 73 74 65 72 20 ead/ Register
0001C0: 54 69 74 6C 65 20 20 20 20 20 20 20 20 20 20 20 Title
0001D0: 20 20 20 4E 6F 72 6D 61 6C 20 76 61 6C 75 65 73 Normal values
0001E0: 0D 4E 75 6D 62 65 72 20 20 20 20 20 20 20 20 20 .Number
0001F0: 20 57 72 69 74 65 20 20 20 20 20 20 20 20 20 20 Write
Size : 512 (Real : 512)
000000: 63 68 61 6E 67 65 64 20 61 73 20 62 65 61 6D 20 changed as beam
000010: 73 63 61 6E 73 20 73 63 72 65 65 6E 29 0D 52 65 scans screen).Re
000020: 67 69 73 74 65 72 20 33 3A 20 20 20 20 20 53 6D gister 3: Sm
000030: 6F 6F 74 68 20 6C 65 66 74 2D 72 69 67 68 74 20 ooth left-right
000040: 68 61 72 64 77 61 72 65 20 73 63 72 6F 6C 6C 0D hardware scroll.
000050: 52 65 67 69 73 74 65 72 20 34 3A 20 20 20 20 20 Register 4:
000060: 52 75 70 74 75 72 65 2F 56 65 72 74 69 63 61 6C Rupture/Vertical
000070: 20 53 70 6C 69 74 74 69 6E 67 20 28 61 6C 6C 6F Splitting (allo
000080: 77 69 6E 67 20 73 63 72 65 65 6E 20 61 64 64 72 wing screen addr
000090: 65 73 73 20 74 6F 0D 20 20 20 20 20 20 20 20 20 ess to.
0000A0: 20 20 20 20 20 20 20 62 65 20 63 68 61 6E 67 65 be change
0000B0: 64 20 6F 6E 20 61 6E 79 20 6C 69 6E 65 0D 52 65 d on any line.Re
0000C0: 67 69 73 74 65 72 20 35 3A 20 20 20 20 20 56 65 gister 5: Ve
0000D0: 72 79 20 73 6D 6F 6F 74 68 20 76 65 72 74 69 63 ry smooth vertic
0000E0: 61 6C 20 73 63 72 6F 6C 6C 69 6E 67 0D 52 65 67 al scrolling.Reg
0000F0: 69 73 74 65 72 20 36 3A 20 20 20 20 20 48 65 69 ister 6: Hei
000100: 67 68 74 20 6F 66 20 73 63 72 65 65 6E 0D 52 65 ght of screen.Re
000110: 67 69 73 74 65 72 20 37 3A 20 20 20 20 20 53 65 gister 7: Se
000120: 74 74 69 6E 67 20 75 70 20 74 68 65 20 72 75 70 tting up the rup
000130: 74 75 72 65 2F 73 70 6C 69 74 74 69 6E 67 20 61 ture/splitting a
000140: 6E 64 20 76 65 72 74 69 63 61 6C 20 70 6F 73 69 nd vertical posi
000150: 74 69 6F 6E 0D 20 20 20 20 20 20 20 20 20 20 20 tion.
000160: 20 20 20 20 20 6F 66 20 73 63 72 65 65 6E 0D 52 of screen.R
000170: 65 67 69 73 74 65 72 20 38 3A 20 20 20 20 20 2D egister 8: -
000180: 0D 52 65 67 69 73 74 65 72 20 39 3A 20 20 20 20 .Register 9:
000190: 20 2D 0D 52 65 67 69 73 74 65 72 20 31 30 3A 20 -.Register 10:
0001A0: 20 20 20 4E 4F 54 20 55 53 45 44 0D 52 65 67 69 NOT USED.Regi
0001B0: 73 74 65 72 20 31 31 3A 20 20 20 20 4E 4F 54 20 ster 11: NOT
0001C0: 55 53 45 44 0D 52 65 67 69 73 74 65 72 20 31 32 USED.Register 12
0001D0: 3A 20 20 20 20 53 65 74 74 69 6E 67 20 73 63 72 : Setting scr
0001E0: 65 65 6E 20 61 64 64 72 65 73 73 20 2B 20 4F 76 een address + Ov
0001F0: 65 72 73 63 61 6E 20 2B 20 48 61 72 64 77 61 72 erscan + Hardwar
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000010: 20 20 20 50 41 4C 20 20 20 53 45 43 41 4D 20 20 PAL SECAM
000020: 20 4E 54 53 43 0D 0D 30 20 20 20 20 20 20 20 20 NTSC..0
000030: 20 20 20 20 20 20 20 57 20 20 20 20 20 20 20 48 W H
000040: 6F 72 69 7A 6F 6E 74 61 6C 20 54 6F 74 61 6C 20 orizontal Total
000050: 20 20 20 20 20 20 20 20 20 36 33 20 20 20 20 36 63 6
000060: 33 20 20 20 20 20 20 36 33 0D 31 20 20 20 20 20 3 63.1
000070: 20 20 20 20 20 20 20 20 20 20 57 20 20 20 20 20 W
000080: 20 20 48 6F 72 69 7A 6F 6E 74 61 6C 20 44 69 73 Horizontal Dis
000090: 70 6C 61 79 65 64 20 20 20 20 20 20 34 30 20 20 played 40
0000A0: 20 20 34 30 20 20 20 20 20 20 34 30 0D 32 20 20 40 40.2
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 57 20 20 W
0000C0: 20 20 20 20 20 48 6F 72 69 7A 6F 6E 74 61 6C 20 Horizontal
0000D0: 53 79 6E 63 20 50 6F 73 69 74 69 6F 6E 20 20 34 Sync Position 4
0000E0: 36 20 20 20 20 34 36 20 20 20 20 20 20 34 36 0D 6 46 46.
0000F0: 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3
000100: 57 20 20 20 20 20 20 20 53 79 6E 63 20 57 69 64 W Sync Wid
000110: 74 68 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th
000120: 20 20 26 38 45 20 20 20 26 38 45 20 20 20 20 20 &8E &8E
000130: 26 38 45 0D 34 20 20 20 20 20 20 20 20 20 20 20 &8E.4
000140: 20 20 20 20 57 20 20 20 20 20 20 20 56 65 72 74 W Vert
000150: 69 63 61 6C 20 54 6F 74 61 6C 20 20 20 20 20 20 ical Total
000160: 20 20 20 20 20 20 33 38 20 20 20 20 33 38 20 20 38 38
000170: 20 20 20 20 33 31 0D 35 20 20 20 20 20 20 20 20 31.5
000180: 20 20 20 20 20 20 20 57 20 20 20 20 20 20 20 56 W V
000190: 65 72 74 69 63 61 6C 20 54 6F 74 61 6C 20 41 64 ertical Total Ad
0001A0: 6A 75 73 74 20 20 20 20 20 30 20 20 20 20 20 30 just 0 0
0001B0: 20 20 20 20 20 20 20 36 0D 36 20 20 20 20 20 20 6.6
0001C0: 20 20 20 20 20 20 20 20 20 57 20 20 20 20 20 20 W
0001D0: 20 56 65 72 74 69 63 61 6C 20 44 69 73 70 6C 61 Vertical Displa
0001E0: 79 65 64 20 20 20 20 20 20 20 20 32 35 20 20 20 yed 25
0001F0: 20 32 35 20 20 20 20 20 20 32 35 0D 37 20 20 20 25 25.7
Size : 512 (Real : 512)
000000: 65 20 73 63 72 6F 6C 6C 69 6E 67 0D 52 65 67 69 e scrolling.Regi
000010: 73 74 65 72 20 31 33 3A 20 20 20 20 48 61 72 64 ster 13: Hard
000020: 77 61 72 65 20 73 63 72 6F 6C 6C 69 6E 67 0D 52 ware scrolling.R
000030: 65 67 69 73 74 65 72 20 31 34 3A 20 20 20 20 4E egister 14: N
000040: 4F 54 20 55 53 45 44 0D 52 65 67 69 73 74 65 72 OT USED.Register
000050: 20 31 35 3A 20 20 20 20 4E 4F 54 20 55 53 45 44 15: NOT USED
000060: 0D 52 65 67 69 73 74 65 72 20 31 36 3A 20 20 20 .Register 16:
000070: 20 4C 69 67 68 74 20 70 65 6E 20 61 64 64 72 65 Light pen addre
000080: 73 73 0D 52 65 67 69 73 74 65 72 20 31 37 3A 20 ss.Register 17:
000090: 20 20 20 4C 69 67 68 74 20 70 65 6E 20 61 64 64 Light pen add
0000A0: 72 65 73 73 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ress..==========
0000B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 52 =============..R
0000F0: 65 67 69 73 74 65 72 20 31 20 20 2D 20 48 6F 72 egister 1 - Hor
000100: 69 7A 6F 6E 74 61 6C 20 44 69 73 70 6C 61 79 65 izontal Displaye
000110: 64 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D d.--------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 0D 0D 54 68 69 73 20 72 65 67 69 73 ----..This regis
000140: 74 65 72 20 69 73 20 75 73 65 64 20 74 6F 20 64 ter is used to d
000150: 65 66 69 6E 65 20 74 68 65 20 20 77 69 64 74 68 efine the width
000160: 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 2E 20 of the screen.
000170: 54 68 65 20 77 69 64 74 68 20 69 73 0D 63 61 6C The width is.cal
000180: 63 75 6C 61 74 65 64 20 69 6E 20 6D 6F 64 65 20 culated in mode
000190: 31 20 63 68 61 72 61 63 74 65 72 20 73 69 7A 65 1 character size
0001A0: 64 20 73 74 65 70 73 2E 0D 0D 69 2E 65 2E 20 74 d steps...i.e. t
0001B0: 68 65 20 6E 75 6D 62 65 72 20 6F 66 20 63 68 61 he number of cha
0001C0: 72 61 63 74 65 72 73 20 20 61 63 63 72 6F 73 73 racters accross
0001D0: 20 20 74 68 65 20 20 73 63 72 65 65 6E 20 20 69 the screen i
0001E0: 6E 20 6D 6F 64 65 20 31 2C 20 69 73 20 74 68 65 n mode 1, is the
0001F0: 0D 20 20 20 20 20 73 61 6D 65 20 61 73 20 74 68 . same as th
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 57 20 20 20 W
000010: 20 20 20 20 56 65 72 74 69 63 61 6C 20 53 79 6E Vertical Syn
000020: 63 20 50 6F 73 69 74 69 6F 6E 20 20 20 20 33 30 c Position 30
000030: 20 20 20 20 33 30 20 20 20 20 20 20 32 37 0D 38 30 27.8
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 W
000050: 20 20 20 20 20 20 20 49 6E 74 65 72 6C 61 63 65 Interlace
000060: 20 61 6E 64 20 53 6B 65 77 20 20 20 20 20 20 20 and Skew
000070: 20 30 20 20 20 20 20 30 20 20 20 20 20 20 20 30 0 0 0
000080: 0D 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .9
000090: 20 57 20 20 20 20 20 20 20 4D 61 78 69 6D 75 6D W Maximum
0000A0: 20 52 61 73 74 65 72 20 41 64 64 72 65 73 73 20 Raster Address
0000B0: 20 20 20 37 20 20 20 20 20 37 20 20 20 20 20 20 7 7
0000C0: 20 37 0D 2A 31 30 20 20 20 20 20 20 20 20 20 20 7.*10
0000D0: 20 20 20 57 20 20 20 20 20 20 20 43 75 72 73 6F W Curso
0000E0: 72 20 53 74 61 72 74 20 52 61 73 74 65 72 20 20 r Start Raster
0000F0: 20 20 20 20 20 58 20 20 20 20 20 58 20 20 20 20 X X
000100: 20 20 20 58 0D 2A 31 31 20 20 20 20 20 20 20 20 X.*11
000110: 20 20 20 20 20 57 20 20 20 20 20 20 20 43 75 72 W Cur
000120: 73 6F 72 20 45 6E 64 20 52 61 73 74 65 72 20 20 sor End Raster
000130: 20 20 20 20 20 20 20 58 20 20 20 20 20 58 20 20 X X
000140: 20 20 20 20 20 58 0D 31 32 20 20 20 20 20 20 20 X.12
000150: 20 20 20 20 20 20 20 52 2F 57 20 20 20 20 20 53 R/W S
000160: 74 61 72 74 20 41 64 64 72 65 73 73 20 28 48 69 tart Address (Hi
000170: 67 68 29 20 20 20 20 20 20 58 20 20 20 20 20 58 gh) X X
000180: 20 20 20 20 20 20 20 58 0D 31 33 20 20 20 20 20 X.13
000190: 20 20 20 20 20 20 20 20 20 52 2F 57 20 20 20 20 R/W
0001A0: 20 53 74 61 72 74 20 41 64 64 72 65 73 73 20 28 Start Address (
0001B0: 4C 6F 77 29 20 20 20 20 20 20 20 58 20 20 20 20 Low) X
0001C0: 20 58 20 20 20 20 20 20 20 58 0D 2A 31 34 20 20 X X.*14
0001D0: 20 20 20 20 20 20 20 20 20 20 20 52 2F 57 20 20 R/W
0001E0: 20 20 20 43 75 72 73 6F 72 20 28 48 69 67 68 29 Cursor (High)
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 58 20 20 X
Size : 512 (Real : 512)
000000: 65 20 6E 75 6D 62 65 72 20 70 72 6F 67 72 61 6D e number program
000010: 6D 65 64 20 69 6E 74 6F 20 74 68 69 73 20 72 65 med into this re
000020: 67 69 73 74 65 72 2E 0D 0D 54 68 65 72 65 66 6F gister...Therefo
000030: 72 65 2C 20 74 68 65 20 77 69 64 74 68 20 6F 66 re, the width of
000040: 20 74 68 65 20 73 63 72 65 65 6E 20 20 6D 61 79 the screen may
000050: 20 20 62 65 20 69 6E 63 72 65 61 73 65 64 20 6F be increased o
000060: 72 20 64 65 63 72 65 61 73 65 64 2C 20 74 6F 0D r decreased, to.
000070: 67 65 74 20 74 68 65 20 64 65 73 69 72 65 64 20 get the desired
000080: 73 63 72 65 65 6E 20 77 69 64 74 68 2E 0D 0D 49 screen width...I
000090: 66 20 74 68 65 20 76 61 6C 75 65 20 70 72 6F 67 f the value prog
0000A0: 72 61 6D 6D 65 64 20 69 73 20 20 69 6E 63 72 65 rammed is incre
0000B0: 61 73 65 64 2C 20 20 74 68 65 20 20 77 69 64 74 ased, the widt
0000C0: 68 20 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E h of the screen
0000D0: 20 77 69 6C 6C 0D 69 6E 63 72 65 61 73 65 2C 20 will.increase,
0000E0: 69 66 20 74 68 65 20 20 76 61 6C 75 65 20 20 70 if the value p
0000F0: 72 6F 67 72 61 6D 6D 65 64 20 20 69 73 20 20 64 rogrammed is d
000100: 65 63 72 65 61 73 65 64 2C 20 20 74 68 65 20 20 ecreased, the
000110: 77 69 64 74 68 20 6F 66 20 74 68 65 0D 73 63 72 width of the.scr
000120: 65 65 6E 20 77 69 6C 6C 20 64 65 63 72 65 61 73 een will decreas
000130: 65 2E 0D 0D 54 68 65 20 6E 6F 72 6D 61 6C 20 77 e...The normal w
000140: 69 64 74 68 20 6F 66 20 74 68 65 20 20 73 63 72 idth of the scr
000150: 65 65 6E 20 20 69 73 20 20 34 30 20 20 63 68 61 een is 40 cha
000160: 72 61 63 74 65 72 73 2E 20 20 54 68 65 20 77 69 racters. The wi
000170: 64 74 68 20 6F 66 20 74 68 65 0D 6D 6F 6E 69 74 dth of the.monit
000180: 6F 72 20 73 63 72 65 65 6E 20 69 73 20 35 30 20 or screen is 50
000190: 63 68 61 72 61 63 74 65 72 73 2E 0D 0D 28 54 68 characters...(Th
0001A0: 65 20 6E 75 6D 62 65 72 20 6F 66 20 62 79 74 65 e number of byte
0001B0: 73 20 64 69 73 70 6C 61 79 65 64 20 6F 6E 20 20 s displayed on
0001C0: 61 20 6C 69 6E 65 3D 76 61 6C 75 65 20 70 72 6F a line=value pro
0001D0: 67 72 61 6D 6D 65 64 20 74 6F 20 72 65 67 69 73 grammed to regis
0001E0: 74 65 72 0D 31 2A 32 29 0D 0D 3D 3D 3D 3D 3D 3D ter.1*2)..======
0001F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
Size : 512 (Real : 512)
000000: 75 65 20 69 73 20 64 65 63 72 65 61 73 65 64 2C ue is decreased,
000010: 20 74 68 65 20 73 63 72 65 65 6E 20 77 69 6C 6C the screen will
000020: 20 73 68 69 66 74 20 64 6F 77 6E 77 61 72 64 73 shift downwards
000030: 2E 0D 0D 54 68 65 72 65 66 6F 72 65 2C 20 75 73 ...Therefore, us
000040: 69 6E 67 20 74 68 69 73 20 20 72 65 67 69 73 74 ing this regist
000050: 65 72 20 20 61 6E 64 20 20 72 65 67 69 73 74 65 er and registe
000060: 72 20 20 32 2C 20 20 69 74 20 20 69 73 20 70 6F r 2, it is po
000070: 73 73 69 62 6C 65 20 74 6F 0D 70 6F 73 69 74 69 ssible to.positi
000080: 6F 6E 20 74 68 65 20 70 69 63 74 75 72 65 20 74 on the picture t
000090: 6F 20 61 6E 79 20 70 6F 73 69 74 69 6F 6E 20 6F o any position o
0000A0: 6E 20 74 68 65 20 6D 6F 6E 69 74 6F 72 20 73 63 n the monitor sc
0000B0: 72 65 65 6E 2E 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D reen...=========
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 52 =============..R
000100: 65 67 69 73 74 65 72 20 31 32 20 2D 20 53 74 61 egister 12 - Sta
000110: 72 74 20 41 64 64 72 65 73 73 20 28 48 69 67 68 rt Address (High
000120: 29 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ).--------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 0D 0D 54 68 69 73 20 72 65 67 69 73 ----..This regis
000150: 74 65 72 20 73 70 65 63 69 66 79 73 20 77 68 65 ter specifys whe
000160: 72 65 20 74 68 65 20 73 63 72 65 65 6E 20 20 77 re the screen w
000170: 69 6C 6C 20 20 73 74 61 72 74 20 69 6E 20 6D 65 ill start in me
000180: 6D 6F 72 79 20 61 6E 64 20 68 6F 77 0D 6D 75 63 mory and how.muc
000190: 68 20 6D 65 6D 6F 72 79 20 69 73 20 20 74 6F 20 h memory is to
0001A0: 20 62 65 20 20 75 73 65 64 20 20 74 6F 20 20 64 be used to d
0001B0: 69 73 70 6C 61 79 20 20 74 68 65 20 20 73 63 72 isplay the scr
0001C0: 65 65 6E 2E 20 20 54 6F 67 65 74 68 65 72 20 77 een. Together w
0001D0: 69 74 68 0D 72 65 67 69 73 74 65 72 20 31 33 2C ith.register 13,
0001E0: 20 69 74 20 61 6C 6C 6F 77 73 20 74 68 65 20 75 it allows the u
0001F0: 73 65 72 20 74 6F 20 73 63 72 6F 6C 6C 20 74 68 ser to scroll th
Size : 512 (Real : 512)
000000: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000010: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000030: 0D 0D 52 65 67 69 73 74 65 72 20 32 20 20 2D 20 ..Register 2 -
000040: 48 6F 72 69 7A 6F 6E 74 61 6C 20 53 79 6E 63 20 Horizontal Sync
000050: 50 6F 73 69 74 69 6F 6E 0D 2D 2D 2D 2D 2D 2D 2D Position.-------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D --------------..
000080: 54 68 69 73 20 72 65 67 69 73 74 65 72 20 64 65 This register de
000090: 66 69 6E 65 73 20 74 68 65 20 68 6F 72 69 7A 6F fines the horizo
0000A0: 6E 74 61 6C 20 70 6F 73 69 74 69 6F 6E 20 6F 66 ntal position of
0000B0: 20 74 68 65 20 73 63 72 65 65 6E 20 77 69 74 68 the screen with
0000C0: 69 6E 20 74 68 65 0D 6D 6F 6E 69 74 6F 72 20 73 in the.monitor s
0000D0: 63 72 65 65 6E 2E 0D 0D 49 66 20 74 68 65 20 70 creen...If the p
0000E0: 72 6F 67 72 61 6D 6D 65 64 20 76 61 6C 75 65 20 rogrammed value
0000F0: 69 73 20 20 69 6E 63 72 65 61 73 65 64 2C 20 20 is increased,
000100: 74 68 65 20 20 73 63 72 65 65 6E 20 20 77 69 6C the screen wil
000110: 6C 20 73 68 69 66 74 20 74 6F 20 74 68 65 0D 6C l shift to the.l
000120: 65 66 74 2C 20 69 66 20 74 68 65 20 70 72 6F 67 eft, if the prog
000130: 72 61 6D 6D 65 64 20 76 61 6C 75 65 20 69 73 20 rammed value is
000140: 20 64 65 63 72 65 61 73 65 64 2C 20 20 74 68 65 decreased, the
000150: 20 73 63 72 65 65 6E 20 77 69 6C 6C 20 73 68 69 screen will shi
000160: 66 74 20 74 6F 0D 74 68 65 20 72 69 67 68 74 2E ft to.the right.
000170: 0D 0D 53 6F 2C 20 75 73 69 6E 67 20 20 74 68 69 ..So, using thi
000180: 73 20 20 72 65 67 69 73 74 65 72 2C 20 20 74 68 s register, th
000190: 65 20 20 75 73 65 72 20 20 63 61 6E 20 20 70 75 e user can pu
0001A0: 74 20 20 74 68 65 20 20 73 63 72 65 65 6E 20 20 t the screen
0001B0: 74 6F 20 20 61 6E 79 0D 68 6F 72 69 7A 6F 6E 74 to any.horizont
0001C0: 61 6C 20 70 6F 73 69 74 69 6F 6E 20 74 68 65 79 al position they
0001D0: 20 77 61 6E 74 2E 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D want...========
0001E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
Size : 512 (Real : 512)
000000: 65 20 73 63 72 65 65 6E 2E 0D 0D 42 69 74 20 35 e screen...Bit 5
000010: 20 61 6E 64 20 42 69 74 20 34 20 64 65 74 65 72 and Bit 4 deter
000020: 6D 69 6E 65 20 20 77 68 69 63 68 20 20 31 36 6B mine which 16k
000030: 20 20 62 6C 6F 63 6B 20 74 68 65 20 73 63 72 65 block the scre
000040: 65 6E 20 69 73 20 6C 6F 63 61 74 65 64 2C 20 69 en is located, i
000050: 6E 0D 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 n.the following
000060: 77 61 79 3A 0D 0D 42 69 74 20 35 20 20 20 42 69 way:..Bit 5 Bi
000070: 74 20 34 20 20 20 4D 65 6D 6F 72 79 20 62 6C 6F t 4 Memory blo
000080: 63 6B 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ck.-------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D ---------------.
0000A0: 20 20 30 20 20 20 20 20 20 30 20 20 20 20 20 20 0 0
0000B0: 26 30 30 30 30 2D 26 33 46 46 46 0D 20 20 30 20 &0000-&3FFF. 0
0000C0: 20 20 20 20 20 31 20 20 20 20 20 20 26 34 30 30 1 &400
0000D0: 30 2D 26 38 30 30 30 0D 20 20 31 20 20 20 20 20 0-&8000. 1
0000E0: 20 30 20 20 20 20 20 20 26 38 30 30 30 2D 26 43 0 &8000-&C
0000F0: 30 30 30 0D 20 20 31 20 20 20 20 20 20 31 20 20 000. 1 1
000100: 20 20 20 20 26 43 30 30 30 2D 26 46 46 46 46 0D &C000-&FFFF.
000110: 0D 49 6E 20 74 68 69 73 20 77 61 79 2C 20 74 68 .In this way, th
000120: 65 20 73 63 72 65 65 6E 20 63 61 6E 20 62 65 20 e screen can be
000130: 70 6F 73 69 74 69 6F 6E 65 64 20 61 6C 6D 6F 73 positioned almos
000140: 74 20 61 6E 79 77 68 65 72 65 20 69 6E 20 6D 65 t anywhere in me
000150: 6D 6F 72 79 2E 0D 0D 54 68 65 20 73 63 72 65 65 mory...The scree
000160: 6E 20 61 64 64 72 65 73 73 20 69 73 20 6F 6E 6C n address is onl
000170: 79 20 20 63 68 61 6E 67 65 64 20 20 77 68 65 6E y changed when
000180: 20 20 61 20 20 56 53 59 4E 43 20 6F 63 63 75 72 a VSYNC occur
000190: 73 2E 20 53 6F 2C 20 69 66 20 79 6F 75 0D 61 74 s. So, if you.at
0001A0: 74 65 6D 70 74 20 74 6F 20 63 68 61 6E 67 65 20 tempt to change
0001B0: 74 68 65 20 73 63 72 65 65 6E 20 61 64 64 72 65 the screen addre
0001C0: 73 73 2C 20 20 61 73 20 74 68 65 20 65 6C 65 63 ss, as the elec
0001D0: 74 72 6F 6E 20 62 65 61 6D 20 69 73 20 64 72 61 tron beam is dra
0001E0: 77 69 6E 67 0D 74 68 65 20 73 63 72 65 65 6E 2C wing.the screen,
0001F0: 20 6F 6E 6C 79 20 6F 6E 65 20 73 63 72 65 65 6E only one screen
Size : 512 (Real : 512)
000000: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000010: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D ==============..
000020: 52 65 67 69 73 74 65 72 20 35 20 20 2D 20 56 65 Register 5 - Ve
000030: 72 74 69 63 61 6C 20 74 6F 74 61 6C 20 61 64 6A rtical total adj
000040: 75 73 74 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ust.------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 0D 0D 54 68 69 73 20 72 65 -------..This re
000070: 67 69 73 74 65 72 20 20 61 6C 6C 6F 77 73 20 20 gister allows
000080: 74 68 65 20 20 76 65 72 74 69 63 61 6C 20 20 70 the vertical p
000090: 6F 73 69 74 69 6F 6E 20 20 6F 66 20 20 74 68 65 osition of the
0000A0: 20 20 73 63 72 65 65 6E 20 20 74 6F 20 62 65 0D screen to be.
0000B0: 70 6F 73 69 74 69 6F 6E 65 64 20 74 6F 20 61 6E positioned to an
0000C0: 79 20 20 70 69 78 65 6C 20 20 6F 66 66 73 65 74 y pixel offset
0000D0: 20 20 66 72 6F 6D 20 20 74 68 65 20 20 63 75 72 from the cur
0000E0: 72 65 6E 74 20 76 65 72 74 69 63 61 6C 20 70 6F rent vertical po
0000F0: 73 69 74 69 6F 6E 0D 64 65 66 69 6E 65 64 20 69 sition.defined i
000100: 6E 20 72 65 67 69 73 74 65 72 20 37 2E 0D 0D 49 n register 7...I
000110: 66 20 74 68 65 20 76 61 6C 75 65 20 69 73 20 69 f the value is i
000120: 6E 63 72 65 61 73 65 64 2C 20 20 74 68 65 20 20 ncreased, the
000130: 70 69 63 74 75 72 65 20 20 77 69 6C 6C 20 20 73 picture will s
000140: 68 69 66 74 20 20 64 6F 77 6E 20 62 79 20 61 20 hift down by a
000150: 70 69 78 65 6C 0D 6C 69 6E 65 2C 20 69 66 20 69 pixel.line, if i
000160: 74 20 69 73 20 64 65 63 72 65 61 73 65 64 20 74 t is decreased t
000170: 68 65 20 70 69 63 74 75 72 65 20 77 69 6C 6C 20 he picture will
000180: 73 68 69 66 74 20 75 70 20 62 79 20 6F 6E 65 20 shift up by one
000190: 70 69 78 65 6C 20 6C 69 6E 65 2E 0D 0D 54 68 69 pixel line...Thi
0001A0: 73 20 72 65 67 69 73 74 65 72 20 75 73 65 64 20 s register used
0001B0: 69 6E 20 63 6F 6E 6A 75 6E 63 74 69 6F 6E 20 77 in conjunction w
0001C0: 69 74 68 20 72 65 67 69 73 74 65 72 20 31 32 20 ith register 12
0001D0: 61 6E 64 20 31 33 2C 20 63 61 6E 20 62 65 20 75 and 13, can be u
0001E0: 73 65 64 0D 74 6F 20 67 65 74 20 70 65 72 66 65 sed.to get perfe
0001F0: 63 74 20 70 69 78 65 6C 20 62 79 20 70 69 78 65 ct pixel by pixe
Size : 512 (Real : 512)
000000: 20 77 69 6C 6C 20 62 65 20 73 68 6F 77 6E 2E 0D will be shown..
000010: 0D 28 54 6F 20 63 68 61 6E 67 65 20 74 68 65 20 .(To change the
000020: 73 63 72 65 65 6E 20 61 64 64 72 65 73 73 20 6D screen address m
000030: 6F 72 65 20 20 74 68 61 6E 20 6F 6E 63 65 20 61 ore than once a
000040: 20 73 70 65 63 69 61 6C 20 74 65 63 68 6E 69 63 special technic
000050: 20 63 61 6C 6C 65 64 0D 22 72 75 70 74 75 72 65 called."rupture
000060: 22 20 6F 72 20 22 68 61 72 64 77 61 72 65 20 73 " or "hardware s
000070: 70 6C 69 74 74 69 6E 67 22 20 69 73 20 20 6E 65 plitting" is ne
000080: 65 64 65 64 2E 20 20 54 68 69 73 20 73 70 65 63 eded. This spec
000090: 69 61 6C 20 65 66 66 65 63 74 20 77 61 73 0D 64 ial effect was.d
0000A0: 65 76 65 6C 6F 70 65 64 20 62 79 20 54 68 65 20 eveloped by The
0000B0: 4C 6F 67 6F 6E 20 53 79 73 74 65 6D 20 64 65 6D Logon System dem
0000C0: 6F 20 74 65 61 6D 2E 29 0D 0D 54 68 65 20 43 52 o team.)..The CR
0000D0: 54 43 20 63 61 6E 6E 6F 74 20 61 63 63 65 73 73 TC cannot access
0000E0: 20 20 74 68 65 20 20 65 78 74 72 61 20 20 6D 65 the extra me
0000F0: 6D 6F 72 79 2C 20 20 73 6F 20 20 69 74 20 20 77 mory, so it w
000100: 69 6C 6C 20 6F 6E 6C 79 20 64 69 73 70 6C 61 79 ill only display
000110: 0D 73 63 72 65 65 6E 73 20 77 68 69 63 68 20 61 .screens which a
000120: 72 65 20 6C 6F 63 61 74 65 64 20 69 6E 20 6D 65 re located in me
000130: 6D 6F 72 79 20 62 6C 6F 63 6B 73 20 30 2D 33 20 mory blocks 0-3
000140: 6F 6E 6C 79 2C 20 72 65 67 61 72 64 6C 65 73 73 only, regardless
000150: 20 6F 66 20 61 6E 79 0D 72 61 6D 20 63 6F 6E 66 of any.ram conf
000160: 69 67 75 72 61 74 69 6F 6E 2E 20 28 69 2E 65 2E iguration. (i.e.
000170: 20 69 74 20 20 77 69 6C 6C 20 20 6F 6E 6C 79 20 it will only
000180: 20 64 69 73 70 6C 61 79 20 20 73 63 72 65 65 6E display screen
000190: 73 20 69 6E 20 74 68 65 20 66 69 72 73 74 0D 62 s in the first.b
0001A0: 61 6E 6B 20 6F 66 20 20 36 34 6B 29 2E 20 20 49 ank of 64k). I
0001B0: 66 20 20 79 6F 75 20 20 63 68 61 6E 67 65 20 20 f you change
0001C0: 74 68 65 20 20 72 61 6D 20 20 63 6F 6E 66 69 67 the ram config
0001D0: 75 72 61 74 69 6F 6E 2C 20 20 73 6F 20 20 74 68 uration, so th
0001E0: 61 74 20 20 61 0D 64 69 66 66 65 72 65 6E 74 20 at a.different
0001F0: 31 36 6B 20 20 62 6C 6F 63 6B 20 20 69 73 20 20 16k block is
Size : 512 (Real : 512)
000000: 6C 20 76 65 72 74 69 63 61 6C 20 73 63 72 6F 6C l vertical scrol
000010: 6C 69 6E 67 2E 0D 0D 28 73 65 65 20 70 72 6F 67 ling...(see prog
000020: 72 61 6D 6D 69 6E 67 20 65 78 61 6D 70 6C 65 29 ramming example)
000030: 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ..==============
000040: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000050: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000060: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000070: 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 52 65 67 69 73 74 ========..Regist
000080: 65 72 20 36 20 20 2D 20 56 65 72 74 69 63 61 6C er 6 - Vertical
000090: 20 64 69 73 70 6C 61 79 65 64 0D 2D 2D 2D 2D 2D displayed.-----
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 54 68 69 -----------..Thi
0000C0: 73 20 72 65 67 69 73 74 65 72 20 64 65 66 69 6E s register defin
0000D0: 65 73 20 74 68 65 20 20 68 65 69 67 68 74 20 20 es the height
0000E0: 6F 66 20 20 74 68 65 20 20 73 63 72 65 65 6E 20 of the screen
0000F0: 20 69 6E 20 63 68 61 72 61 63 74 65 72 20 73 69 in character si
000100: 7A 65 64 0D 75 6E 69 74 73 2E 0D 0D 49 66 20 74 zed.units...If t
000110: 68 65 20 76 61 6C 75 65 20 70 72 6F 67 72 61 6D he value program
000120: 6D 65 64 20 69 73 20 20 69 6E 63 72 65 61 73 65 med is increase
000130: 64 2C 20 20 74 68 65 20 20 68 65 69 67 68 74 20 d, the height
000140: 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 77 69 of the screen wi
000150: 6C 6C 0D 69 6E 63 72 65 61 73 65 2C 20 69 66 20 ll.increase, if
000160: 74 68 65 20 76 61 6C 75 65 20 20 70 72 6F 67 72 the value progr
000170: 61 6D 6D 65 64 20 20 69 73 20 20 64 65 63 72 65 ammed is decre
000180: 61 73 65 64 2C 20 20 74 68 65 20 20 68 65 69 67 ased, the heig
000190: 68 74 20 6F 66 20 74 68 65 0D 73 63 72 65 65 6E ht of the.screen
0001A0: 20 77 69 6C 6C 20 64 65 63 72 65 61 73 65 2E 0D will decrease..
0001B0: 0D 54 68 65 20 6E 6F 72 6D 61 6C 20 76 61 6C 75 .The normal valu
0001C0: 65 20 70 72 6F 67 72 61 6D 6D 65 64 20 69 73 20 e programmed is
0001D0: 32 35 2E 20 54 68 65 20 68 65 69 67 68 74 20 6F 25. The height o
0001E0: 66 20 74 68 65 20 6D 6F 6E 69 74 6F 72 20 73 63 f the monitor sc
0001F0: 72 65 65 6E 20 69 73 0D 33 35 20 63 68 61 72 61 reen is.35 chara
Size : 512 (Real : 512)
000000: 73 77 69 74 63 68 65 64 20 20 69 6E 74 6F 20 20 switched into
000010: 74 68 65 20 20 61 72 65 61 20 20 77 68 69 63 68 the area which
000020: 20 20 68 6F 6C 64 73 20 20 74 68 65 0D 73 63 72 holds the.scr
000030: 65 65 6E 20 74 68 65 72 65 20 77 69 6C 6C 20 62 een there will b
000040: 65 20 6E 6F 20 65 66 66 65 63 74 20 6F 6E 20 74 e no effect on t
000050: 68 65 20 70 69 63 74 75 72 65 2E 0D 0D 28 73 65 he picture...(se
000060: 65 20 74 68 65 20 64 6F 63 75 6D 65 6E 74 20 6F e the document o
000070: 6E 20 74 68 65 20 47 61 74 65 20 41 72 72 61 79 n the Gate Array
000080: 20 66 6F 72 20 6D 6F 72 65 20 69 6E 66 6F 72 6D for more inform
000090: 61 74 69 6F 6E 29 2E 0D 0D 42 69 74 20 33 20 61 ation)...Bit 3 a
0000A0: 6E 64 20 32 20 64 65 74 65 72 6D 69 6E 65 20 68 nd 2 determine h
0000B0: 6F 77 20 6D 75 63 68 20 6D 65 6D 6F 72 79 20 74 ow much memory t
0000C0: 68 65 20 43 52 54 43 20 63 61 6E 20 75 73 65 20 he CRTC can use
0000D0: 66 6F 72 20 74 68 65 20 73 63 72 65 65 6E 2E 0D for the screen..
0000E0: 54 68 65 20 43 52 54 43 20 69 73 20 63 61 70 61 The CRTC is capa
0000F0: 62 6C 65 20 6F 66 20 64 69 73 70 6C 61 79 69 6E ble of displayin
000100: 67 20 31 36 6B 20 6F 72 20 33 32 6B 20 73 63 72 g 16k or 32k scr
000110: 65 65 6E 73 2E 20 42 69 74 73 20 33 20 61 6E 64 eens. Bits 3 and
000120: 20 32 20 61 72 65 0D 64 65 66 69 6E 65 64 20 69 2 are.defined i
000130: 6E 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 n the following
000140: 77 61 79 3A 0D 0D 42 69 74 20 33 20 20 20 42 69 way:..Bit 3 Bi
000150: 74 20 32 20 20 20 53 63 72 65 65 6E 20 6D 65 6D t 2 Screen mem
000160: 6F 72 79 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ory.------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 0D 20 20 30 20 20 20 20 20 20 30 20 20 20 20 -. 0 0
000190: 20 20 31 36 6B 0D 20 20 31 20 20 20 20 20 20 30 16k. 1 0
0001A0: 20 20 20 20 20 20 31 36 6B 0D 20 20 30 20 20 20 16k. 0
0001B0: 20 20 20 31 20 20 20 20 20 20 31 36 6B 0D 20 20 1 16k.
0001C0: 31 20 20 20 20 20 20 31 20 20 20 20 20 20 33 32 1 1 32
0001D0: 6B 0D 0D 57 68 65 6E 20 74 68 65 20 43 52 54 43 k..When the CRTC
0001E0: 20 69 73 20 61 63 63 65 73 73 69 6E 67 20 33 32 is accessing 32
0001F0: 6B 2C 20 79 6F 75 20 63 61 6E 20 65 78 70 61 6E k, you can expan
Size : 512 (Real : 512)
000000: 63 74 65 72 73 2E 0D 0D 4E 4F 54 45 3A 0D 0D 57 cters...NOTE:..W
000010: 65 20 63 61 6E 20 66 69 6E 64 20 74 68 65 20 68 e can find the h
000020: 65 69 67 68 74 20 6F 66 20 20 74 68 65 20 20 73 eight of the s
000030: 63 72 65 65 6E 20 20 69 6E 20 70 69 78 65 6C 20 creen in pixel
000040: 6C 69 6E 65 73 2C 20 62 79 20 6D 75 6C 74 69 70 lines, by multip
000050: 6C 79 69 6E 67 0D 74 68 69 73 20 62 79 20 74 68 lying.this by th
000060: 65 20 76 61 6C 75 65 20 69 6E 20 72 65 67 69 73 e value in regis
000070: 74 65 72 20 39 20 70 6C 75 73 20 31 2E 0D 0D 48 ter 9 plus 1...H
000080: 65 69 67 68 74 20 6F 66 20 73 63 72 65 65 6E 20 eight of screen
000090: 3D 20 72 65 67 69 73 74 65 72 20 36 20 76 61 6C = register 6 val
0000A0: 75 65 2A 28 72 65 67 69 73 74 65 72 20 39 20 76 ue*(register 9 v
0000B0: 61 6C 75 65 2B 31 29 0D 0D 3D 3D 3D 3D 3D 3D 3D alue+1)..=======
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D ===============.
000100: 0D 52 65 67 69 73 74 65 72 20 37 20 20 2D 20 56 .Register 7 - V
000110: 65 72 74 69 63 61 6C 20 73 79 6E 63 20 70 6F 73 ertical sync pos
000120: 69 74 69 6F 6E 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ition.----------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 54 68 69 73 ----------..This
000150: 20 72 65 67 69 73 74 65 72 20 64 65 66 69 6E 65 register define
000160: 73 20 74 68 65 20 76 65 72 74 69 63 61 6C 20 20 s the vertical
000170: 70 6F 73 69 74 69 6F 6E 20 20 6F 66 20 74 68 65 position of the
000180: 20 73 63 72 65 65 6E 20 77 69 74 68 69 6E 20 74 screen within t
000190: 68 65 0D 6D 6F 6E 69 74 6F 72 20 73 63 72 65 65 he.monitor scree
0001A0: 6E 2E 0D 0D 49 66 20 74 68 65 20 70 72 6F 67 72 n...If the progr
0001B0: 61 6D 6D 65 64 20 76 61 6C 75 65 20 69 73 20 20 ammed value is
0001C0: 69 6E 63 72 65 61 73 65 64 2C 20 20 74 68 65 20 increased, the
0001D0: 73 63 72 65 65 6E 20 77 69 6C 6C 20 73 68 69 66 screen will shif
0001E0: 74 20 75 70 77 61 72 64 73 2C 0D 69 66 20 74 68 t upwards,.if th
0001F0: 65 20 70 72 6F 67 72 61 6D 6D 65 64 20 76 61 6C e programmed val
Size : 512 (Real : 512)
000000: 64 20 74 68 65 20 73 63 72 65 65 6E 20 73 69 7A d the screen siz
000010: 65 20 73 6F 20 74 68 61 74 0D 79 6F 75 20 63 61 e so that.you ca
000020: 6E 20 68 61 76 65 20 61 20 70 69 63 74 75 72 65 n have a picture
000030: 20 77 68 69 63 68 20 63 6F 76 65 72 73 20 74 68 which covers th
000040: 65 20 62 6F 72 64 65 72 73 21 20 28 6F 76 65 72 e borders! (over
000050: 73 63 61 6E 29 0D 0D 57 68 65 6E 20 33 32 6B 20 scan)..When 32k
000060: 20 69 73 20 20 73 65 6C 65 63 74 65 64 2C 20 20 is selected,
000070: 74 68 65 20 20 66 69 72 73 74 20 20 61 6E 64 20 the first and
000080: 20 73 65 63 6F 6E 64 20 20 73 63 72 65 65 6E 73 second screens
000090: 20 20 6F 63 63 75 70 79 20 20 74 68 65 0D 66 6F occupy the.fo
0000A0: 6C 6C 6F 77 69 6E 67 20 72 61 6E 67 65 20 6F 66 llowing range of
0000B0: 20 61 64 64 72 65 73 73 65 73 73 3A 0D 0D 46 69 addressess:..Fi
0000C0: 72 73 74 20 73 63 72 65 65 6E 20 20 20 20 53 65 rst screen Se
0000D0: 63 6F 6E 64 20 73 63 72 65 65 6E 0D 2D 2D 2D 2D cond screen.----
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 26 30 30 30 30 2D ---------.&0000-
000100: 26 33 46 46 46 20 20 20 20 20 26 34 30 30 30 2D &3FFF &4000-
000110: 26 37 46 46 46 0D 26 34 30 30 30 2D 26 37 46 46 &7FFF.&4000-&7FF
000120: 46 20 20 20 20 20 26 38 30 30 30 2D 26 42 46 46 F &8000-&BFF
000130: 46 0D 26 38 30 30 30 2D 26 42 46 46 46 20 20 20 F.&8000-&BFFF
000140: 20 20 26 43 30 30 30 2D 26 46 46 46 46 0D 26 43 &C000-&FFFF.&C
000150: 30 30 30 2D 26 46 46 46 46 20 20 20 20 20 26 30 000-&FFFF &0
000160: 30 30 30 2D 26 33 46 46 46 0D 0D 28 73 65 65 20 000-&3FFF..(see
000170: 74 68 65 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 the programming
000180: 65 78 61 6D 70 6C 65 29 0D 0D 42 69 74 20 31 20 example)..Bit 1
000190: 61 6E 64 20 30 20 20 61 72 65 20 20 75 73 65 64 and 0 are used
0001A0: 20 20 77 69 74 68 20 20 72 65 67 69 73 74 65 72 with register
0001B0: 20 20 31 33 20 20 74 6F 20 20 64 6F 20 68 61 72 13 to do har
0001C0: 64 77 61 72 65 20 73 63 72 6F 6C 6C 69 6E 67 2E dware scrolling.
0001D0: 0D 52 65 67 69 73 74 65 72 20 31 33 20 63 6F 6E .Register 13 con
0001E0: 74 61 69 6E 73 20 74 68 65 20 6C 6F 77 65 72 20 tains the lower
0001F0: 38 20 62 69 74 73 20 20 6F 66 20 20 74 68 65 20 8 bits of the
Size : 512 (Real : 512)
000000: 4F 76 65 72 73 63 61 6E 2C 0D 3D 3D 3D 3D 3D 3D Overscan,.======
000010: 3D 3D 3D 3D 3D 3D 0D 0D 4F 76 65 72 73 63 61 6E ======..Overscan
000020: 20 69 73 20 74 68 65 20 65 66 66 65 63 74 20 77 is the effect w
000030: 68 65 72 65 20 74 68 65 20 73 63 72 65 65 6E 20 here the screen
000040: 20 69 73 20 65 78 70 61 6E 64 65 64 20 74 6F 20 is expanded to
000050: 66 69 6C 6C 20 74 68 65 20 77 68 6F 6C 65 0D 6D fill the whole.m
000060: 6F 6E 69 74 6F 72 20 73 63 72 65 65 6E 2C 20 53 onitor screen, S
000070: 6F 20 74 68 65 72 65 20 61 72 65 20 6E 6F 20 62 o there are no b
000080: 6F 72 64 65 72 73 20 72 65 6D 61 69 6E 69 6E 67 orders remaining
000090: 2E 0D 0D 49 74 20 69 73 20 61 20 20 73 69 6D 70 ...It is a simp
0000A0: 6C 65 20 20 65 66 66 65 63 74 20 20 74 6F 20 20 le effect to
0000B0: 75 73 65 2C 20 20 62 75 74 20 20 77 6F 72 6B 69 use, but worki
0000C0: 6E 67 20 20 6F 75 74 20 73 63 72 65 65 6E 20 61 ng out screen a
0000D0: 64 64 72 65 73 73 65 73 73 0D 62 65 63 6F 6D 65 ddressess.become
0000E0: 73 20 6D 6F 72 65 20 64 69 66 66 69 63 75 6C 74 s more difficult
0000F0: 2E 20 28 65 73 70 65 63 69 61 6C 6C 79 20 20 77 . (especially w
000100: 68 65 72 65 20 20 74 68 65 20 20 66 69 72 73 74 here the first
000110: 20 73 63 72 65 65 6E 20 65 6E 64 73 20 61 6E 64 screen ends and
000120: 0D 74 68 65 20 73 65 63 6F 6E 64 20 73 63 72 65 .the second scre
000130: 65 6E 20 73 74 61 72 74 73 29 2E 0D 0D 54 6F 20 en starts)...To
000140: 65 78 70 61 6E 64 20 74 68 65 20 73 63 72 65 65 expand the scree
000150: 6E 2C 20 77 65 20 20 75 73 65 20 20 72 65 67 69 n, we use regi
000160: 73 74 65 72 73 20 20 31 2C 20 20 36 2C 20 20 32 sters 1, 6, 2
000170: 20 20 61 6E 64 20 37 2E 20 52 65 67 69 73 74 65 and 7. Registe
000180: 72 20 31 0D 69 73 20 75 73 65 64 20 74 6F 20 73 r 1.is used to s
000190: 65 74 20 74 68 65 20 77 69 64 74 68 20 6F 66 20 et the width of
0001A0: 20 74 68 65 20 20 73 63 72 65 65 6E 2C 20 72 65 the screen, re
0001B0: 67 69 73 74 65 72 20 36 20 74 68 65 20 68 65 69 gister 6 the hei
0001C0: 67 68 74 20 6F 66 20 74 68 65 0D 73 63 72 65 65 ght of the.scree
0001D0: 6E 2C 20 72 65 67 69 73 74 65 72 20 32 20 74 68 n, register 2 th
0001E0: 65 20 68 6F 72 69 7A 6F 6E 74 61 6C 20 70 6F 73 e horizontal pos
0001F0: 69 74 69 6F 6E 20 20 6F 66 20 74 68 65 20 73 63 ition of the sc
Size : 512 (Real : 512)
000000: 20 6F 66 66 73 65 74 20 61 6E 64 20 62 69 74 20 offset and bit
000010: 31 20 61 6E 64 20 30 0D 63 6F 6E 74 61 69 6E 20 1 and 0.contain
000020: 74 68 65 20 75 70 70 65 72 20 32 20 62 69 74 73 the upper 2 bits
000030: 20 20 6F 66 20 20 74 68 65 20 20 6F 66 66 73 65 of the offse
000040: 74 2E 20 20 54 68 65 20 20 6F 66 66 73 65 74 20 t. The offset
000050: 69 73 20 31 30 20 62 69 74 73 20 61 6E 64 0D 64 is 10 bits and.d
000060: 65 66 69 6E 65 73 20 74 68 65 20 70 6F 73 69 74 efines the posit
000070: 69 6F 6E 20 6F 66 20 74 68 65 20 73 63 72 65 65 ion of the scree
000080: 6E 20 20 77 69 74 68 69 6E 20 20 74 68 65 20 31 n within the 1
000090: 36 6B 20 62 6C 6F 63 6B 20 73 70 65 63 69 66 69 6k block specifi
0000A0: 65 64 20 69 6E 0D 62 69 74 73 20 35 20 61 6E 64 ed in.bits 5 and
0000B0: 20 34 2E 0D 0D 53 6F 2C 20 62 79 20 63 68 61 6E 4...So, by chan
0000C0: 67 69 6E 67 20 74 68 65 20 76 61 6C 75 65 20 63 ging the value c
0000D0: 6F 6E 74 61 69 6E 65 64 20 69 6E 20 20 72 65 67 ontained in reg
0000E0: 69 73 74 65 72 20 20 31 33 2C 20 61 6E 64 20 62 ister 13, and b
0000F0: 69 74 73 20 31 20 61 6E 64 20 30 0D 6F 66 20 72 its 1 and 0.of r
000100: 65 67 69 73 74 65 72 20 31 32 2C 20 74 68 65 20 egister 12, the
000110: 20 73 63 72 65 65 6E 20 20 63 61 6E 20 20 62 65 screen can be
000120: 20 20 73 63 72 6F 6C 6C 65 64 2E 20 20 54 68 69 scrolled. Thi
000130: 73 20 65 66 66 65 63 74 20 69 73 20 63 61 6C 6C s effect is call
000140: 65 64 0D 68 61 72 64 77 61 72 65 20 73 63 72 6F ed.hardware scro
000150: 6C 6C 69 6E 67 2E 20 28 73 65 65 20 70 72 6F 67 lling. (see prog
000160: 72 61 6D 6D 69 6E 67 20 65 78 61 6D 70 6C 65 29 ramming example)
000170: 0D 0D 53 75 6D 6D 61 72 79 3A 0D 0D 42 69 74 20 ..Summary:..Bit
000180: 37 3A 20 4E 6F 74 20 75 73 65 64 2E 0D 42 69 74 7: Not used..Bit
000190: 20 36 3A 20 4E 6F 74 20 75 73 65 64 2E 0D 0D 42 6: Not used...B
0001A0: 69 74 20 35 3A 20 7D 20 4D 65 6D 6F 72 79 20 62 it 5: } Memory b
0001B0: 6C 6F 63 6B 20 6F 66 20 73 74 61 72 74 20 6F 66 lock of start of
0001C0: 20 73 63 72 65 65 6E 0D 42 69 74 20 34 3A 20 7D screen.Bit 4: }
0001D0: 0D 0D 42 69 74 20 33 3A 20 7D 20 53 63 72 65 65 ..Bit 3: } Scree
0001E0: 6E 20 6D 65 6D 6F 72 79 0D 42 69 74 20 32 3A 20 n memory.Bit 2:
0001F0: 7D 0D 0D 42 69 74 20 31 3A 20 7D 20 4F 66 66 73 }..Bit 1: } Offs
Size : 512 (Real : 512)
000000: 72 65 65 6E 20 61 6E 64 20 72 65 67 69 73 74 65 reen and registe
000010: 72 0D 37 2C 20 74 68 65 20 76 65 72 74 69 63 61 r.7, the vertica
000020: 6C 20 70 6F 73 69 74 69 6F 6E 20 6F 66 20 74 68 l position of th
000030: 65 20 73 63 72 65 65 6E 2E 0D 0D 57 68 65 6E 20 e screen...When
000040: 74 68 69 73 20 69 73 20 64 6F 6E 65 2C 20 77 65 this is done, we
000050: 20 20 63 61 6E 20 20 73 65 65 20 20 74 68 61 74 can see that
000060: 20 20 70 61 72 74 73 20 20 6F 66 20 74 68 65 20 parts of the
000070: 73 63 72 65 65 6E 20 72 65 70 65 61 74 2E 20 54 screen repeat. T
000080: 6F 0D 6F 76 65 72 63 6F 6D 65 20 74 68 69 73 2C o.overcome this,
000090: 20 77 65 20 74 65 6C 6C 20 74 68 65 20 43 52 54 we tell the CRT
0000A0: 43 20 74 6F 20 20 75 73 65 20 20 33 32 6B 20 69 C to use 32k i
0000B0: 6E 73 74 65 61 64 20 6F 66 20 31 36 6B 2E 0D 0D nstead of 16k...
0000C0: 4E 4F 54 45 3A 20 4F 6E 20 20 73 6F 6D 65 20 20 NOTE: On some
0000D0: 43 52 54 43 20 20 74 79 70 65 73 2C 20 20 74 68 CRTC types, th
0000E0: 65 20 20 73 63 72 65 65 6E 20 20 77 69 64 74 68 e screen width
0000F0: 20 20 6D 75 73 74 20 20 6E 6F 74 20 20 65 78 63 must not exc
000100: 65 65 64 20 34 38 0D 20 20 20 20 20 20 63 68 61 eed 48. cha
000110: 72 61 63 74 65 72 73 20 20 6F 74 68 65 72 77 69 racters otherwi
000120: 73 65 20 20 69 74 20 20 77 69 6C 6C 20 20 20 6E se it will n
000130: 6F 74 20 20 20 77 6F 72 6B 2E 20 20 20 53 6F 20 ot work. So
000140: 20 74 6F 20 20 6D 61 69 6E 74 61 69 6E 0D 20 20 to maintain.
000150: 20 20 20 20 63 6F 6D 70 61 74 69 62 69 6C 69 74 compatibilit
000160: 79 20 6B 65 65 70 20 74 68 65 20 77 69 64 74 68 y keep the width
000170: 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 62 of the screen b
000180: 65 6C 6F 77 20 34 38 2E 0D 20 20 20 20 20 20 28 elow 48.. (
000190: 41 70 6C 69 65 73 20 74 6F 20 43 52 54 43 20 74 Aplies to CRTC t
0001A0: 79 70 65 20 32 29 2E 0D 0D 54 68 65 20 63 6F 64 ype 2)...The cod
0001B0: 65 20 66 6F 72 20 6F 76 65 72 73 63 61 6E 20 69 e for overscan i
0001C0: 73 2E 0D 0D 3B 3B 20 2A 2A 2A 2A 20 73 65 74 20 s...;; **** set
0001D0: 77 69 64 74 68 20 6F 66 20 73 63 72 65 65 6E 20 width of screen
0001E0: 2A 2A 2A 2A 0D 0D 6C 64 20 62 63 2C 26 62 63 30 ****..ld bc,&bc0
0001F0: 30 2B 31 0D 6F 75 74 20 28 63 29 2C 63 0D 6C 64 0+1.out (c),c.ld
Size : 512 (Real : 512)
000000: 65 74 20 28 75 70 70 65 72 20 32 20 62 69 74 73 et (upper 2 bits
000010: 20 6F 66 20 6F 66 66 73 65 74 20 76 61 6C 75 65 of offset value
000020: 20 2D 20 6C 6F 77 65 72 20 38 20 62 69 74 73 20 - lower 8 bits
000030: 64 65 66 69 6E 65 64 0D 42 69 74 20 30 3A 20 7D defined.Bit 0: }
000040: 20 20 20 20 20 20 20 20 62 79 20 72 65 67 69 73 by regis
000050: 74 65 72 20 31 33 29 2E 0D 0D 3D 3D 3D 3D 3D 3D ter 13)...======
000060: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000070: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000080: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000090: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000A0: 0D 0D 52 65 67 69 73 74 65 72 20 31 33 20 2D 20 ..Register 13 -
0000B0: 53 74 61 72 74 20 41 64 64 72 65 73 73 20 28 4C Start Address (L
0000C0: 6F 77 29 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ow).------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 0D 0D 54 68 69 73 20 72 65 67 69 -----..This regi
0000F0: 73 74 65 72 20 64 65 66 69 6E 65 73 20 20 74 68 ster defines th
000100: 65 20 20 6C 6F 77 65 72 20 20 38 20 20 62 69 74 e lower 8 bit
000110: 73 20 20 6F 66 20 20 74 68 65 20 20 6F 66 66 73 s of the offs
000120: 65 74 20 77 69 74 68 69 6E 20 74 68 65 0D 73 65 et within the.se
000130: 6C 65 63 74 65 64 20 31 36 6B 20 62 6C 6F 63 6B lected 16k block
000140: 2E 20 54 68 69 73 20 72 65 67 69 73 74 65 72 20 . This register
000150: 69 73 20 75 73 65 64 20 69 6E 20 63 6F 6E 6A 75 is used in conju
000160: 6E 63 74 69 6F 6E 20 77 69 74 68 20 72 65 67 69 nction with regi
000170: 73 74 65 72 0D 31 32 20 74 6F 20 70 65 72 66 6F ster.12 to perfo
000180: 72 6D 20 68 61 72 64 77 61 72 65 20 73 63 72 6F rm hardware scro
000190: 6C 6C 69 6E 67 2E 0D 0D 28 73 65 65 20 70 72 6F lling...(see pro
0001A0: 67 72 61 6D 6D 69 6E 67 20 65 78 61 6D 70 6C 65 gramming example
0001B0: 29 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D )..=============
0001C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 50 72 6F 67 72 =========..Progr
Size : 512 (Real : 512)
000000: 20 62 63 2C 26 62 64 30 30 2B 34 38 20 20 20 20 bc,&bd00+48
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 34 ;4
000020: 38 20 63 68 61 72 61 63 74 65 72 73 20 77 69 64 8 characters wid
000030: 65 0D 6F 75 74 20 28 63 29 2C 63 0D 0D 3B 3B 20 e.out (c),c..;;
000040: 2A 2A 2A 2A 20 73 65 74 20 68 65 69 67 68 74 20 **** set height
000050: 6F 66 20 73 63 72 65 65 6E 20 2A 2A 2A 2A 0D 0D of screen ****..
000060: 6C 64 20 62 63 2C 26 62 63 30 30 2B 36 0D 6F 75 ld bc,&bc00+6.ou
000070: 74 20 28 63 29 2C 63 0D 6C 64 20 62 63 2C 26 62 t (c),c.ld bc,&b
000080: 64 30 30 2B 33 35 20 20 20 20 20 20 20 20 20 20 d00+35
000090: 20 20 20 20 20 20 20 20 3B 33 35 20 63 68 61 72 ;35 char
0000A0: 61 63 74 65 72 73 20 74 61 6C 6C 0D 6F 75 74 20 acters tall.out
0000B0: 28 63 29 2C 63 0D 0D 3B 3B 20 2A 2A 2A 2A 20 73 (c),c..;; **** s
0000C0: 65 74 20 68 6F 72 69 7A 6F 6E 74 61 6C 20 70 6F et horizontal po
0000D0: 73 69 74 69 6F 6E 20 6F 66 20 73 63 72 65 65 6E sition of screen
0000E0: 20 74 6F 20 6C 65 66 74 68 61 6E 64 20 73 69 64 to lefthand sid
0000F0: 65 20 2A 2A 2A 2A 0D 0D 6C 64 20 62 63 2C 26 62 e ****..ld bc,&b
000100: 63 30 30 2B 32 0D 6F 75 74 20 28 63 29 2C 63 0D c00+2.out (c),c.
000110: 6C 64 20 62 63 2C 26 62 64 30 30 2B 35 30 20 20 ld bc,&bd00+50
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 3B 6C 65 66 74 6D 6F 73 74 20 65 64 67 65 20 6F ;leftmost edge o
000140: 66 20 73 63 72 65 65 6E 0D 6F 75 74 20 28 63 29 f screen.out (c)
000150: 2C 63 0D 0D 3B 3B 20 2A 2A 2A 2A 20 73 65 74 20 ,c..;; **** set
000160: 76 65 72 74 69 63 61 6C 20 70 6F 73 69 74 69 6F vertical positio
000170: 6E 20 6F 66 20 73 63 72 65 65 6E 20 74 6F 20 74 n of screen to t
000180: 6F 70 20 2A 2A 2A 2A 0D 0D 6C 64 20 62 63 2C 26 op ****..ld bc,&
000190: 62 63 30 30 2B 37 0D 6F 75 74 20 28 63 29 2C 63 bc00+7.out (c),c
0001A0: 0D 6C 64 20 62 63 2C 26 62 64 30 30 2B 33 35 20 .ld bc,&bd00+35
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 3B 74 6F 70 6D 6F 73 74 20 70 6F 73 69 74 69 ;topmost positi
0001D0: 6F 6E 20 6F 66 20 73 63 72 65 65 6E 0D 6F 75 74 on of screen.out
0001E0: 20 28 63 29 2C 63 0D 0D 3B 3B 20 2A 2A 2A 2A 20 (c),c..;; ****
0001F0: 74 65 6C 6C 20 74 68 65 20 43 52 54 43 20 74 6F tell the CRTC to
Size : 512 (Real : 512)
000000: 61 6D 6D 69 6E 67 20 65 78 61 6D 70 6C 65 73 0D amming examples.
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 0D 0D 61 29 20 50 72 6F 67 72 61 6D ----..a) Program
000030: 6D 69 6E 67 20 74 68 65 20 43 52 54 43 2C 0D 3D ming the CRTC,.=
000040: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000050: 3D 3D 3D 3D 3D 3D 3D 0D 0D 31 29 20 53 65 6C 65 =======..1) Sele
000060: 63 74 69 6E 67 20 61 20 43 52 54 43 20 72 65 67 cting a CRTC reg
000070: 69 73 74 65 72 2C 0D 20 20 20 2D 2D 2D 2D 2D 2D ister,. ------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 0D 0D 6C 64 20 62 63 2C 26 62 63 30 30 ---..ld bc,&bc00
0000A0: 2B 78 78 0D 6F 75 74 20 28 63 29 2C 63 0D 0D 57 +xx.out (c),c..W
0000B0: 68 65 72 65 20 78 78 20 69 73 20 74 68 65 20 72 here xx is the r
0000C0: 65 67 69 73 74 65 72 20 6E 75 6D 62 65 72 20 72 egister number r
0000D0: 65 71 75 69 72 65 64 2E 0D 0D 65 2E 67 2E 0D 0D equired...e.g...
0000E0: 54 6F 20 73 65 6C 65 63 74 20 72 65 67 69 73 74 To select regist
0000F0: 65 72 20 31 32 2C 0D 0D 6C 64 20 62 63 2C 26 62 er 12,..ld bc,&b
000100: 63 30 30 2B 31 32 0D 6F 75 74 20 28 63 29 2C 63 c00+12.out (c),c
000110: 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ..==============
000120: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000150: 3D 3D 3D 3D 3D 3D 3D 0D 0D 32 29 20 57 72 69 74 =======..2) Writ
000160: 69 6E 67 20 74 6F 20 61 20 43 52 54 43 20 72 65 ing to a CRTC re
000170: 67 69 73 74 65 72 2C 0D 20 20 20 2D 2D 2D 2D 2D gister,. -----
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 0D 0D 4C 44 20 62 63 2C 26 62 64 -----..LD bc,&bd
0001A0: 30 30 2B 78 78 0D 6F 75 74 20 28 63 29 2C 63 0D 00+xx.out (c),c.
0001B0: 0D 77 68 65 72 65 20 78 78 20 69 73 20 74 68 65 .where xx is the
0001C0: 20 64 61 74 61 20 74 6F 20 62 65 20 70 75 74 20 data to be put
0001D0: 69 6E 74 6F 20 74 68 65 20 63 75 72 72 65 6E 74 into the current
0001E0: 6C 79 20 73 65 6C 65 63 74 65 64 20 72 65 67 69 ly selected regi
0001F0: 73 74 65 72 2E 0D 0D 65 2E 67 2E 0D 0D 54 6F 20 ster...e.g...To
Size : 512 (Real : 512)
000000: 20 75 73 65 20 33 32 6B 20 66 6F 72 20 73 63 72 use 32k for scr
000010: 65 65 6E 20 64 69 73 70 6C 61 79 20 20 20 20 20 een display
000020: 20 20 20 20 2A 2A 2A 2A 0D 3B 3B 20 2A 2A 2A 2A ****.;; ****
000030: 20 28 61 6C 73 6F 20 64 65 66 69 6E 65 20 73 63 (also define sc
000040: 72 65 65 6E 20 6D 65 6D 6F 72 79 20 72 61 6E 67 reen memory rang
000050: 65 20 74 6F 20 62 65 20 26 63 30 30 30 2D 26 66 e to be &c000-&f
000060: 66 66 66 29 20 2A 2A 2A 2A 0D 3B 3B 20 2A 2A 2A fff) ****.;; ***
000070: 2A 20 67 69 76 69 6E 67 20 75 73 20 74 68 65 20 * giving us the
000080: 73 63 72 65 65 6E 20 6D 65 6D 6F 72 79 20 74 61 screen memory ta
000090: 6B 69 6E 67 20 75 70 20 26 43 30 30 30 2D 26 33 king up &C000-&3
0000A0: 46 46 46 20 20 20 2A 2A 2A 2A 0D 0D 6C 64 20 62 FFF ****..ld b
0000B0: 63 2C 26 62 63 30 30 2B 31 32 0D 6F 75 74 20 28 c,&bc00+12.out (
0000C0: 63 29 2C 63 0D 0D 6C 64 20 62 63 2C 26 62 64 30 c),c..ld bc,&bd0
0000D0: 30 2B 25 30 30 31 31 31 31 30 30 0D 6F 75 74 20 0+%00111100.out
0000E0: 28 63 29 2C 63 0D 0D 53 6F 20 6E 6F 77 2C 20 79 (c),c..So now, y
0000F0: 6F 75 20 73 68 6F 75 6C 64 20 68 61 76 65 20 20 ou should have
000100: 61 20 20 6C 61 72 67 65 20 20 73 63 72 65 65 6E a large screen
000110: 20 20 63 6F 76 65 72 69 6E 67 20 74 68 65 20 62 covering the b
000120: 6F 72 64 65 72 73 2E 20 49 74 20 69 73 0D 6A 75 orders. It is.ju
000130: 73 74 20 61 20 6D 61 74 74 65 72 20 6F 66 20 70 st a matter of p
000140: 6C 6F 74 74 69 6E 67 20 67 72 61 70 68 69 63 73 lotting graphics
000150: 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 2E 0D on the screen..
000160: 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D .===============
000170: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000180: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000190: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001A0: 3D 3D 3D 3D 3D 3D 3D 0D 0D 63 29 20 48 61 72 64 =======..c) Hard
0001B0: 77 61 72 65 20 73 63 72 6F 6C 6C 69 6E 67 0D 3D ware scrolling.=
0001C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001D0: 3D 3D 3D 3D 0D 0D 48 61 72 64 77 61 72 65 20 73 ====..Hardware s
0001E0: 63 72 6F 6C 6C 69 6E 67 20 69 73 20 20 61 63 68 crolling is ach
0001F0: 69 65 76 65 64 20 20 62 79 20 20 75 73 69 6E 67 ieved by using
Size : 512 (Real : 512)
000000: 70 75 74 20 31 32 38 20 69 6E 74 6F 20 72 65 67 put 128 into reg
000010: 69 73 74 65 72 20 31 32 2C 0D 0D 3B 3B 20 73 65 ister 12,..;; se
000020: 6C 65 63 74 20 43 52 54 43 20 72 65 67 69 73 74 lect CRTC regist
000030: 65 72 20 31 32 0D 0D 6C 64 20 62 63 2C 26 62 63 er 12..ld bc,&bc
000040: 30 30 2B 31 32 0D 6F 75 74 20 28 63 29 2C 63 0D 00+12.out (c),c.
000050: 0D 3B 3B 20 77 72 69 74 65 20 74 6F 20 72 65 67 .;; write to reg
000060: 69 73 74 65 72 20 31 32 0D 0D 6C 64 20 62 63 2C ister 12..ld bc,
000070: 26 62 64 30 30 2B 31 32 38 0D 6F 75 74 20 28 63 &bd00+128.out (c
000080: 29 2C 63 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ),c..===========
000090: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 33 29 20 ===========..3)
0000D0: 52 65 61 64 69 6E 67 20 66 72 6F 6D 20 61 20 43 Reading from a C
0000E0: 52 54 43 20 72 65 67 69 73 74 65 72 2C 0D 0D 6C RTC register,..l
0000F0: 64 20 62 63 2C 26 62 66 30 30 0D 69 6E 20 61 2C d bc,&bf00.in a,
000100: 28 63 29 0D 0D 77 68 65 72 65 2C 20 74 68 65 20 (c)..where, the
000110: 64 61 74 61 20 69 6E 20 74 68 65 20 72 65 67 69 data in the regi
000120: 73 74 65 72 20 77 6F 75 6C 64 20 62 65 20 72 65 ster would be re
000130: 74 75 72 6E 65 64 20 69 6E 20 72 65 67 69 73 74 turned in regist
000140: 65 72 20 41 0D 0D 65 2E 67 2E 0D 0D 3B 3B 20 73 er A..e.g...;; s
000150: 65 6C 65 63 74 20 43 52 54 43 20 72 65 67 69 73 elect CRTC regis
000160: 74 65 72 20 31 32 0D 0D 6C 64 20 62 63 2C 26 62 ter 12..ld bc,&b
000170: 63 30 30 2B 31 32 0D 6F 75 74 20 28 63 29 2C 63 c00+12.out (c),c
000180: 0D 0D 3B 3B 20 72 65 61 64 20 64 61 74 61 20 69 ..;; read data i
000190: 6E 20 72 65 67 69 73 74 65 72 20 31 32 0D 0D 6C n register 12..l
0001A0: 64 20 62 63 2C 26 62 66 30 30 0D 69 6E 20 61 2C d bc,&bf00.in a,
0001B0: 28 63 29 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D (c)..===========
0001C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 62 29 20 ===========..b)
Size : 512 (Real : 512)
000000: 20 20 72 65 67 69 73 74 65 72 73 20 20 31 32 20 registers 12
000010: 20 61 6E 64 20 31 33 2E 20 54 68 65 0D 65 66 66 and 13. The.eff
000020: 65 63 74 20 77 6F 72 6B 73 20 62 79 20 63 68 61 ect works by cha
000030: 6E 67 69 6E 67 20 74 68 65 20 73 74 61 72 74 20 nging the start
000040: 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 73 address of the s
000050: 63 72 65 65 6E 2E 20 28 54 68 65 72 65 20 69 73 creen. (There is
000060: 20 6E 6F 0D 73 68 69 66 74 69 6E 67 20 6F 72 20 no.shifting or
000070: 6D 6F 76 69 6E 67 20 6F 66 20 64 61 74 61 29 2E moving of data).
000080: 0D 0D 42 79 20 64 6F 69 6E 67 20 74 68 69 73 20 ..By doing this
000090: 77 65 20 63 61 6E 20 6D 61 6B 65 20 69 74 20 6C we can make it l
0000A0: 6F 6F 6B 20 6C 69 6B 65 20 74 68 65 20 73 63 72 ook like the scr
0000B0: 65 65 6E 20 69 73 20 73 63 72 6F 6C 6C 69 6E 67 een is scrolling
0000C0: 2E 0D 0D 49 74 20 69 73 20 69 6D 70 6F 72 74 61 ...It is importa
0000D0: 6E 74 20 74 6F 20 6E 6F 74 65 2C 20 74 68 61 74 nt to note, that
0000E0: 20 6F 6E 6C 79 20 61 20 31 36 6B 20 73 63 72 65 only a 16k scre
0000F0: 65 6E 20 63 61 6E 20 62 65 20 66 75 6C 6C 79 20 en can be fully
000100: 73 63 72 6F 6C 6C 65 64 2E 0D 49 66 20 61 20 33 scrolled..If a 3
000110: 32 6B 20 73 63 72 65 65 6E 20 69 73 20 20 73 63 2k screen is sc
000120: 72 6F 6C 6C 65 64 20 20 74 6F 6F 20 20 6D 75 63 rolled too muc
000130: 68 2C 20 20 69 74 20 20 73 70 6C 69 74 73 20 69 h, it splits i
000140: 6E 74 6F 20 61 20 31 36 6B 20 73 63 72 65 65 6E nto a 16k screen
000150: 0D 77 68 69 63 68 20 72 65 70 65 61 74 73 2E 0D .which repeats..
000160: 0D 54 68 65 20 73 63 72 65 65 6E 20 69 73 20 73 .The screen is s
000170: 63 72 6F 6C 6C 65 64 20 69 6E 20 20 63 68 61 72 crolled in char
000180: 61 63 74 65 72 20 20 73 69 7A 65 64 20 63 68 75 acter sized chu
000190: 6E 6B 73 2E 20 54 68 69 73 20 70 72 6F 64 75 63 nks. This produc
0001A0: 65 73 20 76 65 72 79 0D 66 61 73 74 20 20 73 6D es very.fast sm
0001B0: 6F 6F 74 68 20 20 68 61 72 64 77 61 72 65 20 20 ooth hardware
0001C0: 73 63 72 6F 6C 6C 69 6E 67 2E 20 20 48 6F 77 65 scrolling. Howe
0001D0: 76 65 72 20 20 69 74 20 20 69 73 20 20 6F 66 74 ver it is oft
0001E0: 65 6E 20 20 74 6F 6F 20 20 66 61 73 74 2E 0D 54 en too fast..T
0001F0: 68 65 72 65 66 6F 72 65 2C 20 69 74 20 69 73 20 herefore, it is
Size : 512 (Real : 512)
000000: 63 72 6F 6C 6C 5F 72 69 67 68 74 0D 6C 64 20 68 croll_right.ld h
000010: 6C 2C 28 73 63 72 6F 6C 6C 5F 6F 66 66 73 65 74 l,(scroll_offset
000020: 29 0D 69 6E 63 20 68 6C 20 20 20 20 20 20 20 20 ).inc hl
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 3B 61 64 64 20 31 0D 6C 64 20 61 2C 68 0D ;add 1.ld a,h.
000050: 61 6E 64 20 26 30 33 20 20 20 20 20 20 20 20 20 and &03
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 3B 65 6E 73 75 72 65 20 73 63 72 6F 6C 6C 5F 6F ;ensure scroll_o
000080: 66 66 73 65 74 20 69 73 20 69 6E 20 72 61 6E 67 ffset is in rang
000090: 65 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 3B 26 30 30 30 30 2D 26 30 33 66 66 0D 6C ;&0000-&03ff.l
0000C0: 64 20 68 2C 61 0D 6C 64 20 28 73 63 72 6F 6C 6C d h,a.ld (scroll
0000D0: 5F 6F 66 66 73 65 74 29 2C 68 6C 0D 72 65 74 0D _offset),hl.ret.
0000E0: 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D .===============
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000100: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000110: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000120: 3D 3D 3D 3D 3D 3D 3D 0D 0D 53 63 72 6F 6C 6C 20 =======..Scroll
000130: 74 68 65 20 73 63 72 65 65 6E 20 74 6F 20 74 68 the screen to th
000140: 65 20 6C 65 66 74 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D e left.---------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 0D 0D 2E 73 63 72 6F 6C 6C 5F 6C 65 ----...scroll_le
000170: 66 74 0D 0D 6C 64 20 68 6C 2C 28 73 63 72 6F 6C ft..ld hl,(scrol
000180: 6C 5F 6F 66 66 73 65 74 29 0D 64 65 63 20 68 6C l_offset).dec hl
000190: 0D 0D 6C 64 20 61 2C 68 0D 61 6E 64 20 26 30 33 ..ld a,h.and &03
0001A0: 0D 6C 64 20 68 2C 61 0D 0D 6C 64 20 28 73 63 72 .ld h,a..ld (scr
0001B0: 6F 6C 6C 5F 6F 66 66 73 65 74 29 2C 68 6C 0D 72 oll_offset),hl.r
0001C0: 65 74 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D et..============
0001D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
Size : 512 (Real : 512)
000000: 70 6F 73 73 69 62 6C 65 20 74 6F 20 20 68 61 76 possible to hav
000010: 65 20 20 73 6C 6F 77 65 72 20 68 61 72 64 77 61 e slower hardwa
000020: 72 65 20 73 63 72 6F 6C 6C 69 6E 67 20 62 79 20 re scrolling by
000030: 75 73 69 6E 67 0D 72 65 67 69 73 74 65 72 20 33 using.register 3
000040: 20 66 6F 72 20 20 73 6D 6F 6F 74 68 65 72 20 20 for smoother
000050: 68 6F 72 69 7A 6F 6E 74 61 6C 20 20 73 63 72 6F horizontal scro
000060: 6C 6C 69 6E 67 2C 20 20 61 6E 64 20 20 72 65 67 lling, and reg
000070: 69 73 74 65 72 20 20 35 20 66 6F 72 0D 73 6D 6F ister 5 for.smo
000080: 6F 74 68 65 72 20 76 65 72 74 69 63 61 6C 20 73 other vertical s
000090: 63 72 6F 6C 6C 69 6E 67 2E 0D 0D 49 74 20 69 73 crolling...It is
0000A0: 20 69 6D 70 6F 72 74 61 6E 74 20 74 6F 20 6E 6F important to no
0000B0: 74 65 20 74 68 61 74 20 77 68 65 6E 20 74 68 65 te that when the
0000C0: 20 73 63 72 65 65 6E 20 69 73 20 68 61 72 64 77 screen is hardw
0000D0: 61 72 65 20 73 63 72 6F 6C 6C 65 64 2C 20 61 6C are scrolled, al
0000E0: 6C 0D 73 70 72 69 74 65 73 20 70 6C 6F 74 74 65 l.sprites plotte
0000F0: 64 20 6F 6E 20 20 69 74 20 20 77 69 6C 6C 20 20 d on it will
000100: 62 65 20 20 73 63 72 6F 6C 6C 65 64 20 20 61 6C be scrolled al
000110: 73 6F 2E 20 20 53 6F 20 20 74 68 65 20 70 6F 73 so. So the pos
000120: 69 74 69 6F 6E 20 6F 66 0D 73 70 72 69 74 65 73 ition of.sprites
000130: 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 20 6D on the screen m
000140: 75 73 74 20 62 65 20 20 75 70 64 61 74 65 64 2C ust be updated,
000150: 20 20 74 68 65 20 73 63 72 65 65 6E 20 73 63 72 the screen scr
000160: 6F 6C 6C 65 64 2C 20 61 6E 64 20 74 68 65 6E 0D olled, and then.
000170: 72 65 70 6C 6F 74 74 65 64 2E 0D 0D 0D 2A 2A 2A replotted....***
000180: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
000190: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0001A0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0001B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0001C0: 2A 2A 0D 0D 53 63 72 6F 6C 6C 69 6E 67 20 74 68 **..Scrolling th
0001D0: 65 20 73 63 72 65 65 6E 0D 2D 2D 2D 2D 2D 2D 2D e screen.-------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 54 -------------..T
0001F0: 68 65 20 6F 66 66 73 65 74 20 69 73 20 63 6F 6E he offset is con
Size : 512 (Real : 512)
000000: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 53 63 72 6F ==========..Scro
000010: 6C 6C 20 74 68 65 20 73 63 72 65 65 6E 20 75 70 ll the screen up
000020: 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D .---------------
000030: 2D 2D 2D 2D 2D 0D 0D 2E 73 63 72 6F 6C 6C 5F 75 -----...scroll_u
000040: 70 0D 6C 64 20 68 6C 2C 28 73 63 72 6F 6C 6C 5F p.ld hl,(scroll_
000050: 6F 66 66 73 65 74 29 0D 6C 64 20 62 63 2C 34 30 offset).ld bc,40
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 20 20 20 20 20 20 3B 76 61 6C 75 65 20 70 ;value p
000080: 72 6F 67 72 61 6D 6D 65 64 20 74 6F 20 72 65 67 rogrammed to reg
000090: 69 73 74 65 72 20 31 0D 61 64 64 20 68 6C 2C 62 ister 1.add hl,b
0000A0: 63 0D 6C 64 20 61 2C 68 0D 61 6E 64 20 26 30 33 c.ld a,h.and &03
0000B0: 0D 6C 64 20 68 2C 61 0D 6C 64 20 28 73 63 72 6F .ld h,a.ld (scro
0000C0: 6C 6C 5F 6F 66 66 73 65 74 29 2C 68 6C 0D 72 65 ll_offset),hl.re
0000D0: 74 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D t..=============
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000100: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000110: 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 53 63 72 6F 6C =========..Scrol
000120: 6C 20 74 68 65 20 73 63 72 65 65 6E 20 64 6F 77 l the screen dow
000130: 6E 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D n.--------------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 2E 73 63 72 6F 6C --------...scrol
000150: 6C 5F 64 6F 77 6E 0D 6C 64 20 68 6C 2C 28 73 63 l_down.ld hl,(sc
000160: 72 6F 6C 6C 5F 6F 66 66 73 65 74 29 0D 6C 64 20 roll_offset).ld
000170: 62 63 2C 34 30 0D 6F 72 20 61 0D 73 62 63 20 68 bc,40.or a.sbc h
000180: 6C 2C 62 63 0D 0D 6C 64 20 61 2C 68 0D 61 6E 64 l,bc..ld a,h.and
000190: 20 26 30 33 0D 6C 64 20 68 2C 61 0D 6C 64 20 28 &03.ld h,a.ld (
0001A0: 73 63 72 6F 6C 6C 5F 6F 66 66 73 65 74 29 2C 68 scroll_offset),h
0001B0: 6C 0D 72 65 74 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D l.ret..=========
0001C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 64 =============..d
Size : 512 (Real : 512)
000000: 73 74 72 75 63 74 65 64 20 20 66 72 6F 6D 20 20 structed from
000010: 62 69 74 73 20 20 30 20 20 61 6E 64 20 20 31 20 bits 0 and 1
000020: 20 6F 66 20 20 72 65 67 69 73 74 65 72 20 31 32 of register 12
000030: 2C 20 61 6E 64 0D 72 65 67 69 73 74 65 72 20 31 , and.register 1
000040: 33 2E 0D 0D 54 68 69 73 20 66 6F 72 6D 73 20 61 3...This forms a
000050: 20 31 30 20 62 69 74 20 20 6E 75 6D 62 65 72 2E 10 bit number.
000060: 20 20 28 38 20 20 62 69 74 73 20 20 66 72 6F 6D (8 bits from
000070: 20 20 72 65 67 69 73 74 65 72 20 20 31 33 2C 20 register 13,
000080: 61 6E 64 20 32 20 66 72 6F 6D 0D 72 65 67 69 73 and 2 from.regis
000090: 74 65 72 20 31 32 29 2E 20 28 26 30 30 30 30 2D ter 12). (&0000-
0000A0: 26 30 33 46 46 29 0D 0D 42 79 20 63 68 61 6E 67 &03FF)..By chang
0000B0: 69 6E 67 20 74 68 65 20 76 61 6C 75 65 20 6F 66 ing the value of
0000C0: 20 74 68 65 20 6F 66 66 73 65 74 2C 20 77 65 20 the offset, we
0000D0: 73 63 72 6F 6C 6C 20 74 68 65 20 73 63 72 65 65 scroll the scree
0000E0: 6E 2E 0D 0D 54 6F 20 73 63 72 6F 6C 6C 20 74 68 n...To scroll th
0000F0: 65 20 73 63 72 65 65 6E 20 55 50 2C 20 41 44 44 e screen UP, ADD
000100: 20 74 68 65 20 76 61 6C 75 65 20 70 72 6F 67 72 the value progr
000110: 61 6D 6D 65 64 20 74 6F 20 72 65 67 69 73 74 65 ammed to registe
000120: 72 20 31 20 74 6F 20 74 68 65 0D 6F 66 66 73 65 r 1 to the.offse
000130: 74 2E 0D 0D 54 6F 20 73 63 72 6F 6C 6C 20 74 68 t...To scroll th
000140: 65 20 73 63 72 65 65 6E 20 44 4F 57 4E 2C 20 53 e screen DOWN, S
000150: 55 42 54 52 41 43 54 20 74 68 65 20 76 61 6C 75 UBTRACT the valu
000160: 65 20 70 72 6F 67 72 61 6D 6D 65 64 20 74 6F 20 e programmed to
000170: 72 65 67 69 73 74 65 72 20 31 0D 66 72 6F 6D 20 register 1.from
000180: 74 68 65 20 6F 66 66 73 65 74 2E 0D 0D 54 6F 20 the offset...To
000190: 73 63 72 6F 6C 6C 20 74 68 65 20 73 63 72 65 65 scroll the scree
0001A0: 6E 20 52 49 47 48 54 2C 20 41 44 44 20 6F 6E 65 n RIGHT, ADD one
0001B0: 20 74 6F 20 74 68 65 20 6F 66 66 73 65 74 2E 0D to the offset..
0001C0: 0D 54 6F 20 73 63 72 6F 6C 6C 20 74 68 65 20 73 .To scroll the s
0001D0: 63 72 65 65 6E 20 4C 45 46 54 2C 20 53 55 42 54 creen LEFT, SUBT
0001E0: 52 41 43 54 20 6F 6E 65 20 66 72 6F 6D 20 74 68 RACT one from th
0001F0: 65 20 6F 66 66 73 65 74 2E 0D 0D 49 6E 20 61 6C e offset...In al
Size : 512 (Real : 512)
000000: 29 20 52 75 70 74 75 72 65 20 74 65 63 68 6E 69 ) Rupture techni
000010: 63 2F 56 65 72 74 69 63 61 6C 20 73 70 6C 69 74 c/Vertical split
000020: 74 69 6E 67 0D 0D 54 48 49 53 20 54 45 43 48 4E ting..THIS TECHN
000030: 49 43 20 57 41 53 20 46 4F 55 4E 44 20 42 59 20 IC WAS FOUND BY
000040: 54 48 45 20 4C 4F 47 4F 4E 20 44 45 4D 4F 20 54 THE LOGON DEMO T
000050: 45 41 4D 2E 20 49 20 54 48 49 4E 4B 20 49 54 20 EAM. I THINK IT
000060: 57 41 53 20 4C 4F 4E 47 53 48 4F 54 0D 57 48 4F WAS LONGSHOT.WHO
000070: 20 46 4F 55 4E 44 20 49 54 2C 20 4F 52 20 46 52 FOUND IT, OR FR
000080: 45 44 20 43 52 41 5A 59 2E 20 41 4C 4C 20 43 52 ED CRAZY. ALL CR
000090: 45 44 49 54 53 20 54 4F 20 54 48 45 4D 2E 20 49 EDITS TO THEM. I
0000A0: 20 48 4F 50 45 20 54 48 45 59 20 44 4F 20 4E 4F HOPE THEY DO NO
0000B0: 54 0D 4D 49 4E 44 20 4D 45 20 47 49 56 49 4E 47 T.MIND ME GIVING
0000C0: 20 41 57 41 59 20 41 20 46 45 57 20 53 45 43 52 AWAY A FEW SECR
0000D0: 45 54 53 2E 0D 0D 54 68 69 73 20 74 65 63 68 6E ETS...This techn
0000E0: 69 63 20 69 73 20 75 73 65 64 20 77 69 64 65 6C ic is used widel
0000F0: 79 20 69 6E 20 64 65 6D 6F 73 2E 20 4E 6F 72 6D y in demos. Norm
000100: 61 6C 6C 79 20 74 68 65 20 73 63 72 65 65 6E 20 ally the screen
000110: 61 64 64 72 65 73 73 20 63 61 6E 0D 6F 6E 6C 79 address can.only
000120: 20 62 65 20 63 68 61 6E 67 65 64 20 6F 6E 63 65 be changed once
000130: 2E 20 54 68 65 20 43 52 54 43 20 6F 6E 6C 79 20 . The CRTC only
000140: 61 6C 6C 6F 77 73 20 74 68 65 20 73 63 72 65 65 allows the scree
000150: 6E 20 61 64 64 72 65 73 73 20 74 6F 20 62 65 0D n address to be.
000160: 63 68 61 6E 67 65 64 20 77 68 65 6E 20 61 20 56 changed when a V
000170: 53 59 4E 43 20 6F 63 63 75 72 73 2C 20 69 2E 65 SYNC occurs, i.e
000180: 2E 20 77 68 65 6E 20 74 68 65 20 62 65 61 6D 20 . when the beam
000190: 68 61 73 20 66 69 6E 69 73 68 65 64 20 64 72 61 has finished dra
0001A0: 77 69 6E 67 0D 74 68 65 20 73 63 72 65 65 6E 20 wing.the screen
0001B0: 61 6E 64 20 6D 6F 76 65 73 20 62 61 63 6B 20 74 and moves back t
0001C0: 6F 20 74 68 65 20 74 6F 70 2D 6C 65 66 74 20 61 o the top-left a
0001D0: 67 61 69 6E 2C 20 73 6F 20 74 68 61 74 20 69 74 gain, so that it
0001E0: 20 63 61 6E 20 73 74 61 72 74 0D 61 67 61 69 6E can start.again
0001F0: 2E 0D 0D 54 68 69 73 20 74 65 63 68 6E 69 63 20 ...This technic
Size : 512 (Real : 512)
000000: 6C 20 63 61 73 65 73 20 77 65 20 6D 75 73 74 20 l cases we must
000010: 20 65 6E 73 75 72 65 20 20 74 68 65 20 20 6F 66 ensure the of
000020: 66 73 65 74 20 20 72 65 6D 61 69 6E 73 20 69 6E fset remains in
000030: 20 74 68 65 20 72 61 6E 67 65 20 26 30 30 30 30 the range &0000
000040: 2D 0D 26 30 33 46 46 2E 0D 3D 3D 3D 3D 3D 3D 3D -.&03FF..=======
000050: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000060: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000070: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000080: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D ===============.
000090: 0D 53 65 74 74 69 6E 67 20 74 68 65 20 73 63 72 .Setting the scr
0000A0: 65 65 6E 20 6F 66 66 73 65 74 0D 2D 2D 2D 2D 2D een offset.-----
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 0D 0D 2E 73 65 74 5F 73 63 72 65 65 ----...set_scree
0000D0: 6E 5F 6F 66 66 73 65 74 0D 6C 64 20 68 6C 2C 28 n_offset.ld hl,(
0000E0: 73 63 72 6F 6C 6C 5F 6F 66 66 73 65 74 29 20 20 scroll_offset)
0000F0: 20 20 20 20 20 20 20 20 20 3B 26 30 30 30 30 2D ;&0000-
000100: 26 30 33 46 46 0D 0D 6C 64 20 61 2C 68 0D 6F 72 &03FF..ld a,h.or
000110: 20 25 30 30 78 78 30 30 30 30 20 20 20 20 20 20 %00xx0000
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 77 ;w
000130: 68 65 72 65 20 20 78 78 20 20 69 73 20 20 74 68 here xx is th
000140: 65 20 20 6D 65 6D 6F 72 79 20 20 62 6C 6F 63 6B e memory block
000150: 20 74 68 65 0D 20 20 20 20 20 20 20 20 20 20 20 the.
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 3B 73 63 72 65 65 6E 20 69 73 20 ;screen is
000180: 6C 6F 63 61 74 65 64 20 69 6E 2E 0D 0D 6C 64 20 located in...ld
000190: 62 63 2C 26 62 63 30 30 2B 31 32 20 20 20 20 20 bc,&bc00+12
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 43 52 ;CR
0001B0: 54 43 20 72 65 67 69 73 74 65 72 20 31 32 0D 6F TC register 12.o
0001C0: 75 74 20 28 63 29 2C 63 20 20 20 20 20 20 20 20 ut (c),c
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B ;
0001E0: 73 65 6C 65 63 74 20 43 52 54 43 20 72 65 67 69 select CRTC regi
0001F0: 73 74 65 72 20 31 32 0D 0D 6C 64 20 62 2C 26 62 ster 12..ld b,&b
Size : 512 (Real : 512)
000000: 66 6F 6F 6C 73 20 74 68 65 20 43 52 54 43 20 69 fools the CRTC i
000010: 6E 74 6F 20 74 68 69 6E 6B 69 6E 67 20 61 20 56 nto thinking a V
000020: 53 59 4E 43 20 68 61 73 20 6F 63 63 75 72 65 64 SYNC has occured
000030: 2C 20 73 6F 20 74 68 61 74 0D 79 6F 75 20 63 61 , so that.you ca
000040: 6E 20 63 68 61 6E 67 65 20 74 68 65 20 73 63 72 n change the scr
000050: 65 65 6E 20 61 64 64 72 65 73 73 2E 20 53 6F 20 een address. So
000060: 79 6F 75 20 63 61 6E 20 63 68 61 6E 67 65 20 74 you can change t
000070: 68 65 20 73 63 72 65 65 6E 20 61 64 64 72 65 73 he screen addres
000080: 73 0D 61 6E 79 77 68 65 72 65 20 6F 6E 20 74 68 s.anywhere on th
000090: 65 20 73 63 72 65 65 6E 2E 0D 0D 54 68 69 73 20 e screen...This
0000A0: 61 6C 6C 6F 77 73 20 79 6F 75 20 74 6F 20 64 6F allows you to do
0000B0: 20 61 6D 61 7A 69 6E 67 20 74 68 69 6E 67 73 2E amazing things.
0000C0: 0D 0D 65 2E 67 2E 20 74 68 65 20 74 6F 70 20 70 ..e.g. the top p
0000D0: 61 72 74 20 6F 66 20 74 68 65 20 73 63 72 65 65 art of the scree
0000E0: 6E 20 73 63 72 6F 6C 6C 69 6E 67 20 28 75 73 69 n scrolling (usi
0000F0: 6E 67 20 68 61 72 64 77 61 72 65 29 2C 20 77 68 ng hardware), wh
000100: 69 6C 73 74 0D 74 68 65 20 6C 6F 77 65 72 20 70 ilst.the lower p
000110: 61 72 74 20 69 73 20 73 74 61 74 69 6F 6E 61 72 art is stationar
000120: 79 2E 20 28 41 73 20 73 65 65 6E 20 69 6E 20 53 y. (As seen in S
000130: 75 70 65 72 20 43 61 75 6C 64 72 6F 6E 20 61 6E uper Cauldron an
000140: 64 20 50 72 65 68 69 73 74 6F 72 69 6B 0D 49 49 d Prehistorik.II
000150: 29 2E 0D 0D 42 6F 74 68 20 6F 66 20 74 68 65 20 )...Both of the
000160: 73 65 63 74 69 6F 6E 73 20 6F 66 20 74 68 65 20 sections of the
000170: 73 63 72 65 65 6E 20 63 61 6E 20 73 74 61 72 74 screen can start
000180: 20 61 74 20 61 20 64 69 66 66 65 72 65 6E 74 20 at a different
000190: 6D 65 6D 6F 72 79 0D 6C 6F 63 61 74 69 6F 6E 2E memory.location.
0001A0: 0D 0D 53 6F 20 74 68 69 73 20 74 65 63 68 6E 69 ..So this techni
0001B0: 63 20 69 73 20 76 65 72 79 20 66 6C 65 78 69 62 c is very flexib
0001C0: 6C 65 2E 20 42 75 74 20 69 74 20 69 73 20 6E 6F le. But it is no
0001D0: 74 20 61 6E 20 65 61 73 79 20 74 65 63 68 6E 69 t an easy techni
0001E0: 63 20 74 6F 20 64 6F 2E 0D 0D 4D 61 6E 79 20 74 c to do...Many t
0001F0: 69 6D 65 73 2C 20 74 68 65 20 73 63 72 65 65 6E imes, the screen
Size : 512 (Real : 512)
000000: 64 0D 6F 75 74 20 28 63 29 2C 61 20 20 20 20 20 d.out (c),a
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 20 3B 73 65 6E 64 20 74 6F 70 20 32 20 62 69 ;send top 2 bi
000030: 74 73 20 6F 66 20 6F 66 66 73 65 74 20 61 6E 64 ts of offset and
000040: 20 6D 65 6D 6F 72 79 0D 20 20 20 20 20 20 20 20 memory.
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 20 20 20 20 20 20 3B 62 6C 6F 63 6B 20 73 ;block s
000070: 63 72 65 65 6E 20 69 73 20 6C 6F 63 61 74 65 64 creen is located
000080: 20 69 6E 0D 6C 64 20 62 63 2C 26 62 63 30 30 2B in.ld bc,&bc00+
000090: 31 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 13
0000A0: 20 20 20 20 3B 43 52 54 43 20 72 65 67 69 73 74 ;CRTC regist
0000B0: 65 72 20 31 33 0D 6F 75 74 20 28 63 29 2C 63 20 er 13.out (c),c
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 3B 73 65 6C 65 63 74 20 43 52 ;select CR
0000E0: 54 43 20 72 65 67 69 73 74 65 72 20 31 33 0D 6C TC register 13.l
0000F0: 64 20 62 2C 26 62 64 0D 6F 75 74 20 28 63 29 2C d b,&bd.out (c),
000100: 6C 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l
000110: 20 20 20 20 20 20 20 20 3B 73 65 6E 64 20 6C 6F ;send lo
000120: 77 65 72 20 38 20 62 69 74 73 20 6F 66 20 6F 66 wer 8 bits of of
000130: 66 73 65 74 0D 72 65 74 0D 0D 2E 73 63 72 6F 6C fset.ret...scrol
000140: 6C 5F 6F 66 66 73 65 74 20 64 65 66 77 20 30 20 l_offset defw 0
000150: 20 20 20 20 20 20 20 20 20 20 3B 72 65 73 65 72 ;reser
000160: 76 65 20 32 20 62 79 74 65 73 20 66 6F 72 20 6F ve 2 bytes for o
000170: 66 66 73 65 74 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D ffset..=========
000180: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000190: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 53 =============..S
0001C0: 63 72 6F 6C 6C 20 74 68 65 20 73 63 72 65 65 6E croll the screen
0001D0: 20 74 6F 20 74 68 65 20 72 69 67 68 74 0D 2D 2D to the right.--
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 2E 73 ------------...s
Size : 512 (Real : 512)
000000: 20 77 69 6C 6C 20 66 6C 69 63 6B 65 72 20 61 6E will flicker an
000010: 64 20 6C 6F 6F 6B 20 77 72 6F 6E 67 2C 20 62 75 d look wrong, bu
000020: 74 20 70 65 72 73 65 76 65 72 20 61 6E 64 20 69 t persever and i
000030: 74 0D 77 69 6C 6C 20 77 6F 72 6B 2E 20 41 6C 73 t.will work. Als
000040: 6F 2C 20 6F 6E 63 65 20 79 6F 75 20 64 6F 20 67 o, once you do g
000050: 65 74 20 69 74 20 74 6F 20 77 6F 72 6B 2C 20 63 et it to work, c
000060: 68 65 63 6B 20 69 74 20 6F 6E 20 64 69 66 66 65 heck it on diffe
000070: 72 65 6E 74 20 43 52 54 43 0D 74 79 70 65 73 2E rent CRTC.types.
000080: 20 28 59 6F 75 20 63 61 6E 20 66 69 6E 64 20 6F (You can find o
000090: 75 74 20 61 20 43 52 54 43 20 74 79 70 65 2C 20 ut a CRTC type,
0000A0: 62 79 20 72 75 6E 6E 69 6E 67 20 61 20 64 65 6D by running a dem
0000B0: 6F 20 77 68 69 63 68 20 68 61 73 20 43 52 54 43 o which has CRTC
0000C0: 0D 64 65 74 65 63 74 69 6F 6E 20 69 6E 20 69 74 .detection in it
0000D0: 20 2D 20 6C 69 6B 65 20 56 4F 59 41 47 45 20 39 - like VOYAGE 9
0000E0: 33 20 62 79 20 42 45 4E 47 21 29 2E 0D 0D 41 6C 3 by BENG!)...Al
0000F0: 73 6F 2C 20 79 6F 75 20 63 61 6E 20 61 63 68 69 so, you can achi
000100: 65 76 65 20 6F 76 65 72 73 63 61 6E 20 62 79 20 eve overscan by
000110: 75 73 69 6E 67 20 74 68 69 73 20 74 65 63 68 6E using this techn
000120: 69 63 2E 0D 0D 54 6F 20 73 65 74 2D 75 70 20 74 ic...To set-up t
000130: 68 65 20 73 70 6C 69 74 20 69 73 20 65 61 73 79 he split is easy
000140: 20 65 6E 6F 75 67 68 2E 0D 0D 61 29 20 46 69 72 enough...a) Fir
000150: 73 74 20 74 68 65 20 69 6E 74 65 72 72 75 70 74 st the interrupt
000160: 20 76 65 63 74 6F 72 20 6D 75 73 74 20 62 65 20 vector must be
000170: 73 65 74 20 73 6F 20 74 68 61 74 20 69 74 20 64 set so that it d
000180: 6F 65 73 20 6E 6F 74 68 69 6E 67 2E 0D 62 29 20 oes nothing..b)
000190: 54 68 65 6E 20 65 76 65 72 79 20 66 72 61 6D 65 Then every frame
0001A0: 2D 66 6C 79 62 61 63 6B 2F 56 59 53 4E 43 2C 20 -flyback/VYSNC,
0001B0: 70 75 74 20 26 66 66 20 69 6E 74 6F 20 72 65 67 put &ff into reg
0001C0: 69 73 74 65 72 20 37 20 6F 66 20 43 52 54 43 0D ister 7 of CRTC.
0001D0: 63 29 20 54 68 65 6E 20 70 75 74 20 69 6E 20 73 c) Then put in s
0001E0: 70 6C 69 74 20 76 61 6C 75 65 73 20 74 6F 20 73 plit values to s
0001F0: 65 70 65 72 61 74 65 20 73 63 72 65 65 6E 20 75 eperate screen u
Size : 512 (Real : 512)
000000: 30 30 30 31 30 30 30 30 20 20 20 3B 73 63 72 65 00010000 ;scre
000010: 65 6E 20 61 64 64 72 65 73 73 20 74 6F 20 26 34 en address to &4
000020: 30 30 30 0D 6F 75 74 20 28 63 29 2C 63 0D 6C 64 000.out (c),c.ld
000030: 20 62 63 2C 26 62 63 30 30 2B 31 33 0D 6F 75 74 bc,&bc00+13.out
000040: 20 28 63 29 2C 63 0D 6C 64 20 62 63 2C 26 62 64 (c),c.ld bc,&bd
000050: 30 30 0D 6F 75 74 20 28 63 29 2C 63 0D 6A 70 20 00.out (c),c.jp
000060: 6D 61 69 6E 5F 6C 6F 6F 70 0D 0D 28 54 68 65 72 main_loop..(Ther
000070: 65 20 69 73 20 61 6E 6F 74 68 65 72 20 65 78 61 e is another exa
000080: 6D 70 6C 65 20 6F 66 20 73 70 6C 69 74 74 69 6E mple of splittin
000090: 67 20 6F 6E 20 74 68 65 20 64 69 73 63 2E 20 53 g on the disc. S
0000A0: 50 4C 49 54 2E 4D 41 58 29 0D 0D 3D 3D 3D 3D 3D PLIT.MAX)..=====
0000B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 1A 20 74 68 6F 73 =========.. thos
000100: 65 20 72 65 67 69 73 74 65 72 73 90 1A FF 00 FF e registers.....
000110: 09 09 09 09 09 09 09 09 20 73 65 6C 65 63 74 65 ........ selecte
000120: 64 20 74 65 78 74 0D 09 09 09 09 09 09 09 09 20 d text.........
000130: 77 69 6E 64 6F 77 2E 1A FF 00 00 00 00 FF FF FF window..........
000140: FF 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF ................
000150: FF 00 00 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000160: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000170: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000180: 72 20 69 6E 69 74 69 61 6C 69 73 61 74 69 6F 6E r initialisation
000190: 20 6F 66 20 73 70 6C 69 74 0D 6F 75 74 20 28 63 of split.out (c
0001A0: 29 2C 63 20 20 20 20 20 20 20 20 20 20 20 20 20 ),c
0001B0: 20 20 3B 2A 2A 20 49 4D 50 4F 52 54 41 4E 54 20 ;** IMPORTANT
0001C0: 2A 2A 0D 6C 64 20 62 63 2C 26 62 64 30 30 0D 6F **.ld bc,&bd00.o
0001D0: 75 74 20 28 63 29 2C 63 0D 0D 6C 64 20 62 63 2C ut (c),c..ld bc,
0001E0: 26 62 63 30 30 2B 31 32 0D 6F 75 74 20 28 63 29 &bc00+12.out (c)
0001F0: 2C 63 0D 6C 64 20 62 63 2C 26 62 64 30 30 2B 25 ,c.ld bc,&bd00+%
Size : 512 (Real : 512)
000000: 70 2E 0D 64 29 20 54 68 65 6E 20 69 6E 20 62 6F p..d) Then in bo
000010: 74 74 6F 6D 20 6F 66 20 73 63 72 65 65 6E 2C 20 ttom of screen,
000020: 70 75 74 20 26 30 30 20 69 6E 74 6F 20 72 65 67 put &00 into reg
000030: 69 73 74 65 72 20 37 20 6F 66 20 43 52 54 43 2E ister 7 of CRTC.
000040: 0D 0D 54 68 65 20 69 6E 74 65 72 72 75 70 74 73 ..The interrupts
000050: 20 65 66 66 65 63 74 69 76 65 6C 79 20 73 70 6C effectively spl
000060: 69 74 20 74 68 65 20 73 63 72 65 65 6E 20 69 6E it the screen in
000070: 74 6F 20 36 20 62 6C 6F 63 6B 73 2E 20 53 6F 20 to 6 blocks. So
000080: 77 65 20 63 61 6E 20 65 61 73 69 6C 79 0D 77 61 we can easily.wa
000090: 69 74 20 66 6F 72 20 61 6E 20 69 6E 74 65 72 72 it for an interr
0000A0: 75 70 74 20 74 6F 20 6F 63 63 75 72 20 62 79 20 upt to occur by
0000B0: 75 73 69 6E 67 20 61 20 48 41 4C 54 20 69 6E 73 using a HALT ins
0000C0: 74 72 75 63 74 69 6F 6E 2C 20 74 68 65 6E 20 77 truction, then w
0000D0: 65 20 63 61 6E 0D 70 72 6F 67 72 61 6D 20 74 68 e can.program th
0000E0: 65 20 73 70 6C 69 74 20 76 61 6C 75 65 73 2E 0D e split values..
0000F0: 0D 28 54 68 69 73 20 63 6F 64 65 20 63 61 6E 20 .(This code can
000100: 62 65 20 66 6F 75 6E 64 20 69 6E 20 74 68 65 20 be found in the
000110: 66 69 6C 65 20 53 50 4C 54 53 48 4C 4C 2E 4D 41 file SPLTSHLL.MA
000120: 58 29 2E 0D 0D 53 69 6E 63 65 20 77 65 20 63 68 X)...Since we ch
000130: 61 6E 67 65 20 74 68 65 20 69 6E 74 65 72 72 75 ange the interru
000140: 70 74 20 76 65 63 74 6F 72 20 74 6F 20 73 6F 6D pt vector to som
000150: 65 74 68 69 6E 67 20 64 69 66 66 65 72 65 6E 74 ething different
000160: 2C 20 74 68 65 20 6B 65 79 62 6F 61 72 64 0D 77 , the keyboard.w
000170: 69 6C 6C 20 6E 6F 74 20 62 65 20 73 63 61 6E 6E ill not be scann
000180: 65 64 20 6F 72 20 61 6E 79 74 68 69 6E 67 20 64 ed or anything d
000190: 6F 6E 65 2C 20 73 6F 20 61 6C 6C 20 74 68 69 73 one, so all this
0001A0: 20 68 61 73 20 74 6F 20 62 65 20 64 6F 6E 65 2C has to be done,
0001B0: 20 62 79 0D 70 72 6F 67 72 61 6D 6D 69 6E 67 20 by.programming
0001C0: 74 68 65 20 68 61 72 64 77 61 72 65 20 64 69 72 the hardware dir
0001D0: 65 63 74 6C 79 2E 0D 0D 4E 6F 77 20 74 6F 20 61 ectly...Now to a
0001E0: 63 74 75 61 6C 6C 79 20 73 65 74 75 70 20 74 68 ctually setup th
0001F0: 65 20 73 70 6C 69 74 73 2C 20 77 65 20 75 73 65 e splits, we use
Size : 512 (Real : 512)
000000: 1B 40 53 65 6C 65 63 74 69 6E 67 20 61 6E 20 45 .@Selecting an E
000010: 78 70 61 6E 73 69 6F 6E 20 52 6F 6D 0D 2D 2D 2D xpansion Rom.---
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 2D 0D 0D 54 6F 20 73 65 6C 65 -------..To sele
000040: 63 74 20 61 6E 20 65 78 70 61 6E 73 69 6F 6E 20 ct an expansion
000050: 72 6F 6D 2C 20 73 69 6D 70 6C 79 20 73 65 6E 64 rom, simply send
000060: 20 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 20 74 the number of t
000070: 68 65 20 65 78 70 61 6E 73 69 6F 6E 0D 72 6F 6D he expansion.rom
000080: 20 74 6F 20 70 6F 72 74 20 26 44 46 78 78 2E 20 to port &DFxx.
000090: 28 41 6E 20 65 78 70 61 6E 73 69 6F 6E 20 20 72 (An expansion r
0000A0: 6F 6D 20 20 6D 61 79 20 20 68 61 76 65 20 61 20 om may have a
0000B0: 6E 75 6D 62 65 72 20 66 72 6F 6D 20 30 2D 32 35 number from 0-25
0000C0: 35 29 2E 0D 57 68 65 72 65 20 61 20 76 61 6C 75 5)..Where a valu
0000D0: 65 20 6F 66 20 30 20 77 69 6C 6C 20 20 73 65 6C e of 0 will sel
0000E0: 65 63 74 20 20 42 41 53 49 43 2C 20 20 61 6E 64 ect BASIC, and
0000F0: 20 20 61 20 76 61 6C 75 65 20 6F 66 20 37 20 77 a value of 7 w
000100: 69 6C 6C 20 73 65 6C 65 63 74 0D 41 4D 53 44 4F ill select.AMSDO
000110: 53 2E 0D 0D 48 6F 77 65 76 65 72 20 74 68 69 73 S...However this
000120: 20 70 72 6F 63 65 73 73 20 6F 6E 6C 79 20 73 65 process only se
000130: 6C 65 63 74 73 20 74 68 65 20 65 78 70 61 6E 73 lects the expans
000140: 69 6F 6E 20 72 6F 6D 2E 20 49 74 20 64 6F 65 73 ion rom. It does
000150: 20 6E 6F 74 20 61 6C 6C 6F 77 0D 74 68 65 20 75 not allow.the u
000160: 73 65 72 20 74 6F 20 61 63 63 65 73 73 20 61 6E ser to access an
000170: 79 20 72 6F 75 74 69 6E 65 73 20 20 69 6E 20 20 y routines in
000180: 74 68 65 20 20 72 6F 6D 2E 20 54 6F 20 61 6C 6C the rom. To all
000190: 6F 77 20 72 6F 75 74 69 6E 65 73 20 74 6F 20 62 ow routines to b
0001A0: 65 0D 61 63 63 65 73 73 65 64 20 74 68 65 20 75 e.accessed the u
0001B0: 73 65 72 20 6D 75 73 74 20 65 6E 61 62 6C 65 20 ser must enable
0001C0: 74 68 65 20 75 70 70 65 72 20 72 6F 6D 20 75 73 the upper rom us
0001D0: 69 6E 67 20 74 68 65 20 47 61 74 65 20 41 72 72 ing the Gate Arr
0001E0: 61 79 2E 20 28 53 65 65 0D 70 72 6F 67 72 61 6D ay. (See.program
0001F0: 6D 69 6E 67 20 74 68 65 20 67 61 74 65 20 61 72 ming the gate ar
Size : 512 (Real : 512)
000000: 20 72 65 67 69 73 74 65 72 20 26 34 20 6F 66 20 register &4 of
000010: 43 52 54 43 2E 0D 0D 53 69 6D 70 6C 79 20 70 72 CRTC...Simply pr
000020: 6F 67 72 61 6D 20 74 68 65 20 68 65 69 67 68 74 ogram the height
000030: 20 6F 66 20 74 68 65 20 62 6C 6F 63 6B 20 79 6F of the block yo
000040: 75 20 77 61 6E 74 20 28 69 6E 20 63 68 61 72 61 u want (in chara
000050: 63 74 65 72 20 73 69 7A 65 64 20 75 6E 69 74 73 cter sized units
000060: 29 2D 31 2E 0D 54 68 65 6E 20 62 65 66 6F 72 65 )-1..Then before
000070: 20 74 68 65 20 62 6C 6F 63 6B 20 77 69 6C 6C 20 the block will
000080: 65 6E 64 2C 20 70 72 6F 67 72 61 6D 20 61 20 6E end, program a n
000090: 65 77 20 62 6C 6F 63 6B 20 68 65 69 67 68 74 2E ew block height.
0000A0: 0D 0D 54 68 65 20 74 6F 74 61 6C 20 68 65 69 67 ..The total heig
0000B0: 68 74 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E ht of the screen
0000C0: 20 69 73 20 33 38 20 63 68 61 72 61 63 74 65 72 is 38 character
0000D0: 73 20 74 61 6C 6C 2E 20 53 6F 2C 20 61 6C 6C 20 s tall. So, all
0000E0: 74 68 65 20 62 6C 6F 63 6B 73 0D 68 65 69 67 68 the blocks.heigh
0000F0: 74 73 20 73 68 6F 75 6C 64 20 61 64 64 20 75 70 ts should add up
000100: 20 74 6F 20 33 38 2E 0D 0D 53 6F 20 6C 65 74 73 to 38...So lets
000110: 20 73 61 79 2C 20 77 65 20 77 61 6E 74 20 74 68 say, we want th
000120: 65 20 73 63 72 65 65 6E 20 73 70 6C 69 74 20 69 e screen split i
000130: 6E 20 68 61 6C 66 2E 20 57 65 20 77 61 6E 74 2C n half. We want,
000140: 20 74 77 6F 20 62 6C 6F 63 6B 73 20 6F 66 20 68 two blocks of h
000150: 65 69 67 68 74 0D 31 39 20 63 68 61 72 61 63 74 eight.19 charact
000160: 65 72 73 2C 20 74 6F 70 20 62 6C 6F 63 6B 20 75 ers, top block u
000170: 73 69 6E 67 20 6D 65 6D 6F 72 79 20 61 74 20 26 sing memory at &
000180: 34 30 30 30 2D 26 38 30 30 30 2C 20 74 68 65 20 4000-&8000, the
000190: 73 65 63 6F 6E 64 20 75 73 69 6E 67 20 6D 65 6D second using mem
0001A0: 6F 72 79 0D 61 74 20 26 43 30 30 30 2D 26 46 46 ory.at &C000-&FF
0001B0: 46 46 2E 0D 0D 3B 20 74 68 65 20 63 6F 64 65 20 FF...; the code
0001C0: 77 6F 75 6C 64 20 62 65 0D 0D 3D 3D 3D 3D 3D 3D would be..======
0001D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
Size : 512 (Real : 512)
000000: 72 61 79 20 74 6F 20 73 65 65 20 68 6F 77 20 74 ray to see how t
000010: 68 69 73 20 69 73 20 64 6F 6E 65 29 2E 0D 0D 41 his is done)...A
000020: 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 65 78 61 programming exa
000030: 6D 70 6C 65 20 69 73 20 67 69 76 65 6E 20 74 6F mple is given to
000040: 20 20 73 68 6F 77 20 20 68 6F 77 20 20 74 6F 20 show how to
000050: 73 65 6C 65 63 74 20 61 6E 64 20 64 69 73 61 62 select and disab
000060: 6C 65 20 61 6E 0D 65 78 70 61 6E 73 69 6F 6E 20 le an.expansion
000070: 72 6F 6D 2E 0D 0D 4E 6F 74 65 20 70 6F 72 74 20 rom...Note port
000080: 26 44 46 78 78 20 69 73 20 61 20 77 72 69 74 65 &DFxx is a write
000090: 20 20 6F 6E 6C 79 20 20 70 6F 72 74 2C 20 72 65 only port, re
0000A0: 61 64 69 6E 67 20 77 69 6C 6C 20 72 65 74 75 72 ading will retur
0000B0: 6E 20 61 20 6E 6F 6E 73 65 6E 73 65 0D 76 61 6C n a nonsense.val
0000C0: 75 65 2E 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ue...===========
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000100: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 50 72 6F ===========..Pro
000110: 67 72 61 6D 6D 69 6E 67 20 45 78 61 6D 70 6C 65 gramming Example
000120: 73 3A 0D 0D 0D 61 29 20 53 65 6C 65 63 74 69 6E s:...a) Selectin
000130: 67 20 61 6E 20 65 78 70 61 6E 73 69 6F 6E 20 72 g an expansion r
000140: 6F 6D 0D 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D om. ----------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 0D 0D 54 6F 20 73 65 6C 65 63 74 20 72 6F 6D 20 ..To select rom
000170: 37 2E 20 28 41 4D 53 44 4F 53 29 0D 0D 6C 64 20 7. (AMSDOS)..ld
000180: 62 63 2C 26 37 66 30 30 20 20 20 20 20 3B 47 61 bc,&7f00 ;Ga
000190: 74 65 20 41 72 72 61 79 0D 6C 64 20 61 2C 25 31 te Array.ld a,%1
0001A0: 30 30 30 30 31 30 30 20 20 3B 65 6E 61 62 6C 65 0000100 ;enable
0001B0: 20 75 70 70 65 72 20 72 6F 6D 2C 20 64 69 73 61 upper rom, disa
0001C0: 62 6C 65 20 6C 6F 77 65 72 20 72 6F 6D 2C 20 6D ble lower rom, m
0001D0: 6F 64 65 20 30 0D 6F 75 74 20 28 63 29 2C 61 20 ode 0.out (c),a
0001E0: 20 20 20 20 20 20 3B 73 65 6E 64 20 69 74 0D 0D ;send it..
0001F0: 6C 64 20 62 63 2C 26 44 46 30 30 20 20 20 20 20 ld bc,&DF00
Size : 512 (Real : 512)
000000: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000010: 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 6F 72 67 20 26 =========..org &
000020: 34 30 30 30 0D 0D 64 69 20 20 20 20 20 20 20 20 4000..di
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 63 ;c
000040: 68 61 6E 67 65 20 69 6E 74 65 72 72 75 70 74 20 hange interrupt
000050: 76 65 63 74 6F 72 0D 6C 64 20 68 6C 2C 26 63 39 vector.ld hl,&c9
000060: 66 62 0D 6C 64 20 28 26 30 30 33 38 29 2C 68 6C fb.ld (&0038),hl
000070: 0D 65 69 0D 0D 3B 3B 73 70 6C 69 74 74 69 6E 67 .ei..;;splitting
000080: 20 70 61 72 74 0D 0D 2E 6D 61 69 6E 5F 6C 6F 6F part...main_loo
000090: 70 0D 6C 64 20 62 2C 26 66 35 20 20 20 20 20 20 p.ld b,&f5
0000A0: 20 20 20 20 20 20 20 20 20 20 3B 77 61 69 74 20 ;wait
0000B0: 66 6F 72 20 66 72 61 6D 65 20 66 6C 79 62 61 63 for frame flybac
0000C0: 6B 2F 56 53 59 4E 43 0D 2E 6E 6F 5F 56 53 59 4E k/VSYNC..no_VSYN
0000D0: 43 0D 69 6E 20 61 2C 28 63 29 0D 72 72 61 0D 6A C.in a,(c).rra.j
0000E0: 70 20 6E 63 2C 6E 6F 5F 56 53 59 4E 43 0D 0D 6C p nc,no_VSYNC..l
0000F0: 64 20 62 63 2C 26 62 63 30 30 2B 37 0D 6F 75 74 d bc,&bc00+7.out
000100: 20 28 63 29 2C 63 0D 6C 64 20 62 63 2C 26 62 64 (c),c.ld bc,&bd
000110: 66 66 0D 6F 75 74 20 28 63 29 2C 63 20 20 20 20 ff.out (c),c
000120: 20 20 20 20 20 20 20 20 20 20 20 3B 49 4E 49 54 ;INIT
000130: 49 41 4C 49 53 45 20 53 50 4C 49 54 20 2A 2A 49 IALISE SPLIT **I
000140: 4D 50 4F 52 54 41 4E 54 2A 2A 0D 0D 6C 64 20 62 MPORTANT**..ld b
000150: 63 2C 26 62 63 30 34 0D 6F 75 74 20 28 63 29 2C c,&bc04.out (c),
000160: 63 0D 6C 64 20 62 63 2C 26 62 64 30 30 2B 31 39 c.ld bc,&bd00+19
000170: 2D 31 20 20 20 20 20 20 20 20 3B 68 65 69 67 68 -1 ;heigh
000180: 74 20 6F 66 20 66 69 72 73 74 20 62 6C 6F 63 6B t of first block
000190: 0D 6F 75 74 20 28 63 29 2C 63 0D 0D 68 61 6C 74 .out (c),c..halt
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 20 3B 77 61 69 74 20 36 2E 35 20 6C 69 ;wait 6.5 li
0001C0: 6E 65 73 0D 0D 6C 64 20 62 63 2C 26 62 63 30 30 nes..ld bc,&bc00
0001D0: 2B 31 32 20 20 20 20 20 20 20 20 20 20 3B 73 63 +12 ;sc
0001E0: 72 65 65 6E 20 61 64 64 72 65 73 73 20 74 6F 20 reen address to
0001F0: 26 43 30 30 30 2D 26 46 46 46 46 0D 6F 75 74 20 &C000-&FFFF.out
Size : 512 (Real : 512)
000000: 3B 65 78 70 61 6E 73 69 6F 6E 20 72 6F 6D 20 73 ;expansion rom s
000010: 65 6C 65 63 74 20 70 6F 72 74 0D 6C 64 20 61 2C elect port.ld a,
000020: 37 20 20 20 20 20 20 20 20 20 20 3B 65 78 70 61 7 ;expa
000030: 6E 73 69 6F 6E 20 72 6F 6D 20 77 61 6E 74 65 64 nsion rom wanted
000040: 0D 6F 75 74 20 28 63 29 2C 61 20 20 20 20 20 20 .out (c),a
000050: 20 3B 73 65 6C 65 63 74 20 69 74 0D 72 65 74 0D ;select it.ret.
000060: 0D 0D 62 29 20 44 69 73 61 62 6C 69 6E 67 20 61 ..b) Disabling a
000070: 6E 20 65 78 70 61 6E 73 69 6F 6E 20 72 6F 6D 0D n expansion rom.
000080: 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 6C -------------..l
0000A0: 64 20 62 63 2C 26 37 66 30 30 20 20 20 20 20 3B d bc,&7f00 ;
0000B0: 47 61 74 65 20 41 72 72 61 79 0D 6C 64 20 61 2C Gate Array.ld a,
0000C0: 25 31 30 30 30 31 31 30 30 20 20 3B 75 70 70 65 %10001100 ;uppe
0000D0: 72 20 61 6E 64 20 6C 6F 77 65 72 20 72 6F 6D 20 r and lower rom
0000E0: 64 69 73 61 62 6C 65 64 2C 20 6D 6F 64 65 20 30 disabled, mode 0
0000F0: 0D 6F 75 74 20 28 63 29 2C 61 20 20 20 20 20 20 .out (c),a
000100: 20 3B 73 65 6E 64 20 69 74 0D 72 65 74 0D 0D 1A ;send it.ret...
000110: 65 6C 65 63 74 20 61 6E 20 65 78 70 61 6E 73 69 elect an expansi
000120: 6F 6E 20 72 6F 6D 2C 20 73 69 6D 70 6C 79 20 73 on rom, simply s
000130: 65 6E 64 20 74 68 65 20 6E 75 6D 62 65 72 20 6F end the number o
000140: 66 20 74 68 65 20 65 78 70 61 6E 73 69 6F 6E 20 f the expansion
000150: 0D 8A 1A 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000160: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000170: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000180: 62 63 2C 26 37 66 30 30 20 20 20 20 20 3B 47 61 bc,&7f00 ;Ga
000190: 74 65 20 41 72 72 61 79 0D 6C 64 20 61 2C 25 31 te Array.ld a,%1
0001A0: 30 30 30 30 31 30 30 20 20 3B 65 6E 61 62 6C 65 0000100 ;enable
0001B0: 20 75 70 70 65 72 20 72 6F 6D 2C 20 64 69 73 61 upper rom, disa
0001C0: 62 6C 65 20 6C 6F 77 65 72 20 72 6F 6D 2C 20 6D ble lower rom, m
0001D0: 6F 64 65 20 30 0D 6F 75 74 20 28 63 29 2C 61 20 ode 0.out (c),a
0001E0: 20 20 20 20 20 20 3B 73 65 6E 64 20 69 74 0D 0D ;send it..
0001F0: 6C 64 20 62 63 2C 26 44 46 30 30 20 20 20 20 20 ld bc,&DF00
Size : 512 (Real : 512)
000000: 28 63 29 2C 63 0D 6C 64 20 62 63 2C 26 62 64 30 (c),c.ld bc,&bd0
000010: 30 2B 25 30 30 31 31 30 30 30 30 0D 6F 75 74 20 0+%00110000.out
000020: 28 63 29 2C 63 0D 6C 64 20 62 63 2C 26 62 63 30 (c),c.ld bc,&bc0
000030: 30 2B 31 33 0D 6F 75 74 20 28 63 29 2C 63 0D 6C 0+13.out (c),c.l
000040: 64 20 62 63 2C 26 62 64 30 30 0D 6F 75 74 20 28 d bc,&bd00.out (
000050: 63 29 2C 63 0D 0D 68 61 6C 74 20 20 20 20 20 20 c),c..halt
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 77 ;w
000070: 61 69 74 20 36 2E 35 20 6C 69 6E 65 73 0D 0D 6C ait 6.5 lines..l
000080: 64 20 62 2C 31 35 20 20 20 20 20 20 20 20 20 20 d b,15
000090: 20 20 20 20 20 20 20 3B 6E 6F 74 20 73 75 72 65 ;not sure
0000A0: 20 72 65 61 73 6F 6E 20 66 6F 72 20 74 68 69 73 reason for this
0000B0: 2C 20 6D 61 79 62 65 20 74 6F 20 61 6C 6C 6F 77 , maybe to allow
0000C0: 20 63 6F 6D 70 61 74 69 62 69 6C 74 79 0D 2E 77 compatibilty..w
0000D0: 61 69 74 20 64 6A 6E 7A 20 77 61 69 74 20 20 20 ait djnz wait
0000E0: 20 20 20 20 20 20 3B 77 69 74 68 20 6F 74 68 65 ;with othe
0000F0: 72 20 43 52 54 43 73 0D 0D 6C 64 20 62 63 2C 26 r CRTCs..ld bc,&
000100: 62 63 30 34 0D 6F 75 74 20 28 63 29 2C 63 0D 6C bc04.out (c),c.l
000110: 64 20 62 63 2C 26 62 64 30 30 2B 31 39 2D 31 20 d bc,&bd00+19-1
000120: 20 20 20 20 20 20 20 3B 68 65 69 67 68 74 20 6F ;height o
000130: 66 20 73 65 63 6F 6E 64 20 62 6C 6F 63 6B 0D 6F f second block.o
000140: 75 74 20 28 63 29 2C 63 0D 68 61 6C 74 0D 0D 68 ut (c),c.halt..h
000150: 61 6C 74 0D 0D 68 61 6C 74 0D 0D 68 61 6C 74 0D alt..halt..halt.
000160: 6C 64 20 62 63 2C 26 62 63 30 30 2B 37 20 20 20 ld bc,&bc00+7
000170: 20 20 20 20 20 20 20 20 3B 61 6C 73 6F 20 66 6F ;also fo
000180: 72 20 69 6E 69 74 69 61 6C 69 73 61 74 69 6F 6E r initialisation
000190: 20 6F 66 20 73 70 6C 69 74 0D 6F 75 74 20 28 63 of split.out (c
0001A0: 29 2C 63 20 20 20 20 20 20 20 20 20 20 20 20 20 ),c
0001B0: 20 20 3B 2A 2A 20 49 4D 50 4F 52 54 41 4E 54 20 ;** IMPORTANT
0001C0: 2A 2A 0D 6C 64 20 62 63 2C 26 62 64 30 30 0D 6F **.ld bc,&bd00.o
0001D0: 75 74 20 28 63 29 2C 63 0D 0D 6C 64 20 62 63 2C ut (c),c..ld bc,
0001E0: 26 62 63 30 30 2B 31 32 0D 6F 75 74 20 28 63 29 &bc00+12.out (c)
0001F0: 2C 63 0D 6C 64 20 62 63 2C 26 62 64 30 30 2B 25 ,c.ld bc,&bd00+%
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 07 50 53 47 2E 54 58 54 00 00 00 01 00 09 C2 E0 .PSG.TXT........
000010: 00 00 2A 00 00 09 C2 E0 00 00 02 00 00 10 98 1C ..*.............
000020: 54 45 58 54 4D 41 43 41 01 00 00 D0 00 C0 00 00 TEXTMACA........
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 7F FF FF CF ................
000050: 50 53 47 20 20 20 20 20 54 58 54 00 0B 52 45 41 PSG TXT..REA
000060: 44 2D 4D 45 2E 54 58 54 00 09 C2 E0 00 00 2A 00 D-ME.TXT......*.
000070: 00 09 C2 E0 00 00 02 00 00 10 98 1C 54 45 58 54 ............TEXT
000080: 4D 41 43 41 01 00 00 D0 01 00 00 00 00 00 00 00 MACA............
000090: 00 00 00 00 00 00 00 00 00 00 00 00 A6 DD 00 E4 ................
0000A0: A6 DD 00 E4 00 00 00 00 7F FF FF CE 52 45 41 44 ............READ
0000B0: 2D 4D 45 20 54 58 54 00 0B 52 45 41 44 4B 45 59 -ME TXT..READKEY
0000C0: 2E 54 58 54 00 09 C2 E0 00 00 2A 00 00 09 C2 E0 .TXT......*.....
0000D0: 00 00 02 00 00 10 98 1C 54 45 58 54 4D 41 43 41 ........TEXTMACA
0000E0: 01 00 01 04 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000F0: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
000100: 00 00 00 00 7F FF FF CD 52 45 41 44 4B 45 59 20 ........READKEY
000110: 54 58 54 00 08 52 53 58 53 48 45 4C 4C 00 00 01 TXT..RSXSHELL...
000120: 00 09 C2 E0 00 00 2A 00 00 09 C2 E0 00 00 02 00 ......*.........
000130: 00 10 98 1C 54 45 58 54 4D 41 43 41 01 00 01 04 ....TEXTMACA....
000140: 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .@..............
000150: 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 ................
000160: 7F FF FF CC 52 53 58 53 48 45 4C 4C 20 20 20 00 ....RSXSHELL .
000170: 07 53 43 52 2E 54 58 54 00 00 00 01 00 09 C2 E0 .SCR.TXT........
000180: 00 00 2A 00 00 09 C2 E0 00 00 02 00 00 10 98 1C ..*.............
000190: 54 45 58 54 4D 41 43 41 01 00 01 04 00 80 00 00 TEXTMACA........
0001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 7F FF FF CB ................
0001C0: 53 43 52 20 20 20 20 20 54 58 54 00 09 53 4F 55 SCR TXT..SOU
0001D0: 4E 44 2E 54 58 54 00 01 00 09 C2 E0 00 00 2A 00 ND.TXT........*.
0001E0: 00 09 C2 E0 00 00 02 00 00 10 98 1C 54 45 58 54 ............TEXT
0001F0: 4D 41 43 41 01 00 01 04 00 C0 00 00 00 00 00 00 MACA............
Size : 512 (Real : 512)
000000: 08 38 32 35 35 2E 54 58 54 03 EB E4 00 28 FF ED .8255.TXT....(..
000010: 00 29 00 00 03 54 00 10 97 FC 00 11 94 92 84 02 .)...T..........
000020: 54 45 58 54 4D 41 43 41 01 00 00 00 00 00 00 00 TEXTMACA........
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 7F FF FF E5 ................
000050: 38 32 35 35 20 20 20 20 54 58 54 01 09 38 32 35 8255 TXT..825
000060: 35 32 2E 54 58 54 00 00 00 00 00 00 00 00 00 00 52.TXT..........
000070: 03 54 00 10 97 FC 00 11 94 92 84 02 54 45 58 54 .T..........TEXT
000080: 4D 41 43 41 01 00 00 00 00 40 00 00 00 00 00 00 MACA.....@......
000090: 00 00 00 00 00 00 00 00 00 00 00 00 A6 DD 00 E4 ................
0000A0: A6 DD 00 E4 00 00 00 00 7F FF FF E4 38 32 35 35 ............8255
0000B0: 32 20 20 20 54 58 54 01 08 42 44 4F 53 2E 54 58 2 TXT..BDOS.TX
0000C0: 54 00 00 00 00 00 00 00 00 00 00 00 03 54 00 10 T............T..
0000D0: 97 FC 00 11 94 92 84 02 54 45 58 54 4D 41 43 41 ........TEXTMACA
0000E0: 01 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 ................
0000F0: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
000100: 00 00 00 00 7F FF FF E3 42 44 4F 53 20 20 20 20 ........BDOS
000110: 54 58 54 01 07 43 41 53 2E 54 58 54 00 00 00 00 TXT..CAS.TXT....
000120: 00 00 00 00 00 00 00 00 03 54 00 10 97 FC 00 11 .........T......
000130: 94 92 84 02 54 45 58 54 4D 41 43 41 01 00 00 00 ....TEXTMACA....
000140: 00 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000150: 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 ................
000160: 7F FF FF E2 43 41 53 20 20 20 20 20 54 58 54 01 ....CAS TXT.
000170: 0B 43 4F 4E 4E 45 43 54 2E 54 58 54 00 00 00 00 .CONNECT.TXT....
000180: 00 00 00 00 03 54 00 10 97 FC 00 11 94 92 84 02 .....T..........
000190: 54 45 58 54 4D 41 43 41 01 00 00 00 01 00 00 00 TEXTMACA........
0001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 7F FF FF E1 ................
0001C0: 43 4F 4E 4E 45 43 54 20 54 58 54 01 0C 43 4F 4E CONNECT TXT..CON
0001D0: 54 43 48 41 52 2E 54 58 54 00 00 00 00 00 00 00 TCHAR.TXT.......
0001E0: 03 54 00 10 97 FC 00 11 94 92 84 02 54 45 58 54 .T..........TEXT
0001F0: 4D 41 43 41 01 00 00 34 00 00 00 00 00 00 00 00 MACA...4........
Size : 512 (Real : 512)
000000: 00 00 00 00 00 00 00 00 00 00 00 00 A6 DD 00 E4 ................
000010: A6 DD 00 E4 00 00 00 00 7F FF FF CA 53 4F 55 4E ............SOUN
000020: 44 20 20 20 54 58 54 00 09 53 50 4C 49 54 2E 4D D TXT..SPLIT.M
000030: 41 58 00 01 00 09 C2 E0 00 00 2A 00 00 09 C2 E0 AX........*.....
000040: 00 00 02 00 00 10 98 1C 54 45 58 54 4D 41 43 41 ........TEXTMACA
000050: 01 00 01 04 01 00 00 00 00 00 00 00 00 00 00 00 ................
000060: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
000070: 00 00 00 00 7F FF FF C9 53 50 4C 49 54 20 20 20 ........SPLIT
000080: 4D 41 58 00 0C 53 50 4C 54 53 48 4C 4C 2E 4D 41 MAX..SPLTSHLL.MA
000090: 58 09 C2 E0 00 00 2A 00 00 09 C2 E0 00 00 02 00 X.....*.........
0000A0: 00 10 98 1C 54 45 58 54 4D 41 43 41 01 00 01 38 ....TEXTMACA...8
0000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000C0: 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 ................
0000D0: 7F FF FF C8 53 50 4C 54 53 48 4C 4C 4D 41 58 00 ....SPLTSHLLMAX.
0000E0: 08 54 45 53 54 2E 4D 41 58 00 00 01 00 09 C2 E0 .TEST.MAX.......
0000F0: 00 04 88 00 00 09 C2 E0 00 00 02 00 00 10 98 1C ................
000100: 54 45 58 54 4D 41 43 41 01 00 01 38 00 40 00 00 TEXTMACA...8.@..
000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000120: A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 7F FF FF C7 ................
000130: 54 45 53 54 20 20 20 20 4D 41 58 00 0C 54 45 58 TEST MAX..TEX
000140: 54 44 49 53 50 2E 42 41 53 09 C2 E0 00 04 88 00 TDISP.BAS.......
000150: 00 09 C2 E0 00 00 02 00 00 10 98 1C 3F 3F 3F 3F ............????
000160: 42 49 4E 20 01 00 01 38 00 80 00 00 00 00 00 00 BIN ...8........
000170: 00 00 00 00 00 00 00 00 00 00 00 00 A6 DD 00 E4 ................
000180: A6 DD 00 E4 00 00 00 00 7F FF FF C6 54 45 58 54 ............TEXT
000190: 44 49 53 50 42 41 53 00 07 54 58 54 2E 54 58 54 DISPBAS..TXT.TXT
0001A0: 00 00 00 01 00 09 C2 E0 00 04 88 00 00 09 C2 E0 ................
0001B0: 00 00 02 00 00 10 98 1C 54 45 58 54 4D 41 43 41 ........TEXTMACA
0001C0: 01 00 01 38 00 C0 00 00 00 00 00 00 00 00 00 00 ...8............
0001D0: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
0001E0: 00 00 00 00 7F FF FF C5 54 58 54 20 20 20 20 20 ........TXT
0001F0: 54 58 54 00 00 00 00 00 00 00 00 00 00 00 00 00 TXT.............
Size : 512 (Real : 512)
000000: 00 00 00 00 00 00 00 00 00 00 00 00 A6 DD 00 E4 ................
000010: A6 DD 00 E4 00 00 00 00 7F FF FF E0 43 4F 4E 54 ............CONT
000020: 43 48 41 52 54 58 54 01 08 43 52 54 43 2E 54 58 CHARTXT..CRTC.TX
000030: 54 00 00 00 00 00 00 00 00 00 00 00 03 54 00 10 T............T..
000040: 97 FC 00 11 94 92 84 02 54 45 58 54 4D 41 43 41 ........TEXTMACA
000050: 01 00 00 34 00 40 00 00 00 00 00 00 00 00 00 00 ...4.@..........
000060: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
000070: 00 00 00 00 7F FF FF DF 43 52 54 43 20 20 20 20 ........CRTC
000080: 54 58 54 01 09 45 58 50 41 4E 2E 54 58 54 00 00 TXT..EXPAN.TXT..
000090: 00 00 00 00 00 00 00 00 03 54 00 10 97 FC 00 11 .........T......
0000A0: 94 92 84 02 54 45 58 54 4D 41 43 41 01 00 00 34 ....TEXTMACA...4
0000B0: 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000C0: 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 ................
0000D0: 7F FF FF DE 45 58 50 41 4E 20 20 20 54 58 54 01 ....EXPAN TXT.
0000E0: 0B 46 49 4C 45 5F 49 44 2E 44 49 5A 00 00 00 00 .FILE_ID.DIZ....
0000F0: 00 00 00 00 03 44 00 10 97 FC 00 11 94 92 84 02 .....D..........
000100: 54 45 58 54 4D 41 43 41 01 00 00 34 00 C0 00 00 TEXTMACA...4....
000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000120: AB EA 7D EC AB EA 7D EC 00 00 00 00 7F FF FF DD ..}...}.........
000130: 46 49 4C 45 5F 49 44 20 44 49 5A 01 08 47 41 54 FILE_ID DIZ..GAT
000140: 45 2E 54 58 54 00 00 00 00 00 00 00 00 00 00 00 E.TXT...........
000150: 03 54 00 10 97 FC 00 11 94 92 84 02 54 45 58 54 .T..........TEXT
000160: 4D 41 43 41 01 00 00 34 01 00 00 00 00 00 00 00 MACA...4........
000170: 00 00 00 00 00 00 00 00 00 00 00 00 A6 DD 00 E4 ................
000180: A6 DD 00 E4 00 00 00 00 7F FF FF DC 47 41 54 45 ............GATE
000190: 20 20 20 20 54 58 54 01 07 47 52 41 2E 54 58 54 TXT..GRA.TXT
0001A0: 00 00 00 00 00 00 00 00 00 00 00 00 03 54 00 10 .............T..
0001B0: 97 FC 00 11 94 92 84 02 54 45 58 54 4D 41 43 41 ........TEXTMACA
0001C0: 01 00 00 34 01 40 00 00 00 00 00 00 00 00 00 00 ...4.@..........
0001D0: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
0001E0: 00 00 00 00 7F FF FF DB 47 52 41 20 20 20 20 20 ........GRA
0001F0: 54 58 54 01 00 00 00 00 00 00 00 00 00 00 00 00 TXT.............
Size : 512 (Real : 512)
000000: 0B 56 41 52 49 4F 55 53 2E 54 58 54 00 09 C2 E0 .VARIOUS.TXT....
000010: 00 04 88 00 00 09 C2 E0 00 00 02 00 00 10 98 1C ................
000020: 54 45 58 54 4D 41 43 41 01 00 01 38 01 00 00 00 TEXTMACA...8....
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 7F FF FF C4 ................
000050: 56 41 52 49 4F 55 53 20 54 58 54 00 08 58 44 50 VARIOUS TXT..XDP
000060: 42 2E 54 58 54 00 00 01 00 09 C2 E0 00 04 88 00 B.TXT...........
000070: 00 09 C2 E0 00 00 02 00 00 10 98 1C 54 45 58 54 ............TEXT
000080: 4D 41 43 41 01 00 01 38 01 40 00 00 00 00 00 00 MACA...8.@......
000090: 00 00 00 00 00 00 00 00 00 00 00 00 A6 DD 00 E4 ................
0000A0: A6 DD 00 E4 00 00 00 00 7F FF FF C3 58 44 50 42 ............XDPB
0000B0: 20 20 20 20 54 58 54 00 0A 5A 38 30 53 45 54 2E TXT..Z80SET.
0000C0: 54 58 54 01 00 09 C2 E0 00 04 88 00 00 09 C2 E0 TXT.............
0000D0: 00 00 02 00 00 10 98 1C 54 45 58 54 4D 41 43 41 ........TEXTMACA
0000E0: 01 00 01 6C 00 00 00 00 00 00 00 00 00 00 00 00 ...l............
0000F0: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
000100: 00 00 00 00 7F FF FF C2 5A 38 30 53 45 54 20 20 ........Z80SET
000110: 54 58 54 00 1A E3 2C 94 EC 25 25 EC 2C 2C 9B 9B TXT...,..%%.,,..
000120: D4 B5 B5 B5 CE B3 6A D4 D4 81 F4 92 F4 2F 1A 1A ......j....../..
000130: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000140: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000150: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000160: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000170: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000180: A6 DD 00 E4 00 00 00 00 7F FF FF C6 54 45 58 54 ............TEXT
000190: 44 49 53 50 42 41 53 00 07 54 58 54 2E 54 58 54 DISPBAS..TXT.TXT
0001A0: 00 00 00 01 00 09 C2 E0 00 04 88 00 00 09 C2 E0 ................
0001B0: 00 00 02 00 00 10 98 1C 54 45 58 54 4D 41 43 41 ........TEXTMACA
0001C0: 01 00 01 38 00 C0 00 00 00 00 00 00 00 00 00 00 ...8............
0001D0: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
0001E0: 00 00 00 00 7F FF FF C5 54 58 54 20 20 20 20 20 ........TXT
0001F0: 54 58 54 00 00 00 00 00 00 00 00 00 00 00 00 00 TXT.............
Size : 512 (Real : 512)
000000: 0C 48 41 52 44 57 41 52 45 2E 54 58 54 14 00 09 .HARDWARE.TXT...
000010: C2 E0 00 00 03 54 00 10 97 FC 00 11 94 92 84 02 .....T..........
000020: 54 45 58 54 4D 41 43 41 01 00 00 68 00 00 00 00 TEXTMACA...h....
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 7F FF FF DA ................
000050: 48 41 52 44 57 41 52 45 54 58 54 01 0B 48 49 2D HARDWARETXT..HI-
000060: 4B 45 52 4E 2E 54 58 54 00 00 00 00 00 00 00 00 KERN.TXT........
000070: 03 54 00 10 97 FC 00 11 94 92 84 02 54 45 58 54 .T..........TEXT
000080: 4D 41 43 41 01 00 00 68 00 80 00 00 00 00 00 00 MACA...h........
000090: 00 00 00 00 00 00 00 00 00 00 00 00 A6 DD 00 E4 ................
0000A0: A6 DD 00 E4 00 00 00 00 7F FF FF D9 48 49 2D 4B ............HI-K
0000B0: 45 52 4E 20 54 58 54 01 0C 49 4E 44 49 52 45 43 ERN TXT..INDIREC
0000C0: 54 2E 54 58 54 09 C2 E0 00 00 2A 00 00 09 C2 E0 T.TXT.....*.....
0000D0: 00 00 02 00 00 10 98 1C 54 45 58 54 4D 41 43 41 ........TEXTMACA
0000E0: 01 00 00 68 00 C0 00 00 00 00 00 00 00 00 00 00 ...h............
0000F0: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
000100: 00 00 00 00 7F FF FF D8 49 4E 44 49 52 45 43 54 ........INDIRECT
000110: 54 58 54 00 0B 49 4F 50 4F 52 54 53 2E 54 58 54 TXT..IOPORTS.TXT
000120: 00 09 C2 E0 00 00 2A 00 00 09 C2 E0 00 00 02 00 ......*.........
000130: 00 10 98 1C 54 45 58 54 4D 41 43 41 01 00 00 9C ....TEXTMACA....
000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000150: 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 ................
000160: 7F FF FF D7 49 4F 50 4F 52 54 53 20 54 58 54 00 ....IOPORTS TXT.
000170: 0A 4B 45 52 4E 41 4C 2E 54 58 54 01 00 09 C2 E0 .KERNAL.TXT.....
000180: 00 00 2A 00 00 09 C2 E0 00 00 02 00 00 10 98 1C ..*.............
000190: 54 45 58 54 4D 41 43 41 01 00 00 9C 00 40 00 00 TEXTMACA.....@..
0001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 7F FF FF D6 ................
0001C0: 4B 45 52 4E 41 4C 20 20 54 58 54 00 0A 4B 45 59 KERNAL TXT..KEY
0001D0: 4D 41 50 2E 54 58 54 01 00 09 C2 E0 00 00 2A 00 MAP.TXT.......*.
0001E0: 00 09 C2 E0 00 00 02 00 00 10 98 1C 54 45 58 54 ............TEXT
0001F0: 4D 41 43 41 01 00 00 9C 00 80 00 00 00 00 00 00 MACA............
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 00 00 00 00 00 00 00 00 00 00 00 00 A6 DD 00 E4 ................
000010: A6 DD 00 E4 00 00 00 00 7F FF FF D5 4B 45 59 4D ............KEYM
000020: 41 50 20 20 54 58 54 00 06 4B 4D 2E 54 58 54 00 AP TXT..KM.TXT.
000030: 00 00 00 01 00 09 C2 E0 00 00 2A 00 00 09 C2 E0 ..........*.....
000040: 00 00 02 00 00 10 98 1C 54 45 58 54 4D 41 43 41 ........TEXTMACA
000050: 01 00 00 9C 00 C0 00 00 00 00 00 00 00 00 00 00 ................
000060: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
000070: 00 00 00 00 7F FF FF D4 4B 4D 20 20 20 20 20 20 ........KM
000080: 54 58 54 00 0B 4C 4F 2D 4B 45 52 4E 2E 54 58 54 TXT..LO-KERN.TXT
000090: 00 09 C2 E0 00 00 2A 00 00 09 C2 E0 00 00 02 00 ......*.........
0000A0: 00 10 98 1C 54 45 58 54 4D 41 43 41 01 00 00 9C ....TEXTMACA....
0000B0: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000C0: 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 ................
0000D0: 7F FF FF D3 4C 4F 2D 4B 45 52 4E 20 54 58 54 00 ....LO-KERN TXT.
0000E0: 06 4D 43 2E 54 58 54 00 00 00 00 01 00 09 C2 E0 .MC.TXT.........
0000F0: 00 00 2A 00 00 09 C2 E0 00 00 02 00 00 10 98 1C ..*.............
000100: 54 45 58 54 4D 41 43 41 01 00 00 9C 01 40 00 00 TEXTMACA.....@..
000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000120: A6 DD 00 E4 A6 DD 00 E4 00 00 00 00 7F FF FF D2 ................
000130: 4D 43 20 20 20 20 20 20 54 58 54 00 0C 50 4C 55 MC TXT..PLU
000140: 53 50 4F 52 54 2E 54 58 54 09 C2 E0 00 00 2A 00 SPORT.TXT.....*.
000150: 00 09 C2 E0 00 00 02 00 00 10 98 1C 54 45 58 54 ............TEXT
000160: 4D 41 43 41 01 00 00 D0 00 00 00 00 00 00 00 00 MACA............
000170: 00 00 00 00 00 00 00 00 00 00 00 00 A6 DD 00 E4 ................
000180: A6 DD 00 E4 00 00 00 00 7F FF FF D1 50 4C 55 53 ............PLUS
000190: 50 4F 52 54 54 58 54 00 0B 50 52 49 4E 54 45 52 PORTTXT..PRINTER
0001A0: 2E 54 58 54 00 09 C2 E0 00 00 2A 00 00 09 C2 E0 .TXT......*.....
0001B0: 00 00 02 00 00 10 98 1C 54 45 58 54 4D 41 43 41 ........TEXTMACA
0001C0: 01 00 00 D0 00 80 00 00 00 00 00 00 00 00 00 00 ................
0001D0: 00 00 00 00 00 00 00 00 A6 DD 00 E4 A6 DD 00 E4 ................
0001E0: 00 00 00 00 7F FF FF D0 50 52 49 4E 54 45 52 20 ........PRINTER
0001F0: 54 58 54 00 00 00 00 00 00 00 00 00 00 00 00 00 TXT.............
Size : 512 (Real : 512)
000000: 1B 40 54 68 65 20 47 61 74 65 20 41 72 72 61 79 .@The Gate Array
000010: 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D .--------------.
000020: 0D 54 68 65 20 67 61 74 65 20 61 72 72 61 79 20 .The gate array
000030: 69 73 20 61 20 73 70 65 63 69 61 6C 6C 79 20 64 is a specially d
000040: 65 73 69 67 6E 65 64 20 63 68 69 70 20 65 78 63 esigned chip exc
000050: 6C 75 73 69 76 65 6C 79 20 66 6F 72 20 75 73 65 lusively for use
000060: 20 69 6E 20 74 68 65 0D 41 6D 73 74 72 61 64 20 in the.Amstrad
000070: 43 50 43 2E 20 49 74 20 69 73 20 66 6F 72 20 74 CPC. It is for t
000080: 68 69 73 20 72 65 61 73 6F 6E 20 6E 6F 74 20 6D his reason not m
000090: 75 63 68 20 69 73 20 6B 6E 6F 77 6E 20 61 62 6F uch is known abo
0000A0: 75 74 20 69 74 2E 0D 0D 49 74 20 69 73 20 72 65 ut it...It is re
0000B0: 73 70 6F 6E 73 69 62 6C 65 20 66 6F 72 20 20 63 sponsible for c
0000C0: 6F 6E 74 72 6F 6C 6C 69 6E 67 20 20 73 63 72 65 ontrolling scre
0000D0: 65 6E 20 20 6D 6F 64 65 2C 20 20 63 6F 6C 6F 75 en mode, colou
0000E0: 72 20 70 61 6C 65 74 74 65 2C 20 72 61 6D 0D 63 r palette, ram.c
0000F0: 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 61 6E 64 onfiguration and
000100: 20 72 6F 6D 20 63 6F 6E 66 69 67 75 72 61 74 69 rom configurati
000110: 6F 6E 2E 0D 0D 54 68 65 20 6E 65 77 20 41 53 49 on...The new ASI
000120: 43 20 47 61 74 65 20 41 72 72 61 79 20 28 69 6E C Gate Array (in
000130: 20 74 68 65 20 20 6E 65 77 20 20 50 6C 75 73 20 the new Plus
000140: 6D 61 63 68 69 6E 65 73 29 20 69 73 20 64 65 73 machines) is des
000150: 63 72 69 62 65 64 20 69 6E 20 61 0D 64 69 66 66 cribed in a.diff
000160: 65 72 65 6E 74 20 73 65 63 74 69 6F 6E 2E 20 49 erent section. I
000170: 6E 20 73 74 61 6E 64 61 72 64 20 6D 6F 64 65 20 n standard mode
000180: 6F 6E 20 74 68 65 20 50 6C 75 73 20 6D 61 63 68 on the Plus mach
000190: 69 6E 65 73 20 28 74 68 61 74 20 69 73 20 77 68 ines (that is wh
0001A0: 65 6E 0D 74 68 65 20 6E 65 77 20 41 53 49 43 20 en.the new ASIC
0001B0: 47 61 74 65 20 41 72 72 61 79 20 68 61 73 20 6E Gate Array has n
0001C0: 6F 74 20 20 62 65 65 6E 20 20 65 6E 61 62 6C 65 ot been enable
0001D0: 64 29 2C 20 69 74 20 61 63 74 73 20 61 73 20 61 d), it acts as a
0001E0: 20 73 74 61 6E 64 61 72 64 0D 67 61 74 65 20 61 standard.gate a
0001F0: 72 72 61 79 2C 20 61 6C 6C 6F 77 69 6E 67 20 70 rray, allowing p
Size : 512 (Real : 512)
000000: 77 61 72 65 20 70 61 6C 6C 65 74 74 65 29 2E 0D ware pallette)..
000010: 0D 54 68 65 20 68 61 72 64 77 61 72 65 20 63 6F .The hardware co
000020: 6C 6F 75 72 20 6E 75 6D 62 65 72 20 69 73 20 20 lour number is
000030: 64 69 66 66 65 72 65 6E 74 20 20 74 6F 20 20 74 different to t
000040: 68 65 20 63 6F 6C 6F 75 72 20 72 61 6E 67 65 20 he colour range
000050: 75 73 65 64 20 62 79 0D 74 68 65 20 66 69 72 6D used by.the firm
000060: 77 61 72 65 2C 20 73 6F 20 61 20 63 6F 6E 76 65 ware, so a conve
000070: 72 73 69 6F 6E 20 63 68 61 72 74 20 20 69 73 20 rsion chart is
000080: 70 72 6F 76 69 64 65 64 20 66 6F 72 20 74 68 65 provided for the
000090: 20 63 6F 72 72 65 73 70 6F 6E 64 69 6E 67 0D 66 corresponding.f
0000A0: 69 72 6D 77 61 72 65 2F 68 61 72 64 77 61 72 65 irmware/hardware
0000B0: 20 63 6F 6C 6F 75 72 20 76 61 6C 75 65 73 20 61 colour values a
0000C0: 6E 64 20 74 68 65 20 63 6F 72 72 65 73 70 6F 6E nd the correspon
0000D0: 64 69 6E 67 20 63 6F 6C 6F 75 72 20 6E 61 6D 65 ding colour name
0000E0: 2E 0D 0D 45 76 65 6E 20 74 68 6F 75 67 68 20 74 ...Even though t
0000F0: 68 65 72 65 20 69 73 20 70 72 6F 76 69 73 69 6F here is provisio
000100: 6E 20 66 6F 72 20 20 33 32 20 20 63 6F 6C 6F 75 n for 32 colou
000110: 72 73 2C 20 6F 6E 6C 79 20 32 37 20 61 72 65 20 rs, only 27 are
000120: 70 6F 73 73 69 62 6C 65 2E 0D 54 68 65 20 72 65 possible..The re
000130: 6D 61 69 6E 69 6E 67 20 63 6F 6C 6F 75 72 73 20 maining colours
000140: 61 72 65 20 64 75 70 6C 69 63 61 74 65 73 20 20 are duplicates
000150: 6F 66 20 20 74 68 6F 73 65 20 20 61 6C 72 65 61 of those alrea
000160: 64 79 20 69 6E 20 74 68 65 20 63 6F 6C 6F 75 72 dy in the colour
000170: 0D 70 61 6C 65 74 74 65 2E 0D 0D 4E 6F 74 65 3A .palette...Note:
000180: 20 54 68 65 20 66 69 72 6D 77 61 72 65 20 6B 65 The firmware ke
000190: 65 70 73 20 74 72 61 63 6B 20 6F 66 20 74 68 65 eps track of the
0001A0: 20 63 6F 6C 6F 75 72 73 20 69 74 20 69 73 20 75 colours it is u
0001B0: 73 69 6E 67 2E 20 45 76 65 72 79 20 56 53 59 4E sing. Every VSYN
0001C0: 43 0D 28 61 73 73 75 6D 69 6E 67 20 69 6E 74 65 C.(assuming inte
0001D0: 72 72 75 70 74 73 20 61 72 65 20 65 6E 61 62 6C rrupts are enabl
0001E0: 65 64 29 20 74 68 65 20 20 66 69 72 6D 77 61 72 ed) the firmwar
0001F0: 65 20 73 65 74 73 20 74 68 65 20 63 6F 6C 6F 75 e sets the colou
Size : 512 (Real : 512)
000000: 72 6F 67 72 61 6D 73 20 6F 6E 20 74 68 65 20 43 rograms on the C
000010: 50 43 20 20 74 6F 20 77 6F 72 6B 20 6F 6E 20 74 PC to work on t
000020: 68 65 20 50 6C 75 73 20 6D 61 63 68 69 6E 65 73 he Plus machines
000030: 0D 77 69 74 68 6F 75 74 20 6D 6F 64 69 66 69 63 .without modific
000040: 61 74 69 6F 6E 2E 0D 0D 48 6F 77 65 76 65 72 20 ation...However
000050: 77 68 65 6E 20 74 68 65 20 6E 65 77 20 41 53 49 when the new ASI
000060: 43 20 67 61 74 65 20 61 72 72 61 79 20 69 73 20 C gate array is
000070: 65 6E 61 62 6C 65 64 2C 20 69 74 20 61 6C 6C 6F enabled, it allo
000080: 77 73 20 74 68 65 20 75 73 65 72 20 74 6F 0D 75 ws the user to.u
000090: 73 65 20 61 20 6E 75 6D 62 65 72 20 6F 66 20 65 se a number of e
0000A0: 78 74 72 61 20 65 6E 68 61 6E 63 65 6D 65 6E 74 xtra enhancement
0000B0: 73 2E 0D 0D 54 68 65 20 47 61 74 65 20 41 72 72 s...The Gate Arr
0000C0: 61 79 20 69 73 20 64 65 73 63 72 69 62 65 64 20 ay is described
0000D0: 68 65 72 65 2C 20 20 61 73 20 20 69 74 20 20 77 here, as it w
0000E0: 6F 75 6C 64 20 62 65 20 6F 6E 20 61 20 73 74 61 ould be on a sta
0000F0: 6E 64 61 72 64 20 43 50 43 2E 0D 0D 3D 3D 3D 3D ndard CPC...====
000100: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000110: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000120: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 0D 0D 43 6F 6E 74 72 6F 6C 6C 69 6E 67 20 ==..Controlling
000150: 74 68 65 20 47 61 74 65 20 41 72 72 61 79 0D 2D the Gate Array.-
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 54 68 65 20 67 ---------..The g
000180: 61 74 65 20 61 72 72 61 79 20 69 73 20 20 63 6F ate array is co
000190: 6E 74 72 6F 6C 6C 65 64 20 20 62 79 20 20 73 65 ntrolled by se
0001A0: 6E 64 69 6E 67 20 20 76 61 6C 75 65 73 20 20 74 nding values t
0001B0: 6F 20 70 6F 72 74 20 26 37 46 78 78 2E 20 54 68 o port &7Fxx. Th
0001C0: 65 0D 66 75 6E 63 74 69 6F 6E 20 77 68 69 63 68 e.function which
0001D0: 20 69 73 20 74 6F 20 62 65 20 70 65 72 66 6F 72 is to be perfor
0001E0: 6D 65 64 20 69 73 20 64 65 70 65 6E 64 61 6E 74 med is dependant
0001F0: 20 6F 6E 20 74 68 65 20 73 65 74 74 69 6E 67 73 on the settings
Size : 512 (Real : 512)
000000: 72 73 2E 20 54 68 69 73 0D 65 6E 61 62 6C 65 73 rs. This.enables
000010: 20 74 68 65 20 75 73 65 72 20 74 6F 20 68 61 76 the user to hav
000020: 65 20 66 6C 61 73 68 69 6E 67 20 20 63 6F 6C 6F e flashing colo
000030: 75 72 73 2E 20 20 49 66 20 74 68 65 20 75 73 65 urs. If the use
000040: 72 20 73 65 6C 65 63 74 73 20 61 20 6E 65 77 0D r selects a new.
000050: 63 6F 6C 6F 75 72 20 75 73 69 6E 67 20 74 68 65 colour using the
000060: 20 67 61 74 65 20 61 72 72 61 79 2C 20 74 68 65 gate array, the
000070: 20 6E 65 77 20 63 6F 6C 6F 75 72 20 77 69 6C 6C new colour will
000080: 20 66 6C 61 73 68 20 74 65 6D 70 6F 72 61 72 69 flash temporari
000090: 6C 79 20 61 6E 64 0D 74 68 65 6E 20 72 65 74 75 ly and.then retu
0000A0: 72 6E 20 74 6F 20 69 74 27 73 20 6F 72 69 67 69 rn to it's origi
0000B0: 6E 61 6C 20 63 6F 6C 6F 75 72 2E 20 20 54 68 69 nal colour. Thi
0000C0: 73 20 20 69 73 20 64 75 65 20 74 6F 20 74 68 65 s is due to the
0000D0: 20 66 69 72 6D 77 61 72 65 20 72 65 2D 0D 73 65 firmware re-.se
0000E0: 74 74 69 6E 67 20 74 68 65 20 63 6F 6C 6F 75 72 tting the colour
0000F0: 2E 20 57 68 65 6E 20 20 75 73 69 6E 67 20 20 74 . When using t
000100: 68 65 20 20 66 69 72 6D 77 61 72 65 2C 20 20 75 he firmware, u
000110: 73 65 20 20 69 74 27 73 20 72 6F 75 74 69 6E 65 se it's routine
000120: 73 20 74 6F 0D 73 65 6C 65 63 74 20 74 68 65 20 s to.select the
000130: 63 6F 6C 6F 75 72 2C 20 61 6E 64 20 74 68 65 20 colour, and the
000140: 63 6F 6C 6F 75 72 20 77 69 6C 6C 20 72 65 6D 61 colour will rema
000150: 69 6E 2E 0D 0D 53 75 6D 6D 61 72 79 3A 0D 0D 42 in...Summary:..B
000160: 69 74 20 37 3A 20 7D 20 47 61 74 65 20 41 72 72 it 7: } Gate Arr
000170: 61 79 20 66 75 6E 63 74 69 6F 6E 20 28 30 29 0D ay function (0).
000180: 42 69 74 20 36 3A 20 7D 20 20 20 20 20 20 20 20 Bit 6: }
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 29 (1)
0001A0: 0D 0D 42 69 74 20 35 3A 20 4E 6F 74 20 75 73 65 ..Bit 5: Not use
0001B0: 64 2E 0D 0D 42 69 74 20 34 3A 20 7D 20 43 6F 6C d...Bit 4: } Col
0001C0: 6F 75 72 20 6E 75 6D 62 65 72 20 28 66 72 6F 6D our number (from
0001D0: 20 68 61 72 64 77 61 72 65 20 63 6F 6C 6F 75 72 hardware colour
0001E0: 20 70 61 6C 65 74 74 65 29 0D 42 69 74 20 33 3A palette).Bit 3:
0001F0: 20 7D 0D 42 69 74 20 32 3A 20 7D 0D 42 69 74 20 }.Bit 2: }.Bit
Size : 512 (Real : 512)
000000: 20 6F 66 20 62 69 74 73 0D 37 20 61 6E 64 20 36 of bits.7 and 6
000010: 3B 20 74 68 65 20 72 65 6D 61 69 6E 69 6E 67 20 ; the remaining
000020: 62 69 74 73 20 61 72 65 20 64 61 74 61 20 75 73 bits are data us
000030: 65 64 20 62 79 20 74 68 65 20 61 70 70 72 6F 70 ed by the approp
000040: 69 61 74 65 20 66 75 6E 63 74 69 6F 6E 2E 0D 0D iate function...
000050: 41 6C 6C 20 74 68 65 73 65 20 72 65 67 69 73 74 All these regist
000060: 65 72 73 20 61 72 65 20 77 72 69 74 65 20 6F 6E ers are write on
000070: 6C 79 20 61 6E 64 20 63 61 6E 6E 6F 74 20 62 65 ly and cannot be
000080: 20 72 65 61 64 2E 0D 0D 41 20 62 72 69 65 66 20 read...A brief
000090: 64 65 73 63 72 69 70 74 69 6F 6E 20 6F 66 20 74 description of t
0000A0: 68 65 20 20 66 75 6E 63 74 69 6F 6E 73 20 20 61 he functions a
0000B0: 72 65 20 20 64 65 73 63 72 69 62 65 64 20 62 65 re described be
0000C0: 6C 6F 77 20 77 69 74 68 20 74 68 65 69 72 0D 73 low with their.s
0000D0: 65 74 74 69 6E 67 73 20 66 6F 72 20 62 69 74 20 ettings for bit
0000E0: 37 20 61 6E 64 20 36 2E 0D 0D 42 69 74 20 37 20 7 and 6...Bit 7
0000F0: 20 20 42 69 74 20 36 20 20 20 46 75 6E 63 74 69 Bit 6 Functi
000100: 6F 6E 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D on.-------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 30 20 -----------. 0
000120: 20 20 20 20 20 30 20 20 20 20 20 20 53 65 6C 65 0 Sele
000130: 63 74 20 77 68 69 63 68 20 70 65 6E 20 69 73 20 ct which pen is
000140: 74 6F 20 68 61 76 65 20 69 74 73 20 63 6F 6C 6F to have its colo
000150: 75 72 20 63 68 61 6E 67 65 64 2E 0D 20 20 30 20 ur changed.. 0
000160: 20 20 20 20 20 31 20 20 20 20 20 20 53 65 6C 65 1 Sele
000170: 63 74 20 63 6F 6C 6F 75 72 20 66 6F 72 20 63 75 ct colour for cu
000180: 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 74 65 64 rrently selected
000190: 20 70 65 6E 2E 20 28 66 72 6F 6D 0D 20 20 20 20 pen. (from.
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 68 61 72 64 hard
0001B0: 77 61 72 65 20 63 6F 6C 6F 75 72 20 70 61 6C 65 ware colour pale
0001C0: 74 74 65 29 0D 20 20 31 20 20 20 20 20 20 30 20 tte). 1 0
0001D0: 20 20 20 20 20 53 65 6C 65 63 74 20 73 63 72 65 Select scre
0001E0: 65 6E 20 6D 6F 64 65 20 61 6E 64 20 72 6F 6D 20 en mode and rom
0001F0: 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 2E 0D 20 configuration..
Size : 512 (Real : 512)
000000: 31 3A 20 7D 0D 42 69 74 20 30 3A 20 7D 0D 0D 3D 1: }.Bit 0: }..=
000010: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000030: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000040: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000050: 3D 3D 3D 3D 3D 0D 0D 53 65 6C 65 63 74 20 73 63 =====..Select sc
000060: 72 65 65 6E 20 6D 6F 64 65 20 61 6E 64 20 72 6F reen mode and ro
000070: 6D 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 0D m configuration.
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 54 68 69 73 20 69 --------..This i
0000B0: 73 20 61 20 67 65 6E 65 72 61 6C 20 70 75 72 70 s a general purp
0000C0: 6F 73 65 20 72 65 67 69 73 74 65 72 20 72 65 73 ose register res
0000D0: 70 6F 6E 73 69 62 6C 65 20 66 6F 72 20 74 68 65 ponsible for the
0000E0: 20 73 63 72 65 65 6E 20 6D 6F 64 65 20 61 6E 64 screen mode and
0000F0: 0D 74 68 65 20 72 6F 6D 20 63 6F 6E 66 69 67 75 .the rom configu
000100: 72 61 74 69 6F 6E 2E 0D 0D 53 63 72 65 65 6E 20 ration...Screen
000110: 6D 6F 64 65 20 73 65 6C 65 63 74 69 6F 6E 0D 2D mode selection.-
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 0D 0D 54 68 65 20 66 75 6E 63 74 69 ----..The functi
000140: 6F 6E 20 6F 66 20 62 69 74 73 20 20 31 20 20 61 on of bits 1 a
000150: 6E 64 20 20 30 20 20 69 73 20 20 74 6F 20 20 64 nd 0 is to d
000160: 65 66 69 6E 65 20 20 74 68 65 20 20 73 63 72 65 efine the scre
000170: 65 6E 20 6D 6F 64 65 2E 20 54 68 65 0D 73 65 74 en mode. The.set
000180: 74 69 6E 67 73 20 66 6F 72 20 62 69 74 73 20 31 tings for bits 1
000190: 20 61 6E 64 20 30 20 61 6E 64 20 20 74 68 65 20 and 0 and the
0001A0: 63 6F 72 72 65 73 70 6F 6E 64 69 6E 67 20 73 63 corresponding sc
0001B0: 72 65 65 6E 20 6D 6F 64 65 20 61 72 65 20 67 69 reen mode are gi
0001C0: 76 65 6E 0D 69 6E 20 74 68 65 20 74 61 62 6C 65 ven.in the table
0001D0: 20 62 65 6C 6F 77 2E 0D 0D 46 72 6F 6D 20 74 68 below...From th
0001E0: 65 20 20 63 6F 6D 62 69 6E 61 74 69 6F 6E 73 20 e combinations
0001F0: 20 70 6F 73 73 69 62 6C 65 2C 20 20 77 65 20 20 possible, we
Size : 512 (Real : 512)
000000: 20 31 20 20 20 20 20 20 31 20 20 20 20 20 20 53 1 1 S
000010: 65 6C 65 63 74 20 72 61 6D 20 63 6F 6E 66 69 67 elect ram config
000020: 75 72 61 74 69 6F 6E 20 28 62 61 6E 6B 20 73 77 uration (bank sw
000030: 69 74 63 68 69 6E 67 29 2E 0D 0D 3D 3D 3D 3D 3D itching)...=====
000040: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000050: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000060: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000070: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000080: 3D 0D 0D 50 65 6E 20 73 65 6C 65 63 74 69 6F 6E =..Pen selection
000090: 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D .-------------..
0000A0: 57 68 65 6E 20 62 69 74 20 37 20 61 6E 64 20 62 When bit 7 and b
0000B0: 69 74 20 36 20 61 72 65 20 73 65 74 20 20 74 6F it 6 are set to
0000C0: 20 30 2C 20 74 68 65 20 72 65 6D 61 69 6E 69 6E 0, the remainin
0000D0: 67 20 62 69 74 73 20 64 65 74 65 72 6D 69 6E 65 g bits determine
0000E0: 20 77 68 69 63 68 0D 70 65 6E 20 69 73 20 74 6F which.pen is to
0000F0: 20 68 61 76 65 20 69 74 73 20 63 6F 6C 6F 75 72 have its colour
000100: 20 63 68 61 6E 67 65 64 2E 20 42 69 74 73 20 20 changed. Bits
000110: 33 20 74 6F 20 30 20 64 65 66 69 6E 65 20 77 68 3 to 0 define wh
000120: 69 63 68 20 70 65 6E 20 69 73 20 74 6F 0D 62 65 ich pen is to.be
000130: 20 73 65 6C 65 63 74 65 64 2E 20 57 68 65 6E 20 selected. When
000140: 62 69 74 20 34 20 69 73 20 73 65 74 20 20 74 6F bit 4 is set to
000150: 20 20 31 2C 20 74 68 65 20 76 61 6C 75 65 20 63 1, the value c
000160: 6F 6E 74 61 69 6E 65 64 20 69 6E 20 62 69 74 73 ontained in bits
000170: 20 33 2D 30 0D 69 73 20 69 67 6E 6F 72 65 64 20 3-0.is ignored
000180: 61 6E 64 20 74 68 65 20 62 6F 72 64 65 72 20 69 and the border i
000190: 73 20 73 65 6C 65 63 74 65 64 2E 0D 0D 54 68 65 s selected...The
0001A0: 20 70 65 6E 20 72 65 6D 61 69 6E 73 20 73 65 6C pen remains sel
0001B0: 65 63 74 65 64 20 75 6E 74 69 6C 20 61 6E 6F 74 ected until anot
0001C0: 68 65 72 20 69 73 20 73 65 6C 65 63 74 65 64 2E her is selected.
0001D0: 0D 0D 45 61 63 68 20 6D 6F 64 65 20 68 61 73 20 ..Each mode has
0001E0: 61 20 66 69 78 65 64 20 6E 75 6D 62 65 72 20 6F a fixed number o
0001F0: 66 20 70 65 6E 73 2E 20 4D 6F 64 65 20 30 20 68 f pens. Mode 0 h
Size : 512 (Real : 512)
000000: 63 61 6E 20 20 73 65 65 20 20 74 68 61 74 20 20 can see that
000010: 34 20 20 6D 6F 64 65 73 20 63 61 6E 20 62 65 0D 4 modes can be.
000020: 64 65 66 69 6E 65 64 2C 20 61 6C 74 68 6F 75 67 defined, althoug
000030: 68 20 74 68 65 20 41 6D 73 74 72 61 64 20 6F 6E h the Amstrad on
000040: 6C 79 20 68 61 73 20 33 2E 20 4D 6F 64 65 20 33 ly has 3. Mode 3
000050: 20 69 73 20 73 69 6D 69 6C 61 72 20 74 6F 20 6D is similar to m
000060: 6F 64 65 20 30 2C 0D 62 65 63 61 75 73 65 20 69 ode 0,.because i
000070: 74 20 68 61 73 20 74 68 65 20 20 73 61 6D 65 20 t has the same
000080: 20 72 65 73 6F 6C 75 74 69 6F 6E 2C 20 20 62 75 resolution, bu
000090: 74 20 20 69 74 20 20 69 73 20 20 6C 69 6D 69 74 t it is limit
0000A0: 65 64 20 20 74 6F 20 6F 6E 6C 79 20 34 0D 63 6F ed to only 4.co
0000B0: 6C 6F 75 72 73 2E 20 54 68 69 73 20 6D 6F 64 65 lours. This mode
0000C0: 20 6D 61 79 20 62 65 20 64 69 66 66 65 72 65 6E may be differen
0000D0: 74 20 20 6F 6E 20 64 69 66 66 65 72 65 6E 74 20 t on different
0000E0: 76 65 72 73 69 6F 6E 73 20 6F 66 20 74 68 65 20 versions of the
0000F0: 47 61 74 65 0D 41 72 72 61 79 20 61 6E 64 20 6F Gate.Array and o
000100: 6E 20 64 69 66 66 65 72 65 6E 74 20 43 50 43 20 n different CPC
000110: 6D 6F 64 65 6C 73 2E 0D 0D 54 68 65 20 20 73 63 models...The sc
000120: 72 65 65 6E 20 20 6D 6F 64 65 20 20 69 73 20 20 reen mode is
000130: 63 68 61 6E 67 65 64 20 20 77 68 65 6E 20 61 20 changed when a
000140: 48 53 59 4E 43 20 6F 63 63 75 72 73 2E 0D 0D 42 HSYNC occurs...B
000150: 69 74 20 31 20 20 20 42 69 74 20 30 20 20 20 20 it 1 Bit 0
000160: 20 20 20 20 20 20 20 53 63 72 65 65 6E 20 6D 6F Screen mo
000170: 64 65 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D de.-------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 0D 20 20 30 20 20 20 20 20 20 ------. 0
0001A0: 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 0 M
0001B0: 6F 64 65 20 30 2C 31 36 30 78 32 30 30 2C 20 31 ode 0,160x200, 1
0001C0: 36 20 63 6F 6C 6F 75 72 73 2E 0D 20 20 30 20 20 6 colours.. 0
0001D0: 20 20 20 20 20 31 20 20 20 20 20 20 20 20 20 20 1
0001E0: 20 20 20 4D 6F 64 65 20 31 2C 33 32 30 78 32 30 Mode 1,320x20
0001F0: 30 2C 20 34 20 63 6F 6C 6F 75 72 73 2E 0D 20 20 0, 4 colours..
Size : 512 (Real : 512)
000000: 61 73 20 31 36 20 70 65 6E 73 2C 20 6D 6F 64 65 as 16 pens, mode
000010: 20 31 20 68 61 73 20 34 0D 70 65 6E 73 20 61 6E 1 has 4.pens an
000020: 64 20 6D 6F 64 65 20 32 20 68 61 73 20 32 20 70 d mode 2 has 2 p
000030: 65 6E 73 2E 0D 0D 53 75 6D 6D 61 72 79 0D 2D 2D ens...Summary.--
000040: 2D 2D 2D 2D 2D 0D 0D 42 69 74 20 37 3A 20 7D 20 -----..Bit 7: }
000050: 47 61 74 65 20 41 72 72 61 79 20 66 75 6E 63 74 Gate Array funct
000060: 69 6F 6E 20 28 30 29 0D 42 69 74 20 36 3A 20 7D ion (0).Bit 6: }
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 28 30 29 0D 0D 42 69 74 20 35 3A (0)..Bit 5:
000090: 20 4E 6F 74 20 75 73 65 64 0D 0D 42 69 74 20 34 Not used..Bit 4
0000A0: 3A 20 42 6F 72 64 65 72 20 73 65 6C 65 63 74 69 : Border selecti
0000B0: 6F 6E 0D 20 20 20 20 20 20 20 20 31 3D 53 65 6C on. 1=Sel
0000C0: 65 63 74 20 62 6F 72 64 65 72 2C 20 30 3D 75 73 ect border, 0=us
0000D0: 65 20 70 65 6E 20 76 61 6C 75 65 20 63 6F 6E 74 e pen value cont
0000E0: 61 69 6E 65 64 20 69 6E 20 62 69 74 73 20 33 2D ained in bits 3-
0000F0: 30 2E 0D 0D 42 69 74 20 33 3A 20 7D 20 50 65 6E 0...Bit 3: } Pen
000100: 20 6E 75 6D 62 65 72 0D 42 69 74 20 32 3A 20 7D number.Bit 2: }
000110: 0D 42 69 74 20 31 3A 20 7D 0D 42 69 74 20 30 3A .Bit 1: }.Bit 0:
000120: 20 7D 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D }..============
000130: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000150: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000160: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 43 6F 6C 6F ==========..Colo
000170: 75 72 20 73 65 6C 65 63 74 69 6F 6E 0D 2D 2D 2D ur selection.---
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 4F -------------..O
000190: 6E 63 65 20 74 68 65 20 70 65 6E 20 68 61 73 20 nce the pen has
0001A0: 62 65 65 6E 20 73 65 6C 65 63 74 65 64 20 74 68 been selected th
0001B0: 65 20 20 63 6F 6C 6F 75 72 20 63 61 6E 20 74 68 e colour can th
0001C0: 65 6E 20 62 65 20 63 68 61 6E 67 65 64 2E 20 42 en be changed. B
0001D0: 69 74 73 20 34 0D 74 6F 20 30 20 68 6F 6C 64 20 its 4.to 0 hold
0001E0: 74 68 65 20 63 6F 6C 6F 75 72 20 6E 75 6D 62 65 the colour numbe
0001F0: 72 20 28 66 72 6F 6D 20 74 68 65 20 68 61 72 64 r (from the hard
Size : 512 (Real : 512)
000000: 31 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 1 0
000010: 20 20 20 20 20 20 4D 6F 64 65 20 32 2C 36 34 30 Mode 2,640
000020: 78 32 30 30 2C 20 32 20 63 6F 6C 6F 75 72 73 0D x200, 2 colours.
000030: 20 20 31 20 20 20 20 20 20 20 31 20 20 20 20 20 1 1
000040: 20 20 20 20 20 20 20 20 4D 6F 64 65 20 33 2C 31 Mode 3,1
000050: 36 30 78 32 30 30 2C 20 34 20 63 6F 6C 6F 75 72 60x200, 4 colour
000060: 73 2E 0D 0D 0D 52 6F 6D 20 63 6F 6E 66 69 67 75 s....Rom configu
000070: 72 61 74 69 6F 6E 20 73 65 6C 65 63 74 69 6F 6E ration selection
000080: 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D .---------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 28 53 ------------..(S
0000A0: 65 65 20 74 68 65 20 6D 65 6D 6F 72 79 20 6D 61 ee the memory ma
0000B0: 70 20 66 6F 72 20 6D 6F 72 65 20 69 6E 66 6F 72 p for more infor
0000C0: 6D 61 74 69 6F 6E 29 0D 0D 42 69 74 20 32 20 20 mation)..Bit 2
0000D0: 69 73 20 20 75 73 65 64 20 20 74 6F 20 20 65 6E is used to en
0000E0: 61 62 6C 65 20 20 6F 72 20 20 64 69 73 61 62 6C able or disabl
0000F0: 65 20 20 74 68 65 20 20 6C 6F 77 65 72 20 20 72 e the lower r
000100: 6F 6D 2E 20 20 54 68 65 20 20 6C 6F 77 65 72 0D om. The lower.
000110: 72 6F 6D 20 6F 63 63 75 70 69 65 73 20 6D 65 6D rom occupies mem
000120: 6F 72 79 20 61 64 64 72 65 73 73 65 73 73 20 20 ory addressess
000130: 26 30 30 30 30 2D 26 33 66 66 66 2E 0D 0D 57 68 &0000-&3fff...Wh
000140: 65 6E 20 69 74 20 69 73 20 65 6E 61 62 6C 65 64 en it is enabled
000150: 2C 20 72 65 61 64 69 6E 67 20 66 72 6F 6D 20 20 , reading from
000160: 26 30 30 30 30 2D 26 33 46 46 46 20 20 77 69 6C &0000-&3FFF wil
000170: 6C 20 72 65 74 75 72 6E 20 64 61 74 61 20 69 6E l return data in
000180: 20 74 68 65 0D 72 6F 6D 2E 20 57 68 65 6E 20 61 the.rom. When a
000190: 20 76 61 6C 75 65 20 69 73 20 77 72 69 74 74 65 value is writte
0001A0: 6E 20 74 6F 20 26 30 30 30 30 2D 26 33 46 46 46 n to &0000-&3FFF
0001B0: 2C 20 69 74 20 77 69 6C 6C 20 62 65 20 77 72 69 , it will be wri
0001C0: 74 74 65 6E 20 74 6F 20 74 68 65 0D 72 61 6D 20 tten to the.ram
0001D0: 61 74 20 74 68 65 20 73 61 6D 65 20 61 64 64 72 at the same addr
0001E0: 65 73 73 20 61 73 20 74 68 65 20 72 6F 6D 2E 0D ess as the rom..
0001F0: 0D 57 68 65 6E 20 69 74 20 69 73 20 64 69 73 61 .When it is disa
Size : 512 (Real : 512)
000000: 78 65 64 27 20 77 69 74 68 20 74 68 65 20 6D 61 xed' with the ma
000010: 69 6E 20 72 61 6D 2E 0D 0D 54 68 65 20 43 50 55 in ram...The CPU
000020: 20 69 73 20 63 61 70 61 62 6C 65 20 6F 66 20 20 is capable of
000030: 61 63 63 65 73 73 69 6E 67 20 20 61 20 20 6D 61 accessing a ma
000040: 78 69 6D 75 6D 20 20 6F 66 20 20 36 34 4B 20 20 ximum of 64K
000050: 61 74 20 6F 6E 65 20 74 69 6D 65 2E 20 54 6F 0D at one time. To.
000060: 61 63 63 65 73 73 20 65 78 74 72 61 20 6D 65 6D access extra mem
000070: 6F 72 79 2C 20 62 6C 6F 63 6B 73 20 69 6E 20 74 ory, blocks in t
000080: 68 65 20 6D 61 69 6E 20 20 72 61 6D 20 28 62 61 he main ram (ba
000090: 6E 6B 20 31 29 20 63 61 6E 20 62 65 20 65 78 63 nk 1) can be exc
0000A0: 68 61 6E 67 65 64 0D 77 69 74 68 20 62 6C 6F 63 hanged.with bloc
0000B0: 6B 73 20 69 6E 20 74 68 65 20 65 78 74 72 61 20 ks in the extra
0000C0: 72 61 6D 2E 20 54 68 65 20 6E 75 6D 62 65 72 20 ram. The number
0000D0: 6F 66 20 62 6C 6F 63 6B 73 20 65 78 63 68 61 6E of blocks exchan
0000E0: 67 65 64 20 61 6E 64 20 74 68 65 0D 74 68 65 20 ged and the.the
0000F0: 62 6C 6F 63 6B 73 20 20 74 68 65 79 20 20 63 68 blocks they ch
000100: 61 6E 67 65 20 20 70 6C 61 63 65 20 20 77 69 74 ange place wit
000110: 68 20 20 63 68 61 6E 67 65 73 20 20 64 65 70 65 h changes depe
000120: 6E 64 69 6E 67 20 20 6F 6E 20 20 74 68 65 20 72 nding on the r
000130: 61 6D 0D 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E am.configuration
000140: 20 75 73 65 64 2E 0D 0D 52 61 6D 20 63 6F 6E 66 used...Ram conf
000150: 69 67 75 72 61 74 69 6F 6E 73 0D 2D 2D 2D 2D 2D igurations.-----
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 42 -------------..B
000170: 69 74 73 20 20 32 2D 30 20 20 73 65 6C 65 63 74 its 2-0 select
000180: 20 20 77 68 69 63 68 20 20 72 61 6D 20 20 63 6F which ram co
000190: 6E 66 69 67 75 72 61 74 69 6F 6E 20 20 20 69 73 nfiguration is
0001A0: 20 20 74 6F 20 20 62 65 20 20 75 73 65 64 2E 20 to be used.
0001B0: 20 57 68 65 6E 0D 63 6F 6E 66 69 67 75 72 61 74 When.configurat
0001C0: 69 6F 6E 20 30 20 69 73 20 73 65 6C 65 63 74 65 ion 0 is selecte
0001D0: 64 20 20 28 72 65 67 61 72 64 6C 65 73 73 20 20 d (regardless
0001E0: 6F 66 20 20 74 68 65 20 20 62 61 6E 6B 20 73 65 of the bank se
0001F0: 6C 65 63 74 65 64 29 2C 20 74 68 65 0D 43 50 55 lected), the.CPU
Size : 512 (Real : 512)
000000: 62 6C 65 64 2C 20 64 61 74 61 20 72 65 61 64 20 bled, data read
000010: 20 66 72 6F 6D 20 20 26 30 30 30 30 2D 26 33 46 from &0000-&3F
000020: 46 46 20 77 69 6C 6C 20 72 65 74 75 72 6E 20 74 FF will return t
000030: 68 65 20 64 61 74 61 0D 69 6E 20 74 68 65 20 72 he data.in the r
000040: 61 6D 2E 0D 0D 53 69 6D 69 6C 61 72 6C 79 2C 20 am...Similarly,
000050: 62 69 74 20 33 20 63 6F 6E 74 72 6F 6C 73 20 65 bit 3 controls e
000060: 6E 61 62 6C 69 6E 67 20 6F 72 20 64 69 73 61 62 nabling or disab
000070: 6C 69 6E 67 20 6F 66 20 74 68 65 20 75 70 70 65 ling of the uppe
000080: 72 20 72 6F 6D 2E 0D 0D 54 68 65 20 75 70 70 65 r rom...The uppe
000090: 72 20 72 6F 6D 20 72 65 73 69 64 65 73 20 69 6E r rom resides in
0000A0: 20 6D 65 6D 6F 72 79 20 20 61 64 64 72 65 73 73 memory address
0000B0: 65 73 73 20 26 43 30 30 30 2D 26 46 46 46 46 2E ess &C000-&FFFF.
0000C0: 20 54 68 65 20 75 70 70 65 72 20 72 6F 6D 0D 63 The upper rom.c
0000D0: 61 6E 20 62 65 20 62 61 73 69 63 20 6F 72 20 61 an be basic or a
0000E0: 6E 79 20 6F 74 68 65 72 20 20 65 78 74 72 61 20 ny other extra
0000F0: 20 65 78 70 61 6E 73 69 6F 6E 20 20 72 6F 6D 73 expansion roms
000100: 20 77 68 69 63 68 20 6D 61 79 20 62 65 20 70 6C which may be pl
000110: 75 67 67 65 64 0D 69 6E 74 6F 20 61 6E 20 65 78 ugged.into an ex
000120: 70 61 6E 73 69 6F 6E 20 62 6F 61 72 64 2E 20 54 pansion board. T
000130: 68 65 20 75 70 70 65 72 20 72 6F 6D 20 20 69 73 he upper rom is
000140: 20 73 65 6C 65 63 74 65 64 20 62 79 20 77 72 69 selected by wri
000150: 74 69 6E 67 20 74 68 65 20 72 6F 6D 0D 6E 75 6D ting the rom.num
000160: 62 65 72 20 74 6F 20 70 6F 72 74 20 26 44 46 78 ber to port &DFx
000170: 78 2E 20 28 53 65 65 20 75 70 70 65 72 20 72 6F x. (See upper ro
000180: 6D 20 73 65 6C 65 63 74 69 6F 6E 20 66 6F 72 20 m selection for
000190: 6D 6F 72 65 20 69 6E 66 6F 72 6D 61 74 69 6F 6E more information
0001A0: 29 2E 0D 0D 57 68 65 6E 20 74 68 65 20 75 70 70 )...When the upp
0001B0: 65 72 20 72 6F 6D 20 69 73 20 20 65 6E 61 62 6C er rom is enabl
0001C0: 65 64 2C 20 20 72 65 61 64 69 6E 67 20 66 72 6F ed, reading fro
0001D0: 6D 20 26 63 30 30 30 2D 26 66 66 66 66 2C 20 77 m &c000-&ffff, w
0001E0: 69 6C 6C 20 72 65 74 75 72 6E 0D 64 61 74 61 20 ill return.data
0001F0: 69 6E 20 74 68 65 20 72 6F 6D 2E 20 20 57 68 65 in the rom. Whe
Size : 512 (Real : 512)
000000: 20 77 69 6C 6C 20 6F 6E 6C 79 20 61 63 63 65 73 will only acces
000010: 73 20 74 68 65 20 20 6D 61 69 6E 20 20 72 61 6D s the main ram
000020: 2E 20 20 57 68 65 6E 20 63 6F 6E 66 69 67 75 72 . When configur
000030: 61 74 69 6F 6E 20 32 20 69 73 20 73 65 6C 65 63 ation 2 is selec
000040: 74 65 64 0D 74 68 65 20 43 50 55 20 77 69 6C 6C ted.the CPU will
000050: 20 6F 6E 6C 79 20 61 63 63 65 73 73 20 74 68 65 only access the
000060: 20 62 61 6E 6B 20 73 65 6C 65 63 74 65 64 2E 0D bank selected..
000070: 0D 49 6E 20 74 68 65 20 74 61 62 6C 65 20 61 62 .In the table ab
000080: 6F 76 65 2C 20 30 2D 33 20 61 72 65 20 74 68 65 ove, 0-3 are the
000090: 20 20 62 6C 6F 63 6B 73 20 20 69 6E 20 74 68 65 blocks in the
0000A0: 20 6D 61 69 6E 20 72 61 6D 20 28 62 61 6E 6B 20 main ram (bank
0000B0: 31 29 2C 20 61 6E 64 0D 34 2D 37 20 61 72 65 20 1), and.4-7 are
0000C0: 74 68 65 20 62 6C 6F 63 6B 73 20 6F 66 20 20 74 the blocks of t
0000D0: 68 65 20 20 73 65 6C 65 63 74 65 64 20 20 62 61 he selected ba
0000E0: 6E 6B 2C 20 20 61 73 20 74 68 65 79 20 77 6F 75 nk, as they wou
0000F0: 6C 64 20 6E 6F 72 6D 61 6C 6C 79 20 62 65 0D 61 ld normally be.a
000100: 72 72 61 6E 67 65 64 20 73 68 6F 77 6E 20 62 65 rranged shown be
000110: 6C 6F 77 2E 20 54 68 65 69 72 20 6E 65 77 20 20 low. Their new
000120: 70 6F 73 69 74 69 6F 6E 2C 20 20 69 73 20 74 68 position, is th
000130: 65 20 70 6F 73 69 74 69 6F 6E 20 74 68 65 79 20 e position they
000140: 77 6F 75 6C 64 0D 74 61 6B 65 20 69 66 20 74 68 would.take if th
000150: 61 74 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E at configuration
000160: 20 77 61 73 20 75 73 65 64 2E 0D 0D 49 74 20 69 was used...It i
000170: 73 20 6E 6F 74 20 61 64 76 69 73 65 61 62 6C 65 s not adviseable
000180: 20 20 74 6F 20 20 75 73 65 20 20 63 6F 6E 66 69 to use confi
000190: 67 75 72 61 74 69 6F 6E 20 20 32 20 20 77 68 65 guration 2 whe
0001A0: 6E 20 20 74 68 65 20 66 69 72 6D 77 61 72 65 20 n the firmware
0001B0: 69 73 0D 72 75 6E 6E 69 6E 67 2C 20 6F 72 20 74 is.running, or t
0001C0: 68 65 20 63 6F 6D 70 75 74 65 72 20 77 69 6C 6C he computer will
0001D0: 20 63 72 61 73 68 20 61 6E 64 20 79 6F 75 20 77 crash and you w
0001E0: 69 6C 6C 20 6C 6F 73 65 20 76 61 6C 75 61 62 6C ill lose valuabl
0001F0: 65 20 64 61 74 61 2E 0D 0D 4E 4F 54 45 3A 20 4E e data...NOTE: N
Size : 512 (Real : 512)
000000: 6E 20 20 64 61 74 61 20 20 69 73 20 20 77 72 69 n data is wri
000010: 74 74 65 6E 20 20 74 6F 20 20 26 63 30 30 30 2D tten to &c000-
000020: 26 46 46 46 46 2C 20 69 74 20 77 69 6C 6C 20 62 &FFFF, it will b
000030: 65 0D 77 72 69 74 74 65 6E 20 74 6F 20 74 68 65 e.written to the
000040: 20 72 61 6D 20 61 74 20 74 68 65 20 73 61 6D 65 ram at the same
000050: 20 61 64 64 72 65 73 73 20 61 73 20 74 68 65 20 address as the
000060: 72 6F 6D 2E 0D 0D 57 68 65 6E 20 74 68 65 20 75 rom...When the u
000070: 70 70 65 72 20 72 6F 6D 20 69 73 20 64 69 73 61 pper rom is disa
000080: 62 6C 65 64 2C 20 61 6E 64 20 20 64 61 74 61 20 bled, and data
000090: 69 73 20 72 65 61 64 20 66 72 6F 6D 20 26 63 30 is read from &c0
0000A0: 30 30 2D 26 66 66 66 66 20 74 68 65 0D 64 61 74 00-&ffff the.dat
0000B0: 61 20 72 65 74 75 72 6E 65 64 20 77 69 6C 6C 20 a returned will
0000C0: 62 65 20 74 68 65 20 64 61 74 61 20 69 6E 20 74 be the data in t
0000D0: 68 65 20 72 61 6D 2E 0D 0D 42 69 74 20 34 20 63 he ram...Bit 4 c
0000E0: 6F 6E 74 72 6F 6C 73 20 20 74 68 65 20 20 43 50 ontrols the CP
0000F0: 55 20 20 69 6E 74 65 72 72 75 70 74 73 2E 20 20 U interrupts.
000100: 41 20 20 43 50 55 20 20 69 6E 74 65 72 72 75 70 A CPU interrup
000110: 74 20 20 6F 63 63 75 72 73 20 65 76 65 72 79 0D t occurs every.
000120: 33 30 30 74 68 20 6F 66 20 61 20 73 65 63 6F 6E 300th of a secon
000130: 64 2E 20 57 68 65 6E 20 61 6E 20 20 69 6E 74 65 d. When an inte
000140: 72 72 75 70 74 20 20 6F 63 63 75 72 73 2C 20 74 rrupt occurs, t
000150: 68 65 20 43 50 55 20 73 74 6F 70 73 20 65 78 65 he CPU stops exe
000160: 63 75 74 69 6E 67 0D 74 68 65 20 63 75 72 72 65 cuting.the curre
000170: 6E 74 20 70 72 6F 67 72 61 6D 2C 20 20 61 6E 64 nt program, and
000180: 20 20 65 78 65 63 75 74 65 73 20 20 61 6E 20 20 executes an
000190: 69 6E 74 65 72 72 75 70 74 20 20 70 72 6F 67 72 interrupt progr
0001A0: 61 6D 2E 20 20 57 68 65 6E 20 74 68 65 0D 69 6E am. When the.in
0001B0: 74 65 72 72 75 70 74 20 70 72 6F 67 72 61 6D 20 terrupt program
0001C0: 20 68 61 73 20 20 62 65 65 6E 20 20 63 6F 6D 70 has been comp
0001D0: 6C 65 74 65 64 2C 20 20 69 74 20 20 72 65 74 75 leted, it retu
0001E0: 72 6E 73 20 20 74 6F 20 20 74 68 65 20 63 75 72 rns to the cur
0001F0: 72 65 6E 74 0D 70 72 6F 67 72 61 6D 2E 20 28 53 rent.program. (S
Size : 512 (Real : 512)
000000: 6F 72 6D 61 6C 6C 79 20 74 68 65 20 20 43 50 43 ormally the CPC
000010: 20 20 72 75 6E 73 20 20 69 6E 20 20 72 61 6D 20 runs in ram
000020: 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 20 configuration
000030: 30 20 20 28 41 4D 53 44 4F 53 29 20 61 6E 64 0D 0 (AMSDOS) and.
000040: 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 31 20 configuration 1
000050: 28 43 50 2F 4D 29 2E 0D 0D 0D 4E 6F 72 6D 61 6C (CP/M)....Normal
000060: 20 61 72 72 61 6E 67 65 6D 65 6E 74 20 6F 66 20 arrangement of
000070: 62 6C 6F 63 6B 73 3A 0D 0D 28 57 69 74 68 6F 75 blocks:..(Withou
000080: 74 20 61 6E 79 20 72 61 6D 20 63 6F 6E 66 69 67 t any ram config
000090: 75 72 61 74 69 6F 6E 20 73 65 6C 65 63 74 65 64 uration selected
0000A0: 29 2E 0D 0D 20 20 20 20 20 20 20 20 4D 61 69 6E )... Main
0000B0: 20 52 61 6D 20 20 20 20 20 20 20 20 53 65 6C 65 Ram Sele
0000C0: 63 74 65 64 20 62 61 6E 6B 0D 20 20 20 20 20 20 cted bank.
0000D0: 20 20 28 62 61 6E 6B 20 31 29 0D 0D 26 46 46 46 (bank 1)..&FFF
0000E0: 46 20 20 20 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D F +-----------
0000F0: 2D 2D 2D 2D 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----+-----------
000100: 2D 2D 2D 2D 2B 0D 20 20 20 20 20 20 20 20 7C 20 ----+. |
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 |
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D |.
000130: 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 |
000140: 33 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 3 |
000150: 37 20 20 20 20 20 20 20 7C 0D 20 20 20 20 20 20 7 |.
000160: 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000170: 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000180: 20 20 7C 0D 26 43 30 30 30 20 20 20 2B 2D 2D 2D |.&C000 +---
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B 2D 2D 2D ------------+---
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B 0D 20 20 ------------+.
0001B0: 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 |
0001C0: 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 |
0001D0: 20 20 20 20 20 20 7C 0D 20 20 20 20 20 20 20 20 |.
0001E0: 7C 20 20 20 20 20 20 20 32 20 20 20 20 20 20 20 | 2
0001F0: 7C 20 20 20 20 20 20 20 36 20 20 20 20 20 20 20 | 6
Size : 512 (Real : 512)
000000: 65 65 20 69 6E 74 65 72 72 75 70 74 73 20 66 6F ee interrupts fo
000010: 72 20 6D 6F 72 65 20 69 6E 66 6F 72 6D 61 74 69 r more informati
000020: 6F 6E 29 2E 0D 0D 42 69 74 20 34 20 69 73 20 75 on)...Bit 4 is u
000030: 73 65 64 20 74 6F 20 64 65 74 65 72 6D 69 6E 65 sed to determine
000040: 20 77 68 65 74 68 65 72 20 43 50 55 20 69 6E 74 whether CPU int
000050: 65 72 72 75 70 74 73 20 61 72 65 20 61 6C 6C 6F errupts are allo
000060: 77 65 64 2E 0D 0D 57 68 65 6E 20 74 68 69 73 20 wed...When this
000070: 62 69 74 20 20 69 73 20 20 73 65 74 20 20 74 6F bit is set to
000080: 20 20 31 2C 20 20 69 74 20 20 70 72 65 76 65 6E 1, it preven
000090: 74 73 20 20 74 68 65 20 20 6E 65 78 74 20 69 6E ts the next in
0000A0: 74 65 72 72 75 70 74 20 66 72 6F 6D 0D 6F 63 63 terrupt from.occ
0000B0: 75 72 69 6E 67 2E 0D 0D 57 68 65 6E 20 74 68 69 uring...When thi
0000C0: 73 20 62 69 74 20 69 73 20 73 65 74 20 74 6F 20 s bit is set to
0000D0: 30 2C 20 74 68 65 20 6E 65 78 74 20 69 6E 74 65 0, the next inte
0000E0: 72 72 75 70 74 20 69 73 20 65 6E 61 62 6C 65 64 rrupt is enabled
0000F0: 2E 0D 0D 53 75 6D 6D 61 72 79 3A 0D 0D 42 69 74 ...Summary:..Bit
000100: 20 37 3A 20 7D 20 47 61 74 65 20 41 72 72 61 79 7: } Gate Array
000110: 20 66 75 6E 63 74 69 6F 6E 20 28 31 29 0D 42 69 function (1).Bi
000120: 74 20 36 3A 20 7D 20 20 20 20 20 20 20 20 20 20 t 6: }
000130: 20 20 20 20 20 20 20 20 20 20 20 28 30 29 0D 0D (0)..
000140: 42 69 74 20 35 3A 20 4E 6F 74 20 75 73 65 64 2E Bit 5: Not used.
000150: 0D 0D 42 69 74 20 34 3A 20 43 50 55 20 49 6E 74 ..Bit 4: CPU Int
000160: 65 72 72 75 70 74 20 65 6E 61 62 6C 65 2F 64 69 errupt enable/di
000170: 73 61 62 6C 65 0D 20 20 20 20 20 20 20 31 3A 64 sable. 1:d
000180: 69 73 61 62 6C 65 20 6E 65 78 74 20 69 6E 74 65 isable next inte
000190: 72 72 75 70 74 2C 20 30 3A 65 6E 61 62 6C 65 20 rrupt, 0:enable
0001A0: 6E 65 78 74 20 69 6E 74 65 72 72 75 70 74 0D 0D next interrupt..
0001B0: 42 69 74 20 33 3A 20 55 70 70 65 72 20 72 6F 6D Bit 3: Upper rom
0001C0: 20 65 6E 61 62 6C 65 2F 64 69 73 61 62 6C 65 2E enable/disable.
0001D0: 20 28 45 78 70 61 6E 73 69 6F 6E 20 72 6F 6D 73 (Expansion roms
0001E0: 29 0D 20 20 20 20 20 20 20 31 3A 64 69 73 61 62 ). 1:disab
0001F0: 6C 65 20 75 70 70 65 72 20 72 6F 6D 2C 20 30 3A le upper rom, 0:
Size : 512 (Real : 512)
000000: 7C 0D 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 |. |
000010: 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 |
000020: 20 20 20 20 20 20 20 20 20 20 7C 0D 26 38 30 30 |.&800
000030: 30 20 20 20 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0 +-----------
000040: 2D 2D 2D 2D 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----+-----------
000050: 2D 2D 2D 2D 2B 0D 20 20 20 20 20 20 20 20 7C 20 ----+. |
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 |
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D |.
000080: 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 |
000090: 31 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 1 |
0000A0: 35 20 20 20 20 20 20 20 7C 0D 20 20 20 20 20 20 5 |.
0000B0: 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 |
0000C0: 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 |
0000D0: 20 20 7C 0D 26 34 30 30 30 20 20 20 2B 2D 2D 2D |.&4000 +---
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B 2D 2D 2D ------------+---
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B 0D 20 20 ------------+.
000100: 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 |
000110: 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 |
000120: 20 20 20 20 20 20 7C 0D 20 20 20 20 20 20 20 20 |.
000130: 7C 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 | 0
000140: 7C 20 20 20 20 20 20 20 34 20 20 20 20 20 20 20 | 4
000150: 7C 0D 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 |. |
000160: 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 |
000170: 20 20 20 20 20 20 20 20 20 20 7C 0D 26 30 30 30 |.&000
000180: 30 20 20 20 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0 +-----------
000190: 2D 2D 2D 2D 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----+-----------
0001A0: 2D 2D 2D 2D 2B 0D 0D 0D 42 69 74 20 32 20 20 20 ----+...Bit 2
0001B0: 42 69 74 20 31 20 20 20 42 69 74 20 30 20 20 20 Bit 1 Bit 0
0001C0: 43 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 6E 75 Configuration nu
0001D0: 6D 62 65 72 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D mber.-----------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 65 6E 61 62 6C 65 20 75 70 70 65 72 20 72 6F 6D enable upper rom
000010: 0D 0D 42 69 74 20 32 3A 20 4C 6F 77 65 72 20 72 ..Bit 2: Lower r
000020: 6F 6D 20 65 6E 61 62 6C 65 2F 64 69 73 61 62 6C om enable/disabl
000030: 65 2E 20 28 4F 70 65 72 61 74 69 6E 67 20 53 79 e. (Operating Sy
000040: 73 74 65 6D 20 72 6F 6D 29 0D 20 20 20 20 20 20 stem rom).
000050: 20 31 3A 64 69 73 61 62 6C 65 20 6C 6F 77 65 72 1:disable lower
000060: 20 72 6F 6D 2C 20 30 3A 65 6E 61 62 6C 65 20 6C rom, 0:enable l
000070: 6F 77 65 72 20 72 6F 6D 0D 0D 42 69 74 20 31 3A ower rom..Bit 1:
000080: 20 7D 20 53 63 72 65 65 6E 20 4D 6F 64 65 0D 42 } Screen Mode.B
000090: 69 74 20 30 3A 20 7D 0D 0D 3D 3D 3D 3D 3D 3D 3D it 0: }..=======
0000A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D ===============.
0000E0: 0D 53 65 6C 65 63 74 20 72 61 6D 20 63 6F 6E 66 .Select ram conf
0000F0: 69 67 75 72 61 74 69 6F 6E 0D 2D 2D 2D 2D 2D 2D iguration.------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000110: 2D 2D 0D 0D 54 68 69 73 20 72 65 67 69 73 74 65 --..This registe
000120: 72 20 69 73 20 75 73 65 64 20 74 6F 20 20 73 65 r is used to se
000130: 6C 65 63 74 20 20 74 68 65 20 20 72 61 6D 20 20 lect the ram
000140: 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 2E 0D 0D configuration...
000150: 54 68 65 20 72 61 6D 20 69 73 20 73 70 6C 69 74 The ram is split
000160: 20 69 6E 74 6F 20 62 61 6E 6B 73 20 6F 66 20 36 into banks of 6
000170: 34 4B 2E 20 20 45 61 63 68 20 6F 66 20 74 68 65 4K. Each of the
000180: 73 65 20 62 61 6E 6B 73 20 69 73 20 73 70 6C 69 se banks is spli
000190: 74 20 69 6E 74 6F 0D 62 6C 6F 63 6B 73 20 6F 66 t into.blocks of
0001A0: 20 31 36 4B 2E 20 55 73 69 6E 67 20 74 68 69 73 16K. Using this
0001B0: 20 20 72 65 67 69 73 74 65 72 2C 20 20 74 68 65 register, the
0001C0: 20 20 75 73 65 72 20 20 63 61 6E 20 73 65 6C 65 user can sele
0001D0: 63 74 20 77 68 69 63 68 20 62 61 6E 6B 0D 74 68 ct which bank.th
0001E0: 65 79 20 77 69 73 68 20 74 6F 20 75 73 65 20 61 ey wish to use a
0001F0: 6E 64 20 68 6F 77 20 69 74 20 69 73 20 27 6D 69 nd how it is 'mi
Size : 512 (Real : 512)
000000: 2D 0D 30 20 20 20 20 20 20 20 30 20 20 20 20 20 -.0 0
000010: 20 20 30 20 20 20 20 20 20 20 30 0D 30 20 20 20 0 0.0
000020: 20 20 20 20 30 20 20 20 20 20 20 20 31 20 20 20 0 1
000030: 20 20 20 20 31 0D 30 20 20 20 20 20 20 20 31 20 1.0 1
000040: 20 20 20 20 20 20 30 20 20 20 20 20 20 20 32 0D 0 2.
000050: 30 20 20 20 20 20 20 20 31 20 20 20 20 20 20 20 0 1
000060: 31 20 20 20 20 20 20 20 33 0D 31 20 20 20 20 20 1 3.1
000070: 20 20 30 20 20 20 20 20 20 20 30 20 20 20 20 20 0 0
000080: 20 20 34 0D 31 20 20 20 20 20 20 20 30 20 20 20 4.1 0
000090: 20 20 20 20 31 20 20 20 20 20 20 20 35 0D 31 20 1 5.1
0000A0: 20 20 20 20 20 20 31 20 20 20 20 20 20 20 30 20 1 0
0000B0: 20 20 20 20 20 20 36 0D 31 20 20 20 20 20 20 20 6.1
0000C0: 31 20 20 20 20 20 20 20 31 20 20 20 20 20 20 20 1 1
0000D0: 37 0D 0D 0D 0D 4F 72 67 61 6E 69 7A 61 74 69 6F 7....Organizatio
0000E0: 6E 20 20 20 20 20 20 20 20 20 20 20 20 42 6C 6F n Blo
0000F0: 63 6B 20 61 63 63 65 73 73 65 64 20 61 74 20 6D ck accessed at m
000100: 65 6D 6F 72 79 20 61 64 64 72 65 73 73 0D 0D 20 emory address..
000110: 20 20 20 20 20 20 20 20 20 20 26 30 30 30 30 2D &0000-
000120: 26 33 46 46 46 20 20 20 20 20 26 34 30 30 30 2D &3FFF &4000-
000130: 26 37 66 66 66 20 20 20 20 20 26 38 30 30 30 2D &7fff &8000-
000140: 26 62 66 66 66 20 20 20 20 26 63 30 30 30 2D 26 &bfff &c000-&
000150: 66 66 66 66 0D 0D 20 20 20 20 20 30 20 20 20 20 ffff.. 0
000160: 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 0
000170: 20 20 20 20 20 20 31 20 20 20 20 20 20 20 20 20 1
000180: 20 20 20 20 20 20 32 20 20 20 20 20 20 20 20 20 2
000190: 20 20 20 20 20 20 33 0D 0D 20 20 20 20 20 31 20 3.. 1
0001A0: 20 20 20 20 20 20 20 20 20 30 20 20 20 20 20 20 0
0001B0: 20 20 20 20 20 20 20 20 20 31 20 20 20 20 20 20 1
0001C0: 20 20 20 20 20 20 20 20 20 32 20 20 20 20 20 20 2
0001D0: 20 20 20 20 20 20 20 20 20 37 0D 0D 20 20 20 20 7..
0001E0: 20 32 20 20 20 20 20 20 20 20 20 20 34 20 20 20 2 4
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 35 20 20 20 5
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 3B 47 61 74 65 20 ;Gate
000010: 61 72 72 61 79 20 70 6F 72 74 0D 4C 44 20 41 2C array port.LD A,
000020: 25 31 30 30 30 30 30 30 30 2B 25 30 30 30 30 31 %10000000+%00001
000030: 31 31 30 20 20 20 20 20 20 20 20 3B 4D 6F 64 65 110 ;Mode
000040: 20 20 61 6E 64 20 20 72 6F 6D 20 20 73 65 6C 65 and rom sele
000050: 63 74 69 6F 6E 20 20 28 61 6E 64 20 47 61 74 65 ction (and Gate
000060: 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 3B 41 72 72 61 79 20 66 75 6E 63 74 69 6F 6E ;Array function
000090: 29 0D 4F 55 54 20 28 43 29 2C 41 20 20 20 20 20 ).OUT (C),A
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 3B 53 65 6E 64 20 69 74 0D 52 45 54 0D 0D ;Send it.RET..
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000100: 3D 3D 3D 3D 3D 0D 0D 33 29 20 53 65 74 74 69 6E =====..3) Settin
000110: 67 20 74 68 65 20 72 61 6D 20 63 6F 6E 66 69 67 g the ram config
000120: 75 72 61 74 69 6F 6E 2C 0D 0D 53 65 74 74 69 6E uration,..Settin
000130: 67 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 20 g configuration
000140: 31 2E 0D 0D 4C 44 20 42 43 2C 26 37 46 30 30 20 1...LD BC,&7F00
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 3B 47 61 74 65 20 61 72 72 61 79 20 ;Gate array
000170: 70 6F 72 74 0D 4C 44 20 41 2C 25 31 31 30 30 30 port.LD A,%11000
000180: 30 30 30 2B 25 30 30 30 30 30 30 30 31 20 20 20 000+%00000001
000190: 20 20 20 20 20 3B 52 61 6D 20 20 63 6F 6E 66 69 ;Ram confi
0001A0: 67 75 72 61 74 69 6F 6E 20 20 28 61 6E 64 20 20 guration (and
0001B0: 47 61 74 65 20 41 72 72 61 79 0D 20 20 20 20 20 Gate Array.
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 20 20 20 20 20 20 20 3B 66 75 6E 63 ;func
0001E0: 74 69 6F 6E 29 0D 4F 55 54 20 28 43 29 2C 41 20 tion).OUT (C),A
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 36 20 20 20 6
000010: 20 20 20 20 20 20 20 20 20 20 20 20 37 0D 0D 20 7..
000020: 20 20 20 20 33 20 20 20 20 20 20 20 20 20 20 30 3 0
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 3
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 2
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37 7
000060: 0D 0D 20 20 20 20 20 34 20 20 20 20 20 20 20 20 .. 4
000070: 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 0
000080: 20 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 4
000090: 20 20 32 20 20 20 20 20 20 20 20 20 20 20 20 20 2
0000A0: 20 20 33 0D 0D 20 20 20 20 20 35 20 20 20 20 20 3.. 5
0000B0: 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 20 0
0000C0: 20 20 20 20 20 35 20 20 20 20 20 20 20 20 20 20 5
0000D0: 20 20 20 20 20 32 20 20 20 20 20 20 20 20 20 20 2
0000E0: 20 20 20 20 20 33 0D 0D 20 20 20 20 20 36 20 20 3.. 6
0000F0: 20 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 0
000100: 20 20 20 20 20 20 20 20 36 20 20 20 20 20 20 20 6
000110: 20 20 20 20 20 20 20 20 32 20 20 20 20 20 20 20 2
000120: 20 20 20 20 20 20 20 20 33 0D 0D 20 20 20 20 20 3..
000130: 37 20 20 20 20 20 20 20 20 20 20 30 20 20 20 20 7 0
000140: 20 20 20 20 20 20 20 20 20 20 20 37 20 20 20 20 7
000150: 20 20 20 20 20 20 20 20 20 20 20 32 20 20 20 20 2
000160: 20 20 20 20 20 20 20 20 20 20 20 33 0D 0D 42 61 3..Ba
000170: 6E 6B 20 73 65 6C 65 63 74 69 6F 6E 73 0D 2D 2D nk selections.--
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 42 -------------..B
000190: 69 74 73 20 35 2D 33 20 73 65 6C 65 63 74 20 74 its 5-3 select t
0001A0: 68 65 20 62 61 6E 6B 20 72 65 71 75 69 72 65 64 he bank required
0001B0: 20 61 73 20 73 68 6F 77 6E 20 69 6E 20 74 68 65 as shown in the
0001C0: 20 74 61 62 6C 65 20 62 65 6C 6F 77 2E 0D 0D 42 table below...B
0001D0: 69 74 20 35 20 20 20 42 69 74 20 34 20 20 20 42 it 5 Bit 4 B
0001E0: 69 74 20 33 20 20 20 20 20 20 20 20 20 20 20 42 it 3 B
0001F0: 61 6E 6B 20 53 65 6C 65 63 74 65 64 0D 2D 2D 2D ank Selected.---
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 3B 53 65 6E 64 20 69 74 0D 52 ;Send it.R
000010: 45 54 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ET..============
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000030: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000040: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000050: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 50 61 6C 65 ==========..Pale
000060: 74 74 65 20 63 6F 6E 76 65 72 73 69 6F 6E 20 63 tte conversion c
000070: 68 61 72 74 0D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D hart.-----------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 -------------..
000090: 20 46 69 72 6D 77 61 72 65 20 63 6F 6C 6F 75 72 Firmware colour
0000A0: 20 20 20 20 20 20 20 43 6F 6C 6F 75 72 20 20 20 Colour
0000B0: 20 20 20 20 20 20 20 48 61 72 64 77 61 72 65 20 Hardware
0000C0: 70 61 6C 65 74 74 65 20 20 20 20 51 75 69 63 6B palette Quick
0000D0: 0D 20 20 6E 75 6D 62 65 72 20 20 20 20 20 20 20 . number
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 6E 75 6D num
000100: 62 65 72 20 20 20 20 20 20 20 20 52 65 66 65 72 ber Refer
000110: 65 6E 63 65 0D 0D 20 20 20 20 20 30 20 20 20 20 ence.. 0
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 6C Bl
000130: 61 63 6B 20 20 20 20 20 20 20 20 20 20 20 20 20 ack
000140: 20 20 20 20 20 20 32 30 20 20 20 20 20 20 20 20 20
000150: 20 20 26 35 34 0D 20 20 20 20 20 31 20 20 20 20 &54. 1
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 6C Bl
000170: 75 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ue
000180: 20 20 20 20 20 20 34 20 20 20 20 20 20 20 20 20 4
000190: 20 20 26 34 34 0D 20 20 20 20 20 32 20 20 20 20 &44. 2
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 72 Br
0001B0: 69 67 68 74 20 42 6C 75 65 20 20 20 20 20 20 20 ight Blue
0001C0: 20 20 20 20 20 20 32 31 20 20 20 20 20 20 20 20 21
0001D0: 20 20 26 35 35 0D 20 20 20 20 20 33 20 20 20 20 &55. 3
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 Re
0001F0: 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 30 20 20 20 ----------. 0
000030: 20 20 20 20 30 20 20 20 20 20 20 20 30 20 20 20 0 0
000040: 20 20 20 20 20 20 20 20 20 20 20 42 61 6E 6B 20 Bank
000050: 32 0D 20 30 20 20 20 20 20 20 20 30 20 20 20 20 2. 0 0
000060: 20 20 20 31 20 20 20 20 20 20 20 20 20 20 20 20 1
000070: 20 20 42 61 6E 6B 20 33 0D 20 30 20 20 20 20 20 Bank 3. 0
000080: 20 20 31 20 20 20 20 20 20 20 30 20 20 20 20 20 1 0
000090: 20 20 20 20 20 20 20 20 20 42 61 6E 6B 20 34 0D Bank 4.
0000A0: 20 30 20 20 20 20 20 20 20 31 20 20 20 20 20 20 0 1
0000B0: 20 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1
0000C0: 42 61 6E 6B 20 35 0D 20 31 20 20 20 20 20 20 20 Bank 5. 1
0000D0: 30 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 0 0
0000E0: 20 20 20 20 20 20 20 42 61 6E 6B 20 36 0D 20 31 Bank 6. 1
0000F0: 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 31 0 1
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 61 Ba
000110: 6E 6B 20 37 0D 20 31 20 20 20 20 20 20 20 31 20 nk 7. 1 1
000120: 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 0
000130: 20 20 20 20 20 42 61 6E 6B 20 38 0D 20 31 20 20 Bank 8. 1
000140: 20 20 20 20 20 31 20 20 20 20 20 20 20 31 20 20 1 1
000150: 20 20 20 20 20 20 20 20 20 20 20 20 42 61 6E 6B Bank
000160: 20 39 0D 0D 4E 4F 54 45 3A 0D 0D 49 66 20 79 6F 9..NOTE:..If yo
000170: 75 20 68 61 76 65 20 36 34 6B 2C 20 61 6E 64 20 u have 64k, and
000180: 79 6F 75 20 61 74 74 65 6D 70 74 20 20 74 6F 20 you attempt to
000190: 75 73 65 20 61 20 62 61 6E 6B 20 61 6E 64 20 72 use a bank and r
0001A0: 61 6D 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E am configuration
0001B0: 2C 0D 74 68 65 72 65 20 77 69 6C 6C 20 62 65 20 ,.there will be
0001C0: 6E 6F 20 65 66 66 65 63 74 2E 20 20 69 2E 65 2E no effect. i.e.
0001D0: 20 20 74 68 65 20 20 61 72 72 61 6E 67 65 6D 65 the arrangeme
0001E0: 6E 74 20 20 6F 66 20 20 74 68 65 20 36 34 4B 20 nt of the 64K
0001F0: 77 69 6C 6C 20 6E 6F 74 0D 63 68 61 6E 67 65 2E will not.change.
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 32 38 20 20 20 20 20 20 20 20 28
000010: 20 20 26 35 43 0D 20 20 20 20 20 34 20 20 20 20 &5C. 4
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 61 Ma
000030: 67 65 6E 74 61 20 20 20 20 20 20 20 20 20 20 20 genta
000040: 20 20 20 20 20 20 32 34 20 20 20 20 20 20 20 20 24
000050: 20 20 26 35 38 0D 20 20 20 20 20 35 20 20 20 20 &58. 5
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 61 Ma
000070: 75 76 65 20 20 20 20 20 20 20 20 20 20 20 20 20 uve
000080: 20 20 20 20 20 20 32 39 20 20 20 20 20 20 20 20 29
000090: 20 20 26 35 44 0D 20 20 20 20 20 36 20 20 20 20 &5D. 6
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 72 Br
0000B0: 69 67 68 74 20 52 65 64 20 20 20 20 20 20 20 20 ight Red
0000C0: 20 20 20 20 20 20 31 32 20 20 20 20 20 20 20 20 12
0000D0: 20 20 26 34 43 0D 20 20 20 20 20 37 20 20 20 20 &4C. 7
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 75 Pu
0000F0: 72 70 6C 65 20 20 20 20 20 20 20 20 20 20 20 20 rple
000100: 20 20 20 20 20 20 35 20 20 20 20 20 20 20 20 20 5
000110: 20 20 26 34 35 0D 20 20 20 20 20 38 20 20 20 20 &45. 8
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 72 Br
000130: 69 67 68 74 20 4D 61 67 65 6E 74 61 20 20 20 20 ight Magenta
000140: 20 20 20 20 20 20 31 33 20 20 20 20 20 20 20 20 13
000150: 20 20 26 34 44 0D 20 20 20 20 20 39 20 20 20 20 &4D. 9
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 72 Gr
000170: 65 65 6E 20 20 20 20 20 20 20 20 20 20 20 20 20 een
000180: 20 20 20 20 20 20 32 32 20 20 20 20 20 20 20 20 22
000190: 20 20 26 35 36 0D 20 20 20 20 31 30 20 20 20 20 &56. 10
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 79 Cy
0001B0: 61 6E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 an
0001C0: 20 20 20 20 20 20 36 20 20 20 20 20 20 20 20 20 6
0001D0: 20 20 26 34 36 0D 20 20 20 20 31 31 20 20 20 20 &46. 11
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 6B Sk
0001F0: 79 20 42 6C 75 65 20 20 20 20 20 20 20 20 20 20 y Blue
Size : 512 (Real : 512)
000000: 0D 0D 49 66 20 79 6F 75 20 6F 6E 6C 79 20 68 61 ..If you only ha
000010: 76 65 20 31 32 38 6B 2C 20 72 65 67 61 72 64 6C ve 128k, regardl
000020: 65 73 73 20 6F 66 20 74 68 65 20 62 61 6E 6B 20 ess of the bank
000030: 79 6F 75 20 63 68 6F 6F 73 65 2C 20 62 61 6E 6B you choose, bank
000040: 20 32 0D 77 69 6C 6C 20 62 65 20 73 65 6C 65 63 2.will be selec
000050: 74 65 64 2E 0D 0D 49 66 20 79 6F 75 20 68 61 76 ted...If you hav
000060: 65 20 6D 6F 72 65 20 74 68 61 6E 20 31 32 38 4B e more than 128K
000070: 2C 20 79 6F 75 20 20 77 69 6C 6C 20 20 62 65 20 , you will be
000080: 20 61 62 6C 65 20 74 6F 20 63 68 6F 6F 73 65 20 able to choose
000090: 74 68 65 20 62 61 6E 6B 20 61 6E 64 0D 74 68 65 the bank and.the
0000A0: 20 72 61 6D 20 63 6F 6E 66 69 67 75 72 61 74 69 ram configurati
0000B0: 6F 6E 20 61 6E 64 20 69 74 20 77 69 6C 6C 20 61 on and it will a
0000C0: 72 72 61 6E 67 65 20 74 68 65 20 72 61 6D 20 63 rrange the ram c
0000D0: 6F 72 72 65 63 74 6C 79 2E 0D 0D 53 75 6D 6D 61 orrectly...Summa
0000E0: 72 79 3A 0D 0D 42 69 74 20 37 3A 7D 20 47 61 74 ry:..Bit 7:} Gat
0000F0: 65 20 41 72 72 61 79 20 46 75 6E 63 74 69 6F 6E e Array Function
000100: 20 28 31 29 0D 42 69 74 20 36 3A 7D 20 20 20 20 (1).Bit 6:}
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 28 31 29 0D 0D 42 69 74 20 35 3A 7D 20 42 61 (1)..Bit 5:} Ba
000130: 6E 6B 0D 42 69 74 20 34 3A 7D 0D 42 69 74 20 33 nk.Bit 4:}.Bit 3
000140: 3A 7D 0D 0D 42 69 74 20 32 3A 7D 20 52 61 6D 20 :}..Bit 2:} Ram
000150: 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 0D 42 69 configuration.Bi
000160: 74 20 31 3A 7D 0D 42 69 74 20 30 3A 7D 0D 0D 3D t 1:}.Bit 0:}..=
000170: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000180: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000190: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001B0: 3D 3D 3D 3D 3D 0D 0D 50 72 6F 67 72 61 6D 6D 69 =====..Programmi
0001C0: 6E 67 20 74 68 65 20 47 61 74 65 20 41 72 72 61 ng the Gate Arra
0001D0: 79 20 2D 20 45 78 61 6D 70 6C 65 73 0D 2D 2D 2D y - Examples.---
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 0D 0D 31 29 20 44 65 66 69 -------..1) Defi
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 32 33 20 20 20 20 20 20 20 20 23
000010: 20 20 26 35 37 0D 20 20 20 20 31 32 20 20 20 20 &57. 12
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 59 65 Ye
000030: 6C 6C 6F 77 20 20 20 20 20 20 20 20 20 20 20 20 llow
000040: 20 20 20 20 20 20 33 30 20 20 20 20 20 20 20 20 30
000050: 20 20 26 35 45 0D 20 20 20 20 31 33 20 20 20 20 &5E. 13
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 Wh
000070: 69 74 65 20 20 20 20 20 20 20 20 20 20 20 20 20 ite
000080: 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 0
000090: 20 20 26 34 30 0D 20 20 20 20 31 34 20 20 20 20 &40. 14
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 Pa
0000B0: 73 74 65 6C 20 42 6C 75 65 20 20 20 20 20 20 20 stel Blue
0000C0: 20 20 20 20 20 20 33 31 20 20 20 20 20 20 20 20 31
0000D0: 20 20 26 35 46 0D 20 20 20 20 31 35 20 20 20 20 &5F. 15
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4F 72 Or
0000F0: 61 6E 67 65 20 20 20 20 20 20 20 20 20 20 20 20 ange
000100: 20 20 20 20 20 20 31 34 20 20 20 20 20 20 20 20 14
000110: 20 20 26 34 45 0D 20 20 20 20 31 36 20 20 20 20 &4E. 16
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 69 Pi
000130: 6E 6B 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nk
000140: 20 20 20 20 20 20 37 20 20 20 20 20 20 20 20 20 7
000150: 20 20 26 34 37 0D 20 20 20 20 31 37 20 20 20 20 &47. 17
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 Pa
000170: 73 74 65 6C 20 4D 61 67 65 6E 74 61 20 20 20 20 stel Magenta
000180: 20 20 20 20 20 20 31 35 20 20 20 20 20 20 20 20 15
000190: 20 20 26 34 46 0D 20 20 20 20 31 38 20 20 20 20 &4F. 18
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 72 Br
0001B0: 69 67 68 74 20 47 72 65 65 6E 20 20 20 20 20 20 ight Green
0001C0: 20 20 20 20 20 20 31 38 20 20 20 20 20 20 20 20 18
0001D0: 20 20 26 35 32 0D 20 20 20 20 31 39 20 20 20 20 &52. 19
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 Se
0001F0: 61 20 47 72 65 65 6E 20 20 20 20 20 20 20 20 20 a Green
Size : 512 (Real : 512)
000000: 6E 69 6E 67 20 74 68 65 20 63 6F 6C 6F 75 72 73 ning the colours
000010: 2C 0D 0D 53 65 74 74 69 6E 67 20 70 65 6E 20 30 ,..Setting pen 0
000020: 20 74 6F 20 42 72 69 67 68 74 20 57 68 69 74 65 to Bright White
000030: 2E 0D 0D 4C 44 20 42 43 2C 26 37 46 30 30 20 20 ...LD BC,&7F00
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 3B 47 61 74 65 20 41 72 72 61 79 20 70 ;Gate Array p
000060: 6F 72 74 0D 4C 44 20 41 2C 25 30 30 30 30 30 30 ort.LD A,%000000
000070: 30 30 2B 30 20 20 20 20 20 20 20 20 20 20 20 20 00+0
000080: 20 20 20 20 3B 50 65 6E 20 6E 75 6D 62 65 72 20 ;Pen number
000090: 28 61 6E 64 20 47 61 74 65 20 41 72 72 61 79 20 (and Gate Array
0000A0: 66 75 6E 63 74 69 6F 6E 29 0D 4F 55 54 20 28 43 function).OUT (C
0000B0: 29 2C 41 20 20 20 20 20 20 20 20 20 20 20 20 20 ),A
0000C0: 20 20 20 20 20 20 20 20 20 20 3B 53 65 6E 64 20 ;Send
0000D0: 70 65 6E 20 6E 75 6D 62 65 72 0D 4C 44 20 41 2C pen number.LD A,
0000E0: 25 30 31 30 30 30 30 30 30 2B 31 31 20 20 20 20 %01000000+11
0000F0: 20 20 20 20 20 20 20 20 20 20 20 3B 50 65 6E 20 ;Pen
000100: 63 6F 6C 6F 75 72 20 28 61 6E 64 20 47 61 74 65 colour (and Gate
000110: 20 41 72 72 61 79 20 66 75 6E 63 74 69 6F 6E 29 Array function)
000120: 0D 4F 55 54 20 28 43 29 2C 41 20 20 20 20 20 20 .OUT (C),A
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 3B 53 65 6E 64 20 69 74 0D 52 45 54 0D 0D 3D ;Send it.RET..=
000150: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000160: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000170: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000180: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000190: 3D 3D 3D 3D 3D 0D 0D 32 29 20 53 65 74 74 69 6E =====..2) Settin
0001A0: 67 20 74 68 65 20 6D 6F 64 65 20 61 6E 64 20 72 g the mode and r
0001B0: 6F 6D 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E om configuration
0001C0: 2C 0D 0D 4D 6F 64 65 20 32 2C 20 75 70 70 65 72 ,..Mode 2, upper
0001D0: 20 61 6E 64 20 6C 6F 77 65 72 20 72 6F 6D 20 64 and lower rom d
0001E0: 69 73 61 62 6C 65 64 2E 0D 0D 4C 44 20 42 43 2C isabled...LD BC,
0001F0: 26 37 46 30 30 20 20 20 20 20 20 20 20 20 20 20 &7F00
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 32 20 20 20 20 20 20 20 20 20 2
000010: 20 20 26 34 32 0D 20 20 20 20 32 30 20 20 20 20 &42. 20
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 72 Br
000030: 69 67 68 74 20 43 79 61 6E 20 20 20 20 20 20 20 ight Cyan
000040: 20 20 20 20 20 20 31 39 20 20 20 20 20 20 20 20 19
000050: 20 20 26 35 33 0D 20 20 20 20 32 31 20 20 20 20 &53. 21
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4C 69 Li
000070: 6D 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me
000080: 20 20 20 20 20 20 32 36 20 20 20 20 20 20 20 20 26
000090: 20 20 26 35 41 0D 20 20 20 20 32 32 20 20 20 20 &5A. 22
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 Pa
0000B0: 73 74 65 6C 20 67 72 65 65 6E 20 20 20 20 20 20 stel green
0000C0: 20 20 20 20 20 20 32 35 20 20 20 20 20 20 20 20 25
0000D0: 20 20 26 35 39 0D 20 20 20 20 32 33 20 20 20 20 &59. 23
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 Pa
0000F0: 73 74 65 6C 20 43 79 61 6E 20 20 20 20 20 20 20 stel Cyan
000100: 20 20 20 20 20 20 32 37 20 20 20 20 20 20 20 20 27
000110: 20 20 26 35 42 0D 20 20 20 20 32 34 20 20 20 20 &5B. 24
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 72 Br
000130: 69 67 68 74 20 59 65 6C 6C 6F 77 20 20 20 20 20 ight Yellow
000140: 20 20 20 20 20 20 31 30 20 20 20 20 20 20 20 20 10
000150: 20 20 26 34 41 0D 20 20 20 20 32 35 20 20 20 20 &4A. 25
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 Pa
000170: 73 74 65 6C 20 59 65 6C 6C 6F 77 20 20 20 20 20 stel Yellow
000180: 20 20 20 20 20 20 33 20 20 20 20 20 20 20 20 20 3
000190: 20 20 26 34 33 0D 20 20 20 20 32 36 20 20 20 20 &43. 26
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 72 Br
0001B0: 69 67 68 74 20 57 68 69 74 65 20 20 20 20 20 20 ight White
0001C0: 20 20 20 20 20 20 31 31 20 20 20 20 20 20 20 20 11
0001D0: 20 20 26 34 42 0D 0D 54 68 69 73 20 63 68 61 72 &4B..This char
0001E0: 74 20 61 6C 73 6F 20 67 69 76 65 73 20 20 61 20 t also gives a
0001F0: 20 71 75 69 63 6B 20 20 72 65 66 65 72 65 6E 63 quick referenc
Size : 512 (Real : 512)
000000: 6E 61 74 65 0D 20 20 20 20 20 48 4C 20 3D 20 79 nate. HL = y
000010: 20 63 6F 6F 72 64 69 6E 61 74 65 0D 0D 20 20 20 coordinate..
000020: 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 46 Exit:.. AF
000030: 2C 42 43 2C 44 45 2C 48 4C 20 63 6F 72 72 75 70 ,BC,DE,HL corrup
000040: 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D t... Notes:.
000050: 0D 20 20 20 20 20 54 68 65 20 63 6F 6F 72 64 69 . The coordi
000060: 6E 61 74 65 20 69 73 20 72 65 6C 61 74 69 76 65 nate is relative
000070: 20 74 6F 20 74 68 65 20 6F 72 69 67 69 6E 2E 0D to the origin..
000080: 0D 20 20 20 20 20 54 68 65 20 70 6F 73 69 74 69 . The positi
000090: 6F 6E 20 63 61 6E 20 62 65 20 6F 75 74 73 69 64 on can be outsid
0000A0: 65 20 74 68 65 20 67 72 61 70 68 69 63 73 20 77 e the graphics w
0000B0: 69 6E 64 6F 77 2E 0D 20 20 20 20 20 54 68 65 20 indow.. The
0000C0: 67 72 61 70 68 69 63 20 56 44 55 20 70 6C 6F 74 graphic VDU plot
0000D0: 74 69 6E 67 20 74 65 73 74 69 6E 67 20 61 6E 64 ting testing and
0000E0: 20 20 64 72 61 77 69 6E 67 20 72 6F 75 74 69 6E drawing routin
0000F0: 65 73 20 61 72 65 20 73 65 74 20 74 6F 20 74 68 es are set to th
000100: 61 74 0D 20 20 20 20 20 70 6F 69 6E 74 2E 0D 0D at. point...
000110: 0D 0D 0D 0D 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D ...... -----
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 0D 0D 20 20 20 20 20 26 42 42 43 33 20 2D 20 47 .. &BBC3 - G
000170: 52 41 20 4D 4F 56 45 20 52 45 4C 41 54 49 56 45 RA MOVE RELATIVE
000180: 20 2D 20 4D 6F 76 65 20 74 6F 20 61 20 72 65 6C - Move to a rel
000190: 61 74 69 76 65 20 70 6F 73 69 74 69 6F 6E 0D 0D ative position..
0001A0: 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 Entry:..
0001B0: 20 20 44 45 20 3D 20 73 69 67 6E 65 64 20 58 20 DE = signed X
0001C0: 6F 66 66 73 65 74 0D 20 20 20 20 20 48 4C 20 3D offset. HL =
0001D0: 20 73 69 67 6E 65 64 20 59 20 6F 66 66 73 65 74 signed Y offset
0001E0: 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 .. Exit:..
0001F0: 20 20 20 41 46 2C 42 43 2C 44 45 2C 48 4C 20 63 AF,BC,DE,HL c
Size : 512 (Real : 512)
000000: 65 20 20 67 75 69 64 65 20 20 66 6F 72 20 70 72 e guide for pr
000010: 6F 67 72 61 6D 6D 69 6E 67 20 74 68 65 0D 63 6F ogramming the.co
000020: 6C 6F 75 72 73 2E 20 54 68 65 20 6E 75 6D 62 65 lours. The numbe
000030: 72 20 69 73 20 74 68 65 20 63 6F 6C 6F 75 72 20 r is the colour
000040: 20 6E 75 6D 62 65 72 20 20 77 68 69 63 68 20 63 number which c
000050: 61 6E 20 62 65 20 73 65 6E 74 20 64 69 72 65 63 an be sent direc
000060: 74 6C 79 2C 0D 6F 6E 63 65 20 74 68 65 20 70 65 tly,.once the pe
000070: 6E 20 68 61 73 20 62 65 65 6E 20 73 65 6C 65 63 n has been selec
000080: 74 65 64 2C 20 74 6F 20 67 65 74 20 74 68 65 20 ted, to get the
000090: 63 6F 6C 6F 75 72 20 77 61 6E 74 65 64 2E 0D 0D colour wanted...
0000A0: 45 78 61 6D 70 6C 65 3A 0D 0D 6C 64 20 62 63 2C Example:..ld bc,
0000B0: 26 37 66 30 30 2B 31 20 20 20 20 20 20 20 20 20 &7f00+1
0000C0: 20 20 3B 47 61 74 65 20 61 72 72 61 79 20 66 75 ;Gate array fu
0000D0: 6E 63 74 69 6F 6E 20 28 73 65 74 20 70 65 6E 29 nction (set pen)
0000E0: 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000F0: 20 20 20 20 20 20 20 20 20 3B 61 6E 64 20 70 65 ;and pe
000100: 6E 20 6E 75 6D 62 65 72 0D 6F 75 74 20 28 63 29 n number.out (c)
000110: 2C 63 0D 6C 64 20 62 63 2C 26 37 66 30 30 2B 26 ,c.ld bc,&7f00+&
000120: 34 31 20 20 20 20 20 20 20 20 20 3B 47 61 74 65 41 ;Gate
000130: 20 61 72 72 61 79 20 66 75 6E 63 74 69 6F 6E 20 array function
000140: 28 73 65 74 20 63 6F 6C 6F 75 72 29 0D 20 20 20 (set colour).
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 3B 61 6E 64 20 63 6F 6C 6F 75 72 ;and colour
000170: 20 6E 75 6D 62 65 72 0D 6F 75 74 20 28 63 29 2C number.out (c),
000180: 63 0D 72 65 74 0D 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D c.ret..=========
000190: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0001C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 1A =============...
0001D0: 66 6F 1A 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A fo..............
0001E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0001F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
Size : 512 (Real : 512)
000000: 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 2D 2D orrupt... --
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 42 43 36 20 ---.. &BBC6
000060: 2D 20 47 52 41 20 41 53 4B 20 43 55 52 53 4F 52 - GRA ASK CURSOR
000070: 20 2D 20 47 65 74 20 63 75 72 73 6F 72 20 70 6F - Get cursor po
000080: 73 69 74 69 6F 6E 0D 0D 20 20 20 20 20 45 6E 74 sition.. Ent
000090: 72 79 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D ry:.. None..
0000A0: 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 Exit:..
0000B0: 20 44 45 20 3D 20 58 20 63 6F 6F 72 64 69 6E 61 DE = X coordina
0000C0: 74 65 20 72 65 6C 61 74 69 76 65 20 74 6F 20 6F te relative to o
0000D0: 72 69 67 69 6E 0D 20 20 20 20 20 48 4C 20 3D 20 rigin. HL =
0000E0: 59 20 63 6F 6F 72 64 69 6E 61 74 65 20 72 65 6C Y coordinate rel
0000F0: 61 74 69 76 65 20 74 6F 20 6F 72 69 67 69 6E 0D ative to origin.
000100: 0D 20 20 20 20 20 41 46 20 63 6F 72 72 75 70 74 . AF corrupt
000110: 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D ... --------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 -------------..
000160: 20 20 20 20 26 42 42 43 39 20 2D 20 47 52 41 20 &BBC9 - GRA
000170: 53 45 54 20 4F 52 49 47 49 4E 20 2D 20 53 65 74 SET ORIGIN - Set
000180: 20 6F 72 69 67 69 6E 0D 0D 20 20 20 20 20 45 6E origin.. En
000190: 74 72 79 3A 0D 0D 20 20 20 20 20 44 45 20 3D 20 try:.. DE =
0001A0: 58 20 63 6F 6F 72 64 69 6E 61 74 65 20 72 65 6C X coordinate rel
0001B0: 61 74 69 76 65 20 74 6F 20 30 2C 30 0D 20 20 20 ative to 0,0.
0001C0: 20 20 48 4C 20 3D 20 59 20 63 6F 6F 72 64 69 6E HL = Y coordin
0001D0: 61 74 65 20 72 65 6C 61 74 69 76 65 20 74 6F 20 ate relative to
0001E0: 30 2C 30 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0,0.. Exit:.
0001F0: 0D 20 20 20 20 20 41 46 2C 42 43 2C 44 45 2C 48 . AF,BC,DE,H
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 L corrupt...
000010: 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 57 68 Notes:.. Wh
000020: 65 6E 20 74 68 65 20 73 63 72 65 65 6E 20 69 73 en the screen is
000030: 20 63 6C 65 61 72 65 64 20 77 69 74 68 20 53 43 cleared with SC
000040: 52 20 53 45 54 20 4D 4F 44 45 20 74 68 65 20 6F R SET MODE the o
000050: 72 69 67 69 6E 20 69 73 20 72 65 73 74 6F 72 65 rigin is restore
000060: 64 20 74 6F 0D 20 20 20 20 20 30 2C 30 2E 0D 0D d to. 0,0...
000070: 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -----------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 ----------..
0000C0: 20 26 42 42 43 43 20 2D 20 47 52 41 20 47 45 54 &BBCC - GRA GET
0000D0: 20 4F 52 49 47 49 4E 20 2D 20 47 65 74 20 6F 72 ORIGIN - Get or
0000E0: 69 67 69 6E 0D 0D 20 20 20 20 20 45 6E 74 72 79 igin.. Entry
0000F0: 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 20 :.. None..
000100: 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 44 Exit:.. D
000110: 45 20 3D 20 58 20 63 6F 6F 72 64 69 6E 61 74 65 E = X coordinate
000120: 20 6F 66 20 6F 72 69 67 69 6E 20 72 65 6C 61 74 of origin relat
000130: 69 76 65 20 74 6F 20 30 2C 30 0D 20 20 20 20 20 ive to 0,0.
000140: 48 4C 20 3D 20 59 20 63 6F 6F 72 64 69 6E 61 74 HL = Y coordinat
000150: 65 20 6F 66 20 6F 72 69 67 69 6E 20 72 65 6C 61 e of origin rela
000160: 74 69 76 65 20 74 6F 20 30 2C 30 0D 0D 20 20 20 tive to 0,0..
000170: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D --------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 0D 0D 0D 0D 0D 0D 0D 0D 0D -------.........
0001C0: 0D 0D 20 20 20 20 20 26 42 42 43 46 20 2D 20 47 .. &BBCF - G
0001D0: 52 41 20 57 49 4E 20 57 49 44 54 48 20 2D 20 53 RA WIN WIDTH - S
0001E0: 65 74 20 20 74 68 65 20 20 6C 65 66 74 20 61 6E et the left an
0001F0: 64 20 72 69 67 68 74 20 65 64 67 65 73 20 6F 66 d right edges of
Size : 512 (Real : 512)
000000: 1B 40 0D 0D 0D 20 20 20 20 20 26 42 42 42 41 20 .@... &BBBA
000010: 2D 20 47 52 41 20 49 4E 49 54 49 41 4C 49 53 45 - GRA INITIALISE
000020: 20 2D 20 49 6E 69 74 69 61 6C 69 73 65 20 47 72 - Initialise Gr
000030: 61 70 68 69 63 73 20 56 44 55 0D 0D 20 20 20 20 aphics VDU..
000040: 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 4E 6F Entry:.. No
000050: 6E 65 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D ne.. Exit:..
000060: 20 20 20 20 20 41 46 2C 42 43 2C 44 45 2C 48 4C AF,BC,DE,HL
000070: 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 corrupt...
000080: 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 Notes:.. The
000090: 20 67 72 61 70 68 69 63 20 69 6E 64 69 72 65 63 graphic indirec
0000A0: 74 69 6F 6E 73 20 61 72 65 20 73 65 74 20 74 6F tions are set to
0000B0: 20 74 68 65 69 72 20 64 65 66 61 75 6C 74 20 72 their default r
0000C0: 6F 75 74 69 6E 65 73 2E 0D 20 20 20 20 20 53 65 outines.. Se
0000D0: 74 20 67 72 61 70 68 69 63 20 70 61 70 65 72 20 t graphic paper
0000E0: 74 6F 20 69 6E 6B 20 30 0D 20 20 20 20 20 53 65 to ink 0. Se
0000F0: 74 20 67 72 61 70 68 69 63 20 70 65 6E 20 74 6F t graphic pen to
000100: 20 69 6E 6B 20 31 0D 20 20 20 20 20 53 65 74 20 ink 1. Set
000110: 6F 72 69 67 69 6E 20 74 6F 20 62 6F 74 74 6F 6D origin to bottom
000120: 20 63 6F 72 6E 65 72 20 6F 66 20 73 63 72 65 65 corner of scree
000130: 6E 0D 20 20 20 20 20 4D 6F 76 65 20 70 6F 73 69 n. Move posi
000140: 74 69 6F 6E 20 74 6F 20 6F 72 69 67 69 6E 0D 20 tion to origin.
000150: 20 20 20 20 54 68 65 20 67 72 61 70 68 69 63 73 The graphics
000160: 20 77 69 6E 64 6F 77 20 69 73 20 73 65 74 20 74 window is set t
000170: 6F 20 63 6F 76 65 72 20 74 68 65 20 77 68 6F 6C o cover the whol
000180: 65 20 73 63 72 65 65 6E 2E 0D 20 20 20 20 20 54 e screen.. T
000190: 68 65 20 77 72 69 74 65 20 6D 6F 64 65 20 69 73 he write mode is
0001A0: 20 73 65 74 20 74 6F 20 6F 70 61 71 75 65 2E 0D set to opaque..
0001B0: 20 20 20 20 20 54 68 65 20 6C 69 6E 65 20 6D 61 The line ma
0001C0: 73 6B 20 69 73 20 73 65 74 20 74 6F 20 26 46 46 sk is set to &FF
0001D0: 20 61 6E 64 20 74 68 65 20 66 69 72 73 74 20 70 and the first p
0001E0: 69 78 65 6C 20 6F 66 20 6C 69 6E 65 73 20 61 72 ixel of lines ar
0001F0: 65 20 70 6C 6F 74 74 65 64 2E 0D 20 20 20 20 20 e plotted..
Size : 512 (Real : 512)
000000: 20 74 68 65 20 67 72 61 70 68 69 63 73 0D 20 20 the graphics.
000010: 20 20 20 77 69 6E 64 6F 77 0D 0D 20 20 20 20 20 window..
000020: 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 44 45 20 Entry:.. DE
000030: 3D 20 58 20 63 6F 6F 72 64 69 6E 61 74 65 20 72 = X coordinate r
000040: 65 6C 61 74 69 76 65 20 74 6F 20 30 2C 30 20 6F elative to 0,0 o
000050: 66 20 6F 6E 65 20 65 64 67 65 0D 20 20 20 20 20 f one edge.
000060: 48 4C 20 3D 20 58 20 63 6F 6F 72 64 69 6E 61 74 HL = X coordinat
000070: 65 20 72 65 6C 61 74 69 76 65 20 74 6F 20 30 2C e relative to 0,
000080: 30 20 6F 66 20 74 68 65 20 6F 74 68 65 72 20 65 0 of the other e
000090: 64 67 65 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D dge.. Exit:.
0000A0: 0D 20 20 20 20 20 41 46 2C 42 43 2C 44 45 2C 48 . AF,BC,DE,H
0000B0: 4C 20 63 6F 72 72 75 70 74 0D 0D 20 20 20 20 20 L corrupt..
0000C0: 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 Notes:.. The
0000D0: 20 6C 65 66 74 20 65 64 67 65 20 69 73 20 74 61 left edge is ta
0000E0: 6B 65 6E 20 74 6F 20 62 65 20 74 68 65 20 20 6C ken to be the l
0000F0: 65 73 73 65 72 20 6F 66 20 74 68 65 20 74 77 6F esser of the two
000100: 20 76 61 6C 75 65 73 2E 20 54 68 65 20 77 69 6E values. The win
000110: 64 6F 77 0D 20 20 20 20 20 6D 61 79 20 62 65 20 dow. may be
000120: 73 68 72 75 6E 6B 20 73 6F 20 74 68 61 74 20 69 shrunk so that i
000130: 74 20 63 61 6E 20 62 65 20 66 69 74 20 6F 6E 74 t can be fit ont
000140: 6F 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0D 20 o the screen...
000150: 20 20 20 20 41 6C 6C 20 67 72 61 70 68 69 63 20 All graphic
000160: 56 44 55 20 70 6F 69 6E 74 20 70 6C 6F 74 74 69 VDU point plotti
000170: 6E 67 20 61 6E 64 20 20 6C 69 6E 65 20 64 72 61 ng and line dra
000180: 77 69 6E 67 20 72 6F 75 74 69 6E 65 73 20 74 65 wing routines te
000190: 73 74 20 77 68 65 74 68 65 72 0D 20 20 20 20 20 st whether.
0001A0: 74 68 65 20 70 6F 69 6E 74 73 20 74 68 65 79 20 the points they
0001B0: 61 72 65 20 74 6F 20 70 6C 6F 74 20 20 61 72 65 are to plot are
0001C0: 20 20 69 6E 73 69 64 65 20 20 74 68 65 20 20 77 inside the w
0001D0: 69 6E 64 6F 77 2C 20 69 66 20 74 68 65 79 20 61 indow, if they a
0001E0: 72 65 20 6E 6F 74 0D 20 20 20 20 20 74 68 65 79 re not. they
0001F0: 20 61 72 65 20 6E 6F 74 20 70 6C 6F 74 74 65 64 are not plotted
Size : 512 (Real : 512)
000000: 54 68 65 20 77 69 6E 64 6F 77 20 69 73 6E 27 74 The window isn't
000010: 20 63 6C 65 61 72 65 64 2E 0D 0D 20 20 20 20 20 cleared...
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 42 42 -----.. &BBB
000070: 44 20 2D 20 47 52 41 20 52 45 53 45 54 20 2D 20 D - GRA RESET -
000080: 52 65 73 65 74 20 74 68 65 20 67 72 61 70 68 69 Reset the graphi
000090: 63 73 20 56 44 55 0D 0D 20 20 20 20 20 45 6E 74 cs VDU.. Ent
0000A0: 72 79 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D ry:.. None..
0000B0: 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 Exit:..
0000C0: 20 41 46 2C 42 43 2C 44 45 2C 48 4C 20 63 6F 72 AF,BC,DE,HL cor
0000D0: 72 75 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 rupt... Note
0000E0: 73 3A 0D 0D 20 20 20 20 20 54 68 65 20 69 6E 64 s:.. The ind
0000F0: 69 72 65 63 74 69 6F 6E 73 20 61 72 65 20 73 65 irections are se
000100: 74 20 74 6F 20 74 68 65 69 72 20 64 65 66 61 75 t to their defau
000110: 6C 74 20 72 6F 75 74 69 6E 65 73 2E 0D 20 20 20 lt routines..
000120: 20 20 49 6E 20 56 31 2E 31 20 74 68 65 20 6C 69 In V1.1 the li
000130: 6E 65 20 6D 61 73 6B 20 69 73 20 73 65 74 20 61 ne mask is set a
000140: 73 20 69 6E 20 47 52 41 20 49 4E 49 54 49 41 4C s in GRA INITIAL
000150: 49 53 45 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D ISE... -----
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 0D 0D 20 20 20 20 20 26 42 42 43 30 20 2D 20 47 .. &BBC0 - G
0001B0: 52 41 20 4D 4F 56 45 20 41 42 53 4F 4C 55 54 45 RA MOVE ABSOLUTE
0001C0: 20 2D 20 4D 6F 76 65 20 74 6F 20 61 6E 20 61 62 - Move to an ab
0001D0: 73 6F 6C 75 74 65 20 70 6F 73 69 74 69 6F 6E 0D solute position.
0001E0: 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 . Entry:..
0001F0: 20 20 20 44 45 20 3D 20 58 20 63 6F 6F 72 64 69 DE = X coordi
Size : 512 (Real : 512)
000000: 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D ... --------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 -------------..
000050: 20 20 20 20 26 42 42 44 32 20 2D 20 47 52 41 20 &BBD2 - GRA
000060: 57 49 4E 20 48 45 49 47 48 54 20 2D 20 53 65 74 WIN HEIGHT - Set
000070: 20 74 6F 70 20 61 6E 64 20 62 6F 74 74 6F 6D 20 top and bottom
000080: 65 64 67 65 73 20 6F 66 20 67 72 61 70 68 69 63 edges of graphic
000090: 20 77 69 6E 64 6F 77 0D 0D 20 20 20 20 20 45 6E window.. En
0000A0: 74 72 79 3A 0D 0D 20 20 20 20 20 44 45 20 3D 20 try:.. DE =
0000B0: 59 20 63 6F 6F 72 64 69 6E 61 74 65 20 72 65 6C Y coordinate rel
0000C0: 61 74 69 76 65 20 74 6F 20 30 2C 30 20 6F 66 20 ative to 0,0 of
0000D0: 6F 6E 65 20 65 64 67 65 0D 20 20 20 20 20 48 4C one edge. HL
0000E0: 20 3D 20 59 20 63 6F 6F 72 64 69 6E 61 74 65 20 = Y coordinate
0000F0: 72 65 6C 61 74 69 76 65 20 74 6F 20 30 2C 30 20 relative to 0,0
000100: 6F 66 20 6F 74 68 65 72 20 65 64 67 65 2E 0D 0D of other edge...
000110: 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 Exit:..
000120: 20 41 46 2C 42 43 2C 44 45 2C 48 4C 20 63 6F 72 AF,BC,DE,HL cor
000130: 72 75 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 rupt... Note
000140: 73 3A 0D 0D 20 20 20 20 20 54 68 65 20 74 6F 70 s:.. The top
000150: 20 65 64 67 65 20 77 69 6C 6C 20 62 65 20 74 68 edge will be th
000160: 65 20 68 69 67 68 65 72 20 6F 66 20 74 68 65 20 e higher of the
000170: 74 77 6F 20 76 61 6C 75 65 73 2E 0D 0D 20 20 20 two values...
000180: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D --------------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 -------.. &B
0001D0: 42 44 35 20 2D 20 47 52 41 20 47 45 54 20 57 20 BD5 - GRA GET W
0001E0: 57 49 44 54 48 20 2D 20 47 65 74 20 74 68 65 20 WIDTH - Get the
0001F0: 6C 65 66 74 20 61 6E 64 20 72 69 67 68 74 20 65 left and right e
Size : 512 (Real : 512)
000000: 64 6F 77 20 77 68 65 6E 0D 20 20 20 20 20 74 65 dow when. te
000010: 73 74 69 6E 67 20 70 6F 69 6E 74 73 2E 0D 0D 20 sting points...
000020: 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 20 26 ---------. &
000070: 42 42 45 37 20 2D 20 47 52 41 20 47 45 54 20 50 BBE7 - GRA GET P
000080: 41 50 45 52 20 2D 20 47 65 74 20 74 68 65 20 63 APER - Get the c
000090: 75 72 72 65 6E 74 20 62 61 63 6B 67 72 6F 75 6E urrent backgroun
0000A0: 64 20 70 65 6E 0D 0D 20 20 20 20 20 45 6E 74 72 d pen.. Entr
0000B0: 79 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 y:.. None..
0000C0: 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 Exit:..
0000D0: 41 20 3D 20 70 65 6E 0D 0D 20 20 20 20 20 46 6C A = pen.. Fl
0000E0: 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 ags corrupt...
0000F0: 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 Notes:..
000100: 41 73 20 47 52 41 20 53 45 54 20 50 41 50 45 52 As GRA SET PAPER
000110: 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D .. ---------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 ------------.
000160: 20 20 26 42 42 45 41 20 2D 20 47 52 41 20 50 4C &BBEA - GRA PL
000170: 4F 54 20 41 42 53 4F 4C 55 54 45 20 2D 20 50 6C OT ABSOLUTE - Pl
000180: 6F 74 20 61 20 70 6F 69 6E 74 20 61 74 20 61 6E ot a point at an
000190: 20 61 62 73 6F 6C 75 74 65 20 70 6F 73 69 74 69 absolute positi
0001A0: 6F 6E 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D on.. Entry:.
0001B0: 0D 20 20 20 20 20 44 45 20 3D 20 58 20 63 6F 6F . DE = X coo
0001C0: 72 64 69 6E 61 74 65 20 72 65 6C 61 74 69 76 65 rdinate relative
0001D0: 20 74 6F 20 75 73 65 72 20 6F 72 69 67 69 6E 0D to user origin.
0001E0: 20 20 20 20 20 48 4C 20 3D 20 59 20 63 6F 6F 72 HL = Y coor
0001F0: 64 69 6E 61 74 65 20 72 65 6C 61 74 69 76 65 20 dinate relative
Size : 512 (Real : 512)
000000: 64 67 65 73 20 6F 66 20 74 68 65 20 77 69 6E 64 dges of the wind
000010: 6F 77 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D ow.. Entry:.
000020: 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 20 20 20 . None..
000030: 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 44 45 20 Exit:.. DE
000040: 3D 20 58 20 63 6F 6F 72 64 69 6E 61 74 65 20 72 = X coordinate r
000050: 65 6C 61 74 69 76 65 20 74 6F 20 30 2C 30 20 6F elative to 0,0 o
000060: 66 20 74 68 65 20 6C 65 66 74 20 65 64 67 65 20 f the left edge
000070: 6F 66 20 74 68 65 20 77 69 6E 64 6F 77 0D 20 20 of the window.
000080: 20 20 20 48 4C 20 3D 20 58 20 63 6F 6F 72 64 69 HL = X coordi
000090: 6E 61 74 65 20 72 65 6C 61 74 69 76 65 20 74 6F nate relative to
0000A0: 20 30 2C 30 20 6F 66 20 74 68 65 20 72 69 67 68 0,0 of the righ
0000B0: 74 20 65 64 67 65 20 6F 66 20 74 68 65 20 77 69 t edge of the wi
0000C0: 6E 64 6F 77 0D 0D 20 20 20 20 20 41 46 20 63 6F ndow.. AF co
0000D0: 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 rrupt... Not
0000E0: 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 20 65 64 es:.. The ed
0000F0: 67 65 73 20 72 65 63 69 65 76 65 64 20 6D 61 79 ges recieved may
000100: 20 20 62 65 20 20 64 69 66 66 65 72 65 6E 74 20 be different
000110: 20 61 73 20 20 74 68 6F 73 65 20 73 70 65 63 69 as those speci
000120: 66 69 65 64 20 62 65 63 61 75 73 65 20 74 68 65 fied because the
000130: 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 77 69 6E 64 ....... wind
000140: 6F 77 20 6D 61 79 20 68 61 76 65 20 62 65 65 6E ow may have been
000150: 20 72 65 64 75 63 65 64 20 74 6F 20 66 69 74 20 reduced to fit
000160: 6F 6E 74 6F 20 74 68 65 20 73 63 72 65 65 6E 2E onto the screen.
000170: 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D .. ---------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 ------------..
0001C0: 20 20 20 26 42 42 44 38 20 2D 20 47 52 41 20 47 &BBD8 - GRA G
0001D0: 45 54 20 57 20 48 45 49 47 48 54 20 2D 20 47 65 ET W HEIGHT - Ge
0001E0: 74 20 74 6F 70 20 61 6E 64 20 62 6F 74 74 6F 6D t top and bottom
0001F0: 20 65 64 67 65 73 20 6F 66 20 74 68 65 20 77 69 edges of the wi
Size : 512 (Real : 512)
000000: 74 6F 20 75 73 65 72 20 6F 72 69 67 69 6E 0D 0D to user origin..
000010: 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 Exit:..
000020: 20 41 46 2C 42 43 2C 44 45 2C 48 4C 20 63 6F 72 AF,BC,DE,HL cor
000030: 72 75 70 74 2E 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 rupt.........
000040: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D --------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 20 26 42 42 -------. &BB
000090: 45 44 20 2D 20 47 52 41 20 50 4C 4F 54 20 52 45 ED - GRA PLOT RE
0000A0: 4C 41 54 49 56 45 20 2D 20 50 6C 6F 74 20 61 20 LATIVE - Plot a
0000B0: 70 6F 69 6E 74 20 72 65 6C 61 74 69 76 65 20 74 point relative t
0000C0: 6F 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 69 o current positi
0000D0: 6F 6E 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D on.. Entry:.
0000E0: 0D 20 20 20 20 20 44 45 20 3D 20 73 69 67 6E 65 . DE = signe
0000F0: 64 20 58 20 6F 66 66 73 65 74 0D 20 20 20 20 20 d X offset.
000100: 48 4C 20 3D 20 73 69 67 6E 65 64 20 59 20 6F 66 HL = signed Y of
000110: 66 73 65 74 0D 0D 20 20 20 20 20 45 78 69 74 3A fset.. Exit:
000120: 0D 0D 20 20 20 20 20 41 46 2C 42 43 2C 44 45 2C .. AF,BC,DE,
000130: 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 HL corrupt...
000140: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D --------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 20 26 42 42 -------. &BB
000190: 46 30 20 2D 20 47 52 41 20 54 45 53 54 20 41 42 F0 - GRA TEST AB
0001A0: 53 4F 4C 55 54 45 20 2D 20 54 65 73 74 20 61 20 SOLUTE - Test a
0001B0: 70 6F 69 6E 74 20 61 74 20 61 6E 20 61 62 73 6F point at an abso
0001C0: 6C 75 74 65 20 70 6F 73 69 74 69 6F 6E 0D 0D 20 lute position..
0001D0: 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 Entry:..
0001E0: 20 44 45 20 3D 20 58 20 63 6F 6F 72 64 69 6E 61 DE = X coordina
0001F0: 74 65 20 74 6F 20 74 65 73 74 20 72 65 6C 61 74 te to test relat
Size : 512 (Real : 512)
000000: 6E 64 6F 77 0D 0D 20 20 20 20 20 45 6E 74 72 79 ndow.. Entry
000010: 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 20 :.. None..
000020: 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 44 Exit:.. D
000030: 45 20 3D 20 59 20 63 6F 6F 72 64 69 6E 61 74 65 E = Y coordinate
000040: 20 72 65 6C 61 74 69 76 65 20 74 6F 20 30 2C 30 relative to 0,0
000050: 20 6F 66 20 74 68 65 20 74 6F 70 20 65 64 67 65 of the top edge
000060: 20 6F 66 20 74 68 65 20 77 69 6E 64 6F 77 0D 20 of the window.
000070: 20 20 20 20 48 4C 20 3D 20 59 20 63 6F 6F 72 64 HL = Y coord
000080: 69 6E 61 74 65 20 72 65 6C 61 74 69 76 65 20 74 inate relative t
000090: 6F 20 30 2C 30 20 6F 66 20 74 68 65 20 62 6F 74 o 0,0 of the bot
0000A0: 74 6F 6D 20 65 64 67 65 20 6F 66 20 74 68 65 20 tom edge of the
0000B0: 77 69 6E 64 6F 77 0D 0D 20 20 20 20 20 41 46 20 window.. AF
0000C0: 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 4E corrupt... N
0000D0: 6F 74 65 73 3A 0D 0D 20 20 20 20 20 53 65 65 20 otes:.. See
0000E0: 61 62 6F 76 65 20 61 73 20 69 6E 20 47 52 41 20 above as in GRA
0000F0: 47 45 54 20 57 20 57 49 44 54 48 0D 0D 20 20 20 GET W WIDTH..
000100: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D --------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 -------.. &B
000150: 42 44 42 20 2D 20 47 52 41 20 43 4C 45 41 52 20 BDB - GRA CLEAR
000160: 57 49 4E 44 4F 57 20 2D 20 43 6C 65 61 72 20 74 WINDOW - Clear t
000170: 68 65 20 67 72 61 70 68 69 63 73 20 77 69 6E 64 he graphics wind
000180: 6F 77 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D ow.. Entry:.
000190: 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 20 20 20 . None..
0001A0: 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 46 2C Exit:.. AF,
0001B0: 42 43 2C 44 45 2C 48 4C 20 63 6F 72 72 75 70 74 BC,DE,HL corrupt
0001C0: 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D ... Notes:..
0001D0: 20 20 20 20 20 54 68 65 20 67 72 61 70 68 69 63 The graphic
0001E0: 73 20 63 75 72 73 6F 72 20 70 6F 73 69 74 69 6F s cursor positio
0001F0: 6E 20 69 73 20 6D 6F 76 65 64 20 20 74 6F 20 20 n is moved to
Size : 512 (Real : 512)
000000: 69 76 65 20 74 6F 20 75 73 65 72 20 6F 72 69 67 ive to user orig
000010: 69 6E 0D 20 20 20 20 20 48 4C 20 3D 20 59 20 63 in. HL = Y c
000020: 6F 6F 72 64 69 6E 61 74 65 20 74 6F 20 74 65 73 oordinate to tes
000030: 74 20 72 65 6C 61 74 69 76 65 20 74 6F 20 75 73 t relative to us
000040: 65 72 20 6F 72 69 67 69 6E 0D 0D 20 20 20 20 20 er origin..
000050: 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 20 3D 20 Exit:.. A =
000060: 70 65 6E 20 6F 66 20 73 70 65 63 69 66 69 65 64 pen of specified
000070: 20 70 6F 69 6E 74 20 6F 72 20 70 61 70 65 72 20 point or paper
000080: 70 65 6E 0D 0D 20 20 20 20 20 42 43 2C 44 45 2C pen.. BC,DE,
000090: 48 4C 20 61 6E 64 20 66 6C 61 67 73 20 63 6F 72 HL and flags cor
0000A0: 72 75 70 74 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D rupt... ----
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 0D 0D 20 20 20 20 20 26 42 42 46 33 20 2D 20 -.. &BBF3 -
000100: 47 52 41 20 54 45 53 54 20 52 45 4C 41 54 49 56 GRA TEST RELATIV
000110: 45 20 2D 20 54 65 73 74 20 61 20 70 6F 69 6E 74 E - Test a point
000120: 20 72 65 6C 61 74 69 76 65 20 74 6F 20 63 75 72 relative to cur
000130: 72 65 6E 74 20 70 6F 73 69 74 69 6F 6E 0D 0D 20 rent position..
000140: 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 Entry:..
000150: 20 44 45 20 3D 20 58 20 73 69 67 6E 65 64 20 6F DE = X signed o
000160: 66 66 73 65 74 0D 20 20 20 20 20 48 4C 20 3D 20 ffset. HL =
000170: 59 20 73 69 67 6E 65 64 20 6F 66 66 73 65 74 0D Y signed offset.
000180: 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 . Exit:..
000190: 20 20 41 20 3D 20 70 65 6E 20 6F 66 20 73 70 65 A = pen of spe
0001A0: 63 69 66 69 65 64 20 70 6F 69 6E 74 20 6F 72 20 cified point or
0001B0: 70 61 70 65 72 20 70 65 6E 0D 0D 20 20 20 20 20 paper pen..
0001C0: 42 43 2C 44 45 2C 48 4C 20 61 6E 64 20 66 6C 61 BC,DE,HL and fla
0001D0: 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 gs corrupt...
0001E0: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D --------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 74 68 65 20 6F 72 69 67 69 6E 20 73 70 65 63 69 the origin speci
000010: 66 69 65 64 20 62 79 20 74 68 65 0D 20 20 20 20 fied by the.
000020: 20 75 73 65 72 2E 0D 0D 20 20 20 20 20 2D 2D 2D user... ---
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 0D 0D 20 20 20 20 20 26 42 42 44 45 20 2D --.. &BBDE -
000080: 20 47 52 41 20 53 45 54 20 50 45 4E 20 2D 20 53 GRA SET PEN - S
000090: 65 74 20 74 68 65 20 67 72 61 70 68 69 63 73 20 et the graphics
0000A0: 70 6C 6F 74 74 69 6E 67 20 69 6E 6B 0D 0D 20 20 plotting ink..
0000B0: 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 Entry:..
0000C0: 41 20 3D 20 70 65 6E 0D 0D 20 20 20 20 20 45 78 A = pen.. Ex
0000D0: 69 74 3A 0D 0D 20 20 20 20 20 41 46 20 63 6F 72 it:.. AF cor
0000E0: 72 75 70 74 0D 0D 20 20 20 20 20 4E 6F 74 65 73 rupt.. Notes
0000F0: 3A 0D 0D 20 20 20 20 20 54 68 65 20 76 61 6C 75 :.. The valu
000100: 65 20 69 73 20 66 6F 72 63 65 64 20 74 6F 20 6C e is forced to l
000110: 69 65 20 20 77 69 74 68 69 6E 20 20 74 68 65 20 ie within the
000120: 72 61 6E 67 65 20 61 6C 6C 6F 77 65 64 20 66 6F range allowed fo
000130: 72 20 74 68 65 20 73 65 6C 65 63 74 65 64 0D 20 r the selected.
000140: 20 20 20 20 6D 6F 64 65 2E 0D 0D 20 20 20 20 20 mode...
000150: 56 31 2E 31 0D 20 20 20 20 20 2D 2D 2D 2D 0D 0D V1.1. ----..
000160: 20 20 20 20 20 54 68 65 20 67 72 61 70 68 69 63 The graphic
000170: 73 20 70 65 6E 20 69 73 20 74 61 6B 65 6E 20 74 s pen is taken t
000180: 6F 20 20 62 65 20 20 74 68 65 20 20 65 64 67 65 o be the edge
000190: 20 20 6F 66 20 20 74 68 65 20 61 72 65 61 20 74 of the area t
0001A0: 6F 20 66 69 6C 6C 20 77 68 65 6E 0D 20 20 20 20 o fill when.
0001B0: 20 66 6C 6F 6F 64 20 66 69 6C 6C 69 6E 67 20 61 flood filling a
0001C0: 72 65 61 73 20 6F 66 20 74 68 65 20 73 63 72 65 reas of the scre
0001D0: 65 6E 2E 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 en.........
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 20 26 42 42 -------. &BB
000030: 46 36 20 2D 20 47 52 41 20 4C 49 4E 45 20 41 42 F6 - GRA LINE AB
000040: 53 4F 4C 55 54 45 20 2D 20 44 72 61 77 20 61 20 SOLUTE - Draw a
000050: 6C 69 6E 65 20 74 6F 20 61 6E 20 61 62 73 6F 6C line to an absol
000060: 75 74 65 20 70 6F 73 69 74 69 6F 6E 0D 0D 20 20 ute position..
000070: 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 Entry:..
000080: 44 45 20 3D 20 58 20 63 6F 6F 72 64 69 6E 61 74 DE = X coordinat
000090: 65 20 6F 66 20 65 6E 64 70 6F 69 6E 74 0D 20 20 e of endpoint.
0000A0: 20 20 20 48 4C 20 3D 20 59 20 63 6F 6F 72 64 69 HL = Y coordi
0000B0: 6E 61 74 65 20 6F 66 20 65 6E 64 70 6F 69 6E 74 nate of endpoint
0000C0: 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 .. Exit:..
0000D0: 20 20 20 41 46 2C 42 43 2C 44 45 2C 48 4C 20 63 AF,BC,DE,HL c
0000E0: 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 56 31 orrupt... V1
0000F0: 2E 30 0D 20 20 20 20 20 2D 2D 2D 2D 0D 0D 20 20 .0. ----..
000100: 20 20 20 54 68 65 20 70 6F 69 6E 74 73 20 77 69 The points wi
000110: 6C 6C 20 62 65 20 70 6C 6F 74 74 65 64 20 69 6E ll be plotted in
000120: 20 74 68 65 20 63 75 72 72 65 6E 74 20 70 65 6E the current pen
000130: 20 75 73 69 6E 67 20 74 68 65 20 63 75 72 72 65 using the curre
000140: 6E 74 20 6D 6F 64 65 0D 0D 20 20 20 20 20 56 31 nt mode.. V1
000150: 2E 31 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 2D 2D .1....... --
000160: 2D 2D 0D 0D 20 20 20 20 20 54 68 65 20 6C 69 6E --.. The lin
000170: 65 20 69 73 20 70 6C 6F 74 74 65 64 20 64 65 70 e is plotted dep
000180: 65 6E 64 69 6E 67 20 6F 6E 20 74 68 65 20 20 6D ending on the m
000190: 61 73 6B 20 64 65 66 69 6E 65 64 2E 20 49 66 20 ask defined. If
0001A0: 74 68 65 20 66 69 72 73 74 20 70 6F 69 6E 74 0D the first point.
0001B0: 20 20 20 20 20 70 6C 6F 74 74 69 6E 67 20 6D 6F plotting mo
0001C0: 64 65 20 69 73 20 73 65 74 20 74 6F 20 66 61 6C de is set to fal
0001D0: 73 65 20 74 68 65 20 66 69 72 73 74 20 70 6F 69 se the first poi
0001E0: 6E 74 20 77 69 6C 6C 20 6E 6F 74 20 62 65 20 73 nt will not be s
0001F0: 65 74 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D et... ------
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 42 45 -----.. &BBE
000030: 31 20 2D 20 47 52 41 20 47 45 54 20 50 45 4E 20 1 - GRA GET PEN
000040: 2D 20 47 65 74 20 74 68 65 20 67 72 61 70 68 69 - Get the graphi
000050: 63 73 20 70 65 6E 20 6E 75 6D 62 65 72 0D 0D 20 cs pen number..
000060: 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 Entry:..
000070: 20 4E 6F 6E 65 0D 0D 20 20 20 20 20 45 78 69 74 None.. Exit
000080: 3A 0D 0D 20 20 20 20 20 41 20 3D 20 70 65 6E 0D :.. A = pen.
000090: 0D 20 20 20 20 20 46 6C 61 67 73 20 63 6F 72 72 . Flags corr
0000A0: 75 70 74 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D upt... -----
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 0D 20 20 20 20 20 26 42 42 45 34 20 2D 20 47 52 . &BBE4 - GR
000100: 41 20 53 45 54 20 50 41 50 45 52 20 2D 20 53 65 A SET PAPER - Se
000110: 74 20 67 72 61 70 68 69 63 73 20 62 61 63 6B 67 t graphics backg
000120: 72 6F 75 6E 64 20 70 65 6E 0D 0D 20 20 20 20 20 round pen..
000130: 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 41 20 3D Entry:.. A =
000140: 20 70 65 6E 0D 0D 20 20 20 20 20 45 78 69 74 3A pen.. Exit:
000150: 0D 0D 20 20 20 20 20 41 46 20 63 6F 72 72 75 70 .. AF corrup
000160: 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D t... Notes:.
000170: 0D 20 20 20 20 20 54 68 65 20 70 61 70 65 72 20 . The paper
000180: 69 6E 6B 20 69 73 20 74 68 65 20 69 6E 6B 20 74 ink is the ink t
000190: 68 61 74 20 69 73 20 75 73 65 64 20 66 6F 72 20 hat is used for
0001A0: 63 6C 65 61 72 69 6E 67 20 74 68 65 20 67 72 61 clearing the gra
0001B0: 70 68 69 63 73 20 77 69 6E 64 6F 77 0D 20 20 20 phics window.
0001C0: 20 20 61 6E 64 20 69 74 20 69 73 20 61 73 73 75 and it is assu
0001D0: 6D 65 64 20 74 6F 20 63 6F 76 65 72 20 65 76 65 med to cover eve
0001E0: 72 79 77 68 65 72 65 20 6F 75 74 73 69 64 65 20 rywhere outside
0001F0: 74 68 65 20 67 72 61 70 68 69 63 73 20 77 69 6E the graphics win
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D ---------------.
000040: 20 20 20 20 20 26 42 42 46 39 20 2D 20 47 52 41 &BBF9 - GRA
000050: 20 4C 49 4E 45 20 20 52 45 4C 41 54 49 56 45 20 LINE RELATIVE
000060: 20 2D 20 20 44 72 61 77 20 20 61 20 20 6C 69 6E - Draw a lin
000070: 65 20 20 72 65 6C 61 74 69 76 65 20 20 74 6F 20 e relative to
000080: 74 68 65 20 63 75 72 72 65 6E 74 0D 20 20 20 20 the current.
000090: 20 70 6F 73 69 74 69 6F 6E 0D 0D 20 20 20 20 20 position..
0000A0: 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 44 45 20 Entry:.. DE
0000B0: 3D 20 73 69 67 6E 65 64 20 58 20 6F 66 66 73 65 = signed X offse
0000C0: 74 20 6F 66 20 74 68 65 20 65 6E 64 70 6F 69 6E t of the endpoin
0000D0: 74 0D 20 20 20 20 20 48 4C 20 3D 20 73 69 67 6E t. HL = sign
0000E0: 65 64 20 59 20 6F 66 66 73 65 74 20 6F 66 20 74 ed Y offset of t
0000F0: 68 65 20 65 6E 64 70 6F 69 6E 74 0D 0D 20 20 20 he endpoint..
000100: 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 46 Exit:.. AF
000110: 2C 42 43 2C 44 45 2C 48 4C 20 63 6F 72 72 75 70 ,BC,DE,HL corrup
000120: 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D t... Notes:.
000130: 0D 20 20 20 20 20 53 65 65 20 47 52 41 20 4C 49 . See GRA LI
000140: 4E 45 20 41 42 53 4F 4C 55 54 45 0D 0D 20 20 20 NE ABSOLUTE..
000150: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D --------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 20 26 42 42 -------. &BB
0001A0: 46 43 20 2D 20 47 52 41 20 57 52 20 43 48 41 52 FC - GRA WR CHAR
0001B0: 20 2D 20 50 72 69 6E 74 20 20 61 20 20 63 68 61 - Print a cha
0001C0: 72 61 63 74 65 72 20 6F 6E 20 74 68 65 20 73 63 racter on the sc
0001D0: 72 65 65 6E 20 61 74 20 74 68 65 20 63 75 72 72 reen at the curr
0001E0: 65 6E 74 0D 20 20 20 20 20 67 72 61 70 68 69 63 ent. graphic
0001F0: 73 20 70 6F 73 69 74 69 6F 6E 0D 0D 20 20 20 20 s position..
Size : 512 (Real : 512)
000000: 20 74 68 65 20 62 69 74 20 69 73 20 31 29 2E 0D the bit is 1)..
000010: 0D 54 6F 20 64 65 73 74 69 6E 67 75 69 73 68 20 .To destinguish
000020: 62 65 74 77 65 65 6E 20 70 6F 6B 69 6E 67 20 74 between poking t
000030: 6F 20 6D 65 6D 6F 72 79 20 61 6E 64 20 73 65 6E o memory and sen
000040: 64 69 6E 67 20 64 61 74 61 20 74 6F 20 61 6E 20 ding data to an
000050: 65 78 74 65 72 6E 61 6C 20 64 65 76 69 63 65 2C external device,
000060: 0D 74 68 65 20 43 50 55 20 75 73 65 73 20 61 6E .the CPU uses an
000070: 20 65 78 74 72 61 20 70 69 6E 20 63 61 6C 6C 65 extra pin calle
000080: 64 20 49 4F 52 51 2E 20 28 49 6E 70 75 74 2F 4F d IORQ. (Input/O
000090: 75 74 70 75 74 20 52 65 71 75 65 73 74 29 2E 20 utput Request).
0000A0: 57 68 65 6E 20 74 68 69 73 20 69 73 20 6C 6F 77 When this is low
0000B0: 2C 0D 74 68 65 20 43 50 55 20 69 73 20 73 65 6E ,.the CPU is sen
0000C0: 64 69 6E 67 20 64 61 74 61 20 74 6F 20 61 6E 20 ding data to an
0000D0: 65 78 74 65 72 6E 61 6C 20 64 65 76 69 63 65 2C external device,
0000E0: 20 6F 74 68 65 72 77 69 73 65 20 69 74 20 69 73 otherwise it is
0000F0: 20 70 6F 6B 69 6E 67 20 74 6F 20 74 68 65 0D 6D poking to the.m
000100: 65 6D 6F 72 79 2E 0D 0D 41 6E 64 20 74 6F 20 64 emory...And to d
000110: 69 73 74 69 6E 67 75 69 73 68 20 62 65 74 77 65 istinguish betwe
000120: 65 6E 20 72 65 61 64 69 6E 67 20 61 6E 64 20 77 en reading and w
000130: 72 69 74 69 6E 67 20 69 74 20 75 73 65 73 20 61 riting it uses a
000140: 20 70 69 6E 20 63 61 6C 6C 65 64 20 57 52 20 28 pin called WR (
000150: 77 72 69 74 65 29 20 61 6E 64 0D 52 44 20 28 72 write) and.RD (r
000160: 65 61 64 29 2E 20 57 68 65 6E 20 65 69 74 68 65 ead). When eithe
000170: 72 20 6F 66 20 74 68 65 73 65 20 61 72 65 20 6C r of these are l
000180: 6F 77 2C 20 74 68 65 20 43 50 55 20 69 73 20 77 ow, the CPU is w
000190: 72 69 74 69 6E 67 20 6F 72 20 72 65 61 64 69 6E riting or readin
0001A0: 67 2E 0D 0D 53 6F 20 74 6F 20 63 6F 6E 6E 65 63 g...So to connec
0001B0: 74 20 61 20 64 65 76 69 63 65 20 61 6E 64 20 67 t a device and g
0001C0: 65 74 20 69 74 20 74 6F 20 77 6F 72 6B 2C 20 77 et it to work, w
0001D0: 65 20 6E 65 65 64 20 74 6F 20 63 6F 6E 6E 65 63 e need to connec
0001E0: 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6C 69 t the address li
0001F0: 6E 65 73 2C 0D 64 61 74 61 20 6C 69 6E 65 73 2C nes,.data lines,
Size : 512 (Real : 512)
000000: 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 41 20 Entry:.. A
000010: 3D 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 77 = character to w
000020: 72 69 74 65 0D 0D 20 20 20 20 20 45 78 69 74 3A rite.. Exit:
000030: 0D 0D 20 20 20 20 20 41 46 2C 42 43 2C 44 45 2C .. AF,BC,DE,
000040: 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 HL corrupt...
000050: 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 Notes:.. T
000060: 68 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 he character is
000070: 77 72 69 74 74 65 6E 20 77 69 74 68 20 20 69 74 written with it
000080: 73 20 20 74 6F 70 20 20 6C 65 66 74 20 20 61 74 s top left at
000090: 20 74 68 65 20 63 75 72 72 65 6E 74 20 67 72 61 the current gra
0000A0: 70 68 69 63 73 0D 20 20 20 20 20 70 6F 73 69 74 phics. posit
0000B0: 69 6F 6E 2E 20 41 6C 6C 20 63 68 61 72 61 63 74 ion. All charact
0000C0: 65 72 73 20 61 72 65 20 70 72 69 6E 74 65 64 20 ers are printed
0000D0: 69 6E 63 6C 75 64 69 6E 67 20 63 6F 6E 74 72 6F including contro
0000E0: 6C 20 63 68 61 72 61 63 74 65 72 73 2E 20 54 68 l characters. Th
0000F0: 65 0D 20 20 20 20 20 70 6F 73 69 74 69 6F 6E 20 e. position
000100: 69 73 20 6D 6F 76 65 64 20 72 69 67 68 74 20 33 is moved right 3
000110: 32 20 20 70 6F 69 6E 74 73 20 20 69 6E 20 20 6D 2 points in m
000120: 6F 64 65 20 20 30 2C 20 20 31 36 20 20 69 6E 20 ode 0, 16 in
000130: 6D 6F 64 65 20 31 2C 20 61 6E 64 20 38 0D 20 20 mode 1, and 8.
000140: 20 20 20 70 6F 69 6E 74 73 20 69 6E 20 6D 6F 64 points in mod
000150: 65 20 32 2E 0D 0D 20 20 20 20 20 54 68 65 20 63 e 2... The c
000160: 68 61 72 61 63 74 65 72 20 77 69 6C 6C 20 62 65 haracter will be
000170: 20 70 72 69 6E 74 65 64 20 75 73 69 6E 67 20 74 printed using t
000180: 68 65 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 he current graph
000190: 69 63 73 20 70 65 6E 20 69 6E 6B 2E 0D 20 20 20 ics pen ink..
0001A0: 20 20 49 66 20 74 68 65 20 67 72 61 70 68 69 63 If the graphic
0001B0: 73 20 6D 6F 64 65 20 69 73 20 20 73 65 74 20 20 s mode is set
0001C0: 74 6F 20 20 6F 70 61 71 75 65 20 20 74 68 65 6E to opaque then
0001D0: 20 20 74 68 65 20 62 61 63 6B 67 72 6F 75 6E 64 the background
0001E0: 20 77 69 6C 6C 20 62 65 0D 20 20 20 20 20 77 72 will be. wr
0001F0: 69 74 74 65 6E 20 20 77 69 74 68 20 20 74 68 65 itten with the
Size : 512 (Real : 512)
000000: 20 74 68 65 20 49 4F 52 51 20 70 69 6E 20 61 6E the IORQ pin an
000010: 64 20 74 68 65 20 57 52 20 61 6E 64 20 52 44 20 d the WR and RD
000020: 70 69 6E 73 2E 20 4E 6F 77 20 69 74 20 69 73 20 pins. Now it is
000030: 70 6F 73 73 69 62 6C 65 20 74 6F 20 6C 69 6E 6B possible to link
000040: 0D 64 65 76 69 63 65 73 20 61 6E 64 20 75 73 65 .devices and use
000050: 20 74 68 65 6D 2E 0D 0D 0D 0D 0D 0D 0D 0D 1A 2D them..........-
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 0D 0D 65 6E 64 20 6D 61 69 6E 5F 70 ----..end main_p
0000B0: 72 6F 67 72 61 6D 1A 70 6C 79 20 63 6F 6D 6D 61 rogram.ply comma
0000C0: 6E 64 29 2E 0D 3B 0D 3B 0D 1A 3D 3D 3D 0D 0D 1A nd)..;.;..===...
0000D0: 66 6F 1A 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A fo..............
0000E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0000F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000100: 65 6D 6F 72 79 2E 0D 0D 41 6E 64 20 74 6F 20 64 emory...And to d
000110: 69 73 74 69 6E 67 75 69 73 68 20 62 65 74 77 65 istinguish betwe
000120: 65 6E 20 72 65 61 64 69 6E 67 20 61 6E 64 20 77 en reading and w
000130: 72 69 74 69 6E 67 20 69 74 20 75 73 65 73 20 61 riting it uses a
000140: 20 70 69 6E 20 63 61 6C 6C 65 64 20 57 52 20 28 pin called WR (
000150: 77 72 69 74 65 29 20 61 6E 64 0D 52 44 20 28 72 write) and.RD (r
000160: 65 61 64 29 2E 20 57 68 65 6E 20 65 69 74 68 65 ead). When eithe
000170: 72 20 6F 66 20 74 68 65 73 65 20 61 72 65 20 6C r of these are l
000180: 6F 77 2C 20 74 68 65 20 43 50 55 20 69 73 20 77 ow, the CPU is w
000190: 72 69 74 69 6E 67 20 6F 72 20 72 65 61 64 69 6E riting or readin
0001A0: 67 2E 0D 0D 53 6F 20 74 6F 20 63 6F 6E 6E 65 63 g...So to connec
0001B0: 74 20 61 20 64 65 76 69 63 65 20 61 6E 64 20 67 t a device and g
0001C0: 65 74 20 69 74 20 74 6F 20 77 6F 72 6B 2C 20 77 et it to work, w
0001D0: 65 20 6E 65 65 64 20 74 6F 20 63 6F 6E 6E 65 63 e need to connec
0001E0: 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6C 69 t the address li
0001F0: 6E 65 73 2C 0D 64 61 74 61 20 6C 69 6E 65 73 2C nes,.data lines,
Size : 512 (Real : 512)
000000: 20 20 63 75 72 72 65 6E 74 20 20 67 72 61 70 68 current graph
000010: 69 63 73 20 20 70 61 70 65 72 20 20 20 70 65 6E ics paper pen
000020: 2C 20 20 69 66 20 20 74 68 65 20 20 6D 6F 64 65 , if the mode
000030: 20 20 69 73 0D 20 20 20 20 20 74 72 61 6E 73 70 is. transp
000040: 61 72 65 6E 74 20 74 68 65 6E 20 74 68 65 20 62 arent then the b
000050: 61 63 6B 67 72 6F 75 6E 64 20 77 69 6C 6C 20 6E ackground will n
000060: 6F 74 20 62 65 20 77 72 69 74 74 65 6E 20 6F 76 ot be written ov
000070: 65 72 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D er... ------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D ---------------.
0000C0: 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D ................
0000D0: 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000F0: 00 00 C1 1F 00 17 04 2D 2D 2D 2D 2D 2D 2D 2D 2D .......---------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 1A 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D --.=============
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 1A =============...
000150: 66 6F 1A 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A fo..............
000160: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000170: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000180: 68 65 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 he current graph
000190: 69 63 73 20 70 65 6E 20 69 6E 6B 2E 0D 20 20 20 ics pen ink..
0001A0: 20 20 49 66 20 74 68 65 20 67 72 61 70 68 69 63 If the graphic
0001B0: 73 20 6D 6F 64 65 20 69 73 20 20 73 65 74 20 20 s mode is set
0001C0: 74 6F 20 20 6F 70 61 71 75 65 20 20 74 68 65 6E to opaque then
0001D0: 20 20 74 68 65 20 62 61 63 6B 67 72 6F 75 6E 64 the background
0001E0: 20 77 69 6C 6C 20 62 65 0D 20 20 20 20 20 77 72 will be. wr
0001F0: 69 74 74 65 6E 20 20 77 69 74 68 20 20 74 68 65 itten with the
Size : 512 (Real : 512)
000000: 1B 40 0D 0D 0D 20 20 20 20 20 48 69 67 68 20 4B .@... High K
000010: 65 72 6E 61 6C 20 4A 75 6D 70 62 6C 6F 63 6B 0D ernal Jumpblock.
000020: 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -----------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 0D 20 20 20 ----------...
000040: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D --------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 ---------..
000090: 26 42 39 30 30 20 2D 20 48 49 3A 20 48 4C 20 55 &B900 - HI: HL U
0000A0: 20 52 4F 4D 20 45 4E 41 42 4C 45 20 2D 20 45 6E ROM ENABLE - En
0000B0: 61 62 6C 65 20 74 68 65 20 75 70 70 65 72 20 72 able the upper r
0000C0: 6F 6D 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D om.. Entry:.
0000D0: 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 20 20 20 . None..
0000E0: 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 20 3D Exit:.. A =
0000F0: 70 72 65 76 69 6F 75 73 20 72 6F 6D 20 73 74 61 previous rom sta
000100: 74 65 0D 20 20 20 20 20 46 6C 61 67 73 20 63 6F te. Flags co
000110: 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 rrupt... Not
000120: 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 20 6D 65 es:.. The me
000130: 63 68 61 6E 69 73 6D 73 20 70 72 6F 76 69 64 65 chanisms provide
000140: 64 20 66 6F 72 20 63 61 6C 6C 69 6E 67 20 20 73 d for calling s
000150: 75 62 72 6F 75 74 69 6E 65 73 20 20 69 6E 20 74 ubroutines in t
000160: 68 65 20 75 70 70 65 72 20 52 4F 4D 20 61 6E 64 he upper ROM and
000170: 0D 20 20 20 20 20 66 6F 72 20 73 65 6C 65 63 74 . for select
000180: 69 6E 67 20 75 70 70 65 72 20 72 6F 6D 73 20 20 ing upper roms
000190: 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 20 20 65 automatically e
0001A0: 6E 61 62 6C 65 20 20 74 68 65 20 20 72 6F 6D 20 nable the rom
0001B0: 61 73 20 72 65 71 75 69 72 65 64 2E 0D 20 20 20 as required..
0001C0: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 69 This routine i
0001D0: 73 20 75 73 65 64 20 62 79 20 74 68 65 20 66 69 s used by the fi
0001E0: 72 6D 77 61 72 65 20 62 75 74 20 69 73 20 6F 74 rmware but is ot
0001F0: 68 65 72 77 69 73 65 20 6F 66 20 6C 69 74 74 6C herwise of littl
Size : 512 (Real : 512)
000000: 57 65 20 75 73 65 2C 20 4F 55 54 20 61 6E 64 20 We use, OUT and
000010: 49 4E 20 63 6F 6D 6D 61 6E 64 73 20 74 6F 20 61 IN commands to a
000020: 63 63 65 73 73 20 65 78 74 65 72 6E 61 6C 20 64 ccess external d
000030: 65 76 69 63 65 73 20 61 6E 64 20 74 68 65 20 68 evices and the h
000040: 61 72 64 77 61 72 65 0D 69 6E 73 69 64 65 20 74 ardware.inside t
000050: 68 65 20 43 50 43 2E 0D 0D 57 65 20 73 65 6E 64 he CPC...We send
000060: 20 64 61 74 61 20 74 6F 20 61 6E 20 65 78 74 65 data to an exte
000070: 72 6E 61 6C 20 64 65 76 69 63 65 20 6C 69 6B 65 rnal device like
000080: 20 74 68 69 73 3A 0D 0D 4C 44 20 42 43 2C 70 6F this:..LD BC,po
000090: 72 74 5F 61 64 64 72 65 73 73 0D 4F 55 54 20 28 rt_address.OUT (
0000A0: 43 29 2C 72 65 67 0D 0D 57 68 65 72 65 20 42 43 C),reg..Where BC
0000B0: 20 63 6F 6E 74 61 69 6E 73 20 61 20 31 36 2D 62 contains a 16-b
0000C0: 69 74 20 6E 75 6D 62 65 72 20 73 70 65 63 69 66 it number specif
0000D0: 69 6E 67 20 74 68 65 20 70 6F 72 74 20 61 64 64 ing the port add
0000E0: 72 65 73 73 20 28 6F 72 20 61 6E 20 61 64 64 72 ress (or an addr
0000F0: 65 73 73 0D 74 6F 20 61 63 63 65 73 73 20 74 68 ess.to access th
000100: 65 20 63 68 69 70 20 61 74 29 2E 20 41 6E 64 2C e chip at). And,
000110: 20 77 68 65 72 65 20 72 65 67 20 63 61 6E 20 62 where reg can b
000120: 65 20 41 2C 42 2C 43 2C 44 2C 45 2C 46 2C 48 20 e A,B,C,D,E,F,H
000130: 6F 72 20 4C 2C 20 61 6E 64 20 63 6F 6E 74 61 69 or L, and contai
000140: 6E 73 0D 38 2D 62 69 74 20 64 61 74 61 20 74 6F ns.8-bit data to
000150: 20 73 65 6E 64 20 74 6F 20 74 68 65 20 63 68 69 send to the chi
000160: 70 2E 0D 0D 4C 69 6B 65 77 69 73 65 2C 20 77 65 p...Likewise, we
000170: 20 67 65 74 20 64 61 74 61 20 66 72 6F 6D 20 61 get data from a
000180: 6E 20 65 78 74 65 72 6E 61 6C 20 64 65 76 69 63 n external devic
000190: 65 20 62 79 20 75 73 69 6E 67 3A 0D 0D 4C 44 20 e by using:..LD
0001A0: 42 43 2C 70 6F 72 74 5F 61 64 64 72 65 73 73 0D BC,port_address.
0001B0: 49 4E 20 72 65 67 2C 28 43 29 0D 0D 48 65 72 65 IN reg,(C)..Here
0001C0: 20 42 43 20 63 6F 6E 74 61 69 6E 73 20 61 20 31 BC contains a 1
0001D0: 36 2D 62 69 74 20 6E 75 6D 62 65 72 20 73 70 65 6-bit number spe
0001E0: 63 69 66 79 69 6E 67 20 74 68 65 20 70 6F 72 74 cifying the port
0001F0: 20 61 64 64 72 65 73 73 2C 20 61 6E 64 20 72 65 address, and re
Size : 512 (Real : 512)
000000: 65 20 75 73 65 2E 0D 0D 20 20 20 20 20 54 68 65 e use... The
000010: 20 70 72 65 76 69 6F 75 73 20 72 6F 6D 20 73 74 previous rom st
000020: 61 74 65 20 6D 61 79 20 62 65 20 20 70 61 73 73 ate may be pass
000030: 65 64 20 20 74 6F 20 20 4B 4C 20 52 4F 4D 20 52 ed to KL ROM R
000040: 45 53 54 4F 52 45 20 74 6F 20 72 65 73 65 74 20 ESTORE to reset
000050: 74 68 65 0D 20 20 20 20 20 73 74 61 74 65 20 74 the. state t
000060: 6F 20 77 68 61 74 20 69 74 20 77 61 73 20 62 65 o what it was be
000070: 66 6F 72 65 20 74 68 69 73 20 72 6F 75 74 69 6E fore this routin
000080: 65 20 77 61 73 20 63 61 6C 6C 65 64 2E 0D 0D 20 e was called...
000090: 20 20 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 This routine
0000A0: 20 65 6E 61 62 6C 65 73 20 69 6E 74 65 72 75 70 enables interup
0000B0: 74 73 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D ts... ------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000100: 0D 0D 20 20 20 20 20 26 42 39 30 33 20 2D 20 48 .. &B903 - H
000110: 49 3A 20 4B 4C 20 55 20 52 4F 4D 20 44 49 53 41 I: KL U ROM DISA
000120: 42 4C 45 20 2D 20 44 69 73 61 62 6C 65 20 75 70 BLE - Disable up
000130: 70 65 72 20 72 6F 6D 0D 0D 20 20 20 20 20 45 6E per rom.. En
000140: 74 72 79 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D try:.. None.
000150: 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 . Exit:..
000160: 20 20 41 20 3D 20 70 72 65 76 69 6F 75 73 20 72 A = previous r
000170: 6F 6D 20 73 74 61 74 65 0D 0D 20 20 20 20 20 46 om state.. F
000180: 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 20 lags corrupt...
000190: 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 Notes:..
0001A0: 20 44 69 73 61 62 6C 69 6E 67 20 74 68 65 20 75 Disabling the u
0001B0: 70 70 65 72 20 72 6F 6D 20 67 69 76 65 73 20 72 pper rom gives r
0001C0: 65 61 64 20 61 63 63 65 73 73 20 20 74 6F 20 74 ead access to t
0001D0: 68 65 20 74 6F 70 20 31 36 6B 20 6F 66 20 72 61 he top 16k of ra
0001E0: 6D 20 77 68 69 63 68 0D 20 20 20 20 20 69 73 20 m which. is
0001F0: 75 73 75 61 6C 6C 79 20 75 73 65 64 20 61 73 20 usually used as
Size : 512 (Real : 512)
000000: 67 20 77 69 6C 6C 0D 63 6F 6E 74 61 69 6E 20 74 g will.contain t
000010: 68 65 20 38 2D 62 69 74 20 64 61 74 61 20 72 65 he 8-bit data re
000020: 61 64 20 66 72 6F 6D 20 74 68 65 20 63 68 69 70 ad from the chip
000030: 2E 0D 0D 53 6F 20 68 6F 77 20 64 6F 65 73 20 74 ...So how does t
000040: 68 69 73 20 77 6F 72 6B 20 61 73 20 65 6C 65 63 his work as elec
000050: 74 72 69 63 20 73 69 67 6E 61 6C 73 3F 0D 0D 57 tric signals?..W
000060: 65 6C 6C 20 74 68 65 20 43 50 55 20 69 73 20 63 ell the CPU is c
000070: 6F 6E 6E 65 63 74 65 64 20 74 6F 20 65 76 65 72 onnected to ever
000080: 79 74 68 69 6E 67 20 62 79 20 69 74 73 20 6C 69 ything by its li
000090: 6E 65 73 2C 20 6F 72 20 70 69 6E 73 20 6F 6E 20 nes, or pins on
0000A0: 74 68 65 20 63 68 69 70 2E 0D 45 61 63 68 20 70 the chip..Each p
0000B0: 69 6E 20 68 61 73 20 61 20 73 70 65 63 69 61 6C in has a special
0000C0: 20 66 75 6E 63 74 69 6F 6E 2E 0D 0D 54 68 65 20 function...The
0000D0: 43 50 55 20 68 61 73 20 31 36 20 61 64 64 72 65 CPU has 16 addre
0000E0: 73 73 20 6C 69 6E 65 73 2C 20 6E 75 6D 62 65 72 ss lines, number
0000F0: 65 64 20 41 30 2D 41 31 35 2E 20 45 61 63 68 20 ed A0-A15. Each
000100: 6F 66 20 74 68 65 73 65 20 63 61 6E 20 62 65 20 of these can be
000110: 30 56 20 6F 72 20 35 56 2C 0D 65 66 66 65 63 74 0V or 5V,.effect
000120: 69 76 65 6C 79 20 30 20 6F 72 20 31 20 69 6E 20 ively 0 or 1 in
000130: 62 69 6E 61 72 79 2E 20 55 73 69 6E 67 20 74 68 binary. Using th
000140: 65 73 65 20 31 36 20 61 64 64 72 65 73 73 20 6C ese 16 address l
000150: 69 6E 65 73 20 77 65 20 63 61 6E 20 73 70 65 63 ines we can spec
000160: 69 66 79 20 61 6E 79 0D 6D 65 6D 6F 72 79 20 6F ify any.memory o
000170: 72 20 70 6F 72 74 20 61 64 64 72 65 73 73 20 77 r port address w
000180: 65 20 77 61 6E 74 2E 0D 0D 57 68 65 6E 20 64 61 e want...When da
000190: 74 61 20 69 73 20 74 6F 20 62 65 20 70 6F 6B 65 ta is to be poke
0001A0: 64 20 6F 72 20 72 65 61 64 2C 20 38 20 64 61 74 d or read, 8 dat
0001B0: 61 20 6C 69 6E 65 73 20 6E 75 6D 62 65 72 65 64 a lines numbered
0001C0: 20 44 30 2D 44 37 20 61 72 65 20 75 73 65 64 20 D0-D7 are used
0001D0: 74 6F 20 70 61 73 73 0D 74 68 65 20 64 61 74 61 to pass.the data
0001E0: 2E 20 28 30 56 20 77 68 65 6E 20 74 68 65 20 62 . (0V when the b
0001F0: 69 74 20 69 73 20 30 2C 20 35 56 20 77 68 65 6E it is 0, 5V when
Size : 512 (Real : 512)
000000: 20 74 68 65 20 20 73 63 72 65 65 6E 20 20 6D 65 the screen me
000010: 6D 6F 72 79 2E 20 20 4E 6F 74 65 20 20 74 68 61 mory. Note tha
000020: 74 20 20 74 68 65 20 6D 61 70 70 69 6E 67 20 6F t the mapping o
000030: 66 20 61 0D 20 20 20 20 20 6C 6F 63 61 74 69 6F f a. locatio
000040: 6E 20 69 6E 20 73 63 72 65 65 6E 20 6D 65 6D 6F n in screen memo
000050: 72 79 20 74 6F 20 70 69 78 65 6C 73 20 6F 6E 20 ry to pixels on
000060: 20 74 68 65 20 73 63 72 65 65 6E 20 64 65 70 65 the screen depe
000070: 6E 64 73 20 6F 6E 20 74 68 65 20 6D 6F 64 65 0D nds on the mode.
000080: 20 20 20 20 20 61 6E 64 20 74 68 65 20 73 63 72 and the scr
000090: 65 65 6E 20 6F 66 66 73 65 74 2E 0D 0D 20 20 20 een offset...
0000A0: 20 20 49 74 20 20 69 73 20 20 69 6E 61 64 76 69 It is inadvi
0000B0: 73 65 61 62 6C 65 20 20 74 6F 20 20 64 69 73 61 seable to disa
0000C0: 62 6C 65 20 20 20 74 68 65 20 20 20 75 70 70 65 ble the uppe
0000D0: 72 20 20 72 6F 6D 20 20 77 68 69 6C 65 20 20 65 r rom while e
0000E0: 78 65 63 75 74 69 6E 67 0D 20 20 20 20 20 69 6E xecuting. in
0000F0: 73 74 72 75 63 74 69 6F 6E 73 20 69 6E 20 69 74 structions in it
000100: 21 0D 0D 20 20 20 20 20 54 68 65 20 70 72 65 76 !.. The prev
000110: 69 6F 75 73 20 72 6F 6D 20 73 74 61 74 65 20 6D ious rom state m
000120: 61 79 20 62 65 20 20 70 61 73 73 65 64 20 20 74 ay be passed t
000130: 6F 20 20 4B 4C 20 52 4F 4D 20 52 45 53 54 4F 52 o KL ROM RESTOR
000140: 45 20 74 6F 20 72 65 73 65 74 20 74 68 65 0D 20 E to reset the.
000150: 20 20 20 20 73 74 61 74 65 20 6F 66 20 77 68 61 state of wha
000160: 74 20 69 74 20 77 61 73 20 62 65 66 6F 72 65 20 t it was before
000170: 74 68 69 73 20 72 6F 75 74 69 6E 65 20 77 61 73 this routine was
000180: 20 63 61 6C 6C 65 64 2E 0D 0D 20 20 20 20 20 54 called... T
000190: 68 69 73 20 72 6F 75 74 69 6E 65 20 65 6E 61 62 his routine enab
0001A0: 6C 65 73 20 69 6E 74 65 72 75 70 74 73 2E 0D 20 les interupts..
0001B0: 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 20 ----------.
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D ---------------.
000010: 0D 20 20 20 20 20 26 42 39 30 46 20 2D 20 48 49 . &B90F - HI
000020: 3A 20 4B 4C 20 52 4F 4D 20 53 45 4C 45 43 54 20 : KL ROM SELECT
000030: 2D 20 53 65 6C 65 63 74 20 61 20 70 61 72 74 69 - Select a parti
000040: 63 75 6C 61 72 20 75 70 70 65 72 20 52 4F 4D 0D cular upper ROM.
000050: 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 . Entry:..
000060: 20 20 20 43 20 3D 20 72 6F 6D 20 73 65 6C 65 63 C = rom selec
000070: 74 20 61 64 64 72 65 73 73 0D 0D 20 20 20 20 20 t address..
000080: 45 78 69 74 3A 0D 0D 20 20 20 20 20 43 20 3D 20 Exit:.. C =
000090: 72 6F 6D 20 73 65 6C 65 63 74 20 61 64 64 72 65 rom select addre
0000A0: 73 73 20 6F 66 20 74 68 65 20 70 72 65 76 69 6F ss of the previo
0000B0: 75 73 6C 79 20 73 65 6C 65 63 74 65 64 20 72 6F usly selected ro
0000C0: 6D 0D 20 20 20 20 20 42 20 3D 20 70 72 65 76 69 m. B = previ
0000D0: 6F 75 73 20 72 6F 6D 20 73 74 61 74 65 0D 0D 20 ous rom state..
0000E0: 20 20 20 20 41 46 20 63 6F 72 72 75 70 74 2E 0D AF corrupt..
0000F0: 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 . Notes:..
000100: 20 20 20 54 68 65 20 70 72 65 76 69 6F 75 73 20 The previous
000110: 73 74 61 74 65 20 63 61 6E 20 62 65 20 70 61 73 state can be pas
000120: 73 65 64 20 20 74 6F 20 20 4B 4C 20 20 52 4F 4D sed to KL ROM
000130: 20 52 45 53 54 4F 52 45 20 74 6F 20 72 65 73 65 RESTORE to rese
000140: 74 20 74 68 65 20 52 4F 4D 0D 20 20 20 20 20 65 t the ROM. e
000150: 6E 61 62 6C 65 20 74 6F 20 77 68 61 74 20 20 69 nable to what i
000160: 74 20 20 77 61 73 2E 20 20 42 6F 74 68 20 20 74 t was. Both t
000170: 68 65 20 20 70 72 65 76 69 6F 75 73 20 20 73 74 he previous st
000180: 61 74 65 20 20 61 6E 64 20 74 68 65 20 70 72 65 ate and the pre
000190: 76 69 6F 75 73 0D 20 20 20 20 20 73 65 6C 65 63 vious. selec
0001A0: 74 69 6F 6E 20 63 61 6E 20 62 65 20 70 61 73 73 tion can be pass
0001B0: 65 64 20 74 6F 20 20 4B 4C 20 20 52 4F 4D 20 20 ed to KL ROM
0001C0: 44 45 53 45 4C 45 43 54 20 20 74 6F 20 72 65 73 DESELECT to res
0001D0: 74 6F 72 65 20 74 68 65 20 73 74 61 74 65 20 74 tore the state t
0001E0: 6F 0D 20 20 20 20 20 77 68 61 74 20 69 74 20 77 o. what it w
0001F0: 61 73 20 61 6E 64 20 74 6F 20 73 65 6C 65 63 74 as and to select
Size : 512 (Real : 512)
000000: 26 42 39 30 36 20 2D 20 48 49 3A 20 4B 4C 20 4C &B906 - HI: KL L
000010: 20 52 4F 4D 20 45 4E 41 42 4C 45 20 2D 20 45 6E ROM ENABLE - En
000020: 61 62 6C 65 20 74 68 65 20 6C 6F 77 65 72 20 52 able the lower R
000030: 4F 4D 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D OM.. Entry:.
000040: 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 4E 6F 6E 65 ....... None
000050: 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 .. Exit:..
000060: 20 20 20 41 20 3D 20 70 72 65 76 69 6F 75 73 20 A = previous
000070: 72 6F 6D 20 73 74 61 74 65 0D 0D 20 20 20 20 20 rom state..
000080: 46 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D Flags corrupt...
000090: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 Notes:..
0000A0: 20 20 49 6E 20 67 65 6E 65 72 61 6C 20 74 68 65 In general the
0000B0: 20 6C 6F 77 65 72 20 72 6F 6D 20 69 73 20 64 69 lower rom is di
0000C0: 73 61 62 6C 65 64 20 65 78 63 65 70 74 20 77 68 sabled except wh
0000D0: 65 6E 20 61 20 66 69 72 6D 77 61 72 65 20 72 6F en a firmware ro
0000E0: 75 74 69 6E 65 20 69 73 0D 20 20 20 20 20 63 61 utine is. ca
0000F0: 6C 6C 65 64 2E 20 54 68 65 20 20 66 69 72 6D 77 lled. The firmw
000100: 61 72 65 20 20 6A 75 6D 70 62 6C 6F 63 6B 20 20 are jumpblock
000110: 61 72 72 61 6E 67 65 73 20 20 74 6F 20 20 65 6E arranges to en
000120: 61 62 6C 65 20 20 74 68 65 20 20 6C 6F 77 65 72 able the lower
000130: 20 72 6F 6D 0D 20 20 20 20 20 61 75 74 6F 6D 61 rom. automa
000140: 74 69 63 61 6C 6C 79 20 61 6E 64 20 74 6F 20 64 tically and to d
000150: 69 73 61 62 6C 65 20 69 74 20 20 61 67 61 69 6E isable it again
000160: 20 20 77 68 65 6E 20 74 68 65 20 72 6F 75 74 69 when the routi
000170: 6E 65 20 72 65 74 75 72 6E 73 2E 20 54 68 69 73 ne returns. This
000180: 0D 20 20 20 20 20 72 6F 75 74 69 6E 65 20 69 73 . routine is
000190: 20 75 73 65 64 20 62 79 20 74 68 65 20 66 69 72 used by the fir
0001A0: 6D 77 61 72 65 20 62 75 74 20 69 73 20 6F 74 68 mware but is oth
0001B0: 65 72 77 69 73 65 20 6F 66 20 6C 69 74 74 6C 65 erwise of little
0001C0: 20 75 73 65 2E 0D 0D 20 20 20 20 20 54 68 65 20 use... The
0001D0: 70 72 65 76 69 6F 75 73 20 72 6F 6D 20 73 74 61 previous rom sta
0001E0: 74 65 20 6D 61 79 20 62 65 20 20 70 61 73 73 65 te may be passe
0001F0: 64 20 20 74 6F 20 20 4B 4C 20 52 4F 4D 20 52 45 d to KL ROM RE
Size : 512 (Real : 512)
000000: 20 74 68 65 20 70 72 65 76 69 6F 75 73 6C 79 20 the previously
000010: 73 65 6C 65 63 74 65 64 20 52 4F 4D 20 61 67 61 selected ROM aga
000020: 69 6E 2E 0D 0D 20 20 20 20 20 54 68 65 20 20 6D in... The m
000030: 65 63 68 61 6E 69 73 6D 73 20 20 70 72 6F 76 69 echanisms provi
000040: 64 65 64 20 20 66 6F 72 20 20 63 61 6C 6C 69 6E ded for callin
000050: 67 20 20 72 6F 75 74 69 6E 65 73 20 20 69 6E 20 g routines in
000060: 20 65 78 70 61 6E 73 69 6F 6E 20 20 72 6F 6D 73 expansion roms
000070: 0D 20 20 20 20 20 61 75 74 6F 6D 61 74 69 63 61 . automatica
000080: 6C 6C 79 20 70 65 72 66 6F 72 6D 20 72 6F 6D 20 lly perform rom
000090: 73 65 6C 65 63 74 69 6F 6E 20 61 73 20 72 65 71 selection as req
0000A0: 75 69 72 65 64 2E 0D 0D 20 20 20 20 20 49 74 20 uired... It
0000B0: 69 73 20 20 69 6E 61 64 76 69 73 61 62 6C 65 20 is inadvisable
0000C0: 20 74 6F 20 20 73 65 6C 65 63 74 20 20 61 6E 6F to select ano
0000D0: 74 68 65 72 20 20 75 70 70 65 72 20 20 72 6F 6D ther upper rom
0000E0: 20 20 77 68 69 6C 73 74 20 20 65 78 65 63 75 74 whilst execut
0000F0: 69 6E 67 0D 20 20 20 20 20 69 6E 73 74 72 75 63 ing. instruc
000100: 74 69 6F 6E 73 20 69 6E 20 74 68 65 20 75 70 70 tions in the upp
000110: 65 72 20 72 6F 6D 2E 0D 0D 20 20 20 20 20 54 68 er rom... Th
000120: 69 73 20 72 6F 75 74 69 6E 65 20 65 6E 61 62 6C is routine enabl
000130: 65 73 20 69 6E 74 65 72 75 70 74 73 2E 0D 0D 20 es interupts...
000140: 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 -----------..
000190: 20 20 26 42 39 31 32 20 2D 20 48 49 3A 20 4B 4C &B912 - HI: KL
0001A0: 20 20 43 55 52 52 20 20 53 45 4C 45 43 54 49 4F CURR SELECTIO
0001B0: 4E 20 20 2D 20 20 41 73 6B 20 20 77 68 69 63 68 N - Ask which
0001C0: 20 20 75 70 70 65 72 20 52 4F 4D 20 69 73 20 63 upper ROM is c
0001D0: 75 72 72 65 6E 74 6C 79 0D 20 20 20 20 20 73 65 urrently. se
0001E0: 6C 65 63 74 65 64 2E 0D 0D 20 20 20 20 20 45 6E lected... En
0001F0: 74 72 79 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D try:.. None.
Size : 512 (Real : 512)
000000: 53 54 4F 52 45 20 74 6F 20 72 65 73 65 74 20 74 STORE to reset t
000010: 68 65 0D 20 20 20 20 20 73 74 61 74 65 20 74 6F he. state to
000020: 20 77 68 61 74 20 69 74 20 77 61 73 20 62 65 66 what it was bef
000030: 6F 72 65 20 74 68 69 73 20 72 6F 75 74 69 6E 65 ore this routine
000040: 20 77 61 73 20 63 61 6C 6C 65 64 2E 0D 0D 20 20 was called...
000050: 20 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 This routine
000060: 65 6E 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 enables interupt
000070: 73 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D s... -------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 0D 0D 20 20 20 20 20 26 42 39 30 39 20 2D 20 48 .. &B909 - H
0000D0: 49 3A 20 4B 4C 20 4C 20 52 4F 4D 20 44 49 53 41 I: KL L ROM DISA
0000E0: 42 4C 45 20 2D 20 44 69 73 61 62 6C 65 20 74 68 BLE - Disable th
0000F0: 65 20 6C 6F 77 65 72 20 72 6F 6D 0D 0D 20 20 20 e lower rom..
000100: 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 4E Entry:.. N
000110: 6F 6E 65 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D one.. Exit:.
000120: 0D 20 20 20 20 20 41 20 3D 70 72 65 76 69 6F 75 . A =previou
000130: 73 20 72 6F 6D 20 73 74 61 74 65 0D 0D 20 20 20 s rom state..
000140: 20 20 46 6C 61 67 73 20 63 6F 72 72 75 70 74 2E Flags corrupt.
000150: 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 0D .. Notes:...
000160: 0D 20 20 20 20 20 49 6E 20 67 65 6E 65 72 61 6C . In general
000170: 20 74 68 65 20 6C 6F 77 65 72 20 72 6F 6D 20 69 the lower rom i
000180: 73 20 64 69 73 61 62 6C 65 64 20 65 78 63 65 70 s disabled excep
000190: 74 20 77 68 65 6E 20 61 20 66 69 72 6D 77 61 72 t when a firmwar
0001A0: 65 20 72 6F 75 74 69 6E 65 20 69 73 0D 20 20 20 e routine is.
0001B0: 20 20 63 61 6C 6C 65 64 2E 20 54 68 65 20 20 66 called. The f
0001C0: 69 72 6D 77 61 72 65 20 20 6A 75 6D 70 62 6C 6F irmware jumpblo
0001D0: 63 6B 20 20 61 72 72 61 6E 67 65 73 20 20 74 6F ck arranges to
0001E0: 20 20 65 6E 61 62 6C 65 20 20 74 68 65 20 20 6C enable the l
0001F0: 6F 77 65 72 20 72 6F 6D 0D 20 20 20 20 20 61 75 ower rom. au
Size : 512 (Real : 512)
000000: 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 . Exit:..
000010: 20 20 41 20 3D 20 72 6F 6D 20 73 65 6C 65 63 74 A = rom select
000020: 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 address of the
000030: 63 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 74 currently select
000040: 65 64 20 72 6F 6D 0D 0D 20 20 20 20 20 4E 6F 74 ed rom.. Not
000050: 65 73 3A 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 es:........
000060: 49 74 20 69 73 20 6E 6F 74 20 70 6F 73 73 69 62 It is not possib
000070: 6C 65 20 74 6F 20 20 70 72 65 64 69 63 74 20 20 le to predict
000080: 74 68 65 20 20 72 6F 6D 20 20 73 65 6C 65 63 74 the rom select
000090: 20 20 61 64 64 72 65 73 73 20 61 74 20 77 68 69 address at whi
0000A0: 63 68 20 61 6E 79 0D 20 20 20 20 20 70 61 72 74 ch any. part
0000B0: 69 63 75 6C 61 72 20 65 78 70 61 6E 73 69 6F 6E icular expansion
0000C0: 20 72 6F 6D 20 20 77 69 6C 6C 20 20 62 65 20 20 rom will be
0000D0: 66 69 74 74 65 64 2E 20 20 54 68 65 20 20 66 61 fitted. The fa
0000E0: 72 20 20 61 64 64 72 65 73 73 20 75 73 65 64 20 r address used
0000F0: 74 6F 0D 20 20 20 20 20 72 65 66 65 72 65 6E 63 to. referenc
000100: 65 20 73 75 62 72 6F 75 74 69 6E 65 73 20 69 6E e subroutines in
000110: 20 20 65 78 70 61 6E 73 69 6F 6E 20 20 72 6F 6D expansion rom
000120: 73 20 20 69 6E 63 6C 75 64 65 20 20 61 20 20 72 s include a r
000130: 6F 6D 20 73 65 6C 65 63 74 20 62 79 74 65 0D 20 om select byte.
000140: 20 20 20 20 77 68 69 63 68 20 6D 75 73 74 20 62 which must b
000150: 65 20 73 65 74 20 75 70 20 61 74 20 72 75 6E 20 e set up at run
000160: 20 74 69 6D 65 2E 20 54 68 69 73 20 72 6F 75 74 time. This rout
000170: 69 6E 65 20 72 65 74 75 72 6E 73 20 74 68 65 20 ine returns the
000180: 72 6F 6D 20 73 65 6C 65 63 74 0D 20 20 20 20 20 rom select.
000190: 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 20 address of the
0001A0: 63 75 72 72 65 6E 74 20 20 72 6F 6D 20 20 73 6F current rom so
0001B0: 20 20 74 68 61 74 20 20 69 74 20 20 63 61 6E 20 that it can
0001C0: 20 73 65 74 20 20 75 70 20 20 73 75 69 74 61 62 set up suitab
0001D0: 6C 65 20 66 61 72 0D 20 20 20 20 20 61 64 64 72 le far. addr
0001E0: 65 73 73 65 73 2E 0D 0D 20 20 20 20 20 2D 2D 2D esses... ---
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 74 6F 6D 61 74 69 63 61 6C 6C 79 20 61 6E 64 20 tomatically and
000010: 74 6F 20 64 69 73 61 62 6C 65 20 69 74 20 20 61 to disable it a
000020: 67 61 69 6E 20 20 77 68 65 6E 20 74 68 65 20 72 gain when the r
000030: 6F 75 74 69 6E 65 20 72 65 74 75 72 6E 73 2E 0D outine returns..
000040: 0D 20 20 20 20 20 54 68 65 20 70 72 65 76 69 6F . The previo
000050: 75 73 20 72 6F 6D 20 73 74 61 74 65 20 6D 61 79 us rom state may
000060: 20 62 65 20 20 70 61 73 73 65 64 20 20 74 6F 20 be passed to
000070: 20 4B 4C 20 52 4F 4D 20 52 45 53 54 4F 52 45 20 KL ROM RESTORE
000080: 74 6F 20 72 65 73 65 74 20 74 68 65 0D 20 20 20 to reset the.
000090: 20 20 73 74 61 74 65 20 74 6F 20 77 68 61 74 20 state to what
0000A0: 69 74 20 77 61 73 20 62 65 66 6F 72 65 20 74 68 it was before th
0000B0: 69 73 20 72 6F 75 74 69 6E 65 20 77 61 73 20 63 is routine was c
0000C0: 61 6C 6C 65 64 2E 0D 0D 20 20 20 20 20 54 68 69 alled... Thi
0000D0: 73 20 72 6F 75 74 69 6E 65 20 65 6E 61 62 6C 65 s routine enable
0000E0: 73 20 69 6E 74 65 72 75 70 74 73 2E 0D 0D 20 20 s interupts...
0000F0: 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -------------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 20 ----------.
000140: 26 42 39 30 43 20 2D 20 48 49 3A 20 4B 4C 20 52 &B90C - HI: KL R
000150: 4F 4D 20 52 45 53 54 4F 52 45 20 2D 20 52 65 73 OM RESTORE - Res
000160: 74 6F 72 65 20 74 68 65 20 70 72 65 76 69 6F 75 tore the previou
000170: 73 20 72 6F 6D 20 73 74 61 74 65 0D 0D 20 20 20 s rom state..
000180: 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 41 Entry:.. A
000190: 20 3D 20 70 72 65 76 69 6F 75 73 20 72 6F 6D 20 = previous rom
0001A0: 73 74 61 74 65 0D 0D 20 20 20 20 20 45 78 69 74 state.. Exit
0001B0: 3A 0D 0D 20 20 20 20 20 41 46 20 63 6F 72 72 75 :.. AF corru
0001C0: 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A pt... Notes:
0001D0: 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 54 68 65 ........ The
0001E0: 20 70 72 65 76 69 6F 75 73 20 72 6F 6D 20 73 74 previous rom st
0001F0: 61 74 65 20 69 73 20 74 68 65 20 76 61 6C 75 65 ate is the value
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 39 31 35 20 ---.. &B915
000040: 2D 20 48 49 3A 20 4B 4C 20 50 52 4F 42 45 20 52 - HI: KL PROBE R
000050: 4F 4D 20 2D 20 41 73 6B 20 63 6C 61 73 73 20 61 OM - Ask class a
000060: 6E 64 20 76 65 72 73 69 6F 6E 20 6F 66 20 61 20 nd version of a
000070: 72 6F 6D 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A rom.. Entry:
000080: 0D 0D 20 20 20 20 20 43 20 3D 20 72 6F 6D 20 73 .. C = rom s
000090: 65 6C 65 63 74 20 61 64 64 72 65 73 73 20 6F 66 elect address of
0000A0: 20 72 6F 6D 0D 0D 20 20 20 20 20 45 78 69 74 3A rom.. Exit:
0000B0: 0D 0D 20 20 20 20 20 41 20 3D 20 72 6F 6D 73 20 .. A = roms
0000C0: 63 6C 61 73 73 0D 20 20 20 20 20 4C 20 3D 20 72 class. L = r
0000D0: 6F 6D 73 20 6D 61 72 6B 20 6E 75 6D 62 65 72 0D oms mark number.
0000E0: 20 20 20 20 20 48 20 3D 20 72 6F 6D 73 20 76 65 H = roms ve
0000F0: 72 73 69 6F 6E 20 6E 75 6D 62 65 72 0D 20 20 20 rsion number.
000100: 20 20 42 20 61 6E 64 20 66 6C 61 67 73 20 63 6F B and flags co
000110: 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 rrupt... Not
000120: 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 20 72 6F es:.. The ro
000130: 6D 20 63 6C 61 73 73 20 72 65 74 75 72 6E 65 64 m class returned
000140: 20 6D 61 79 20 74 61 6B 65 20 61 6E 79 20 6F 66 may take any of
000150: 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 3A 0D the following:.
000160: 0D 20 20 20 20 20 30 3A 20 20 20 20 20 20 46 6F . 0: Fo
000170: 72 65 67 72 6F 75 6E 64 20 72 6F 6D 0D 20 20 20 reground rom.
000180: 20 20 31 3A 20 20 20 20 20 20 42 61 63 6B 67 72 1: Backgr
000190: 6F 75 6E 64 20 72 6F 6D 0D 20 20 20 20 20 32 3A ound rom. 2:
0001A0: 20 20 20 20 20 20 45 78 74 65 6E 73 69 6F 6E 20 Extension
0001B0: 66 6F 72 65 67 72 6F 75 6E 64 20 72 6F 6D 0D 20 foreground rom.
0001C0: 20 20 20 20 26 38 30 20 20 20 20 20 4F 6E 20 62 &80 On b
0001D0: 6F 61 72 64 20 72 6F 6D 20 28 42 41 53 49 43 20 oard rom (BASIC
0001E0: 72 6F 6D 29 0D 0D 20 20 20 20 20 53 65 6C 65 63 rom).. Selec
0001F0: 74 69 6E 67 20 61 20 72 6F 6D 20 61 64 64 72 65 ting a rom addre
Size : 512 (Real : 512)
000000: 20 72 65 74 75 72 6E 65 64 20 62 79 20 6F 6E 65 returned by one
000010: 20 6F 66 3A 0D 0D 20 20 20 20 20 4B 4C 20 55 20 of:.. KL U
000020: 52 4F 4D 20 45 4E 41 42 4C 45 0D 20 20 20 20 20 ROM ENABLE.
000030: 4B 4C 20 55 20 52 4F 4D 20 44 49 53 41 42 4C 45 KL U ROM DISABLE
000040: 0D 20 20 20 20 20 4B 4C 20 4C 20 52 4F 4D 20 45 . KL L ROM E
000050: 4E 41 42 4C 45 0D 20 20 20 20 20 4B 4C 20 4C 20 NABLE. KL L
000060: 52 4F 4D 20 44 49 53 41 42 4C 45 0D 20 20 20 20 ROM DISABLE.
000070: 20 4B 4C 20 52 4F 4D 20 53 45 4C 45 43 54 0D 0D KL ROM SELECT..
000080: 20 20 20 20 20 49 74 20 69 73 20 70 6F 73 73 69 It is possi
000090: 62 6C 65 20 74 6F 20 75 73 65 20 4B 4C 20 55 20 ble to use KL U
0000A0: 52 4F 4D 20 44 49 53 41 42 4C 45 20 74 6F 20 72 ROM DISABLE to r
0000B0: 65 76 65 72 73 65 20 74 68 65 20 65 66 66 65 63 everse the effec
0000C0: 74 20 6F 66 20 61 20 63 61 6C 6C 0D 20 20 20 20 t of a call.
0000D0: 20 6F 66 20 4B 4C 20 55 20 45 4E 41 42 4C 45 20 of KL U ENABLE
0000E0: 28 61 6D 6F 6E 67 73 74 20 20 76 61 72 69 6F 75 (amongst variou
0000F0: 73 20 6F 74 68 65 72 20 63 6F 6D 62 69 6E 61 74 s other combinat
000100: 69 6F 6E 73 29 2E 20 48 6F 77 65 76 65 72 2C 20 ions). However,
000110: 63 61 6C 6C 69 6E 67 0D 20 20 20 20 20 4B 4C 20 calling. KL
000120: 52 4F 4D 20 52 45 53 54 4F 52 45 20 69 73 20 74 ROM RESTORE is t
000130: 68 65 20 70 72 65 66 65 72 65 64 20 20 6D 65 74 he prefered met
000140: 68 6F 64 20 20 73 69 6E 63 65 20 69 74 20 72 65 hod since it re
000150: 73 74 6F 72 65 73 20 74 68 65 20 73 74 61 74 65 stores the state
000160: 20 74 6F 0D 20 20 20 20 20 77 68 61 74 20 69 74 to. what it
000170: 20 77 61 73 2C 20 77 68 69 63 68 20 6D 69 67 68 was, which migh
000180: 74 20 68 61 76 65 20 62 65 65 6E 20 65 6E 61 62 t have been enab
000190: 6C 65 64 20 61 6E 79 77 61 79 2E 0D 0D 20 20 20 led anyway...
0001A0: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 65 This routine e
0001B0: 6E 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 73 nables interupts
0001C0: 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D ... --------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 73 73 20 77 68 65 72 65 20 6E 6F 20 20 72 6F 6D ss where no rom
000010: 20 20 69 73 20 66 69 74 74 65 64 20 69 6D 70 6C is fitted impl
000020: 69 63 69 74 79 20 73 65 6C 65 63 74 73 20 74 68 icity selects th
000030: 65 0D 20 20 20 20 20 6F 6E 2D 62 6F 61 72 64 20 e. on-board
000040: 72 6F 6D 20 61 6E 64 20 73 6F 20 69 74 20 77 69 rom and so it wi
000050: 6C 6C 20 72 65 74 75 72 6E 20 26 38 30 20 61 73 ll return &80 as
000060: 20 69 74 73 20 63 6C 61 73 73 2E 0D 0D 20 20 20 its class...
000070: 20 20 54 68 65 20 6D 65 61 6E 69 6E 67 20 6F 66 The meaning of
000080: 20 74 68 65 20 6D 61 72 6B 20 61 6E 64 20 76 65 the mark and ve
000090: 72 73 69 6F 6E 20 6E 75 6D 62 65 72 73 20 64 65 rsion numbers de
0000A0: 70 65 6E 64 73 20 6F 6E 20 74 68 65 20 72 6F 6D pends on the rom
0000B0: 0D 0D 20 20 20 20 20 54 68 69 73 20 72 6F 75 74 .. This rout
0000C0: 69 6E 65 20 65 6E 61 62 6C 65 73 20 69 6E 74 65 ine enables inte
0000D0: 72 75 70 74 73 2E 0D 0D 20 20 20 20 20 2D 2D 2D rupts... ---
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 39 31 38 ----.. &B918
000130: 20 2D 20 48 49 3A 20 4B 4C 20 52 4F 4D 20 44 45 - HI: KL ROM DE
000140: 53 45 4C 45 43 54 20 2D 20 52 65 73 74 6F 72 65 SELECT - Restore
000150: 20 70 72 65 76 69 6F 75 73 20 75 70 70 65 72 20 previous upper
000160: 72 6F 6D 20 73 65 6C 65 63 74 69 6F 6E 0D 0D 20 rom selection..
000170: 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 Entry:..
000180: 20 43 20 3D 20 72 6F 6D 20 73 65 6C 65 63 74 20 C = rom select
000190: 61 64 64 72 65 73 73 20 6F 66 20 70 72 65 76 69 address of previ
0001A0: 6F 75 73 6C 79 20 73 65 6C 65 63 74 65 64 20 72 ously selected r
0001B0: 6F 6D 0D 20 20 20 20 20 42 20 3D 20 70 72 65 76 om. B = prev
0001C0: 69 6F 75 73 20 72 6F 6D 20 73 74 61 74 65 0D 0D ious rom state..
0001D0: 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 Exit:..
0001E0: 20 43 20 3D 20 72 6F 6D 20 73 65 6C 65 63 74 20 C = rom select
0001F0: 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 63 address of the c
Size : 512 (Real : 512)
000000: 6D 62 65 72 73 20 69 74 73 0D 20 20 20 20 20 70 mbers its. p
000010: 72 69 6F 72 69 74 79 2E 20 20 54 68 65 20 20 73 riority. The s
000020: 79 6E 63 68 72 6F 6E 6F 75 73 20 20 65 76 65 6E ynchronous even
000030: 74 20 20 20 72 6F 75 74 69 6E 65 20 20 20 6D 61 t routine ma
000040: 79 20 20 20 69 74 73 65 6C 66 20 20 70 6F 6C 6C y itself poll
000050: 20 20 74 68 65 0D 20 20 20 20 20 73 79 6E 63 68 the. synch
000060: 72 6F 6E 6F 75 73 65 20 65 76 65 6E 74 20 71 75 ronouse event qu
000070: 65 75 65 2C 20 20 62 75 74 20 20 6F 6E 6C 79 20 eue, but only
000080: 20 65 76 65 6E 74 73 20 20 6F 66 20 20 68 69 67 events of hig
000090: 68 65 72 20 70 72 69 6F 72 69 74 79 20 74 68 61 her priority tha
0000A0: 6E 0D 20 20 20 20 20 69 74 73 65 6C 66 20 61 72 n. itself ar
0000B0: 65 20 6E 6F 74 69 66 69 65 64 20 74 6F 20 69 74 e notified to it
0000C0: 2E 0D 0D 20 20 20 20 20 54 68 69 73 20 72 6F 75 ... This rou
0000D0: 74 69 6E 65 20 6D 61 79 20 65 6E 61 62 6C 65 20 tine may enable
0000E0: 69 6E 74 65 72 75 70 74 73 2E 0D 0D 20 20 20 20 interupts...
0000F0: 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ---------------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 -------.. &B
000140: 39 32 41 20 2D 20 48 49 3A 20 4B 4C 20 20 53 43 92A - HI: KL SC
000150: 41 4E 20 20 4E 45 45 44 45 44 20 20 2D 20 20 45 AN NEEDED - E
000160: 6E 73 75 72 65 20 20 6B 65 79 62 6F 61 72 64 20 nsure keyboard
000170: 20 69 73 20 20 73 63 61 6E 6E 65 64 20 61 74 20 is scanned at
000180: 6E 65 78 74 0D 20 20 20 20 20 6F 70 70 6F 72 74 next. opport
000190: 75 6E 69 74 79 2E 0D 0D 0D 20 20 20 20 20 4E 6F unity.... No
0001A0: 6E 65 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D ne.. Exit:..
0001B0: 20 20 20 20 20 41 46 20 61 6E 64 20 48 4C 20 63 AF and HL c
0001C0: 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 4E 6F orrupt... No
0001D0: 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 20 6B tes:.. The k
0001E0: 65 79 62 6F 61 72 64 20 69 73 20 6E 6F 72 6D 61 eyboard is norma
0001F0: 6C 6C 79 20 73 63 61 6E 6E 65 64 20 6F 6E 20 65 lly scanned on e
Size : 512 (Real : 512)
000000: 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 74 65 urrently selecte
000010: 64 20 72 6F 6D 0D 20 20 20 20 20 42 20 63 6F 72 d rom. B cor
000020: 72 75 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 rupt... Note
000030: 73 3A 0D 0D 20 20 20 20 20 54 68 65 20 70 72 65 s:.. The pre
000040: 76 69 6F 75 73 20 72 6F 6D 20 73 65 6C 65 63 74 vious rom select
000050: 69 6F 6E 20 61 6E 64 20 20 73 74 61 74 65 20 20 ion and state
000060: 61 72 65 20 20 76 61 6C 75 65 73 20 20 72 65 74 are values ret
000070: 75 72 6E 65 64 20 62 79 20 4B 4C 20 52 4F 4D 0D urned by KL ROM.
000080: 20 20 20 20 20 53 45 4C 45 43 54 2E 20 54 68 65 SELECT. The
000090: 20 63 75 72 72 65 6E 74 6C 79 20 20 73 65 6C 65 currently sele
0000A0: 63 74 65 64 20 20 72 6F 6D 20 20 72 65 74 75 72 cted rom retur
0000B0: 6E 65 64 20 20 62 79 20 20 74 68 69 73 20 20 72 ned by this r
0000C0: 6F 6D 20 74 68 61 74 20 77 61 73 0D 20 20 20 20 om that was.
0000D0: 20 73 65 6C 65 63 74 65 64 20 62 79 20 63 61 6C selected by cal
0000E0: 6C 69 6E 67 20 4B 4C 20 52 4F 4D 20 53 45 4C 45 ling KL ROM SELE
0000F0: 43 54 20 28 75 6E 6C 65 73 73 20 66 75 72 74 68 CT (unless furth
000100: 65 72 20 73 65 6C 65 63 74 69 6F 6E 73 20 68 61 er selections ha
000110: 76 65 20 62 65 65 6E 0D 20 20 20 20 20 6D 61 64 ve been. mad
000120: 65 29 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 54 e)........ T
000130: 68 65 20 6D 65 63 68 61 6E 69 73 6D 73 20 70 72 he mechanisms pr
000140: 6F 76 69 64 65 64 20 20 66 6F 72 20 20 63 61 6C ovided for cal
000150: 6C 69 6E 67 20 20 73 75 62 72 6F 75 74 69 6E 65 ling subroutine
000160: 73 20 20 69 6E 20 20 65 78 70 61 6E 73 69 6F 6E s in expansion
000170: 20 72 6F 6D 73 0D 20 20 20 20 20 61 75 74 6F 6D roms. autom
000180: 61 74 69 63 61 6C 6C 79 20 70 65 72 66 6F 72 6D atically perform
000190: 20 72 6F 6D 20 73 65 6C 65 63 74 69 6F 6E 20 61 rom selection a
0001A0: 73 20 72 65 71 75 69 72 65 64 2E 0D 0D 20 20 20 s required...
0001B0: 20 20 49 74 20 69 73 20 20 69 6E 61 64 76 69 73 It is inadvis
0001C0: 61 62 6C 65 20 20 74 6F 20 20 73 65 6C 65 63 74 able to select
0001D0: 20 20 61 6E 6F 74 68 65 72 20 20 75 70 70 65 72 another upper
0001E0: 20 20 72 6F 6D 20 20 77 68 69 6C 73 74 20 20 65 rom whilst e
0001F0: 78 65 63 75 74 69 6E 67 0D 20 20 20 20 20 69 6E xecuting. in
Size : 512 (Real : 512)
000000: 76 65 72 79 20 73 69 78 74 68 20 74 69 63 6B 65 very sixth ticke
000010: 72 20 69 6E 74 65 72 75 70 74 20 28 65 76 65 72 r interupt (ever
000020: 79 0D 20 20 20 20 20 66 69 66 74 69 65 74 68 20 y. fiftieth
000030: 6F 66 20 61 20 73 65 63 6F 6E 64 29 2E 20 57 68 of a second). Wh
000040: 69 6C 65 20 69 6E 74 65 72 75 70 74 73 20 61 72 ile interupts ar
000050: 65 20 64 69 73 61 62 6C 65 64 20 74 68 65 20 74 e disabled the t
000060: 69 63 6B 73 20 61 72 65 20 6C 6F 73 74 0D 20 20 icks are lost.
000070: 20 20 20 61 6E 64 20 74 68 65 20 6B 65 79 62 6F and the keybo
000080: 61 72 66 64 20 77 69 6C 6C 20 6E 6F 74 20 62 65 arfd will not be
000090: 20 73 63 61 6E 6E 65 64 2E 20 49 66 20 69 6E 74 scanned. If int
0000A0: 65 72 75 70 74 73 20 61 72 65 20 64 69 73 61 62 erupts are disab
0000B0: 6C 65 64 20 66 6F 72 20 61 0D 20 20 20 20 20 73 led for a. s
0000C0: 69 67 6E 69 66 69 63 61 6E 74 20 70 65 72 69 6F ignificant perio
0000D0: 64 20 28 6D 6F 72 65 20 74 68 61 6E 20 74 68 72 d (more than thr
0000E0: 65 65 20 74 69 63 6B 73 29 20 74 68 65 6E 20 74 ee ticks) then t
0000F0: 68 69 73 20 72 6F 75 74 69 6E 65 20 73 68 6F 75 his routine shou
000100: 6C 64 20 62 65 0D 20 20 20 20 20 63 61 6C 6C 65 ld be. calle
000110: 64 20 6A 75 73 74 20 62 65 66 6F 72 65 20 69 6E d just before in
000120: 74 65 72 75 70 74 73 20 61 72 65 20 72 65 2D 65 terupts are re-e
000130: 6E 61 62 6C 65 64 2E 20 49 66 20 69 6E 74 65 72 nabled. If inter
000140: 75 70 74 73 20 61 72 65 20 64 69 73 61 62 6C 65 upts are disable
000150: 64 0D 20 20 20 20 20 66 6F 72 20 61 20 6C 6F 6E d. for a lon
000160: 67 20 74 69 6D 65 20 28 6D 6F 72 65 20 74 68 61 g time (more tha
000170: 6E 20 74 77 65 6C 76 65 20 20 74 69 63 6B 73 29 n twelve ticks)
000180: 20 74 68 65 6E 20 74 68 65 20 75 73 65 72 20 6D then the user m
000190: 69 67 68 74 20 63 6F 6E 73 69 64 65 72 0D 20 20 ight consider.
0001A0: 20 20 20 63 61 6C 6C 69 6E 67 20 74 68 69 73 20 calling this
0001B0: 72 6F 75 74 69 6E 65 20 61 6E 64 20 72 65 2D 65 routine and re-e
0001C0: 6E 61 62 6C 69 6E 67 20 69 6E 74 65 72 75 70 74 nabling interupt
0001D0: 73 20 20 66 6F 72 20 61 20 73 68 6F 72 74 20 74 s for a short t
0001E0: 69 6D 65 20 65 76 65 72 79 0D 20 20 20 20 20 66 ime every. f
0001F0: 69 66 74 69 65 74 68 20 6F 66 20 61 20 73 65 63 iftieth of a sec
Size : 512 (Real : 512)
000000: 73 74 72 75 63 74 69 6F 6E 73 20 69 6E 20 74 68 structions in th
000010: 65 20 75 70 70 65 72 20 72 6F 6D 2E 0D 0D 20 20 e upper rom...
000020: 20 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 This routine
000030: 65 6E 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 enables interupt
000040: 73 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D s... -------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D ---------------.
000090: 0D 20 20 20 20 20 26 42 39 31 42 20 2D 20 48 49 . &B91B - HI
0000A0: 3A 20 4B 4C 20 4C 44 49 52 20 2D 20 4D 6F 76 65 : KL LDIR - Move
0000B0: 20 61 20 62 6C 6F 63 6B 20 6F 66 20 63 6F 64 65 a block of code
0000C0: 20 77 69 74 68 20 72 6F 6D 73 20 74 75 72 6E 65 with roms turne
0000D0: 64 20 6F 66 66 0D 0D 20 20 20 20 20 45 6E 74 72 d off.. Entr
0000E0: 79 3A 0D 0D 20 20 20 20 20 42 43 2C 44 45 2C 48 y:.. BC,DE,H
0000F0: 4C 20 61 73 20 4C 44 49 52 20 63 6F 6D 6D 61 6E L as LDIR comman
000100: 64 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 d.. Exit:..
000110: 20 20 20 20 46 2C 42 43 2C 44 45 2C 48 4C 20 61 F,BC,DE,HL a
000120: 73 20 73 65 74 20 62 79 20 4C 44 49 52 20 63 6F s set by LDIR co
000130: 6D 6D 61 6E 64 0D 0D 20 20 20 20 20 4E 6F 74 65 mmand.. Note
000140: 73 3A 0D 0D 20 20 20 20 20 54 68 69 73 20 72 6F s:.. This ro
000150: 75 74 69 6E 65 20 6D 61 79 20 62 65 20 75 73 65 utine may be use
000160: 64 20 74 6F 20 6D 6F 76 65 20 20 61 72 65 61 73 d to move areas
000170: 20 6F 66 20 72 61 6D 20 69 72 72 65 73 70 65 63 of ram irrespec
000180: 74 69 76 65 20 6F 66 20 74 68 65 20 72 6F 6D 0D tive of the rom.
000190: 20 20 20 20 20 73 74 61 74 65 2E 0D 0D 20 20 20 state...
0001A0: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 65 This routine e
0001B0: 6E 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 73 nables interupts
0001C0: 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D ... --------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 6F 6E 64 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D ond.. ------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 0D 0D 20 20 20 20 20 3D 3D 3D 3D 3D 3D 3D 3D 3D .. =========
000060: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000070: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000080: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000090: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 20 20 =============.
0000A0: 20 20 20 65 6E 64 20 6F 66 20 68 69 67 68 20 6B end of high k
0000B0: 65 72 6E 61 6C 20 6A 75 6D 70 62 6C 6F 63 6B 0D ernal jumpblock.
0000C0: 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D ................
0000D0: 1A 10 22 00 00 00 00 00 00 00 00 00 00 00 00 00 ..".............
0000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000F0: 00 00 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000100: 6C 64 20 62 65 0D 20 20 20 20 20 63 61 6C 6C 65 ld be. calle
000110: 64 20 6A 75 73 74 20 62 65 66 6F 72 65 20 69 6E d just before in
000120: 74 65 72 75 70 74 73 20 61 72 65 20 72 65 2D 65 terupts are re-e
000130: 6E 61 62 6C 65 64 2E 20 49 66 20 69 6E 74 65 72 nabled. If inter
000140: 75 70 74 73 20 61 72 65 20 64 69 73 61 62 6C 65 upts are disable
000150: 64 0D 20 20 20 20 20 66 6F 72 20 61 20 6C 6F 6E d. for a lon
000160: 67 20 74 69 6D 65 20 28 6D 6F 72 65 20 74 68 61 g time (more tha
000170: 6E 20 74 77 65 6C 76 65 20 20 74 69 63 6B 73 29 n twelve ticks)
000180: 20 74 68 65 6E 20 74 68 65 20 75 73 65 72 20 6D then the user m
000190: 69 67 68 74 20 63 6F 6E 73 69 64 65 72 0D 20 20 ight consider.
0001A0: 20 20 20 63 61 6C 6C 69 6E 67 20 74 68 69 73 20 calling this
0001B0: 72 6F 75 74 69 6E 65 20 61 6E 64 20 72 65 2D 65 routine and re-e
0001C0: 6E 61 62 6C 69 6E 67 20 69 6E 74 65 72 75 70 74 nabling interupt
0001D0: 73 20 20 66 6F 72 20 61 20 73 68 6F 72 74 20 74 s for a short t
0001E0: 69 6D 65 20 65 76 65 72 79 0D 20 20 20 20 20 66 ime every. f
0001F0: 69 66 74 69 65 74 68 20 6F 66 20 61 20 73 65 63 iftieth of a sec
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D ---------------.
000010: 0D 20 20 20 20 20 26 42 39 31 45 20 2D 20 48 49 . &B91E - HI
000020: 3A 20 4B 4C 20 4C 44 44 52 20 2D 20 4D 6F 76 65 : KL LDDR - Move
000030: 20 61 20 62 6C 6F 63 6B 20 6F 66 20 63 6F 64 65 a block of code
000040: 20 77 69 74 68 20 72 6F 6D 73 20 74 75 72 6E 65 with roms turne
000050: 64 20 6F 66 66 0D 0D 20 20 20 20 20 45 6E 74 72 d off.. Entr
000060: 79 3A 0D 0D 20 20 20 20 20 42 43 2C 44 45 2C 48 y:.. BC,DE,H
000070: 4C 20 61 73 20 4C 44 44 52 20 63 6F 6D 6D 61 6E L as LDDR comman
000080: 64 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 d.. Exit:..
000090: 20 20 20 20 46 2C 42 43 2C 44 45 2C 48 4C 20 61 F,BC,DE,HL a
0000A0: 73 20 4C 44 44 52 20 63 6F 6D 6D 61 6E 64 0D 0D s LDDR command..
0000B0: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 Notes:..
0000C0: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 6D This routine m
0000D0: 61 79 20 62 65 20 75 73 65 64 20 74 6F 20 6D 6F ay be used to mo
0000E0: 76 65 20 20 61 72 65 61 73 20 6F 66 20 72 61 6D ve areas of ram
0000F0: 20 69 72 72 65 73 70 65 63 74 69 76 65 20 6F 66 irrespective of
000100: 20 74 68 65 20 72 6F 6D 0D 20 20 20 20 20 73 74 the rom. st
000110: 61 74 65 2E 0D 0D 20 20 20 20 20 54 68 69 73 20 ate... This
000120: 72 6F 75 74 69 6E 65 20 65 6E 61 62 6C 65 73 20 routine enables
000130: 69 6E 74 65 72 75 70 74 73 0D 0D 20 20 20 20 20 interupts..
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 -------.. &B
000190: 39 32 31 20 2D 20 48 4C 3A 20 4B 4C 20 20 50 4F 921 - HL: KL PO
0001A0: 4C 4C 20 20 53 59 4E 43 48 52 4F 4E 4F 55 53 20 LL SYNCHRONOUS
0001B0: 20 2D 20 20 43 68 65 63 6B 20 20 69 66 20 20 61 - Check if a
0001C0: 6E 20 20 65 76 65 6E 74 20 77 69 74 68 20 68 69 n event with hi
0001D0: 67 68 65 72 0D 20 20 20 20 20 70 72 69 6F 72 69 gher. priori
0001E0: 74 79 20 74 68 61 6E 20 74 68 65 20 63 75 72 72 ty than the curr
0001F0: 65 6E 74 20 65 76 65 6E 74 20 69 73 20 70 65 6E ent event is pen
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 64 69 6E 67 0D 0D 20 20 20 20 20 45 6E 74 72 79 ding.. Entry
000010: 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 20 :.. None..
000020: 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 49 Exit:.. I
000030: 66 20 74 68 65 72 65 20 69 73 20 61 20 68 69 67 f there is a hig
000040: 68 65 72 20 70 72 69 6F 72 69 74 79 20 65 76 65 her priority eve
000050: 6E 74 20 70 65 6E 64 69 6E 67 2E 0D 0D 20 20 20 nt pending...
000060: 20 20 43 61 72 72 79 20 74 72 75 65 2E 0D 0D 0D Carry true....
000070: 0D 0D 0D 0D 0D 20 20 20 20 20 49 66 20 74 68 65 ..... If the
000080: 72 65 20 69 73 20 6E 6F 20 68 69 67 68 65 72 20 re is no higher
000090: 70 72 69 6F 72 69 74 79 20 65 76 65 6E 74 20 70 priority event p
0000A0: 65 6E 64 69 6E 67 3A 0D 0D 20 20 20 20 20 43 61 ending:.. Ca
0000B0: 72 72 79 20 66 61 6C 73 65 2E 0D 0D 20 20 20 20 rry false...
0000C0: 20 41 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 A and other fla
0000D0: 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 gs corrupt...
0000E0: 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 Notes:.. T
0000F0: 68 69 73 20 72 6F 75 74 69 6E 65 20 69 73 20 69 his routine is i
000100: 6E 20 20 74 68 65 20 20 68 69 67 68 20 20 6A 75 n the high ju
000110: 6D 70 62 6C 6F 63 6B 20 20 74 6F 20 20 6D 69 6E mpblock to min
000120: 69 6D 69 73 65 20 74 68 65 20 6F 76 65 72 68 65 imise the overhe
000130: 61 64 20 6F 66 0D 20 20 20 20 20 70 6F 6C 6C 69 ad of. polli
000140: 6E 67 20 66 6F 72 20 73 79 6E 63 68 72 6F 6E 6F ng for synchrono
000150: 75 73 20 20 65 76 65 6E 74 73 2E 20 20 49 66 20 us events. If
000160: 20 74 68 65 20 20 73 79 6E 63 68 72 6F 6E 6F 75 the synchronou
000170: 73 20 20 65 76 65 6E 74 20 71 75 65 75 65 20 69 s event queue i
000180: 73 0D 20 20 20 20 20 65 6D 70 74 79 20 74 68 65 s. empty the
000190: 6E 20 74 68 65 20 72 6F 75 74 69 6E 65 20 74 61 n the routine ta
0001A0: 6B 65 73 20 6F 6E 6C 79 20 61 20 66 65 77 20 69 kes only a few i
0001B0: 6E 73 74 72 75 63 74 69 6F 6E 73 2E 0D 0D 20 20 nstructions...
0001C0: 20 20 20 57 68 69 6C 65 20 61 20 73 79 6E 63 68 While a synch
0001D0: 72 6F 6E 6F 75 73 20 65 76 65 6E 74 20 69 73 20 ronous event is
0001E0: 62 65 69 6E 67 20 20 70 72 6F 63 65 73 73 65 64 being processed
0001F0: 20 74 68 65 20 6B 65 72 6E 65 6C 20 72 65 6D 65 the kernel reme
Size : 512 (Real : 512)
000000: 1B 40 0D 0D 0D 20 20 20 20 20 49 6E 64 69 72 65 .@... Indire
000010: 63 74 69 6F 6E 73 0D 20 20 20 20 20 2D 2D 2D 2D ctions. ----
000020: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 --------.. &
000030: 42 44 43 44 20 2D 20 49 4E 44 3A 20 54 58 54 20 BDCD - IND: TXT
000040: 44 52 41 57 20 43 55 52 53 4F 52 20 2D 20 50 75 DRAW CURSOR - Pu
000050: 74 20 63 75 72 73 6F 72 20 62 6C 6F 62 20 6F 6E t cursor blob on
000060: 20 73 63 72 65 65 6E 0D 0D 20 20 20 20 20 45 6E screen.. En
000070: 74 72 79 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D try:.. None.
000080: 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 . Exit:..
000090: 20 20 41 46 20 63 6F 72 72 75 70 74 2E 0D 0D 20 AF corrupt...
0000A0: 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 Notes:..
0000B0: 20 54 68 69 73 20 69 6E 64 69 72 65 63 74 69 6F This indirectio
0000C0: 6E 20 69 73 20 70 72 6F 76 69 64 65 64 20 74 6F n is provided to
0000D0: 20 61 6C 6C 6F 77 20 20 74 68 65 20 20 75 73 65 allow the use
0000E0: 72 20 74 6F 20 63 68 61 6E 67 65 20 74 68 65 20 r to change the
0000F0: 66 6F 72 6D 20 6F 66 0D 20 20 20 20 20 74 68 65 form of. the
000100: 20 63 75 72 73 6F 72 20 62 6C 6F 62 2E 20 53 65 cursor blob. Se
000110: 65 20 54 58 54 20 20 50 4C 41 43 45 20 20 43 55 e TXT PLACE CU
000120: 52 53 4F 52 20 20 66 6F 72 20 20 61 20 64 65 73 RSOR for a des
000130: 63 72 69 70 74 69 6F 6E 20 6F 66 20 68 6F 77 20 cription of how
000140: 74 68 65 0D 20 20 20 20 20 63 75 72 73 6F 72 20 the. cursor
000150: 62 6C 6F 62 20 69 73 20 6E 6F 72 6D 61 6C 6C 79 blob is normally
000160: 20 77 72 69 74 74 65 6E 2E 0D 0D 20 20 20 20 20 written...
000170: 54 68 65 20 74 65 78 74 20 56 44 55 20 72 6F 75 The text VDU rou
000180: 74 69 6E 65 73 20 20 63 61 6C 6C 20 20 74 68 69 tines call thi
000190: 73 20 20 69 6E 64 69 72 65 63 74 69 6F 6E 20 20 s indirection
0001A0: 77 68 65 6E 65 76 65 72 20 74 68 65 20 63 75 72 whenever the cur
0001B0: 73 6F 72 20 69 73 0D 20 20 20 20 20 70 6C 61 63 sor is. plac
0001C0: 65 64 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E ed on the screen
0001D0: 2E 20 41 6C 6C 20 20 74 68 65 20 20 74 65 78 74 . All the text
0001E0: 20 20 56 44 55 20 20 72 6F 75 74 69 6E 65 73 20 VDU routines
0001F0: 74 68 61 74 20 72 65 61 64 20 66 72 6F 6D 20 74 that read from t
Size : 512 (Real : 512)
000000: 20 66 72 6F 6D 20 74 68 65 0D 20 20 20 20 20 73 from the. s
000010: 63 72 65 65 6E 2E 20 54 58 54 20 52 44 20 43 48 creen. TXT RD CH
000020: 41 52 20 72 65 6D 6F 76 65 73 20 74 68 65 20 20 AR removes the
000030: 63 75 72 73 6F 72 20 66 72 6F 6D 20 74 68 65 20 cursor from the
000040: 73 63 72 65 65 6E 20 62 65 66 6F 72 65 20 63 61 screen before ca
000050: 6C 6C 69 6E 67 0D 20 20 20 20 20 74 68 69 73 20 lling. this
000060: 69 6E 64 69 72 65 63 74 69 6F 6E 2E 0D 0D 20 20 indirection...
000070: 20 20 20 54 68 69 73 20 72 65 61 64 20 69 73 20 This read is
000080: 70 65 72 66 6F 72 6D 65 64 20 62 79 20 20 63 6F performed by co
000090: 6D 70 61 72 69 6E 67 20 20 74 68 65 20 20 6D 61 mparing the ma
0000A0: 74 72 69 78 20 20 66 6F 75 6E 64 20 6F 6E 20 74 trix found on t
0000B0: 68 65 20 73 63 72 65 65 6E 0D 20 20 20 20 20 77 he screen. w
0000C0: 69 74 68 20 74 68 65 20 6D 61 74 72 69 63 65 73 ith the matrices
0000D0: 20 75 73 65 64 20 74 6F 20 67 65 6E 65 72 61 74 used to generat
0000E0: 65 20 20 63 68 61 72 61 63 74 65 72 73 2E 20 41 e characters. A
0000F0: 73 20 61 20 72 65 73 75 6C 74 20 63 68 61 6E 67 s a result chang
000100: 69 6E 67 20 61 0D 20 20 20 20 20 63 68 61 72 61 ing a. chara
000110: 63 74 65 72 20 6D 61 74 72 69 78 2C 20 63 68 61 cter matrix, cha
000120: 6E 67 69 6E 67 20 70 65 6E 20 20 6F 72 20 20 70 nging pen or p
000130: 61 70 65 72 20 20 69 6E 6B 73 20 20 6F 72 20 63 aper inks or c
000140: 68 61 6E 67 69 6E 67 20 74 68 65 20 73 63 72 65 hanging the scre
000150: 6E 0D 20 20 20 20 20 28 65 2E 67 2E 20 64 72 61 n. (e.g. dra
000160: 77 69 6E 67 20 61 20 20 6C 69 6E 65 20 20 74 68 wing a line th
000170: 72 6F 75 67 68 20 20 61 20 20 63 68 61 72 61 63 rough a charac
000180: 74 65 72 29 20 20 6D 61 79 20 20 6D 61 6B 65 20 ter) may make
000190: 74 68 65 20 63 68 61 72 61 63 74 65 72 0D 20 20 the character.
0001A0: 20 20 20 75 6E 72 65 61 64 61 62 6C 65 2E 20 49 unreadable. I
0001B0: 6E 20 70 61 72 74 69 63 75 6C 61 72 20 74 68 65 n particular the
0001C0: 20 63 75 72 73 6F 72 20 62 6C 6F 62 20 20 77 69 cursor blob wi
0001D0: 6C 6C 20 63 61 75 73 65 20 63 6F 6E 66 75 73 69 ll cause confusi
0001E0: 6F 6E 20 61 6E 64 20 73 6F 0D 20 20 20 20 20 69 on and so. i
0001F0: 74 20 73 68 6F 75 6C 64 20 6E 6F 74 20 62 65 20 t should not be
Size : 512 (Real : 512)
000000: 68 65 0D 20 20 20 20 20 73 63 72 65 65 6E 2C 20 he. screen,
000010: 77 72 69 74 65 20 74 6F 20 74 68 65 20 73 63 72 write to the scr
000020: 65 65 6E 20 6F 72 20 20 63 68 61 6E 67 65 20 74 een or change t
000030: 68 65 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 he current posit
000040: 69 6F 6E 20 72 65 6D 6F 76 65 20 74 68 65 0D 20 ion remove the.
000050: 20 20 20 20 63 75 72 73 6F 72 20 28 75 73 69 6E cursor (usin
000060: 67 20 54 58 54 20 55 4E 44 52 41 57 20 20 43 55 g TXT UNDRAW CU
000070: 52 53 4F 52 29 20 20 62 65 66 6F 72 65 20 20 70 RSOR) before p
000080: 65 72 66 6F 72 6D 69 6E 67 20 74 68 65 69 72 20 erforming their
000090: 61 63 74 69 6F 6E 20 61 6E 64 0D 20 20 20 20 20 action and.
0000A0: 70 6C 61 63 65 20 69 74 20 62 61 63 6B 20 6F 6E place it back on
0000B0: 20 74 68 65 20 20 73 63 72 65 65 6E 20 20 61 66 the screen af
0000C0: 74 65 72 77 61 72 64 73 20 20 28 75 73 69 6E 67 terwards (using
0000D0: 20 20 54 58 54 20 44 52 41 57 20 43 55 52 53 4F TXT DRAW CURSO
0000E0: 52 29 2E 20 41 6E 0D 20 20 20 20 20 65 78 61 6D R). An. exam
0000F0: 70 6C 65 20 6F 66 20 73 75 63 68 20 61 20 72 6F ple of such a ro
000100: 75 74 69 6E 65 20 69 73 20 20 54 58 54 20 20 57 utine is TXT W
000110: 52 20 20 43 48 41 52 20 74 68 61 74 20 77 72 69 R CHAR that wri
000120: 74 65 73 20 61 20 63 68 61 72 61 63 74 65 72 20 tes a character
000130: 6F 6E 0D 20 20 20 20 20 74 68 65 20 73 63 72 65 on. the scre
000140: 65 6E 2E 0D 0D 20 20 20 20 20 54 68 69 73 20 69 en... This i
000150: 6E 64 69 72 65 63 74 69 6F 6E 20 69 73 20 73 65 ndirection is se
000160: 74 75 70 20 77 68 65 6E 20 54 58 54 20 49 4E 49 tup when TXT INI
000170: 54 49 41 4C 49 53 45 20 6F 72 20 54 58 54 20 52 TIALISE or TXT R
000180: 45 53 45 54 20 69 73 20 63 61 6C 6C 65 64 2E 0D ESET is called..
000190: 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D . ----------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 ------------..
0001E0: 20 20 20 26 42 44 44 30 20 2D 20 49 4E 44 3A 20 &BDD0 - IND:
0001F0: 54 58 54 20 55 4E 44 52 41 57 20 43 55 52 53 4F TXT UNDRAW CURSO
Size : 512 (Real : 512)
000000: 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0D on the screen...
000010: 20 20 20 20 20 53 70 65 63 69 61 6C 20 20 70 72 Special pr
000020: 65 63 61 75 74 69 6F 6E 73 20 20 61 72 65 20 20 ecautions are
000030: 74 61 6B 65 6E 20 20 20 61 67 61 69 6E 73 74 20 taken against
000040: 20 67 65 6E 65 72 61 74 69 6E 67 20 20 69 6E 76 generating inv
000050: 65 72 73 65 20 20 73 70 61 63 65 0D 20 20 20 20 erse space.
000060: 20 28 63 68 61 72 61 63 74 65 72 20 26 38 66 29 (character &8f)
000070: 2E 20 49 6E 69 74 69 61 6C 6C 79 20 74 68 65 20 . Initially the
000080: 20 63 68 61 72 61 63 74 65 72 20 20 69 73 20 20 character is
000090: 72 65 61 64 20 20 61 73 73 75 6D 69 6E 67 20 74 read assuming t
0000A0: 68 61 74 20 74 68 65 0D 20 20 20 20 20 62 61 63 hat the. bac
0000B0: 6B 67 72 6F 75 6E 64 20 74 6F 20 74 68 65 20 63 kground to the c
0000C0: 68 61 72 61 63 74 65 72 20 77 61 73 20 77 72 69 haracter was wri
0000D0: 74 74 65 6E 20 20 69 6E 20 20 74 68 65 20 63 75 tten in the cu
0000E0: 72 72 65 6E 74 20 70 61 70 65 72 20 69 6E 6B 2E rrent paper ink.
0000F0: 20 49 66 0D 20 20 20 20 20 74 68 69 73 20 66 61 If. this fa
000100: 69 6C 73 20 74 6F 20 20 67 65 6E 65 72 61 74 65 ils to generate
000110: 20 20 61 20 20 72 65 63 6F 67 6E 69 73 65 61 62 a recogniseab
000120: 6C 65 20 20 63 68 61 72 61 63 74 65 72 20 20 6F le character o
000130: 72 20 20 69 74 20 67 65 6E 65 72 61 74 65 73 0D r it generates.
000140: 20 20 20 20 20 69 6E 76 65 72 73 65 20 73 70 61 inverse spa
000150: 63 65 20 74 68 65 6E 20 61 6E 6F 74 68 65 72 20 ce then another
000160: 74 72 79 20 69 73 20 20 6D 61 64 65 20 62 79 20 try is made by
000170: 61 73 73 75 6D 69 6E 67 20 74 68 61 74 20 74 68 assuming that th
000180: 65 20 63 68 61 72 61 63 74 65 72 0D 20 20 20 20 e character.
000190: 20 77 61 73 20 77 72 69 74 74 65 6E 20 69 6E 20 was written in
0001A0: 74 68 65 20 63 75 72 72 65 6E 74 20 70 65 6E 20 the current pen
0001B0: 69 6E 6B 2E 0D 0D 20 20 20 20 20 54 68 65 20 63 ink... The c
0001C0: 68 61 72 61 63 74 65 72 73 20 61 72 65 20 73 63 haracters are sc
0001D0: 61 6E 6E 65 64 20 20 73 74 61 72 74 69 6E 67 20 anned starting
0001E0: 20 77 69 74 68 20 20 30 20 20 61 6E 64 20 66 69 with 0 and fi
0001F0: 6E 69 73 68 69 6E 67 20 77 69 74 68 20 26 46 46 nishing with &FF
Size : 512 (Real : 512)
000000: 52 20 2D 20 52 65 6D 6F 76 65 20 62 6C 6F 62 20 R - Remove blob
000010: 66 72 6F 6D 20 73 63 72 65 65 6E 2E 0D 0D 20 20 from screen...
000020: 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 Entry:..
000030: 4E 6F 6E 65 0D 0D 20 20 20 20 20 45 78 69 74 3A None.. Exit:
000040: 0D 0D 20 20 20 20 20 41 46 20 63 6F 72 72 75 70 .. AF corrup
000050: 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D t... Notes:.
000060: 0D 20 20 20 20 20 53 65 65 20 49 4E 44 3A 20 54 . See IND: T
000070: 58 54 20 44 52 41 57 20 43 55 52 53 4F 52 0D 0D XT DRAW CURSOR..
000080: 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -----------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 ------------..
0000D0: 20 20 20 26 42 44 44 33 20 2D 20 49 4E 44 3A 20 &BDD3 - IND:
0000E0: 54 58 54 20 57 52 49 54 45 20 43 48 41 52 20 2D TXT WRITE CHAR -
0000F0: 20 50 75 74 20 61 20 63 68 61 72 61 63 74 65 72 Put a character
000100: 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 0D 0D on the screen..
000110: 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 Entry:..
000120: 20 20 41 20 3D 20 63 68 61 72 61 63 74 65 72 20 A = character
000130: 74 6F 20 77 72 69 74 65 0D 20 20 20 20 20 48 20 to write. H
000140: 3D 20 63 6F 6C 75 6D 6E 20 74 6F 20 77 72 69 74 = column to writ
000150: 65 20 61 74 0D 20 20 20 20 20 4C 20 3D 20 72 6F e at. L = ro
000160: 77 20 74 6F 20 77 72 69 74 65 20 61 74 0D 0D 20 w to write at..
000170: 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 Exit:..
000180: 41 46 2C 42 43 2C 44 45 2C 48 4C 20 63 6F 72 72 AF,BC,DE,HL corr
000190: 75 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 upt... Notes
0001A0: 3A 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 54 68 :........ Th
0001B0: 65 20 63 68 61 72 61 63 74 65 72 20 70 6F 73 69 e character posi
0001C0: 74 69 6F 6E 20 74 6F 20 77 72 69 74 65 20 20 61 tion to write a
0001D0: 74 20 20 69 73 20 67 69 76 65 6E 20 69 6E 20 70 t is given in p
0001E0: 68 79 73 69 63 61 6C 20 63 6F 6F 72 64 69 6E 61 hysical coordina
0001F0: 74 65 73 2E 0D 20 20 20 20 20 69 2E 65 2E 20 72 tes.. i.e. r
Size : 512 (Real : 512)
000000: 2E 0D 20 20 20 20 20 54 68 75 73 2C 20 69 66 20 .. Thus, if
000010: 74 68 65 72 65 20 20 61 72 65 20 20 74 77 6F 20 there are two
000020: 20 70 6F 73 73 69 62 6C 65 20 20 63 68 61 72 61 possible chara
000030: 63 74 65 72 20 20 61 74 72 69 63 65 73 20 20 74 cter atrices t
000040: 68 61 74 20 6D 61 74 63 68 20 74 68 65 0D 20 20 hat match the.
000050: 20 20 20 73 63 72 65 65 6E 2C 20 74 68 65 20 73 screen, the s
000060: 6D 61 6C 6C 65 72 20 6F 66 20 74 68 65 20 74 77 maller of the tw
000070: 6F 20 63 68 61 72 61 63 74 65 72 20 6E 75 6D 62 o character numb
000080: 65 72 73 20 77 69 6C 6C 20 62 65 20 72 65 74 75 ers will be retu
000090: 72 6E 65 64 2E 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 rned.........
0000A0: 20 20 54 68 69 73 20 69 6E 64 69 72 65 63 74 69 This indirecti
0000B0: 6F 6E 20 69 73 20 73 65 74 20 75 70 20 77 68 65 on is set up whe
0000C0: 6E 20 54 58 54 20 49 4E 49 54 49 41 4C 49 53 45 n TXT INITIALISE
0000D0: 20 6F 72 20 54 58 54 20 52 45 53 45 54 20 69 73 or TXT RESET is
0000E0: 20 63 61 6C 6C 65 64 2E 0D 0D 20 20 20 20 20 2D called... -
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 44 44 -----.. &BDD
000140: 39 20 2D 20 49 4E 44 3A 20 54 58 54 20 4F 55 54 9 - IND: TXT OUT
000150: 20 41 43 54 49 4F 4E 20 2D 20 4F 75 74 70 75 74 ACTION - Output
000160: 20 61 20 63 68 61 72 61 63 74 65 72 20 6F 72 20 a character or
000170: 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 0D 0D 20 20 control code..
000180: 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 Entry:..
000190: 41 20 3D 20 63 68 61 72 61 63 74 65 72 20 6F 72 A = character or
0001A0: 20 63 6F 64 65 0D 0D 20 20 20 20 20 45 78 69 74 code.. Exit
0001B0: 3A 0D 0D 20 20 20 20 20 41 46 2C 42 43 2C 44 45 :.. AF,BC,DE
0001C0: 2C 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 ,HL corrupt...
0001D0: 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 Notes:..
0001E0: 54 68 69 73 20 69 6E 64 69 72 65 63 74 69 6F 6E This indirection
0001F0: 20 69 73 20 63 61 6C 6C 65 64 20 62 79 20 54 58 is called by TX
Size : 512 (Real : 512)
000000: 6F 77 20 30 2C 63 6F 6C 75 6D 6E 20 30 20 69 73 ow 0,column 0 is
000010: 20 74 68 65 20 74 6F 70 20 6C 65 66 74 20 6F 66 the top left of
000020: 20 74 68 65 20 73 63 72 65 65 6E 2E 20 54 68 65 the screen. The
000030: 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 6E 6F 74 position is not
000040: 0D 20 20 20 20 20 63 68 65 63 6B 65 64 20 66 6F . checked fo
000050: 72 20 6C 65 67 61 6C 69 74 79 2E 0D 0D 20 20 20 r legality...
000060: 20 20 54 58 54 20 57 52 49 54 45 20 43 48 41 52 TXT WRITE CHAR
000070: 20 69 73 20 63 61 6C 6C 65 64 20 62 79 20 54 58 is called by TX
000080: 54 20 20 57 52 20 20 43 48 41 52 20 20 74 6F 20 T WR CHAR to
000090: 70 72 69 6E 74 20 61 20 63 68 61 72 61 63 74 65 print a characte
0000A0: 72 20 6F 6E 20 74 68 65 0D 20 20 20 20 20 73 63 r on the. sc
0000B0: 72 65 65 6E 2E 20 54 68 65 20 72 65 6D 6F 76 69 reen. The removi
0000C0: 6E 67 20 6F 66 20 74 68 65 20 63 75 72 73 6F 72 ng of the cursor
0000D0: 20 62 6C 6F 62 20 61 6E 64 20 74 68 65 20 63 61 blob and the ca
0000E0: 6C 63 75 6C 61 74 69 6F 6E 20 6F 66 20 74 68 65 lculation of the
0000F0: 20 6E 65 77 0D 20 20 20 20 20 63 75 72 72 65 6E new. curren
000100: 74 20 70 6F 73 69 74 69 6F 6E 20 61 72 65 20 70 t position are p
000110: 65 72 66 6F 72 6D 65 64 20 62 79 20 20 54 58 54 erformed by TXT
000120: 20 20 57 52 20 20 43 48 41 52 20 20 61 6E 64 20 WR CHAR and
000130: 6E 6F 74 20 62 79 20 54 58 54 20 57 52 49 54 45 not by TXT WRITE
000140: 0D 20 20 20 20 20 43 48 41 52 2E 0D 0D 20 20 20 . CHAR...
000150: 20 20 54 68 69 73 20 69 6E 64 69 72 65 63 74 69 This indirecti
000160: 6F 6E 20 69 73 20 73 65 74 20 75 70 20 77 68 65 on is set up whe
000170: 6E 20 54 58 54 20 49 4E 49 54 49 41 4C 49 53 45 n TXT INITIALISE
000180: 20 6F 72 20 54 58 54 20 52 45 53 45 54 20 69 73 or TXT RESET is
000190: 20 63 61 6C 6C 65 64 0D 0D 20 20 20 20 20 2D 2D called.. --
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 44 44 36 ----.. &BDD6
0001F0: 20 2D 20 49 4E 44 3A 20 54 58 54 20 55 4E 57 52 - IND: TXT UNWR
Size : 512 (Real : 512)
000000: 54 20 20 4F 55 54 50 55 54 20 20 74 6F 20 20 64 T OUTPUT to d
000010: 6F 20 74 68 65 20 77 6F 72 6B 20 6F 66 20 70 72 o the work of pr
000020: 69 6E 74 69 6E 67 0D 20 20 20 20 20 63 68 61 72 inting. char
000030: 61 63 74 65 72 73 20 6F 72 20 6F 62 65 79 69 6E acters or obeyin
000040: 67 20 74 68 65 20 63 6F 6E 74 72 6F 6C 20 63 6F g the control co
000050: 64 65 73 2E 20 20 49 74 20 20 69 73 20 70 72 6F des. It is pro
000060: 76 69 64 65 64 20 74 6F 20 61 6C 6C 6F 77 20 74 vided to allow t
000070: 68 65 0D 20 20 20 20 20 75 73 65 72 20 74 6F 20 he. user to
000080: 63 68 61 6E 67 65 20 74 68 65 20 6D 65 74 68 6F change the metho
000090: 64 20 6F 66 20 64 65 61 6C 69 6E 67 20 77 69 74 d of dealing wit
0000A0: 68 20 63 68 61 72 61 63 74 65 72 73 20 61 6E 64 h characters and
0000B0: 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 73 0D 20 control codes.
0000C0: 20 20 20 20 6F 72 20 74 6F 20 61 6C 6C 6F 77 20 or to allow
0000D0: 74 68 65 20 75 73 65 72 20 74 6F 20 72 65 64 69 the user to redi
0000E0: 72 65 63 74 20 20 6F 75 74 70 75 74 20 28 74 6F rect output (to
0000F0: 20 74 68 65 20 70 72 69 6E 74 65 72 20 66 6F 72 the printer for
000100: 20 65 78 61 6D 70 6C 65 29 2E 0D 20 20 20 20 20 example)..
000110: 54 58 54 20 4F 55 54 50 55 54 20 6D 65 72 65 6C TXT OUTPUT merel
000120: 79 20 70 72 65 73 65 72 76 65 73 20 74 68 65 20 y preserves the
000130: 72 65 67 69 73 74 65 72 73 20 20 61 72 6F 75 6E registers aroun
000140: 64 20 20 74 68 65 20 63 61 6C 6C 20 6F 66 20 54 d the call of T
000150: 58 54 20 4F 55 54 0D 20 20 20 20 20 41 43 54 49 XT OUT. ACTI
000160: 4F 4E 2E 0D 0D 20 20 20 20 20 43 6F 6E 74 72 6F ON... Contro
000170: 6C 20 63 6F 64 65 73 20 6D 61 79 20 74 61 6B 65 l codes may take
000180: 20 75 70 20 20 74 6F 20 20 39 20 20 70 61 72 61 up to 9 para
000190: 6D 65 74 65 72 73 2E 20 54 68 65 73 65 20 61 72 meters. These ar
0001A0: 65 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 e the characters
0001B0: 0D 20 20 20 20 20 73 65 6E 74 20 66 6F 6C 6C 6F . sent follo
0001C0: 77 69 6E 67 20 74 68 65 20 20 69 6E 69 74 69 61 wing the initia
0001D0: 6C 20 20 63 6F 6E 74 72 6F 6C 20 20 63 6F 64 65 l control code
0001E0: 2E 20 20 54 68 65 20 20 63 68 61 72 61 63 74 65 . The characte
0001F0: 72 73 20 20 73 65 6E 74 20 61 72 65 0D 20 20 20 rs sent are.
Size : 512 (Real : 512)
000000: 49 54 45 20 2D 20 52 65 61 64 20 61 20 63 68 61 ITE - Read a cha
000010: 72 61 63 74 65 72 20 66 72 6F 6D 20 74 68 65 20 racter from the
000020: 73 63 72 65 65 6E 2E 0D 0D 20 20 20 20 20 45 6E screen... En
000030: 74 72 79 3A 0D 0D 20 20 20 20 20 48 20 3D 20 63 try:.. H = c
000040: 6F 6C 75 6D 6E 0D 20 20 20 20 20 4C 20 3D 20 72 olumn. L = r
000050: 6F 77 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D ow.. Exit:..
000060: 20 20 20 20 20 49 66 20 61 20 72 65 61 64 61 62 If a readab
000070: 6C 65 20 63 68 61 72 61 63 74 65 72 20 77 61 73 le character was
000080: 20 66 6F 75 6E 64 3A 0D 0D 20 20 20 20 20 43 61 found:.. Ca
000090: 72 72 79 20 74 72 75 65 2E 0D 20 20 20 20 20 41 rry true.. A
0000A0: 20 3D 20 63 68 61 72 61 63 74 65 72 20 72 65 61 = character rea
0000B0: 64 0D 0D 20 20 20 20 20 49 66 20 6E 6F 20 72 65 d.. If no re
0000C0: 63 6F 67 6E 69 73 61 62 6C 65 20 63 68 61 72 61 cognisable chara
0000D0: 63 74 65 72 20 77 61 73 20 66 6F 75 6E 64 3A 0D cter was found:.
0000E0: 0D 20 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 . Carry fals
0000F0: 65 2E 20 41 20 3D 20 7A 65 72 6F 0D 0D 20 20 20 e. A = zero..
000100: 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 Notes:.. T
000110: 68 65 20 63 68 61 72 61 63 74 65 72 20 70 6F 73 he character pos
000120: 69 74 69 6F 6E 20 74 6F 20 77 72 69 74 65 20 20 ition to write
000130: 61 74 20 20 69 73 20 67 69 76 65 6E 20 69 6E 20 at is given in
000140: 70 68 79 73 69 63 61 6C 20 63 6F 6F 72 64 69 6E physical coordin
000150: 61 74 65 73 2E 0D 20 20 20 20 20 69 2E 65 2E 20 ates.. i.e.
000160: 72 6F 77 20 30 2C 63 6F 6C 75 6D 6E 20 30 20 69 row 0,column 0 i
000170: 73 20 74 68 65 20 74 6F 70 20 6C 65 66 74 20 6F s the top left o
000180: 66 20 74 68 65 20 73 63 72 65 65 6E 2E 20 54 68 f the screen. Th
000190: 65 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 6E 6F e position is no
0001A0: 74 0D 20 20 20 20 20 63 68 65 63 6B 65 64 20 66 t. checked f
0001B0: 6F 72 20 6C 65 67 61 6C 69 74 79 2E 0D 0D 20 20 or legality...
0001C0: 20 20 20 54 68 69 73 20 69 6E 64 69 72 65 63 74 This indirect
0001D0: 69 6F 6E 20 69 73 20 63 61 6C 6C 65 64 20 62 79 ion is called by
0001E0: 20 54 58 54 20 52 44 20 43 48 41 52 20 74 6F 20 TXT RD CHAR to
0001F0: 72 65 61 64 20 61 20 63 68 61 72 61 63 74 65 72 read a character
Size : 512 (Real : 512)
000000: 20 20 73 74 6F 72 65 64 20 69 6E 20 61 20 62 75 stored in a bu
000010: 66 66 65 72 20 75 6E 74 69 6C 20 73 75 66 66 69 ffer until suffi
000020: 63 69 65 6E 74 20 68 61 76 65 20 20 62 65 65 6E cient have been
000030: 20 72 65 63 69 65 76 65 64 20 74 6F 20 6D 61 6B recieved to mak
000040: 65 20 75 70 20 61 6C 6C 0D 20 20 20 20 20 74 68 e up all. th
000050: 65 20 72 65 71 75 69 72 65 64 20 70 61 72 61 6D e required param
000060: 65 74 65 72 73 2E 20 54 68 65 20 63 6F 6E 74 72 eters. The contr
000070: 6F 6C 20 20 63 6F 64 65 20 20 62 75 66 66 65 72 ol code buffer
000080: 20 69 73 20 6F 6E 6C 79 20 6C 6F 6E 67 20 65 6E is only long en
000090: 6F 75 67 68 0D 20 20 20 20 20 74 6F 20 61 63 63 ough. to acc
0000A0: 65 70 74 20 39 20 70 61 72 61 6D 65 74 65 72 20 ept 9 parameter
0000B0: 63 68 61 72 61 63 74 65 72 73 2E 0D 0D 20 20 20 characters...
0000C0: 20 20 54 68 65 72 65 20 69 73 20 6F 6E 6C 79 20 There is only
0000D0: 6F 6E 65 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 one control code
0000E0: 20 62 75 66 66 65 72 20 20 77 68 69 63 68 20 69 buffer which i
0000F0: 73 20 73 68 61 72 65 64 20 62 65 74 77 65 65 6E s shared between
000100: 20 61 6C 6C 20 74 68 65 0D 20 20 20 20 20 73 74 all the. st
000110: 72 65 61 6D 73 2E 49 74 20 69 73 2C 20 74 68 65 reams.It is, the
000120: 72 65 66 6F 72 65 2C 20 70 6F 73 73 69 62 6C 65 refore, possible
000130: 20 74 6F 20 67 65 74 20 75 6E 70 72 65 64 69 63 to get unpredic
000140: 74 61 62 6C 65 20 72 65 73 75 6C 74 73 20 69 66 table results if
000150: 20 74 68 65 0D 20 20 20 20 20 6F 75 74 70 75 74 the. output
000160: 20 73 74 72 65 61 6D 20 69 73 20 63 68 61 6E 67 stream is chang
000170: 65 64 20 70 61 72 74 20 20 6F 66 20 20 74 68 65 ed part of the
000180: 20 20 77 61 79 20 20 74 68 72 6F 75 67 68 20 73 way through s
000190: 65 6E 64 69 6E 67 20 61 20 63 6F 6E 74 72 6F 6C ending a control
0001A0: 0D 20 20 20 20 20 63 6F 64 65 20 73 65 71 75 65 . code seque
0001B0: 6E 63 65 2E 0D 0D 20 20 20 20 20 49 66 20 74 68 nce... If th
0001C0: 65 20 56 44 55 20 69 73 20 20 64 69 73 61 62 6C e VDU is disabl
0001D0: 65 64 20 20 74 68 65 6E 20 20 6E 6F 20 20 63 68 ed then no ch
0001E0: 61 72 61 63 74 65 72 73 20 20 77 69 6C 6C 20 20 aracters will
0001F0: 62 65 20 70 72 69 6E 74 65 64 20 6F 6E 20 74 68 be printed on th
Size : 512 (Real : 512)
000000: 69 73 20 69 6E 64 69 72 65 63 74 69 6F 6E 20 69 is indirection i
000010: 73 20 75 73 65 64 20 62 79 20 47 52 41 20 54 45 s used by GRA TE
000020: 53 54 20 52 45 4C 41 54 49 56 45 20 61 6E 64 20 ST RELATIVE and
000030: 47 52 41 20 54 45 53 54 20 41 42 53 4F 4C 55 54 GRA TEST ABSOLUT
000040: 45 20 74 6F 0D 20 20 20 20 20 74 65 73 74 20 74 E to. test t
000050: 68 65 20 70 6F 69 6E 74 20 72 65 71 75 65 73 74 he point request
000060: 65 64 2E 20 49 74 20 69 73 20 20 70 72 6F 76 69 ed. It is provi
000070: 64 65 64 20 20 74 6F 20 61 6C 6C 6F 77 20 74 68 ded to allow th
000080: 65 20 75 73 65 72 20 74 6F 20 63 68 61 6E 67 65 e user to change
000090: 0D 20 20 20 20 20 74 68 65 20 6D 65 74 68 6F 64 . the method
0000A0: 20 20 66 6F 72 20 20 74 65 73 74 69 6E 67 20 20 for testing
0000B0: 28 63 6F 6D 70 61 72 69 6E 67 20 20 77 69 74 68 (comparing with
0000C0: 20 20 74 68 65 20 20 63 75 72 72 65 6E 74 20 20 the current
0000D0: 70 65 6E 20 20 69 6E 6B 20 66 6F 72 0D 20 20 20 pen ink for.
0000E0: 20 20 65 78 61 6D 70 6C 65 29 2E 2E 20 20 47 52 example).. GR
0000F0: 41 20 20 54 45 53 54 20 20 52 45 4C 41 54 49 56 A TEST RELATIV
000100: 45 20 20 20 63 6F 6E 76 65 72 74 73 20 20 20 66 E converts f
000110: 72 6F 6D 20 20 20 72 65 6C 61 74 69 76 65 20 20 rom relative
000120: 74 6F 20 20 75 73 65 72 0D 20 20 20 20 20 63 6F to user. co
000130: 6F 72 64 69 6E 61 74 65 73 20 61 6E 64 20 74 68 ordinates and th
000140: 65 6E 20 63 61 6C 6C 73 20 74 68 69 73 20 20 69 en calls this i
000150: 6E 64 69 72 65 63 74 69 6F 6E 2E 20 20 47 52 41 ndirection. GRA
000160: 20 54 45 53 54 20 41 42 53 4F 4C 55 54 45 20 63 TEST ABSOLUTE c
000170: 61 6C 6C 73 0D 20 20 20 20 20 74 68 69 73 20 69 alls. this i
000180: 6E 64 69 72 65 63 74 69 6F 6E 20 64 69 72 65 63 ndirection direc
000190: 74 6C 79 2E 0D 0D 20 20 20 20 20 54 6F 20 74 65 tly... To te
0001A0: 73 74 20 74 68 65 20 69 6E 6B 20 6F 66 20 61 20 st the ink of a
0001B0: 70 6F 69 6E 74 20 20 69 6E 73 69 64 65 20 74 68 point inside th
0001C0: 65 20 77 69 6E 64 6F 77 20 74 68 65 20 53 43 52 e window the SCR
0001D0: 20 52 45 41 44 20 69 6E 64 69 72 65 63 74 69 6F READ indirectio
0001E0: 6E 0D 20 20 20 20 20 69 73 20 75 73 65 64 2E 0D n. is used..
0001F0: 0D 20 20 20 20 20 54 68 69 73 20 69 6E 64 69 72 . This indir
Size : 512 (Real : 512)
000000: 65 0D 20 20 20 20 20 73 63 72 65 65 6E 2E 20 49 e. screen. I
000010: 6E 20 56 31 2E 31 20 66 69 72 6D 77 61 72 65 20 n V1.1 firmware
000020: 63 6F 6E 74 72 6F 6C 20 20 63 6F 64 65 73 20 20 control codes
000030: 74 68 61 74 20 61 72 65 20 73 70 72 65 63 69 61 that are sprecia
000040: 6C 6C 79 20 6D 61 72 6B 65 64 20 69 6E 0D 20 20 lly marked in.
000050: 20 20 20 74 68 65 20 63 6F 6E 74 72 6F 6C 20 63 the control c
000060: 6F 64 65 20 74 61 62 6C 65 20 77 69 6C 6C 20 20 ode table will
000070: 6E 6F 74 20 20 62 65 20 20 6F 62 65 79 65 64 20 not be obeyed
000080: 20 69 66 20 20 74 68 65 20 56 44 55 20 69 73 20 if the VDU is
000090: 64 69 73 61 62 6C 65 64 2E 0D 20 20 20 20 20 4F disabled.. O
0000A0: 74 68 65 72 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 ther control cod
0000B0: 65 73 20 61 6E 64 20 61 6C 6C 20 20 63 6F 6E 74 es and all cont
0000C0: 72 6F 6C 20 20 63 6F 64 65 73 20 20 69 6E 20 20 rol codes in
0000D0: 56 31 2E 30 20 66 69 72 6D 77 61 72 65 20 77 69 V1.0 firmware wi
0000E0: 6C 6C 20 62 65 0D 20 20 20 20 20 6F 62 65 79 65 ll be. obeye
0000F0: 64 2E 0D 0D 20 20 20 20 20 49 66 20 74 68 65 20 d... If the
000100: 67 72 61 70 68 69 63 73 20 63 68 61 72 61 63 74 graphics charact
000110: 65 72 20 77 72 69 74 65 20 20 6D 6F 64 65 20 20 er write mode
000120: 69 73 20 20 65 6E 61 62 6C 65 64 20 74 68 65 6E is enabled then
000130: 20 61 6C 6C 20 63 68 61 72 61 63 74 65 72 73 0D all characters.
000140: 20 20 20 20 20 61 6E 64 20 63 6F 6E 74 72 6F 6C and control
000150: 20 63 6F 64 65 73 20 61 72 65 20 70 72 69 6E 74 codes are print
000160: 65 64 20 75 73 69 6E 67 20 74 68 65 20 47 72 61 ed using the Gra
000170: 70 68 69 63 73 20 56 44 55 20 28 73 65 65 20 47 phics VDU (see G
000180: 52 41 20 57 52 20 43 48 41 52 29 0D 20 20 20 20 RA WR CHAR).
000190: 20 61 6E 64 20 61 72 65 20 6E 6F 74 20 6F 62 65 and are not obe
0001A0: 79 65 64 2E 20 4E 6F 72 6D 61 6C 6C 79 20 20 63 yed. Normally c
0001B0: 68 61 72 61 63 74 65 72 73 20 20 61 72 65 20 20 haracters are
0001C0: 77 72 69 74 74 65 6E 20 62 79 20 74 68 65 20 74 written by the t
0001D0: 65 78 74 20 56 44 55 0D 20 20 20 20 20 28 73 65 ext VDU. (se
0001E0: 65 20 54 58 54 20 57 52 20 43 48 41 52 29 2E 0D e TXT WR CHAR)..
0001F0: 0D 20 20 20 20 20 54 68 69 73 20 69 6E 64 69 72 . This indir
Size : 512 (Real : 512)
000000: 65 63 74 69 6F 6E 20 69 73 20 73 65 74 20 75 70 ection is set up
000010: 20 77 68 65 6E 20 47 52 41 20 49 4E 49 54 49 41 when GRA INITIA
000020: 4C 49 53 45 20 6F 72 20 47 52 41 20 52 45 53 45 LISE or GRA RESE
000030: 54 20 69 73 20 63 61 6C 6C 65 64 2E 0D 0D 20 20 T is called...
000040: 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 ---------..
000090: 26 42 44 45 32 20 2D 20 49 4E 44 3A 20 47 52 41 &BDE2 - IND: GRA
0000A0: 20 4C 49 4E 45 20 2D 20 44 72 61 77 20 61 20 6C LINE - Draw a l
0000B0: 69 6E 65 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A ine.. Entry:
0000C0: 0D 0D 20 20 20 20 20 44 45 20 3D 20 75 73 65 72 .. DE = user
0000D0: 20 58 20 63 6F 6F 72 64 69 6E 61 74 65 73 20 6F X coordinates o
0000E0: 66 20 65 6E 64 70 6F 69 6E 74 0D 20 20 20 20 20 f endpoint.
0000F0: 48 4C 20 3D 20 75 73 65 72 20 59 20 63 6F 6F 72 HL = user Y coor
000100: 64 69 6E 61 74 65 73 20 6F 66 20 65 6E 64 70 6F dinates of endpo
000110: 69 6E 74 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D int.. Exit:.
000120: 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 41 46 2C 42 ....... AF,B
000130: 43 2C 44 45 2C 48 4C 20 63 6F 72 72 75 70 74 2E C,DE,HL corrupt.
000140: 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 .. Notes:..
000150: 20 20 20 20 54 68 65 20 70 6F 73 69 74 69 6F 6E The position
000160: 20 6F 66 20 20 74 68 65 20 20 65 6E 64 70 6F 69 of the endpoi
000170: 6E 74 20 20 69 73 20 20 67 69 76 65 6E 20 20 69 nt is given i
000180: 6E 20 20 75 73 65 72 20 20 63 6F 6F 72 64 69 6E n user coordin
000190: 61 74 65 73 2E 20 69 2E 65 2E 0D 20 20 20 20 20 ates. i.e..
0001A0: 72 65 6C 61 74 69 76 65 20 74 6F 20 74 68 65 20 relative to the
0001B0: 75 73 65 72 20 6F 72 69 67 69 6E 0D 0D 20 20 20 user origin..
0001C0: 20 20 54 68 69 73 20 69 6E 64 69 72 65 63 74 69 This indirecti
0001D0: 6F 6E 20 69 73 20 75 73 65 64 20 62 79 20 47 52 on is used by GR
0001E0: 41 20 4C 49 4E 45 20 52 45 4C 41 54 49 56 45 20 A LINE RELATIVE
0001F0: 61 6E 64 20 47 52 41 20 4C 49 4E 45 20 41 42 53 and GRA LINE ABS
Size : 512 (Real : 512)
000000: 65 63 74 69 6F 6E 20 69 73 20 73 65 74 20 75 70 ection is set up
000010: 20 77 68 65 6E 20 54 58 54 20 49 4E 49 54 49 41 when TXT INITIA
000020: 4C 49 53 45 20 6F 72 20 54 58 54 20 52 45 53 45 LISE or TXT RESE
000030: 54 20 69 73 20 63 61 6C 6C 65 64 2E 0D 0D 20 20 T is called...
000040: 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 ---------..
000090: 26 42 44 44 43 20 2D 20 49 4E 44 3A 20 47 52 41 &BDDC - IND: GRA
0000A0: 20 50 4C 4F 54 20 2D 20 50 6C 6F 74 20 61 20 70 PLOT - Plot a p
0000B0: 6F 69 6E 74 0D 0D 20 20 20 20 20 45 6E 74 72 79 oint.. Entry
0000C0: 3A 0D 0D 20 20 20 20 20 44 45 20 3D 20 75 73 65 :.. DE = use
0000D0: 72 20 58 20 63 6F 6F 72 64 69 6E 61 74 65 20 6F r X coordinate o
0000E0: 66 20 70 6F 69 6E 74 20 74 6F 20 70 6C 6F 74 0D f point to plot.
0000F0: 20 20 20 20 20 48 4C 20 3D 20 75 73 65 72 20 59 HL = user Y
000100: 20 63 6F 6F 72 64 69 6E 61 74 65 20 6F 66 20 70 coordinate of p
000110: 6F 69 6E 74 20 74 6F 20 70 6C 6F 74 0D 0D 20 20 oint to plot..
000120: 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 Exit:.. A
000130: 46 2C 42 43 2C 44 45 2C 48 4C 20 63 6F 72 72 75 F,BC,DE,HL corru
000140: 70 74 2E 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 pt.........
000150: 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 Notes:.. The
000160: 20 70 6F 73 69 74 69 6F 6E 20 6F 66 20 74 68 65 position of the
000170: 20 70 6F 69 6E 74 20 69 73 20 20 67 69 76 65 6E point is given
000180: 20 69 6E 20 75 73 65 72 20 63 6F 6F 72 64 69 6E in user coordin
000190: 61 74 65 73 2E 20 69 2E 65 2E 20 72 65 6C 61 74 ates. i.e. relat
0001A0: 69 76 65 0D 20 20 20 20 20 74 6F 20 74 68 65 20 ive. to the
0001B0: 75 73 65 72 20 6F 72 69 67 69 6E 2E 0D 0D 20 20 user origin...
0001C0: 20 20 20 54 68 69 73 20 69 6E 64 69 72 65 63 74 This indirect
0001D0: 69 6F 6E 20 69 73 20 63 61 6C 6C 65 64 20 62 79 ion is called by
0001E0: 20 47 52 41 20 20 50 4C 4F 54 20 52 45 4C 41 54 GRA PLOT RELAT
0001F0: 49 56 45 20 61 6E 64 20 47 52 41 20 50 4C 4F 54 IVE and GRA PLOT
Size : 512 (Real : 512)
000000: 4F 4C 55 54 45 20 74 6F 0D 20 20 20 20 20 64 72 OLUTE to. dr
000010: 61 77 20 74 68 65 20 6C 69 6E 65 20 72 65 71 75 aw the line requ
000020: 65 73 74 65 64 2E 20 49 74 20 69 73 20 20 70 72 ested. It is pr
000030: 6F 76 69 64 65 64 20 20 74 6F 20 20 61 6C 6C 6F ovided to allo
000040: 77 20 74 68 65 20 75 73 65 72 20 74 6F 20 63 68 w the user to ch
000050: 61 6E 67 65 0D 20 20 20 20 20 74 68 65 20 6D 65 ange. the me
000060: 74 68 6F 64 20 66 6F 72 20 6C 69 6E 65 20 64 72 thod for line dr
000070: 61 77 69 6E 67 2E 20 47 52 41 20 20 4C 49 4E 45 awing. GRA LINE
000080: 20 52 45 4C 41 54 49 56 45 20 63 6F 6E 76 65 72 RELATIVE conver
000090: 74 73 20 66 72 6F 6D 20 72 65 6C 61 74 69 76 65 ts from relative
0000A0: 0D 20 20 20 20 20 74 6F 20 75 73 65 72 20 63 6F . to user co
0000B0: 6F 72 64 69 6E 61 74 65 73 20 61 6E 64 20 74 68 ordinates and th
0000C0: 65 6E 20 63 61 6C 6C 73 20 74 68 69 73 20 69 6E en calls this in
0000D0: 64 69 72 65 63 74 69 6F 6E 2E 20 47 52 41 20 4C direction. GRA L
0000E0: 49 4E 45 20 41 42 53 4F 4C 55 54 45 0D 20 20 20 INE ABSOLUTE.
0000F0: 20 20 63 61 6C 6C 73 20 74 68 69 73 20 69 6E 64 calls this ind
000100: 69 72 65 63 74 69 6F 6E 20 69 6D 6D 65 64 69 61 irection immedia
000110: 74 6C 79 2E 0D 0D 20 20 20 20 20 54 68 65 20 6C tly... The l
000120: 69 6E 65 20 69 73 20 73 70 6C 69 74 20 75 70 20 ine is split up
000130: 20 69 6E 74 6F 20 20 68 6F 72 69 7A 6F 6E 74 61 into horizonta
000140: 6C 20 20 6F 72 20 20 76 65 72 74 69 63 61 6C 20 l or vertical
000150: 73 65 63 74 69 6F 6E 73 20 74 68 61 74 20 61 72 sections that ar
000160: 65 0D 20 20 20 20 20 64 72 61 77 6E 20 73 65 70 e. drawn sep
000170: 61 72 61 74 65 6C 79 20 28 73 65 65 20 53 43 52 arately (see SCR
000180: 20 48 4F 52 49 5A 4F 4E 54 41 4C 20 61 6E 64 20 HORIZONTAL and
000190: 20 53 43 52 20 56 45 52 54 49 43 41 4C 29 2E 20 SCR VERTICAL).
0001A0: 54 68 65 20 53 43 52 20 57 52 49 54 45 0D 20 20 The SCR WRITE.
0001B0: 20 20 20 69 6E 64 69 72 65 63 74 69 6F 6E 20 69 indirection i
0001C0: 73 20 63 61 6C 6C 65 64 20 74 6F 20 20 77 72 69 s called to wri
0001D0: 74 65 20 20 74 68 65 20 20 70 6F 69 6E 74 73 20 te the points
0001E0: 20 69 6E 20 20 74 68 65 73 65 20 73 65 63 74 69 in these secti
0001F0: 6F 6E 73 2E 20 54 68 69 73 0D 20 20 20 20 20 6D ons. This. m
Size : 512 (Real : 512)
000000: 20 41 42 53 4F 4C 49 54 45 0D 20 20 20 20 20 74 ABSOLITE. t
000010: 6F 20 70 6C 6F 74 20 74 68 65 20 70 6F 69 6E 74 o plot the point
000020: 20 20 72 65 71 75 65 73 74 65 64 2E 20 20 49 74 requested. It
000030: 20 20 69 73 20 20 70 72 6F 76 69 64 65 64 20 20 is provided
000040: 74 6F 20 20 61 6C 6C 6F 77 20 74 68 65 20 75 73 to allow the us
000050: 65 72 20 74 6F 0D 20 20 20 20 20 63 68 61 6E 67 er to. chang
000060: 65 20 74 68 65 20 6D 65 74 68 6F 64 20 20 66 6F e the method fo
000070: 72 20 20 70 6C 6F 74 74 69 6E 67 20 20 28 74 6F r plotting (to
000080: 20 20 6F 75 74 70 75 74 20 20 74 6F 20 20 61 6E output to an
000090: 20 20 58 2D 59 20 70 6C 6F 74 74 65 72 20 66 6F X-Y plotter fo
0000A0: 72 0D 20 20 20 20 20 65 78 61 6D 70 6C 65 29 2E r. example).
0000B0: 20 47 52 41 20 50 4C 4F 54 20 52 45 4C 41 54 49 GRA PLOT RELATI
0000C0: 56 45 20 63 6F 6E 76 65 72 74 73 20 66 72 6F 6D VE converts from
0000D0: 20 72 65 6C 61 74 69 76 65 20 74 6F 20 75 73 65 relative to use
0000E0: 72 20 63 6F 6F 72 64 69 6E 61 74 65 73 0D 20 20 r coordinates.
0000F0: 20 20 20 61 6E 64 20 20 74 68 65 6E 20 20 63 61 and then ca
000100: 6C 6C 73 20 20 74 68 69 73 20 20 69 6E 64 69 72 lls this indir
000110: 65 63 74 69 6F 6E 2E 20 20 47 52 41 20 20 50 4C ection. GRA PL
000120: 4F 54 20 20 41 42 53 4F 4C 55 54 45 20 20 63 61 OT ABSOLUTE ca
000130: 6C 6C 73 20 20 74 68 69 73 0D 20 20 20 20 20 69 lls this. i
000140: 6E 64 69 72 65 63 74 69 6F 6E 20 69 6D 6D 65 64 ndirection immed
000150: 69 61 74 6C 79 2E 0D 0D 20 20 20 20 20 54 6F 20 iatly... To
000160: 77 72 69 74 65 20 74 68 65 20 70 6F 69 6E 74 20 write the point
000170: 6F 6E 20 74 68 65 20 20 73 63 72 65 65 6E 20 20 on the screen
000180: 74 68 65 20 20 53 43 52 20 57 52 49 54 45 20 69 the SCR WRITE i
000190: 6E 64 69 72 65 63 74 69 6F 6E 20 69 73 20 75 73 ndirection is us
0001A0: 65 64 2E 0D 20 20 20 20 20 54 68 75 73 20 74 68 ed.. Thus th
0001B0: 65 20 70 6F 69 6E 74 20 69 73 20 70 6C 6F 74 74 e point is plott
0001C0: 65 64 20 75 73 69 6E 67 20 74 68 65 20 63 75 72 ed using the cur
0001D0: 72 65 6E 74 20 67 72 61 70 68 69 63 73 20 77 72 rent graphics wr
0001E0: 69 74 65 20 6D 6F 64 65 2E 0D 0D 20 20 20 20 20 ite mode...
0001F0: 54 68 69 73 20 69 6E 64 69 72 65 63 74 69 6F 6E This indirection
Size : 512 (Real : 512)
000000: 65 61 6E 73 20 74 68 61 74 20 74 68 65 20 6C 69 eans that the li
000010: 6E 65 20 69 73 20 70 6C 6F 74 74 65 64 20 75 73 ne is plotted us
000020: 69 6E 67 20 74 68 65 20 63 75 72 72 65 6E 74 20 ing the current
000030: 67 72 61 70 68 69 63 73 20 77 72 69 74 65 20 6D graphics write m
000040: 6F 64 65 2E 0D 0D 20 20 20 20 20 49 6E 20 56 31 ode... In V1
000050: 2E 30 20 66 69 72 6D 77 61 72 65 20 74 68 65 20 .0 firmware the
000060: 6C 69 6E 65 20 20 69 73 20 20 70 6C 6F 74 74 65 line is plotte
000070: 64 20 20 69 6E 20 20 74 68 65 20 20 63 75 72 72 d in the curr
000080: 65 6E 74 20 70 65 6E 20 69 6E 6B 2E 20 56 31 2E ent pen ink. V1.
000090: 31 0D 20 20 20 20 20 66 69 72 6D 77 61 72 65 20 1. firmware
0000A0: 73 65 74 74 69 6E 67 20 6F 66 20 74 68 65 20 6C setting of the l
0000B0: 69 6E 65 20 20 6D 61 73 6B 20 20 64 65 74 65 72 ine mask deter
0000C0: 6D 69 6E 65 73 20 20 68 6F 77 20 70 69 78 65 6C mines how pixel
0000D0: 73 20 6F 6E 20 74 68 65 20 6C 69 6E 65 0D 20 20 s on the line.
0000E0: 20 20 20 77 69 6C 6C 20 62 65 20 20 70 6C 6F 74 will be plot
0000F0: 74 65 64 2E 20 20 54 68 65 20 20 6C 69 6E 65 20 ted. The line
000100: 20 6D 61 73 6B 20 20 69 73 20 20 62 69 74 20 20 mask is bit
000110: 73 69 67 6E 69 66 69 63 61 6E 74 20 20 61 6E 64 significant and
000120: 20 20 69 73 20 75 73 65 64 0D 20 20 20 20 20 72 is used. r
000130: 65 70 65 61 74 65 64 6C 79 20 69 6E 20 74 68 65 epeatedly in the
000140: 20 6F 72 64 65 72 20 62 69 74 20 37 2C 62 69 74 order bit 7,bit
000150: 20 36 20 20 64 6F 77 6E 20 20 74 6F 20 20 62 69 6 down to bi
000160: 74 20 30 20 66 6F 72 20 65 61 63 68 20 70 69 78 t 0 for each pix
000170: 65 6C 20 69 6E 0D 20 20 20 20 20 74 68 65 20 6C el in. the l
000180: 69 6E 65 2E 20 49 66 20 74 68 65 20 62 69 74 20 ine. If the bit
000190: 69 73 20 6F 6E 65 20 74 68 65 6E 20 20 74 68 65 is one then the
0001A0: 20 70 69 78 65 6C 20 69 73 20 70 6C 6F 74 74 65 pixel is plotte
0001B0: 64 20 69 6E 20 74 68 65 20 67 72 61 70 68 69 63 d in the graphic
0001C0: 73 0D 20 20 20 20 20 70 65 6E 20 69 6E 6B 2E 20 s. pen ink.
0001D0: 49 66 20 74 68 65 20 62 69 74 20 20 69 73 20 20 If the bit is
0001E0: 7A 65 72 6F 20 20 74 68 65 6E 20 20 74 68 65 20 zero then the
0001F0: 20 61 63 74 69 6F 6E 20 20 74 61 6B 65 6E 20 64 action taken d
Size : 512 (Real : 512)
000000: 20 69 73 20 73 65 74 20 75 70 20 77 68 65 6E 20 is set up when
000010: 47 52 41 20 49 4E 49 54 49 41 4C 49 53 45 20 6F GRA INITIALISE o
000020: 72 20 47 52 41 20 52 45 53 45 54 20 69 73 20 63 r GRA RESET is c
000030: 61 6C 6C 65 64 2E 0D 0D 20 20 20 20 20 2D 2D 2D alled... ---
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 0D 0D 0D 20 20 20 20 20 26 42 44 44 ----... &BDD
000090: 46 20 2D 20 49 4E 44 3A 20 47 52 41 20 54 45 53 F - IND: GRA TES
0000A0: 54 20 2D 20 54 65 73 74 20 61 20 70 6F 69 6E 74 T - Test a point
0000B0: 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 .. Entry:..
0000C0: 20 20 20 20 44 45 20 3D 20 75 73 65 72 20 58 20 DE = user X
0000D0: 63 6F 6F 72 64 69 6E 61 74 65 20 6F 66 20 74 68 coordinate of th
0000E0: 65 20 70 6F 69 6E 74 20 74 6F 20 74 65 73 74 0D e point to test.
0000F0: 20 20 20 20 20 48 4C 20 3D 20 75 73 65 72 20 59 HL = user Y
000100: 20 63 6F 6F 72 64 69 6E 61 74 65 20 6F 66 20 74 coordinate of t
000110: 68 65 20 70 6F 69 6E 74 20 74 6F 20 74 65 73 74 he point to test
000120: 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 .. Exit:..
000130: 20 20 20 41 20 3D 20 64 65 63 6F 64 65 64 20 69 A = decoded i
000140: 6E 6B 20 61 74 20 74 68 65 20 70 6F 69 6E 74 20 nk at the point
000150: 73 70 65 63 69 66 69 65 64 0D 0D 20 20 20 20 20 specified..
000160: 42 43 2C 44 45 2C 48 4C 20 61 6E 64 20 66 6C 61 BC,DE,HL and fla
000170: 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 gs corrupt...
000180: 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 Notes:.. T
000190: 68 65 20 70 6F 73 69 74 69 6F 6E 20 6F 66 20 74 he position of t
0001A0: 68 65 20 70 6F 69 6E 74 20 74 6F 20 20 74 65 73 he point to tes
0001B0: 74 20 20 69 73 20 20 67 69 76 65 6E 20 69 6E 20 t is given in
0001C0: 75 73 65 72 20 63 6F 6F 72 64 69 6E 61 74 65 73 user coordinates
0001D0: 20 69 2E 65 2E 0D 20 20 20 20 20 72 65 6C 61 74 i.e.. relat
0001E0: 69 76 65 20 74 6F 20 74 68 65 20 75 73 65 72 20 ive to the user
0001F0: 6F 72 69 67 69 6E 2E 0D 0D 20 20 20 20 20 54 68 origin... Th
Size : 512 (Real : 512)
000000: 65 70 65 6E 64 73 20 6F 6E 20 74 68 65 0D 20 20 epends on the.
000010: 20 20 20 67 72 61 70 68 69 63 73 20 77 72 69 74 graphics writ
000020: 65 20 6D 6F 65 2E 20 49 66 20 74 68 65 20 62 61 e moe. If the ba
000030: 63 6B 67 72 6F 75 6E 64 20 6D 6F 64 65 20 69 73 ckground mode is
000040: 20 6F 70 61 71 75 65 20 74 68 65 6E 20 74 68 65 opaque then the
000050: 20 70 69 78 65 6C 20 69 73 0D 20 20 20 20 20 70 pixel is. p
000060: 6C 6F 74 74 65 64 20 20 69 6E 20 20 74 68 65 20 lotted in the
000070: 20 67 72 61 70 68 69 63 73 20 20 70 61 70 65 72 graphics paper
000080: 20 20 69 6E 6B 2E 20 20 49 66 20 20 74 68 65 20 ink. If the
000090: 20 62 61 63 6B 67 72 6F 75 6E 64 20 20 6D 6F 64 background mod
0000A0: 65 20 20 69 73 0D 20 20 20 20 20 74 72 61 6E 73 e is. trans
0000B0: 70 61 72 65 6E 74 20 74 68 65 6E 20 74 68 65 20 parent then the
0000C0: 70 69 78 65 6C 20 69 73 20 6E 6F 74 20 70 6C 6F pixel is not plo
0000D0: 74 74 65 64 2E 0D 0D 20 20 20 20 20 49 6E 20 56 tted... In V
0000E0: 31 2E 31 20 66 69 72 6D 77 61 72 65 20 74 68 65 1.1 firmware the
0000F0: 20 66 69 72 73 74 20 20 70 69 78 65 6C 20 20 6F first pixel o
000100: 66 20 20 74 68 65 20 20 6C 69 6E 65 20 20 28 74 f the line (t
000110: 68 61 74 20 61 74 20 74 68 65 20 63 75 72 72 65 hat at the curre
000120: 6E 74 0D 20 20 20 20 20 67 72 61 70 68 69 63 73 nt. graphics
000130: 20 70 6F 73 69 74 69 6F 6E 29 20 69 73 20 6E 6F position) is no
000140: 74 20 70 6C 6F 74 74 65 64 20 69 66 20 20 74 68 t plotted if th
000150: 65 20 66 69 72 73 74 20 70 6F 69 6E 74 20 70 6C e first point pl
000160: 6F 74 74 69 6E 67 20 6D 6F 64 65 20 69 73 0D 20 otting mode is.
000170: 20 20 20 20 73 65 74 20 66 61 6C 73 65 2E 0D 0D set false...
000180: 20 20 20 20 20 54 68 69 73 20 69 6E 64 69 72 65 This indire
000190: 63 74 69 6F 6E 20 69 73 20 73 65 74 20 75 70 20 ction is set up
0001A0: 77 68 65 6E 20 47 52 41 20 49 4E 49 54 49 41 4C when GRA INITIAL
0001B0: 49 53 45 20 6F 72 20 47 52 41 20 52 45 53 45 54 ISE or GRA RESET
0001C0: 20 69 73 20 63 61 6C 6C 65 64 2E 0D 0D 20 20 20 is called...
0001D0: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D --------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 0D 20 20 20 20 20 26 42 44 46 31 20 2D 20 --. &BDF1 -
000040: 49 4E 44 3A 20 4D 43 20 57 41 49 54 20 50 52 49 IND: MC WAIT PRI
000050: 4E 54 45 52 20 2D 20 50 72 69 6E 74 20 61 20 63 NTER - Print a c
000060: 68 61 72 61 63 74 65 72 20 6F 72 20 74 69 6D 65 haracter or time
000070: 20 6F 75 74 0D 0D 20 20 20 20 20 45 6E 74 72 79 out.. Entry
000080: 3A 0D 0D 20 20 20 20 20 41 20 3D 20 63 68 61 72 :.. A = char
000090: 61 63 74 65 72 20 74 6F 20 73 65 6E 64 2E 0D 0D acter to send...
0000A0: 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 Exit:..
0000B0: 20 49 66 20 74 68 65 20 63 68 61 72 61 63 74 65 If the characte
0000C0: 72 20 77 61 73 20 73 65 6E 74 20 4F 4B 3A 0D 20 r was sent OK:.
0000D0: 20 20 20 20 43 61 72 72 79 20 74 72 75 65 2E 0D Carry true..
0000E0: 0D 20 20 20 20 20 49 66 20 74 68 65 20 63 68 61 . If the cha
0000F0: 72 61 63 74 65 72 20 77 61 73 20 6E 6F 74 20 73 racter was not s
000100: 65 6E 74 3A 0D 0D 20 20 20 20 20 43 61 72 72 79 ent:.. Carry
000110: 20 66 61 6C 73 65 2E 0D 0D 20 20 20 20 20 41 20 false... A
000120: 61 6E 64 20 42 43 20 63 6F 72 72 75 70 74 2E 0D and BC corrupt..
000130: 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 . Notes:..
000140: 20 20 20 54 68 69 73 20 69 6E 64 69 72 65 63 74 This indirect
000150: 69 6F 6E 20 69 73 20 70 72 6F 76 69 64 65 64 20 ion is provided
000160: 74 6F 20 61 6C 6C 6F 77 20 74 68 65 20 75 73 65 to allow the use
000170: 72 20 74 6F 20 64 72 69 76 65 20 74 68 65 20 70 r to drive the p
000180: 72 69 6E 74 65 72 20 69 6E 0D 20 20 20 20 20 61 rinter in. a
000190: 20 64 69 66 66 65 72 65 6E 74 20 77 61 79 2E 20 different way.
0001A0: 54 68 69 73 20 69 6E 64 69 72 65 63 74 69 6F 6E This indirection
0001B0: 20 20 69 73 20 20 63 61 6C 6C 65 64 20 20 62 79 is called by
0001C0: 20 74 68 65 20 72 6F 75 74 69 6E 65 20 4D 43 20 the routine MC
0001D0: 50 52 49 4E 54 0D 20 20 20 20 20 43 48 41 52 20 PRINT. CHAR
0001E0: 61 6E 64 20 70 65 72 66 6F 72 6D 73 20 74 68 65 and performs the
0001F0: 20 61 63 74 69 6F 6E 73 20 20 6F 66 20 20 62 6F actions of bo
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 --------.. &
000020: 42 44 45 35 20 2D 20 49 4E 44 3A 20 53 43 52 20 BDE5 - IND: SCR
000030: 52 45 41 44 20 2D 20 52 65 61 64 20 61 20 70 69 READ - Read a pi
000040: 78 65 6C 20 66 72 6F 6D 20 74 68 65 20 73 63 72 xel from the scr
000050: 65 65 6E 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A een.. Entry:
000060: 0D 0D 20 20 20 20 20 48 4C 20 3D 20 73 63 72 65 .. HL = scre
000070: 65 6E 20 61 64 64 72 65 73 73 0D 20 20 20 20 20 en address.
000080: 43 20 3D 20 6D 61 73 6B 20 66 6F 72 20 70 69 78 C = mask for pix
000090: 65 6C 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D el.. Exit:..
0000A0: 20 20 20 20 20 41 20 3D 20 64 65 63 6F 64 65 64 A = decoded
0000B0: 20 69 6E 6B 20 74 68 61 74 20 74 68 65 20 70 69 ink that the pi
0000C0: 78 65 6C 20 77 61 73 20 73 65 74 20 74 6F 2E 0D xel was set to..
0000D0: 0D 20 20 20 20 20 46 6C 61 67 73 20 63 6F 72 72 . Flags corr
0000E0: 75 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 upt... Notes
0000F0: 3A 0D 0D 20 20 20 20 20 54 68 65 20 6D 61 73 6B :.. The mask
000100: 20 73 75 70 70 6C 69 65 64 20 6D 75 73 74 20 62 supplied must b
000110: 65 20 20 61 20 20 6D 61 73 6B 20 20 66 6F 72 20 e a mask for
000120: 20 61 20 20 73 69 6E 67 6C 65 20 70 69 78 65 6C a single pixel
000130: 20 6F 74 68 65 72 77 69 73 65 20 74 68 65 0D 20 otherwise the.
000140: 20 20 20 20 64 65 63 6F 64 69 6E 67 20 6F 66 20 decoding of
000150: 74 68 65 20 69 6E 6B 20 72 65 61 64 20 66 72 6F the ink read fro
000160: 6D 20 74 68 65 20 73 63 72 65 65 6E 20 77 69 6C m the screen wil
000170: 6C 20 6E 6F 74 20 77 6F 72 6B 20 63 6F 72 72 65 l not work corre
000180: 63 74 6C 79 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D ctly... ----
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 0D 0D 0D 0D 20 20 20 20 20 26 42 44 45 ---.... &BDE
0001E0: 38 20 2D 20 53 43 52 20 57 52 49 54 45 20 2D 20 8 - SCR WRITE -
0001F0: 50 6C 6F 74 20 61 20 70 69 78 65 6C 20 75 73 69 Plot a pixel usi
Size : 512 (Real : 512)
000000: 74 68 20 20 4D 43 20 20 42 55 53 59 20 20 50 52 th MC BUSY PR
000010: 49 4E 54 45 52 20 61 6E 64 20 4D 43 20 53 45 4E INTER and MC SEN
000020: 44 0D 20 20 20 20 20 50 52 49 4E 54 45 52 2E 0D D. PRINTER..
000030: 20 20 20 20 20 54 68 69 73 20 69 6E 64 69 72 65 This indire
000040: 63 74 69 6F 6E 20 69 73 20 69 6E 69 74 69 61 6C ction is initial
000050: 69 73 65 64 20 77 68 65 6E 20 4D 43 20 52 45 53 ised when MC RES
000060: 45 54 20 50 52 49 4E 54 45 52 20 69 73 20 63 61 ET PRINTER is ca
000070: 6C 6C 65 64 2E 0D 20 20 20 20 20 2D 2D 2D 2D 2D lled.. -----
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 0D 20 20 20 20 20 26 42 44 46 34 20 2D 20 49 -. &BDF4 - I
0000D0: 4E 44 3A 20 4B 4D 20 53 43 41 4E 20 4B 45 59 53 ND: KM SCAN KEYS
0000E0: 20 2D 20 53 63 61 6E 20 74 68 65 20 6B 65 79 62 - Scan the keyb
0000F0: 6F 61 72 64 0D 0D 20 20 20 20 20 45 6E 74 72 79 oard.. Entry
000100: 3A 0D 0D 20 20 20 20 20 49 6E 74 65 72 75 70 74 :.. Interupt
000110: 73 20 6D 75 73 74 20 62 65 20 64 69 73 61 62 6C s must be disabl
000120: 65 64 2E 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D ed... Exit:.
000130: 0D 20 20 20 20 20 41 46 2C 42 43 2C 44 45 2C 48 . AF,BC,DE,H
000140: 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 L corrupt...
000150: 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 Notes:.. Th
000160: 69 73 20 69 6E 64 69 72 65 63 74 69 6F 6E 20 69 is indirection i
000170: 73 20 63 61 6C 6C 65 64 20 20 65 76 65 72 79 20 s called every
000180: 20 35 30 74 68 20 20 6F 66 20 20 61 20 20 73 65 50th of a se
000190: 63 6F 6E 64 2E 20 54 68 65 20 72 65 70 65 61 74 cond. The repeat
0001A0: 20 61 6E 64 0D 20 20 20 20 20 73 74 61 72 74 20 and. start
0001B0: 75 70 20 73 70 65 65 64 73 20 61 72 65 20 6D 65 up speeds are me
0001C0: 61 73 75 72 65 64 20 69 6E 20 35 30 74 68 73 20 asured in 50ths
0001D0: 6F 66 20 61 20 73 65 63 6F 6E 64 2E 0D 0D 20 20 of a second...
0001E0: 20 20 20 49 66 20 74 68 65 20 65 73 63 61 70 65 If the escape
0001F0: 20 6B 65 79 20 69 73 20 20 70 72 65 73 73 65 64 key is pressed
Size : 512 (Real : 512)
000000: 6E 67 20 74 68 65 20 63 75 72 72 65 6E 74 20 77 ng the current w
000010: 72 69 74 65 20 6D 6F 64 65 0D 0D 0D 0D 0D 0D 0D rite mode.......
000020: 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 . Entry:..
000030: 20 20 20 48 4C 20 3D 20 73 63 72 65 65 6E 20 61 HL = screen a
000040: 64 64 72 65 73 73 0D 20 20 20 20 20 43 20 3D 20 ddress. C =
000050: 6D 61 73 6B 20 66 6F 72 20 74 68 65 20 70 69 78 mask for the pix
000060: 65 6C 73 0D 20 20 20 20 20 42 20 3D 20 65 6E 63 els. B = enc
000070: 6F 64 65 64 20 69 6E 6B 20 74 6F 20 70 6C 6F 74 oded ink to plot
000080: 20 77 69 74 68 0D 0D 20 20 20 20 20 45 78 69 74 with.. Exit
000090: 3A 0D 0D 20 20 20 20 20 41 46 20 63 6F 72 72 75 :.. AF corru
0000A0: 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A pt... Notes:
0000B0: 0D 0D 20 20 20 20 20 2A 2A 20 44 4F 20 4C 41 54 .. ** DO LAT
0000C0: 45 52 20 2A 2A 0D 20 20 20 20 20 2D 2D 2D 2D 2D ER **. -----
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000110: 2D 0D 20 20 20 20 20 26 42 44 45 42 20 2D 20 49 -. &BDEB - I
000120: 4E 44 3A 20 53 43 52 20 4D 4F 44 45 20 43 4C 45 ND: SCR MODE CLE
000130: 41 52 20 2D 20 43 6C 65 61 72 20 74 68 65 20 73 AR - Clear the s
000140: 63 72 65 65 6E 20 74 6F 20 69 6E 6B 20 30 0D 0D creen to ink 0..
000150: 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 Entry:..
000160: 20 20 4E 6F 6E 65 0D 0D 20 20 20 20 20 45 78 69 None.. Exi
000170: 74 3A 0D 0D 20 20 20 20 20 41 46 2C 42 43 2C 44 t:.. AF,BC,D
000180: 45 2C 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 20 E,HL corrupt...
000190: 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 Notes:..
0001A0: 20 54 68 69 73 20 69 6E 64 69 72 65 63 74 69 6F This indirectio
0001B0: 6E 20 69 73 20 69 6E 69 74 69 6C 69 73 65 64 20 n is initilised
0001C0: 77 68 65 6E 20 20 53 43 52 20 20 49 4E 49 54 49 when SCR INITI
0001D0: 41 4C 49 53 45 20 20 6F 72 20 53 43 52 20 52 45 ALISE or SCR RE
0001E0: 53 45 54 20 61 72 65 0D 20 20 20 20 20 63 61 6C SET are. cal
0001F0: 6C 65 64 2E 0D 0D 20 20 20 20 20 56 31 2E 30 0D led... V1.0.
Size : 512 (Real : 512)
000000: 20 20 74 68 65 6E 20 20 74 68 65 20 20 69 6E 64 then the ind
000010: 69 72 65 63 74 69 6F 6E 20 4B 4D 20 54 45 53 54 irection KM TEST
000020: 20 42 52 45 41 4B 20 69 73 0D 20 20 20 20 20 63 BREAK is. c
000030: 61 6C 6C 65 64 20 74 6F 20 70 72 6F 63 65 73 73 alled to process
000040: 20 74 68 65 20 62 72 65 61 6B 2E 0D 20 20 20 20 the break..
000050: 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ---------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 3D --------.. =
0000A0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000E0: 3D 3D 3D 3D 3D 0D 20 20 20 20 20 3D 20 20 20 20 =====. =
0000F0: 20 20 20 20 20 20 20 20 20 20 20 45 4E 44 20 20 END
000100: 20 20 20 20 20 20 20 20 20 20 20 4F 46 20 20 20 OF
000110: 20 20 20 20 49 4E 44 49 52 45 43 54 49 4F 4E 53 INDIRECTIONS
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 3D 0D 20 20 20 20 20 3D 3D 3D 3D 3D 3D 3D 3D 3D =. =========
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000150: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000160: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000170: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D =============...
000180: 0D 0D 0D 0D 0D 0D 1A 3D 09 09 45 4E 44 20 09 09 .......=..END ..
000190: 4F 46 09 20 49 4E 44 49 52 45 43 54 49 4F 4E 53 OF. INDIRECTIONS
0001A0: 09 09 20 20 20 20 20 3D 0D 3D 3D 3D 3D 3D 3D 3D .. =.=======
0001B0: 3D 1A 6E 61 6C 20 6A 75 6D 70 62 6C 6F 63 6B 0D =.nal jumpblock.
0001C0: 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D ................
0001D0: 1A 10 22 00 00 00 00 00 00 00 00 00 00 00 00 00 ..".............
0001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001F0: 00 00 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
Size : 512 (Real : 512)
000000: 20 20 20 20 20 2D 2D 2D 2D 0D 0D 20 20 20 20 20 ----..
000010: 49 74 20 69 73 20 6E 65 63 65 73 73 61 72 79 20 It is necessary
000020: 66 6F 72 20 74 68 65 20 75 73 65 72 20 74 6F 20 for the user to
000030: 73 65 74 20 75 70 20 74 68 65 20 69 6E 6B 73 20 set up the inks
000040: 69 66 20 74 68 69 73 20 69 6E 64 69 72 65 63 74 if this indirect
000050: 69 6F 6E 20 69 73 0D 20 20 20 20 20 63 61 6C 6C ion is. call
000060: 65 64 2E 0D 0D 20 20 20 20 20 56 31 2E 31 0D 20 ed... V1.1.
000070: 20 20 20 20 2D 2D 2D 2D 0D 0D 20 20 20 20 20 54 ----.. T
000080: 68 65 20 73 63 72 65 65 6E 20 70 61 63 6B 20 73 he screen pack s
000090: 65 74 73 20 75 70 20 74 68 65 20 69 6E 6B 73 20 ets up the inks
0000A0: 66 6F 72 20 74 68 65 20 75 73 65 72 20 61 66 74 for the user aft
0000B0: 65 72 20 53 43 52 20 4D 4F 44 45 20 43 4C 45 41 er SCR MODE CLEA
0000C0: 52 20 68 61 73 0D 20 20 20 20 20 62 65 65 6E 20 R has. been
0000D0: 63 61 6C 6C 65 64 2E 0D 0D 20 20 20 20 20 54 68 called... Th
0000E0: 65 20 67 72 61 70 68 69 63 73 20 56 44 55 73 20 e graphics VDUs
0000F0: 61 72 65 20 70 75 74 20 69 6E 74 6F 20 6E 6F 6E are put into non
000100: 2D 73 74 61 6E 64 61 72 64 20 73 74 61 74 65 73 -standard states
000110: 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D ... --------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 -------------.
000160: 20 20 20 26 42 44 45 45 20 2D 20 49 4E 44 3A 20 &BDEE - IND:
000170: 4B 4D 20 54 45 53 54 20 42 52 45 41 4B 20 2D 20 KM TEST BREAK -
000180: 54 65 73 74 20 66 6F 72 20 62 72 65 61 6B 20 6F Test for break o
000190: 72 20 72 65 73 65 74 0D 0D 20 20 20 20 20 45 6E r reset.. En
0001A0: 74 72 79 3A 0D 0D 20 20 20 20 20 49 6E 74 65 72 try:.. Inter
0001B0: 75 70 74 73 20 64 69 73 61 62 6C 65 64 2E 0D 20 upts disabled..
0001C0: 20 20 20 20 43 20 3D 20 73 68 69 66 74 20 61 6E C = shift an
0001D0: 64 20 63 6F 6E 74 72 6F 6C 20 6B 65 79 20 73 74 d control key st
0001E0: 61 74 65 73 2E 0D 0D 20 20 20 20 20 45 78 69 74 ates... Exit
0001F0: 3A 0D 0D 20 20 20 20 20 41 46 20 61 6E 64 20 48 :.. AF and H
Size : 512 (Real : 512)
000000: 1B 40 49 2F 4F 20 70 6F 72 74 73 0D 2D 2D 2D 2D .@I/O ports.----
000010: 2D 2D 2D 2D 2D 0D 0D 50 4F 52 54 0D 0D 26 37 46 -----..PORT..&7F
000020: 78 78 20 20 20 47 61 74 65 20 61 72 72 61 79 0D xx Gate array.
000030: 0D 26 42 43 78 78 20 20 20 48 44 36 38 34 35 20 .&BCxx HD6845
000040: 43 52 54 43 20 73 65 6C 65 63 74 20 72 65 67 69 CRTC select regi
000050: 73 74 65 72 0D 26 42 44 78 78 20 20 20 48 44 36 ster.&BDxx HD6
000060: 38 34 35 20 43 52 54 43 20 72 65 67 69 73 74 65 845 CRTC registe
000070: 72 20 64 61 74 61 0D 26 42 46 78 78 20 20 20 48 r data.&BFxx H
000080: 44 36 38 34 35 20 43 52 54 43 20 64 61 74 61 0D D6845 CRTC data.
000090: 0D 26 44 46 78 78 20 20 20 45 78 70 61 6E 73 69 .&DFxx Expansi
0000A0: 6F 6E 20 72 6F 6D 20 73 65 6C 65 63 74 0D 26 45 on rom select.&E
0000B0: 46 78 78 20 20 20 43 65 6E 74 72 6F 6E 69 63 73 Fxx Centronics
0000C0: 20 64 61 74 61 0D 0D 26 46 34 78 78 20 20 20 75 data..&F4xx u
0000D0: 50 44 38 32 35 35 20 70 6F 72 74 20 41 20 64 61 PD8255 port A da
0000E0: 74 61 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ta (
0000F0: 50 53 47 29 0D 26 46 35 78 78 20 20 20 75 50 44 PSG).&F5xx uPD
000100: 38 32 35 35 20 70 6F 72 74 20 42 20 64 61 74 61 8255 port B data
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 28 54 61 (Ta
000120: 70 65 2E 2E 2E 2E 65 74 63 29 0D 26 46 36 78 78 pe....etc).&F6xx
000130: 20 20 20 75 50 44 38 32 35 35 20 70 6F 72 74 20 uPD8255 port
000140: 43 20 64 61 74 61 20 20 20 20 20 20 20 20 20 20 C data
000150: 20 20 20 28 4B 65 79 62 6F 61 72 64 2F 50 53 47 (Keyboard/PSG
000160: 20 43 6F 6E 74 72 6F 6C 2F 54 61 70 65 29 0D 26 Control/Tape).&
000170: 46 37 78 78 20 20 20 75 50 44 38 32 35 35 20 63 F7xx uPD8255 c
000180: 6F 6E 74 72 6F 6C 0D 0D 26 46 38 78 78 20 20 20 ontrol..&F8xx
000190: 45 78 70 61 6E 73 69 6F 6E 20 42 75 73 0D 26 46 Expansion Bus.&F
0001A0: 39 78 78 20 20 20 45 78 70 61 6E 73 69 6F 6E 20 9xx Expansion
0001B0: 42 75 73 0D 26 46 41 78 78 20 20 20 45 78 70 61 Bus.&FAxx Expa
0001C0: 6E 73 69 6F 6E 20 42 75 73 0D 0D 26 46 41 37 45 nsion Bus..&FA7E
0001D0: 20 20 20 44 69 73 6B 20 64 72 69 76 65 20 6D 6F Disk drive mo
0001E0: 74 6F 72 20 63 6F 6E 74 72 6F 6C 0D 0D 26 46 42 tor control..&FB
0001F0: 78 78 20 20 20 45 78 70 61 6E 73 69 6F 6E 20 42 xx Expansion B
Size : 512 (Real : 512)
000000: 4C 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 L corrupt...
000010: 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 Notes:.. Th
000020: 69 73 20 69 6E 64 69 72 65 63 74 69 6F 6E 20 69 is indirection i
000030: 73 20 63 61 6C 6C 65 64 20 62 79 20 74 68 65 20 s called by the
000040: 66 69 72 6D 77 61 72 65 2E 20 49 66 20 20 62 69 firmware. If bi
000050: 74 20 37 20 6F 66 20 63 20 69 73 20 73 65 74 20 t 7 of c is set
000060: 74 68 65 6E 0D 20 20 20 20 20 74 68 65 20 63 6F then. the co
000070: 6E 74 72 6F 6C 20 6B 65 79 20 69 73 20 70 72 65 ntrol key is pre
000080: 73 73 65 64 20 61 6E 64 20 69 66 20 62 69 74 20 ssed and if bit
000090: 20 36 20 20 69 73 20 73 65 74 20 74 68 65 6E 20 6 is set then
0000A0: 6F 6E 65 20 6F 66 20 74 68 65 20 73 68 69 66 74 one of the shift
0000B0: 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 6B 65 79 73 ....... keys
0000C0: 20 69 73 20 70 72 65 73 73 65 64 2E 0D 0D 20 20 is pressed...
0000D0: 20 20 20 54 68 69 73 20 69 6E 64 69 72 65 63 74 This indirect
0000E0: 69 6F 6E 20 69 73 20 63 61 6C 6C 65 64 20 61 66 ion is called af
0000F0: 74 65 72 20 20 74 68 65 20 20 6B 65 79 73 20 20 ter the keys
000100: 68 61 76 65 20 62 65 65 6E 20 73 63 61 6E 6E 65 have been scanne
000110: 64 20 61 6E 64 20 74 68 65 0D 20 20 20 20 20 65 d and the. e
000120: 73 63 61 70 65 20 6B 65 79 20 77 61 73 20 66 6F scape key was fo
000130: 75 6E 64 20 74 6F 20 62 65 20 20 70 72 65 73 73 und to be press
000140: 65 64 2E 20 20 49 74 20 20 69 73 20 20 70 72 6F ed. It is pro
000150: 76 69 64 65 64 20 73 6F 20 74 68 65 20 75 73 65 vided so the use
000160: 72 20 63 61 6E 0D 20 20 20 20 20 63 68 61 6E 67 r can. chang
000170: 65 20 74 68 65 20 61 63 74 69 6F 6E 20 77 68 65 e the action whe
000180: 6E 20 74 68 65 20 62 72 65 61 6B 20 6B 65 79 20 n the break key
000190: 69 73 20 70 72 65 73 73 65 64 2E 0D 0D 20 20 20 is pressed...
0001A0: 20 20 54 68 69 73 20 69 6E 64 69 72 65 63 74 69 This indirecti
0001B0: 6F 6E 20 69 73 20 73 65 74 75 70 20 77 68 65 6E on is setup when
0001C0: 20 4B 4D 20 49 4E 49 54 49 41 4C 49 53 45 20 6F KM INITIALISE o
0001D0: 72 20 4B 4D 20 52 45 53 45 54 20 61 72 65 20 63 r KM RESET are c
0001E0: 61 6C 6C 65 64 2E 0D 20 20 20 20 20 2D 2D 2D 2D alled.. ----
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 75 73 0D 0D 26 46 42 37 45 20 20 20 46 44 43 20 us..&FB7E FDC
000010: 6D 61 69 6E 20 73 74 61 74 75 73 20 72 65 67 69 main status regi
000020: 73 74 65 72 0D 26 46 42 37 46 20 20 20 46 44 43 ster.&FB7F FDC
000030: 20 64 61 74 61 20 72 65 67 69 73 74 65 72 0D 0D data register..
000040: 26 46 46 78 78 20 20 20 4E 4F 54 20 55 53 45 44 &FFxx NOT USED
000050: 0D 0D 0D 46 6F 72 20 74 68 6F 73 65 20 70 6F 72 ...For those por
000060: 74 20 61 64 64 72 65 73 73 65 73 73 20 69 6E 20 t addressess in
000070: 74 68 65 20 65 78 70 61 6E 73 69 6F 6E 20 62 75 the expansion bu
000080: 73 20 72 61 6E 67 65 3A 0D 0D 50 6F 72 74 73 20 s range:..Ports
000090: 26 46 38 78 78 20 74 6F 20 26 46 42 78 78 0D 0D &F8xx to &FBxx..
0000A0: 78 78 20 62 79 74 65 20 61 73 20 73 70 65 63 69 xx byte as speci
0000B0: 66 69 65 64 20 62 65 6C 6F 77 3A 0D 0D 26 30 30 fied below:..&00
0000C0: 20 2D 20 26 37 42 20 20 20 20 20 20 20 44 4F 20 - &7B DO
0000D0: 4E 4F 54 20 55 53 45 0D 26 37 43 20 2D 20 26 37 NOT USE.&7C - &7
0000E0: 46 20 20 20 20 20 20 20 44 69 73 63 20 49 6E 74 F Disc Int
0000F0: 65 72 66 61 63 65 0D 26 38 30 20 2D 20 26 42 42 erface.&80 - &BB
000100: 20 20 20 20 20 20 20 44 4F 20 4E 4F 54 20 55 53 DO NOT US
000110: 45 0D 26 42 43 20 2D 20 26 42 46 20 20 20 20 20 E.&BC - &BF
000120: 20 20 52 65 73 65 72 76 65 64 20 66 6F 72 20 66 Reserved for f
000130: 75 74 75 72 65 20 75 73 65 0D 26 43 30 20 2D 20 uture use.&C0 -
000140: 26 44 42 20 20 20 20 20 20 20 44 4F 20 4E 4F 54 &DB DO NOT
000150: 20 55 53 45 0D 26 44 43 20 2D 20 26 44 46 20 20 USE.&DC - &DF
000160: 20 20 20 20 20 46 6F 72 20 20 63 6F 6D 6D 75 6E For commun
000170: 69 63 61 74 69 6F 6E 73 20 20 69 6E 74 65 72 66 ications interf
000180: 61 63 65 73 0D 26 45 30 20 2D 20 26 46 45 20 20 aces.&E0 - &FE
000190: 20 20 20 20 20 41 76 61 69 6C 61 62 6C 65 20 66 Available f
0001A0: 6F 72 20 75 73 65 72 20 65 78 70 61 6E 73 69 6F or user expansio
0001B0: 6E 20 69 6E 74 65 72 66 61 63 65 73 0D 26 46 46 n interfaces.&FF
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 75 73 Bus
0001D0: 20 52 65 73 65 74 20 69 6E 74 65 72 66 61 63 65 Reset interface
0001E0: 73 0D 0D 1A 2D 0D 0D 50 4F 52 54 09 0D 0D 26 37 s...-..PORT...&7
0001F0: 46 78 78 09 47 61 74 65 20 61 72 72 61 79 09 09 Fxx.Gate array..
Size : 512 (Real : 512)
000000: 20 20 4B 4D 20 52 45 53 45 54 20 2D 20 74 6F 20 KM RESET - to
000010: 72 65 73 65 74 20 61 6E 79 20 6B 65 79 62 6F 61 reset any keyboa
000020: 72 64 20 69 6E 64 69 72 65 63 74 69 6F 6E 73 20 rd indirections
000030: 61 6E 64 20 62 72 65 61 6B 20 65 76 65 6E 74 2E and break event.
000040: 0D 20 20 20 20 20 54 58 54 20 52 45 53 45 54 20 . TXT RESET
000050: 2D 20 74 6F 20 72 65 73 65 74 20 61 6E 79 20 54 - to reset any T
000060: 58 54 20 56 44 55 20 69 6E 64 69 72 65 63 74 67 XT VDU indirectg
000070: 69 6F 6E 73 2E 0D 20 20 20 20 20 53 43 52 20 52 ions.. SCR R
000080: 45 53 45 54 20 2D 20 74 6F 20 72 65 73 65 74 20 ESET - to reset
000090: 61 6E 79 20 73 63 72 65 65 6E 20 69 6E 64 69 72 any screen indir
0000A0: 65 63 74 69 6F 6E 73 2E 0D 0D 20 20 20 20 20 54 ections... T
0000B0: 68 65 20 76 61 6C 75 65 73 20 72 65 74 75 72 6E he values return
0000C0: 65 64 20 62 79 20 4B 4C 20 43 48 4F 4B 45 20 4F ed by KL CHOKE O
0000D0: 46 46 20 61 72 65 20 75 73 65 64 20 62 79 20 4D FF are used by M
0000E0: 43 20 42 4F 4F 54 20 50 52 4F 47 52 41 4D 20 69 C BOOT PROGRAM i
0000F0: 66 20 74 68 65 0D 20 20 20 20 20 70 72 6F 67 72 f the. progr
000100: 61 6D 20 6C 6F 61 64 20 66 61 69 6C 73 2E 0D 0D am load fails...
000110: 20 20 20 20 20 54 68 69 73 20 69 6E 66 6F 72 6D This inform
000120: 61 74 69 6F 6E 20 69 73 20 69 6E 63 6C 75 64 65 ation is include
000130: 64 20 66 6F 72 20 74 68 65 20 72 65 61 64 65 72 d for the reader
000140: 73 20 69 6E 74 65 72 65 73 74 2E 20 4D 43 20 42 s interest. MC B
000150: 4F 4F 54 20 50 52 4F 47 52 41 4D 0D 20 20 20 20 OOT PROGRAM.
000160: 20 69 73 20 74 68 65 20 72 65 63 6F 6D 6D 65 6E is the recommen
000170: 64 65 64 20 6D 65 61 6E 73 20 20 6F 66 20 20 6C ded means of l
000180: 6F 61 64 69 6E 67 20 20 61 6E 64 20 20 65 6E 74 oading and ent
000190: 65 72 69 6E 67 20 20 61 20 72 61 6D 20 66 6F 72 ering a ram for
0001A0: 65 67 72 6F 75 6E 64 0D 20 20 20 20 20 70 72 6F eground. pro
0001B0: 67 72 61 6D 2E 20 4D 43 20 53 54 41 52 54 20 50 gram. MC START P
0001C0: 52 4F 47 52 41 4D 20 69 73 20 74 68 65 20 20 72 ROGRAM is the r
0001D0: 65 63 6F 6D 6D 65 6E 64 65 64 20 20 6D 65 61 6E ecommended mean
0001E0: 73 20 6F 66 20 65 6E 74 65 72 69 6E 67 20 61 20 s of entering a
0001F0: 72 6F 6D 0D 20 20 20 20 20 70 72 6F 67 72 61 6D rom. program
Size : 512 (Real : 512)
000000: 09 0D 0D 26 42 43 78 78 09 48 44 36 38 34 35 20 ...&BCxx.HD6845
000010: 43 52 54 43 20 73 65 6C 65 63 74 20 72 65 67 69 CRTC select regi
000020: 73 74 65 72 09 09 0D 26 42 44 78 78 09 48 44 36 ster...&BDxx.HD6
000030: 38 34 35 20 43 52 54 43 20 72 65 67 69 73 74 65 845 CRTC registe
000040: 72 20 64 61 74 61 20 20 20 20 1A 0D 0D 0D 0D 0D r data ......
000050: 1A 10 22 00 00 00 00 00 00 00 00 00 00 00 00 00 ..".............
000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000070: 00 00 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000080: 73 20 72 61 6E 67 65 3A 0D 0D 50 6F 72 74 73 20 s range:..Ports
000090: 26 46 38 78 78 20 74 6F 20 26 46 42 78 78 0D 0D &F8xx to &FBxx..
0000A0: 78 78 20 62 79 74 65 20 61 73 20 73 70 65 63 69 xx byte as speci
0000B0: 66 69 65 64 20 62 65 6C 6F 77 3A 0D 0D 26 30 30 fied below:..&00
0000C0: 20 2D 20 26 37 42 20 20 20 20 20 20 20 44 4F 20 - &7B DO
0000D0: 4E 4F 54 20 55 53 45 0D 26 37 43 20 2D 20 26 37 NOT USE.&7C - &7
0000E0: 46 20 20 20 20 20 20 20 44 69 73 63 20 49 6E 74 F Disc Int
0000F0: 65 72 66 61 63 65 0D 26 38 30 20 2D 20 26 42 42 erface.&80 - &BB
000100: 20 20 20 20 20 20 20 44 4F 20 4E 4F 54 20 55 53 DO NOT US
000110: 45 0D 26 42 43 20 2D 20 26 42 46 20 20 20 20 20 E.&BC - &BF
000120: 20 20 52 65 73 65 72 76 65 64 20 66 6F 72 20 66 Reserved for f
000130: 75 74 75 72 65 20 75 73 65 0D 26 43 30 20 2D 20 uture use.&C0 -
000140: 26 44 42 20 20 20 20 20 20 20 44 4F 20 4E 4F 54 &DB DO NOT
000150: 20 55 53 45 0D 26 44 43 20 2D 20 26 44 46 20 20 USE.&DC - &DF
000160: 20 20 20 20 20 46 6F 72 20 20 63 6F 6D 6D 75 6E For commun
000170: 69 63 61 74 69 6F 6E 73 20 20 69 6E 74 65 72 66 ications interf
000180: 61 63 65 73 0D 26 45 30 20 2D 20 26 46 45 20 20 aces.&E0 - &FE
000190: 20 20 20 20 20 41 76 61 69 6C 61 62 6C 65 20 66 Available f
0001A0: 6F 72 20 75 73 65 72 20 65 78 70 61 6E 73 69 6F or user expansio
0001B0: 6E 20 69 6E 74 65 72 66 61 63 65 73 0D 26 46 46 n interfaces.&FF
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 75 73 Bus
0001D0: 20 52 65 73 65 74 20 69 6E 74 65 72 66 61 63 65 Reset interface
0001E0: 73 0D 0D 1A 2D 0D 0D 50 4F 52 54 09 0D 0D 26 37 s...-..PORT...&7
0001F0: 46 78 78 09 47 61 74 65 20 61 72 72 61 79 09 09 Fxx.Gate array..
Size : 512 (Real : 512)
000000: 20 6F 72 20 61 20 72 61 6D 20 66 6F 72 65 67 72 or a ram foregr
000010: 6F 75 6E 64 20 70 72 6F 67 72 61 6D 20 77 68 69 ound program whi
000020: 63 68 20 68 61 73 20 61 6C 72 65 61 64 79 20 62 ch has already b
000030: 65 65 6E 20 6C 6F 61 64 65 64 2E 0D 0D 20 20 20 een loaded...
000040: 20 20 4B 4C 20 43 48 4F 4B 45 20 4F 46 46 20 64 KL CHOKE OFF d
000050: 69 73 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 isables interupt
000060: 73 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D s... -------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 0D 0D 20 20 20 20 20 26 42 43 43 42 20 2D 20 4B .. &BCCB - K
0000C0: 4C 20 52 4F 4D 20 57 41 4C 4B 20 2D 20 46 69 6E L ROM WALK - Fin
0000D0: 64 20 61 6E 64 20 69 6E 69 74 69 61 6C 69 7A 65 d and initialize
0000E0: 20 61 6C 6C 20 62 61 63 6B 67 72 6F 75 6E 64 20 all background
0000F0: 52 4F 4D 73 0D 0D 20 20 20 20 20 45 6E 74 72 79 ROMs.. Entry
000100: 3A 0D 0D 20 20 20 20 20 44 45 20 3D 20 66 69 72 :.. DE = fir
000110: 73 74 20 75 73 65 61 62 6C 65 20 62 79 74 65 20 st useable byte
000120: 6F 66 20 6D 65 6D 6F 72 79 0D 20 20 20 20 20 48 of memory. H
000130: 4C 20 3D 20 6C 61 73 74 20 75 73 65 61 62 6C 65 L = last useable
000140: 20 62 79 74 65 20 6F 66 20 6D 65 6D 6F 72 79 0D byte of memory.
000150: 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 . Exit:..
000160: 20 20 44 45 20 3D 20 61 64 64 72 65 73 73 20 6F DE = address o
000170: 66 20 74 68 65 20 6E 65 77 20 66 69 72 73 74 20 f the new first
000180: 75 73 65 61 62 6C 65 20 62 79 74 65 20 6F 66 20 useable byte of
000190: 6D 65 6D 6F 72 79 0D 20 20 20 20 20 48 4C 20 3D memory. HL =
0001A0: 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 address of the
0001B0: 6E 65 77 20 6C 61 73 74 20 75 73 61 62 6C 65 20 new last usable
0001C0: 62 79 74 65 20 6F 66 20 6D 65 6D 6F 72 79 0D 0D byte of memory..
0001D0: 20 20 20 20 20 41 46 2C 42 43 20 63 68 61 6E 67 AF,BC chang
0001E0: 65 64 2E 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 ed.........
0001F0: 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 57 68 65 Notes:.. Whe
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 6E 20 61 20 66 6F 72 65 67 72 6F 75 6E 64 20 70 n a foreground p
000010: 72 6F 67 72 61 6D 20 69 73 20 20 65 6E 74 65 72 rogram is enter
000020: 65 64 20 20 69 74 20 20 69 73 20 70 61 73 73 65 ed it is passe
000030: 64 20 74 68 65 20 61 64 64 72 65 73 73 65 73 73 d the addressess
000040: 20 6F 66 0D 20 20 20 20 20 74 68 65 20 66 69 72 of. the fir
000050: 73 74 20 61 6E 64 20 6C 61 73 74 20 62 79 74 65 st and last byte
000060: 73 20 20 69 6E 20 20 6D 65 6D 6F 72 79 20 20 77 s in memory w
000070: 68 69 63 68 20 20 69 74 20 20 6D 61 79 20 20 75 hich it may u
000080: 73 65 2E 20 54 68 65 20 61 72 61 65 20 6F 66 0D se. The arae of.
000090: 20 20 20 20 20 6D 65 6D 6F 72 79 20 6F 75 74 73 memory outs
0000A0: 69 64 65 20 74 68 69 73 20 69 73 20 75 73 65 64 ide this is used
0000B0: 20 20 74 6F 20 20 73 74 6F 72 65 20 20 66 69 72 to store fir
0000C0: 6D 77 61 72 65 20 76 61 72 69 61 62 6C 65 73 2C mware variables,
0000D0: 20 74 68 65 20 73 74 61 63 6B 2C 0D 20 20 20 20 the stack,.
0000E0: 20 74 68 65 20 6A 75 6D 70 62 6C 6F 63 6B 73 20 the jumpblocks
0000F0: 61 6E 64 20 74 68 65 20 73 63 72 65 65 6E 20 20 and the screen
000100: 6D 65 6D 6F 72 79 2E 20 20 46 72 6F 6D 20 20 74 memory. From t
000110: 68 65 20 61 72 65 61 20 61 76 61 69 6C 61 62 6C he area availabl
000120: 65 20 66 6F 72 20 61 0D 20 20 20 20 20 66 6F 72 e for a. for
000130: 65 67 72 6F 75 6E 64 20 74 6F 20 75 73 65 2C 20 eground to use,
000140: 74 68 65 20 61 72 65 61 73 20 20 66 6F 72 20 20 the areas for
000150: 62 61 63 6B 67 72 6F 75 6E 64 20 20 70 72 6F 67 background prog
000160: 72 61 6D 73 20 74 6F 20 75 73 65 20 6D 75 73 74 rams to use must
000170: 20 62 65 0D 20 20 20 20 20 61 6C 6C 6F 63 61 74 be. allocat
000180: 65 64 2E 0D 0D 20 20 20 20 20 54 68 65 20 66 6F ed... The fo
000190: 72 65 67 72 6F 75 6E 64 20 70 72 6F 67 72 61 6D reground program
0001A0: 20 73 68 6F 75 6C 64 20 69 6E 69 74 69 61 6C 69 should initiali
0001B0: 7A 65 20 20 62 61 63 6B 67 72 6F 75 6E 64 20 20 ze background
0001C0: 52 4F 4D 53 20 61 74 20 61 6E 20 65 61 72 6C 79 ROMS at an early
0001D0: 0D 20 20 20 20 20 73 74 61 67 65 2C 20 62 65 66 . stage, bef
0001E0: 6F 72 65 20 69 74 20 75 73 65 73 20 74 68 65 20 ore it uses the
0001F0: 6D 65 6D 6F 72 79 20 69 74 20 20 69 73 20 67 69 memory it is gi
Size : 512 (Real : 512)
000000: 1B 40 0D 0D 0D 20 20 20 20 20 26 42 43 43 38 20 .@... &BCC8
000010: 2D 20 4B 4C 20 43 48 4F 4B 45 20 4F 46 46 20 2D - KL CHOKE OFF -
000020: 20 52 65 73 65 74 20 74 68 65 20 4B 65 72 6E 61 Reset the Kerna
000030: 6C 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D l.. Entry:..
000040: 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 20 20 20 20 None..
000050: 45 78 69 74 3A 0D 0D 20 20 20 20 20 42 20 3D 20 Exit:.. B =
000060: 72 6F 6D 20 73 65 6C 65 63 74 20 61 64 64 72 65 rom select addre
000070: 73 73 20 6F 66 20 74 68 65 20 63 75 72 72 65 6E ss of the curren
000080: 74 20 66 6F 72 65 67 72 6F 75 6E 64 20 72 6F 6D t foreground rom
000090: 20 28 69 66 20 61 6E 79 29 0D 20 20 20 20 20 44 (if any). D
0000A0: 45 20 3D 20 61 64 64 72 65 73 73 20 61 74 20 77 E = address at w
0000B0: 68 69 63 68 20 74 68 65 20 63 75 72 72 65 6E 74 hich the current
0000C0: 20 66 6F 72 65 67 72 6F 75 6E 64 20 52 4F 4D 20 foreground ROM
0000D0: 77 61 73 20 65 6E 74 65 72 65 64 0D 20 20 20 20 was entered.
0000E0: 20 43 20 3D 20 72 6F 6D 20 73 65 6C 65 63 74 20 C = rom select
0000F0: 61 64 64 72 65 73 73 20 66 6F 72 20 61 20 72 61 address for a ra
000100: 6D 20 66 6F 72 65 67 72 6F 75 6E 64 20 70 72 6F m foreground pro
000110: 67 72 61 6D 2E 0D 0D 20 20 20 20 20 41 46 2C 48 gram... AF,H
000120: 4C 20 63 68 61 6E 67 65 64 2E 0D 0D 20 20 20 20 L changed...
000130: 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 49 66 Notes:.. If
000140: 20 74 68 65 20 63 75 72 72 65 6E 74 20 20 66 6F the current fo
000150: 72 65 67 72 6F 75 6E 64 20 20 70 72 6F 67 72 61 reground progra
000160: 6D 20 20 69 73 20 20 69 6E 20 20 72 61 6D 20 20 m is in ram
000170: 74 68 65 6E 20 20 74 68 65 20 72 6F 6D 20 73 65 then the rom se
000180: 6C 65 63 74 0D 20 20 20 20 20 61 64 64 72 65 73 lect. addres
000190: 73 20 61 6E 64 20 65 6E 74 72 79 20 70 6F 69 6E s and entry poin
0001A0: 74 20 61 72 65 20 72 65 74 75 72 6E 65 64 20 62 t are returned b
0001B0: 6F 74 68 20 7A 65 72 6F 2E 20 69 2E 65 2E 20 74 oth zero. i.e. t
0001C0: 68 65 20 64 65 66 61 75 6C 74 20 6F 6D 20 61 74 he default om at
0001D0: 0D 20 20 20 20 20 69 74 73 20 65 6E 74 72 79 20 . its entry
0001E0: 61 64 64 72 65 73 73 2E 0D 0D 20 20 20 20 20 4B address... K
0001F0: 4C 20 43 48 4F 4B 45 20 4F 46 46 20 66 6F 72 6D L CHOKE OFF form
Size : 512 (Real : 512)
000000: 76 65 6E 2E 20 49 74 20 6D 61 79 20 63 68 6F 73 ven. It may chos
000010: 65 20 77 68 65 74 68 65 72 20 74 6F 0D 20 20 20 e whether to.
000020: 20 20 65 6E 61 62 6C 65 20 62 61 63 6B 67 72 6F enable backgro
000030: 75 6E 64 20 52 4F 4D 53 20 6F 72 20 6E 6F 74 2E und ROMS or not.
000040: 20 4B 4C 20 49 4E 49 54 20 20 42 41 43 4B 20 6D KL INIT BACK m
000050: 61 79 20 62 65 20 75 73 65 64 20 74 6F 20 69 6E ay be used to in
000060: 69 74 69 61 6C 69 7A 65 0D 20 20 20 20 20 61 20 itialize. a
000070: 70 61 72 74 69 63 75 6C 61 72 20 62 61 63 6B 67 particular backg
000080: 72 6F 75 6E 64 20 52 4F 4D 20 6F 72 20 74 68 69 round ROM or thi
000090: 73 20 20 72 6F 75 74 69 6E 65 20 6D 61 79 20 62 s routine may b
0000A0: 65 20 75 73 65 64 20 74 6F 20 69 6E 69 74 69 61 e used to initia
0000B0: 6C 69 7A 65 0D 20 20 20 20 20 61 6C 6C 20 61 76 lize. all av
0000C0: 61 69 6C 61 62 6C 65 20 62 61 63 6B 67 72 6F 75 ailable backgrou
0000D0: 6E 64 20 52 4F 4D 53 2E 0D 0D 20 20 20 20 20 4B nd ROMS... K
0000E0: 4C 20 52 4F 4D 20 57 41 4C 4B 20 69 6E 73 70 65 L ROM WALK inspe
0000F0: 63 74 73 20 74 68 65 20 20 72 6F 6D 73 20 20 61 cts the roms a
000100: 74 20 20 72 6F 6D 20 20 73 65 6C 65 63 74 20 61 t rom select a
000110: 64 64 72 65 73 73 65 73 20 69 6E 20 74 68 65 20 ddresses in the
000120: 72 61 6E 67 65 0D 20 20 20 20 20 31 2E 2E 37 20 range. 1..7
000130: 69 6E 20 20 76 31 2E 30 20 20 66 69 72 6D 77 61 in v1.0 firmwa
000140: 72 65 20 20 61 6E 64 20 20 30 2E 2E 31 35 20 20 re and 0..15
000150: 69 6E 20 20 76 31 2E 31 20 20 66 69 72 6D 77 61 in v1.1 firmwa
000160: 72 65 2E 20 20 54 68 65 20 70 6F 77 65 72 2D 75 re. The power-u
000170: 70 0D 20 20 20 20 20 69 6E 69 74 69 61 6C 69 7A p. initializ
000180: 65 20 65 6E 74 72 79 20 6F 66 20 65 61 63 68 20 e entry of each
000190: 62 61 63 6B 67 72 6F 75 6E 64 20 72 6F 6D 20 20 background rom
0001A0: 66 6F 75 6E 64 20 69 73 20 63 61 6C 6C 65 64 20 found is called
0001B0: 28 75 6E 6C 65 73 73 20 69 74 20 69 73 0D 20 20 (unless it is.
0001C0: 20 20 20 74 68 65 20 63 75 72 72 65 6E 74 20 66 the current f
0001D0: 6F 72 65 67 72 6F 75 6E 64 20 72 6F 6D 20 20 69 oreground rom i
0001E0: 6E 20 20 76 31 2E 31 29 2E 20 20 54 68 69 73 20 n v1.1). This
0001F0: 20 65 6E 74 72 79 20 20 6D 61 79 20 61 6C 6C 6F entry may allo
Size : 512 (Real : 512)
000000: 73 20 70 61 72 74 20 6F 66 20 20 74 68 65 20 20 s part of the
000010: 63 6C 6F 73 65 20 20 64 6F 77 6E 20 72 65 71 75 close down requ
000020: 69 72 65 64 20 62 65 66 6F 72 65 20 61 20 6E 65 ired before a ne
000030: 77 20 72 61 6D 0D 20 20 20 20 20 66 6F 72 65 67 w ram. foreg
000040: 72 6F 75 6E 64 20 70 72 6F 67 72 61 6D 20 69 73 round program is
000050: 20 6C 6F 61 64 65 64 2C 20 61 73 20 69 73 20 72 loaded, as is r
000060: 65 71 75 69 72 65 64 20 62 79 20 4D 43 20 42 4F equired by MC BO
000070: 4F 54 20 50 52 4F 47 52 41 4D 2E 0D 0D 20 20 20 OT PROGRAM...
000080: 20 20 54 68 65 20 63 6C 6F 73 65 20 64 6F 77 6E The close down
000090: 20 6D 75 73 74 20 65 6E 73 75 72 65 20 74 68 61 must ensure tha
0000A0: 74 20 74 68 65 72 65 20 61 72 65 20 6E 6F 20 69 t there are no i
0000B0: 6E 74 65 72 72 75 70 74 20 6F 72 20 6F 74 68 65 nterrupt or othe
0000C0: 72 20 65 76 65 6E 74 73 0D 20 20 20 20 20 61 63 r events. ac
0000D0: 74 69 76 65 20 61 6E 64 20 75 73 69 6E 67 20 20 tive and using
0000E0: 6D 65 6D 6F 72 79 20 20 77 68 69 63 68 20 20 6D memory which m
0000F0: 69 67 68 74 20 20 62 65 20 20 64 61 6D 61 67 65 ight be damage
000100: 64 20 20 62 79 20 20 6C 6F 61 64 69 6E 67 20 61 d by loading a
000110: 20 6E 65 77 0D 20 20 20 20 20 70 72 6F 67 72 61 new. progra
000120: 6D 20 69 6E 74 6F 20 6D 65 6D 6F 72 79 2E 20 49 m into memory. I
000130: 6E 20 74 68 65 20 63 6F 6D 70 6C 65 74 65 20 63 n the complete c
000140: 6C 6F 73 65 20 64 6F 77 6E 20 4D 43 20 42 4F 4F lose down MC BOO
000150: 54 20 50 52 4F 47 52 41 4D 20 64 6F 65 73 3A 0D T PROGRAM does:.
000160: 0D 20 20 20 20 20 53 4F 55 4E 44 20 52 45 53 45 . SOUND RESE
000170: 54 20 2D 20 74 6F 20 6B 69 6C 6C 20 6F 66 20 73 T - to kill of s
000180: 6F 75 6E 64 20 67 65 6E 65 72 61 74 69 6F 6E 0D ound generation.
000190: 0D 20 20 20 20 20 61 6E 64 20 4F 55 54 20 74 6F . and OUT to
0001A0: 20 49 2F 4F 20 70 6F 72 74 20 26 46 38 46 46 20 I/O port &F8FF
0001B0: 2D 20 72 65 73 65 74 20 61 6E 79 20 65 78 74 65 - reset any exte
0001C0: 72 6E 61 6C 20 69 6E 74 65 72 75 70 74 73 20 73 rnal interupts s
0001D0: 6F 75 72 63 65 73 0D 20 20 20 20 20 4B 4C 20 43 ources. KL C
0001E0: 48 4F 4B 45 20 4F 46 46 20 2D 20 74 6F 20 6B 69 HOKE OFF - to ki
0001F0: 6C 6C 20 6F 66 20 65 76 65 6E 74 73 0D 20 20 20 ll of events.
Size : 512 (Real : 512)
000000: 63 61 74 65 20 73 6F 6D 65 0D 20 20 20 20 20 6D cate some. m
000010: 65 6D 6F 72 79 20 66 6F 72 20 74 68 65 20 62 61 emory for the ba
000020: 63 6B 67 72 6F 75 6E 64 20 72 6F 6D 73 20 75 73 ckground roms us
000030: 65 20 20 62 79 20 20 61 64 6A 75 73 74 69 6E 67 e by adjusting
000040: 20 74 68 65 20 76 61 6C 75 65 73 20 69 6E 20 44 the values in D
000050: 45 20 61 6E 64 0D 20 20 20 20 20 48 4C 20 62 65 E and. HL be
000060: 66 6F 72 65 20 72 65 74 75 72 6E 69 6E 67 2E 20 fore returning.
000070: 4F 6E 63 65 20 74 68 65 20 52 4F 4D 20 68 61 73 Once the ROM has
000080: 20 62 65 65 6E 20 69 6E 69 74 69 61 6C 69 7A 65 been initialize
000090: 64 20 74 68 65 20 4B 65 72 6E 61 6C 20 61 64 64 d the Kernal add
0000A0: 73 0D 20 20 20 20 20 69 74 20 74 6F 20 74 68 65 s. it to the
0000B0: 20 6C 69 73 74 20 6F 66 20 65 78 74 65 72 6E 61 list of externa
0000C0: 6C 20 63 6F 6D 6D 61 6E 64 20 20 73 65 72 76 65 l command serve
0000D0: 72 73 2C 20 61 6E 64 20 6E 6F 74 65 73 20 74 68 rs, and notes th
0000E0: 65 20 62 61 73 65 20 6F 66 20 74 68 65 0D 20 20 e base of the.
0000F0: 20 20 20 61 72 65 61 20 77 68 69 63 68 20 74 68 area which th
000100: 65 20 52 4F 4D 20 68 61 73 20 61 6C 6C 6F 63 61 e ROM has alloca
000110: 74 65 64 20 20 74 6F 20 20 69 74 73 65 6C 66 20 ted to itself
000120: 20 61 74 20 74 68 65 20 74 6F 70 20 6F 66 20 6D at the top of m
000130: 65 6D 6F 72 79 20 28 69 66 0D 20 20 20 20 20 61 emory (if. a
000140: 6E 79 29 2E 20 53 75 62 73 65 71 75 65 6E 74 20 ny). Subsequent
000150: 46 41 52 20 43 41 4C 4C 73 20 74 6F 20 20 65 6E FAR CALLs to en
000160: 74 72 69 65 73 20 20 69 6E 20 20 74 68 65 20 72 tries in the r
000170: 6F 6D 20 77 69 6C 6C 20 61 75 74 6F 6D 61 74 69 om will automati
000180: 63 61 6C 6C 79 0D 20 20 20 20 20 73 65 74 20 74 cally. set t
000190: 68 65 20 49 59 20 69 6E 64 65 78 20 72 65 67 69 he IY index regi
0001A0: 73 74 65 72 20 74 6F 20 70 6F 69 6E 74 20 61 74 ster to point at
0001B0: 20 74 68 65 20 52 4F 4D 73 20 75 70 70 65 72 20 the ROMs upper
0001C0: 6D 65 6D 6F 72 79 20 61 72 65 61 2E 0D 0D 20 20 memory area...
0001D0: 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 74 68 65 20 63 65 6E 74 72 61 6C 20 33 32 4B 20 the central 32K
000010: 6F 66 20 6D 65 6D 6F 72 79 2E 20 69 2E 65 2E 20 of memory. i.e.
000020: 6E 6F 74 20 75 6E 64 65 72 20 61 20 72 6F 6D 2E not under a rom.
000030: 0D 0D 20 20 20 20 20 54 68 65 20 66 6F 72 6D 61 .. The forma
000040: 74 20 6F 66 20 61 20 63 6F 6D 6D 61 6E 64 20 74 t of a command t
000050: 61 62 6C 65 20 69 73 20 64 65 73 63 72 69 62 65 able is describe
000060: 64 20 6C 61 74 65 72 2E 0D 0D 0D 20 20 20 20 20 d later....
000070: 26 42 43 44 34 20 2D 20 4B 4C 20 46 49 4E 44 20 &BCD4 - KL FIND
000080: 43 4F 4D 4D 41 4E 44 20 2D 20 53 65 61 72 63 68 COMMAND - Search
000090: 20 66 6F 72 20 52 53 58 0D 0D 20 20 20 20 20 45 for RSX.. E
0000A0: 6E 74 72 79 3A 0D 0D 20 20 20 20 20 48 4C 20 3D ntry:.. HL =
0000B0: 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 address of the
0000C0: 63 6F 6D 6D 61 6E 64 20 6E 61 6D 65 20 74 6F 20 command name to
0000D0: 73 65 61 72 63 68 20 66 6F 72 0D 0D 20 20 20 20 search for..
0000E0: 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 49 46 20 Exit:.. IF
0000F0: 61 6E 20 52 53 58 20 6F 72 20 62 61 63 6B 67 72 an RSX or backgr
000100: 6F 75 6E 64 20 52 4F 4D 20 63 6F 6D 6D 61 6E 64 ound ROM command
000110: 20 77 61 73 20 66 6F 75 6E 64 3A 0D 0D 20 20 20 was found:..
000120: 20 20 43 61 72 72 79 20 74 72 75 65 2E 20 43 20 Carry true. C
000130: 3D 20 52 4F 4D 20 73 65 6C 65 63 74 20 61 64 64 = ROM select add
000140: 72 65 73 73 0D 20 20 20 20 20 48 4C 20 3D 20 61 ress. HL = a
000150: 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 72 6F ddress of the ro
000160: 75 74 69 6E 65 0D 0D 20 20 20 20 20 49 66 20 74 utine.. If t
000170: 68 65 20 63 6F 6D 6D 61 6E 64 20 77 61 73 20 6E he command was n
000180: 6F 74 20 66 6F 75 6E 64 3A 0D 0D 20 20 20 20 20 ot found:..
000190: 43 61 72 72 79 20 66 61 6C 73 65 2E 43 2C 48 4C Carry false.C,HL
0001A0: 20 63 68 61 6E 67 65 64 2E 0D 0D 20 20 20 20 20 changed...
0001B0: 41 2C 42 2C 44 45 20 63 68 61 6E 67 65 64 2E 0D A,B,DE changed..
0001C0: 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 . Notes:..
0001D0: 20 20 20 54 68 65 20 63 6F 6D 6D 61 6E 64 20 6E The command n
0001E0: 61 6D 65 20 70 61 73 73 65 64 20 6D 75 73 74 20 ame passed must
0001F0: 62 65 20 69 6E 20 20 52 41 4D 20 20 62 75 74 20 be in RAM but
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 ---------..
000020: 26 42 43 43 45 20 2D 20 4B 4C 20 49 4E 49 54 20 &BCCE - KL INIT
000030: 42 41 43 4B 20 2D 20 49 6E 69 74 69 61 6C 69 7A BACK - Initializ
000040: 65 20 61 20 70 61 72 74 69 63 75 6C 61 72 20 72 e a particular r
000050: 6F 6D 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D om.. Entry:.
000060: 0D 20 20 20 20 20 43 20 3D 20 72 6F 6D 20 73 65 . C = rom se
000070: 6C 65 63 74 20 61 64 64 72 65 73 73 20 6F 66 20 lect address of
000080: 74 68 65 20 72 6F 6D 20 74 6F 20 69 6E 69 74 69 the rom to initi
000090: 61 6C 69 7A 65 0D 20 20 20 20 20 44 45 20 3D 20 alize. DE =
0000A0: 66 69 72 73 74 20 75 73 65 61 62 6C 65 20 62 79 first useable by
0000B0: 74 65 20 6F 66 20 6D 65 6D 6F 72 79 0D 20 20 20 te of memory.
0000C0: 20 20 48 4C 20 3D 20 6C 61 73 74 20 75 73 65 61 HL = last usea
0000D0: 62 6C 65 20 62 79 74 65 20 6F 66 20 6D 65 6D 6F ble byte of memo
0000E0: 72 79 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D ry.. Exit:..
0000F0: 20 20 20 20 20 44 45 20 3D 20 61 64 64 72 65 73 DE = addres
000100: 73 20 6F 66 20 74 68 65 20 6E 65 77 20 66 69 72 s of the new fir
000110: 73 74 20 75 73 65 61 62 6C 65 20 62 79 74 65 20 st useable byte
000120: 6F 66 20 6D 65 6D 6F 72 79 0D 20 20 20 20 20 48 of memory. H
000130: 4C 20 3D 20 61 64 64 72 65 73 73 20 6F 66 20 74 L = address of t
000140: 68 65 20 6E 65 77 20 6C 61 73 74 20 75 73 65 61 he new last usea
000150: 62 6C 65 20 62 79 74 65 20 6F 66 20 6D 65 6D 6F ble byte of memo
000160: 72 79 0D 0D 20 20 20 20 20 41 46 2C 42 20 63 68 ry.. AF,B ch
000170: 61 6E 67 65 64 2E 0D 0D 20 20 20 20 20 4E 6F 74 anged... Not
000180: 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 20 72 6F es:.. The ro
000190: 6D 20 73 65 6C 65 63 74 20 61 64 64 72 65 73 73 m select address
0001A0: 20 6D 75 73 74 20 62 65 20 69 6E 20 74 68 65 20 must be in the
0001B0: 20 72 61 6E 67 65 20 31 2E 2E 37 20 69 6E 20 56 range 1..7 in V
0001C0: 31 2E 30 20 61 6E 64 20 30 2E 2E 31 35 20 69 6E 1.0 and 0..15 in
0001D0: 0D 20 20 20 20 20 56 31 2E 31 20 66 69 72 6D 77 . V1.1 firmw
0001E0: 61 72 65 20 61 6E 64 20 74 68 65 20 72 6F 6D 20 are and the rom
0001F0: 61 74 20 74 68 69 73 20 20 61 64 64 72 65 73 73 at this address
Size : 512 (Real : 512)
000000: 6D 61 79 20 6C 69 65 20 75 6E 64 65 72 6E 65 61 may lie undernea
000010: 74 68 20 61 20 52 4F 4D 2E 0D 20 20 20 20 20 54 th a ROM.. T
000020: 68 65 20 6E 61 6D 65 20 6D 61 79 20 62 65 20 61 he name may be a
000030: 6E 79 20 6E 75 6D 62 65 72 20 20 6F 66 20 20 63 ny number of c
000040: 68 61 72 61 63 74 65 72 73 20 20 6C 6F 6E 67 20 haracters long
000050: 62 75 74 20 6F 6E 6C 79 20 74 68 65 20 66 69 72 but only the fir
000060: 73 74 20 31 36 0D 20 20 20 20 20 63 68 61 72 61 st 16. chara
000070: 63 74 65 72 73 20 61 72 65 20 73 69 67 6E 69 66 cters are signif
000080: 69 63 61 6E 74 2E 20 20 41 6C 6C 20 20 61 6C 70 icant. All alp
000090: 68 61 62 65 74 69 63 20 20 63 68 61 72 61 63 74 habetic charact
0000A0: 65 72 73 20 20 69 6E 20 20 74 68 65 20 6E 61 6D ers in the nam
0000B0: 65 0D 20 20 20 20 20 73 68 6F 75 6C 64 20 62 65 e. should be
0000C0: 20 69 6E 20 75 70 70 65 72 20 63 61 73 65 20 61 in upper case a
0000D0: 6E 64 20 74 68 65 20 6C 61 73 74 20 63 68 61 72 nd the last char
0000E0: 61 63 74 65 72 20 6F 66 20 74 68 65 20 6E 61 6D acter of the nam
0000F0: 65 20 73 68 6F 75 6C 64 20 68 61 76 65 0D 20 20 e should have.
000100: 20 20 20 62 69 74 20 37 20 73 65 74 2E 0D 0D 20 bit 7 set...
000110: 20 20 20 20 54 68 65 20 72 6F 6D 20 73 65 6C 65 The rom sele
000120: 63 74 20 61 6E 64 20 72 6F 75 74 69 6E 65 20 61 ct and routine a
000130: 64 64 72 65 73 73 65 73 20 72 65 74 75 72 6E 65 ddresses returne
000140: 64 20 61 72 65 20 73 75 69 74 61 62 6C 65 20 66 d are suitable f
000150: 6F 72 20 63 61 6C 6C 69 6E 67 0D 20 20 20 20 20 or calling.
000160: 4B 4C 20 46 41 52 20 50 43 48 4C 2E 0D 0D 20 20 KL FAR PCHL...
000170: 20 20 20 54 68 65 20 6C 69 73 74 20 6F 66 20 65 The list of e
000180: 78 74 65 72 6E 61 6C 20 63 6F 6D 6D 61 6E 64 20 xternal command
000190: 20 73 65 72 76 65 72 73 20 20 69 73 20 67 65 6E servers is gen
0001A0: 65 72 61 74 65 64 20 61 73 20 62 61 63 6B 67 72 erated as backgr
0001B0: 6F 75 6E 64 20 72 6F 6D 73 0D 20 20 20 20 20 61 ound roms. a
0001C0: 6E 64 20 72 73 78 73 20 61 72 65 20 20 69 6E 69 nd rsxs are ini
0001D0: 74 69 61 6C 69 7A 65 64 2E 20 20 54 68 65 20 20 tialized. The
0001E0: 63 6F 6D 6D 61 6E 64 20 20 74 61 62 6C 65 73 20 command tables
0001F0: 20 61 72 65 20 20 73 63 61 6E 6E 65 64 20 20 69 are scanned i
Size : 512 (Real : 512)
000000: 20 6D 75 73 74 20 62 65 20 61 20 62 61 63 6B 67 must be a backg
000010: 72 6F 75 6E 64 20 72 6F 6D 20 6F 72 0D 20 20 20 round rom or.
000020: 20 20 74 68 65 20 72 65 71 75 65 73 74 20 77 69 the request wi
000030: 6C 6C 20 62 65 20 20 69 67 6E 6F 72 65 64 2E 20 ll be ignored.
000040: 20 49 6E 20 20 76 31 2E 31 20 20 66 69 72 6D 77 In v1.1 firmw
000050: 61 72 65 20 20 74 68 65 20 72 65 75 71 65 73 74 are the reuqest
000060: 20 77 69 6C 6C 20 62 65 0D 20 20 20 20 20 69 67 will be. ig
000070: 6E 6F 72 65 64 20 69 66 20 74 68 65 20 72 6F 6D nored if the rom
000080: 20 69 73 20 74 68 65 20 63 75 72 72 65 6E 74 20 is the current
000090: 66 6F 72 65 67 72 6F 75 6E 64 20 72 6F 6D 2E 0D foreground rom..
0000A0: 0D 20 20 20 20 20 54 68 65 20 66 6F 72 65 67 72 . The foregr
0000B0: 6F 75 6E 64 20 70 72 6F 67 72 61 6D 20 73 68 6F ound program sho
0000C0: 75 6C 64 20 69 6E 69 74 69 61 6C 69 7A 65 20 20 uld initialize
0000D0: 62 61 63 6B 67 72 6F 75 6E 64 20 20 52 4F 4D 53 background ROMS
0000E0: 20 61 74 20 61 6E 20 65 61 72 6C 79 0D 20 20 20 at an early.
0000F0: 20 20 73 74 61 67 65 2C 20 62 65 66 6F 72 65 20 stage, before
000100: 69 74 20 75 73 65 73 20 74 68 65 20 6D 65 6D 6F it uses the memo
000110: 72 79 20 69 74 20 20 69 73 20 67 69 76 65 6E 2E ry it is given.
000120: 20 49 74 20 6D 61 79 20 63 68 6F 73 65 20 77 68 It may chose wh
000130: 65 74 68 65 72 20 74 6F 0D 20 20 20 20 20 65 6E ether to. en
000140: 61 62 6C 65 20 62 61 63 6B 67 72 6F 75 6E 64 20 able background
000150: 52 4F 4D 53 20 6F 72 20 6E 6F 74 2E 20 4B 4C 20 ROMS or not. KL
000160: 52 4F 4D 20 20 57 41 4C 4B 20 6D 61 79 20 62 65 ROM WALK may be
000170: 20 75 73 65 64 20 74 6F 20 69 6E 69 74 69 61 6C used to initial
000180: 69 7A 65 0D 20 20 20 20 20 61 20 70 61 72 74 69 ize. a parti
000190: 63 75 6C 61 72 20 62 61 63 6B 67 72 6F 75 6E 64 cular background
0001A0: 20 52 4F 4D 20 6F 72 20 74 68 69 73 20 20 72 6F ROM or this ro
0001B0: 75 74 69 6E 65 20 6D 61 79 20 62 65 20 75 73 65 utine may be use
0001C0: 64 20 74 6F 20 69 6E 69 74 69 61 6C 69 7A 65 0D d to initialize.
0001D0: 20 20 20 20 20 61 6C 6C 20 20 61 76 61 69 6C 61 all availa
0001E0: 62 6C 65 20 20 62 61 63 6B 67 72 6F 75 6E 64 20 ble background
0001F0: 20 52 4F 4D 53 20 20 6F 72 20 20 74 68 69 73 20 ROMS or this
Size : 512 (Real : 512)
000000: 6E 20 74 68 65 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 n the.......
000010: 20 6F 70 70 6F 73 69 74 65 20 6F 72 64 65 72 20 opposite order
000020: 74 6F 20 74 68 61 74 20 69 6E 20 20 77 68 69 63 to that in whic
000030: 68 20 20 74 68 65 20 63 6F 6D 6D 61 6E 64 20 73 h the command s
000040: 65 72 76 65 72 73 20 77 65 72 65 20 69 6E 74 72 ervers were intr
000050: 6F 64 75 63 65 64 2E 0D 20 20 20 20 20 54 68 75 oduced.. Thu
000060: 73 2C 20 52 53 58 73 20 77 69 6C 6C 20 74 65 6E s, RSXs will ten
000070: 64 20 74 6F 20 20 74 61 6B 65 20 20 70 72 65 63 d to take prec
000080: 65 64 65 6E 63 65 20 20 6F 76 65 72 20 62 61 63 edence over bac
000090: 6B 67 72 6F 75 6E 64 20 72 6F 6D 73 2C 20 73 69 kground roms, si
0000A0: 6E 63 65 0D 20 20 20 20 20 72 73 78 73 20 61 72 nce. rsxs ar
0000B0: 65 20 69 6E 20 20 67 65 6E 65 72 61 6C 2C 20 20 e in general,
0000C0: 69 6E 69 74 69 61 6C 69 7A 65 64 20 20 61 66 74 initialized aft
0000D0: 65 72 20 20 62 61 63 6B 67 72 6F 75 6E 64 20 72 er background r
0000E0: 6F 6D 73 2E 20 42 61 63 6B 67 72 6F 75 6E 64 0D oms. Background.
0000F0: 20 20 20 20 20 72 6F 6D 73 20 61 72 65 20 6E 6F roms are no
000100: 72 6D 61 6C 6C 79 20 69 6E 69 74 69 61 6C 69 7A rmally initializ
000110: 65 64 20 69 6E 20 72 65 76 65 72 73 65 20 20 6F ed in reverse o
000120: 72 64 65 72 20 6F 66 20 72 6F 6D 20 73 65 6C 65 rder of rom sele
000130: 63 74 20 61 64 64 72 65 73 73 2C 0D 20 20 20 20 ct address,.
000140: 20 73 6F 20 6C 6F 77 65 72 20 6E 75 6D 62 65 72 so lower number
000150: 65 64 20 72 6F 6D 73 20 77 69 6C 6C 20 74 61 6B ed roms will tak
000160: 65 20 70 72 65 63 65 64 65 6E 63 65 20 6F 76 65 e precedence ove
000170: 72 20 68 69 67 68 65 72 2E 0D 0D 20 20 20 20 20 r higher...
000180: 54 68 65 20 66 69 72 73 74 2D 65 6E 74 72 79 20 The first-entry
000190: 69 6E 20 20 61 20 20 62 61 63 6B 67 72 6F 75 6E in a backgroun
0001A0: 64 20 20 72 6F 6D 73 20 20 63 6F 6D 6D 61 6E 64 d roms command
0001B0: 20 20 6E 61 6D 65 20 20 74 61 62 6C 65 20 28 74 name table (t
0001C0: 68 65 20 6F 6E 65 0D 20 20 20 20 20 61 73 73 6F he one. asso
0001D0: 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 ciated with the
0001E0: 70 6F 77 65 72 2D 75 70 20 65 6E 74 72 79 29 20 power-up entry)
0001F0: 6D 61 79 20 20 62 65 20 20 75 73 65 64 20 61 73 may be used as
Size : 512 (Real : 512)
000000: 20 72 6F 75 74 69 6E 65 20 20 6D 61 79 20 20 62 routine may b
000010: 65 20 20 75 73 65 64 20 20 74 6F 0D 20 20 20 20 e used to.
000020: 20 69 6E 69 74 69 61 6C 69 7A 65 20 70 61 72 74 initialize part
000030: 69 63 75 6C 61 72 20 72 6F 6D 73 2E 0D 0D 20 20 icular roms...
000040: 20 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 This routine
000050: 63 61 75 73 65 73 20 74 68 65 20 62 61 63 6B 67 causes the backg
000060: 72 6F 75 6E 64 20 20 72 6F 6D 73 20 70 6F 77 65 round roms powe
000070: 72 2D 75 70 20 69 6E 69 74 69 61 6C 69 7A 61 74 r-up initializat
000080: 69 6F 6E 20 65 6E 74 72 79 0D 20 20 20 20 20 74 ion entry. t
000090: 6F 20 62 65 20 63 61 6C 6C 65 64 2E 20 54 68 69 o be called. Thi
0000A0: 73 20 65 6E 74 72 79 20 6D 61 79 20 20 61 6C 6C s entry may all
0000B0: 6F 63 61 74 65 20 20 73 6F 6D 65 20 6D 65 6D 6F ocate some memo
0000C0: 72 79 20 66 6F 72 20 74 68 65 20 62 61 63 6B 67 ry for the backg
0000D0: 72 6F 75 6E 64 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 round.......
0000E0: 20 72 6F 6D 73 20 75 73 65 20 62 79 20 61 64 6A roms use by adj
0000F0: 75 73 74 69 6E 67 20 74 68 65 20 76 61 6C 75 65 usting the value
000100: 73 20 20 69 6E 20 20 44 45 20 61 6E 64 20 48 4C s in DE and HL
000110: 20 62 65 66 6F 72 65 20 72 65 74 75 72 6E 69 6E before returnin
000120: 67 2E 20 4F 6E 63 65 0D 20 20 20 20 20 74 68 65 g. Once. the
000130: 20 52 4F 4D 20 68 61 73 20 20 62 65 65 6E 20 20 ROM has been
000140: 69 6E 69 74 69 61 6C 69 7A 65 64 20 20 74 68 65 initialized the
000150: 20 20 4B 65 72 6E 61 6C 20 20 61 64 64 73 20 20 Kernal adds
000160: 69 74 20 20 74 6F 20 20 74 68 65 20 6C 69 73 74 it to the list
000170: 20 6F 66 0D 20 20 20 20 20 65 78 74 65 72 6E 61 of. externa
000180: 6C 20 63 6F 6D 6D 61 6E 64 20 73 65 72 76 65 72 l command server
000190: 73 2C 20 61 6E 64 20 6E 6F 74 65 73 20 74 68 65 s, and notes the
0001A0: 20 62 61 73 65 20 6F 66 20 74 68 65 20 61 72 65 base of the are
0001B0: 61 20 77 68 69 63 68 20 74 68 65 20 52 4F 4D 0D a which the ROM.
0001C0: 20 20 20 20 20 68 61 73 20 61 6C 6C 6F 63 61 74 has allocat
0001D0: 65 64 20 74 6F 20 69 74 73 65 6C 66 20 61 74 20 ed to itself at
0001E0: 74 68 65 20 74 6F 70 20 20 6F 66 20 6D 65 6D 6F the top of memo
0001F0: 72 79 20 28 69 66 20 61 6E 79 29 2E 20 53 75 62 ry (if any). Sub
Size : 512 (Real : 512)
000000: 20 74 68 65 20 72 6F 6D 73 20 6E 61 6D 65 2E 20 the roms name.
000010: 4B 4C 0D 20 20 20 20 20 46 49 4E 44 20 43 4F 4D KL. FIND COM
000020: 4D 41 4E 44 20 6D 61 79 20 62 65 20 75 73 65 64 MAND may be used
000030: 2C 20 74 68 65 72 65 66 6F 72 65 2C 20 20 74 6F , therefore, to
000040: 20 66 69 6E 64 20 6F 75 74 20 77 68 65 74 68 65 find out whethe
000050: 72 20 61 20 70 61 72 74 69 63 75 6C 61 72 0D 20 r a particular.
000060: 20 20 20 20 62 61 63 6B 67 72 6F 75 6E 64 20 72 background r
000070: 6F 6D 20 68 61 73 20 62 65 65 6E 20 69 6E 69 74 om has been init
000080: 69 61 6C 69 7A 65 64 2E 0D 0D 20 20 20 20 20 57 ialized... W
000090: 68 65 6E 20 73 65 61 72 63 68 69 6E 67 20 66 6F hen searching fo
0000A0: 72 20 61 20 66 6F 72 65 67 72 6F 75 6E 64 20 20 r a foreground
0000B0: 70 72 6F 67 72 61 6D 2C 20 20 72 6F 6D 73 20 61 program, roms a
0000C0: 72 65 20 69 6E 73 70 65 63 74 65 64 20 73 74 61 re inspected sta
0000D0: 72 74 69 6E 67 0D 20 20 20 20 20 77 69 74 68 20 rting. with
0000E0: 72 6F 6D 20 30 20 61 6E 64 20 20 77 6F 72 6B 69 rom 0 and worki
0000F0: 6E 67 20 20 75 70 77 61 72 64 73 2E 20 20 54 68 ng upwards. Th
000100: 65 20 20 73 65 61 72 63 68 20 20 63 65 61 73 65 e search cease
000110: 73 20 20 77 68 65 6E 20 74 68 65 20 66 69 72 73 s when the firs
000120: 74 0D 20 20 20 20 20 75 6E 75 73 65 64 20 72 6F t. unused ro
000130: 6D 20 61 64 64 72 65 73 73 20 67 72 65 61 74 65 m address greate
000140: 72 20 74 68 61 6E 20 30 20 6F 6E 20 76 31 2E 31 r than 0 on v1.1
000150: 20 66 69 72 6D 77 61 72 65 20 61 6E 64 20 67 72 firmware and gr
000160: 65 61 74 65 72 20 74 68 61 6E 20 31 35 0D 20 20 eater than 15.
000170: 20 20 20 6F 6E 20 76 31 2E 31 20 66 69 72 6D 77 on v1.1 firmw
000180: 61 72 65 20 69 73 20 66 6F 75 6E 64 2E 0D 0D 20 are is found...
000190: 20 20 20 20 54 68 65 20 6F 6E 2D 62 6F 61 72 64 The on-board
0001A0: 20 62 61 73 69 63 20 6D 61 79 20 62 65 20 20 65 basic may be e
0001B0: 6E 74 65 72 65 64 20 20 62 79 20 20 73 65 61 72 ntered by sear
0001C0: 63 68 69 6E 67 20 66 6F 72 20 61 6E 64 20 69 6E ching for and in
0001D0: 76 6F 6B 69 6E 67 20 74 68 65 0D 20 20 20 20 20 voking the.
0001E0: 63 6F 6D 6D 61 6E 64 20 27 42 41 53 49 43 27 0D command 'BASIC'.
0001F0: 0D 20 20 20 20 20 49 66 20 20 61 20 20 66 6F 72 . If a for
Size : 512 (Real : 512)
000000: 73 65 71 75 65 6E 74 20 46 41 52 0D 20 20 20 20 sequent FAR.
000010: 20 43 41 4C 4C 73 20 74 6F 20 65 6E 74 72 69 65 CALLs to entrie
000020: 73 20 20 69 6E 20 20 74 68 65 20 20 52 4F 4D 20 s in the ROM
000030: 20 77 69 6C 6C 20 20 61 75 74 6F 6D 61 74 69 63 will automatic
000040: 61 6C 6C 79 20 20 73 65 74 20 20 74 68 65 20 49 ally set the I
000050: 59 20 69 6E 64 65 78 0D 20 20 20 20 20 72 65 67 Y index. reg
000060: 69 73 74 65 72 20 74 6F 20 70 6F 69 6E 74 20 61 ister to point a
000070: 74 20 74 68 65 20 52 4F 4D 73 20 75 70 70 65 72 t the ROMs upper
000080: 20 6D 65 6D 6F 72 79 20 61 72 65 61 2E 0D 0D 20 memory area...
000090: 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 ----------..
0000E0: 20 26 42 43 44 31 20 2D 20 4B 4C 20 4C 4F 47 20 &BCD1 - KL LOG
0000F0: 45 58 54 20 2D 20 49 6E 74 72 6F 64 75 63 65 20 EXT - Introduce
000100: 61 6E 20 52 53 58 20 74 6F 20 74 68 65 20 66 69 an RSX to the fi
000110: 72 6D 77 61 72 65 2E 0D 0D 20 20 20 20 20 45 6E rmware... En
000120: 74 72 79 3A 0D 0D 20 20 20 20 20 42 43 20 3D 20 try:.. BC =
000130: 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 52 address of the R
000140: 53 58 20 63 6F 6D 6D 61 6E 64 20 74 61 62 6C 65 SX command table
000150: 0D 20 20 20 20 20 48 4C 20 3D 20 34 20 62 79 74 . HL = 4 byt
000160: 65 20 61 72 65 61 20 6F 66 20 52 41 4D 20 66 6F e area of RAM fo
000170: 72 20 74 68 65 20 4B 65 72 6E 61 6C 73 20 75 73 r the Kernals us
000180: 65 2E 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D e... Exit:..
000190: 20 20 20 20 20 44 45 20 63 68 61 6E 67 65 64 2E DE changed.
0001A0: 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 .. Notes:..
0001B0: 20 20 20 20 42 6F 74 68 20 74 68 65 20 52 53 58 Both the RSX
0001C0: 73 20 63 6F 6D 6D 61 6E 64 20 74 61 62 6C 65 20 s command table
0001D0: 61 6E 64 20 20 74 68 65 20 20 4B 65 72 6E 61 6C and the Kernal
0001E0: 73 20 73 74 6F 72 61 67 65 20 61 72 65 61 20 6D s storage area m
0001F0: 75 73 74 20 6C 69 65 20 69 6E 0D 20 20 20 20 20 ust lie in.
Size : 512 (Real : 512)
000000: 65 67 72 6F 75 6E 64 20 20 72 6F 6D 20 20 20 63 eground rom c
000010: 6F 6D 6D 61 6E 64 20 20 20 69 73 20 20 20 66 6F ommand is fo
000020: 75 6E 64 20 20 20 74 68 65 20 20 20 72 6F 6D 20 und the rom
000030: 20 69 73 20 20 65 6E 74 65 72 65 64 0D 20 20 20 is entered.
000040: 20 20 75 6E 63 6F 6E 64 69 74 69 6F 6E 61 6C 6C unconditionall
000050: 79 20 61 6E 64 20 74 68 69 73 20 72 6F 75 74 69 y and this routi
000060: 6E 65 20 6E 65 76 65 72 20 72 65 74 75 72 6E 73 ne never returns
000070: 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D ... --------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D --------------..
0000C0: 20 20 20 20 20 26 42 43 44 37 20 2D 20 4B 4C 20 &BCD7 - KL
0000D0: 4E 45 57 20 46 52 41 4D 45 20 46 4C 59 20 2D 20 NEW FRAME FLY -
0000E0: 20 49 6E 69 74 69 61 6C 69 7A 65 20 20 61 6E 64 Initialize and
0000F0: 20 70 75 74 20 61 20 62 6C 6F 63 6B 20 6F 6E 74 put a block ont
000100: 6F 20 74 68 65 20 66 72 61 6D 65 0D 20 20 20 20 o the frame.
000110: 20 66 6C 79 62 61 63 6B 20 6C 69 73 74 2E 0D 0D flyback list...
000120: 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 Entry:..
000130: 20 20 48 4C 20 3D 20 61 64 64 72 65 73 73 20 6F HL = address o
000140: 66 20 74 68 65 20 66 72 61 6D 65 20 66 6C 79 62 f the frame flyb
000150: 61 63 6B 20 62 6C 6F 63 6B 0D 20 20 20 20 20 42 ack block. B
000160: 20 3D 20 65 76 65 6E 74 20 63 6C 61 73 73 0D 20 = event class.
000170: 20 20 20 20 43 20 3D 20 72 6F 6D 20 73 65 6C 65 C = rom sele
000180: 63 74 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 ct address of th
000190: 65 20 65 76 65 6E 74 20 72 6F 75 74 69 6E 65 0D e event routine.
0001A0: 20 20 20 20 20 44 45 20 3D 20 61 64 64 72 65 73 DE = addres
0001B0: 73 20 6F 66 20 74 68 65 20 65 76 65 6E 74 20 72 s of the event r
0001C0: 6F 75 74 69 6E 65 0D 0D 20 20 20 20 20 45 78 69 outine.. Exi
0001D0: 74 3A 0D 0D 20 20 20 20 20 41 46 2C 44 45 2C 48 t:.. AF,DE,H
0001E0: 4C 20 63 68 61 6E 67 65 64 2E 0D 0D 20 20 20 20 L changed...
0001F0: 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 Notes:.. Th
Size : 512 (Real : 512)
000000: 6E 64 20 6D 75 73 74 20 6C 69 65 20 69 6E 20 74 nd must lie in t
000010: 68 65 20 63 65 6E 74 72 61 6C 20 33 32 6B 0D 20 he central 32k.
000020: 20 20 20 20 6F 66 20 72 61 6D 2E 20 54 68 65 20 of ram. The
000030: 6C 61 73 74 20 37 20 62 79 74 65 73 20 6F 66 20 last 7 bytes of
000040: 74 68 65 20 74 69 63 6B 20 62 6C 6F 63 6B 20 61 the tick block a
000050: 72 65 20 61 6E 20 65 76 65 6E 74 20 62 6C 6F 63 re an event bloc
000060: 6B 20 77 68 69 63 68 20 69 73 0D 20 20 20 20 20 k which is.
000070: 69 6E 69 74 69 61 6C 69 7A 65 64 20 74 6F 20 72 initialized to r
000080: 65 66 6C 65 63 74 20 20 74 68 65 20 20 70 61 72 eflect the par
000090: 61 6D 65 74 65 72 73 20 20 70 61 73 73 65 64 20 ameters passed
0000A0: 20 69 6E 20 20 42 2C 43 2C 44 45 2E 20 54 68 65 in B,C,DE. The
0000B0: 20 65 78 61 63 74 0D 20 20 20 20 20 6C 61 79 6F exact. layo
0000C0: 75 74 20 6F 66 20 61 20 66 61 73 74 20 74 69 63 ut of a fast tic
0000D0: 6B 65 72 20 62 6C 6F 63 6B 20 69 73 20 64 65 73 ker block is des
0000E0: 63 72 69 62 65 64 20 6C 61 74 65 72 2E 0D 0D 20 cribed later...
0000F0: 20 20 20 20 54 68 65 20 66 61 73 74 20 74 69 63 The fast tic
000100: 6B 65 72 20 62 6C 6F 63 6B 20 69 73 20 61 70 70 ker block is app
000110: 65 6E 64 65 64 20 74 6F 20 74 68 65 20 66 61 73 ended to the fas
000120: 74 20 74 69 63 6B 65 72 20 6C 69 73 74 20 69 66 t ticker list if
000130: 20 69 74 20 69 73 20 6E 6F 74 0D 20 20 20 20 20 it is not.
000140: 61 6C 72 65 61 64 79 20 6F 6E 20 69 74 2E 0D 0D already on it...
000150: 0D 0D 0D 0D 0D 0D 20 20 20 20 20 54 68 65 20 66 ...... The f
000160: 61 73 74 20 74 69 63 6B 65 72 20 66 61 63 69 6C ast ticker facil
000170: 69 74 79 20 69 73 20 6E 6F 74 20 20 69 6E 74 65 ity is not inte
000180: 6E 64 65 64 20 66 6F 72 20 67 65 6E 65 72 61 6C nded for general
000190: 20 75 73 65 2E 20 48 6F 77 65 76 65 72 2C 20 69 use. However, i
0001A0: 74 0D 20 20 20 20 20 64 6F 65 73 20 61 6C 6C 6F t. does allo
0001B0: 77 20 20 72 65 6C 61 74 69 76 65 6C 79 20 20 73 w relatively s
0001C0: 68 6F 72 74 20 20 74 69 6D 65 73 20 20 74 6F 20 hort times to
0001D0: 20 62 65 20 20 6D 65 61 73 75 72 65 64 20 20 67 be measured g
0001E0: 69 76 69 6E 67 20 67 72 65 61 74 65 72 0D 20 20 iving greater.
0001F0: 20 20 20 72 65 73 6F 6C 75 74 69 6F 6E 20 74 68 resolution th
Size : 512 (Real : 512)
000000: 65 20 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 e frame flyback
000010: 62 6C 6F 63 6B 20 69 73 20 39 20 20 62 79 74 65 block is 9 byte
000020: 73 20 20 6C 6F 6E 67 20 20 61 6E 64 20 6D 75 73 s long and mus
000030: 74 20 6C 69 65 20 69 6E 20 74 68 65 20 63 65 6E t lie in the cen
000040: 74 72 61 6C 0D 20 20 20 20 20 33 32 6B 20 6F 66 tral. 32k of
000050: 20 72 61 6D 2E 20 54 68 65 20 6C 61 73 74 20 37 ram. The last 7
000060: 20 62 79 74 65 73 20 20 6F 66 20 20 74 68 65 20 bytes of the
000070: 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 62 6C frame flyback bl
000080: 6F 63 6B 20 61 72 65 20 61 6E 20 65 76 65 6E 74 ock are an event
000090: 0D 20 20 20 20 20 62 6C 6F 63 6B 20 77 68 69 63 . block whic
0000A0: 68 20 72 65 66 6C 65 63 74 73 20 20 74 68 65 20 h reflects the
0000B0: 20 70 61 72 61 6D 65 74 65 72 73 20 20 70 61 73 parameters pas
0000C0: 73 65 64 20 20 69 6E 20 20 42 2C 43 2C 44 45 2E sed in B,C,DE.
0000D0: 20 20 20 54 68 65 20 65 78 61 63 74 0D 20 20 20 The exact.
0000E0: 20 20 6C 61 79 6F 75 74 20 6F 66 20 61 20 66 72 layout of a fr
0000F0: 61 6D 65 20 66 6C 79 62 61 63 6B 20 62 6C 6F 63 ame flyback bloc
000100: 6B 20 69 73 20 64 65 73 63 72 69 62 65 64 20 6C k is described l
000110: 61 74 65 72 2E 0D 0D 20 20 20 20 20 54 68 65 20 ater... The
000120: 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 62 6C frame flyback bl
000130: 6F 63 6B 20 69 73 20 61 70 70 65 6E 64 65 64 20 ock is appended
000140: 74 6F 20 74 68 65 20 66 72 61 6D 65 20 66 6C 79 to the frame fly
000150: 62 61 63 6B 20 6C 69 73 74 20 69 66 20 69 74 20 back list if it
000160: 69 73 0D 20 20 20 20 20 6E 6F 74 20 61 6C 72 65 is. not alre
000170: 61 64 79 20 6F 6E 20 69 74 2E 0D 0D 20 20 20 20 ady on it...
000180: 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 65 6E This routine en
000190: 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 73 2E ables interupts.
0001A0: 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D .. ---------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 ------------.
0001F0: 20 20 2D 0D 20 20 20 20 20 26 42 43 44 41 20 2D -. &BCDA -
Size : 512 (Real : 512)
000000: 61 6E 20 74 68 65 20 67 65 6E 65 72 61 6C 20 74 an the general t
000010: 69 63 6B 65 72 20 66 61 63 69 6C 69 74 69 65 73 icker facilities
000020: 2E 0D 0D 20 20 20 20 20 54 68 69 73 20 72 6F 75 ... This rou
000030: 74 69 6E 65 20 65 6E 61 62 6C 65 73 20 69 6E 74 tine enables int
000040: 65 72 75 70 74 73 2E 0D 0D 20 20 20 20 20 2D 2D erupts... --
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 0D 20 20 20 20 20 2D 0D 20 20 20 20 20 ---. -.
0000A0: 26 42 43 45 33 20 2D 20 4B 4C 20 41 44 44 20 46 &BCE3 - KL ADD F
0000B0: 41 53 54 20 54 49 43 4B 45 52 20 2D 20 50 75 74 AST TICKER - Put
0000C0: 20 61 20 62 6C 6F 63 6B 20 6F 6E 74 6F 20 74 68 a block onto th
0000D0: 65 20 66 61 73 74 20 74 69 63 6B 65 72 20 6C 69 e fast ticker li
0000E0: 73 74 2E 0D 0D 0D 20 20 20 20 20 48 4C 20 3D 20 st.... HL =
0000F0: 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 66 address of the f
000100: 61 73 74 20 74 69 63 6B 65 72 20 62 6C 6F 63 6B ast ticker block
000110: 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 .. Exit:..
000120: 20 20 20 41 46 2C 44 45 2C 48 4C 20 63 68 61 6E AF,DE,HL chan
000130: 67 65 64 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 ged... Notes
000140: 3A 0D 0D 20 20 20 20 20 54 68 65 20 66 61 73 74 :.. The fast
000150: 20 74 69 63 6B 65 72 20 62 6C 6F 63 6B 20 69 73 ticker block is
000160: 20 39 20 62 79 74 65 73 20 6C 6F 6E 67 20 20 61 9 bytes long a
000170: 6E 64 20 6D 75 73 74 20 6C 69 65 20 69 6E 20 74 nd must lie in t
000180: 68 65 20 63 65 6E 74 72 61 6C 20 33 32 6B 0D 20 he central 32k.
000190: 20 20 20 20 6F 66 20 72 61 6D 2E 20 54 68 65 20 of ram. The
0001A0: 6C 61 73 74 20 37 20 62 79 74 65 73 20 6F 66 20 last 7 bytes of
0001B0: 20 74 68 65 20 20 66 61 73 74 20 74 69 63 6B 65 the fast ticke
0001C0: 72 20 62 6C 6F 63 6B 20 61 72 65 20 61 6E 20 65 r block are an e
0001D0: 76 65 6E 74 20 62 6C 6F 63 6B 0D 20 20 20 20 20 vent block.
0001E0: 77 68 69 63 68 20 6D 75 73 74 20 62 65 20 20 69 which must be i
0001F0: 6E 69 74 69 61 6C 69 7A 65 64 20 20 62 65 66 6F nitialized befo
Size : 512 (Real : 512)
000000: 20 4B 4C 20 41 44 44 20 46 52 41 4D 45 20 46 4C KL ADD FRAME FL
000010: 59 20 2D 20 41 64 64 20 61 20 62 6C 6F 63 6B 20 Y - Add a block
000020: 74 6F 20 74 68 65 20 66 72 61 6D 65 20 66 6C 79 to the frame fly
000030: 62 61 63 6B 20 6C 69 73 74 0D 0D 20 20 20 20 20 back list..
000040: 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 48 4C 20 Entry:.. HL
000050: 3D 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 = address of the
000060: 20 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 62 frame flyback b
000070: 6C 6F 63 6B 0D 0D 20 20 20 20 20 45 78 69 74 3A lock.. Exit:
000080: 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 41 46 2C ........ AF,
000090: 44 45 2C 48 4C 20 63 68 61 6E 67 65 64 2E 0D 0D DE,HL changed...
0000A0: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 Notes:..
0000B0: 20 20 54 68 65 20 66 72 61 6D 65 20 66 6C 79 62 The frame flyb
0000C0: 61 63 6B 20 62 6C 6F 63 6B 20 69 73 20 39 20 20 ack block is 9
0000D0: 62 79 74 65 73 20 20 6C 6F 6E 67 20 20 61 6E 64 bytes long and
0000E0: 20 6D 75 73 74 20 6C 69 65 20 69 6E 20 74 68 65 must lie in the
0000F0: 20 63 65 6E 74 72 61 6C 0D 20 20 20 20 20 33 32 central. 32
000100: 6B 20 6F 66 20 72 61 6D 2E 20 54 68 65 20 6C 61 k of ram. The la
000110: 73 74 20 37 20 62 79 74 65 73 20 20 6F 66 20 20 st 7 bytes of
000120: 74 68 65 20 66 72 61 6D 65 20 66 6C 79 62 61 63 the frame flybac
000130: 6B 20 62 6C 6F 63 6B 20 61 72 65 20 61 6E 20 65 k block are an e
000140: 76 65 6E 74 0D 20 20 20 20 20 62 6C 6F 63 6B 20 vent. block
000150: 77 68 69 63 68 20 6D 75 73 74 20 62 65 20 69 6E which must be in
000160: 69 74 69 61 6C 69 7A 65 64 20 62 65 66 6F 72 65 itialized before
000170: 20 63 61 6C 6C 69 6E 67 20 74 68 69 73 20 72 6F calling this ro
000180: 75 74 69 6E 65 2E 20 54 68 65 20 65 78 61 63 74 utine. The exact
000190: 0D 20 20 20 20 20 6C 61 79 6F 75 74 20 6F 66 20 . layout of
0001A0: 61 20 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 a frame flyback
0001B0: 62 6C 6F 63 6B 20 69 73 20 64 65 73 63 72 69 62 block is describ
0001C0: 65 64 20 6C 61 74 65 72 2E 0D 0D 20 20 20 20 20 ed later...
0001D0: 54 68 65 20 62 6C 6F 63 6B 20 69 73 20 61 70 70 The block is app
0001E0: 65 6E 64 65 64 20 74 6F 20 74 68 65 20 66 72 61 ended to the fra
0001F0: 6D 65 20 20 66 6C 79 62 61 63 6B 20 20 6C 69 73 me flyback lis
Size : 512 (Real : 512)
000000: 72 65 20 20 63 61 6C 6C 69 6E 67 20 20 74 68 69 re calling thi
000010: 73 20 20 72 6F 75 74 69 6E 65 2E 20 20 54 68 65 s routine. The
000020: 20 65 78 61 63 74 0D 20 20 20 20 20 6C 61 79 6F exact. layo
000030: 75 74 20 6F 66 20 61 20 66 61 73 74 20 74 69 63 ut of a fast tic
000040: 6B 65 72 20 62 6C 6F 63 6B 20 69 73 20 64 65 73 ker block is des
000050: 63 72 69 62 65 64 20 6C 61 74 65 72 2E 0D 0D 20 cribed later...
000060: 20 20 20 20 54 68 65 20 66 61 73 74 20 74 69 63 The fast tic
000070: 6B 65 72 20 62 6C 6F 63 6B 20 69 73 20 61 70 70 ker block is app
000080: 65 6E 64 65 64 20 74 6F 20 74 68 65 20 66 61 73 ended to the fas
000090: 74 20 74 69 63 6B 65 72 20 6C 69 73 74 20 69 66 t ticker list if
0000A0: 20 69 74 20 69 73 20 6E 6F 74 0D 20 20 20 20 20 it is not.
0000B0: 61 6C 72 65 61 64 79 20 6F 6E 20 69 74 2E 0D 0D already on it...
0000C0: 20 20 20 20 20 54 68 65 20 66 61 73 74 20 74 69 The fast ti
0000D0: 63 6B 65 72 20 66 61 63 69 6C 69 74 79 20 69 73 cker facility is
0000E0: 20 6E 6F 74 20 20 69 6E 74 65 6E 64 65 64 20 66 not intended f
0000F0: 6F 72 20 67 65 6E 65 72 61 6C 20 75 73 65 2E 20 or general use.
000100: 48 6F 77 65 76 65 72 2C 20 69 74 0D 20 20 20 20 However, it.
000110: 20 64 6F 65 73 20 61 6C 6C 6F 77 20 20 72 65 6C does allow rel
000120: 61 74 69 76 65 6C 79 20 20 73 68 6F 72 74 20 20 atively short
000130: 74 69 6D 65 73 20 20 74 6F 20 20 62 65 20 20 6D times to be m
000140: 65 61 73 75 72 65 64 20 20 67 69 76 69 6E 67 20 easured giving
000150: 67 72 65 61 74 65 72 0D 20 20 20 20 20 72 65 73 greater. res
000160: 6F 6C 75 74 69 6F 6E 20 74 68 61 6E 20 74 68 65 olution than the
000170: 20 67 65 6E 65 72 61 6C 20 74 69 63 6B 65 72 20 general ticker
000180: 66 61 63 69 6C 69 74 69 65 73 2E 0D 0D 20 20 20 facilities...
000190: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 65 This routine e
0001A0: 6E 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 73 nables interupts
0001B0: 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D ... --------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 -------------.
Size : 512 (Real : 512)
000000: 74 20 69 66 20 69 74 20 69 73 20 6E 6F 74 20 61 t if it is not a
000010: 6C 72 65 61 64 79 0D 20 20 20 20 20 6F 6E 20 69 lready. on i
000020: 74 2E 0D 0D 20 20 20 20 20 54 68 69 73 20 72 6F t... This ro
000030: 75 74 69 6E 65 20 65 6E 61 62 6C 65 73 20 69 6E utine enables in
000040: 74 65 72 75 70 74 73 2E 0D 20 20 20 20 20 2D 2D terupts.. --
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 0D 20 20 20 20 20 2D 0D 0D 20 20 20 20 ---. -..
0000A0: 20 26 42 43 44 44 20 2D 20 4B 4C 20 44 45 4C 20 &BCDD - KL DEL
0000B0: 46 52 41 4D 45 20 46 4C 59 20 2D 20 52 65 6D 6F FRAME FLY - Remo
0000C0: 76 65 20 61 20 62 6C 6F 63 6B 20 66 72 6F 6D 20 ve a block from
0000D0: 74 68 65 20 66 72 61 6D 65 20 66 6C 79 62 61 63 the frame flybac
0000E0: 6B 20 6C 69 73 74 0D 0D 20 20 20 20 20 45 6E 74 k list.. Ent
0000F0: 72 79 3A 0D 0D 20 20 20 20 20 48 4C 20 3D 20 61 ry:.. HL = a
000100: 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 66 72 ddress of the fr
000110: 61 6D 65 20 66 6C 79 62 61 63 6B 20 62 6C 6F 63 ame flyback bloc
000120: 6B 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 k.. Exit:..
000130: 20 20 20 20 41 46 2C 44 45 2C 48 4C 20 63 68 61 AF,DE,HL cha
000140: 6E 67 65 64 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 nged... Note
000150: 73 3A 0D 0D 20 20 20 20 20 54 68 69 73 20 72 6F s:.. This ro
000160: 75 74 69 6E 65 20 64 6F 65 73 20 6E 6F 74 68 69 utine does nothi
000170: 6E 67 20 69 66 20 74 68 65 20 62 6C 6F 63 6B 20 ng if the block
000180: 69 73 20 6E 6F 74 20 6F 6E 20 74 68 65 20 6C 69 is not on the li
000190: 73 74 2E 0D 0D 20 20 20 20 20 52 65 6D 6F 76 69 st... Removi
0001A0: 6E 67 20 61 20 62 6C 6F 63 6B 20 66 72 6F 6D 20 ng a block from
0001B0: 74 68 65 20 20 6C 69 73 74 20 20 6F 6E 6C 79 20 the list only
0001C0: 20 70 72 65 76 65 6E 74 73 20 74 68 65 20 65 76 prevents the ev
0001D0: 65 6E 74 20 62 65 69 6E 67 20 6B 69 63 6B 65 64 ent being kicked
0001E0: 0D 20 20 20 20 20 61 67 61 69 6E 2E 20 49 74 20 . again. It
0001F0: 64 6F 65 73 20 6E 6F 74 20 61 66 66 65 63 74 20 does not affect
Size : 512 (Real : 512)
000000: 20 20 20 2D 0D 0D 20 20 20 20 20 26 42 43 45 36 -.. &BCE6
000010: 20 2D 20 4B 4C 20 44 45 4C 20 46 41 53 54 20 54 - KL DEL FAST T
000020: 49 43 4B 45 52 20 2D 20 52 65 6D 6F 76 65 20 61 ICKER - Remove a
000030: 20 62 6C 6F 63 6B 20 66 72 6F 6D 20 74 68 65 20 block from the
000040: 66 61 73 74 20 74 69 63 6B 65 72 20 6C 69 73 74 fast ticker list
000050: 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 .. Entry:..
000060: 20 20 20 20 48 4C 20 3D 20 61 64 64 72 65 73 73 HL = address
000070: 20 6F 66 20 74 68 65 20 66 61 73 74 20 74 69 63 of the fast tic
000080: 6B 65 72 20 62 6C 6F 63 6B 0D 0D 20 20 20 20 20 ker block..
000090: 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 46 2C 44 Exit:.. AF,D
0000A0: 45 2C 48 4C 20 63 68 61 6E 67 65 64 2E 0D 0D 20 E,HL changed...
0000B0: 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 Notes:..
0000C0: 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 64 6F This routine do
0000D0: 65 73 20 6E 6F 74 68 69 6E 67 20 69 66 20 74 68 es nothing if th
0000E0: 65 20 62 6C 6F 63 6B 20 69 73 20 6E 6F 74 20 6F e block is not o
0000F0: 6E 20 74 68 65 20 6C 69 73 74 2E 0D 0D 20 20 20 n the list...
000100: 20 20 52 65 6D 6F 76 69 6E 67 20 61 20 62 6C 6F Removing a blo
000110: 63 6B 20 66 72 6F 6D 20 20 74 68 65 20 20 6C 69 ck from the li
000120: 73 74 20 20 6F 6E 6C 79 20 20 70 72 65 76 65 6E st only preven
000130: 74 73 20 20 74 68 65 20 65 76 65 6E 74 20 66 72 ts the event fr
000140: 6F 6D 20 62 65 69 6E 67 0D 20 20 20 20 20 6B 69 om being. ki
000150: 63 6B 65 64 20 61 67 61 69 6E 2E 20 49 74 20 64 cked again. It d
000160: 6F 65 73 20 6E 6F 74 20 61 66 66 65 63 74 20 61 oes not affect a
000170: 6E 79 20 6F 75 74 73 74 61 6E 64 69 6E 67 20 66 ny outstanding f
000180: 61 73 74 20 74 69 63 6B 65 72 20 65 76 65 6E 74 ast ticker event
000190: 73 2E 0D 0D 20 20 20 20 20 54 68 69 73 20 72 6F s... This ro
0001A0: 75 74 69 6E 65 20 65 6E 61 62 6C 65 73 20 69 6E utine enables in
0001B0: 74 65 72 75 70 74 73 2E 0D 0D 0D 20 20 20 20 20 terupts....
0001C0: 26 42 43 45 39 20 2D 20 4B 4C 20 41 44 44 20 54 &BCE9 - KL ADD T
0001D0: 49 43 4B 45 52 20 2D 20 50 75 74 20 61 20 62 6C ICKER - Put a bl
0001E0: 6F 63 6B 20 6F 6E 74 6F 20 74 68 65 20 74 69 63 ock onto the tic
0001F0: 6B 20 6C 69 73 74 0D 0D 20 20 20 20 20 45 6E 74 k list.. Ent
Size : 512 (Real : 512)
000000: 61 6E 79 20 6F 75 74 73 74 61 6E 64 69 6E 67 20 any outstanding
000010: 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 65 76 frame flyback ev
000020: 65 6E 74 73 2E 0D 0D 20 20 20 20 20 54 68 69 73 ents... This
000030: 20 72 6F 75 74 69 6E 65 20 65 6E 61 62 6C 65 73 routine enables
000040: 20 69 6E 74 65 72 75 70 74 73 2E 0D 20 20 20 20 interupts..
000050: 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ---------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000090: 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 20 2D 2D 0D 20 ------. --.
0000A0: 20 20 20 20 26 42 43 45 30 20 2D 20 4B 4C 20 4E &BCE0 - KL N
0000B0: 45 57 20 46 41 53 54 20 54 49 43 4B 45 52 20 2D EW FAST TICKER -
0000C0: 20 20 49 6E 69 74 69 6C 69 7A 65 20 20 61 6E 64 Initilize and
0000D0: 20 70 75 74 20 61 20 62 6C 6F 63 6B 20 6F 6E 74 put a block ont
0000E0: 6F 20 74 68 65 20 66 61 73 74 0D 20 20 20 20 20 o the fast.
0000F0: 74 69 63 6B 20 6C 69 73 74 0D 0D 20 20 20 20 20 tick list..
000100: 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 48 4C 20 Entry:.. HL
000110: 3D 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 = address of the
000120: 20 66 61 73 74 20 74 69 63 6B 65 72 20 62 6C 6F fast ticker blo
000130: 63 6B 0D 20 20 20 20 20 44 45 20 3D 20 65 76 65 ck. DE = eve
000140: 6E 74 20 63 6C 61 73 73 0D 20 20 20 20 20 43 20 nt class. C
000150: 3D 20 72 6F 6D 20 73 65 6C 65 63 74 20 61 64 64 = rom select add
000160: 72 65 73 73 20 6F 66 20 74 68 65 20 65 76 65 6E ress of the even
000170: 74 20 72 6F 75 74 69 6E 65 0D 20 20 20 20 20 44 t routine. D
000180: 45 20 3D 20 61 64 64 72 65 73 73 20 6F 66 20 74 E = address of t
000190: 68 65 20 65 76 65 6E 74 20 72 6F 75 74 69 6E 65 he event routine
0001A0: 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 .. Exit:..
0001B0: 20 20 20 41 46 2C 44 45 2C 48 4C 20 63 68 61 6E AF,DE,HL chan
0001C0: 67 65 64 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 ged... Notes
0001D0: 3A 0D 0D 20 20 20 20 20 54 68 65 20 66 61 73 74 :.. The fast
0001E0: 20 74 69 63 6B 65 72 20 62 6C 6F 63 6B 20 69 73 ticker block is
0001F0: 20 39 20 62 79 74 65 73 20 6C 6F 6E 67 20 20 61 9 bytes long a
Size : 512 (Real : 512)
000000: 72 79 3A 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 ry:........
000010: 48 4C 20 3D 20 61 64 64 72 65 73 73 20 6F 66 20 HL = address of
000020: 74 68 65 20 74 69 63 6B 20 62 6C 6F 63 6B 0D 20 the tick block.
000030: 20 20 20 20 44 45 20 3D 20 69 6E 69 74 69 61 6C DE = initial
000040: 20 76 61 6C 75 65 20 66 6F 72 20 74 68 65 20 63 value for the c
000050: 6F 75 6E 74 20 65 6E 74 72 79 0D 20 20 20 20 20 ount entry.
000060: 42 43 20 3D 20 76 61 6C 75 65 20 66 6F 72 20 74 BC = value for t
000070: 68 65 20 72 65 63 68 61 72 67 65 20 65 6E 74 72 he recharge entr
000080: 79 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 y.. Exit:..
000090: 20 20 20 20 41 46 2C 42 43 2C 44 45 2C 48 4C 20 AF,BC,DE,HL
0000A0: 63 68 61 6E 67 65 64 2E 0D 0D 20 20 20 20 20 4E changed... N
0000B0: 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 20 otes:.. The
0000C0: 74 69 63 6B 20 62 6C 6F 63 6B 20 69 73 20 31 33 tick block is 13
0000D0: 20 62 79 74 65 73 20 20 6C 6F 6E 67 20 20 61 6E bytes long an
0000E0: 64 20 20 6D 75 73 74 20 20 6C 69 65 20 69 6E 20 d must lie in
0000F0: 74 68 65 20 63 65 6E 74 72 61 6C 20 33 32 6B 20 the central 32k
000100: 6F 66 0D 20 20 20 20 20 6D 65 6D 6F 72 79 2E 20 of. memory.
000110: 54 68 65 20 6C 61 73 74 20 37 20 62 79 74 65 73 The last 7 bytes
000120: 20 6F 66 20 20 74 68 65 20 20 74 69 63 6B 20 20 of the tick
000130: 62 6C 6F 63 6B 20 61 72 65 20 61 6E 20 65 76 65 block are an eve
000140: 6E 74 20 62 6C 6F 63 6B 20 77 68 69 63 68 0D 20 nt block which.
000150: 20 20 20 20 6D 75 73 74 20 62 65 20 69 6E 69 74 must be init
000160: 69 61 6C 69 7A 65 64 20 62 65 66 6F 72 65 20 74 ialized before t
000170: 68 69 73 20 72 6F 75 74 69 6E 65 20 69 73 20 63 his routine is c
000180: 61 6C 6C 65 64 2E 20 54 68 65 20 65 78 61 63 74 alled. The exact
000190: 20 6C 61 79 6F 75 74 20 6F 66 0D 20 20 20 20 20 layout of.
0001A0: 61 20 74 69 63 6B 20 62 6C 6F 63 6B 20 69 73 20 a tick block is
0001B0: 64 65 73 63 72 69 62 65 64 20 6C 61 74 65 72 2E described later.
0001C0: 0D 0D 20 20 20 20 20 54 68 65 20 63 6F 75 6E 74 .. The count
0001D0: 20 61 6E 64 20 72 65 63 68 61 72 67 65 20 65 6E and recharge en
0001E0: 74 72 69 65 73 20 69 6E 20 74 68 65 20 62 6C 6F tries in the blo
0001F0: 63 6B 20 61 72 65 20 73 65 74 2E 20 54 68 65 20 ck are set. The
Size : 512 (Real : 512)
000000: 63 6C 61 73 73 0D 20 20 20 20 20 43 20 3D 20 72 class. C = r
000010: 6F 6D 20 73 65 6C 65 63 74 20 61 64 64 72 65 73 om select addres
000020: 73 0D 20 20 20 20 20 44 45 20 3D 20 61 64 64 72 s. DE = addr
000030: 65 73 73 20 6F 66 20 65 76 65 6E 74 20 72 6F 75 ess of event rou
000040: 74 69 6E 65 0D 0D 20 20 20 20 20 45 78 69 74 3A tine.. Exit:
000050: 0D 0D 20 20 20 20 20 48 4C 20 3D 20 61 64 64 72 .. HL = addr
000060: 65 73 73 20 6F 66 20 65 76 65 6E 74 20 62 6C 6F ess of event blo
000070: 63 6B 2B 37 0D 0D 20 20 20 20 20 4E 6F 74 65 73 ck+7.. Notes
000080: 3A 0D 0D 20 20 20 20 20 54 68 65 20 65 76 65 6E :.. The even
000090: 74 20 62 6C 6F 63 6B 20 69 73 20 37 20 62 79 74 t block is 7 byt
0000A0: 65 73 20 20 6C 6F 6E 67 20 20 61 6E 64 20 20 6D es long and m
0000B0: 75 73 74 20 20 6C 69 65 20 69 6E 20 74 68 65 20 ust lie in the
0000C0: 63 65 6E 74 72 61 6C 20 33 32 6B 20 6F 66 0D 20 central 32k of.
0000D0: 20 20 20 20 72 61 6D 2E 0D 0D 20 20 20 20 20 54 ram... T
0000E0: 68 65 20 72 6F 6D 20 73 65 6C 65 63 74 20 61 64 he rom select ad
0000F0: 64 72 65 73 73 20 6F 66 20 74 68 65 20 72 6F 75 dress of the rou
000100: 74 69 6E 65 20 61 72 65 20 74 68 65 20 66 61 72 tine are the far
000110: 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 address of the
000120: 65 76 65 6E 74 0D 20 20 20 20 20 72 6F 75 74 69 event. routi
000130: 6E 65 2E 0D 0D 20 20 20 20 20 54 68 65 20 65 76 ne... The ev
000140: 65 6E 74 20 63 6C 61 73 73 20 69 73 20 62 69 74 ent class is bit
000150: 20 73 69 67 6E 69 66 69 63 61 6E 74 20 61 73 20 significant as
000160: 66 6F 6C 6C 6F 77 73 3A 0D 0D 20 20 20 20 20 42 follows:.. B
000170: 69 74 20 30 3A 20 4E 65 61 72 20 61 64 64 72 65 it 0: Near addre
000180: 73 73 0D 20 20 20 20 20 42 69 74 20 31 2E 2E 34 ss. Bit 1..4
000190: 3A 20 53 79 6E 63 68 72 6F 6E 6F 75 73 20 65 76 : Synchronous ev
0001A0: 65 6E 74 20 70 72 69 6F 72 69 74 79 0D 20 20 20 ent priority.
0001B0: 20 20 42 69 74 20 35 3A 20 4D 75 73 74 20 62 65 Bit 5: Must be
0001C0: 20 7A 65 72 6F 0D 20 20 20 20 20 42 69 74 20 36 zero. Bit 6
0001D0: 3A 20 45 78 70 72 65 73 73 20 65 76 65 6E 74 0D : Express event.
0001E0: 20 20 20 20 20 42 69 74 20 37 3A 20 41 73 79 6E Bit 7: Asyn
0001F0: 63 68 72 6F 6E 6F 75 73 20 65 76 65 6E 74 0D 0D chronous event..
Size : 512 (Real : 512)
000000: 62 6C 6F 63 6B 20 69 73 20 74 68 65 6E 0D 20 20 block is then.
000010: 20 20 20 61 70 70 65 6E 20 64 65 64 20 74 6F 20 appen ded to
000020: 74 68 65 20 74 69 63 6B 20 6C 69 73 74 20 20 69 the tick list i
000030: 66 20 20 69 74 20 20 69 73 20 20 6E 6F 74 20 20 f it is not
000040: 61 6C 72 65 61 64 79 20 6F 6E 20 74 68 65 20 6C already on the l
000050: 69 73 74 2E 20 54 68 69 73 0D 20 20 20 20 20 72 ist. This. r
000060: 6F 75 74 69 6E 65 20 6D 61 79 20 62 65 20 20 75 outine may be u
000070: 73 65 64 2C 20 20 74 68 65 72 65 66 6F 72 65 2C sed, therefore,
000080: 20 20 74 6F 20 20 63 68 61 6E 67 65 20 20 74 68 to change th
000090: 65 20 20 63 6F 75 6E 74 20 61 6E 64 20 72 65 63 e count and rec
0000A0: 68 61 72 67 65 0D 20 20 20 20 20 65 6E 74 72 69 harge. entri
0000B0: 65 73 20 6F 66 20 61 6E 20 65 78 69 73 74 69 6E es of an existin
0000C0: 67 20 62 6C 6F 63 6B 2E 0D 0D 20 20 20 20 20 42 g block... B
0000D0: 6C 6F 63 6B 73 20 77 69 74 68 20 61 20 20 63 6F locks with a co
0000E0: 75 6E 74 20 20 65 6E 74 72 79 20 20 6F 66 20 20 unt entry of
0000F0: 7A 65 72 6F 20 20 61 72 65 20 20 69 67 6E 6F 72 zero are ignor
000100: 65 64 20 20 77 68 65 6E 20 20 74 68 65 20 6C 69 ed when the li
000110: 73 74 20 69 73 0D 20 20 20 20 20 70 72 6F 63 65 st is. proce
000120: 73 73 65 64 2E 20 53 65 74 74 69 6E 67 20 61 20 ssed. Setting a
000130: 72 65 63 68 61 72 67 65 20 76 61 6C 75 65 20 20 recharge value
000140: 6F 66 20 20 7A 65 72 6F 2C 20 20 74 68 65 72 65 of zero, there
000150: 66 6F 72 65 2C 20 73 65 74 73 20 75 70 20 74 68 fore, sets up th
000160: 65 0D 20 20 20 20 20 62 6C 6F 63 6B 20 61 73 20 e. block as
000170: 61 20 27 6F 6E 65 20 73 68 6F 74 20 74 69 6D 65 a 'one shot time
000180: 72 27 2E 20 53 69 6E 63 65 20 20 69 74 20 74 61 r'. Since it ta
000190: 6B 65 73 20 74 68 65 20 4B 65 72 6E 61 6C 20 74 kes the Kernal t
0001A0: 69 6D 65 20 74 6F 20 69 67 6E 6F 72 65 0D 20 20 ime to ignore.
0001B0: 20 20 20 61 20 74 69 63 6B 20 62 6C 6F 63 6B 2C a tick block,
0001C0: 20 61 6E 79 20 72 65 64 75 6E 64 61 6E 74 20 62 any redundant b
0001D0: 6C 6F 63 6B 73 20 73 68 6F 75 6C 64 20 20 62 65 locks should be
0001E0: 20 72 65 6D 6F 76 65 64 20 66 72 6F 6D 20 74 68 removed from th
0001F0: 65 20 6C 69 73 74 20 61 73 0D 20 20 20 20 20 73 e list as. s
Size : 512 (Real : 512)
000000: 20 20 20 20 20 49 66 20 74 68 65 20 61 73 79 6E If the asyn
000010: 63 68 72 6F 6E 6F 75 73 65 20 62 69 74 20 20 69 chronouse bit i
000020: 73 20 20 73 65 74 20 20 74 68 65 6E 20 20 74 68 s set then th
000030: 65 20 20 65 76 65 6E 74 20 69 73 20 61 6E 20 61 e event is an a
000040: 73 79 6E 63 68 72 6F 6E 6F 75 73 0D 20 20 20 20 synchronous.
000050: 20 65 76 65 6E 74 2C 20 6F 74 68 65 72 77 69 73 event, otherwis
000060: 65 20 69 74 20 69 73 20 61 20 73 79 6E 63 68 72 e it is a synchr
000070: 6F 6E 6F 75 73 20 65 76 65 6E 74 2E 20 41 73 79 onous event. Asy
000080: 6E 63 68 72 6F 6E 6F 75 73 20 65 76 65 6E 74 73 nchronous events
000090: 20 64 6F 20 6E 6F 74 0D 20 20 20 20 20 68 61 76 do not. hav
0000A0: 65 20 70 72 69 6F 72 69 74 69 65 73 20 61 6E 64 e priorities and
0000B0: 20 73 6F 20 74 68 65 20 70 72 69 6F 72 69 74 79 so the priority
0000C0: 20 66 69 65 6C 64 20 69 73 20 69 67 6E 6F 72 65 field is ignore
0000D0: 64 2E 0D 0D 20 20 20 20 20 49 66 20 74 68 65 20 d... If the
0000E0: 65 78 70 72 65 73 73 20 65 76 65 6E 74 20 62 69 express event bi
0000F0: 74 20 69 73 20 20 73 65 74 20 20 74 68 65 6E 20 t is set then
000100: 20 74 68 65 20 65 76 65 6E 74 20 69 73 20 61 6E the event is an
000110: 20 65 78 70 72 65 73 73 20 65 76 65 6E 74 2E 0D express event..
000120: 20 20 20 20 20 54 68 65 20 6D 65 61 6E 69 6E 67 The meaning
000130: 20 6F 66 20 74 68 69 73 20 64 65 70 65 6E 64 73 of this depends
000140: 20 20 6F 6E 20 20 77 68 65 74 68 65 72 20 20 74 on whether t
000150: 68 65 20 20 65 76 65 6E 74 20 69 73 20 73 79 6E he event is syn
000160: 63 68 72 6F 6E 6F 75 73 20 6F 72 0D 20 20 20 20 chronous or.
000170: 20 61 73 79 6E 63 68 72 6F 6E 6F 75 73 2E 0D 0D asynchronous...
000180: 20 20 20 20 20 41 6C 6C 20 65 78 70 72 65 73 73 All express
000190: 20 73 79 6E 63 68 72 6F 6E 6F 75 73 20 65 76 65 synchronous eve
0001A0: 6E 74 73 20 68 61 76 65 20 20 68 69 67 68 65 72 nts have higher
0001B0: 20 70 72 69 6F 72 69 74 69 65 73 20 74 68 61 6E priorities than
0001C0: 20 61 6E 79 20 6E 6F 72 6D 61 6C 0D 20 20 20 20 any normal.
0001D0: 20 73 79 6E 63 68 72 6F 6E 6F 75 73 20 65 76 65 synchronous eve
0001E0: 6E 74 2E 20 54 68 65 20 70 72 69 6F 72 69 74 79 nt. The priority
0001F0: 20 6F 66 20 20 61 20 20 73 79 6E 63 68 72 6F 6E of a synchron
Size : 512 (Real : 512)
000000: 6F 6F 6E 20 61 73 20 70 6F 73 73 69 62 6C 65 2E oon as possible.
000010: 0D 0D 20 20 20 20 20 49 74 20 69 73 20 6E 6F 74 .. It is not
000020: 20 70 6F 73 73 69 62 6C 65 20 74 6F 20 20 70 72 possible to pr
000030: 65 64 69 63 74 2C 20 20 70 61 72 74 69 63 75 6C edict, particul
000040: 61 72 6C 79 20 77 69 74 68 20 73 79 6E 63 68 72 arly with synchr
000050: 6F 6E 6F 75 73 20 65 76 65 6E 74 73 2C 0D 20 20 onous events,.
000060: 20 20 20 68 6F 77 20 6C 6F 6E 67 20 69 74 20 20 how long it
000070: 77 69 6C 6C 20 20 62 65 20 20 61 66 74 65 72 20 will be after
000080: 20 74 68 65 20 20 6B 69 63 6B 20 20 62 65 66 6F the kick befo
000090: 72 65 20 20 74 68 65 20 20 65 76 65 6E 74 20 72 re the event r
0000A0: 6F 75 74 69 6E 65 20 69 73 0D 20 20 20 20 20 61 outine is. a
0000B0: 63 74 75 61 6C 6C 79 20 63 61 6C 6C 65 64 2E 20 ctually called.
0000C0: 6E 6F 74 77 69 74 68 73 74 61 6E 64 69 6E 67 20 notwithstanding
0000D0: 74 68 65 73 65 20 64 65 6C 61 79 73 2C 20 20 74 these delays, t
0000E0: 68 65 20 74 69 63 6B 65 72 20 6D 61 79 20 62 65 he ticker may be
0000F0: 20 75 73 65 64 0D 20 20 20 20 20 74 6F 20 6F 62 used. to ob
000100: 74 61 69 6E 20 61 6E 20 20 65 78 61 63 74 20 20 tain an exact
000110: 6E 75 6D 62 65 72 20 20 6F 66 20 20 6B 69 63 6B number of kick
000120: 73 20 20 69 6E 20 20 61 20 20 67 69 76 65 6E 20 s in a given
000130: 20 70 65 72 69 6F 64 20 73 69 6E 63 65 20 74 68 period since th
000140: 65 0D 20 20 20 20 20 72 65 63 68 61 72 67 65 20 e. recharge
000150: 6D 65 63 68 61 6E 69 73 6D 20 69 6D 6D 65 64 69 mechanism immedi
000160: 61 74 6C 79 20 20 72 65 73 65 74 73 20 20 74 68 atly resets th
000170: 65 20 20 63 6F 75 6E 74 2E 20 20 54 68 65 20 65 e count. The e
000180: 76 65 6E 74 20 63 6F 75 6E 74 69 6E 67 0D 20 20 vent counting.
000190: 20 20 20 6D 65 63 68 61 6E 69 73 6D 20 77 69 6C mechanism wil
0001A0: 6C 20 65 6E 73 75 72 65 20 74 68 61 74 20 6B 69 l ensure that ki
0001B0: 63 6B 73 20 20 61 72 65 20 20 6E 6F 74 20 6D 69 cks are not mi
0001C0: 73 73 65 64 2C 20 70 72 6F 76 69 64 65 64 20 74 ssed, provided t
0001D0: 68 61 74 20 74 68 65 72 65 0D 20 20 20 20 20 61 hat there. a
0001E0: 72 65 20 6E 65 76 65 72 20 6D 6F 72 65 20 74 68 re never more th
0001F0: 61 6E 20 31 32 37 20 6F 75 74 73 74 61 6E 64 69 an 127 outstandi
Size : 512 (Real : 512)
000000: 6F 75 73 20 65 76 65 6E 74 20 69 73 20 65 6E 63 ous event is enc
000010: 6F 64 65 64 20 69 6E 0D 20 20 20 20 20 62 69 74 oded in. bit
000020: 73 20 31 2E 2E 34 20 20 6F 66 20 20 74 68 65 20 s 1..4 of the
000030: 20 63 6C 61 73 73 2C 20 20 74 68 65 20 20 68 69 class, the hi
000040: 67 68 65 72 20 20 74 68 65 20 20 6E 75 6D 62 65 gher the numbe
000050: 72 20 20 74 68 65 20 20 67 72 65 61 74 65 72 20 r the greater
000060: 74 68 65 0D 20 20 20 20 20 70 72 69 6F 72 69 74 the. priorit
000070: 79 2E 20 4E 6F 20 65 76 65 6E 74 20 20 6D 61 79 y. No event may
000080: 20 20 68 61 76 65 20 20 70 72 69 6F 72 69 74 79 have priority
000090: 20 20 30 2E 20 20 54 68 65 20 20 70 72 6F 63 65 0. The proce
0000A0: 73 73 69 6E 67 20 6F 66 20 6E 6F 72 6D 61 6C 0D ssing of normal.
0000B0: 20 20 20 20 20 73 79 6E 63 68 72 6F 6E 6F 75 73 synchronous
0000C0: 20 65 76 65 6E 74 73 20 6D 61 79 20 62 65 20 64 events may be d
0000D0: 69 73 61 62 6C 65 64 2C 20 20 77 68 69 6C 65 20 isabled, while
0000E0: 74 68 61 74 20 6F 66 20 65 78 70 72 65 73 73 20 that of express
0000F0: 73 79 6E 63 68 72 6F 6E 6F 75 73 0D 20 20 20 20 synchronous.
000100: 20 65 76 65 6E 74 73 20 6D 61 79 20 6E 6F 74 2E events may not.
000110: 0D 0D 20 20 20 20 20 41 6E 20 65 78 70 72 65 73 .. An expres
000120: 73 20 61 73 79 6E 63 68 72 6F 6E 6F 75 73 20 20 s asynchronous
000130: 65 76 65 6E 74 20 20 77 69 6C 6C 20 20 68 61 76 event will hav
000140: 65 20 20 69 74 73 20 20 65 76 65 6E 74 20 20 72 e its event r
000150: 6F 75 74 69 6E 65 20 63 61 6C 6C 65 64 0D 20 20 outine called.
000160: 20 20 20 64 69 72 65 63 74 6C 79 20 66 72 6F 6D directly from
000170: 20 20 74 68 65 20 20 69 6E 74 65 72 75 70 74 20 the interupt
000180: 20 70 61 74 68 2E 20 20 41 20 20 6E 6F 72 6D 61 path. A norma
000190: 6C 20 20 61 73 79 6E 63 68 72 6F 6E 6F 75 73 20 l asynchronous
0001A0: 20 65 76 65 6E 74 20 69 73 0D 20 20 20 20 20 70 event is. p
0001B0: 72 6F 63 65 73 73 65 64 20 6A 75 73 74 20 62 65 rocessed just be
0001C0: 66 6F 72 65 20 20 72 65 74 75 72 6E 69 6E 67 20 fore returning
0001D0: 20 66 72 6F 6D 20 20 74 68 65 20 20 69 6E 74 65 from the inte
0001E0: 72 75 70 74 20 20 28 77 69 74 68 20 69 6E 74 65 rupt (with inte
0001F0: 72 75 70 74 73 0D 20 20 20 20 20 65 6E 61 62 6C rupts. enabl
Size : 512 (Real : 512)
000000: 6E 67 20 61 74 20 6F 6E 63 65 2E 0D 0D 20 20 20 ng at once...
000010: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 65 This routine e
000020: 6E 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 73 nables interupts
000030: 2E 0D 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D .... -------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000070: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 --------------.
000080: 20 20 20 20 2D 0D 0D 20 20 20 20 20 26 42 43 45 -.. &BCE
000090: 43 20 2D 20 4B 4C 20 44 45 4C 20 54 49 43 4B 45 C - KL DEL TICKE
0000A0: 52 20 2D 20 52 65 6D 6F 76 65 20 61 20 62 6C 6F R - Remove a blo
0000B0: 63 6B 20 66 72 6F 6D 20 74 68 65 20 74 69 63 6B ck from the tick
0000C0: 20 6C 69 73 74 0D 0D 0D 20 20 20 20 20 45 6E 74 list... Ent
0000D0: 72 79 3A 0D 0D 20 20 20 20 20 48 4C 20 3D 20 61 ry:.. HL = a
0000E0: 64 64 72 65 73 73 20 6F 66 20 74 69 63 6B 20 62 ddress of tick b
0000F0: 6C 6F 63 6B 0D 0D 20 20 20 20 20 45 78 69 74 3A lock.. Exit:
000100: 0D 0D 20 20 20 20 20 49 66 20 74 68 65 20 74 69 .. If the ti
000110: 63 6B 20 62 6C 6F 63 6B 20 77 61 73 20 66 6F 75 ck block was fou
000120: 6E 64 20 6F 6E 20 74 68 65 20 74 69 63 6B 20 6C nd on the tick l
000130: 69 73 74 3A 0D 0D 20 20 20 20 20 43 61 72 72 79 ist:.. Carry
000140: 20 74 72 75 65 2E 20 44 45 20 3D 20 63 6F 75 6E true. DE = coun
000150: 74 20 72 65 6D 61 69 6E 69 6E 67 20 62 65 66 6F t remaining befo
000160: 72 65 20 74 68 65 20 6E 65 78 74 20 65 76 65 6E re the next even
000170: 74 0D 0D 20 20 20 20 20 49 66 20 74 68 65 20 74 t.. If the t
000180: 69 63 6B 20 62 6C 6F 63 6B 20 77 61 73 20 6E 6F ick block was no
000190: 74 20 66 6F 75 6E 64 20 6F 6E 20 74 68 65 20 74 t found on the t
0001A0: 69 63 6B 20 6C 69 73 74 3A 0D 0D 20 20 20 20 20 ick list:..
0001B0: 43 61 72 72 79 20 66 61 6C 73 65 2E 20 44 45 20 Carry false. DE
0001C0: 63 68 61 6E 67 65 64 2E 0D 0D 20 20 20 20 20 41 changed... A
0001D0: 2C 48 4C 20 61 6E 64 20 6F 74 68 65 72 20 66 6C ,HL and other fl
0001E0: 61 67 73 20 63 68 61 6E 67 65 64 2E 0D 0D 20 20 ags changed...
0001F0: 20 20 20 4E 6F 74 65 73 3A 0D 0D 0D 0D 0D 0D 0D Notes:.......
Size : 512 (Real : 512)
000000: 65 64 29 2E 0D 0D 20 20 20 20 20 49 66 20 74 68 ed)... If th
000010: 65 20 6E 65 61 72 20 61 64 64 72 65 73 73 20 20 e near address
000020: 62 69 74 20 20 69 73 20 20 73 65 74 20 20 74 68 bit is set th
000030: 65 6E 20 20 74 68 65 20 20 65 76 65 6E 74 20 72 en the event r
000040: 6F 75 74 69 6E 65 20 69 73 20 6C 6F 63 61 74 65 outine is locate
000050: 64 0D 20 20 20 20 20 65 69 74 68 65 72 20 69 6E d. either in
000060: 20 74 68 65 20 6C 6F 77 65 72 20 72 6F 6D 20 20 the lower rom
000070: 6F 72 20 20 69 6E 20 20 74 68 65 20 20 63 65 6E or in the cen
000080: 74 72 61 6C 20 20 33 32 6B 20 72 61 6D 2E 20 54 tral 32k ram. T
000090: 68 65 20 72 6F 6D 20 73 65 6C 65 63 74 0D 0D 0D he rom select...
0000A0: 0D 0D 0D 0D 20 20 20 20 20 61 64 64 72 65 73 73 .... address
0000B0: 20 69 73 20 69 67 6E 6F 72 65 64 20 61 6E 64 20 is ignored and
0000C0: 20 74 68 65 20 20 72 6F 75 74 69 6E 65 20 20 69 the routine i
0000D0: 73 20 20 63 61 6C 6C 65 64 20 20 64 69 72 65 63 s called direc
0000E0: 74 6C 79 20 72 61 74 68 65 72 20 74 68 61 6E 0D tly rather than.
0000F0: 20 20 20 20 20 74 68 72 6F 75 67 68 20 74 68 65 through the
000100: 20 46 41 52 20 43 41 4C 4C 20 20 6D 65 63 68 61 FAR CALL mecha
000110: 6E 69 73 6D 2C 20 20 74 68 75 73 20 20 72 65 64 nism, thus red
000120: 75 63 69 6E 67 20 20 74 68 65 20 65 76 65 6E 74 ucing the event
000130: 20 70 72 6F 63 65 73 73 69 6E 67 0D 20 20 20 20 processing.
000140: 20 6F 76 65 72 68 65 61 64 2E 20 57 68 65 72 65 overhead. Where
000150: 20 20 70 6F 73 73 69 62 6C 65 2C 20 20 61 73 79 possible, asy
000160: 6E 63 68 72 6F 6E 6F 75 73 20 20 65 76 65 6E 74 nchronous event
000170: 73 20 20 73 68 6F 75 6C 64 20 20 62 65 20 20 61 s should be a
000180: 74 20 20 6E 65 61 72 0D 20 20 20 20 20 61 64 64 t near. add
000190: 72 65 73 73 65 73 2E 20 20 45 78 70 72 65 73 73 resses. Express
0001A0: 20 20 61 73 79 6E 63 68 72 6F 6E 6F 75 73 20 20 asynchronous
0001B0: 65 76 65 6E 74 73 20 20 6D 75 73 74 20 20 61 6C events must al
0001C0: 77 61 79 73 20 20 62 65 20 20 61 74 20 20 27 6E ways be at 'n
0001D0: 65 61 72 0D 20 20 20 20 20 61 64 64 72 65 73 73 ear. address
0001E0: 65 73 27 2E 0D 0D 20 20 20 20 20 45 76 65 6E 74 es'... Event
0001F0: 20 62 6C 6F 63 6B 73 20 61 70 70 65 61 72 20 69 blocks appear i
Size : 512 (Real : 512)
000000: 0D 20 20 20 20 20 54 68 65 20 63 6F 6E 74 65 6E . The conten
000010: 74 73 20 6F 66 20 74 68 65 20 62 6C 6F 63 6B 20 ts of the block
000020: 20 61 72 65 20 20 6E 6F 74 20 20 61 66 66 65 63 are not affec
000030: 74 65 64 20 20 62 79 20 72 65 6D 6F 76 69 6E 67 ted by removing
000040: 20 69 74 20 66 72 6F 6D 20 74 68 65 0D 20 20 20 it from the.
000050: 20 20 6C 69 73 74 2E 20 49 6E 20 70 61 72 74 69 list. In parti
000060: 63 75 6C 61 72 20 74 68 65 20 63 6F 6E 74 69 6E cular the contin
000070: 75 65 64 20 20 70 72 6F 63 65 73 73 69 6E 67 20 ued processing
000080: 6F 66 20 6F 75 74 73 74 61 6E 64 69 6E 67 20 65 of outstanding e
000090: 76 65 6E 74 73 20 69 73 0D 20 20 20 20 20 6E 6F vents is. no
0000A0: 74 20 61 66 66 65 63 74 65 64 2E 20 54 68 65 20 t affected. The
0000B0: 62 6C 6F 63 6B 20 63 6F 75 6C 64 20 62 65 20 70 block could be p
0000C0: 75 74 20 62 61 63 6B 20 20 6F 6E 20 74 68 65 20 ut back on the
0000D0: 6C 69 73 74 20 61 74 20 61 20 6C 61 74 65 72 20 list at a later
0000E0: 64 61 74 65 0D 20 20 20 20 20 61 6E 64 20 69 74 date. and it
0000F0: 20 63 6F 75 6C 64 20 63 6F 6E 74 69 6E 75 65 20 could continue
000100: 63 6F 75 6E 74 69 6E 67 20 77 68 65 72 65 20 69 counting where i
000110: 74 20 6C 65 66 74 20 6F 66 66 2E 0D 0D 20 20 20 t left off...
000120: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 65 This routine e
000130: 6E 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 73 nables interupts
000140: 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D ... --------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 -------------.
000190: 20 20 20 26 42 43 45 46 20 2D 20 4B 4C 20 49 4E &BCEF - KL IN
0001A0: 49 54 20 45 56 45 4E 54 20 2D 20 49 6E 69 74 69 IT EVENT - Initi
0001B0: 61 6C 69 7A 65 20 65 76 65 6E 74 20 62 6C 6F 63 alize event bloc
0001C0: 6B 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D k.. Entry:..
0001D0: 20 20 20 20 20 48 4C 20 3D 20 61 64 64 72 65 73 HL = addres
0001E0: 73 20 6F 66 20 65 76 65 6E 74 20 62 6C 6F 63 6B s of event block
0001F0: 0D 20 20 20 20 20 42 20 3D 20 65 76 65 6E 74 20 . B = event
Size : 512 (Real : 512)
000000: 6E 20 20 76 61 72 69 6F 75 73 20 20 6F 74 68 65 n various othe
000010: 72 20 20 62 6C 6F 63 6B 73 20 20 68 61 6E 64 6C r blocks handl
000020: 65 64 20 62 79 20 74 68 65 20 4B 65 72 6E 65 6C ed by the Kernel
000030: 2C 0D 20 20 20 20 20 69 6E 63 6C 75 64 69 6E 67 ,. including
000040: 20 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 2C 66 frame flyback,f
000050: 61 73 74 20 74 69 63 6B 65 72 20 61 6E 64 20 20 ast ticker and
000060: 74 69 63 6B 20 20 62 6C 6F 63 6B 73 2E 20 54 68 tick blocks. Th
000070: 69 73 20 72 6F 75 74 69 6E 65 20 69 73 0D 20 20 is routine is.
000080: 20 20 20 75 73 65 64 20 74 6F 20 69 6E 69 74 69 used to initi
000090: 61 6C 69 7A 65 20 74 68 65 20 65 76 65 6E 74 20 alize the event
0000A0: 62 6C 6F 63 6B 20 70 61 72 74 73 20 6F 66 20 74 block parts of t
0000B0: 68 65 73 65 2E 0D 0D 20 20 20 20 20 54 68 65 20 hese... The
0000C0: 62 79 74 65 73 20 61 66 74 65 72 20 74 68 65 20 bytes after the
0000D0: 6C 61 73 74 20 62 79 74 65 20 6F 66 20 74 68 65 last byte of the
0000E0: 20 65 76 65 6E 74 20 62 6C 6F 63 6B 2C 20 65 76 event block, ev
0000F0: 65 6E 20 77 68 65 72 65 20 74 68 65 20 62 6C 6F en where the blo
000100: 63 6B 0D 20 20 20 20 20 66 6F 72 6D 73 20 70 61 ck. forms pa
000110: 72 74 20 6F 66 20 61 6E 6F 74 68 65 72 20 62 6C rt of another bl
000120: 6F 63 6B 2C 20 20 61 72 65 20 20 6E 6F 74 20 20 ock, are not
000130: 75 73 65 64 20 20 62 79 20 20 74 68 65 20 4B 65 used by the Ke
000140: 72 6E 65 6C 2E 20 57 68 65 6E 20 74 68 65 0D 20 rnel. When the.
000150: 20 20 20 20 65 76 65 6E 74 20 72 6F 75 74 69 6E event routin
000160: 65 20 69 73 20 63 61 6C 6C 65 64 20 74 68 65 20 e is called the
000170: 61 64 64 72 65 73 73 20 6F 66 20 20 74 68 65 20 address of the
000180: 20 62 6C 6F 63 6B 20 69 73 20 70 61 73 73 65 64 block is passed
000190: 20 74 6F 20 69 74 2C 20 73 6F 0D 20 20 20 20 20 to it, so.
0001A0: 74 68 65 20 75 73 65 72 20 6D 61 79 20 61 70 70 the user may app
0001B0: 65 6E 64 20 66 75 72 74 68 75 72 20 69 6E 66 6F end furthur info
0001C0: 72 6D 61 74 69 6F 6E 20 20 61 62 6F 75 74 20 74 rmation about t
0001D0: 68 65 20 65 76 65 6E 74 20 74 6F 20 74 68 65 20 he event to the
0001E0: 62 6C 6F 63 6B 2E 0D 20 20 20 20 20 54 68 69 73 block.. This
0001F0: 20 61 6C 6C 6F 77 73 20 73 65 76 65 72 61 6C 20 allows several
Size : 512 (Real : 512)
000000: 6C 65 73 73 20 69 74 20 68 61 73 0D 20 20 20 20 less it has.
000010: 20 61 6C 72 65 61 64 79 20 72 65 61 63 68 65 64 already reached
000020: 20 74 68 65 20 6D 61 78 69 6D 75 6D 20 6F 66 20 the maximum of
000030: 20 31 32 37 29 2E 20 20 4F 6E 63 65 20 65 76 65 127). Once eve
000040: 6E 74 20 70 72 6F 63 65 73 73 69 6E 67 20 68 61 nt processing ha
000050: 73 20 62 65 67 75 6E 0D 20 20 20 20 20 69 74 20 s begun. it
000060: 63 6F 6E 74 69 6E 75 65 73 20 75 6E 74 69 6C 20 continues until
000070: 74 68 65 20 63 6F 75 6E 74 20 62 65 63 6F 6D 65 the count become
000080: 73 20 7A 65 72 6F 20 6F 72 20 74 68 65 20 65 76 s zero or the ev
000090: 65 6E 74 20 69 73 20 64 69 73 61 72 6D 65 64 2E ent is disarmed.
0000A0: 0D 20 20 20 20 20 63 6F 75 6E 74 3D 30 20 20 20 . count=0
0000B0: 20 20 20 20 20 20 54 68 65 20 65 76 65 6E 74 20 The event
0000C0: 69 73 20 61 72 6D 65 64 20 62 75 74 20 65 76 65 is armed but eve
0000D0: 6E 74 20 70 72 6F 63 65 73 73 69 6E 67 20 69 73 nt processing is
0000E0: 20 6E 6F 74 20 61 63 74 69 76 65 0D 20 20 20 20 not active.
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 54 68 65 20 63 6F 75 6E 74 20 20 69 73 20 20 The count is
000110: 69 6E 63 72 65 6D 65 6E 74 65 64 20 20 61 6E 64 incremented and
000120: 20 20 74 68 65 20 20 65 76 65 6E 74 20 70 72 6F the event pro
000130: 63 65 73 73 69 6E 67 0D 20 20 20 20 20 69 6E 69 cessing. ini
000140: 74 69 61 74 65 64 2E 0D 0D 20 20 20 20 20 48 6F tiated... Ho
000150: 77 20 65 76 65 6E 74 20 70 72 6F 63 65 73 73 69 w event processi
000160: 6E 67 20 69 73 20 69 6E 69 74 69 61 74 65 64 20 ng is initiated
000170: 64 65 70 65 6E 64 73 20 6F 6E 20 74 68 65 20 65 depends on the e
000180: 76 65 6E 74 20 63 6C 61 73 73 3A 0D 0D 20 20 20 vent class:..
000190: 20 20 53 79 6E 63 68 72 6F 6E 6F 75 73 20 65 76 Synchronous ev
0001A0: 65 6E 74 73 0D 0D 20 20 20 20 20 53 79 6E 63 68 ents.. Synch
0001B0: 72 6F 6E 6F 75 73 20 65 76 65 6E 74 73 20 61 72 ronous events ar
0001C0: 65 20 61 64 64 65 64 20 74 6F 20 74 68 65 20 73 e added to the s
0001D0: 79 63 68 72 6F 6E 6F 75 73 20 65 76 65 6E 74 20 ychronous event
0001E0: 71 75 65 75 65 20 69 6E 20 70 72 69 6F 72 69 74 queue in priorit
0001F0: 79 0D 20 20 20 20 20 6F 72 64 65 72 2E 20 49 74 y. order. It
Size : 512 (Real : 512)
000000: 73 69 6D 69 6C 61 72 20 65 76 65 6E 74 73 20 20 similar events
000010: 74 6F 20 20 73 68 61 72 65 20 20 74 68 65 20 73 to share the s
000020: 61 6D 65 20 65 76 65 6E 74 20 72 6F 75 74 69 6E ame event routin
000030: 65 2C 0D 20 20 20 20 20 65 61 63 68 20 65 76 65 e,. each eve
000040: 6E 74 20 68 61 76 69 6E 67 20 69 74 73 20 6F 77 nt having its ow
000050: 6E 20 76 61 72 69 61 62 6C 65 73 20 64 65 70 65 n variables depe
000060: 6E 64 69 6E 67 20 6F 6E 20 69 74 73 20 65 76 65 nding on its eve
000070: 6E 74 20 62 6C 6F 63 6B 2E 0D 0D 20 20 20 20 20 nt block...
000080: 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 49 66 20 Entry:.. If
000090: 74 68 65 20 65 76 65 6E 74 20 72 6F 75 74 69 6E the event routin
0000A0: 65 20 69 73 20 61 74 20 61 20 66 61 72 20 61 64 e is at a far ad
0000B0: 64 72 65 73 73 3A 0D 0D 20 20 20 20 20 48 4C 20 dress:.. HL
0000C0: 3D 20 61 64 64 72 65 73 73 20 6F 66 20 62 79 74 = address of byt
0000D0: 65 20 35 20 6F 66 20 74 68 65 20 65 76 65 6E 74 e 5 of the event
0000E0: 20 62 6C 6F 63 6B 0D 20 20 20 20 20 28 73 6F 20 block. (so
0000F0: 61 6E 79 20 61 70 70 65 6E 64 65 64 20 64 61 74 any appended dat
000100: 61 20 63 61 6E 20 73 74 61 72 74 20 61 74 20 61 a can start at a
000110: 64 64 72 65 73 73 20 68 6C 2B 32 29 0D 0D 20 20 ddress hl+2)..
000120: 20 20 20 69 66 20 74 68 65 20 65 76 65 6E 20 72 if the even r
000130: 6F 75 74 69 6E 65 20 69 73 20 61 74 20 61 20 6E outine is at a n
000140: 65 61 72 20 61 64 64 72 65 73 73 3A 0D 0D 20 20 ear address:..
000150: 20 20 20 64 65 3D 61 64 64 72 65 73 73 20 6F 66 de=address of
000160: 20 62 79 74 65 20 36 20 6F 66 20 74 68 65 20 65 byte 6 of the e
000170: 76 65 6E 74 20 62 6C 6F 63 6B 2E 0D 20 20 20 20 vent block..
000180: 20 28 73 6F 20 61 6E 79 20 61 70 70 65 6E 64 65 (so any appende
000190: 64 20 64 61 74 61 20 63 61 6E 20 73 74 61 72 74 d data can start
0001A0: 20 61 74 20 61 64 64 72 65 73 73 20 44 45 2B 31 at address DE+1
0001B0: 29 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 ).. Exit:..
0001C0: 20 20 20 20 41 46 2C 42 43 2C 44 45 2C 48 4C 20 AF,BC,DE,HL
0001D0: 63 68 61 6E 67 65 64 2E 0D 0D 20 20 20 20 20 54 changed... T
0001E0: 68 65 20 65 76 65 6E 74 20 72 6F 75 74 69 6E 65 he event routine
0001F0: 20 6D 61 79 20 75 73 65 20 74 68 65 20 20 49 58 may use the IX
Size : 512 (Real : 512)
000000: 20 69 73 20 74 68 65 20 72 65 73 70 6F 6E 73 69 is the responsi
000010: 62 69 6C 69 74 79 20 20 6F 66 20 20 74 68 65 20 bility of the
000020: 66 6F 72 65 67 72 6F 75 6E 64 20 70 72 6F 67 72 foreground progr
000030: 61 6D 20 74 6F 20 70 72 6F 63 65 73 73 0D 20 20 am to process.
000040: 20 20 20 74 68 65 20 73 79 6E 63 68 72 6F 6E 6F the synchrono
000050: 75 73 20 65 76 65 6E 74 20 71 75 65 75 65 20 72 us event queue r
000060: 65 67 75 61 72 6C 79 2E 0D 0D 20 20 20 20 20 53 eguarly... S
000070: 79 6E 63 68 72 6F 6E 6F 75 73 20 65 76 65 6E 74 ynchronous event
000080: 20 72 6F 75 74 69 6E 65 73 20 20 61 72 65 20 20 routines are
000090: 63 61 6C 6C 65 64 20 20 77 68 65 6E 20 20 74 68 called when th
0000A0: 65 20 20 66 6F 72 65 67 72 6F 75 6E 64 20 70 72 e foreground pr
0000B0: 6F 67 72 61 6D 0D 20 20 20 20 20 63 61 6C 6C 73 ogram. calls
0000C0: 20 4B 4C 20 44 4F 20 53 59 4E 43 2C 20 74 68 65 KL DO SYNC, the
0000D0: 20 65 76 65 6E 74 20 63 6F 75 6E 74 20 69 73 20 event count is
0000E0: 74 68 65 6E 20 64 65 61 6C 74 20 77 69 74 68 20 then dealt with
0000F0: 77 68 65 6E 20 4B 4C 20 44 4F 4E 45 20 53 59 4E when KL DONE SYN
000100: 43 0D 20 20 20 20 20 69 73 20 63 61 6C 6C 65 64 C. is called
000110: 2E 0D 0D 20 20 20 20 20 41 73 79 6E 63 68 72 6F ... Asynchro
000120: 6E 6F 75 73 20 65 76 65 6E 74 73 0D 0D 20 20 20 nous events..
000130: 20 20 61 2E 20 4E 6F 74 20 69 6E 20 74 68 65 20 a. Not in the
000140: 69 6E 74 65 72 75 70 74 20 70 61 74 68 0D 0D 20 interupt path..
000150: 20 20 20 20 54 68 65 20 65 76 65 6E 74 20 72 6F The event ro
000160: 75 74 69 6E 65 20 69 73 20 63 61 6C 6C 65 64 20 utine is called
000170: 20 69 6D 6D 65 64 69 61 74 6C 79 2E 20 20 57 68 immediatly. Wh
000180: 65 6E 20 74 68 65 20 72 6F 75 74 69 6E 65 20 72 en the routine r
000190: 65 74 75 72 6E 73 2C 20 69 66 0D 20 20 20 20 20 eturns, if.
0001A0: 74 68 65 20 65 76 65 6E 74 20 63 6F 75 6E 74 20 the event count
0001B0: 67 72 65 61 74 65 72 20 74 68 61 6E 20 7A 65 72 greater than zer
0001C0: 6F 20 20 69 74 20 20 69 73 20 64 65 63 72 65 6D o it is decrem
0001D0: 65 6E 74 65 64 2E 20 49 66 20 74 68 65 20 63 6F ented. If the co
0001E0: 75 6E 74 20 69 73 0D 20 20 20 20 20 73 74 69 6C unt is. stil
0001F0: 6C 20 67 72 65 61 74 65 72 20 74 68 61 6E 20 7A l greater than z
Size : 512 (Real : 512)
000000: 20 20 61 6E 64 20 20 49 59 20 72 65 67 69 73 74 and IY regist
000010: 65 72 73 20 62 75 74 20 6D 75 73 74 20 70 72 65 ers but must pre
000020: 73 65 72 76 65 0D 20 20 20 20 20 74 68 65 6D 2E serve. them.
000030: 20 49 74 20 6D 61 79 20 6E 6F 74 20 20 75 73 65 It may not use
000040: 20 20 74 68 65 20 20 73 65 63 6F 6E 64 20 20 72 the second r
000050: 65 67 69 73 74 65 72 20 73 65 74 2E 20 45 78 70 egister set. Exp
000060: 72 65 73 73 20 61 73 79 6E 63 68 72 6F 6E 6F 75 ress asynchronou
000070: 73 0D 20 20 20 20 20 65 76 65 6E 74 73 20 6D 61 s. events ma
000080: 79 20 6E 6F 74 20 65 6E 61 62 6C 65 20 69 6E 74 y not enable int
000090: 65 72 75 70 74 73 2E 0D 0D 20 20 20 20 20 54 68 erupts... Th
0000A0: 69 73 20 72 6F 75 74 69 6E 65 20 65 6E 61 62 6C is routine enabl
0000B0: 65 73 20 69 6E 74 65 72 75 70 74 73 2E 0D 0D 20 es interupts...
0000C0: 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 -----------.
000110: 20 26 42 43 46 32 20 2D 20 4B 4C 20 45 56 45 4E &BCF2 - KL EVEN
000120: 54 20 2D 20 4B 69 63 6B 20 61 6E 20 65 76 65 6E T - Kick an even
000130: 74 20 62 6C 6F 63 6B 0D 0D 20 20 20 20 20 45 6E t block.. En
000140: 74 72 79 3A 0D 0D 20 20 20 20 20 48 4C 20 3D 20 try:.. HL =
000150: 61 64 64 72 65 73 73 20 20 6F 66 20 65 76 65 6E address of even
000160: 74 20 62 6C 6F 63 6B 0D 0D 20 20 20 20 20 45 78 t block.. Ex
000170: 69 74 3A 0D 0D 20 20 20 20 20 41 46 2C 42 43 2C it:.. AF,BC,
000180: 44 45 2C 48 4C 20 63 68 61 6E 67 65 64 2E 0D 0D DE,HL changed...
000190: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 Notes:..
0001A0: 20 20 55 6E 6C 69 6B 65 20 74 68 65 20 76 61 73 Unlike the vas
0001B0: 74 20 6D 61 6A 6F 72 69 74 79 20 6F 66 20 4B 65 t majority of Ke
0001C0: 72 6E 65 6C 20 72 6F 75 74 69 6E 65 73 20 74 68 rnel routines th
0001D0: 69 73 20 72 6F 75 74 69 6E 65 20 6D 61 79 20 62 is routine may b
0001E0: 65 20 63 61 6C 6C 65 64 0D 20 20 20 20 20 66 72 e called. fr
0001F0: 6F 6D 20 74 68 65 20 69 6E 74 65 72 75 70 74 20 om the interupt
Size : 512 (Real : 512)
000000: 65 72 6F 20 74 68 65 6E 20 74 68 65 20 70 72 6F ero then the pro
000010: 63 65 64 75 72 65 20 69 73 20 72 65 70 65 61 74 cedure is repeat
000020: 65 64 2E 0D 0D 20 20 20 20 20 62 2E 20 49 6E 20 ed... b. In
000030: 74 68 65 20 69 6E 74 65 72 75 70 74 20 70 61 74 the interupt pat
000040: 68 20 2D 20 4E 6F 72 6D 61 6C 20 41 73 79 6E 63 h - Normal Async
000050: 68 72 6F 6E 6F 75 73 20 65 76 65 6E 74 0D 0D 20 hronous event..
000060: 20 20 20 20 54 68 65 20 65 76 65 6E 74 20 69 73 The event is
000070: 20 70 6C 61 63 65 64 20 6F 6E 20 74 68 65 20 69 placed on the i
000080: 6E 74 65 72 75 70 74 20 20 65 76 65 6E 74 20 70 nterupt event p
000090: 65 6E 64 69 6E 67 20 71 75 65 75 65 2E 20 4F 6E ending queue. On
0000A0: 20 65 78 69 74 20 66 72 6F 6D 0D 20 20 20 20 20 exit from.
0000B0: 74 68 65 20 69 6E 74 65 72 75 70 74 20 70 61 74 the interupt pat
0000C0: 68 20 74 68 65 20 20 4B 65 72 6E 65 6C 20 20 70 h the Kernel p
0000D0: 72 6F 63 65 73 73 65 73 20 20 61 6C 6C 20 20 65 rocesses all e
0000E0: 76 65 6E 74 73 20 20 6F 6E 20 74 68 65 20 69 6E vents on the in
0000F0: 74 65 72 75 70 74 0D 20 20 20 20 20 70 65 6E 64 terupt. pend
000100: 69 6E 67 20 71 75 65 75 65 20 61 73 20 20 64 65 ing queue as de
000110: 73 63 72 69 62 65 64 20 20 69 6E 20 20 28 61 29 scribed in (a)
000120: 20 20 61 62 6F 76 65 2E 20 20 54 68 69 73 20 20 above. This
000130: 6D 65 61 6E 73 20 20 74 68 61 74 20 6E 6F 72 6D means that norm
000140: 61 6C 0D 20 20 20 20 20 41 73 79 6E 63 68 72 6F al. Asynchro
000150: 6E 6F 75 73 20 65 76 65 6E 74 20 72 6F 75 74 69 nous event routi
000160: 6E 65 73 20 61 72 65 20 63 61 6C 6C 65 64 20 69 nes are called i
000170: 6E 20 61 6E 20 65 78 74 65 6E 73 69 6F 6E 20 6F n an extension o
000180: 66 20 6E 6F 72 6D 61 6C 20 28 6E 6F 6E 2D 0D 20 f normal (non-.
000190: 20 20 20 20 69 6E 74 65 72 75 70 74 29 20 70 72 interupt) pr
0001A0: 6F 63 65 73 73 69 6E 67 20 62 65 74 77 65 65 6E ocessing between
0001B0: 20 69 6E 74 65 72 75 70 74 20 72 65 74 75 72 6E interupt return
0001C0: 20 61 6E 64 20 74 68 65 20 6D 61 69 6E 20 70 72 and the main pr
0001D0: 6F 67 72 61 6D 2E 20 54 68 65 0D 20 20 20 20 20 ogram. The.
0001E0: 72 6F 75 74 69 6E 65 20 69 73 2C 20 74 68 65 72 routine is, ther
0001F0: 65 66 6F 72 65 2C 20 20 6E 6F 79 20 20 73 75 62 efore, noy sub
Size : 512 (Real : 512)
000000: 70 61 74 68 2E 20 42 65 63 61 75 73 65 20 74 68 path. Because th
000010: 65 20 20 4C 4F 57 20 20 4A 55 4D 50 20 69 6E 73 e LOW JUMP ins
000020: 74 72 75 63 74 69 6F 6E 20 69 6E 20 74 68 65 20 truction in the
000030: 6D 61 69 6E 0D 20 20 20 20 20 66 69 72 6D 77 61 main. firmwa
000040: 72 65 20 6A 75 6D 70 62 6C 6F 63 6B 20 65 6E 61 re jumpblock ena
000050: 62 6C 65 73 20 69 6E 74 65 72 75 70 74 73 20 20 bles interupts
000060: 74 68 65 20 20 75 73 65 72 20 20 6D 75 73 74 20 the user must
000070: 70 69 63 6B 20 74 68 65 20 61 64 64 72 65 73 73 pick the address
000080: 0D 20 20 20 20 20 70 61 72 74 20 6F 66 20 74 68 . part of th
000090: 65 20 6C 6F 77 20 61 64 64 72 65 73 73 20 6F 75 e low address ou
0000A0: 74 20 6F 66 20 74 68 65 20 20 6A 75 6D 70 62 6C t of the jumpbl
0000B0: 6F 63 6B 20 61 6E 64 20 6D 61 73 6B 20 6F 66 66 ock and mask off
0000C0: 20 74 68 65 20 74 6F 70 20 74 77 6F 0D 20 20 20 the top two.
0000D0: 20 20 62 69 74 73 20 74 6F 20 65 78 74 72 61 63 bits to extrac
0000E0: 74 20 20 74 68 65 20 20 61 64 64 72 65 73 73 20 t the address
0000F0: 20 69 6E 20 20 74 68 65 20 20 6C 6F 77 65 72 20 in the lower
000100: 20 72 6F 6D 20 20 6F 66 20 20 4B 4C 20 20 65 76 rom of KL ev
000110: 65 6E 74 2E 20 54 68 65 0D 20 20 20 20 20 66 6F ent. The. fo
000120: 6C 6C 6F 77 69 6E 67 20 64 6F 65 73 20 74 68 69 llowing does thi
000130: 73 3A 0D 0D 20 20 20 20 20 4C 44 20 44 45 2C 28 s:.. LD DE,(
000140: 4B 4C 5F 45 56 45 4E 54 2B 31 29 20 20 20 20 20 KL_EVENT+1)
000150: 20 3B 65 78 74 72 61 63 74 20 61 64 64 72 65 73 ;extract addres
000160: 73 20 70 61 72 74 20 6F 66 20 4C 4F 57 20 4A 55 s part of LOW JU
000170: 4D 50 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 52 45 MP....... RE
000180: 53 20 37 2C 44 20 20 20 20 20 20 20 20 20 20 20 S 7,D
000190: 20 20 20 20 20 20 3B 72 65 6D 6F 76 65 20 75 70 ;remove up
0001A0: 70 65 72 20 72 6F 6D 20 73 74 61 74 65 20 66 72 per rom state fr
0001B0: 6F 6D 20 6C 6F 77 20 61 64 64 72 65 73 73 0D 20 om low address.
0001C0: 20 20 20 20 52 45 53 20 36 2C 44 20 20 20 20 20 RES 6,D
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 3B 72 65 6D ;rem
0001E0: 6F 76 65 20 6C 6F 77 65 72 20 72 6F 6D 20 73 74 ove lower rom st
0001F0: 61 74 65 20 66 72 6F 6D 20 6C 6F 77 20 61 64 64 ate from low add
Size : 512 (Real : 512)
000000: 6A 65 63 74 20 20 74 6F 20 20 74 68 65 20 20 72 ject to the r
000010: 65 73 74 72 69 63 74 69 6F 6E 73 20 69 6D 70 6F estrictions impo
000020: 73 65 64 20 6F 6E 0D 20 20 20 20 20 69 6E 74 65 sed on. inte
000030: 72 75 70 74 20 70 61 74 68 20 72 6F 75 74 69 6E rupt path routin
000040: 65 73 2E 0D 0D 20 20 20 20 20 63 2E 20 49 6E 20 es... c. In
000050: 74 68 65 20 69 6E 74 65 72 75 70 74 20 70 61 74 the interupt pat
000060: 68 20 2D 20 45 78 70 72 65 73 73 20 41 73 79 6E h - Express Asyn
000070: 63 68 72 6F 6E 6F 75 73 20 65 76 65 6E 74 73 0D chronous events.
000080: 0D 20 20 20 20 20 54 68 65 20 65 76 65 6E 74 20 . The event
000090: 72 6F 75 74 69 6E 65 20 69 73 20 20 63 61 6C 6C routine is call
0000A0: 65 64 20 20 69 6D 6D 65 64 69 61 74 6C 79 2C 20 ed immediatly,
0000B0: 20 69 6E 20 20 74 68 65 20 20 69 6E 74 65 72 75 in the interu
0000C0: 70 74 20 70 61 74 68 2E 20 54 68 65 0D 20 20 20 pt path. The.
0000D0: 20 20 72 6F 75 74 69 6E 65 20 6D 75 73 74 20 62 routine must b
0000E0: 65 20 61 74 20 20 61 20 20 6E 65 61 72 20 20 61 e at a near a
0000F0: 64 64 72 65 73 73 2E 20 20 55 6E 64 65 72 20 20 ddress. Under
000100: 6E 6F 20 63 69 72 63 75 6D 73 74 61 6E 63 65 73 no circumstances
000110: 20 6D 61 79 20 74 68 65 0D 20 20 20 20 20 72 6F may the. ro
000120: 75 74 69 6E 65 20 65 6E 61 62 6C 65 20 69 6E 74 utine enable int
000130: 65 72 75 70 74 73 2E 0D 0D 20 20 20 20 20 4B 4C erupts... KL
000140: 20 45 56 45 4E 54 20 65 6E 61 62 6C 65 73 20 69 EVENT enables i
000150: 6E 74 65 72 75 70 74 73 20 75 6E 6C 65 73 73 20 nterupts unless
000160: 69 74 20 69 73 20 63 61 6C 6C 65 64 20 66 72 6F it is called fro
000170: 6D 20 74 68 65 20 69 6E 74 65 72 75 70 74 20 70 m the interupt p
000180: 61 74 68 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D ath... -----
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 0D 0D 20 20 20 20 20 26 42 43 46 35 20 2D 20 -.. &BCF5 -
0001E0: 4B 4C 20 53 59 4E 43 20 52 45 53 45 54 20 2D 20 KL SYNC RESET -
0001F0: 43 6C 65 61 72 20 73 79 6E 63 68 72 6F 6E 6F 75 Clear synchronou
Size : 512 (Real : 512)
000000: 72 65 73 73 0D 20 20 20 20 20 43 41 4C 4C 20 50 ress. CALL P
000010: 43 44 45 5F 49 4E 53 54 52 55 43 54 49 4F 4E 20 CDE_INSTRUCTION
000020: 20 20 3B 63 61 6C 6C 20 4B 4C 20 45 56 45 4E 54 ;call KL EVENT
000030: 0D 0D 20 20 20 20 20 28 69 66 20 74 68 65 20 75 .. (if the u
000040: 73 65 72 20 69 73 20 20 67 6F 69 6E 67 20 20 74 ser is going t
000050: 6F 20 20 70 65 72 66 6F 72 6D 20 20 74 68 69 73 o perform this
000060: 20 20 6F 70 65 72 61 74 69 6F 6E 20 20 72 65 70 operation rep
000070: 65 61 74 65 64 6C 79 20 69 74 20 69 73 0D 20 20 eatedly it is.
000080: 20 20 20 72 65 63 6F 6D 6D 65 6E 64 65 64 20 74 recommended t
000090: 68 61 74 20 74 68 65 20 61 64 64 72 65 73 73 20 hat the address
0000A0: 73 68 6F 75 6C 64 20 20 62 65 20 20 65 78 74 72 should be extr
0000B0: 61 63 74 65 64 20 20 6F 6E 63 65 20 61 6E 64 20 acted once and
0000C0: 73 68 6F 75 6C 64 20 62 65 0D 20 20 20 20 20 73 should be. s
0000D0: 74 6F 72 65 64 20 73 6F 6D 65 77 68 65 72 65 29 tored somewhere)
0000E0: 0D 0D 20 20 20 20 20 54 68 65 20 65 66 66 65 63 .. The effec
0000F0: 74 20 6F 66 20 74 68 65 20 6B 69 63 6B 20 64 65 t of the kick de
000100: 70 65 6E 64 73 20 6F 6E 20 74 68 65 20 65 76 65 pends on the eve
000110: 6E 74 20 63 6F 75 6E 74 20 69 6E 20 74 68 65 20 nt count in the
000120: 65 76 65 6E 74 20 62 6C 6F 63 6B 3A 0D 0D 20 20 event block:..
000130: 20 20 20 63 6F 75 6E 74 3C 30 20 20 20 20 20 20 count<0
000140: 20 20 20 54 68 65 20 65 76 65 6E 74 20 69 73 20 The event is
000150: 64 69 73 61 72 6D 65 64 2C 20 61 6E 64 20 6B 69 disarmed, and ki
000160: 63 6B 69 6E 67 20 68 61 73 20 6E 6F 20 65 66 66 cking has no eff
000170: 65 63 74 0D 20 20 20 20 20 63 6F 75 6E 74 3E 30 ect. count>0
000180: 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 61 There a
000190: 72 65 20 6F 74 68 65 72 20 20 6B 69 63 6B 73 20 re other kicks
0001A0: 20 6F 75 74 73 74 61 6E 64 69 6E 67 20 20 61 6E outstanding an
0001B0: 64 20 20 74 68 65 20 65 76 65 6E 74 20 69 73 0D d the event is.
0001C0: 20 20 20 20 20 62 65 69 6E 67 20 70 72 6F 63 65 being proce
0001D0: 73 73 65 64 2E 20 54 68 69 73 20 6B 69 63 6B 20 ssed. This kick
0001E0: 73 69 6D 70 6C 79 20 69 6E 63 72 65 6D 65 6E 74 simply increment
0001F0: 73 20 20 74 68 65 20 63 6F 75 6E 74 20 28 75 6E s the count (un
Size : 512 (Real : 512)
000000: 73 20 65 76 65 6E 74 20 71 75 65 75 65 2E 0D 0D s event queue...
000010: 0D 0D 0D 0D 0D 0D 20 20 20 20 20 45 6E 74 72 79 ...... Entry
000020: 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 20 :.. None..
000030: 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 Exit:.. A
000040: 46 20 61 6E 64 20 48 4C 20 63 68 61 6E 67 65 64 F and HL changed
000050: 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D ... Notes:..
000060: 20 20 20 20 20 49 74 20 69 73 20 74 68 65 20 75 It is the u
000070: 73 65 72 27 73 20 72 65 73 70 6F 6E 73 69 62 69 ser's responsibi
000080: 6C 69 74 79 20 20 74 6F 20 20 65 6E 73 75 72 65 lity to ensure
000090: 20 20 74 68 61 74 20 74 68 65 20 64 69 73 63 61 that the disca
0000A0: 72 64 65 64 20 65 76 65 6E 74 73 0D 20 20 20 20 rded events.
0000B0: 20 61 6E 64 20 61 6E 79 20 20 63 75 72 72 65 6E and any curren
0000C0: 74 6C 79 20 20 61 63 74 69 76 65 20 20 65 76 65 tly active eve
0000D0: 6E 74 73 20 20 61 72 65 20 20 72 65 73 65 74 2E nts are reset.
0000E0: 20 20 54 68 65 20 20 65 76 65 6E 74 20 20 63 6F The event co
0000F0: 75 6E 74 20 20 6F 66 0D 20 20 20 20 20 64 69 73 unt of. dis
000100: 63 61 72 64 65 64 20 65 76 65 6E 74 73 20 77 69 carded events wi
000110: 6C 6C 20 62 65 20 67 72 65 61 74 65 72 20 74 68 ll be greater th
000120: 61 6E 20 20 7A 65 72 6F 2C 20 73 6F 20 61 6E 79 an zero, so any
000130: 20 66 75 72 74 68 75 72 20 6B 69 63 6B 73 20 77 furthur kicks w
000140: 69 6C 6C 0D 20 20 20 20 20 73 69 6D 70 6C 79 20 ill. simply
000150: 69 6E 63 72 65 6D 65 6E 74 20 74 68 65 20 63 6F increment the co
000160: 75 6E 74 2C 20 62 75 74 20 6E 6F 74 20 20 61 64 unt, but not ad
000170: 64 20 20 74 68 65 20 65 76 65 6E 74 20 74 6F 20 d the event to
000180: 74 68 65 20 73 79 6E 63 68 72 6F 6E 6F 75 73 0D the synchronous.
000190: 20 20 20 20 20 65 76 65 6E 74 20 71 75 65 75 65 event queue
0001A0: 2D 20 74 68 65 20 65 76 65 6E 74 73 20 61 72 65 - the events are
0001B0: 2C 20 74 68 65 72 65 66 6F 72 65 2C 20 65 66 66 , therefore, eff
0001C0: 65 63 74 69 76 65 6C 79 20 64 69 73 61 72 6D 65 ectively disarme
0001D0: 64 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D d... -------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 6E 74 20 70 72 69 6F 72 69 74 79 0D 20 20 20 20 nt priority.
000010: 20 43 41 4C 4C 20 4B 4C 5F 44 4F 5F 53 59 4E 43 CALL KL_DO_SYNC
000020: 20 20 20 20 20 20 20 20 20 3B 63 61 6C 6C 20 74 ;call t
000030: 68 65 20 65 76 65 6E 74 20 72 6F 75 74 69 6E 65 he event routine
000040: 0D 20 20 20 20 20 50 4F 50 20 41 46 0D 20 20 20 . POP AF.
000050: 20 20 50 4F 50 20 48 4C 0D 20 20 20 20 20 43 41 POP HL. CA
000060: 4C 4C 20 4B 4C 5F 44 4F 4E 45 5F 53 59 4E 43 20 LL KL_DONE_SYNC
000070: 20 20 20 20 20 20 3B 72 65 73 65 74 20 74 68 65 ;reset the
000080: 20 65 76 65 6E 74 20 70 72 69 6F 72 69 74 79 20 event priority
000090: 6D 61 73 6B 2C 20 64 65 61 6C 20 77 69 74 68 0D mask, deal with.
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 74 68 ;th
0000C0: 65 20 65 76 65 6E 74 20 63 6F 75 6E 74 20 61 6E e event count an
0000D0: 64 20 70 75 74 20 74 68 65 20 65 76 65 6E 74 20 d put the event
0000E0: 62 61 63 6B 20 6F 6E 0D 20 20 20 20 20 20 20 20 back on.
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 3B 74 68 65 20 71 75 65 75 65 20 ;the queue
000110: 69 66 20 74 68 65 20 63 6F 75 6E 74 20 69 73 20 if the count is
000120: 73 74 69 6C 6C 20 67 72 65 61 74 65 72 0D 20 20 still greater.
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 20 20 20 3B 74 68 61 6E ;than
000150: 20 7A 65 72 6F 0D 0D 20 20 20 20 20 4A 52 20 20 zero.. JR
000160: 54 52 59 5F 41 47 41 49 4E 20 20 20 20 20 20 20 TRY_AGAIN
000170: 20 20 20 20 3B 73 65 65 20 20 69 66 20 20 61 6E ;see if an
000180: 79 20 20 20 65 76 65 6E 74 73 20 20 61 72 65 20 y events are
000190: 20 73 74 69 6C 6C 20 20 61 77 61 69 74 69 6E 67 still awaiting
0001A0: 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 70 ;p
0001C0: 72 6F 63 65 73 73 69 6E 67 0D 0D 20 20 20 20 20 rocessing..
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D ---------------.
000020: 20 20 20 20 20 26 42 43 46 38 20 2D 20 4B 4C 20 &BCF8 - KL
000030: 44 45 4C 20 53 59 4E 43 48 52 4F 4E 4F 55 53 20 DEL SYNCHRONOUS
000040: 2D 20 52 65 6D 6F 76 65 20 20 61 20 73 79 6E 63 - Remove a sync
000050: 68 72 6F 6E 6F 75 73 20 65 76 6E 74 20 66 72 6F hronous evnt fro
000060: 6D 20 74 68 65 20 65 76 65 6E 74 0D 20 20 20 20 m the event.
000070: 20 71 75 65 75 65 0D 0D 20 20 20 20 20 45 6E 74 queue.. Ent
000080: 72 79 3A 0D 0D 20 20 20 20 20 48 4C 20 3D 20 61 ry:.. HL = a
000090: 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 65 76 ddress of the ev
0000A0: 65 6E 74 20 62 6C 6F 63 6B 0D 0D 20 20 20 20 20 ent block..
0000B0: 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 46 2C 42 Exit:.. AF,B
0000C0: 43 2C 44 45 2C 48 4C 20 63 68 61 6E 67 65 64 2E C,DE,HL changed.
0000D0: 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 .. Notes:..
0000E0: 20 20 20 20 44 65 6C 65 74 69 6E 67 20 61 6E 20 Deleting an
0000F0: 65 76 65 6E 74 20 66 72 6F 6D 20 74 68 65 20 20 event from the
000100: 71 75 65 75 65 20 20 70 72 65 76 65 6E 74 73 20 queue prevents
000110: 74 68 65 20 6F 75 74 73 74 61 6E 64 69 6E 67 20 the outstanding
000120: 6B 69 63 6B 73 20 66 6F 72 6D 0D 20 20 20 20 20 kicks form.
000130: 62 65 69 6E 67 20 70 72 6F 63 65 73 73 65 64 2E being processed.
000140: 0D 0D 20 20 20 20 20 42 65 66 6F 72 65 20 61 20 .. Before a
000150: 20 73 79 6E 63 68 72 6F 6E 6F 75 73 20 20 65 76 synchronous ev
000160: 65 6E 74 20 20 62 6C 6F 63 6B 20 20 69 73 20 20 ent block is
000170: 72 65 73 65 74 20 20 6F 72 20 20 72 65 69 6E 69 reset or reini
000180: 74 69 61 6C 69 7A 65 64 20 74 68 69 73 0D 20 20 tialized this.
000190: 20 20 20 72 6F 75 74 69 6E 65 20 73 68 6F 75 6C routine shoul
0001A0: 64 20 62 65 20 75 73 65 64 20 74 6F 20 65 6E 73 d be used to ens
0001B0: 75 72 65 20 74 68 61 74 20 69 74 20 69 73 20 6E ure that it is n
0001C0: 6F 74 20 63 75 72 72 65 6E 74 6C 79 20 70 65 6E ot currently pen
0001D0: 64 69 6E 67 2E 0D 0D 20 20 20 20 20 54 68 69 73 ding... This
0001E0: 20 72 6F 75 74 69 6E 65 20 65 6E 61 62 6C 65 73 routine enables
0001F0: 20 69 6E 74 65 72 75 70 74 73 2E 0D 0D 20 20 20 interupts...
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 20 26 42 43 -------. &BC
000020: 46 45 20 2D 20 4B 4C 20 44 4F 20 53 59 4E 43 20 FE - KL DO SYNC
000030: 2D 20 44 6F 20 61 6E 20 65 76 65 6E 74 20 72 6F - Do an event ro
000040: 75 74 69 6E 65 0D 0D 20 20 20 20 20 45 6E 74 72 utine.. Entr
000050: 79 3A 0D 0D 20 20 20 20 20 48 4C 20 3D 20 61 64 y:.. HL = ad
000060: 64 72 65 73 73 20 6F 66 20 65 76 65 6E 74 20 62 dress of event b
000070: 6C 6F 63 6B 0D 0D 20 20 20 20 20 45 78 69 74 3A lock.. Exit:
000080: 0D 0D 20 20 20 20 20 41 46 2C 42 43 2C 44 45 2C .. AF,BC,DE,
000090: 48 4C 20 63 68 61 6E 67 65 64 2E 0D 0D 20 20 20 HL changed...
0000A0: 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 Notes:.. T
0000B0: 68 69 73 20 72 6F 75 74 69 6E 65 20 69 73 20 74 his routine is t
0000C0: 6F 20 62 65 20 63 61 6C 6C 65 64 20 20 74 6F 20 o be called to
0000D0: 20 70 72 6F 63 65 73 73 20 20 61 6E 20 65 76 65 process an eve
0000E0: 6E 74 20 61 66 74 65 72 20 4B 4C 20 4E 45 58 54 nt after KL NEXT
0000F0: 20 53 59 4E 43 0D 20 20 20 20 20 68 61 73 20 66 SYNC. has f
000100: 6F 75 6E 64 20 69 74 20 74 6F 20 62 65 20 70 65 ound it to be pe
000110: 6E 64 69 6E 67 2E 20 55 73 65 20 20 6F 66 20 20 nding. Use of
000120: 74 68 69 73 20 20 65 6E 74 72 79 20 61 74 20 6F this entry at o
000130: 74 68 65 72 20 74 69 6D 65 73 20 69 73 20 6E 6F ther times is no
000140: 74 0D 20 20 20 20 20 72 65 63 6F 6D 6D 65 6E 64 t. recommend
000150: 65 64 2E 0D 0D 20 20 20 20 20 54 68 69 73 20 72 ed... This r
000160: 6F 75 74 69 6E 65 20 64 6F 65 73 6E 27 74 20 61 outine doesn't a
000170: 66 66 65 63 74 20 74 68 65 20 65 76 65 6E 74 20 ffect the event
000180: 63 6F 75 6E 74 2E 0D 0D 20 20 20 20 20 2D 2D 2D count... ---
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 0D 20 20 20 20 20 26 42 44 30 31 20 ----. &BD01
0001E0: 2D 20 4B 4C 20 44 4F 4E 45 20 53 59 4E 43 20 2D - KL DONE SYNC -
0001F0: 20 46 69 6E 69 73 68 20 70 72 6F 63 65 73 73 69 Finish processi
Size : 512 (Real : 512)
000000: 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D --------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 ---------..
000050: 26 42 43 46 42 20 2D 20 4B 4C 20 4E 45 58 54 20 &BCFB - KL NEXT
000060: 53 59 4E 43 20 2D 20 47 65 74 20 6E 65 78 74 20 SYNC - Get next
000070: 65 76 65 6E 74 20 66 72 6F 6D 20 74 68 65 20 71 event from the q
000080: 75 65 75 65 2E 0D 0D 20 20 20 20 20 45 6E 74 72 ueue... Entr
000090: 79 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 y:.. None..
0000A0: 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 Exit:..
0000B0: 49 66 20 74 68 65 72 65 20 77 61 73 20 61 6E 20 If there was an
0000C0: 65 76 65 6E 74 20 74 6F 20 62 65 20 70 72 6F 63 event to be proc
0000D0: 73 73 65 64 3A 0D 0D 20 20 20 20 20 43 61 72 72 ssed:.. Carr
0000E0: 79 20 74 72 75 65 2E 20 48 4C 20 3D 20 61 64 64 y true. HL = add
0000F0: 72 65 73 73 20 6F 66 20 74 68 65 20 65 76 65 6E ress of the even
000100: 74 20 62 6C 6F 63 6B 0D 20 20 20 20 20 41 20 3D t block. A =
000110: 20 70 72 65 76 69 6F 75 73 20 65 76 65 6E 74 20 previous event
000120: 70 72 69 6F 72 69 74 79 20 28 69 66 20 61 6E 79 priority (if any
000130: 29 0D 0D 20 20 20 20 20 49 66 20 74 68 65 72 65 ).. If there
000140: 20 69 73 20 6E 6F 20 65 76 65 6E 74 20 74 6F 20 is no event to
000150: 62 65 20 70 72 6F 63 65 73 73 65 64 3A 0D 0D 20 be processed:..
000160: 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E Carry false.
000170: 20 41 2C 48 4C 20 63 68 61 6E 67 65 64 2E 0D 0D A,HL changed...
000180: 20 20 20 20 20 44 45 20 63 68 61 6E 67 65 64 2E DE changed.
000190: 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 4E 6F 74 ........ Not
0001A0: 65 73 3A 0D 0D 20 20 20 20 20 4B 4C 20 4E 45 58 es:.. KL NEX
0001B0: 54 20 53 59 4E 43 20 72 65 74 75 72 6E 73 20 74 T SYNC returns t
0001C0: 68 65 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 he address of th
0001D0: 65 20 6E 65 78 74 20 65 76 65 6E 74 20 74 6F 20 e next event to
0001E0: 62 65 20 70 72 6F 63 65 73 73 65 64 2C 20 69 66 be processed, if
0001F0: 0D 20 20 20 20 20 61 6E 79 2C 20 77 68 69 63 68 . any, which
Size : 512 (Real : 512)
000000: 6E 67 20 61 6E 20 65 76 65 6E 74 0D 0D 0D 0D 0D ng an event.....
000010: 0D 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D ... Entry:..
000020: 20 20 20 20 20 41 20 3D 20 70 72 65 76 69 6F 75 A = previou
000030: 73 20 65 76 65 6E 74 20 70 72 69 6F 72 69 74 79 s event priority
000040: 0D 20 20 20 20 20 48 4C 20 3D 20 61 64 64 72 65 . HL = addre
000050: 73 73 20 6F 66 20 74 68 65 20 65 76 65 6E 74 20 ss of the event
000060: 62 6C 6F 63 6B 0D 0D 20 20 20 20 20 45 78 69 74 block.. Exit
000070: 3A 0D 0D 20 20 20 20 20 41 46 2C 42 43 2C 44 45 :.. AF,BC,DE
000080: 2C 48 4C 20 63 68 61 6E 67 65 64 2E 0D 0D 20 20 ,HL changed...
000090: 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 Notes:..
0000A0: 54 68 69 73 20 72 6F 75 74 69 6E 65 20 69 73 20 This routine is
0000B0: 69 6E 74 65 6E 64 65 64 20 74 6F 20 62 65 20 20 intended to be
0000C0: 63 61 6C 6C 65 64 20 20 61 66 74 65 72 20 20 4B called after K
0000D0: 4C 20 4E 45 58 54 20 53 59 4E 43 2C 20 74 6F 20 L NEXT SYNC, to
0000E0: 66 69 6E 64 20 61 0D 20 20 20 20 20 70 65 6E 64 find a. pend
0000F0: 69 6E 67 20 65 76 65 6E 74 2C 20 61 6E 64 20 4B ing event, and K
000100: 4C 20 44 4F 20 53 59 4E 43 2C 20 74 6F 20 20 72 L DO SYNC, to r
000110: 75 6E 20 20 74 68 65 20 65 76 65 6E 74 20 72 6F un the event ro
000120: 75 74 69 6E 65 2E 20 49 74 20 75 73 65 73 20 74 utine. It uses t
000130: 68 65 0D 20 20 20 20 20 70 72 65 76 69 6F 75 73 he. previous
000140: 20 65 76 65 6E 74 20 70 72 69 6F 72 69 74 79 20 event priority
000150: 61 6E 64 20 20 74 68 65 20 20 65 76 65 6E 74 20 and the event
000160: 20 62 6C 6F 63 6B 20 20 61 64 64 72 65 73 73 20 block address
000170: 72 65 74 75 72 6E 65 64 20 62 79 20 4B 4C 0D 20 returned by KL.
000180: 20 20 20 20 4E 45 58 54 20 53 59 4E 43 2E 20 4F NEXT SYNC. O
000190: 74 68 65 72 20 75 73 65 73 20 6F 66 20 74 68 69 ther uses of thi
0001A0: 73 20 65 6E 74 72 79 20 61 72 65 20 6E 6F 74 20 s entry are not
0001B0: 72 65 63 6F 6D 6D 65 6E 64 65 64 2E 0D 0D 20 20 recommended...
0001C0: 20 20 20 53 65 65 20 4B 4C 20 4E 45 58 54 20 20 See KL NEXT
0001D0: 53 59 4E 43 20 20 61 62 6F 76 65 20 20 66 6F 72 SYNC above for
0001E0: 20 20 74 68 65 20 20 73 63 68 65 6D 65 20 20 66 the scheme f
0001F0: 6F 72 20 70 72 6F 63 65 73 73 69 6E 67 20 73 79 or processing sy
Size : 512 (Real : 512)
000000: 20 69 74 20 68 61 73 20 20 74 61 6B 65 6E 20 20 it has taken
000010: 6F 66 66 20 20 74 68 65 20 20 73 79 6E 63 68 72 off the synchr
000020: 6F 6E 6F 75 73 20 20 65 76 65 6E 74 20 71 75 65 onous event que
000030: 75 65 20 61 6E 64 20 77 68 6F 73 65 0D 20 20 20 ue and whose.
000040: 20 20 70 72 69 6F 72 69 74 79 20 68 61 73 20 6E priority has n
000050: 6F 77 20 62 65 65 6E 20 73 65 74 20 61 73 20 74 ow been set as t
000060: 68 65 20 65 76 65 6E 74 20 70 72 69 6F 72 69 74 he event priorit
000070: 79 20 6D 61 73 6B 2E 0D 0D 20 20 20 20 20 54 68 y mask... Th
000080: 65 20 66 6F 72 65 67 72 6F 75 6E 64 20 70 72 6F e foreground pro
000090: 67 72 61 6D 20 73 68 6F 75 6C 64 20 20 63 61 6C gram should cal
0000A0: 6C 20 20 4B 4C 20 20 50 4F 4C 4C 20 20 53 59 4E l KL POLL SYN
0000B0: 43 48 52 4F 4E 4F 55 53 20 72 65 67 75 61 72 6C CHRONOUS reguarl
0000C0: 79 20 74 6F 0D 20 20 20 20 20 63 68 65 63 6B 20 y to. check
0000D0: 66 6F 72 20 6F 75 74 73 74 61 6E 64 69 6E 67 20 for outstanding
0000E0: 65 76 65 6E 74 73 2E 20 4B 4C 20 20 50 4F 4C 4C events. KL POLL
0000F0: 20 20 53 59 4E 43 48 52 4F 4E 4F 55 53 20 69 73 SYNCHRONOUS is
000100: 20 61 20 73 68 6F 72 74 20 72 6F 75 74 69 6E 65 a short routine
000110: 0D 20 20 20 20 20 69 6E 20 52 41 4D 2C 20 73 6F . in RAM, so
000120: 20 63 61 6C 6C 69 6E 67 20 69 74 20 69 6D 70 6F calling it impo
000130: 73 65 73 20 20 6C 69 74 74 6C 65 20 20 6F 76 65 ses little ove
000140: 72 68 65 61 64 2E 20 20 49 66 20 74 68 65 72 65 rhead. If there
000150: 20 69 73 20 61 6E 20 65 76 65 6E 74 0D 20 20 20 is an event.
000160: 20 20 6F 75 74 73 74 61 6E 64 69 6E 67 20 74 68 outstanding th
000170: 65 6E 20 74 68 65 20 61 62 6F 76 65 20 70 72 6F en the above pro
000180: 63 65 64 75 72 65 20 73 68 6F 75 6C 64 20 20 62 cedure should b
000190: 65 20 69 6E 76 6F 6B 65 64 2C 20 61 6E 64 20 73 e invoked, and s
0001A0: 68 6F 75 6C 64 20 62 65 0D 20 20 20 20 20 72 65 hould be. re
0001B0: 70 65 61 74 65 64 20 75 6E 74 69 6C 20 74 68 65 peated until the
0001C0: 20 65 76 65 6E 74 20 71 75 65 75 65 20 69 73 20 event queue is
0001D0: 65 6D 70 74 79 2E 0D 0D 20 20 20 20 20 54 68 65 empty... The
0001E0: 20 63 75 72 72 65 6E 74 20 65 76 65 6E 74 20 70 current event p
0001F0: 72 69 6F 72 69 74 79 20 20 6D 65 63 68 61 6E 69 riority mechani
Size : 512 (Real : 512)
000000: 6E 63 68 72 6F 6E 6F 75 73 0D 20 20 20 20 20 65 nchronous. e
000010: 76 65 6E 74 73 2E 0D 0D 20 20 20 20 20 52 65 73 vents... Res
000020: 74 6F 72 69 6E 67 20 20 74 68 65 20 20 63 75 72 toring the cur
000030: 72 65 6E 74 20 20 65 76 65 6E 74 20 20 70 72 69 rent event pri
000040: 6F 72 69 74 79 20 20 20 69 73 20 20 61 6E 20 20 ority is an
000050: 65 73 73 65 6E 74 69 61 6C 20 20 73 74 65 70 20 essential step
000060: 20 69 6E 0D 20 20 20 20 20 6D 61 69 6E 74 61 69 in. maintai
000070: 6E 69 6E 67 20 74 68 65 20 73 79 63 68 72 6F 6E ning the sychron
000080: 6F 75 73 20 65 76 65 6E 74 20 70 72 69 6F 72 69 ous event priori
000090: 74 79 20 73 63 68 65 6D 65 2E 0D 0D 20 20 20 20 ty scheme...
0000A0: 20 49 66 20 74 68 65 20 65 76 65 6E 74 20 63 6F If the event co
0000B0: 75 6E 74 20 69 73 20 67 72 65 61 74 65 72 20 74 unt is greater t
0000C0: 68 61 6E 20 7A 65 72 6F 20 74 68 65 6E 20 69 74 han zero then it
0000D0: 20 69 73 20 64 65 63 72 65 6D 65 6E 74 65 64 2E is decremented.
0000E0: 20 49 66 20 74 68 65 0D 20 20 20 20 20 63 6F 75 If the. cou
0000F0: 6E 74 20 69 73 20 20 73 74 69 6C 6C 20 20 67 72 nt is still gr
000100: 65 61 74 65 72 20 20 74 68 61 6E 20 20 7A 65 72 eater than zer
000110: 6F 20 20 74 68 65 6E 20 20 74 68 65 72 65 20 20 o then there
000120: 61 72 65 20 20 66 75 72 74 68 65 72 20 65 76 65 are further eve
000130: 6E 74 73 0D 20 20 20 20 20 6F 75 74 73 74 61 6E nts. outstan
000140: 64 69 6E 67 20 61 6E 64 20 74 68 65 20 65 76 65 ding and the eve
000150: 6E 74 20 20 69 73 20 20 70 6C 61 63 65 64 20 20 nt is placed
000160: 62 61 63 6B 20 20 6F 6E 20 20 74 68 65 20 73 79 back on the sy
000170: 6E 63 68 72 6F 6E 6F 75 73 20 65 76 65 6E 74 0D nchronous event.
000180: 20 20 20 20 20 71 75 65 75 65 2E 20 54 68 65 20 queue. The
000190: 65 76 65 6E 74 20 6D 61 79 20 62 65 20 20 64 69 event may be di
0001A0: 73 61 72 6D 65 64 20 20 62 65 74 77 65 65 6E 20 sarmed between
0001B0: 20 4B 4C 20 20 4E 45 58 54 20 20 53 59 4E 43 20 KL NEXT SYNC
0001C0: 61 6E 64 20 4B 4C 20 44 4F 4E 45 0D 20 20 20 20 and KL DONE.
0001D0: 20 53 59 4E 43 2E 20 53 65 74 74 69 6E 67 20 74 SYNC. Setting t
0001E0: 68 65 20 65 76 65 6E 74 20 20 63 6F 75 6E 74 20 he event count
0001F0: 20 74 6F 20 20 6F 6E 65 20 20 62 65 66 6F 72 65 to one before
Size : 512 (Real : 512)
000000: 73 6D 20 20 61 6C 6C 6F 77 73 20 20 65 76 65 6E sm allows even
000010: 74 20 20 72 6F 75 74 69 6E 65 73 20 74 6F 20 70 t routines to p
000020: 6F 6C 6C 0D 20 20 20 20 20 66 6F 72 2C 20 61 6E oll. for, an
000030: 64 20 70 72 6F 63 65 73 73 2C 20 65 76 65 6E 74 d process, event
000040: 73 20 6F 66 20 68 69 67 68 65 72 20 70 72 69 6F s of higher prio
000050: 72 69 74 79 2E 20 54 68 65 20 70 72 69 6F 72 69 rity. The priori
000060: 74 79 20 72 65 74 75 72 6E 65 64 20 62 79 0D 20 ty returned by.
000070: 20 20 20 20 74 68 69 73 20 72 6F 75 74 69 6E 65 this routine
000080: 20 6D 75 73 74 20 62 65 20 75 6E 63 68 61 6E 67 must be unchang
000090: 65 64 20 75 6E 74 69 6C 20 69 74 20 69 73 20 70 ed until it is p
0000A0: 61 73 73 65 64 20 74 6F 20 4B 4C 20 44 4F 4E 45 assed to KL DONE
0000B0: 20 53 59 4E 43 2F 2E 0D 0D 20 20 20 20 20 4B 4C SYNC/... KL
0000C0: 20 4E 45 58 54 20 53 59 4E 43 20 65 6E 61 62 6C NEXT SYNC enabl
0000D0: 65 73 20 69 6E 74 65 72 75 70 74 73 2E 0D 0D 0D es interupts....
0000E0: 20 20 20 20 20 54 68 65 20 70 72 6F 63 65 64 75 The procedu
0000F0: 72 65 20 66 6F 72 20 70 72 6F 63 65 73 73 69 6E re for processin
000100: 67 20 73 79 6E 63 68 72 6F 6E 6F 75 73 20 65 76 g synchronous ev
000110: 65 6E 74 73 20 69 73 3A 0D 0D 20 20 20 20 20 54 ents is:.. T
000120: 52 59 5F 41 47 41 49 4E 0D 0D 20 20 20 20 20 43 RY_AGAIN.. C
000130: 41 4C 4C 20 4B 4C 5F 4E 45 58 54 5F 53 59 4E 43 ALL KL_NEXT_SYNC
000140: 20 20 20 20 20 20 20 3B 72 65 74 75 72 6E 20 6E ;return n
000150: 65 78 74 20 65 76 65 6E 74 2C 20 69 66 20 61 6E ext event, if an
000160: 79 0D 20 20 20 20 20 4A 52 20 4E 43 2C 3F 3F 3F y. JR NC,???
000170: 3F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B ? ;
000180: 6A 75 6D 70 20 69 66 20 6E 6F 20 65 76 65 6E 74 jump if no event
000190: 20 74 6F 20 70 72 6F 63 65 73 73 0D 0D 20 20 20 to process..
0001A0: 20 20 50 55 53 48 20 48 4C 20 20 20 20 20 20 20 PUSH HL
0001B0: 20 20 20 20 20 20 20 20 20 20 3B 73 61 76 65 20 ;save
0001C0: 61 64 64 72 65 73 73 20 6F 66 20 65 76 65 6E 74 address of event
0001D0: 0D 20 20 20 20 20 50 55 53 48 20 41 46 20 20 20 . PUSH AF
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 73 ;s
0001F0: 61 76 65 20 70 72 65 76 69 6F 75 73 20 65 76 65 ave previous eve
Size : 512 (Real : 512)
000000: 20 20 63 61 6C 6C 69 6E 67 20 20 4B 4C 20 44 4F calling KL DO
000010: 4E 45 20 53 59 4E 43 0D 20 20 20 20 20 66 6F 72 NE SYNC. for
000020: 63 65 73 20 6D 75 6C 74 69 70 6C 65 20 65 76 65 ces multiple eve
000030: 6E 74 73 20 74 6F 20 62 65 20 74 72 65 61 74 65 nts to be treate
000040: 64 20 61 73 20 20 61 20 73 69 6E 67 6C 65 20 65 d as a single e
000050: 76 65 6E 74 2E 0D 0D 20 20 20 20 20 4B 4C 20 44 vent... KL D
000060: 4F 4E 45 20 53 59 4E 43 20 6D 61 79 20 65 6E 61 ONE SYNC may ena
000070: 62 6C 65 20 69 6E 74 65 72 75 70 74 73 2E 0D 0D ble interupts...
000080: 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -----------
000090: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 -----------..
0000D0: 20 20 26 42 44 30 34 20 2D 20 4B 4C 20 45 56 45 &BD04 - KL EVE
0000E0: 4E 54 20 44 49 53 41 42 4C 45 20 2D 20 44 69 73 NT DISABLE - Dis
0000F0: 61 62 6C 65 20 6E 6F 72 6D 61 6C 20 73 79 6E 63 able normal sync
000100: 68 72 6F 6E 6F 75 73 20 65 76 65 6E 74 73 0D 0D hronous events..
000110: 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 Entry:..
000120: 20 20 4E 6F 6E 65 0D 0D 20 20 20 20 20 45 78 69 None.. Exi
000130: 74 3A 0D 0D 20 20 20 20 20 48 4C 20 63 68 61 6E t:.. HL chan
000140: 67 65 64 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 ged... Notes
000150: 3A 0D 0D 20 20 20 20 20 4B 4C 20 45 56 45 4E 54 :.. KL EVENT
000160: 20 44 49 53 41 42 4C 45 20 64 6F 65 73 20 6E 6F DISABLE does no
000170: 74 20 70 72 65 76 65 6E 74 20 20 65 76 65 6E 74 t prevent event
000180: 73 20 66 6F 72 20 62 65 69 6E 67 20 6B 69 63 6B s for being kick
000190: 65 64 2E 20 54 68 65 20 65 66 66 65 63 74 0D 20 ed. The effect.
0001A0: 20 20 20 20 69 73 20 74 6F 20 27 6D 61 73 6B 20 is to 'mask
0001B0: 6F 66 66 27 20 61 6C 6C 20 20 70 65 6E 64 69 6E off' all pendin
0001C0: 67 20 20 6E 6F 72 6D 61 6C 20 20 73 79 6E 63 68 g normal synch
0001D0: 72 6F 6E 6F 75 73 20 65 76 65 6E 74 73 20 73 6F ronous events so
0001E0: 20 74 68 61 74 20 74 68 65 79 0D 20 20 20 20 20 that they.
0001F0: 61 72 65 20 68 69 64 64 65 6E 20 66 72 6F 6D 20 are hidden from
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 ----.......
000040: 26 42 44 31 30 20 2D 20 4B 4C 20 54 49 4D 45 20 &BD10 - KL TIME
000050: 53 45 54 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A SET.. Entry:
000060: 0D 0D 20 20 20 20 20 44 45 20 61 6E 64 20 48 4C .. DE and HL
000070: 20 3D 20 66 6F 75 72 20 62 79 74 65 20 6E 75 6D = four byte num
000080: 62 65 72 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D ber.. Exit:.
000090: 0D 20 20 20 20 20 41 46 20 63 68 61 6E 67 65 64 . AF changed
0000A0: 2E 0D 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D .... Notes:.
0000B0: 0D 20 20 20 20 20 54 68 69 73 20 76 61 6C 75 65 . This value
0000C0: 20 6D 61 79 20 62 65 20 75 73 65 64 20 61 73 20 may be used as
0000D0: 61 20 20 63 6C 6F 63 6B 20 62 65 63 61 75 73 65 a clock because
0000E0: 20 74 68 65 20 6B 65 72 6E 61 6C 20 6D 61 69 6E the kernal main
0000F0: 74 61 69 6E 73 20 61 20 72 65 61 6C 0D 20 20 20 tains a real.
000100: 20 20 63 6C 6F 63 6B 2E 0D 20 20 20 20 20 2D 2D clock.. --
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D -----...........
000160: 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D ................
000170: 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D ................
000180: 0D 0D 0D 0D 0D 1A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ......----------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 1A 72 09 09 0D 26 42 44 78 78 09 48 44 36 --.r...&BDxx.HD6
0001B0: 38 34 35 20 43 52 54 43 20 72 65 67 69 73 74 65 845 CRTC registe
0001C0: 72 20 64 61 74 61 20 20 20 20 1A 0D 0D 0D 0D 0D r data ......
0001D0: 1A 10 22 00 00 00 00 00 00 00 00 00 00 00 00 00 ..".............
0001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001F0: 00 00 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
Size : 512 (Real : 512)
000000: 74 68 65 20 66 6F 72 65 67 72 6F 75 6E 64 20 70 the foreground p
000010: 72 6F 67 72 61 6D 20 28 77 68 65 6E 20 4B 4C 20 rogram (when KL
000020: 50 4F 4C 4C 20 53 59 4E 43 48 52 4F 4E 4F 55 53 POLL SYNCHRONOUS
000030: 20 6F 72 20 4B 4C 0D 20 20 20 20 20 4E 45 58 54 or KL. NEXT
000040: 20 53 59 4E 43 20 61 72 65 20 63 61 6C 6C 65 64 SYNC are called
000050: 29 20 61 6E 64 20 68 65 6E 63 65 20 61 72 65 20 ) and hence are
000060: 6E 6F 74 20 70 72 6F 63 65 73 73 65 64 2E 0D 0D not processed...
000070: 20 20 20 20 20 4B 4C 20 45 56 45 4E 54 20 45 4E KL EVENT EN
000080: 41 42 4C 45 20 72 65 76 65 72 73 65 73 20 74 68 ABLE reverses th
000090: 65 20 65 66 66 65 63 74 20 6F 66 20 4B 4C 20 45 e effect of KL E
0000A0: 56 45 4E 54 20 44 49 53 41 42 4C 45 0D 0D 20 20 VENT DISABLE..
0000B0: 20 20 20 49 74 20 69 73 20 6E 6F 74 20 20 70 6F It is not po
0000C0: 73 73 69 62 6C 65 20 20 74 6F 20 20 64 69 73 61 ssible to disa
0000D0: 62 6C 65 20 20 73 79 6E 63 68 72 6F 6E 6F 75 73 ble synchronous
0000E0: 20 20 65 76 65 6E 74 73 20 70 65 72 6D 65 6E 65 events permene
0000F0: 6E 74 6C 79 20 66 72 6F 6D 0D 20 20 20 20 20 69 ntly from. i
000100: 6E 73 69 64 65 20 61 20 73 79 6E 63 68 72 6F 6E nside a synchron
000110: 6F 75 73 20 20 65 76 65 6E 74 20 20 72 6F 75 74 ous event rout
000120: 69 6E 65 20 20 61 73 20 20 74 68 65 20 20 70 72 ine as the pr
000130: 65 76 69 6F 75 73 20 20 63 75 72 72 65 6E 74 20 evious current
000140: 65 76 65 6E 74 0D 20 20 20 20 20 70 72 69 6F 72 event. prior
000150: 69 74 79 20 69 73 20 72 65 73 74 6F 72 65 64 20 ity is restored
000160: 77 68 65 6E 20 74 68 65 20 65 76 65 6E 74 20 72 when the event r
000170: 6F 75 74 69 6E 65 20 72 65 74 75 72 6E 73 2E 0D outine returns..
000180: 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D . ----------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 ------------..
0001D0: 20 20 20 26 42 44 30 37 20 2D 20 4B 4C 20 45 56 &BD07 - KL EV
0001E0: 45 4E 54 20 45 4E 41 42 4C 45 20 2D 20 45 6E 61 ENT ENABLE - Ena
0001F0: 62 6C 65 20 6E 6F 72 6D 61 6C 20 73 79 6E 63 68 ble normal synch
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 72 6F 6E 6F 75 73 20 65 76 65 6E 74 73 0D 0D 0D ronous events...
000010: 0D 0D 0D 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A ..... Entry:
000020: 0D 0D 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 20 20 .. None..
000030: 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 45 76 Exit:.. Ev
000040: 65 6E 74 73 20 61 72 65 20 65 6E 61 62 6C 65 64 ents are enabled
000050: 20 62 79 20 64 65 66 61 75 6C 74 2E 20 4B 4C 20 by default. KL
000060: 20 45 56 45 4E 54 20 45 4E 41 42 4C 45 20 72 65 EVENT ENABLE re
000070: 76 65 72 73 65 73 20 74 68 65 20 65 66 66 65 63 verses the effec
000080: 74 20 6F 66 0D 20 20 20 20 20 4B 4C 20 45 56 45 t of. KL EVE
000090: 4E 54 20 44 49 53 41 42 4C 45 2E 0D 0D 20 20 20 NT DISABLE...
0000A0: 20 20 49 74 20 69 73 20 6E 6F 74 20 20 70 6F 73 It is not pos
0000B0: 73 69 62 6C 65 20 20 74 6F 20 20 65 6E 61 62 6C sible to enabl
0000C0: 65 20 20 73 79 6E 63 68 72 6F 6E 6F 75 73 20 20 e synchronous
0000D0: 65 76 65 6E 74 73 20 20 70 65 72 6D 61 6E 65 6E events permanen
0000E0: 74 6C 79 20 66 72 6F 6D 0D 20 20 20 20 20 69 6E tly from. in
0000F0: 73 69 64 65 20 61 20 73 79 6E 63 68 72 6F 6E 6F side a synchrono
000100: 75 73 20 65 76 65 6E 74 20 72 6F 75 74 69 6E 65 us event routine
000110: 20 61 73 20 74 68 65 20 63 75 72 72 65 6E 74 20 as the current
000120: 65 76 65 6E 74 20 70 72 69 6F 72 69 74 79 20 77 event priority w
000130: 68 69 63 68 0D 20 20 20 20 20 69 73 20 75 73 65 hich. is use
000140: 64 20 74 6F 20 64 69 73 61 62 6C 65 20 20 74 68 d to disable th
000150: 65 20 20 65 76 65 6E 74 73 20 20 69 73 20 20 72 e events is r
000160: 65 73 74 6F 72 65 64 20 20 77 68 65 6E 20 20 74 estored when t
000170: 68 65 20 65 76 65 6E 74 20 72 6F 75 74 69 6E 65 he event routine
000180: 0D 20 20 20 20 20 72 65 74 75 72 6E 73 2E 0D 0D . returns...
000190: 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -----------
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 20 20 20 20 -----------.
0001E0: 20 26 42 44 30 41 20 2D 20 4B 4C 20 44 49 53 41 &BD0A - KL DISA
0001F0: 52 4D 20 45 56 45 4E 54 20 2D 20 50 72 65 76 65 RM EVENT - Preve
Size : 512 (Real : 512)
000000: 0D 45 78 70 61 6E 73 69 6F 6E 20 63 68 61 72 61 .Expansion chara
000010: 63 74 65 72 73 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D cters.==========
000020: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 2B 2D 2D 2D ==========..+---
000030: 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D +---+---+---+---
000040: 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D +---+---+---+---
000050: 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D +---+---+---+---
000060: 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D +---+---+---+---
000070: 2B 2D 2D 2D 2B 0D 7C 20 20 20 7C 20 20 20 7C 20 +---+.| | |
000080: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000090: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
0000A0: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
0000B0: 20 20 7C 31 33 35 7C 31 33 36 7C 31 33 37 7C 0D |135|136|137|.
0000C0: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
0000D0: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
0000E0: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
0000F0: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 31 33 35 | | | |135
000100: 7C 31 33 36 7C 31 33 37 7C 0D 7C 20 20 20 7C 20 |136|137|.| |
000110: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000120: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000130: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000140: 20 20 7C 20 20 20 7C 31 33 35 7C 31 33 36 7C 31 | |135|136|1
000150: 33 37 7C 0D 2B 2D 2D 2D 2B 2D 2B 2D 2B 2D 2B 2D 37|.+---+-+-+-+-
000160: 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D +-+-+-+-+-+-+-+-
000170: 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D +-+-+-+-+-+-+-+-
000180: 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2D 2D +-+-+-+-+-+-+---
000190: 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 7C 20 +---+---+---+.|
0001A0: 20 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | |
0001B0: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
0001C0: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
0001D0: 7C 20 20 20 7C 20 20 20 20 20 7C 31 33 32 7C 31 | | |132|1
0001E0: 33 33 7C 31 33 34 7C 0D 7C 20 20 20 20 20 7C 20 33|134|.| |
0001F0: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
Size : 512 (Real : 512)
000000: 6E 74 20 61 6E 20 65 76 65 6E 74 20 66 72 6F 6D nt an event from
000010: 20 6F 63 63 75 72 69 6E 67 0D 0D 20 20 20 20 20 occuring..
000020: 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 48 4C 20 Entry:.. HL
000030: 3D 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 = address of the
000040: 20 65 76 65 6E 74 20 62 6C 6F 63 6B 0D 0D 20 20 event block..
000050: 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 Exit:.. A
000060: 46 20 63 68 61 6E 67 65 64 0D 20 20 20 20 20 41 F changed. A
000070: 6C 6C 20 6F 74 68 65 72 73 20 75 6E 63 68 61 6E ll others unchan
000080: 67 65 64 2E 0D 0D 20 20 20 20 20 4E 4F 54 45 53 ged... NOTES
000090: 3A 0D 0D 20 20 20 20 20 4B 4C 20 44 49 53 41 52 :.. KL DISAR
0000A0: 4D 20 45 56 45 4E 54 20 73 68 6F 75 6C 64 20 20 M EVENT should
0000B0: 62 65 20 20 75 73 65 64 20 20 77 69 74 68 20 61 be used with a
0000C0: 73 79 6E 63 68 72 6F 6E 6F 75 73 20 65 76 65 6E synchronous even
0000D0: 74 73 2E 20 53 79 6E 63 72 6F 6E 6F 75 73 0D 20 ts. Syncronous.
0000E0: 20 20 20 20 65 76 65 6E 74 73 20 6D 61 79 20 62 events may b
0000F0: 65 20 64 69 73 61 72 6D 65 64 20 20 62 79 20 20 e disarmed by
000100: 63 61 6C 6C 69 6E 67 20 20 4B 4C 20 20 44 45 4C calling KL DEL
000110: 20 20 53 59 4E 43 48 52 4F 55 4E 4F 55 53 2C 20 SYNCHROUNOUS,
000120: 77 68 69 63 68 20 61 6C 73 6F 0D 20 20 20 20 20 which also.
000130: 65 6E 73 75 72 65 73 20 74 68 61 74 20 74 68 65 ensures that the
000140: 20 65 76 65 6E 74 20 69 73 20 6E 6F 74 20 6F 6E event is not on
000150: 20 74 68 65 20 73 79 6E 63 68 72 6F 6E 6F 75 73 the synchronous
000160: 20 65 76 65 6E 74 20 71 75 65 75 65 2E 0D 0D 20 event queue...
000170: 20 20 20 20 54 68 65 20 65 76 65 6E 74 20 6D 61 The event ma
000180: 79 20 62 65 20 72 65 61 72 6D 65 64 20 62 79 20 y be rearmed by
000190: 20 72 65 69 6E 69 74 69 61 6C 69 7A 69 6E 67 20 reinitializing
0001A0: 20 69 74 20 20 28 4B 4C 20 49 4E 49 54 20 45 56 it (KL INIT EV
0001B0: 45 4E 54 29 20 6F 72 20 62 79 0D 20 20 20 20 20 ENT) or by.
0001C0: 73 65 74 74 69 6E 67 20 74 68 65 20 65 76 65 6E setting the even
0001D0: 74 20 63 6F 75 6E 74 20 28 62 79 74 65 32 20 6F t count (byte2 o
0001E0: 66 20 74 68 65 20 65 76 65 6E 74 20 62 6C 6F 63 f the event bloc
0001F0: 6B 29 20 74 6F 20 7A 65 72 6F 2E 0D 0D 0D 20 20 k) to zero....
Size : 512 (Real : 512)
000000: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000010: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000020: 20 20 20 20 7C 31 33 32 7C 31 33 33 7C 31 33 34 |132|133|134
000030: 7C 0D 7C 20 20 20 20 20 7C 20 20 20 7C 20 20 20 |.| | |
000040: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
000050: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
000060: 7C 20 20 20 7C 20 20 20 7C 20 20 20 20 20 7C 31 | | | |1
000070: 33 32 7C 31 33 33 7C 31 33 34 7C 0D 2B 2D 2D 2D 32|133|134|.+---
000080: 2D 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D --+-+-+-+-+-+-+-
000090: 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D +-+-+-+-+-+-+-+-
0000A0: 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D +-+-+-+-+-+-+-+-
0000B0: 2B 2D 2B 2D 2B 20 20 20 2B 2D 2D 2D 2B 2D 2D 2D +-+-+ +---+---
0000C0: 2B 2D 2D 2D 2B 0D 7C 20 20 20 20 20 20 20 7C 20 +---+.| |
0000D0: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
0000E0: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
0000F0: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000100: 20 20 7C 31 32 39 7C 31 33 30 7C 31 33 31 7C 0D |129|130|131|.
000110: 7C 20 20 20 20 20 20 20 7C 20 20 20 7C 20 20 20 | | |
000120: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
000130: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
000140: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 31 32 39 | | | |129
000150: 7C 31 33 30 7C 31 33 31 7C 0D 7C 20 20 20 20 20 |130|131|.|
000160: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000170: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000180: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000190: 20 20 7C 20 20 20 7C 31 32 39 7C 31 33 30 7C 31 | |129|130|1
0001A0: 33 31 7C 0D 2B 2D 2D 2D 2D 2D 2D 2D 2B 2D 2B 2D 31|.+-------+-+-
0001B0: 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D +-+-+-+-+-+-+-+-
0001C0: 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D +-+-+-+-+-+-+-+-
0001D0: 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2D 2D +-+-+-+-+-+-+---
0001E0: 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 7C 20 +---+---+---+.|
0001F0: 20 20 20 20 20 20 20 20 7C 20 20 20 7C 20 20 20 | |
Size : 512 (Real : 512)
000000: 20 20 20 26 42 44 30 44 20 2D 20 4B 4C 20 54 49 &BD0D - KL TI
000010: 4D 45 20 50 4C 45 41 53 45 20 2D 20 41 73 6B 20 ME PLEASE - Ask
000020: 74 68 65 20 74 69 6D 65 20 65 6C 61 70 73 65 64 the time elapsed
000030: 2E 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D ... Entry:..
000040: 20 20 20 20 20 4E 6F 6E 65 0D 0D 20 20 20 20 20 None..
000050: 45 78 69 74 3A 0D 0D 20 20 20 20 20 44 45 20 61 Exit:.. DE a
000060: 6E 64 20 48 4C 20 3D 20 63 6F 75 6E 74 0D 0D 20 nd HL = count..
000070: 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 Notes:..
000080: 20 54 68 65 20 63 6F 75 6E 74 20 69 73 20 61 20 The count is a
000090: 66 6F 75 72 20 62 79 74 65 20 6E 75 6D 62 65 72 four byte number
0000A0: 2E 20 44 20 20 69 73 20 74 68 65 20 6D 6F 73 74 . D is the most
0000B0: 20 73 69 67 6E 69 66 69 63 61 6E 74 20 62 79 74 significant byt
0000C0: 65 20 61 6E 64 20 4C 0D 20 20 20 20 20 69 73 20 e and L. is
0000D0: 74 68 65 20 6C 65 61 73 74 20 73 69 67 6E 69 66 the least signif
0000E0: 69 63 61 6E 74 20 62 79 74 65 2E 0D 0D 20 20 20 icant byte...
0000F0: 20 20 54 68 65 20 63 6F 75 6E 74 20 69 73 20 73 The count is s
000100: 65 74 20 74 6F 20 7A 65 72 6F 20 77 68 65 6E 20 et to zero when
000110: 74 68 65 20 20 6D 61 63 68 69 6E 65 20 20 69 73 the machine is
000120: 20 74 75 72 6E 65 64 20 6F 6E 20 6F 72 20 6D 61 turned on or ma
000130: 79 20 62 65 20 73 65 74 0D 20 20 20 20 20 74 6F y be set. to
000140: 20 7A 65 72 6F 20 62 79 20 75 73 69 6E 67 20 4B zero by using K
000150: 4C 20 54 49 4D 45 20 53 45 54 2E 0D 0D 20 20 20 L TIME SET...
000160: 20 20 54 68 65 20 63 6F 75 6E 74 20 69 73 20 6E The count is n
000170: 6F 74 20 6B 65 70 74 20 75 70 20 20 74 6F 20 20 ot kept up to
000180: 64 61 74 65 20 20 69 66 20 20 6C 6F 6E 67 20 70 date if long p
000190: 65 72 69 6F 64 73 20 6F 66 20 74 69 6D 65 20 61 eriods of time a
0001A0: 72 65 20 73 70 65 6E 74 0D 20 20 20 20 20 77 69 re spent. wi
0001B0: 74 68 20 74 68 65 20 69 6E 74 65 72 75 70 74 73 th the interupts
0001C0: 20 64 69 73 61 62 6C 65 64 2E 0D 0D 20 20 20 20 disabled...
0001D0: 20 49 6E 74 65 72 75 70 74 73 20 61 72 65 20 65 Interupts are e
0001E0: 6E 61 62 6C 65 64 2E 0D 20 20 20 20 20 2D 2D 2D nabled.. ---
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
000010: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
000020: 7C 20 20 20 7C 20 20 20 20 20 7C 31 32 38 7C 20 | | |128|
000030: 20 20 7C 31 33 38 7C 0D 7C 20 20 20 20 20 20 20 |138|.|
000040: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000050: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000060: 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000070: 20 20 20 20 7C 31 32 38 7C 20 4E 41 7C 31 33 38 |128| NA|138
000080: 7C 0D 7C 20 20 20 20 20 20 20 20 20 7C 20 20 20 |.| |
000090: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
0000A0: 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 | | | |
0000B0: 7C 20 20 20 7C 20 20 20 7C 20 20 20 20 20 7C 31 | | | |1
0000C0: 32 38 7C 20 20 20 7C 31 33 38 7C 0D 2B 2D 2D 2D 28| |138|.+---
0000D0: 2D 2D 2D 2D 2D 2D 2B 2D 2D 2D 2B 2D 2B 2D 2B 2D ------+---+-+-+-
0000E0: 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D --+---+---+---+-
0000F0: 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2B 2D 2B 2D --+---+---+-+-+-
000100: 2D 2D 2B 2D 2D 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D --+-----+---+---
000110: 2B 2D 2D 2D 2B 20 0D 7C 09 20 20 7C 20 20 20 20 +---+ .|. |
000120: 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 7C 20 20 20 20 31 34 30 20 20 20 20 7C 20 20 | 140 |
000150: 20 7C 20 20 20 7C 20 20 20 7C 0D 7C 20 20 20 20 | | |.|
000160: 4E 41 09 20 20 7C 20 20 4E 41 20 7C 20 20 20 20 NA. | NA |
000170: 20 20 20 20 20 20 20 20 20 20 20 4E 41 20 20 20 NA
000180: 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 |
000190: 31 33 39 20 20 20 20 7C 20 4E 41 7C 20 4E 41 7C 139 | NA| NA|
0001A0: 20 4E 41 7C 0D 7C 09 20 20 7C 20 20 20 20 20 7C NA|.|. | |
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C |
0001D0: 20 20 20 20 31 33 39 20 20 20 20 7C 20 20 20 7C 139 | |
0001E0: 20 20 20 7C 20 20 20 7C 0D 2B 2D 2D 2D 2D 2D 2D | |.+------
0001F0: 2D 2D 2D 2B 2D 2D 2D 2D 2D 2B 2D 2D 2D 2D 2D 2D ---+-----+------
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 2B 2D 2D 2D 2B 0D +---+.
000010: 20 20 20 20 20 20 20 20 20 20 20 7C 20 32 36 7C | 26|
000020: 0D 20 20 20 20 20 20 20 20 20 20 20 7C 20 33 36 . | 36
000030: 7C 0D 20 20 20 20 20 2B 2D 2D 2D 2B 2D 2B 2D 2D |. +---+-+--
000040: 2D 2B 2D 2B 2D 2D 2D 2B 0D 4C 65 66 74 20 7C 20 -+-+---+.Left |
000050: 31 32 7C 20 20 20 20 20 20 20 7C 20 31 34 7C 20 12| | 14|
000060: 52 69 67 68 74 0D 20 20 20 20 20 7C 20 35 32 7C Right. | 52|
000070: 20 20 20 20 20 20 20 7C 20 35 34 7C 0D 20 20 20 | 54|.
000080: 20 20 7C 20 37 32 7C 20 20 20 20 20 20 20 7C 20 | 72| |
000090: 37 34 7C 0D 20 20 20 20 20 2B 2D 2D 2D 2B 2D 2B 74|. +---+-+
0000A0: 2D 2D 2D 2B 2D 2B 2D 2D 2D 2B 0D 09 20 20 20 7C ---+-+---+.. |
0000B0: 20 32 35 7C 0D 20 20 20 20 20 20 20 20 20 20 20 25|.
0000C0: 7C 20 33 35 7C 0D 09 20 20 20 2B 2D 2D 2D 2B 0D | 35|.. +---+.
0000D0: 09 20 20 44 6F 77 6E 0D 0D 20 20 20 20 20 20 20 . Down..
0000E0: 20 20 46 69 72 65 31 20 46 69 72 65 32 0D 09 20 Fire1 Fire2..
0000F0: 20 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 09 20 20 7C 20 +---+---+.. |
000100: 30 37 7C 20 30 36 7C 0D 09 20 20 7C 20 34 37 7C 07| 06|.. | 47|
000110: 20 34 36 7C 0D 09 20 20 7C 20 36 37 7C 20 36 36 46|.. | 67| 66
000120: 7C 0D 09 20 20 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 0D |.. +---+---+..
000130: 0D 0D 4B 65 79 20 6D 61 70 0D 3D 3D 3D 3D 3D 3D ..Key map.======
000140: 3D 0D 0D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B =..+---+---+---+
000150: 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B ---+---+---+---+
000160: 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B ---+---+---+---+
000170: 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B ---+---+---+---+
000180: 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 7C 20 36 ---+---+---+.| 6
000190: 36 7C 20 36 34 7C 20 36 35 7C 20 35 37 7C 20 35 6| 64| 65| 57| 5
0001A0: 36 7C 20 34 39 7C 20 34 38 7C 20 34 31 7C 20 34 6| 49| 48| 41| 4
0001B0: 30 7C 20 33 33 7C 20 33 32 7C 20 32 35 7C 20 32 0| 33| 32| 25| 2
0001C0: 34 7C 20 31 36 7C 20 37 39 7C 20 31 30 7C 20 31 4| 16| 79| 10| 1
0001D0: 31 7C 20 20 33 7C 0D 2B 2D 2D 2D 2B 2D 2B 2D 2B 1| 3|.+---+-+-+
0001E0: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
0001F0: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B 2D 2D 2D 2D 2D 2D ---------+------
000020: 2D 2D 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D -----+---+---+--
000030: 2D 2B 0D 0D 28 41 6C 6C 20 6F 74 68 65 72 73 20 -+..(All others
000040: 4E 41 29 0D 0D 41 53 43 49 49 20 4B 65 79 6D 61 NA)..ASCII Keyma
000050: 70 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D p.============..
000060: 4E 41 20 2D 20 6E 6F 74 20 61 76 61 69 6C 61 62 NA - not availab
000070: 6C 65 0D 0D 0D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D le...+---+---+--
000080: 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D -+---+---+---+--
000090: 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D -+---+---+---+--
0000A0: 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D -+---+---+---+--
0000B0: 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 7C -+---+---+---+.|
0000C0: 20 4E 41 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C NA| | | |
0000D0: 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C | | | |
0000E0: 20 20 20 7C 20 20 20 7C 20 31 46 7C 20 20 20 7C | | 1F| |
0000F0: 20 31 45 7C 20 31 30 7C 20 37 46 7C 20 20 20 7C 1E| 10| 7F| |
000100: 20 20 20 7C 20 20 20 7C 0D 7C 20 20 20 7C 20 32 | |.| | 2
000110: 31 7C 20 32 32 7C 20 32 33 7C 20 32 34 7C 20 32 1| 22| 23| 24| 2
000120: 35 7C 20 32 36 7C 20 32 37 7C 20 32 38 7C 20 32 5| 26| 27| 28| 2
000130: 39 7C 20 35 46 7C 20 33 44 7C 20 41 33 7C 20 31 9| 5F| 3D| A3| 1
000140: 30 7C 20 37 46 7C 20 4E 41 7C 20 4E 41 7C 20 4E 0| 7F| NA| NA| N
000150: 41 7C 0D 7C 20 20 20 7C 20 33 31 7C 20 33 32 7C A|.| | 31| 32|
000160: 20 33 33 7C 20 33 34 7C 20 33 35 7C 20 33 36 7C 33| 34| 35| 36|
000170: 20 33 37 7C 20 33 38 7C 20 33 39 7C 20 33 30 7C 37| 38| 39| 30|
000180: 20 32 44 7C 20 35 45 7C 20 31 30 7C 20 37 46 7C 2D| 5E| 10| 7F|
000190: 20 20 20 7C 20 20 20 7C 20 20 20 7C 0D 2B 2D 2D | | |.+--
0001A0: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
0001B0: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
0001C0: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
0001D0: 2D 2B 2D 2B 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D -+-+-+---+---+--
0001E0: 2D 2B 2D 2D 2D 2B 0D 7C 20 45 31 20 20 7C 20 31 -+---+.| E1 | 1
0001F0: 31 7C 20 31 37 7C 20 30 35 7C 20 31 32 7C 20 31 1| 17| 05| 12| 1
Size : 512 (Real : 512)
000000: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
000010: 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B ---+---+---+---+
000020: 0D 7C 20 36 38 20 20 7C 20 36 37 7C 20 35 39 7C .| 68 | 67| 59|
000030: 20 35 38 7C 20 35 30 7C 20 35 31 7C 20 34 33 7C 58| 50| 51| 43|
000040: 20 34 32 7C 20 33 35 7C 20 33 34 7C 20 32 37 7C 42| 35| 34| 27|
000050: 20 32 36 7C 20 31 37 7C 20 20 20 31 38 7C 20 32 26| 17| 18| 2
000060: 30 7C 20 31 32 7C 20 20 34 7C 0D 2B 2D 2D 2D 2D 0| 12| 4|.+----
000070: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
000080: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
000090: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
0000A0: 2D 2B 2D 2B 20 20 20 2B 2D 2D 2D 2B 2D 2D 2D 2B -+-+ +---+---+
0000B0: 2D 2D 2D 2B 0D 7C 20 37 30 20 20 20 20 7C 20 36 ---+.| 70 | 6
0000C0: 39 7C 20 36 30 7C 20 36 31 7C 20 35 33 7C 20 35 9| 60| 61| 53| 5
0000D0: 32 7C 20 34 34 7C 20 34 35 7C 20 33 37 7C 20 33 2| 44| 45| 37| 3
0000E0: 36 7C 20 32 39 7C 20 32 38 7C 20 31 39 7C 20 20 6| 29| 28| 19|
0000F0: 20 7C 20 31 33 7C 20 31 34 7C 20 20 35 7C 0D 2B | 13| 14| 5|.+
000100: 2D 2D 2D 2D 2D 2D 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -------+-+-+-+-+
000110: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
000120: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
000130: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B -+-+-+-+---+---+
000140: 2D 2D 2D 2B 2D 2D 2D 2B 0D 7C 20 32 31 20 20 20 ---+---+.| 21
000150: 20 20 20 7C 20 37 31 7C 20 36 33 7C 20 36 32 7C | 71| 63| 62|
000160: 20 35 35 7C 20 35 34 7C 20 34 36 7C 20 33 38 7C 55| 54| 46| 38|
000170: 20 33 39 7C 20 33 31 7C 20 33 30 7C 20 32 32 7C 39| 31| 30| 22|
000180: 20 20 32 31 20 7C 20 31 35 7C 20 20 30 7C 20 20 21 | 15| 0|
000190: 37 7C 0D 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B 2D 2D 7|.+---------+--
0001A0: 2D 2B 2D 2B 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D -+-+-+---+---+--
0001B0: 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D -+---+---+---+--
0001C0: 2D 2B 2D 2B 2D 2B 2D 2D 2D 2B 2D 2D 2D 2D 2D 2B -+-+-+---+-----+
0001D0: 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 20 0D 7C 20 ---+---+---+ .|
0001E0: 32 33 09 20 20 7C 20 20 20 39 20 7C 20 20 20 20 23. | 9 |
0001F0: 20 20 20 20 20 20 20 20 20 20 20 34 37 20 20 20 47
Size : 512 (Real : 512)
000000: 34 7C 20 31 39 7C 20 31 35 7C 20 30 39 7C 20 30 4| 19| 15| 09| 0
000010: 46 7C 20 31 30 7C 20 30 30 7C 20 31 42 7C 20 20 F| 10| 00| 1B|
000020: 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C | | | |
000030: 0D 7C 20 30 39 20 20 7C 20 35 31 7C 20 35 37 7C .| 09 | 51| 57|
000040: 20 34 35 7C 20 35 32 7C 20 35 34 7C 20 35 39 7C 45| 52| 54| 59|
000050: 20 35 35 7C 20 34 39 7C 20 34 46 7C 20 35 30 7C 55| 49| 4F| 50|
000060: 20 37 43 7C 20 37 42 7C 20 20 30 44 20 7C 20 4E 7C| 7B| 0D | N
000070: 41 7C 20 4E 41 7C 20 4E 41 7C 0D 7C 20 30 39 20 A| NA| NA|.| 09
000080: 20 7C 20 37 31 7C 20 37 37 7C 20 36 35 7C 20 37 | 71| 77| 65| 7
000090: 32 7C 20 37 34 7C 20 37 39 7C 20 37 35 7C 20 36 2| 74| 79| 75| 6
0000A0: 39 7C 20 36 46 7C 20 37 30 7C 20 34 30 7C 20 35 9| 6F| 70| 40| 5
0000B0: 42 7C 20 20 30 44 20 7C 20 20 20 7C 20 20 20 7C B| 0D | | |
0000C0: 20 20 20 7C 0D 2B 2D 2D 2D 2D 2D 2B 2D 2B 2D 2B |.+-----+-+-+
0000D0: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
0000E0: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
0000F0: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 30 44 -+-+-+-+-+-+-+0D
000100: 20 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 7C +---+---+---+.|
000110: 20 20 20 20 20 20 20 7C 20 30 31 7C 20 31 33 7C | 01| 13|
000120: 20 30 34 7C 20 30 36 7C 20 30 37 7C 20 30 38 7C 04| 06| 07| 08|
000130: 20 30 41 7C 20 30 42 7C 20 30 43 7C 20 20 20 7C 0A| 0B| 0C| |
000140: 20 20 20 7C 20 31 44 7C 20 20 20 7C 20 20 20 7C | 1D| | |
000150: 20 20 20 7C 20 20 20 7C 0D 7C 20 4E 41 20 20 20 | |.| NA
000160: 20 7C 20 34 31 7C 20 35 33 7C 20 34 34 7C 20 34 | 41| 53| 44| 4
000170: 36 7C 20 34 37 7C 20 34 38 7C 20 34 41 7C 20 34 6| 47| 48| 4A| 4
000180: 42 7C 20 34 43 7C 20 32 41 7C 20 32 42 7C 20 37 B| 4C| 2A| 2B| 7
000190: 44 7C 20 20 20 7C 20 4E 41 7C 20 4E 41 7C 20 4E D| | NA| NA| N
0001A0: 41 7C 0D 7C 20 20 20 20 20 20 20 7C 20 36 31 7C A|.| | 61|
0001B0: 20 37 33 7C 20 36 34 7C 20 36 36 7C 20 36 37 7C 73| 64| 66| 67|
0001C0: 20 36 38 7C 20 36 41 7C 20 36 42 7C 20 36 43 7C 68| 6A| 6B| 6C|
0001D0: 20 33 41 7C 20 33 42 7C 20 35 44 7C 20 20 20 7C 3A| 3B| 5D| |
0001E0: 20 20 20 7C 20 20 20 7C 20 20 20 7C 0D 2B 2D 2D | | |.+--
0001F0: 2D 2D 2D 2D 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -----+-+-+-+-+-+
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 |
000010: 20 20 36 20 20 20 20 7C 20 20 38 7C 20 20 32 7C 6 | 8| 2|
000020: 20 20 31 7C 0D 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B 1|.+---------+
000030: 2D 2D 2D 2D 2D 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -----+----------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D -----+----------
000060: 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 0D -+---+---+---+..
000070: 0D 0D 4A 6F 79 73 74 69 63 6B 20 30 0D 3D 3D 3D ..Joystick 0.===
000080: 3D 3D 3D 3D 3D 3D 3D 0D 09 20 20 20 20 20 55 70 =======.. Up
000090: 0D 20 20 20 20 20 20 20 20 20 20 20 2B 2D 2D 2D . +---
0000A0: 2B 0D 20 20 20 20 20 20 20 20 20 20 20 7C 20 37 +. | 7
0000B0: 32 7C 0D 20 20 20 20 20 2B 2D 2D 2D 2B 2D 2B 2D 2|. +---+-+-
0000C0: 2D 2D 2B 2D 2B 2D 2D 2D 2B 0D 4C 65 66 74 20 7C --+-+---+.Left |
0000D0: 20 37 34 7C 20 20 20 20 20 20 20 7C 20 37 35 7C 74| | 75|
0000E0: 20 52 69 67 68 74 0D 20 20 20 20 20 2B 2D 2D 2D Right. +---
0000F0: 2B 2D 2B 2D 2D 2D 2B 2D 2B 2D 2D 2D 2B 0D 09 20 +-+---+-+---+..
000100: 20 20 7C 20 37 33 7C 0D 09 20 20 20 2B 2D 2D 2D | 73|.. +---
000110: 2B 0D 09 20 20 44 6F 77 6E 0D 0D 20 20 20 20 20 +.. Down..
000120: 20 20 20 20 46 69 72 65 31 20 46 69 72 65 32 0D Fire1 Fire2.
000130: 09 20 20 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 09 20 20 . +---+---+..
000140: 7C 20 37 36 7C 20 37 37 7C 0D 09 20 20 2B 2D 2D | 76| 77|.. +--
000150: 2D 2B 2D 2D 2D 2B 0D 0D 0D 0D 4A 6F 79 73 74 69 -+---+....Joysti
000160: 63 6B 20 31 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D ck 1.==========.
000170: 09 20 20 20 20 20 55 70 0D 20 20 20 20 20 20 20 . Up.
000180: 20 20 20 20 2B 2D 2D 2D 2B 0D 20 20 20 20 20 20 +---+.
000190: 20 20 20 20 20 7C 20 34 38 7C 0D 20 20 20 20 20 | 48|.
0001A0: 2B 2D 2D 2D 2B 2D 2B 2D 2D 2D 2B 2D 2B 2D 2D 2D +---+-+---+-+---
0001B0: 2B 0D 4C 65 66 74 20 7C 20 35 30 7C 20 20 20 20 +.Left | 50|
0001C0: 20 20 20 7C 20 35 31 7C 20 52 69 67 68 74 0D 20 | 51| Right.
0001D0: 20 20 20 20 2B 2D 2D 2D 2B 2D 2B 2D 2D 2D 2B 2D +---+-+---+-
0001E0: 2B 2D 2D 2D 2B 0D 09 20 20 20 7C 20 34 39 7C 0D +---+.. | 49|.
0001F0: 09 20 20 20 2B 2D 2D 2D 2B 0D 09 20 20 44 6F 77 . +---+.. Dow
Size : 512 (Real : 512)
000000: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
000010: 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B 2D 2B -+-+-+-+-+-+-+-+
000020: 2D 2B 2D 2B 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D -+-+-+---+---+--
000030: 2D 2B 2D 2D 2D 2B 0D 7C 20 20 20 20 20 20 20 20 -+---+.|
000040: 20 7C 20 31 41 7C 20 31 38 7C 20 30 33 7C 20 31 | 1A| 18| 03| 1
000050: 36 7C 20 30 32 7C 20 30 45 7C 20 30 44 7C 20 20 6| 02| 0E| 0D|
000060: 20 7C 20 20 20 7C 20 20 20 7C 20 31 43 7C 20 20 | | | 1C|
000070: 20 20 20 7C 20 20 20 7C 20 46 38 7C 20 20 20 7C | | F8| |
000080: 0D 7C 20 4E 41 20 20 20 20 20 20 7C 20 35 41 7C .| NA | 5A|
000090: 20 35 38 7C 20 34 33 7C 20 35 36 7C 20 34 32 7C 58| 43| 56| 42|
0000A0: 20 34 45 7C 20 34 44 7C 20 33 43 7C 20 33 45 7C 4E| 4D| 3C| 3E|
0000B0: 20 33 46 7C 20 36 30 7C 20 4E 41 20 20 7C 20 4E 3F| 60| NA | N
0000C0: 41 7C 20 46 34 7C 20 4E 41 7C 0D 7C 20 20 20 20 A| F4| NA|.|
0000D0: 20 20 20 20 20 7C 20 37 41 7C 20 37 38 7C 20 36 | 7A| 78| 6
0000E0: 33 7C 20 37 36 7C 20 36 32 7C 20 36 45 7C 20 36 3| 76| 62| 6E| 6
0000F0: 44 7C 20 32 43 7C 20 32 45 7C 20 32 46 7C 20 35 D| 2C| 2E| 2F| 5
000100: 43 7C 20 20 20 20 20 7C 20 20 20 7C 20 46 30 7C C| | | F0|
000110: 20 20 20 7C 0D 2B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B |.+---------+
000120: 2D 2D 2D 2B 2D 2B 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B ---+-+-+---+---+
000130: 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B ---+---+---+---+
000140: 2D 2D 2D 2B 2D 2B 2D 2B 2D 2D 2D 2B 2D 2D 2D 2D ---+-+-+---+----
000150: 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 2D 2D 2D 2B 20 0D -+---+---+---+ .
000160: 7C 09 20 20 7C 20 45 30 20 20 7C 20 20 20 20 20 |. | E0 |
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 |
000190: 20 20 20 20 20 20 7C 20 46 41 7C 20 46 39 7C 20 | FA| F9|
0001A0: 46 42 7C 0D 7C 20 4E 41 09 20 20 7C 20 45 30 20 FB|.| NA. | E0
0001B0: 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |
0001C0: 32 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 7C 20 20 20 20 4E 41 20 20 20 20 20 7C 20 46 | NA | F
0001E0: 36 7C 20 46 35 7C 20 46 37 7C 0D 7C 09 20 20 7C 6| F5| F7|.|. |
0001F0: 20 45 30 20 20 7C 20 20 20 20 20 20 20 20 20 20 E0 |
Size : 512 (Real : 512)
000000: 6E 0D 0D 20 20 20 20 20 20 20 20 20 46 69 72 65 n.. Fire
000010: 31 20 46 69 72 65 32 0D 09 20 20 2B 2D 2D 2D 2B 1 Fire2.. +---+
000020: 2D 2D 2D 2B 0D 09 20 20 7C 20 35 32 7C 20 35 33 ---+.. | 52| 53
000030: 7C 0D 09 20 20 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 0D |.. +---+---+..
000040: 1A 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 . | | |
000050: 7C 20 20 20 7C 20 20 20 7C 20 20 1A 00 00 00 00 | | | .....
000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000070: 00 00 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000080: 3D 3D 3D 3D 3D 3D 3D 0D 09 20 20 20 20 20 55 70 =======.. Up
000090: 0D 20 20 20 20 20 20 20 20 20 20 20 2B 2D 2D 2D . +---
0000A0: 2B 0D 20 20 20 20 20 20 20 20 20 20 20 7C 20 37 +. | 7
0000B0: 32 7C 0D 20 20 20 20 20 2B 2D 2D 2D 2B 2D 2B 2D 2|. +---+-+-
0000C0: 2D 2D 2B 2D 2B 2D 2D 2D 2B 0D 4C 65 66 74 20 7C --+-+---+.Left |
0000D0: 20 37 34 7C 20 20 20 20 20 20 20 7C 20 37 35 7C 74| | 75|
0000E0: 20 52 69 67 68 74 0D 20 20 20 20 20 2B 2D 2D 2D Right. +---
0000F0: 2B 2D 2B 2D 2D 2D 2B 2D 2B 2D 2D 2D 2B 0D 09 20 +-+---+-+---+..
000100: 20 20 7C 20 37 33 7C 0D 09 20 20 20 2B 2D 2D 2D | 73|.. +---
000110: 2B 0D 09 20 20 44 6F 77 6E 0D 0D 20 20 20 20 20 +.. Down..
000120: 20 20 20 20 46 69 72 65 31 20 46 69 72 65 32 0D Fire1 Fire2.
000130: 09 20 20 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 09 20 20 . +---+---+..
000140: 7C 20 37 36 7C 20 37 37 7C 0D 09 20 20 2B 2D 2D | 76| 77|.. +--
000150: 2D 2B 2D 2D 2D 2B 0D 0D 0D 0D 4A 6F 79 73 74 69 -+---+....Joysti
000160: 63 6B 20 31 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D ck 1.==========.
000170: 09 20 20 20 20 20 55 70 0D 20 20 20 20 20 20 20 . Up.
000180: 20 20 20 20 2B 2D 2D 2D 2B 0D 20 20 20 20 20 20 +---+.
000190: 20 20 20 20 20 7C 20 34 38 7C 0D 20 20 20 20 20 | 48|.
0001A0: 2B 2D 2D 2D 2B 2D 2B 2D 2D 2D 2B 2D 2B 2D 2D 2D +---+-+---+-+---
0001B0: 2B 0D 4C 65 66 74 20 7C 20 35 30 7C 20 20 20 20 +.Left | 50|
0001C0: 20 20 20 7C 20 35 31 7C 20 52 69 67 68 74 0D 20 | 51| Right.
0001D0: 20 20 20 20 2B 2D 2D 2D 2B 2D 2B 2D 2D 2D 2B 2D +---+-+---+-
0001E0: 2B 2D 2D 2D 2B 0D 09 20 20 20 7C 20 34 39 7C 0D +---+.. | 49|.
0001F0: 09 20 20 20 2B 2D 2D 2D 2B 0D 09 20 20 44 6F 77 . +---+.. Dow
Size : 512 (Real : 512)
000000: 20 20 20 20 32 30 20 20 20 20 20 20 20 20 20 20 20
000010: 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 |
000020: 20 7C 20 46 32 7C 20 46 31 7C 20 46 33 7C 0D 2B | F2| F1| F3|.+
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B 2D 2D 2D 2D 2D 2B ---------+-----+
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000050: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B ---------------+
000060: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2B 2D 2D 2D 2B -----------+---+
000070: 2D 2D 2D 2B 2D 2D 2D 2B 0D 0D 0D 2B 2D 2D 2D 2D ---+---+...+----
000080: 2D 2D 2D 2D 2D 2B 0D 7C 20 43 6F 6E 74 72 6F 6C -----+.| Control
000090: 20 7C 0D 7C 20 53 68 69 66 74 20 20 20 7C 0D 7C |.| Shift |.|
0000A0: 20 53 74 61 6E 64 61 72 64 7C 0D 2B 2D 2D 2D 2D Standard|.+----
0000B0: 2D 2D 2D 2D 2D 2B 0D 0D 0D 4A 6F 79 73 74 69 63 -----+...Joystic
0000C0: 6B 20 30 0D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 09 k 0.==========..
0000D0: 20 20 20 20 20 55 70 0D 20 20 20 20 20 20 20 20 Up.
0000E0: 20 20 20 2B 2D 2D 2D 2B 0D 20 20 20 20 20 20 20 +---+.
0000F0: 20 20 20 20 7C 20 30 42 7C 0D 09 20 20 20 7C 20 | 0B|.. |
000100: 30 42 7C 0D 20 20 20 20 20 2B 2D 2D 2D 2B 2D 2B 0B|. +---+-+
000110: 2D 2D 2D 2B 2D 2B 2D 2D 2D 2B 0D 4C 65 66 74 20 ---+-+---+.Left
000120: 7C 20 30 38 7C 20 20 20 20 20 20 20 7C 20 30 39 | 08| | 09
000130: 7C 20 52 69 67 68 74 0D 20 20 20 20 20 7C 20 30 | Right. | 0
000140: 38 7C 20 20 20 20 20 20 20 7C 20 30 38 7C 0D 20 8| | 08|.
000150: 20 20 20 20 2B 2D 2D 2D 2B 2D 2B 2D 2D 2D 2B 2D +---+-+---+-
000160: 2B 2D 2D 2D 2B 0D 09 20 20 20 7C 20 30 61 7C 0D +---+.. | 0a|.
000170: 20 20 20 20 20 20 20 20 20 20 20 7C 20 30 61 7C | 0a|
000180: 0D 09 20 20 20 2B 2D 2D 2D 2B 0D 09 20 20 44 6F .. +---+.. Do
000190: 77 6E 0D 0D 20 20 20 20 20 20 20 20 20 46 69 72 wn.. Fir
0001A0: 65 31 20 46 69 72 65 32 0D 09 20 20 2B 2D 2D 2D e1 Fire2.. +---
0001B0: 2B 2D 2D 2D 2B 0D 09 20 20 7C 20 35 38 7C 20 35 +---+.. | 58| 5
0001C0: 41 7C 0D 09 20 20 7C 20 35 38 7C 20 35 41 7C 0D A|.. | 58| 5A|.
0001D0: 09 20 20 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 0D 0D 0D . +---+---+....
0001E0: 4A 6F 79 73 74 69 63 6B 20 31 0D 3D 3D 3D 3D 3D Joystick 1.=====
0001F0: 3D 3D 3D 3D 3D 0D 09 20 20 20 20 20 55 70 0D 20 =====.. Up.
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 20 49 74 20 77 69 6C 6C 20 6E 6F 74 20 20 62 65 It will not be
000010: 20 20 70 72 6F 63 65 73 73 65 64 20 62 75 74 20 processed but
000020: 72 65 74 75 72 6E 65 64 20 68 6F 77 20 69 74 0D returned how it.
000030: 20 20 20 20 20 69 73 2E 20 54 68 65 20 63 68 61 is. The cha
000040: 72 61 63 74 65 72 20 64 6F 65 73 6E 27 74 20 6E racter doesn't n
000050: 65 65 64 20 74 6F 20 62 65 20 72 65 61 64 20 66 eed to be read f
000060: 72 6F 6D 20 74 68 65 20 6B 65 79 62 6F 61 72 64 rom the keyboard
000070: 2E 0D 0D 20 20 20 20 20 59 6F 75 20 63 61 6E 20 ... You can
000080: 6F 6E 6C 79 20 68 61 76 65 20 6F 6E 65 20 63 68 only have one ch
000090: 61 72 61 63 74 65 72 20 74 6F 20 20 70 75 74 20 aracter to put
0000A0: 20 62 61 63 6B 2E 20 49 66 20 61 6E 79 6D 6F 72 back. If anymor
0000B0: 65 20 61 72 65 20 70 75 74 20 62 61 63 6B 0D 20 e are put back.
0000C0: 20 20 20 20 62 65 66 6F 72 65 20 61 20 63 68 61 before a cha
0000D0: 72 61 63 74 65 72 20 69 73 20 20 72 65 61 64 20 racter is read
0000E0: 20 74 68 65 6E 20 20 74 68 65 20 20 66 69 72 73 then the firs
0000F0: 74 20 20 63 68 61 72 61 63 74 65 72 20 77 69 6C t character wil
000100: 6C 20 62 65 20 6C 6F 73 74 2E 0D 20 20 20 20 20 l be lost..
000110: 43 68 61 72 61 63 74 65 72 20 32 35 35 20 63 61 Character 255 ca
000120: 6E 6E 6F 74 20 62 65 20 72 65 74 75 72 6E 65 64 nnot be returned
000130: 20 61 73 20 74 68 69 73 20 20 69 73 20 20 75 73 as this is us
000140: 65 64 20 61 73 20 61 20 6D 61 72 6B 65 72 20 74 ed as a marker t
000150: 6F 20 74 65 6C 6C 0D 20 20 20 20 20 74 68 65 20 o tell. the
000160: 63 6F 6D 70 75 74 65 72 20 74 68 65 72 65 20 69 computer there i
000170: 73 20 6E 6F 20 63 68 61 72 61 63 74 65 72 20 62 s no character b
000180: 65 69 6E 67 20 70 75 74 20 62 61 63 6B 2E 0D 0D eing put back...
000190: 0D 20 20 20 20 20 26 42 42 30 46 20 2D 20 4B 4D . &BB0F - KM
0001A0: 20 53 45 54 20 45 58 50 41 4E 44 20 2D 20 53 65 SET EXPAND - Se
0001B0: 74 20 61 6E 20 65 78 70 61 6E 73 69 6F 6E 20 73 t an expansion s
0001C0: 74 72 69 6E 67 0D 0D 20 20 20 20 20 45 6E 74 72 tring.. Entr
0001D0: 79 3A 0D 0D 20 20 20 20 20 42 20 3D 20 65 78 70 y:.. B = exp
0001E0: 61 6E 73 69 6F 6E 20 74 6F 6B 65 6E 20 66 6F 72 ansion token for
0001F0: 20 65 78 70 61 6E 73 69 6F 6E 20 74 6F 20 73 65 expansion to se
Size : 512 (Real : 512)
000000: 1B 40 0D 0D 0D 20 20 20 20 20 26 42 42 30 30 20 .@... &BB00
000010: 2D 20 4B 4D 20 49 4E 49 54 49 41 4C 49 53 45 20 - KM INITIALISE
000020: 2D 20 49 6E 69 74 69 61 6C 69 73 65 20 74 68 65 - Initialise the
000030: 20 6B 65 79 20 6D 61 6E 61 67 65 72 0D 0D 20 20 key manager..
000040: 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 Entry:..
000050: 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0D No conditions...
000060: 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 Exit:..
000070: 20 41 46 2C 42 43 2C 44 45 20 61 6E 64 20 48 4C AF,BC,DE and HL
000080: 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 corrupt...
000090: 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 49 6E 74 Notes:.. Int
0000A0: 65 72 75 70 74 73 20 61 72 65 20 65 6E 61 62 6C erupts are enabl
0000B0: 65 64 2E 0D 20 20 20 20 20 54 68 65 20 6B 65 79 ed.. The key
0000C0: 62 6F 61 72 64 20 62 75 66 66 65 72 20 69 73 20 board buffer is
0000D0: 63 6C 65 61 72 65 64 2E 0D 20 20 20 20 20 53 68 cleared.. Sh
0000E0: 69 66 74 20 6C 6F 63 6B 20 61 6E 64 20 43 61 70 ift lock and Cap
0000F0: 73 20 6C 6F 63 6B 20 61 72 65 20 74 75 72 6E 65 s lock are turne
000100: 64 20 6F 66 66 2E 0D 20 20 20 20 20 54 68 65 20 d off.. The
000110: 72 65 70 65 61 74 20 73 70 65 65 64 20 69 73 20 repeat speed is
000120: 73 65 74 20 74 6F 20 64 65 66 61 75 6C 74 2E 0D set to default..
000130: 20 20 20 20 20 54 68 65 20 72 65 70 65 61 74 20 The repeat
000140: 6B 65 79 20 6D 61 70 20 69 73 20 69 6E 69 74 69 key map is initi
000150: 61 6C 69 7A 65 64 20 74 6F 20 64 65 66 61 75 6C alized to defaul
000160: 74 20 73 74 61 74 65 2E 0D 20 20 20 20 20 54 68 t state.. Th
000170: 65 20 65 78 70 61 6E 73 69 6F 6E 20 62 75 66 66 e expansion buff
000180: 65 72 20 69 73 20 73 65 74 20 20 75 70 20 20 61 er is set up a
000190: 6E 64 20 20 74 68 65 20 20 65 78 70 61 6E 73 69 nd the expansi
0001A0: 6F 6E 73 20 61 72 65 20 73 65 74 20 74 6F 20 74 ons are set to t
0001B0: 68 65 69 72 0D 20 20 20 20 20 64 65 66 61 75 6C heir. defaul
0001C0: 74 20 76 61 6C 75 65 73 2E 0D 20 20 20 20 20 54 t values.. T
0001D0: 68 65 20 6B 65 79 20 74 72 61 6E 73 6C 61 74 69 he key translati
0001E0: 6F 6E 20 74 61 62 6C 65 73 20 61 72 65 20 69 6E on tables are in
0001F0: 74 69 61 6C 69 7A 65 64 20 74 6F 20 69 74 73 20 tialized to its
Size : 512 (Real : 512)
000000: 74 0D 20 20 20 20 20 43 20 3D 20 6C 65 6E 67 74 t. C = lengt
000010: 68 20 6F 66 20 73 74 72 69 6E 67 0D 20 20 20 20 h of string.
000020: 20 48 4C 20 3D 20 61 64 64 72 65 73 73 20 6F 66 HL = address of
000030: 20 73 74 72 69 6E 67 0D 0D 20 20 20 20 20 45 78 string.. Ex
000040: 69 74 3A 0D 0D 20 20 20 20 20 49 66 20 65 76 65 it:.. If eve
000050: 72 79 74 68 69 6E 67 20 4F 4B 3A 0D 0D 20 20 20 rything OK:..
000060: 20 20 43 61 72 72 79 20 74 72 75 65 2E 0D 0D 0D Carry true....
000070: 0D 0D 0D 0D 0D 20 20 20 20 20 49 66 20 69 74 20 ..... If it
000080: 77 61 73 20 74 6F 6F 20 6C 6F 6E 67 20 6F 72 20 was too long or
000090: 74 6F 6B 65 6E 20 69 6E 76 61 6C 69 64 3A 0D 20 token invalid:.
0000A0: 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E Carry false.
0000B0: 0D 0D 20 20 20 20 20 41 2C 42 43 2C 44 45 2C 48 .. A,BC,DE,H
0000C0: 4C 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 L and other flag
0000D0: 73 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 s corrupt...
0000E0: 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 49 66 Notes:.. If
0000F0: 20 74 68 65 72 65 20 69 73 6E 27 74 20 65 6E 6F there isn't eno
000100: 75 67 68 20 72 6F 6F 6D 20 66 6F 72 20 74 68 65 ugh room for the
000110: 20 20 6E 65 77 20 73 74 72 69 6E 67 20 74 68 65 new string the
000120: 6E 20 74 68 65 20 6F 6C 64 20 73 74 61 74 65 20 n the old state
000130: 77 69 6C 6C 0D 20 20 20 20 20 6E 6F 74 20 62 65 will. not be
000140: 20 63 68 61 6E 67 65 64 2E 0D 20 20 20 20 20 53 changed.. S
000150: 65 74 20 61 6E 20 65 78 70 61 6E 73 69 6F 6E 20 et an expansion
000160: 73 74 72 69 6E 67 2E 0D 20 20 20 20 20 49 6E 74 string.. Int
000170: 65 72 75 70 74 73 20 61 72 65 20 65 6E 61 62 6C erupts are enabl
000180: 65 64 2E 0D 0D 0D 20 20 20 20 20 26 42 42 31 32 ed.... &BB12
000190: 20 2D 20 4B 4D 20 47 45 54 20 45 58 50 41 4E 44 - KM GET EXPAND
0001A0: 20 2D 20 47 65 74 20 61 20 63 68 61 72 61 63 74 - Get a charact
0001B0: 65 72 20 66 72 6F 6D 20 61 6E 20 65 78 70 61 6E er from an expan
0001C0: 73 69 6F 6E 20 73 74 72 69 6E 67 0D 0D 20 20 20 sion string..
0001D0: 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 41 Entry:.. A
0001E0: 20 3D 20 65 78 70 61 6E 73 69 6F 6E 20 74 6F 6B = expansion tok
0001F0: 65 6E 0D 20 20 20 20 20 4C 20 3D 20 63 68 61 72 en. L = char
Size : 512 (Real : 512)
000000: 64 65 66 61 75 6C 74 20 73 74 61 74 65 2E 0D 20 default state..
000010: 20 20 20 20 54 68 65 20 62 72 65 61 6B 20 65 76 The break ev
000020: 65 6E 74 20 69 73 20 64 69 73 61 72 6D 65 64 2E ent is disarmed.
000030: 0D 20 20 20 20 20 54 68 65 20 62 72 65 61 6B 20 . The break
000040: 69 6E 64 69 72 65 63 74 69 6F 6E 20 63 61 6C 6C indirection call
000050: 20 69 73 20 73 65 74 20 74 6F 20 69 74 73 20 69 is set to its i
000060: 6E 69 74 69 61 6C 20 76 61 6C 75 65 2E 0D 0D 0D nitial value....
000070: 20 20 20 20 20 26 42 42 30 33 20 2D 20 4B 4D 20 &BB03 - KM
000080: 52 45 53 45 54 20 2D 20 52 65 73 65 74 20 74 68 RESET - Reset th
000090: 65 20 4B 65 79 20 4D 61 6E 61 67 65 72 0D 0D 20 e Key Manager..
0000A0: 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 Entry:..
0000B0: 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D No conditions..
0000C0: 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 . Exit:..
0000D0: 20 20 41 46 2C 42 43 2C 44 45 2C 48 4C 20 63 6F AF,BC,DE,HL co
0000E0: 72 72 75 70 74 0D 0D 20 20 20 20 20 4E 6F 74 65 rrupt.. Note
0000F0: 73 3A 0D 0D 20 20 20 20 20 49 6E 74 65 72 75 70 s:.. Interup
000100: 74 73 20 61 72 65 20 65 6E 61 62 6C 65 64 2E 0D ts are enabled..
000110: 20 20 20 20 20 54 68 65 20 62 72 65 61 6B 20 69 The break i
000120: 6E 64 69 72 65 63 74 69 6F 6E 20 63 61 6C 6C 20 ndirection call
000130: 20 69 73 20 20 73 65 74 20 20 74 6F 20 20 69 74 is set to it
000140: 73 20 20 69 6E 69 74 69 61 6C 20 72 6F 75 74 69 s initial routi
000150: 6E 65 20 65 6E 61 62 6C 69 6E 67 0D 20 20 20 20 ne enabling.
000160: 20 53 48 49 46 54 20 43 4F 4E 54 52 4F 4C 20 45 SHIFT CONTROL E
000170: 53 43 20 72 65 73 65 74 2E 0D 20 20 20 20 20 54 SC reset.. T
000180: 68 65 20 6B 65 79 62 6F 61 72 64 20 62 75 66 66 he keyboard buff
000190: 65 72 20 69 73 20 63 6C 65 61 72 65 64 2E 0D 20 er is cleared..
0001A0: 20 20 20 20 54 68 65 20 65 78 70 61 6E 73 69 6F The expansio
0001B0: 6E 20 62 75 66 66 65 72 20 69 73 20 73 65 74 20 n buffer is set
0001C0: 74 6F 20 64 65 66 61 75 6C 74 2E 0D 20 20 20 20 to default..
0001D0: 20 54 68 65 20 62 72 65 61 6B 20 65 76 65 6E 74 The break event
0001E0: 20 69 73 20 64 69 73 61 72 6D 65 64 2E 0D 0D 20 is disarmed...
0001F0: 20 20 20 20 26 42 42 30 36 20 2D 20 4B 4D 20 57 &BB06 - KM W
Size : 512 (Real : 512)
000000: 61 63 74 65 72 20 6E 75 6D 62 65 72 0D 0D 20 20 acter number..
000010: 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 49 Exit:.. I
000020: 66 20 63 68 61 72 61 63 74 65 72 20 66 6F 75 6E f character foun
000030: 64 3A 0D 0D 20 20 20 20 20 43 61 72 72 79 20 74 d:.. Carry t
000040: 72 75 65 2E 0D 20 20 20 20 20 41 20 3D 20 63 68 rue.. A = ch
000050: 61 72 61 63 74 65 72 0D 0D 20 20 20 20 20 54 6F aracter.. To
000060: 6B 65 6E 20 69 6E 76 61 6C 69 64 2C 20 6F 72 20 ken invalid, or
000070: 73 74 72 69 6E 67 20 6E 6F 74 20 6C 6F 6E 67 20 string not long
000080: 65 6E 6F 75 67 68 3A 0D 20 20 20 20 20 43 61 72 enough:. Car
000090: 72 79 20 66 61 6C 73 65 2E 0D 20 20 20 20 20 41 ry false.. A
0000A0: 20 63 6F 72 72 75 70 74 0D 0D 20 20 20 20 20 44 corrupt.. D
0000B0: 45 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 E and other flag
0000C0: 73 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 20 20 20 s corrupt....
0000D0: 20 20 26 42 42 31 35 20 2D 20 4B 4D 20 45 58 50 &BB15 - KM EXP
0000E0: 20 42 55 46 46 45 52 20 2D 20 41 6C 6C 6F 63 61 BUFFER - Alloca
0000F0: 74 65 20 61 20 62 75 66 66 65 72 20 66 6F 72 20 te a buffer for
000100: 65 78 70 61 6E 73 69 6F 6E 20 73 74 72 69 6E 67 expansion string
000110: 73 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D s.. Entry:..
000120: 20 20 20 20 20 44 45 20 3D 20 61 64 64 72 65 73 DE = addres
000130: 73 20 6F 66 20 62 75 66 66 65 72 0D 20 20 20 20 s of buffer.
000140: 20 48 4C 20 3D 20 6C 65 6E 67 74 68 20 6F 66 20 HL = length of
000150: 62 75 66 66 65 72 0D 0D 20 20 20 20 20 45 78 69 buffer.. Exi
000160: 74 3A 0D 0D 20 20 20 20 20 42 75 66 66 65 72 20 t:.. Buffer
000170: 4F 4B 3A 0D 0D 20 20 20 20 20 43 61 72 72 79 20 OK:.. Carry
000180: 74 72 75 65 2E 0D 0D 20 20 20 20 20 42 75 66 66 true... Buff
000190: 65 72 20 74 6F 6F 20 73 68 6F 72 74 3A 0D 0D 20 er too short:..
0001A0: 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E Carry false.
0001B0: 0D 0D 20 20 20 20 20 41 2C 42 43 2C 44 45 2C 48 .. A,BC,DE,H
0001C0: 4C 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 L and other flag
0001D0: 73 20 63 6F 72 72 75 70 74 0D 0D 20 20 20 20 20 s corrupt..
0001E0: 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 Notes:.. The
0001F0: 20 62 75 66 66 65 72 20 6D 75 73 74 20 62 65 20 buffer must be
Size : 512 (Real : 512)
000000: 41 49 54 20 43 48 41 52 20 2D 20 57 61 69 74 20 AIT CHAR - Wait
000010: 66 6F 72 20 61 20 63 68 61 72 61 63 74 65 72 20 for a character
000020: 66 72 6F 6D 20 74 68 65 20 6B 65 79 62 6F 61 72 from the keyboar
000030: 64 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D d.. Entry:..
000040: 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F No conditio
000050: 6E 73 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D ns.. Exit:..
000060: 20 20 20 20 20 43 61 72 72 79 20 74 72 75 65 2E Carry true.
000070: 20 4F 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 Other flags cor
000080: 72 75 70 74 2E 0D 20 20 20 20 20 41 20 3D 20 63 rupt.. A = c
000090: 68 61 72 61 63 74 65 72 0D 0D 20 20 20 20 20 4E haracter.. N
0000A0: 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 72 79 20 otes:.. Try
0000B0: 74 6F 20 67 65 74 20 61 20 63 68 61 72 61 63 74 to get a charact
0000C0: 65 72 20 66 72 6F 6D 20 6B 65 79 62 6F 61 72 64 er from keyboard
0000D0: 20 20 62 75 66 66 65 72 2E 20 49 66 20 6F 6E 65 buffer. If one
0000E0: 20 69 73 20 6E 6F 74 20 66 6F 75 6E 64 20 74 68 is not found th
0000F0: 65 6E 0D 20 20 20 20 20 74 68 65 20 72 6F 75 74 en. the rout
000100: 69 6E 65 20 77 69 6C 6C 20 77 61 69 74 20 75 6E ine will wait un
000110: 74 69 6C 20 6F 6E 65 20 69 73 2E 0D 0D 0D 0D 0D til one is......
000120: 0D 0D 0D 0D 20 20 20 20 20 26 42 42 30 39 20 2D .... &BB09 -
000130: 20 4B 4D 20 52 45 41 44 20 43 48 41 52 20 2D 20 KM READ CHAR -
000140: 47 65 74 20 61 20 63 68 61 72 61 63 74 65 72 20 Get a character
000150: 66 72 6F 6D 20 74 68 65 20 6B 65 79 62 6F 61 72 from the keyboar
000160: 64 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D d.. Entry:..
000170: 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F No conditio
000180: 6E 73 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D ns.. Exit:..
000190: 20 20 20 20 20 49 66 20 61 20 63 68 61 72 61 63 If a charac
0001A0: 74 65 72 20 77 61 73 20 61 76 61 69 6C 61 62 6C ter was availabl
0001B0: 65 3A 0D 20 20 20 20 20 43 61 72 72 79 20 54 72 e:. Carry Tr
0001C0: 75 65 2E 20 41 20 3D 20 63 68 61 72 61 63 74 65 ue. A = characte
0001D0: 72 0D 0D 20 20 20 20 20 49 46 20 6E 6F 20 63 68 r.. IF no ch
0001E0: 61 72 61 63 74 65 72 20 61 76 61 69 6C 61 62 6C aracter availabl
0001F0: 65 3A 0D 20 20 20 20 20 43 61 72 72 79 20 46 61 e:. Carry Fa
Size : 512 (Real : 512)
000000: 61 74 20 6C 65 61 73 74 20 34 39 20 62 79 74 65 at least 49 byte
000010: 73 20 20 61 6E 64 20 69 6E 20 52 41 4D 2E 20 49 s and in RAM. I
000020: 74 20 6D 75 73 74 20 6E 6F 74 20 62 65 20 75 6E t must not be un
000030: 64 65 72 0D 20 20 20 20 20 61 20 52 4F 4D 2E 20 der. a ROM.
000040: 49 66 20 74 68 65 20 6E 65 77 20 62 75 66 66 65 If the new buffe
000050: 72 20 69 73 20 74 6F 6F 20 73 68 6F 72 74 2C 20 r is too short,
000060: 74 68 65 20 6F 6C 64 20 6F 6E 65 20 69 73 20 6C the old one is l
000070: 65 66 74 20 75 6E 63 68 61 6E 67 65 64 2E 0D 20 eft unchanged..
000080: 20 20 20 20 49 6E 74 65 72 75 70 74 73 20 61 72 Interupts ar
000090: 65 20 65 6E 61 62 6C 65 64 2E 0D 0D 0D 0D 0D 0D e enabled.......
0000A0: 0D 0D 0D 20 20 20 20 20 26 42 42 31 38 20 2D 20 ... &BB18 -
0000B0: 4B 4D 20 57 41 49 54 20 4B 45 59 20 2D 20 57 61 KM WAIT KEY - Wa
0000C0: 69 74 20 66 6F 72 20 61 20 6B 65 79 20 66 72 6F it for a key fro
0000D0: 6D 20 74 68 65 20 6B 65 79 62 6F 61 72 64 20 62 m the keyboard b
0000E0: 75 66 66 65 72 0D 0D 20 20 20 20 20 45 6E 74 72 uffer.. Entr
0000F0: 79 3A 0D 0D 20 20 20 20 20 4E 6F 20 63 6F 6E 64 y:.. No cond
000100: 69 74 69 6F 6E 73 0D 0D 20 20 20 20 20 45 78 69 itions.. Exi
000110: 74 3A 0D 0D 20 20 20 20 20 43 61 72 72 79 20 74 t:.. Carry t
000120: 72 75 65 2E 0D 20 20 20 20 20 41 20 3D 20 63 68 rue.. A = ch
000130: 61 72 61 63 74 65 72 20 6F 72 20 65 78 70 61 6E aracter or expan
000140: 73 69 6F 6E 20 74 6F 6B 65 6E 0D 0D 20 20 20 20 sion token..
000150: 20 4F 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 Other flags cor
000160: 72 75 70 74 2E 0D 0D 0D 20 20 20 20 20 26 42 42 rupt.... &BB
000170: 31 42 20 2D 20 4B 4D 20 52 45 41 44 20 4B 45 59 1B - KM READ KEY
000180: 20 2D 20 47 65 74 20 61 20 6B 65 79 20 66 72 6F - Get a key fro
000190: 6D 20 74 68 65 20 6B 65 79 62 6F 61 72 64 20 62 m the keyboard b
0001A0: 75 66 66 65 72 0D 0D 20 20 20 20 20 45 6E 74 72 uffer.. Entr
0001B0: 79 3A 0D 0D 20 20 20 20 20 4E 6F 20 63 6F 6E 64 y:.. No cond
0001C0: 69 74 69 6F 6E 73 0D 0D 20 20 20 20 20 45 78 69 itions.. Exi
0001D0: 74 3A 0D 0D 20 20 20 20 20 4B 65 79 20 61 76 61 t:.. Key ava
0001E0: 69 6C 61 62 6C 65 3A 0D 0D 20 20 20 20 20 43 61 ilable:.. Ca
0001F0: 72 72 79 20 74 72 75 65 2E 20 41 20 3D 20 63 68 rry true. A = ch
Size : 512 (Real : 512)
000000: 6C 73 65 2E 20 41 20 63 6F 72 72 75 70 74 0D 0D lse. A corrupt..
000010: 20 20 20 20 20 4F 74 68 65 72 20 66 6C 61 67 73 Other flags
000020: 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 20 20 20 20 corrupt....
000030: 20 56 31 2E 30 20 61 6E 64 20 56 31 2E 31 0D 20 V1.0 and V1.1.
000040: 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ------------
000050: 2D 0D 0D 20 20 20 20 20 49 66 20 74 68 69 73 20 -.. If this
000060: 72 6F 75 74 69 6E 65 20 77 61 73 20 63 61 6C 6C routine was call
000070: 65 64 20 20 72 65 70 65 61 74 65 64 6C 79 20 20 ed repeatedly
000080: 75 6E 74 69 6C 20 20 69 74 20 20 72 65 70 6F 72 until it repor
000090: 74 73 20 74 68 65 72 65 20 69 73 20 6E 6F 0D 20 ts there is no.
0000A0: 20 20 20 20 63 68 61 72 61 63 74 65 72 20 69 74 character it
0000B0: 20 63 6F 75 6C 64 20 62 65 20 75 73 65 64 20 74 could be used t
0000C0: 6F 20 63 6F 6D 70 6C 65 74 65 6C 79 20 63 6C 65 o completely cle
0000D0: 61 72 20 74 68 65 20 6B 65 79 62 6F 61 72 64 20 ar the keyboard
0000E0: 62 75 66 66 65 72 2E 0D 0D 0D 20 20 20 20 20 26 buffer.... &
0000F0: 42 42 30 43 20 2D 20 4B 4D 20 43 48 41 52 20 52 BB0C - KM CHAR R
000100: 45 54 55 52 4E 20 2D 20 52 65 74 75 72 6E 20 61 ETURN - Return a
000110: 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 74 68 character to th
000120: 65 20 6B 65 79 62 6F 61 72 64 20 62 75 66 66 65 e keyboard buffe
000130: 72 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D r.. Entry:..
000140: 20 20 20 20 20 41 20 3D 20 63 68 61 72 61 63 74 A = charact
000150: 65 72 20 74 6F 20 70 75 74 20 62 61 63 6B 0D 0D er to put back..
000160: 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 Exit:..
000170: 20 41 6C 6C 20 72 65 67 69 73 74 65 72 73 20 70 All registers p
000180: 72 65 73 65 72 76 65 64 2E 0D 0D 20 20 20 20 20 reserved...
000190: 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 65 Notes:.. The
0001A0: 20 63 68 61 72 61 63 74 65 72 20 77 69 6C 6C 20 character will
0001B0: 20 62 65 20 20 70 75 74 20 20 62 61 63 6B 20 20 be put back
0001C0: 69 6E 74 6F 20 20 74 68 65 20 20 62 75 66 66 65 into the buffe
0001D0: 72 20 20 62 65 66 6F 72 65 20 61 6E 79 20 6F 74 r before any ot
0001E0: 68 65 72 0D 20 20 20 20 20 63 68 61 72 61 63 74 her. charact
0001F0: 65 72 20 69 73 20 67 65 6E 65 72 61 74 65 64 2E er is generated.
Size : 512 (Real : 512)
000000: 61 72 61 63 74 65 72 20 6F 72 20 74 6F 6B 65 6E aracter or token
000010: 0D 0D 20 20 20 20 20 4E 6F 20 6B 65 79 3A 0D 0D .. No key:..
000020: 20 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 Carry false
000030: 2E 0D 20 20 20 20 20 41 20 63 6F 72 72 75 70 74 .. A corrupt
000040: 2E 0D 0D 20 20 20 20 20 4F 74 68 65 72 20 66 6C ... Other fl
000050: 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 20 ags corrupt....
000060: 20 20 20 20 26 42 42 31 45 20 2D 20 4B 4D 20 54 &BB1E - KM T
000070: 45 53 54 20 4B 45 59 20 2D 20 54 65 73 74 20 6B EST KEY - Test k
000080: 65 79 20 68 61 73 20 62 65 65 6E 20 70 72 65 73 ey has been pres
000090: 73 65 64 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A sed.. Entry:
0000A0: 0D 0D 20 20 20 20 20 41 20 3D 20 6B 65 79 20 6E .. A = key n
0000B0: 75 6D 62 65 72 20 28 61 73 20 6F 6E 20 64 69 73 umber (as on dis
0000C0: 63 20 64 72 69 76 65 20 43 50 43 36 31 32 38 20 c drive CPC6128
0000D0: 6F 72 20 61 73 20 66 6F 75 6E 64 20 69 6E 20 62 or as found in b
0000E0: 61 73 69 63 20 6D 61 6E 75 61 6C 29 0D 0D 20 20 asic manual)..
0000F0: 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 4B Exit:.. K
000100: 65 79 20 70 72 65 73 73 65 64 3A 0D 0D 20 20 20 ey pressed:..
000110: 20 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0D 20 Zero false...
000120: 20 20 20 20 4B 65 79 20 6E 6F 74 20 70 72 65 73 Key not pres
000130: 73 65 64 3A 0D 0D 20 20 20 20 20 5A 65 72 6F 20 sed:.. Zero
000140: 74 72 75 65 2E 0D 0D 20 20 20 20 20 43 61 72 72 true... Carr
000150: 79 20 66 61 6C 73 65 2E 0D 20 20 20 20 20 43 20 y false.. C
000160: 3D 20 73 68 69 66 74 20 61 6E 64 20 63 6F 6E 74 = shift and cont
000170: 72 6F 6C 20 73 74 61 74 65 0D 0D 20 20 20 20 20 rol state..
000180: 42 49 54 20 37 20 20 31 3D 63 6F 6E 74 72 6F 6C BIT 7 1=control
000190: 20 6B 65 79 20 70 72 65 73 73 65 64 2C 20 30 3D key pressed, 0=
0001A0: 6E 6F 74 20 70 72 65 73 73 65 64 0D 20 20 20 20 not pressed.
0001B0: 20 42 49 54 20 35 20 20 31 3D 73 68 69 66 74 20 BIT 5 1=shift
0001C0: 6B 65 79 20 70 72 65 73 73 65 64 2C 20 30 3D 6E key pressed, 0=n
0001D0: 6F 74 20 70 72 65 73 73 65 64 0D 0D 20 20 20 20 ot pressed..
0001E0: 20 41 2C 48 4C 20 63 6F 72 72 75 70 74 2E 20 4F A,HL corrupt. O
0001F0: 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 72 75 ther flags corru
Size : 512 (Real : 512)
000000: 73 20 63 6F 72 72 75 70 74 2E 0D 0D 0D 0D 0D 0D s corrupt.......
000010: 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 .. Notes:..
000020: 20 20 20 20 53 65 65 20 4B 4D 20 53 45 54 20 54 See KM SET T
000030: 52 41 4E 53 4C 41 54 45 0D 0D 0D 20 20 20 20 20 RANSLATE...
000040: 26 42 42 33 33 20 2D 20 4B 4D 20 53 45 54 20 43 &BB33 - KM SET C
000050: 4F 4E 54 52 4F 4C 20 20 2D 20 53 65 74 20 65 6E ONTROL - Set en
000060: 74 72 79 20 69 6E 20 6B 65 79 20 74 72 61 6E 73 try in key trans
000070: 6C 61 74 69 6F 6E 20 74 61 62 6C 65 20 28 63 6F lation table (co
000080: 6E 74 72 6F 6C 29 0D 0D 20 20 20 20 20 45 6E 74 ntrol).. Ent
000090: 72 79 3A 0D 0D 20 20 20 20 20 41 20 3D 20 6B 65 ry:.. A = ke
0000A0: 79 20 6E 75 6D 62 65 72 0D 20 20 20 20 20 42 20 y number. B
0000B0: 3D 20 6E 65 77 20 74 72 61 6E 73 6C 61 74 69 6F = new translatio
0000C0: 6E 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 n.. Exit:..
0000D0: 20 20 20 20 41 46 20 61 6E 64 20 48 4C 20 63 6F AF and HL co
0000E0: 72 72 75 70 74 0D 0D 20 20 20 20 20 4E 6F 74 65 rrupt.. Note
0000F0: 73 3A 0D 0D 20 20 20 20 20 53 65 65 20 4B 4D 20 s:.. See KM
000100: 53 45 54 20 54 52 41 4E 53 4C 41 54 45 0D 0D 0D SET TRANSLATE...
000110: 20 20 20 20 20 26 42 42 33 36 20 2D 20 4B 4D 20 &BB36 - KM
000120: 47 45 54 20 43 4F 4E 54 52 4F 4C 20 2D 20 47 65 GET CONTROL - Ge
000130: 74 20 65 6E 74 72 79 20 66 72 6F 6D 20 74 72 61 t entry from tra
000140: 6E 73 6C 61 74 69 6F 6E 20 74 61 62 6C 65 20 28 nslation table (
000150: 63 6F 6E 74 72 6F 6C 29 0D 0D 20 20 20 20 20 45 control).. E
000160: 6E 74 72 79 3A 0D 0D 20 20 20 20 20 41 20 3D 20 ntry:.. A =
000170: 6B 65 79 20 6E 75 6D 62 65 72 0D 0D 20 20 20 20 key number..
000180: 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 20 3D Exit:.. A =
000190: 20 63 75 72 72 65 6E 74 20 74 72 61 6E 73 6C 61 current transla
0001A0: 74 69 6F 6E 0D 20 20 20 20 20 48 4C 20 61 6E 64 tion. HL and
0001B0: 20 66 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D flags corrupt..
0001C0: 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 . Notes:..
0001D0: 20 20 20 53 65 65 20 4B 4D 20 53 45 54 20 54 52 See KM SET TR
0001E0: 41 4E 53 4C 41 54 45 0D 0D 20 20 20 20 20 2D 2D ANSLATE.. --
0001F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
Size : 512 (Real : 512)
000000: 70 74 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A pt... Notes:
000010: 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 20 54 68 65 ........ The
000020: 20 6E 75 6D 62 65 72 20 69 73 20 6E 6F 74 20 20 number is not
000030: 63 68 65 63 6B 65 64 2E 20 20 54 68 69 73 20 20 checked. This
000040: 75 73 65 73 20 20 74 68 65 20 6B 65 79 62 6F 61 uses the keyboa
000050: 72 64 20 73 63 61 6E 6E 69 6E 67 20 72 6F 75 74 rd scanning rout
000060: 69 6E 65 0D 20 20 20 20 20 77 68 69 63 68 20 72 ine. which r
000070: 75 6E 73 20 65 76 65 72 79 20 35 30 74 68 20 6F uns every 50th o
000080: 66 20 61 20 73 65 63 6F 6E 64 2E 0D 0D 0D 20 20 f a second....
000090: 20 20 20 26 42 42 32 31 20 2D 20 4B 4D 20 47 45 &BB21 - KM GE
0000A0: 54 20 53 54 41 54 45 20 2D 20 47 65 74 20 73 68 T STATE - Get sh
0000B0: 69 66 74 20 6C 6F 63 6B 20 61 6E 64 20 63 61 70 ift lock and cap
0000C0: 73 20 6C 6F 63 6B 20 73 74 61 74 65 73 0D 0D 20 s lock states..
0000D0: 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 Entry:..
0000E0: 20 4E 6F 6E 65 2E 0D 0D 20 20 20 20 20 45 78 69 None... Exi
0000F0: 74 3A 0D 0D 20 20 20 20 20 4C 20 3D 20 73 68 69 t:.. L = shi
000100: 66 74 20 6C 6F 63 6B 20 73 74 61 74 65 20 28 26 ft lock state (&
000110: 30 30 20 3D 20 6F 66 66 2C 20 26 46 46 20 3D 20 00 = off, &FF =
000120: 6F 6E 29 0D 20 20 20 20 20 48 20 3D 20 63 61 70 on). H = cap
000130: 73 20 6C 6F 63 6B 20 73 74 61 74 65 0D 20 20 20 s lock state.
000140: 20 20 41 46 20 63 6F 72 72 75 70 74 2E 0D 0D 20 AF corrupt...
000150: 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 Notes:..
000160: 20 54 68 65 20 64 65 66 61 75 6C 74 20 73 74 61 The default sta
000170: 74 65 20 69 73 20 6F 66 66 2E 0D 0D 0D 20 20 20 te is off....
000180: 20 20 26 42 42 32 34 20 2D 20 4B 4D 20 47 45 54 &BB24 - KM GET
000190: 20 4A 4F 59 53 54 49 43 4B 20 2D 20 47 65 74 20 JOYSTICK - Get
0001A0: 73 74 61 74 65 73 20 6F 66 20 62 6F 74 68 20 6A states of both j
0001B0: 6F 79 73 74 69 63 6B 73 0D 0D 20 20 20 20 20 45 oysticks.. E
0001C0: 6E 74 72 79 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 ntry:.. None
0001D0: 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 .. Exit:..
0001E0: 20 20 20 48 2C 41 20 3D 20 73 74 61 74 65 20 6F H,A = state o
0001F0: 66 20 6A 6F 79 73 74 69 63 6B 20 30 0D 20 20 20 f joystick 0.
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 42 33 39 20 ---.. &BB39
000040: 2D 20 4B 4D 20 53 45 54 20 52 45 50 45 41 54 20 - KM SET REPEAT
000050: 2D 20 53 65 74 20 77 68 65 74 68 65 72 20 61 20 - Set whether a
000060: 6B 65 79 20 69 73 20 61 6C 6C 6F 77 65 64 20 74 key is allowed t
000070: 6F 20 72 65 70 65 61 74 0D 0D 20 20 20 20 20 45 o repeat.. E
000080: 6E 74 72 79 3A 0D 0D 20 20 20 20 20 41 20 3D 20 ntry:.. A =
000090: 6B 65 79 20 6E 75 6D 62 65 72 0D 20 20 20 20 20 key number.
0000A0: 42 20 3D 20 72 65 70 65 61 74 20 62 79 74 65 20 B = repeat byte
0000B0: 28 26 46 46 20 3D 20 61 6C 6C 6F 77 65 64 20 74 (&FF = allowed t
0000C0: 6F 20 72 65 70 65 61 74 2C 20 26 30 20 3D 20 6E o repeat, &0 = n
0000D0: 6F 74 20 61 6C 6C 6F 77 65 64 20 74 6F 20 72 65 ot allowed to re
0000E0: 70 65 61 74 29 0D 0D 20 20 20 20 20 45 78 69 74 peat).. Exit
0000F0: 3A 0D 0D 20 20 20 20 20 41 46 2C 42 43 2C 48 4C :.. AF,BC,HL
000100: 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 corrupt...
000110: 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 49 66 20 Notes:.. If
000120: 6B 65 79 20 6E 75 6D 62 65 72 20 69 73 20 67 72 key number is gr
000130: 65 61 74 65 72 20 74 68 61 6E 20 37 39 20 6E 6F eater than 79 no
000140: 20 61 63 74 69 6F 6E 20 69 73 20 74 61 6B 65 6E action is taken
000150: 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D ... --------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 -------------..
0001A0: 20 20 20 20 26 42 42 33 43 20 2D 20 4B 4D 20 47 &BB3C - KM G
0001B0: 45 54 20 52 45 50 45 41 54 20 2D 20 41 73 6B 20 ET REPEAT - Ask
0001C0: 69 66 20 61 20 6B 65 79 20 69 73 20 61 6C 6C 6F if a key is allo
0001D0: 77 65 64 20 74 6F 20 72 65 70 65 61 74 2E 0D 0D wed to repeat...
0001E0: 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 0D 0D 0D Entry:.....
0001F0: 0D 0D 0D 20 20 20 20 20 41 20 3D 20 6B 65 79 20 ... A = key
Size : 512 (Real : 512)
000000: 20 20 4C 20 3D 20 73 74 61 74 65 20 6F 66 20 6A L = state of j
000010: 6F 79 73 74 69 63 6B 20 31 0D 20 20 20 20 20 46 oystick 1. F
000020: 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0D 20 lags corrupt...
000030: 20 20 20 20 54 68 65 20 62 69 74 73 20 61 72 65 The bits are
000040: 20 73 65 74 20 61 73 20 62 65 6C 6F 77 3A 0D 0D set as below:..
000050: 20 20 20 20 20 42 69 74 20 30 20 2D 20 55 70 0D Bit 0 - Up.
000060: 20 20 20 20 20 42 69 74 20 31 20 2D 20 44 6F 77 Bit 1 - Dow
000070: 6E 0D 20 20 20 20 20 42 69 74 20 32 20 2D 20 4C n. Bit 2 - L
000080: 65 66 74 0D 20 20 20 20 20 42 69 74 20 33 20 2D eft. Bit 3 -
000090: 20 52 69 67 68 74 0D 20 20 20 20 20 42 69 74 20 Right. Bit
0000A0: 34 20 2D 20 46 69 72 65 20 32 0D 20 20 20 20 20 4 - Fire 2.
0000B0: 42 69 74 20 35 20 2D 20 46 69 72 65 20 31 0D 20 Bit 5 - Fire 1.
0000C0: 20 20 20 20 42 69 74 20 36 20 2D 20 53 70 61 72 Bit 6 - Spar
0000D0: 65 20 6A 6F 79 73 74 69 63 6B 20 62 75 74 74 6F e joystick butto
0000E0: 6E 0D 20 20 20 20 20 42 69 74 20 37 20 2D 20 7A n. Bit 7 - z
0000F0: 65 72 6F 0D 0D 20 20 20 20 20 49 66 20 61 20 70 ero.. If a p
000100: 61 72 74 69 63 75 6C 61 72 20 62 69 74 20 69 73 articular bit is
000110: 20 73 65 74 20 74 68 65 6E 20 74 68 61 74 20 62 set then that b
000120: 75 74 74 6F 6E 20 68 61 73 20 62 65 65 6E 20 70 utton has been p
000130: 72 65 73 73 65 64 2E 0D 0D 0D 20 20 20 20 20 26 ressed.... &
000140: 42 42 32 37 20 2D 20 4B 4D 20 53 45 54 20 54 52 BB27 - KM SET TR
000150: 41 4E 53 4C 41 54 45 20 2D 20 53 65 74 20 61 6E ANSLATE - Set an
000160: 20 65 6E 74 72 79 20 69 6E 20 74 68 65 20 6B 65 entry in the ke
000170: 79 20 74 72 61 6E 73 6C 61 74 69 6F 6E 20 74 61 y translation ta
000180: 62 6C 65 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A ble.. Entry:
000190: 0D 0D 20 20 20 20 20 41 20 3D 20 6B 65 79 20 6E .. A = key n
0001A0: 75 6D 62 65 72 0D 20 20 20 20 20 42 20 3D 20 6E umber. B = n
0001B0: 65 77 20 74 72 61 6E 73 6C 61 74 69 6F 6E 0D 0D ew translation..
0001C0: 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 Exit:..
0001D0: 20 41 46 2C 48 4C 20 63 6F 72 72 75 70 74 2E 0D AF,HL corrupt..
0001E0: 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 0D 0D . Notes:....
0001F0: 0D 0D 0D 0D 20 20 20 20 20 49 66 20 74 68 65 20 .... If the
Size : 512 (Real : 512)
000000: 6E 75 6D 62 65 72 0D 0D 20 20 20 20 20 45 78 69 number.. Exi
000010: 74 3A 0D 0D 20 20 20 20 20 49 66 20 6B 65 79 20 t:.. If key
000020: 61 6C 6C 6F 77 65 64 20 74 6F 20 72 65 70 65 61 allowed to repea
000030: 74 3A 0D 0D 20 20 20 20 20 5A 65 72 6F 20 66 61 t:.. Zero fa
000040: 6C 73 65 2E 0D 0D 20 20 20 20 20 49 66 20 6B 65 lse... If ke
000050: 79 20 6E 6F 74 20 61 6C 6C 6F 77 65 64 20 74 6F y not allowed to
000060: 20 72 65 70 65 61 74 3A 0D 0D 20 20 20 20 20 5A repeat:.. Z
000070: 65 72 6F 20 74 72 75 65 2E 0D 0D 20 20 20 20 20 ero true...
000080: 43 61 72 72 79 20 66 61 6C 73 65 2E 20 41 2C 48 Carry false. A,H
000090: 4C 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 L and other flag
0000A0: 73 20 63 6F 72 72 75 70 74 2E 20 41 6C 6C 20 6F s corrupt. All o
0000B0: 74 68 65 72 73 20 4F 4B 2E 0D 0D 20 20 20 20 20 thers OK...
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000100: 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 42 33 -----.. &BB3
000110: 46 20 2D 20 4B 4D 20 53 45 54 20 44 45 4C 41 59 F - KM SET DELAY
000120: 20 2D 20 53 65 74 20 64 65 6C 61 79 20 61 6E 64 - Set delay and
000130: 20 72 65 70 65 61 74 20 73 70 65 65 64 73 0D 0D repeat speeds..
000140: 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 20 20 Entry:..
000150: 20 20 48 20 3D 20 73 74 61 72 74 20 75 70 20 64 H = start up d
000160: 65 6C 61 79 0D 20 20 20 20 20 4C 20 3D 20 6E 65 elay. L = ne
000170: 77 20 72 65 70 65 61 74 20 73 70 65 65 64 0D 0D w repeat speed..
000180: 20 20 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 Exit:..
000190: 20 41 46 20 63 6F 72 72 75 70 74 2E 0D 0D 20 20 AF corrupt...
0001A0: 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 Notes:..
0001B0: 54 68 65 20 64 65 6C 61 79 73 20 61 72 65 20 67 The delays are g
0001C0: 69 76 65 6E 20 69 6E 20 20 6B 65 79 62 6F 61 72 iven in keyboar
0001D0: 64 20 20 73 63 61 6E 73 20 20 77 68 69 63 68 20 d scans which
0001E0: 20 6F 63 63 75 72 20 65 76 65 72 79 20 35 30 74 occur every 50t
0001F0: 68 20 6F 66 20 61 0D 20 20 20 20 20 73 65 63 6F h of a. seco
Size : 512 (Real : 512)
000000: 6B 65 79 20 6E 75 6D 62 65 72 20 69 73 20 67 72 key number is gr
000010: 65 61 74 65 72 20 74 68 61 6E 20 37 39 20 74 68 eater than 79 th
000020: 65 6E 20 6E 6F 20 61 63 74 69 6F 6E 20 69 73 20 en no action is
000030: 74 61 6B 65 6E 2E 0D 0D 20 20 20 20 20 26 38 30 taken... &80
000040: 2D 26 39 46 20 20 20 45 78 70 61 6E 73 69 6F 6E -&9F Expansion
000050: 20 74 6F 6B 65 6E 73 20 20 77 68 69 63 68 20 20 tokens which
000060: 61 72 65 20 20 65 78 70 61 6E 64 65 64 20 20 74 are expanded t
000070: 6F 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 o character stri
000080: 6E 67 73 0D 20 20 20 20 20 77 68 65 6E 20 4B 4D ngs. when KM
000090: 20 52 45 41 44 20 43 48 41 52 20 61 6E 64 20 4B READ CHAR and K
0000A0: 4D 20 57 41 49 54 20 43 48 41 52 20 61 72 65 20 M WAIT CHAR are
0000B0: 65 78 65 63 75 74 65 64 2E 0D 0D 20 20 20 20 20 executed...
0000C0: 26 46 44 20 20 20 20 20 20 20 63 61 70 73 20 6C &FD caps l
0000D0: 6F 63 6B 20 74 6F 6B 65 6E 2E 0D 0D 20 20 20 20 ock token...
0000E0: 20 26 46 45 20 20 20 20 20 20 20 53 68 69 66 74 &FE Shift
0000F0: 20 6C 6F 63 6B 20 74 6F 6B 65 6E 2E 0D 0D 20 20 lock token...
000100: 20 20 20 26 46 46 20 20 20 20 20 20 20 49 67 6E &FF Ign
000110: 6F 72 65 20 74 6F 6B 65 6E 2E 20 28 54 68 72 6F ore token. (Thro
000120: 77 20 6B 65 79 20 61 77 61 79 29 0D 0D 20 20 20 w key away)..
000130: 20 20 26 45 30 2D 26 46 43 20 61 72 65 20 73 70 &E0-&FC are sp
000140: 65 63 69 61 6C 20 74 6F 6B 65 6E 73 20 66 6F 72 ecial tokens for
000150: 20 65 64 69 74 69 6E 67 20 69 6E 20 42 41 53 49 editing in BASI
000160: 43 20 65 74 63 2E 0D 0D 0D 20 20 20 20 20 26 42 C etc.... &B
000170: 42 32 41 20 2D 20 4B 4D 20 47 45 54 20 54 52 41 B2A - KM GET TRA
000180: 4E 53 4C 41 54 45 20 2D 20 47 65 74 20 61 6E 20 NSLATE - Get an
000190: 65 6E 74 72 79 20 66 72 6F 6D 20 6B 65 79 20 74 entry from key t
0001A0: 72 61 6E 73 6C 61 74 69 6F 6E 20 74 61 62 6C 65 ranslation table
0001B0: 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 28 6E 6F 72 6D 61 6C 29 0D 0D 20 20 20 20 20 (normal)..
0001E0: 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 41 20 3D Entry:.. A =
0001F0: 20 6B 65 79 20 6E 75 6D 62 65 72 0D 0D 20 20 20 key number..
Size : 512 (Real : 512)
000000: 6E 64 2E 20 41 20 64 65 6C 61 79 20 6F 72 20 73 nd. A delay or s
000010: 70 65 65 64 20 6F 66 20 30 20 69 73 20 74 61 6B peed of 0 is tak
000020: 65 6E 20 74 6F 20 6D 65 61 6E 20 32 35 36 2E 0D en to mean 256..
000030: 0D 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6C . The defaul
000040: 74 20 64 65 6C 61 79 20 69 73 20 33 30 20 73 63 t delay is 30 sc
000050: 61 6E 73 20 61 6E 64 20 74 68 65 20 64 65 66 61 ans and the defa
000060: 75 6C 74 20 73 70 65 65 64 20 69 73 20 32 20 73 ult speed is 2 s
000070: 63 61 6E 73 2E 0D 0D 20 20 20 20 20 54 68 65 20 cans... The
000080: 64 65 6C 61 79 20 6F 72 20 73 70 65 65 64 20 76 delay or speed v
000090: 61 6C 75 65 73 20 6F 6E 6C 79 20 61 70 70 6C 79 alues only apply
0000A0: 20 74 6F 20 6B 65 79 73 20 74 68 61 74 20 61 72 to keys that ar
0000B0: 65 20 73 65 74 20 74 6F 20 72 65 70 65 61 74 2E e set to repeat.
0000C0: 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D .. ---------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000100: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 ------------..
000110: 20 20 20 26 42 42 34 32 20 2D 20 4B 4D 20 47 45 &BB42 - KM GE
000120: 54 20 44 45 4C 41 59 20 2D 20 47 65 74 20 64 65 T DELAY - Get de
000130: 6C 61 79 20 61 6E 64 20 72 65 70 65 61 74 20 73 lay and repeat s
000140: 70 65 65 64 73 0D 0D 20 20 20 20 20 45 6E 74 72 peeds.. Entr
000150: 79 3A 0D 0D 20 20 20 20 20 4E 6F 6E 65 2E 0D 0D y:.. None...
000160: 20 20 20 20 20 45 78 69 74 3A 0D 20 20 20 20 20 Exit:.
000170: 48 20 3D 20 73 74 61 72 74 20 75 70 20 73 70 65 H = start up spe
000180: 65 64 0D 20 20 20 20 20 4C 20 3D 20 72 65 70 65 ed. L = repe
000190: 61 74 20 73 70 65 65 64 0D 0D 20 20 20 20 20 41 at speed.. A
0001A0: 46 20 63 6F 72 72 75 70 74 0D 0D 20 20 20 20 20 F corrupt..
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001F0: 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 26 42 42 34 -----.. &BB4
Size : 512 (Real : 512)
000000: 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 20 Exit:.. A
000010: 3D 20 63 75 72 72 65 6E 74 20 74 72 61 6E 73 6C = current transl
000020: 61 74 69 6F 6E 0D 0D 20 20 20 20 20 48 4C 20 61 ation.. HL a
000030: 6E 64 20 66 6C 61 67 73 20 63 6F 72 72 75 70 74 nd flags corrupt
000040: 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D ... Notes:..
000050: 20 20 20 20 20 53 65 65 20 4B 4D 20 53 45 54 20 See KM SET
000060: 54 52 41 4E 53 4C 41 54 45 0D 0D 0D 20 20 20 20 TRANSLATE...
000070: 20 26 42 42 32 44 20 2D 20 4B 4D 20 53 45 54 20 &BB2D - KM SET
000080: 53 48 49 46 54 20 2D 20 47 65 74 20 61 6E 20 65 SHIFT - Get an e
000090: 6E 74 72 79 20 66 72 6F 6D 20 74 72 61 6E 73 6C ntry from transl
0000A0: 61 74 69 6F 6E 20 74 61 62 6C 65 0D 20 20 20 20 ation table.
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 20 20 20 20 20 20 28 53 68 69 66 74 65 64 (Shifted
0000D0: 29 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D ).. Entry:..
0000E0: 20 20 20 20 20 41 20 3D 20 6B 65 79 20 6E 75 6D A = key num
0000F0: 62 65 72 0D 20 20 20 20 20 42 20 3D 20 6E 65 77 ber. B = new
000100: 20 74 72 61 6E 73 6C 61 74 69 6F 6E 0D 0D 20 20 translation..
000110: 20 20 20 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 Exit:.. A
000120: 46 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 F and HL corrupt
000130: 2E 0D 0D 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D ... Notes:..
000140: 20 20 20 20 20 53 65 65 20 4B 4D 20 53 45 54 20 See KM SET
000150: 54 52 41 4E 53 4C 41 54 45 0D 0D 0D 20 20 20 20 TRANSLATE...
000160: 20 26 42 42 33 30 20 2D 20 4B 4D 20 47 45 54 20 &BB30 - KM GET
000170: 53 48 49 46 54 20 2D 20 47 65 74 20 65 6E 74 72 SHIFT - Get entr
000180: 79 20 66 72 6F 6D 20 74 72 61 6E 73 6C 61 74 69 y from translati
000190: 6F 6E 20 74 61 62 6C 65 20 28 73 68 69 66 74 65 on table (shifte
0001A0: 64 29 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D d).. Entry:.
0001B0: 0D 20 20 20 20 20 41 20 3D 20 6B 65 79 20 6E 75 . A = key nu
0001C0: 6D 62 65 72 0D 0D 20 20 20 20 20 45 78 69 74 3A mber.. Exit:
0001D0: 0D 0D 20 20 20 20 20 41 20 3D 20 63 75 72 72 65 .. A = curre
0001E0: 6E 74 20 74 72 61 6E 73 6C 61 74 69 6F 6E 0D 0D nt translation..
0001F0: 20 20 20 20 20 48 4C 20 61 6E 64 20 66 6C 61 67 HL and flag
Size : 512 (Real : 512)
000000: 35 20 2D 20 4B 4D 20 41 52 4D 20 42 52 45 41 4B 5 - KM ARM BREAK
000010: 53 20 2D 20 41 6C 6C 6F 77 20 62 72 65 61 6B 20 S - Allow break
000020: 65 76 65 6E 74 73 20 74 6F 20 62 65 20 67 65 6E events to be gen
000030: 65 72 61 74 65 64 0D 0D 20 20 20 20 20 45 6E 74 erated.. Ent
000040: 72 79 3A 0D 0D 20 20 20 20 20 44 45 20 3D 20 61 ry:.. DE = a
000050: 64 64 72 65 73 73 20 6F 66 20 62 72 65 61 6B 20 ddress of break
000060: 65 76 65 6E 74 0D 20 20 20 20 20 43 20 3D 20 52 event. C = R
000070: 6F 6D 20 73 65 6C 65 63 74 20 61 64 64 72 65 73 om select addres
000080: 73 20 66 6F 72 20 72 6F 75 74 69 6E 65 0D 0D 20 s for routine..
000090: 20 20 20 20 45 78 69 74 3A 20 41 46 2C 42 43 2C Exit: AF,BC,
0000A0: 44 45 2C 48 4C 20 63 6F 72 72 75 70 74 2E 20 41 DE,HL corrupt. A
0000B0: 6C 6C 20 6F 74 68 65 72 73 20 70 72 65 73 65 72 ll others preser
0000C0: 76 65 64 2E 0D 0D 0D 0D 0D 0D 0D 0D 20 20 20 20 ved.........
0000D0: 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 20 20 54 68 Notes:.. Th
0000E0: 69 73 20 72 6F 75 74 69 6E 65 20 65 6E 61 62 6C is routine enabl
0000F0: 65 73 20 69 6E 74 65 72 75 70 74 73 2E 0D 0D 20 es interupts...
000100: 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ------------
000110: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000120: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000130: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 ---------..
000150: 26 42 42 34 38 20 2D 20 4B 4D 20 44 49 53 41 52 &BB48 - KM DISAR
000160: 4D 20 42 52 45 41 4B 20 2D 20 53 74 6F 70 20 62 M BREAK - Stop b
000170: 72 65 61 6B 20 65 76 65 6E 74 73 20 66 72 6F 6D reak events from
000180: 20 62 65 69 6E 67 20 67 65 6E 65 72 61 74 65 64 being generated
000190: 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 .. Entry:..
0001A0: 20 20 20 20 4E 6F 6E 65 2E 0D 0D 20 20 20 20 20 None...
0001B0: 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 46 20 61 Exit:.. AF a
0001C0: 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0D nd HL corrupt...
0001D0: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 Notes:..
0001E0: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 65 This routine e
0001F0: 6E 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 73 nables interupts
Size : 512 (Real : 512)
000000: 20 1E EA 01 00 2F 00 D2 00 20 20 D6 20 FE 20 FF ..../... . . .
000010: 40 01 A6 20 A3 23 17 2C 0C 00 00 F3 5B 0B 00 00 @.. .#.,....[...
000020: 6E F3 5D 01 0B 00 00 6E F3 EF 0B 00 00 6E F3 F4 n.]....n.....n..
000030: 0F 01 D5 00 16 00 DC 00 20 20 88 01 0B 00 00 6E ........ .....n
000040: F2 EF 0B 00 00 6E F2 F4 0F 00 18 00 E6 00 B0 01 .....n..........
000050: 0B 00 00 6E E6 5B 0B 00 00 EE 5D EF 0B 00 00 6E ...n.[....]....n
000060: F3 00 1E 00 F0 00 BF 22 1A 22 FF 03 28 0E 29 22 ......."."..(.)"
000070: 4F 22 FF 03 28 0E 29 22 18 1F 01 18 14 22 3B 00 O"..(.)".....";.
000080: 54 00 FA 00 A1 20 0B 00 00 6E F2 EF 0E 20 EB 20 T.... ...n... .
000090: BF 22 49 20 6B 6E 65 77 20 74 68 69 73 20 61 74 ."I knew this at
0000A0: 74 65 6D 70 74 20 77 6F 75 6C 64 20 62 65 20 61 tempt would be a
0000B0: 6E 20 6F 75 74 73 74 61 6E 64 69 6E 67 20 73 75 n outstanding su
0000C0: 63 63 65 73 73 2E 22 01 83 20 1C 06 BB 01 A0 20 ccess.".. .....
0000D0: 1E 86 01 00 B7 00 04 01 BF 22 55 73 65 20 F0 20 ........."Use .
0000E0: 61 6E 64 20 F1 20 74 6F 20 73 63 72 6F 6C 6C 20 and . to scroll
0000F0: 74 68 65 20 74 65 78 74 2C 20 5B 43 4F 4E 54 52 the text, [CONTR
000100: 4F 4C 5D 20 F0 20 61 6E 64 20 F1 20 74 6F 20 73 OL] . and . to s
000110: 6B 69 70 20 74 6F 20 70 72 65 76 69 6F 75 73 2F kip to previous/
000120: 6E 65 78 74 20 66 69 6C 65 2C 5B 53 50 41 43 45 next file,[SPACE
000130: 5D 20 74 6F 20 72 65 62 75 69 6C 64 20 73 63 72 ] to rebuild scr
000140: 65 65 6E 20 61 6E 64 20 5B 52 45 54 55 52 4E 5D een and [RETURN]
000150: 20 74 6F 20 66 69 6E 69 73 68 2E 20 50 72 65 73 to finish. Pres
000160: 73 20 61 6E 79 20 6B 65 79 20 74 6F 20 73 74 61 s any key to sta
000170: 72 74 21 22 01 83 20 1C 06 BB 01 0C 00 00 F3 EF rt!".. .........
000180: 22 20 22 01 0B 00 00 EE EF 0E 00 12 00 0E 01 D6 " ".............
000190: 20 0C 00 00 F3 F2 FF 03 28 19 0D 29 00 3A 00 18 .......(..).:..
0001A0: 01 20 20 B2 20 FF 74 28 22 40 20 F0 F1 F8 F9 22 . . .t("@ ...."
0001B0: 2C 0C 00 00 F3 29 F4 0F 20 A0 20 1E 72 01 2C 1E ,....).. . .r.,.
0001C0: 72 01 2C 1E 40 01 2C 1E 54 01 2C 1E 68 01 2C 1E r.,.@.,.T.,.h.,.
0001D0: 22 01 2C 1E 36 01 00 4E 00 22 01 20 20 20 20 0B ".,.6..N.". .
0001E0: 00 00 E6 EF 0B 00 00 6E E6 01 D6 20 0B 00 00 E6 .......n... ....
0001F0: EE 0F 20 FA 20 0B 00 00 6E E6 5B 0B 00 00 E6 5D .. . ...n.[....]
Size : 512 (Real : 512)
000000: 2E 0D 0D 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D ... --------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 -------------..
000050: 20 20 20 20 26 42 42 34 42 20 2D 20 4B 4D 20 42 &BB4B - KM B
000060: 52 45 41 4B 20 45 56 45 4E 54 0D 0D 20 20 20 20 REAK EVENT..
000070: 20 45 6E 74 72 79 3A 0D 0D 20 20 20 20 20 4E 6F Entry:.. No
000080: 6E 65 0D 0D 20 20 20 20 20 45 78 69 74 3A 0D 0D ne.. Exit:..
000090: 20 20 20 20 20 41 46 20 61 6E 64 20 48 4C 20 63 AF and HL c
0000A0: 6F 72 72 75 70 74 2E 0D 0D 20 20 20 20 20 2D 2D orrupt... --
0000B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0000F0: 2D 2D 2D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D ---.............
000100: 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D ................
000110: 0D 1A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ..--------------
000120: 2D 2D 2D 2D 0D 1A 00 00 00 00 00 00 00 1A 35 33 ----..........53
000130: 7C 0D 09 20 20 2B 2D 2D 2D 2B 2D 2D 2D 2B 0D 0D |.. +---+---+..
000140: 1A 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 20 20 . | | |
000150: 7C 20 20 20 7C 20 20 20 7C 20 20 1A 00 00 00 00 | | | .....
000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000180: 20 62 65 69 6E 67 20 67 65 6E 65 72 61 74 65 64 being generated
000190: 0D 0D 20 20 20 20 20 45 6E 74 72 79 3A 0D 0D 20 .. Entry:..
0001A0: 20 20 20 20 4E 6F 6E 65 2E 0D 0D 20 20 20 20 20 None...
0001B0: 45 78 69 74 3A 0D 0D 20 20 20 20 20 41 46 20 61 Exit:.. AF a
0001C0: 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0D nd HL corrupt...
0001D0: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0D 20 20 20 Notes:..
0001E0: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 65 This routine e
0001F0: 6E 61 62 6C 65 73 20 69 6E 74 65 72 75 70 74 73 nables interupts
Size : 512 (Real : 512)
000000: F0 0B 00 00 EE 01 0B 00 00 E6 EF 0B 00 00 E6 F5 ................
000010: 0F 01 D5 01 0B 00 00 EE EF 0B 00 00 6E E6 5B 0B ............n.[.
000020: 00 00 E6 5D 00 0C 00 2C 01 20 20 A0 20 1E 40 01 ...]...,. . .@.
000030: 00 54 00 36 01 20 20 20 20 0B 00 00 E6 EF 0B 00 .T.6. .......
000040: 00 6E E6 01 D6 20 0B 00 00 6E E6 5B 0B 00 00 E6 .n... ...n.[....
000050: 5D EE 0B 00 00 EE 01 0B 00 00 E6 EF 0B 00 00 E6 ]...............
000060: F5 0F 01 D5 01 0B 00 00 EE EF FF 77 28 0B 00 00 ...........w(...
000070: 6E E6 5B 0B 00 00 E6 F4 0F 5D 2C 0B 00 00 6E F3 n.[......],...n.
000080: F5 19 19 29 00 43 00 40 01 20 20 20 20 9F 20 1E ...).C.@. . .
000090: B8 01 01 9E 20 0B 00 00 E9 EF 0E 20 EC 20 19 18 .... ...... . ..
0000A0: 01 A9 20 0F 2C 0B 00 00 E9 F4 0F 01 83 20 0B 00 .. .,........ ..
0000B0: 00 70 72 F4 2C 40 0C 00 00 F3 5B 0B 00 00 E9 F4 .pr.,@....[.....
0000C0: 0B 00 00 EE 5D 01 B0 00 0C 00 4A 01 20 20 A0 20 ....].....J. .
0000D0: 1E 72 01 00 3E 00 54 01 20 20 20 20 A1 20 0B 00 .r..>.T. . ..
0000E0: 00 EE EE 0E 20 EB 20 0B 00 00 EE EF 0B 00 00 EE .... . .........
0000F0: F5 0F 01 BF 22 1F 01 FF 20 08 22 3B 01 83 20 0B ...."... .";.. .
000100: 00 00 70 72 F4 2C 40 0C 00 00 F3 5B 0B 00 00 EE ..pr.,@....[....
000110: 5D 00 0C 00 5E 01 20 20 A0 20 1E 72 01 00 48 00 ]...^. . .r..H.
000120: 68 01 20 20 20 20 A1 20 0B 00 00 EE F1 0B 00 00 h. . ........
000130: 6E F3 F5 19 19 20 EB 20 0B 00 00 EE EF 0B 00 00 n.... . ........
000140: EE F4 0F 01 BF 22 1F 01 1A 20 08 22 3B 01 83 20 ....."... .";..
000150: 0B 00 00 70 72 F4 2C 40 0C 00 00 F3 5B 0B 00 00 ...pr.,@....[...
000160: EE F4 19 18 5D 00 0E 00 72 01 20 20 0C 00 00 F3 ....]...r. ....
000170: EF FF 43 00 06 00 7C 01 D5 00 1D 00 86 01 9F 20 ..C...|........
000180: 1E B8 01 01 BF 22 1F 01 17 42 79 65 20 64 61 72 ....."...Bye dar
000190: 6C 69 6E 67 21 22 00 08 00 90 01 86 01 98 00 CE ling!"..........
0001A0: 00 9A 01 0C 00 00 F3 EF 22 33 44 43 30 44 44 36 ........"3DC0DD6
0001B0: 45 30 30 44 44 36 36 30 31 41 46 42 36 43 38 34 E00DD6601AFB6C84
0001C0: 37 32 33 35 45 32 33 35 36 43 44 37 38 42 42 32 7235E2356CD78BB2
0001D0: 44 32 35 45 42 37 45 32 33 46 45 46 46 32 30 30 D25EB7E23FEFF200
0001E0: 38 37 45 32 33 30 35 43 38 45 36 37 46 31 38 30 87E2305C8E67F180
0001F0: 43 45 36 37 46 46 45 30 39 32 30 30 41 37 41 45 CE67FFE09200A7AE
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 36 30 37 44 36 30 39 32 46 38 32 35 37 31 38 32 607D6092F8257182
000010: 36 46 45 32 30 32 38 32 31 43 35 44 35 45 35 46 6FE202821C5D5E5F
000020: 33 30 31 38 41 37 46 45 44 34 39 43 44 44 45 41 3018A7FED49CDDEA
000030: 44 45 42 43 44 44 45 41 44 30 31 30 30 30 38 31 DEBCDDEAD0100081
000040: 41 31 33 37 37 30 39 33 30 46 41 44 39 45 44 34 A13770930FAD9ED4
000050: 39 44 39 46 42 45 31 44 31 43 31 31 34 37 41 46 9D9FBE1D1C1147AF
000060: 45 35 30 44 30 31 30 42 36 43 39 22 00 2E 00 A4 E50D010B6C9"....
000070: 01 83 20 1C 4E BB 01 83 20 1C FF BB 01 0B 00 00 .. .N... .......
000080: E1 EF 1C A6 BB 01 9F 20 1E C2 01 01 0B 00 00 E1 ....... ........
000090: EF 1C 1B BC 01 9F 20 1E C2 01 00 3E 00 AE 01 9E ...... ....>....
0000A0: 20 0B 00 00 E9 EF 0E 20 EC 20 1C 60 00 01 BE 20 ...... . .`...
0000B0: 0B 00 00 70 72 F4 F4 0B 00 00 E9 2C FF 1D 28 22 ...pr......,..("
0000C0: 26 22 F4 AC 28 0C 00 00 F3 2C 0B 00 00 E9 F6 10 &"..(....,......
0000D0: F4 0F 2C 10 29 29 01 B0 00 1B 00 B8 01 AD 20 10 ..,.))........ .
0000E0: 01 A2 20 0E 2C 0E 01 A2 20 0F 2C 19 1A 01 82 20 .. .,... .,....
0000F0: 0E 01 C9 00 41 00 C2 01 AC 28 0C 00 00 F3 2C FF ....A....(....,.
000100: 74 28 0C 00 00 F3 2C 22 44 45 41 44 22 29 29 EF t(....,"DEAD")).
000110: FF 73 28 FF 12 28 0B 00 00 E1 29 2C 10 29 F4 FF .s(..(....),.)..
000120: 73 28 FF 12 28 0B 00 00 E1 F4 0F 29 FA 20 1C 3F s(..(......). .?
000130: 00 2C 10 29 00 06 00 CC 01 C9 00 2E 00 D6 01 A1 .,.)............
000140: 20 FF 41 EF 19 20 20 EB 20 0C 00 00 F3 EF 22 46 .A.. . ....."F
000150: 69 6C 65 20 64 6F 65 73 6E 27 74 20 65 78 69 73 ile doesn't exis
000160: 74 22 01 A0 20 1E 1C 02 00 2D 00 E0 01 A1 20 FF t".. ....-.... .
000170: 41 EF 19 19 20 EB 20 0C 00 00 F3 EF 22 46 69 6C A... . ....."Fil
000180: 65 20 69 73 20 6E 6F 74 20 41 53 43 49 49 22 01 e is not ASCII".
000190: A0 20 1E 1C 02 00 2B 00 EA 01 A1 20 FF 41 EF 19 . ....+.... .A..
0001A0: 20 20 EB 20 0D 00 00 F3 EF 22 46 69 6C 65 20 72 . ....."File r
0001B0: 65 61 64 20 65 72 72 6F 72 22 01 A0 20 1E 1C 02 ead error".. ...
0001C0: 00 20 00 F4 01 A1 20 FF 41 F2 19 0E 20 FA 20 FF . .... .A... . .
0001D0: 41 F2 17 20 FA 20 FF 41 F2 15 20 EB 20 1E 12 02 A.. . .A.. . ...
0001E0: 00 38 00 FE 01 0C 00 00 F3 EF 22 4F 75 74 20 6F .8........"Out o
0001F0: 66 20 6D 65 6D 6F 72 79 22 01 A1 20 0B 00 00 6E f memory".. ...n
Size : 512 (Real : 512)
000000: 00 44 49 53 43 20 20 20 20 20 20 20 00 00 00 00 .DISC ....
000010: 00 00 00 00 00 70 01 00 5E 0A 00 00 00 00 00 00 .....p..^.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 5E 0A 00 44 03 0B 00 00 6E E6 5B 0B 00 00 EE 5D ^..D....n.[....]
000050: 01 9F 20 1E 26 02 01 C8 20 1E E6 00 00 28 00 26 .. .&... ....(.&
000060: 02 88 01 BF 22 1F 01 01 12 3E 20 22 FF 1C 28 0C ...."....> "..(.
000070: 00 00 73 E6 5B 0B 00 00 EE 5D 29 22 1F 28 01 22 ..s.[....])".(."
000080: 39 00 0A 00 01 C0 20 46 69 6C 65 20 53 63 61 6E 9..... File Scan
000090: 6E 65 72 20 56 31 2E 31 20 28 43 29 31 39 39 30 ner V1.1 (C)1990
0000A0: 20 20 62 79 20 44 52 41 47 4F 4E 42 52 45 45 44 by DRAGONBREED
0000B0: 20 57 45 54 57 41 52 45 00 07 00 14 00 01 C0 00 WETWARE........
0000C0: 3C 00 1E 00 01 C0 20 57 72 69 74 74 65 6E 20 6F <..... Written o
0000D0: 75 74 20 6F 66 20 50 55 52 45 20 46 52 55 53 54 ut of PURE FRUST
0000E0: 52 41 54 49 4F 4E 2E 20 50 6C 65 61 73 65 20 69 RATION. Please i
0000F0: 66 20 79 6F 75 20 77 72 69 74 65 00 37 00 28 00 f you write.7.(.
000100: 01 C0 20 61 20 70 72 6F 67 72 61 6D 20 77 72 69 .. a program wri
000110: 74 65 20 69 74 20 47 4F 4F 44 20 41 54 20 4F 4E te it GOOD AT ON
000120: 43 45 2E 20 53 6F 20 74 68 61 74 20 6F 74 68 65 CE. So that othe
000130: 72 73 00 3A 00 32 00 01 C0 20 64 6F 6E 27 74 20 rs.:.2... don't
000140: 68 61 76 65 20 74 6F 20 72 65 2D 69 6E 76 65 6E have to re-inven
000150: 74 20 74 68 65 20 77 68 65 65 6C 20 6F 6E 6C 79 t the wheel only
000160: 20 62 65 63 61 75 73 65 20 79 6F 75 00 2D 00 3C because you.-.<
000170: 00 01 C0 20 72 65 66 75 73 65 64 20 74 6F 20 6D ... refused to m
000180: 61 6B 65 20 74 68 65 20 77 68 65 65 6C 20 77 6F ake the wheel wo
000190: 72 6B 61 62 6C 65 2E 2E 2E 00 07 00 46 00 01 C0 rkable......F...
0001A0: 00 0E 00 64 00 8E 20 61 2D 7A 01 90 20 73 00 2A ...d.. a-z.. s.*
0001B0: 00 6E 00 93 20 0C 00 00 F3 5B FF 09 28 22 22 29 .n.. ....[..("")
0001C0: F7 19 14 5D 2C 0C 00 00 73 E6 5B 19 19 5D 2C 0B ...],...s.[..],.
0001D0: 00 00 6E E6 5B 19 19 5D 00 3E 00 78 00 0B 00 00 ..n.[..].>.x....
0001E0: 70 72 F4 EF 1C 00 B0 01 9F 20 1E 9A 01 01 0B 00 pr....... ......
0001F0: 00 6E F3 EF 0E 01 0B 00 00 6E E6 EF 0E 01 0C 00 .n.......n......
Size : 512 (Real : 512)
000000: F3 F5 0B 00 00 6E E6 5B 0B 00 00 EE F5 0F 5D F1 .....n.[......].
000010: 19 19 20 EB 20 1E 1C 02 00 2D 00 08 02 0C 00 00 .. . ....-......
000020: F3 5B 0B 00 00 6E F3 5D EF 22 22 01 0B 00 00 6E .[...n.].""....n
000030: F3 EF 0B 00 00 6E F3 F5 0F 01 9F 20 1E 26 02 01 .....n..... .&..
000040: C8 20 1E DC 00 00 30 00 12 02 9F 20 1E B8 01 01 . ....0.... ....
000050: BF 22 1F 01 17 50 72 6F 67 72 61 6D 20 65 72 72 ."...Program err
000060: 6F 72 22 FF 41 22 69 6E 20 6C 69 6E 65 22 E3 01 or".A"in line"..
000070: C8 20 1E 90 01 00 22 00 1C 02 0B 00 00 6E F3 EF . ...."......n..
000080: 0B 00 00 6E E6 5B 0B 00 00 EE 5D 01 9F 20 1E 26 ...n.[....].. .&
000090: 02 01 C8 20 1E E6 00 00 28 00 26 02 88 01 BF 22 ... ....(.&...."
0000A0: 1F 01 01 12 3E 20 22 FF 1C 28 0C 00 00 73 E6 5B ....> "..(...s.[
0000B0: 0B 00 00 EE 5D 29 22 1F 28 01 22 0C 00 00 F3 00 ....])".(.".....
0000C0: 1C 00 30 02 9E 20 0B 00 00 E9 EF 0F 20 EC 20 19 ..0.. ...... . .
0000D0: 32 01 83 20 1C 19 BD 01 B0 01 C9 00 00 00 1A 43 2.. ...........C
0000E0: 29 20 31 39 38 39 20 50 6F 77 65 72 48 6F 77 73 ) 1989 PowerHows
0000F0: 65 2F FF 84 2A 0D 3B 2A FF 83 44 72 61 67 6F 6E e/..*.;*..Dragon
000100: 74 28 0C 00 00 F3 2C 22 44 45 41 44 22 29 29 EF t(....,"DEAD")).
000110: FF 73 28 FF 12 28 0B 00 00 E1 29 2C 10 29 F4 FF .s(..(....),.)..
000120: 73 28 FF 12 28 0B 00 00 E1 F4 0F 29 FA 20 1C 3F s(..(......). .?
000130: 00 2C 10 29 00 06 00 CC 01 C9 00 2E 00 D6 01 A1 .,.)............
000140: 20 FF 41 EF 19 20 20 EB 20 0C 00 00 F3 EF 22 46 .A.. . ....."F
000150: 69 6C 65 20 64 6F 65 73 6E 27 74 20 65 78 69 73 ile doesn't exis
000160: 74 22 01 A0 20 1E 1C 02 00 2D 00 E0 01 A1 20 FF t".. ....-.... .
000170: 41 EF 19 19 20 EB 20 0C 00 00 F3 EF 22 46 69 6C A... . ....."Fil
000180: 65 20 69 73 20 6E 6F 74 20 41 53 43 49 49 22 01 e is not ASCII".
000190: A0 20 1E 1C 02 00 2B 00 EA 01 A1 20 FF 41 EF 19 . ....+.... .A..
0001A0: 20 20 EB 20 0D 00 00 F3 EF 22 46 69 6C 65 20 72 . ....."File r
0001B0: 65 61 64 20 65 72 72 6F 72 22 01 A0 20 1E 1C 02 ead error".. ...
0001C0: 00 20 00 F4 01 A1 20 FF 41 F2 19 0E 20 FA 20 FF . .... .A... . .
0001D0: 41 F2 17 20 FA 20 FF 41 F2 15 20 EB 20 1E 12 02 A.. . .A.. . ...
0001E0: 00 38 00 FE 01 0C 00 00 F3 EF 22 4F 75 74 20 6F .8........"Out o
0001F0: 66 20 6D 65 6D 6F 72 79 22 01 A1 20 0B 00 00 6E f memory".. ...n
Size : 512 (Real : 512)
000000: 00 73 E6 5B 0B 00 00 6E E6 5D EF 22 20 22 01 0B .s.[...n.]." "..
000010: 00 00 6E F2 EF 0E 00 3D 00 82 00 BF 22 18 12 53 ..n....=...."..S
000020: 43 41 4E 2E 42 41 53 20 54 65 78 74 20 46 69 6C CAN.BAS Text Fil
000030: 65 20 53 63 61 6E 6E 65 72 1F 3E 01 44 52 41 47 e Scanner.>.DRAG
000040: 4F 4E 42 52 45 45 44 20 57 45 54 57 41 52 45 18 ONBREED WETWARE.
000050: 22 01 84 00 5B 00 8C 00 BF 22 1F 01 18 4E 6F 77 "...[...."...Now
000060: 20 65 6E 74 65 72 20 61 6C 6C 20 66 69 6C 65 73 enter all files
000070: 20 79 6F 75 20 77 69 73 68 20 74 6F 20 76 69 65 you wish to vie
000080: 77 2E 20 20 46 69 6E 69 73 68 20 77 69 74 68 20 w. Finish with
000090: 52 45 54 55 52 4E 2E 20 20 44 6F 6E 27 74 20 6D RETURN. Don't m
0000A0: 69 6E 64 20 6D 69 73 74 61 6B 65 73 2E 22 00 47 ind mistakes.".G
0000B0: 00 96 00 D6 20 0C 00 00 73 E6 5B 0B 00 00 6E E6 .... ...s.[...n.
0000C0: 5D EE 22 22 01 0B 00 00 6E E6 EF 0B 00 00 6E E6 ].""....n.....n.
0000D0: F4 0F 01 A6 20 A3 22 1F 01 19 12 46 69 6C 65 6E .... ."....Filen
0000E0: 61 6D 65 3A 20 22 2C 0C 00 00 73 E6 5B 0B 00 00 ame: ",...s.[...
0000F0: 6E E6 5D 01 D5 00 43 00 A0 00 0B 00 00 6E E6 EF n.]...C......n..
000100: 0B 00 00 6E E6 F5 0F 01 BF 22 1F 01 18 14 41 74 ...n....."....At
000110: 74 65 6D 70 74 69 6E 67 20 74 6F 20 72 65 61 64 tempting to read
000120: 20 69 6E 20 66 69 6C 65 73 2E 2E 2E 1A 22 FF 03 in files...."..
000130: 28 0E 29 22 4F 18 18 22 00 15 00 AA 00 9E 20 0B (.)"O.."...... .
000140: 00 00 EE EF 0F 20 EC 20 0B 00 00 6E E6 00 40 00 ..... . ...n..@.
000150: B4 00 20 20 0C 00 00 F3 5B 0B 00 00 6E F3 F4 0F .. ....[...n...
000160: 5D EF FF 75 28 22 7F 7F 20 22 F4 FF 1C 28 0C 00 ]..u(".. "...(..
000170: 00 73 E6 5B 0B 00 00 EE 5D 29 F4 22 20 22 F4 FF .s.[....])." "..
000180: 7B 28 19 4B 2C 1C 7F 00 29 2C 19 4F 29 00 4F 00 {(.K,...),.O).O.
000190: BE 00 20 20 0C 00 00 F3 5B 0B 00 00 6E F3 5D EF .. ....[...n.].
0001A0: 22 22 01 0B 00 00 6E E6 5B 0B 00 00 EE 5D EF 0B ""....n.[....]..
0001B0: 00 00 6E F3 01 0B 00 00 6E F3 EF 0B 00 00 6E F3 ..n.....n.....n.
0001C0: F4 10 01 BF 22 1F 01 01 12 3E 20 22 FF 1C 28 0C ...."....> "..(.
0001D0: 00 00 73 E6 5B 0B 00 00 EE 5D 29 3B 00 28 00 C8 ..s.[....]);.(..
0001E0: 00 20 20 B2 20 9C 20 A0 20 1E D6 01 01 B6 20 0C . . . . ..... .
0001F0: 00 00 73 E6 5B 0B 00 00 EE 5D 01 B2 20 9C 20 A0 ..s.[....].. . .
   
Tous droits réservés. Reproduction sans autorisation interdite. © Kukulcan