Firmware Guide (UK) (Disk 2 face 1) (19xx) [UTILITAIRE].dsk
   
Choose sector :
Size : 512 (Real : 512)
000000: 00 43 48 41 50 2D 31 35 20 D0 31 30 00 00 00 7F .CHAP-15 .10....
000010: 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 tuvwxyz{|}~.....
000020: 00 43 48 41 50 2D 31 35 20 D0 31 31 00 00 00 80 .CHAP-15 .11....
000030: 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 ................
000040: 00 43 48 41 50 2D 31 35 20 D0 31 31 01 00 00 01 .CHAP-15 .11....
000050: 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d...............
000060: 00 43 48 41 50 2D 31 35 20 D0 31 32 00 00 00 78 .CHAP-15 .12...x
000070: 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 00 efghijklmnopqrs.
000080: 00 43 48 41 50 2D 31 35 20 D0 31 33 00 00 00 80 .CHAP-15 .13....
000090: 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 ................
0000A0: 00 43 48 41 50 2D 31 35 20 D0 31 34 00 00 00 7B .CHAP-15 .14...{
0000B0: A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 ................
0000C0: 00 43 48 41 50 2D 31 35 20 D0 34 20 00 00 00 79 .CHAP-15 .4 ...y
0000D0: 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 ................
0000E0: 00 43 48 41 50 2D 31 35 20 D0 35 20 00 00 00 7D .CHAP-15 .5 ...}
0000F0: 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 .............. !
000100: 00 43 48 41 50 2D 31 35 20 D0 36 20 00 00 00 80 .CHAP-15 .6 ....
000110: 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 "#$%&'()*+,-./01
000120: 00 43 48 41 50 2D 31 35 20 D0 36 20 01 00 00 03 .CHAP-15 .6 ....
000130: 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2...............
000140: 00 43 48 41 50 2D 31 35 20 D0 37 20 00 00 00 7C .CHAP-15 .7 ...|
000150: 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 3456789:;<=>?@AB
000160: 00 43 48 41 50 2D 31 35 20 D0 38 20 00 00 00 80 .CHAP-15 .8 ....
000170: 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 CDEFGHIJKLMNOPQR
000180: 00 43 48 41 50 2D 31 35 20 D0 38 20 01 00 00 07 .CHAP-15 .8 ....
000190: 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 S...............
0001A0: 00 43 48 41 50 2D 31 35 20 D0 39 20 00 00 00 80 .CHAP-15 .9 ....
0001B0: 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 TUVWXYZ[\]^_`abc
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: 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: 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: 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: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 31 31 34 3A 20 53 43 52 20 52 45 50 41 114: SCR REPA
000020: 43 4B 20 20 20 20 20 20 20 20 20 20 20 20 20 20 CK
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 43 35 36 0D 0A 0D 0A 0D 0A 20 #BC56......
000060: 20 20 20 20 20 20 43 6F 6D 70 72 65 73 73 20 61 Compress a
000070: 20 63 68 61 72 61 63 74 65 72 20 6D 61 74 72 69 character matri
000080: 78 20 74 6F 20 74 68 65 20 73 74 61 6E 64 61 72 x to the standar
000090: 64 20 66 6F 72 6D 2E 0D 0A 0D 0A 0D 0A 20 20 20 d form.......
0000A0: 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D Action:.....
0000B0: 0A 20 20 20 20 20 20 20 41 20 63 68 61 72 61 63 . A charac
0000C0: 74 65 72 20 6F 6E 20 74 68 65 20 73 63 72 65 65 ter on the scree
0000D0: 6E 20 69 73 20 63 6F 6E 76 65 72 74 65 64 20 74 n is converted t
0000E0: 6F 20 61 20 6D 61 74 72 69 78 20 62 79 20 20 63 o a matrix by c
0000F0: 6F 6D 70 61 72 69 6E 67 20 20 65 61 63 68 0D 0A omparing each..
000100: 20 20 20 20 20 20 20 70 69 78 65 6C 20 77 69 74 pixel wit
000110: 68 20 61 6E 20 20 69 6E 6B 2E 20 20 49 66 20 20 h an ink. If
000120: 74 68 65 20 20 70 69 78 65 6C 20 20 69 73 20 20 the pixel is
000130: 73 65 74 20 20 74 6F 20 20 74 68 61 74 20 20 69 set to that i
000140: 6E 6B 20 20 74 68 65 6E 20 20 74 68 65 0D 0A 20 nk then the..
000150: 20 20 20 20 20 20 61 70 70 72 6F 70 72 69 61 74 appropriat
000160: 65 20 62 69 74 20 69 6E 20 74 68 65 20 63 68 61 e bit in the cha
000170: 72 61 63 74 65 72 20 6D 61 74 72 69 78 20 69 73 racter matrix is
000180: 20 73 65 74 2C 20 6F 74 68 65 72 77 69 73 65 20 set, otherwise
000190: 74 68 65 20 20 62 69 74 20 20 69 73 0D 0A 20 20 the bit is..
0001A0: 20 20 20 20 20 63 6C 65 61 72 65 64 2E 0D 0A 0D cleared....
0001B0: 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 ... Entry
0001C0: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
0001D0: 0A 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 . A contai
0001E0: 6E 73 20 74 68 65 20 65 6E 63 6F 64 65 64 20 69 ns the encoded i
0001F0: 6E 6B 20 74 6F 20 6D 61 74 63 68 20 61 67 61 69 nk to match agai
Size : 512 (Real : 512)
000000: 6E 73 74 2E 0D 0A 20 20 20 20 20 20 20 48 20 63 nst... H c
000010: 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 68 79 73 ontains the phys
000020: 69 63 61 6C 20 63 68 61 72 61 63 74 65 72 20 63 ical character c
000030: 6F 6C 75 6D 6E 20 74 6F 20 72 65 61 64 20 66 72 olumn to read fr
000040: 6F 6D 2E 0D 0A 20 20 20 20 20 20 20 4C 20 63 6F om... L co
000050: 6E 74 61 69 6E 73 20 74 68 65 20 70 68 79 73 69 ntains the physi
000060: 63 61 6C 20 63 68 61 72 61 63 74 65 72 20 72 6F cal character ro
000070: 77 20 74 6F 20 72 65 61 64 20 66 72 6F 6D 2E 0D w to read from..
000080: 0A 20 20 20 20 20 20 20 44 45 20 63 6F 6E 74 61 . DE conta
000090: 69 6E 73 20 74 68 65 20 61 64 64 72 65 73 73 20 ins the address
0000A0: 6F 66 20 74 68 65 20 61 72 65 61 20 74 6F 20 63 of the area to c
0000B0: 6F 6E 73 74 72 75 63 74 20 74 68 65 20 6D 61 74 onstruct the mat
0000C0: 72 69 78 20 69 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 rix in.......
0000D0: 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 Exit conditi
0000E0: 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ons:......
0000F0: 20 41 46 2C 20 42 43 2C 20 44 45 20 61 6E 64 20 AF, BC, DE and
000100: 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 HL corrupt...
000110: 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 All other re
000120: 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 gisters preserve
000130: 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E d....... N
000140: 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 otes:......
000150: 20 20 54 68 65 20 63 68 61 72 61 63 74 65 72 20 The character
000160: 70 6F 73 69 74 69 6F 6E 20 69 73 20 67 69 76 65 position is give
000170: 6E 20 69 6E 20 70 68 79 73 69 63 61 6C 20 63 6F n in physical co
000180: 6F 72 64 69 6E 61 74 65 73 20 69 6E 20 20 77 68 ordinates in wh
000190: 69 63 68 20 20 72 6F 77 0D 0A 20 20 20 20 20 20 ich row..
0001A0: 20 30 2C 20 63 6F 6C 75 6D 6E 20 30 20 69 73 20 0, column 0 is
0001B0: 74 68 65 20 74 6F 70 20 6C 65 66 74 20 63 6F 72 the top left cor
0001C0: 6E 65 72 20 6F 66 20 74 68 65 20 73 63 72 65 65 ner of the scree
0001D0: 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 n....... T
0001E0: 68 65 20 63 68 61 72 61 63 74 65 72 20 70 6F 73 he character pos
0001F0: 69 74 69 6F 6E 20 67 69 76 65 6E 20 69 73 20 6E ition given is n
Size : 512 (Real : 512)
000000: 6F 74 20 63 68 65 63 6B 65 64 20 66 6F 72 20 6C ot checked for l
000010: 65 67 61 6C 69 74 79 2E 20 20 41 6E 20 20 69 6C egality. An il
000020: 6C 65 67 61 6C 0D 0A 20 20 20 20 20 20 20 70 6F legal.. po
000030: 73 69 74 69 6F 6E 20 20 28 6F 6E 65 20 20 6F 75 sition (one ou
000040: 74 73 69 64 65 20 20 74 68 65 20 20 6C 69 6D 69 tside the limi
000050: 74 73 20 20 6F 66 20 20 20 74 68 65 20 20 20 73 ts of the s
000060: 63 72 65 65 6E 29 20 20 20 77 69 6C 6C 20 20 20 creen) will
000070: 68 61 76 65 0D 0A 20 20 20 20 20 20 20 75 6E 70 have.. unp
000080: 72 65 64 69 63 74 61 62 6C 65 20 65 66 66 65 63 redictable effec
000090: 74 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ts.......
0000A0: 54 68 65 20 6D 61 74 72 69 78 20 70 72 6F 64 75 The matrix produ
0000B0: 63 65 64 20 68 61 73 20 74 68 65 20 6E 6F 72 6D ced has the norm
0000C0: 61 6C 20 6C 61 79 6F 75 74 2E 20 49 74 20 69 73 al layout. It is
0000D0: 20 38 20 62 79 74 65 73 20 6C 6F 6E 67 2C 20 20 8 bytes long,
0000E0: 73 74 6F 72 65 64 0D 0A 20 20 20 20 20 20 20 74 stored.. t
0000F0: 6F 70 20 6C 69 6E 65 20 66 69 72 73 74 20 61 6E op line first an
000100: 64 20 62 6F 74 74 6F 6D 20 6C 69 6E 65 20 6C 61 d bottom line la
000110: 73 74 2C 20 74 68 65 20 6D 6F 73 74 20 73 69 67 st, the most sig
000120: 6E 69 66 69 63 61 6E 74 20 62 69 74 20 20 6F 66 nificant bit of
000130: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 62 79 the.. by
000140: 74 65 20 72 65 66 65 72 73 20 74 6F 20 74 68 65 te refers to the
000150: 20 6C 65 66 74 6D 6F 73 74 20 70 69 78 65 6C 20 leftmost pixel
000160: 6F 66 20 61 20 6C 69 6E 65 20 61 6E 64 20 74 68 of a line and th
000170: 65 20 6C 65 61 73 74 20 20 73 69 67 6E 69 66 69 e least signifi
000180: 63 61 6E 74 0D 0A 20 20 20 20 20 20 20 62 69 74 cant.. bit
000190: 20 74 6F 20 74 68 65 20 72 69 67 68 74 6D 6F 73 to the rightmos
0001A0: 74 20 70 69 78 65 6C 2E 0D 0A 0D 0A 0D 0A 20 20 t pixel.......
0001B0: 20 20 20 20 20 42 65 63 61 75 73 65 20 74 68 65 Because the
0001C0: 20 70 69 78 65 6C 73 20 61 72 65 20 74 65 73 74 pixels are test
0001D0: 65 64 20 66 6F 72 20 62 65 69 6E 67 20 73 65 74 ed for being set
0001E0: 20 74 6F 20 6F 6E 6C 79 20 6F 6E 65 20 69 6E 6B to only one ink
0001F0: 20 74 68 65 20 6D 61 74 72 69 78 0D 0A 20 20 20 the matrix..
Size : 512 (Real : 512)
000000: 20 20 20 20 70 72 6F 64 75 63 65 64 20 69 73 20 produced is
000010: 6E 6F 74 20 61 6E 20 65 78 61 63 74 20 72 65 70 not an exact rep
000020: 72 65 73 65 6E 74 61 74 69 6F 6E 20 6F 66 20 77 resentation of w
000030: 68 61 74 20 69 73 20 69 6E 20 74 68 65 20 20 73 hat is in the s
000040: 63 72 65 65 6E 2E 20 20 49 74 0D 0A 20 20 20 20 creen. It..
000050: 20 20 20 6D 61 79 20 62 65 20 6E 65 63 65 73 73 may be necess
000060: 61 72 79 2C 20 77 68 65 6E 20 74 72 79 69 6E 67 ary, when trying
000070: 20 74 6F 20 72 65 61 64 20 63 68 61 72 61 63 74 to read charact
000080: 65 72 73 20 66 72 6F 6D 20 74 68 65 20 20 73 63 ers from the sc
000090: 72 65 65 6E 2C 20 20 74 6F 0D 0A 20 20 20 20 20 reen, to..
0000A0: 20 20 72 65 70 61 63 6B 20 75 73 69 6E 67 20 76 repack using v
0000B0: 61 72 69 6F 75 73 20 64 69 66 66 65 72 65 6E 74 arious different
0000C0: 20 69 6E 6B 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 inks.....
0000D0: 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 Related entries
0000E0: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 43 52 20 :.... SCR
0000F0: 55 4E 50 41 43 4B 0D 0A 20 20 20 20 20 20 20 54 UNPACK.. T
000100: 58 54 20 52 44 20 43 48 41 52 0D 0A 0D 0A 20 20 XT RD CHAR....
000110: 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 AMSTRAD CPC
000120: 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 464/664/6128 FIR
000130: 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 MWARE
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 70 61 67 65 20 31 35 2E 31 31 39 0D 0A 0D 0A 0D page 15.119.....
000160: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000170: 31 31 35 3A 20 53 43 52 20 41 43 43 45 53 53 20 115: SCR ACCESS
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 23 42 43 35 39 0D 0A 0D 0A 20 20 20 20 20 20 #BC59....
0001C0: 20 53 65 74 20 74 68 65 20 73 63 72 65 65 6E 20 Set the screen
0001D0: 77 72 69 74 65 20 6D 6F 64 65 20 66 6F 72 20 74 write mode for t
0001E0: 68 65 20 47 72 61 70 68 69 63 73 20 56 44 55 2E he Graphics VDU.
0001F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F .... Actio
Size : 512 (Real : 512)
000000: 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 n:.... Set
000010: 20 74 68 65 20 47 72 61 70 68 69 63 73 20 56 44 the Graphics VD
000020: 55 20 77 72 69 74 65 20 6D 6F 64 65 20 73 6F 20 U write mode so
000030: 74 68 61 74 20 74 68 65 20 47 72 61 70 68 69 63 that the Graphic
000040: 73 20 56 44 55 20 70 6C 6F 74 73 20 20 70 69 78 s VDU plots pix
000050: 65 6C 73 0D 0A 20 20 20 20 20 20 20 62 79 20 77 els.. by w
000060: 72 69 74 69 6E 67 2C 20 61 6E 64 69 6E 67 2C 20 riting, anding,
000070: 6F 72 69 6E 67 20 6F 72 20 65 78 63 6C 75 73 69 oring or exclusi
000080: 76 65 2D 6F 72 69 6E 67 2E 0D 0A 0D 0A 20 20 20 ve-oring.....
000090: 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 Entry condit
0000A0: 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ions:....
0000B0: 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 72 A contains the r
0000C0: 65 71 75 69 72 65 64 20 77 72 69 74 65 20 6D 6F equired write mo
0000D0: 64 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 de..... Ex
0000E0: 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A it conditions:..
0000F0: 0D 0A 20 20 20 20 20 20 20 41 46 2C 20 42 43 2C .. AF, BC,
000100: 20 44 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 DE and HL corru
000110: 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 pt... All
000120: 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 other registers
000130: 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 20 20 preserved.....
000140: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 Notes:....
000150: 20 20 20 20 20 20 54 68 65 20 77 72 69 74 65 20 The write
000160: 6D 6F 64 65 20 69 73 20 6D 61 73 6B 65 64 20 77 mode is masked w
000170: 69 74 68 20 23 30 33 20 74 6F 20 6D 61 6B 65 20 ith #03 to make
000180: 69 74 20 6C 65 67 61 6C 2E 20 20 54 68 65 20 20 it legal. The
000190: 77 72 69 74 65 20 20 6D 6F 64 65 73 0D 0A 20 20 write modes..
0001A0: 20 20 20 20 20 61 72 65 3A 0D 0A 20 20 20 20 20 are:..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 30 3A 20 46 4F 0: FO
0001C0: 52 43 45 20 6D 6F 64 65 3A 20 20 20 20 20 20 4E RCE mode: N
0001D0: 45 57 20 3D 20 49 4E 4B 0D 0A 20 20 20 20 20 20 EW = INK..
0001E0: 20 20 20 20 20 20 20 20 20 20 31 3A 20 58 4F 52 1: XOR
0001F0: 20 6D 6F 64 65 3A 20 20 20 20 20 20 20 20 4E 45 mode: NE
Size : 512 (Real : 512)
000000: 57 20 3D 20 49 4E 4B 20 65 78 63 6C 75 73 69 76 W = INK exclusiv
000010: 65 2D 6F 72 20 4F 4C 44 0D 0A 20 20 20 20 20 20 e-or OLD..
000020: 20 20 20 20 20 20 20 20 20 20 32 3A 20 41 4E 44 2: AND
000030: 20 6D 6F 64 65 3A 20 20 20 20 20 20 20 20 4E 45 mode: NE
000040: 57 20 3D 20 49 4E 4B 20 61 6E 64 20 4F 4C 44 0D W = INK and OLD.
000050: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000060: 20 33 3A 20 4F 52 20 6D 6F 64 65 3A 20 20 20 20 3: OR mode:
000070: 20 20 20 20 20 4E 45 57 20 3D 20 49 4E 4B 20 6F NEW = INK o
000080: 72 20 4F 4C 44 0D 0A 0D 0A 20 20 20 20 20 20 20 r OLD....
000090: 20 20 20 20 20 4E 45 57 20 69 73 20 74 68 65 20 NEW is the
0000A0: 66 69 6E 61 6C 20 73 65 74 74 69 6E 67 20 6F 66 final setting of
0000B0: 20 74 68 65 20 70 69 78 65 6C 2E 0D 0A 20 20 20 the pixel...
0000C0: 20 20 20 20 20 20 20 20 20 4F 4C 44 20 69 73 20 OLD is
0000D0: 74 68 65 20 63 75 72 72 65 6E 74 20 73 65 74 74 the current sett
0000E0: 69 6E 67 20 6F 66 20 74 68 65 20 70 69 78 65 6C ing of the pixel
0000F0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000100: 20 49 4E 4B 20 69 73 20 74 68 65 20 69 6E 6B 20 INK is the ink
000110: 62 65 69 6E 67 20 70 6C 6F 74 74 65 64 2E 0D 0A being plotted...
000120: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 64 .... The d
000130: 65 66 61 75 6C 74 20 6D 6F 64 65 20 69 73 20 46 efault mode is F
000140: 4F 52 43 45 20 6D 6F 64 65 20 28 6D 6F 64 65 20 ORCE mode (mode
000150: 30 29 20 61 6E 64 20 69 73 20 73 65 74 20 61 74 0) and is set at
000160: 20 45 4D 53 20 61 6E 64 20 77 68 65 6E 20 53 43 EMS and when SC
000170: 52 0D 0A 20 20 20 20 20 20 20 52 45 53 45 54 20 R.. RESET
000180: 69 73 20 63 61 6C 6C 65 64 2E 0D 0A 0D 0A 0D 0A is called.......
000190: 20 20 20 20 20 20 20 53 65 74 74 69 6E 67 20 74 Setting t
0001A0: 68 65 20 77 72 69 74 65 20 6D 6F 64 65 20 61 66 he write mode af
0001B0: 66 65 63 74 73 20 68 6F 77 20 74 68 65 20 69 6E fects how the in
0001C0: 64 69 72 65 63 74 69 6F 6E 20 72 6F 75 74 69 6E direction routin
0001D0: 65 20 20 53 43 52 20 20 57 52 49 54 45 0D 0A 20 e SCR WRITE..
0001E0: 20 20 20 20 20 20 73 65 74 73 20 70 69 78 65 6C sets pixel
0001F0: 73 2E 20 47 72 61 70 68 69 63 73 20 56 44 55 20 s. Graphics VDU
Size : 512 (Real : 512)
000000: 70 6C 6F 74 74 69 6E 67 20 72 6F 75 74 69 6E 65 plotting routine
000010: 73 20 63 61 6C 6C 20 74 68 69 73 20 20 69 6E 64 s call this ind
000020: 69 72 65 63 74 69 6F 6E 20 20 74 6F 0D 0A 20 20 irection to..
000030: 20 20 20 20 20 73 65 74 20 70 69 78 65 6C 73 20 set pixels
000040: 61 6E 64 20 73 6F 20 74 68 65 20 77 72 69 74 65 and so the write
000050: 20 6D 6F 64 65 20 61 66 66 65 63 74 73 20 74 68 mode affects th
000060: 65 20 47 72 61 70 68 69 63 73 20 56 44 55 2E 20 e Graphics VDU.
000070: 4E 6F 20 54 65 78 74 20 56 44 55 0D 0A 20 20 20 No Text VDU..
000080: 20 20 20 20 72 6F 75 74 69 6E 65 73 20 20 63 61 routines ca
000090: 6C 6C 20 20 74 68 69 73 20 20 69 6E 64 69 72 65 ll this indire
0000A0: 63 74 69 6F 6E 20 20 28 74 68 65 79 20 20 73 65 ction (they se
0000B0: 74 20 20 70 69 78 65 6C 73 20 20 6F 6E 20 20 74 t pixels on t
0000C0: 68 65 20 20 73 63 72 65 65 6E 0D 0A 20 20 20 20 he screen..
0000D0: 20 20 20 64 69 72 65 63 74 6C 79 29 20 61 6E 64 directly) and
0000E0: 20 73 6F 20 74 68 65 20 77 72 69 74 65 20 6D 6F so the write mo
0000F0: 64 65 20 64 6F 65 73 20 6E 6F 74 20 20 61 66 66 de does not aff
000100: 65 63 74 20 20 74 68 65 20 20 54 65 78 74 20 20 ect the Text
000110: 56 44 55 2E 20 20 54 68 65 0D 0A 20 20 20 20 20 VDU. The..
000120: 20 20 72 6F 75 74 69 6E 65 73 20 74 68 61 74 20 routines that
000130: 63 6C 65 61 72 20 61 72 65 61 73 20 6F 66 20 74 clear areas of t
000140: 68 65 20 73 63 72 65 65 6E 20 28 65 2E 67 2E 20 he screen (e.g.
000150: 47 52 41 20 20 43 4C 45 41 52 20 20 57 49 4E 44 GRA CLEAR WIND
000160: 4F 57 29 20 20 61 63 74 0D 0A 20 20 20 20 20 20 OW) act..
000170: 20 6C 69 6B 65 20 74 68 65 20 54 65 78 74 20 56 like the Text V
000180: 44 55 20 61 6E 64 20 61 72 65 20 75 6E 61 66 66 DU and are unaff
000190: 65 63 74 65 64 20 62 79 20 74 68 65 20 77 72 69 ected by the wri
0001A0: 74 65 20 6D 6F 64 65 2E 0D 0A 0D 0A 0D 0A 0D 0A te mode.........
0001B0: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
0001C0: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 ntries:......
0001D0: 20 20 20 20 47 52 41 20 44 45 46 41 55 4C 54 0D GRA DEFAULT.
0001E0: 0A 20 20 20 20 20 20 20 53 43 52 20 49 4E 49 54 . SCR INIT
0001F0: 49 41 4C 49 53 45 0D 0A 20 20 20 20 20 20 20 53 IALISE.. S
Size : 512 (Real : 512)
000000: 43 52 20 52 45 53 45 54 0D 0A 20 20 20 20 20 20 CR RESET..
000010: 20 53 43 52 20 57 52 49 54 45 0D 0A 0D 0A 0D 0A SCR WRITE......
000020: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 ...... AMS
000030: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
000040: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 FIRMWARE
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 70 61 67 65 20 31 35 2E page 15.
000070: 31 32 30 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 120.............
000080: 0A 20 20 20 20 20 20 20 31 31 36 3A 20 53 43 52 . 116: SCR
000090: 20 50 49 58 45 4C 53 20 20 20 20 20 20 20 20 20 PIXELS
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 20 20 20
0000C0: 20 20 20 20 20 20 20 20 20 23 42 43 35 43 0D 0A #BC5C..
0000D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 57 72 69 74 65 .... Write
0000E0: 20 61 20 70 69 78 65 6C 20 74 6F 20 74 68 65 20 a pixel to the
0000F0: 73 63 72 65 65 6E 20 69 67 6E 6F 72 69 6E 67 20 screen ignoring
000100: 74 68 65 20 47 72 61 70 68 69 63 73 20 56 44 55 the Graphics VDU
000110: 20 77 72 69 74 65 20 6D 6F 64 65 2E 0D 0A 0D 0A write mode.....
000120: 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A .. Action:
000130: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 57 72 69 ...... Wri
000140: 74 65 20 61 20 70 69 78 65 6C 20 6F 72 20 70 69 te a pixel or pi
000150: 78 65 6C 73 20 74 6F 20 74 68 65 20 73 63 72 65 xels to the scre
000160: 65 6E 2E 20 54 68 65 20 70 6F 73 69 74 69 6F 6E en. The position
000170: 20 20 74 6F 20 20 77 72 69 74 65 20 20 61 74 20 to write at
000180: 20 69 73 0D 0A 20 20 20 20 20 20 20 67 69 76 65 is.. give
000190: 6E 20 62 79 20 61 20 73 63 72 65 65 6E 20 61 64 n by a screen ad
0001A0: 64 72 65 73 73 20 61 6E 64 20 70 69 78 65 6C 20 dress and pixel
0001B0: 6D 61 73 6B 2E 20 54 68 65 20 70 69 78 65 6C 20 mask. The pixel
0001C0: 69 73 20 61 6C 77 61 79 73 20 20 73 65 74 20 20 is always set
0001D0: 74 6F 0D 0A 20 20 20 20 20 20 20 74 68 65 20 69 to.. the i
0001E0: 6E 6B 20 73 75 70 70 6C 69 65 64 20 77 68 61 74 nk supplied what
0001F0: 65 76 65 72 20 6D 6F 64 65 20 6F 66 20 77 72 69 ever mode of wri
Size : 512 (Real : 512)
000000: 74 69 6E 67 20 74 68 65 20 47 72 61 70 68 69 63 ting the Graphic
000010: 73 20 56 44 55 20 69 73 20 75 73 69 6E 67 2E 0D s VDU is using..
000020: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
000030: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
000040: 0A 0D 0A 20 20 20 20 20 20 20 42 20 63 6F 6E 74 ... B cont
000050: 61 69 6E 73 20 74 68 65 20 65 6E 63 6F 64 65 64 ains the encoded
000060: 20 69 6E 6B 20 74 6F 20 77 72 69 74 65 2E 0D 0A ink to write...
000070: 20 20 20 20 20 20 20 43 20 63 6F 6E 74 61 69 6E C contain
000080: 73 20 74 68 65 20 6D 61 73 6B 20 66 6F 72 20 74 s the mask for t
000090: 68 65 20 70 69 78 65 6C 28 73 29 2E 0D 0A 20 20 he pixel(s)...
0000A0: 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 HL contains
0000B0: 20 74 68 65 20 73 63 72 65 65 6E 20 61 64 64 72 the screen addr
0000C0: 65 73 73 20 6F 66 20 74 68 65 20 70 69 78 65 6C ess of the pixel
0000D0: 28 73 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 (s).......
0000E0: 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 Exit conditions
0000F0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 :...... AF
000100: 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 corrupt...
000110: 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 All other regi
000120: 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E sters preserved.
000130: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 ...... Not
000140: 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 es:......
000150: 54 68 65 20 73 63 72 65 65 6E 20 61 64 64 72 65 The screen addre
000160: 73 73 20 69 73 20 6E 6F 74 20 63 68 65 63 6B 65 ss is not checke
000170: 64 20 61 6E 64 20 73 6F 20 20 70 61 73 73 69 6E d and so passin
000180: 67 20 20 61 6E 20 20 69 6E 76 61 6C 69 64 20 20 g an invalid
000190: 73 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 61 screen.. a
0001A0: 64 64 72 65 73 73 20 77 69 6C 6C 20 68 61 76 65 ddress will have
0001B0: 20 75 6E 70 72 65 64 69 63 74 61 62 6C 65 20 72 unpredictable r
0001C0: 65 73 75 6C 74 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 esults.......
0001D0: 20 20 20 20 54 68 65 20 70 69 78 65 6C 20 6D 61 The pixel ma
0001E0: 73 6B 20 6D 61 79 20 62 65 20 61 20 63 6F 6D 62 sk may be a comb
0001F0: 69 6E 65 64 20 6D 61 73 6B 20 66 6F 72 20 6D 6F ined mask for mo
Size : 512 (Real : 512)
000000: 72 65 20 74 68 61 6E 20 20 6F 6E 65 20 20 70 69 re than one pi
000010: 78 65 6C 20 20 28 74 68 75 73 0D 0A 20 20 20 20 xel (thus..
000020: 20 20 20 73 70 65 65 64 69 6E 67 20 75 70 20 70 speeding up p
000030: 6C 6F 74 74 69 6E 67 20 69 6E 20 63 65 72 74 61 lotting in certa
000040: 69 6E 20 63 61 73 65 73 29 2E 0D 0A 0D 0A 0D 0A in cases).......
000050: 20 20 20 20 20 20 20 54 6F 20 70 6C 6F 74 20 61 To plot a
000060: 20 70 69 78 65 6C 20 75 73 69 6E 67 20 74 68 65 pixel using the
000070: 20 47 72 61 70 68 69 63 73 20 56 44 55 20 77 72 Graphics VDU wr
000080: 69 74 65 20 6D 6F 64 65 20 53 43 52 20 57 52 49 ite mode SCR WRI
000090: 54 45 20 73 68 6F 75 6C 64 20 20 62 65 0D 0A 20 TE should be..
0000A0: 20 20 20 20 20 20 63 61 6C 6C 65 64 2E 20 53 43 called. SC
0000B0: 52 20 50 49 58 45 4C 53 20 69 73 20 65 71 75 69 R PIXELS is equi
0000C0: 76 61 6C 65 6E 74 20 74 6F 20 63 61 6C 6C 69 6E valent to callin
0000D0: 67 20 53 43 52 20 57 52 49 54 45 20 77 68 65 6E g SCR WRITE when
0000E0: 20 74 68 65 20 64 65 66 61 75 6C 74 0D 0A 20 20 the default..
0000F0: 20 20 20 20 20 6D 6F 64 65 20 28 46 4F 52 43 45 mode (FORCE
000100: 20 6D 6F 64 65 29 20 69 73 20 20 73 65 6C 65 63 mode) is selec
000110: 74 65 64 2E 20 20 54 68 65 20 20 54 65 78 74 20 ted. The Text
000120: 20 56 44 55 20 20 73 65 74 73 20 20 74 68 65 20 VDU sets the
000130: 20 70 69 78 65 6C 73 20 20 69 6E 0D 0A 20 20 20 pixels in..
000140: 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 75 characters u
000150: 73 69 6E 67 20 46 4F 52 43 45 20 6D 6F 64 65 2E sing FORCE mode.
000160: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 ........ R
000170: 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D elated entries:.
000180: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 43 52 20 ..... SCR
000190: 57 52 49 54 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D WRITE...........
0001A0: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D ....... AM
0001B0: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
0001C0: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 /6128 FIRMWARE
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 20 20 20 70 61 67 65 20 31 35 page 15
0001F0: 2E 31 32 31 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A .121............
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 31 31 37 3A 20 53 43 .. 117: SC
000010: 52 20 48 4F 52 49 5A 4F 4E 54 41 4C 20 20 20 20 R HORIZONTAL
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 20
000040: 20 20 20 20 20 20 20 20 20 20 23 42 43 35 46 0D #BC5F.
000050: 0A 0D 0A 20 20 20 20 20 20 20 50 6C 6F 74 20 61 ... Plot a
000060: 20 70 75 72 65 6C 79 20 68 6F 72 69 7A 6F 6E 74 purely horizont
000070: 61 6C 20 6C 69 6E 65 2E 0D 0A 0D 0A 20 20 20 20 al line.....
000080: 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 Action:....
000090: 20 20 20 20 20 44 72 61 77 20 61 20 6C 69 6E 65 Draw a line
0000A0: 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 20 74 on the screen t
0000B0: 68 61 74 20 72 75 6E 73 20 68 6F 72 69 7A 6F 6E hat runs horizon
0000C0: 74 61 6C 6C 79 2E 20 54 68 65 20 20 70 69 78 65 tally. The pixe
0000D0: 6C 73 20 20 6F 6E 20 20 74 68 65 0D 0A 20 20 20 ls on the..
0000E0: 20 20 20 20 6C 69 6E 65 20 61 72 65 20 70 6C 6F line are plo
0000F0: 74 74 65 64 20 75 73 69 6E 67 20 74 68 65 20 53 tted using the S
000100: 43 52 20 57 52 49 54 45 20 20 69 6E 64 69 72 65 CR WRITE indire
000110: 63 74 69 6F 6E 20 20 61 6E 64 20 20 74 68 75 73 ction and thus
000120: 20 20 75 73 65 20 20 74 68 65 0D 0A 20 20 20 20 use the..
000130: 20 20 20 63 75 72 72 65 6E 74 20 47 72 61 70 68 current Graph
000140: 69 63 73 20 56 44 55 20 77 72 69 74 65 20 6D 6F ics VDU write mo
000150: 64 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E de..... En
000160: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D try conditions:.
000170: 0A 0D 0A 20 20 20 20 20 20 20 41 20 63 6F 6E 74 ... A cont
000180: 61 69 6E 73 20 74 68 65 20 65 6E 63 6F 64 65 64 ains the encoded
000190: 20 69 6E 6B 20 74 6F 20 64 72 61 77 20 69 6E 2E ink to draw in.
0001A0: 0D 0A 20 20 20 20 20 20 20 44 45 20 63 6F 6E 74 .. DE cont
0001B0: 61 69 6E 73 20 74 68 65 20 62 61 73 65 20 58 20 ains the base X
0001C0: 63 6F 6F 72 64 69 6E 61 74 65 20 6F 66 20 74 68 coordinate of th
0001D0: 65 20 73 74 61 72 74 20 6F 66 20 74 68 65 20 6C e start of the l
0001E0: 69 6E 65 2E 0D 0A 20 20 20 20 20 20 20 42 43 20 ine... BC
0001F0: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 62 61 73 contains the bas
Size : 512 (Real : 512)
000000: 65 20 58 20 63 6F 6F 72 64 69 6E 61 74 65 20 6F e X coordinate o
000010: 66 20 74 68 65 20 65 6E 64 20 6F 66 20 74 68 65 f the end of the
000020: 20 6C 69 6E 65 2E 0D 0A 20 20 20 20 20 20 20 48 line... H
000030: 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 62 L contains the b
000040: 61 73 65 20 59 20 63 6F 6F 72 64 69 6E 61 74 65 ase Y coordinate
000050: 20 6F 66 20 74 68 65 20 6C 69 6E 65 2E 0D 0A 0D of the line....
000060: 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 ... Exit c
000070: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 onditions:....
000080: 20 20 20 20 20 41 46 2C 20 42 43 2C 20 44 45 20 AF, BC, DE
000090: 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D and HL corrupt..
0000A0: 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 . All othe
0000B0: 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 r registers pres
0000C0: 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 erved.......
0000D0: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 Notes:......
0000E0: 20 20 20 20 20 20 54 68 65 20 65 6E 64 70 6F 69 The endpoi
0000F0: 6E 74 73 20 6F 66 20 74 68 65 20 6C 69 6E 65 20 nts of the line
000100: 61 72 65 20 67 69 76 65 6E 20 69 6E 20 62 61 73 are given in bas
000110: 65 20 63 6F 6F 72 64 69 6E 61 74 65 73 2E 20 69 e coordinates. i
000120: 2E 65 2E 20 28 30 2C 30 29 20 69 73 0D 0A 20 20 .e. (0,0) is..
000130: 20 20 20 20 20 74 68 65 20 70 69 78 65 6C 20 69 the pixel i
000140: 6E 20 74 68 65 20 62 6F 74 74 6F 6D 20 6C 65 66 n the bottom lef
000150: 74 20 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 20 t corner of the
000160: 73 63 72 65 65 6E 20 61 6E 64 20 65 61 63 68 20 screen and each
000170: 20 63 6F 6F 72 64 69 6E 61 74 65 0D 0A 20 20 20 coordinate..
000180: 20 20 20 20 70 6F 73 69 74 69 6F 6E 20 72 65 66 position ref
000190: 65 72 73 20 74 6F 20 61 20 73 69 6E 67 6C 65 20 ers to a single
0001A0: 70 69 78 65 6C 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 pixel.......
0001B0: 20 20 20 54 68 65 20 65 6E 64 70 6F 69 6E 74 73 The endpoints
0001C0: 20 61 72 65 20 6E 6F 74 20 63 68 65 63 6B 65 64 are not checked
0001D0: 20 66 6F 72 20 62 65 69 6E 67 20 6C 65 67 61 6C for being legal
0001E0: 20 28 77 69 74 68 69 6E 20 20 74 68 65 20 20 6C (within the l
0001F0: 69 6D 69 74 73 20 20 6F 66 0D 0A 20 20 20 20 20 imits of..
Size : 512 (Real : 512)
000000: 20 20 74 68 65 20 73 63 72 65 65 6E 29 2E 20 49 the screen). I
000010: 66 20 74 68 65 79 20 61 72 65 20 6E 6F 74 20 20 f they are not
000020: 6C 65 67 61 6C 20 20 74 68 65 6E 20 20 75 6E 70 legal then unp
000030: 72 65 64 69 63 74 61 62 6C 65 20 20 65 66 66 65 redictable effe
000040: 63 74 73 20 20 6D 61 79 0D 0A 20 20 20 20 20 20 cts may..
000050: 20 6F 63 63 75 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 occur.......
000060: 20 20 20 20 54 68 65 20 73 74 61 72 74 20 58 20 The start X
000070: 63 6F 6F 72 64 69 6E 61 74 65 20 6D 75 73 74 20 coordinate must
000080: 62 65 20 20 6C 65 73 73 20 20 74 68 61 6E 20 20 be less than
000090: 6F 72 20 20 65 71 75 61 6C 20 20 74 6F 20 20 74 or equal to t
0000A0: 68 65 20 20 65 6E 64 20 20 58 0D 0A 20 20 20 20 he end X..
0000B0: 20 20 20 63 6F 6F 72 64 69 6E 61 74 65 2E 0D 0A coordinate...
0000C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 .... This
0000D0: 72 6F 75 74 69 6E 65 20 6D 61 79 20 62 65 20 75 routine may be u
0000E0: 73 65 64 20 74 6F 20 64 75 70 6C 69 63 61 74 65 sed to duplicate
0000F0: 20 74 68 65 20 6D 65 74 68 6F 64 20 74 68 61 74 the method that
000100: 20 74 68 65 20 47 72 61 70 68 69 63 73 20 56 44 the Graphics VD
000110: 55 0D 0A 20 20 20 20 20 20 20 75 73 65 73 20 66 U.. uses f
000120: 6F 72 20 70 6C 6F 74 74 69 6E 67 20 6C 69 6E 65 or plotting line
000130: 73 20 2D 20 69 74 20 73 70 6C 69 74 73 20 61 20 s - it splits a
000140: 6C 69 6E 65 20 20 74 68 61 74 20 20 69 73 20 20 line that is
000150: 6D 6F 72 65 20 20 68 6F 72 69 7A 6F 6E 74 61 6C more horizontal
000160: 0D 0A 20 20 20 20 20 20 20 74 68 61 6E 20 76 65 .. than ve
000170: 72 74 69 63 61 6C 20 69 6E 74 6F 20 61 20 6E 75 rtical into a nu
000180: 6D 62 65 72 20 6F 66 20 73 65 67 6D 65 6E 74 73 mber of segments
000190: 20 74 68 61 74 20 61 72 65 20 70 75 72 65 6C 79 that are purely
0001A0: 20 68 6F 72 69 7A 6F 6E 74 61 6C 20 61 6E 64 0D horizontal and.
0001B0: 0A 20 20 20 20 20 20 20 70 6C 6F 74 73 20 74 68 . plots th
0001C0: 65 73 65 20 73 65 70 61 72 61 74 65 6C 79 2E 0D ese separately..
0001D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
0001E0: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
0001F0: 0D 0A 20 20 20 20 20 20 20 47 52 41 20 46 52 4F .. GRA FRO
Size : 512 (Real : 512)
000000: 4D 20 55 53 45 52 0D 0A 20 20 20 20 20 20 20 47 M USER.. G
000010: 52 41 20 4C 49 4E 45 20 41 42 53 4F 4C 55 54 45 RA LINE ABSOLUTE
000020: 0D 0A 20 20 20 20 20 20 20 47 52 41 20 4C 49 4E .. GRA LIN
000030: 45 20 52 45 4C 41 54 49 56 45 0D 0A 20 20 20 20 E RELATIVE..
000040: 20 20 20 53 43 52 20 56 45 52 54 49 43 41 4C 0D SCR VERTICAL.
000050: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
000060: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
000070: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
000080: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
0000A0: 65 20 31 35 2E 31 32 32 0D 0A 0D 0A 0D 0A 0D 0A e 15.122........
0000B0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 31 38 ...... 118
0000C0: 3A 20 53 43 52 20 56 45 52 54 49 43 41 4C 20 20 : SCR VERTICAL
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 23 42 #B
000100: 43 36 32 0D 0A 0D 0A 20 20 20 20 20 20 20 50 6C C62.... Pl
000110: 6F 74 20 61 20 70 75 72 65 6C 79 20 76 65 72 74 ot a purely vert
000120: 69 63 61 6C 20 6C 69 6E 65 2E 0D 0A 0D 0A 20 20 ical line.....
000130: 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A Action:....
000140: 20 20 20 20 20 20 20 44 72 61 77 20 61 20 6C 69 Draw a li
000150: 6E 65 20 20 6F 6E 20 20 74 68 65 20 20 73 63 72 ne on the scr
000160: 65 65 6E 20 20 74 68 61 74 20 20 72 75 6E 73 20 een that runs
000170: 20 76 65 72 74 69 63 61 6C 6C 79 2E 20 20 54 68 vertically. Th
000180: 65 20 20 53 43 52 20 20 57 52 49 54 45 0D 0A 20 e SCR WRITE..
000190: 20 20 20 20 20 20 69 6E 64 69 72 65 63 74 69 6F indirectio
0001A0: 6E 20 69 73 20 75 73 65 64 20 74 6F 20 20 70 6C n is used to pl
0001B0: 6F 74 20 20 70 69 78 65 6C 20 20 69 6E 20 20 74 ot pixel in t
0001C0: 68 65 20 20 6C 69 6E 65 20 20 74 68 75 73 20 20 he line thus
0001D0: 74 68 65 20 20 63 75 72 72 65 6E 74 0D 0A 20 20 the current..
0001E0: 20 20 20 20 20 47 72 61 70 68 69 63 73 20 56 44 Graphics VD
0001F0: 55 20 77 72 69 74 65 20 6D 6F 64 65 20 69 73 20 U write mode is
Size : 512 (Real : 512)
000000: 75 73 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 used.....
000010: 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 Entry conditions
000020: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 63 6F :.... A co
000030: 6E 74 61 69 6E 73 20 74 68 65 20 65 6E 63 6F 64 ntains the encod
000040: 65 64 20 69 6E 6B 20 74 6F 20 64 72 61 77 20 69 ed ink to draw i
000050: 6E 2E 0D 0A 20 20 20 20 20 20 20 44 45 20 63 6F n... DE co
000060: 6E 74 61 69 6E 73 20 74 68 65 20 62 61 73 65 20 ntains the base
000070: 58 20 63 6F 6F 72 64 69 6E 61 74 65 20 6F 66 20 X coordinate of
000080: 74 68 65 20 6C 69 6E 65 2E 0D 0A 20 20 20 20 20 the line...
000090: 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 HL contains th
0000A0: 65 20 62 61 73 65 20 59 20 63 6F 6F 72 64 69 6E e base Y coordin
0000B0: 61 74 65 20 6F 66 20 74 68 65 20 73 74 61 72 74 ate of the start
0000C0: 20 6F 66 20 74 68 65 20 6C 69 6E 65 2E 0D 0A 20 of the line...
0000D0: 20 20 20 20 20 20 42 43 20 63 6F 6E 74 61 69 6E BC contain
0000E0: 73 20 74 68 65 20 62 61 73 65 20 59 20 63 6F 6F s the base Y coo
0000F0: 72 64 69 6E 61 74 65 20 6F 66 20 74 68 65 20 65 rdinate of the e
000100: 6E 64 20 6F 66 20 74 68 65 20 6C 69 6E 65 2E 0D nd of the line..
000110: 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 ... Exit c
000120: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 onditions:....
000130: 20 20 20 20 20 41 46 2C 20 42 43 2C 20 44 45 20 AF, BC, DE
000140: 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D and HL corrupt..
000150: 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 . All othe
000160: 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 r registers pres
000170: 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 erved.......
000180: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 Notes:......
000190: 20 20 20 20 20 20 54 68 65 20 65 6E 64 70 6F 69 The endpoi
0001A0: 6E 74 73 20 6F 66 20 74 68 65 20 6C 69 6E 65 20 nts of the line
0001B0: 61 72 65 20 67 69 76 65 6E 20 69 6E 20 62 61 73 are given in bas
0001C0: 65 20 63 6F 6F 72 64 69 6E 61 74 65 73 2E 20 69 e coordinates. i
0001D0: 2E 65 2E 20 28 30 2C 30 29 20 69 73 0D 0A 20 20 .e. (0,0) is..
0001E0: 20 20 20 20 20 74 68 65 20 70 69 78 65 6C 20 69 the pixel i
0001F0: 6E 20 74 68 65 20 62 6F 74 74 6F 6D 20 6C 65 66 n the bottom lef
Size : 512 (Real : 512)
000000: 74 20 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 20 t corner of the
000010: 73 63 72 65 65 6E 20 61 6E 64 20 65 61 63 68 20 screen and each
000020: 20 63 6F 6F 72 64 69 6E 61 74 65 0D 0A 20 20 20 coordinate..
000030: 20 20 20 20 70 6F 73 69 74 69 6F 6E 20 72 65 66 position ref
000040: 65 72 73 20 74 6F 20 61 20 73 69 6E 67 6C 65 20 ers to a single
000050: 70 69 78 65 6C 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 pixel.......
000060: 20 20 20 54 68 65 20 65 6E 64 70 6F 69 6E 74 73 The endpoints
000070: 20 61 72 65 20 6E 6F 74 20 63 68 65 63 6B 65 64 are not checked
000080: 20 66 6F 72 20 62 65 69 6E 67 20 6C 65 67 61 6C for being legal
000090: 20 28 77 69 74 68 69 6E 20 20 74 68 65 20 20 6C (within the l
0000A0: 69 6D 69 74 73 20 20 6F 66 0D 0A 20 20 20 20 20 imits of..
0000B0: 20 20 74 68 65 20 73 63 72 65 65 6E 29 2E 20 49 the screen). I
0000C0: 66 20 74 68 65 79 20 61 72 65 20 6E 6F 74 20 20 f they are not
0000D0: 6C 65 67 61 6C 20 20 74 68 65 6E 20 20 75 6E 70 legal then unp
0000E0: 72 65 64 69 63 74 61 62 6C 65 20 20 65 66 66 65 redictable effe
0000F0: 63 74 73 20 20 6D 61 79 0D 0A 20 20 20 20 20 20 cts may..
000100: 20 6F 63 63 75 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 occur.......
000110: 20 20 20 20 54 68 65 20 73 74 61 72 74 20 59 20 The start Y
000120: 63 6F 6F 72 64 69 6E 61 74 65 20 6D 75 73 74 20 coordinate must
000130: 62 65 20 20 6C 65 73 73 20 20 74 68 61 6E 20 20 be less than
000140: 6F 72 20 20 65 71 75 61 6C 20 20 74 6F 20 20 74 or equal to t
000150: 68 65 20 20 65 6E 64 20 20 59 0D 0A 20 20 20 20 he end Y..
000160: 20 20 20 63 6F 6F 72 64 69 6E 61 74 65 2E 0D 0A coordinate...
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 .... This
000180: 72 6F 75 74 69 6E 65 20 6D 61 79 20 62 65 20 75 routine may be u
000190: 73 65 64 20 74 6F 20 64 75 70 6C 69 63 61 74 65 sed to duplicate
0001A0: 20 74 68 65 20 6D 65 74 68 6F 64 20 74 68 61 74 the method that
0001B0: 20 74 68 65 20 47 72 61 70 68 69 63 73 20 56 44 the Graphics VD
0001C0: 55 0D 0A 20 20 20 20 20 20 20 75 73 65 73 20 66 U.. uses f
0001D0: 6F 72 20 70 6C 6F 74 74 69 6E 67 20 6C 69 6E 65 or plotting line
0001E0: 73 20 2D 20 69 74 20 73 70 6C 69 74 73 20 61 20 s - it splits a
0001F0: 6C 69 6E 65 20 74 68 61 74 20 69 73 20 6D 6F 72 line that is mor
Size : 512 (Real : 512)
000000: 65 20 76 65 72 74 69 63 61 6C 20 20 74 68 61 6E e vertical than
000010: 0D 0A 20 20 20 20 20 20 20 68 6F 72 69 7A 6F 6E .. horizon
000020: 74 61 6C 20 69 6E 74 6F 20 61 20 6E 75 6D 62 65 tal into a numbe
000030: 72 20 6F 66 20 73 65 67 6D 65 6E 74 73 20 20 74 r of segments t
000040: 68 61 74 20 20 61 72 65 20 20 70 75 72 65 6C 79 hat are purely
000050: 20 20 76 65 72 74 69 63 61 6C 20 20 61 6E 64 0D vertical and.
000060: 0A 20 20 20 20 20 20 20 70 6C 6F 74 73 20 74 68 . plots th
000070: 65 73 65 20 73 65 70 61 72 61 74 65 6C 79 2E 0D ese separately..
000080: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 ....... Re
000090: 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A lated entries:..
0000A0: 0D 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 20 46 .... GRA F
0000B0: 52 4F 4D 20 55 53 45 52 0D 0A 20 20 20 20 20 20 ROM USER..
0000C0: 20 47 52 41 20 4C 49 4E 45 20 41 42 53 4F 4C 55 GRA LINE ABSOLU
0000D0: 54 45 0D 0A 20 20 20 20 20 20 20 47 52 41 20 4C TE.. GRA L
0000E0: 49 4E 45 20 52 45 4C 41 54 49 56 45 0D 0A 20 20 INE RELATIVE..
0000F0: 20 20 20 20 20 53 43 52 20 48 4F 52 49 5A 4F 4E SCR HORIZON
000100: 54 41 4C 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 TAL............
000110: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000120: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
000130: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 70 61 67 65 20 31 35 2E 31 32 33 0D 0A 0D 0A page 15.123....
000160: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000170: 20 31 31 39 3A 20 43 41 53 20 49 4E 49 54 49 41 119: CAS INITIA
000180: 4C 49 53 45 20 20 20 20 20 20 20 20 20 20 20 20 LISE
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 23 42 43 36 35 0D 0A 0D 0A 0D 0A 20 20 20 #BC65......
0001C0: 20 20 20 20 49 6E 69 74 69 61 6C 69 7A 65 20 74 Initialize t
0001D0: 68 65 20 43 61 73 73 65 74 74 65 20 4D 61 6E 61 he Cassette Mana
0001E0: 67 65 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ger.......
0001F0: 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 Action:......
Size : 512 (Real : 512)
000000: 20 20 20 20 20 46 75 6C 6C 20 69 6E 69 74 69 61 Full initia
000010: 6C 69 7A 61 74 69 6F 6E 20 6F 66 20 74 68 65 20 lization of the
000020: 43 61 73 73 65 74 74 65 20 4D 61 6E 61 67 65 72 Cassette Manager
000030: 20 28 61 73 20 75 73 65 64 20 64 75 72 69 6E 67 (as used during
000040: 20 45 4D 53 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 EMS).......
000050: 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 Entry conditi
000060: 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ons:......
000070: 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D No conditions..
000080: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 ..... Exit
000090: 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A conditions:....
0000A0: 0D 0A 20 20 20 20 20 20 20 41 46 2C 42 43 2C 44 .. AF,BC,D
0000B0: 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 E and HL corrupt
0000C0: 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 ... All ot
0000D0: 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 her registers pr
0000E0: 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 eserved.......
0000F0: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D Notes:.....
000100: 0A 20 20 20 20 20 20 20 4F 70 65 72 61 74 69 6F . Operatio
000110: 6E 73 20 63 61 72 72 69 65 64 20 6F 75 74 20 61 ns carried out a
000120: 72 65 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 re:......
000130: 20 20 20 20 20 20 20 20 20 41 6C 6C 20 73 74 72 All str
000140: 65 61 6D 73 20 61 72 65 20 6D 61 72 6B 65 64 20 eams are marked
000150: 63 6C 6F 73 65 64 2E 0D 0A 20 20 20 20 20 20 20 closed...
000160: 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 66 The def
000170: 61 75 6C 74 20 77 72 69 74 65 20 73 70 65 65 64 ault write speed
000180: 20 69 73 20 73 65 74 20 75 70 2E 0D 0A 20 20 20 is set up...
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 The
0001A0: 20 70 72 6F 6D 70 74 20 6D 65 73 73 61 67 65 73 prompt messages
0001B0: 20 61 72 65 20 74 75 72 6E 65 64 20 6F 66 66 2E are turned off.
0001C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001D0: 20 20 54 68 65 20 63 61 73 73 65 74 74 65 20 6D The cassette m
0001E0: 6F 74 6F 72 20 69 73 20 74 75 72 6E 65 64 20 6F otor is turned o
0001F0: 66 66 20 28 65 78 63 65 70 74 20 6F 6E 20 56 31 ff (except on V1
Size : 512 (Real : 512)
000000: 2E 30 20 66 69 72 6D 77 61 72 65 29 2E 0D 0A 0D .0 firmware)....
000010: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
000020: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
000030: 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 .. CAS IN
000040: 41 42 41 4E 44 4F 4E 0D 0A 20 20 20 20 20 20 20 ABANDON..
000050: 43 41 53 20 4E 4F 49 53 59 0D 0A 20 20 20 20 20 CAS NOISY..
000060: 20 20 43 41 53 20 4F 55 54 20 41 42 41 4E 44 4F CAS OUT ABANDO
000070: 4E 0D 0A 20 20 20 20 20 20 20 43 41 53 20 53 45 N.. CAS SE
000080: 54 20 53 50 45 45 44 0D 0A 20 20 20 20 20 20 20 T SPEED..
000090: 43 41 53 20 53 54 4F 50 20 4D 4F 54 4F 52 0D 0A CAS STOP MOTOR..
0000A0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
0000B0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
0000C0: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
0000D0: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
0000E0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 page
000100: 20 31 35 2E 31 32 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 15.124.........
000110: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 32 30 3A ..... 120:
000120: 20 43 41 53 20 53 45 54 20 53 50 45 45 44 20 20 CAS SET SPEED
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 20 20 20 20 20
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 43 #BC
000160: 36 38 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 68.... Set
000170: 20 74 68 65 20 77 72 69 74 65 20 73 70 65 65 64 the write speed
000180: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 ..... Acti
000190: 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 on:.... Se
0001A0: 74 20 74 68 65 20 6C 65 6E 67 74 68 20 74 6F 20 t the length to
0001B0: 77 72 69 74 65 20 62 69 74 73 20 61 6E 64 20 74 write bits and t
0001C0: 68 65 20 61 6D 6F 75 6E 74 20 6F 66 20 20 77 72 he amount of wr
0001D0: 69 74 65 20 20 70 72 65 63 6F 6D 70 65 6E 73 61 ite precompensa
0001E0: 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 74 6F 20 tion.. to
0001F0: 61 70 70 6C 79 2E 0D 0A 0D 0A 20 20 20 20 20 20 apply.....
Size : 512 (Real : 512)
000000: 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E Entry condition
000010: 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 48 4C 20 s:.... HL
000020: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 6C 65 6E contains the len
000030: 67 74 68 20 6F 66 20 68 61 6C 66 20 61 20 7A 65 gth of half a ze
000040: 72 6F 20 62 69 74 2E 0D 0A 20 20 20 20 20 20 20 ro bit...
000050: 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 A contains the p
000060: 72 65 63 6F 6D 70 65 6E 73 61 74 69 6F 6E 20 74 recompensation t
000070: 6F 20 61 70 70 6C 79 2E 0D 0A 0D 0A 20 20 20 20 o apply.....
000080: 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F Exit conditio
000090: 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 ns:.... AF
0000A0: 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E and HL corrupt.
0000B0: 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 .. All oth
0000C0: 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 er registers pre
0000D0: 73 65 72 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 served.....
0000E0: 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 Notes:....
0000F0: 20 20 20 54 68 65 20 73 70 65 65 64 20 73 75 70 The speed sup
000100: 70 6C 69 65 64 20 69 73 20 74 68 65 20 6C 65 6E plied is the len
000110: 67 74 68 20 6F 66 20 68 61 6C 66 20 61 20 7A 65 gth of half a ze
000120: 72 6F 20 62 69 74 20 69 6E 20 6D 69 63 72 6F 73 ro bit in micros
000130: 65 63 6F 6E 64 73 2E 20 41 0D 0A 20 20 20 20 20 econds. A..
000140: 20 20 6F 6E 65 20 62 69 74 20 69 73 20 77 72 69 one bit is wri
000150: 74 74 65 6E 20 61 73 20 74 77 69 63 65 20 74 68 tten as twice th
000160: 65 20 20 6C 65 6E 67 74 68 20 20 6F 66 20 20 61 e length of a
000170: 20 20 7A 65 72 6F 20 20 62 69 74 2E 20 20 54 68 zero bit. Th
000180: 65 20 20 73 70 65 65 64 0D 0A 20 20 20 20 20 20 e speed..
000190: 20 73 75 70 70 6C 69 65 64 20 63 61 6E 20 62 65 supplied can be
0001A0: 20 72 65 6C 61 74 65 64 20 74 6F 20 20 74 68 65 related to the
0001B0: 20 20 61 76 65 72 61 67 65 20 20 62 61 75 64 20 average baud
0001C0: 20 72 61 74 65 20 20 28 61 73 73 75 6D 69 6E 67 rate (assuming
0001D0: 20 20 65 71 75 61 6C 0D 0A 0D 0A 20 20 20 20 20 equal....
0001E0: 20 20 6E 75 6D 62 65 72 73 20 6F 66 20 6F 6E 65 numbers of one
0001F0: 73 20 61 6E 64 20 7A 65 72 6F 73 29 20 62 79 20 s and zeros) by
Size : 512 (Real : 512)
000000: 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 65 71 the following eq
000010: 75 61 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 uation:....
000020: 20 20 20 20 20 20 20 20 20 20 20 41 76 65 72 61 Avera
000030: 67 65 20 62 61 75 64 20 72 61 74 65 0D 0A 0D 0A ge baud rate....
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 3D 20 31 20 30 30 30 20 30 30 30 20 2F 20 28 33 = 1 000 000 / (3
000060: 20 2A 20 48 61 6C 66 7A 65 72 6F 20 6C 65 6E 67 * Halfzero leng
000070: 74 68 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 th)..
000080: 20 20 20 20 20 3D 20 20 20 33 33 33 20 33 33 33 = 333 333
000090: 20 2F 20 48 61 6C 66 7A 65 72 6F 20 6C 65 6E 67 / Halfzero leng
0000A0: 74 68 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 th.... The
0000B0: 20 68 61 6C 66 7A 65 72 6F 20 6C 65 6E 67 74 68 halfzero length
0000C0: 20 6D 75 73 74 20 6C 69 65 20 62 65 74 77 65 65 must lie betwee
0000D0: 6E 20 31 33 30 20 61 6E 64 20 34 38 30 20 6D 69 n 130 and 480 mi
0000E0: 63 72 6F 73 65 63 6F 6E 64 73 2E 20 20 56 61 6C croseconds. Val
0000F0: 75 65 73 0D 0A 20 20 20 20 20 20 20 6F 75 74 73 ues.. outs
000100: 69 64 65 20 74 68 69 73 20 72 61 6E 67 65 20 77 ide this range w
000110: 69 6C 6C 20 63 61 75 73 65 20 72 65 61 64 20 61 ill cause read a
000120: 6E 64 20 77 72 69 74 65 20 65 72 72 6F 72 73 2E nd write errors.
000130: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 70 .... The p
000140: 72 65 63 6F 6D 70 65 6E 73 61 74 69 6F 6E 20 73 recompensation s
000150: 75 70 70 6C 69 65 64 20 69 73 20 74 68 65 20 65 upplied is the e
000160: 78 74 72 61 20 6C 65 6E 67 74 68 2C 20 69 6E 20 xtra length, in
000170: 6D 69 63 72 6F 73 65 63 6F 6E 64 73 2C 20 20 74 microseconds, t
000180: 6F 0D 0A 20 20 20 20 20 20 20 61 64 64 20 74 6F o.. add to
000190: 20 68 61 6C 66 20 61 20 6F 6E 65 20 62 69 74 20 half a one bit
0001A0: 61 6E 64 20 74 6F 20 73 75 62 74 72 61 63 74 20 and to subtract
0001B0: 20 66 72 6F 6D 20 20 68 61 6C 66 20 20 61 20 20 from half a
0001C0: 7A 65 72 6F 20 20 62 69 74 20 20 75 6E 64 65 72 zero bit under
0001D0: 0D 0A 20 20 20 20 20 20 20 63 65 72 74 61 69 6E .. certain
0001E0: 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 20 54 68 65 conditions. The
0001F0: 20 61 6D 6F 75 6E 74 20 6F 66 20 70 72 65 63 6F amount of preco
Size : 512 (Real : 512)
000000: 6D 70 65 6E 73 61 74 69 6F 6E 20 72 65 71 75 69 mpensation requi
000010: 72 65 64 20 76 61 72 69 65 73 20 77 69 74 68 0D red varies with.
000020: 0A 20 20 20 20 20 20 20 74 68 65 20 73 70 65 65 . the spee
000030: 64 20 28 6D 6F 72 65 20 69 73 20 72 65 71 75 69 d (more is requi
000040: 72 65 64 20 61 74 20 68 69 67 68 65 72 20 62 61 red at higher ba
000050: 75 64 20 72 61 74 65 73 29 2E 0D 0A 0D 0A 20 20 ud rates).....
000060: 20 20 20 20 20 54 68 65 20 70 72 65 63 6F 6D 70 The precomp
000070: 65 6E 73 61 74 69 6F 6E 20 6D 61 79 20 6C 69 65 ensation may lie
000080: 20 62 65 74 77 65 65 6E 20 30 20 61 6E 64 20 20 between 0 and
000090: 32 35 35 20 20 6D 69 63 72 6F 73 65 63 6F 6E 64 255 microsecond
0000A0: 73 20 20 61 6C 74 68 6F 75 67 68 0D 0A 20 20 20 s although..
0000B0: 20 20 20 20 74 68 65 20 68 69 67 68 65 72 20 73 the higher s
0000C0: 65 74 74 69 6E 67 73 20 61 72 65 20 6E 6F 74 20 ettings are not
0000D0: 75 73 65 66 75 6C 20 61 73 20 74 68 65 79 20 77 useful as they w
0000E0: 69 6C 6C 20 63 61 75 73 65 20 72 65 61 64 20 20 ill cause read
0000F0: 61 6E 64 20 20 77 72 69 74 65 0D 0A 20 20 20 20 and write..
000100: 20 20 20 65 72 72 6F 72 73 2E 0D 0A 0D 0A 20 20 errors.....
000110: 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6C 74 The default
000120: 20 68 61 6C 66 20 7A 65 72 6F 20 6C 65 6E 67 74 half zero lengt
000130: 68 20 20 61 6E 64 20 20 70 72 65 63 6F 6D 70 65 h and precompe
000140: 6E 73 61 74 69 6F 6E 20 20 73 65 74 74 69 6E 67 nsation setting
000150: 73 20 20 61 72 65 20 20 33 33 33 0D 0A 20 20 20 s are 333..
000160: 20 20 20 20 6D 69 63 72 6F 73 65 63 6F 6E 64 73 microseconds
000170: 20 20 28 31 30 30 30 20 20 62 61 75 64 29 20 20 (1000 baud)
000180: 61 6E 64 20 20 32 35 20 20 6D 69 63 72 6F 73 65 and 25 microse
000190: 63 6F 6E 64 73 20 20 72 65 73 70 65 63 74 69 76 conds respectiv
0001A0: 65 6C 79 2E 20 20 20 54 68 65 0D 0A 20 20 20 20 ely. The..
0001B0: 20 20 20 63 6F 6D 6D 6F 6E 6C 79 20 75 73 65 64 commonly used
0001C0: 20 66 61 73 74 65 72 20 73 65 74 74 69 6E 67 20 faster setting
0001D0: 69 73 20 31 36 37 20 6D 69 63 72 6F 73 65 63 6F is 167 microseco
0001E0: 6E 64 73 20 28 32 30 30 30 20 62 61 75 64 29 20 nds (2000 baud)
0001F0: 20 77 69 74 68 20 20 35 30 0D 0A 20 20 20 20 20 with 50..
Size : 512 (Real : 512)
000000: 20 20 6D 69 63 72 6F 73 65 63 6F 6E 64 73 20 6F microseconds o
000010: 66 20 70 72 65 63 6F 6D 70 65 6E 73 61 74 69 6F f precompensatio
000020: 6E 2E 20 54 68 65 73 65 20 20 76 61 6C 75 65 73 n. These values
000030: 20 20 68 61 76 65 20 20 62 65 65 6E 20 20 64 65 have been de
000040: 74 65 72 6D 69 6E 65 64 0D 0A 20 20 20 20 20 20 termined..
000050: 20 61 66 74 65 72 20 65 78 74 65 6E 73 69 76 65 after extensive
000060: 20 74 65 73 74 69 6E 67 20 61 6E 64 20 74 68 65 testing and the
000070: 20 75 73 65 72 20 69 73 20 61 64 76 69 73 65 64 user is advised
000080: 20 74 6F 20 73 74 69 63 6B 20 74 6F 20 74 68 65 to stick to the
000090: 6D 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C m..... Rel
0000A0: 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D ated entries:...
0000B0: 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E 49 54 . CAS INIT
0000C0: 49 41 4C 49 53 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A IALISE..........
0000D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
0000E0: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
0000F0: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 FIRMWARE
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 31 32 page 15.12
000120: 35 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 5..............
000130: 20 20 20 20 20 20 31 32 31 3A 20 43 41 53 20 4E 121: CAS N
000140: 4F 49 53 59 20 20 20 20 20 20 20 20 20 20 20 20 OISY
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 23 42 43 36 42 0D 0A 0D 0A #BC6B....
000180: 0D 0A 20 20 20 20 20 20 20 45 6E 61 62 6C 65 20 .. Enable
000190: 6F 72 20 64 69 73 61 62 6C 65 20 70 72 6F 6D 70 or disable promp
0001A0: 74 20 6D 65 73 73 61 67 65 73 2E 0D 0A 0D 0A 0D t messages......
0001B0: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
0001C0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 44 69 73 61 ..... Disa
0001D0: 62 6C 69 6E 67 20 6D 65 73 73 61 67 65 73 20 77 bling messages w
0001E0: 69 6C 6C 20 70 72 65 76 65 6E 74 20 74 68 65 20 ill prevent the
0001F0: 70 72 6F 6D 70 74 20 20 61 6E 64 20 20 69 6E 66 prompt and inf
Size : 512 (Real : 512)
000000: 6F 72 6D 61 74 69 6F 6E 20 20 6D 65 73 73 61 67 ormation messag
000010: 65 73 0D 0A 20 20 20 20 20 20 20 66 72 6F 6D 20 es.. from
000020: 62 65 69 6E 67 20 70 72 69 6E 74 65 64 2E 20 49 being printed. I
000030: 74 20 77 69 6C 6C 20 6E 6F 74 20 20 70 72 65 76 t will not prev
000040: 65 6E 74 20 20 65 72 72 6F 72 20 20 6D 65 73 73 ent error mess
000050: 61 67 65 73 20 20 66 72 6F 6D 20 20 62 65 69 6E ages from bein
000060: 67 0D 0A 20 20 20 20 20 20 20 70 72 69 6E 74 65 g.. printe
000070: 64 2E 20 45 6E 61 62 6C 69 6E 67 20 6D 65 73 73 d. Enabling mess
000080: 61 67 65 73 20 61 6C 6C 6F 77 73 20 61 6C 6C 20 ages allows all
000090: 6D 65 73 73 61 67 65 73 20 74 6F 20 62 65 20 70 messages to be p
0000A0: 72 69 6E 74 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 rinted.....
0000B0: 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F Entry conditio
0000C0: 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 ns:.... If
0000D0: 20 6D 65 73 73 61 67 65 73 20 61 72 65 20 74 6F messages are to
0000E0: 20 62 65 20 65 6E 61 62 6C 65 64 3A 0D 0A 0D 0A be enabled:....
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 41 20 6D 75 73 74 20 62 65 20 7A 65 72 6F 2E 0D A must be zero..
000110: 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 6D 65 73 ... If mes
000120: 73 61 67 65 73 20 61 72 65 20 74 6F 20 62 65 20 sages are to be
000130: 64 69 73 61 62 6C 65 64 3A 0D 0A 0D 0A 20 20 20 disabled:....
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 6D A m
000150: 75 73 74 20 62 65 20 6E 6F 6E 2D 7A 65 72 6F 2E ust be non-zero.
000160: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
000170: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 conditions:....
000180: 20 20 20 20 20 20 41 46 20 63 6F 72 72 75 70 74 AF corrupt
000190: 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 ... All ot
0001A0: 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 her registers pr
0001B0: 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 eserved.......
0001C0: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D Notes:.....
0001D0: 0A 20 20 20 20 20 20 20 54 68 65 20 70 72 6F 6D . The prom
0001E0: 70 74 20 61 6E 64 20 69 6E 66 6F 72 6D 61 74 69 pt and informati
0001F0: 6F 6E 20 6D 65 73 73 61 67 65 73 20 77 68 69 63 on messages whic
Size : 512 (Real : 512)
000000: 68 20 61 72 65 20 74 75 72 6E 65 64 20 6F 66 66 h are turned off
000010: 20 61 72 65 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 are:......
000020: 20 20 20 20 20 20 20 20 20 20 20 50 72 65 73 73 Press
000030: 20 50 4C 41 59 20 74 68 65 6E 20 61 6E 79 20 6B PLAY then any k
000040: 65 79 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ey:..
000050: 20 20 20 20 20 50 72 65 73 73 20 52 45 43 20 61 Press REC a
000060: 6E 64 20 50 4C 41 59 20 74 68 65 6E 20 61 6E 79 nd PLAY then any
000070: 20 6B 65 79 3A 0D 0A 20 20 20 20 20 20 20 20 20 key:..
000080: 20 20 20 20 20 20 20 46 6F 75 6E 64 20 3C 46 49 Found <FI
000090: 4C 45 4E 41 4D 45 3E 20 62 6C 6F 63 6B 20 3C 4E LENAME> block <N
0000A0: 3E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 >..
0000B0: 20 20 20 4C 6F 61 64 69 6E 67 20 3C 46 49 4C 45 Loading <FILE
0000C0: 4E 41 4D 45 3E 20 62 6C 6F 63 6B 20 3C 4E 3E 0D NAME> block <N>.
0000D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000E0: 20 53 61 76 69 6E 67 20 3C 46 49 4C 45 4E 41 4D Saving <FILENAM
0000F0: 45 3E 20 62 6C 6F 63 6B 20 3C 4E 3E 0D 0A 0D 0A E> block <N>....
000100: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 65 72 72 .. The err
000110: 6F 72 20 6D 65 73 73 61 67 65 73 20 77 68 69 63 or messages whic
000120: 68 20 61 72 65 20 6E 6F 74 20 74 75 72 6E 65 64 h are not turned
000130: 20 6F 66 66 20 61 72 65 3A 0D 0A 0D 0A 0D 0A 20 off are:......
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 R
000150: 65 61 64 20 65 72 72 6F 72 20 3C 78 3E 0D 0A 20 ead error <x>..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 W
000170: 72 69 74 65 20 65 72 72 6F 72 20 61 0D 0A 20 20 rite error a..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 Re
000190: 77 69 6E 64 20 74 61 70 65 0D 0A 0D 0A 0D 0A 0D wind tape.......
0001A0: 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 . Related
0001B0: 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 entries:....
0001C0: 20 20 20 43 41 53 20 49 4E 49 54 49 41 4C 49 53 CAS INITIALIS
0001D0: 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 E............
0001E0: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
0001F0: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
Size : 512 (Real : 512)
000000: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
000020: 61 67 65 20 31 35 2E 31 32 36 0D 0A 0D 0A 0D 0A age 15.126......
000030: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 ........ 1
000040: 32 32 3A 20 43 41 53 20 53 54 41 52 54 20 4D 4F 22: CAS START MO
000050: 54 4F 52 20 20 20 20 20 20 20 20 20 20 20 20 20 TOR
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 20 20 20 20 20 20 20 20
000080: 23 42 43 36 45 0D 0A 0D 0A 0D 0A 20 20 20 20 20 #BC6E......
000090: 20 20 53 74 61 72 74 20 74 68 65 20 63 61 73 73 Start the cass
0000A0: 65 74 74 65 20 6D 6F 74 6F 72 2E 0D 0A 0D 0A 0D ette motor......
0000B0: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
0000C0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 75 72 6E ..... Turn
0000D0: 20 74 68 65 20 63 61 73 73 65 74 74 65 20 6D 6F the cassette mo
0000E0: 74 6F 72 20 6F 6E 20 61 6E 64 20 77 61 69 74 20 tor on and wait
0000F0: 66 6F 72 20 69 74 20 74 6F 20 70 69 63 6B 20 75 for it to pick u
000100: 70 20 73 70 65 65 64 20 69 66 20 69 74 20 20 77 p speed if it w
000110: 61 73 0D 0A 20 20 20 20 20 20 20 70 72 65 76 69 as.. previ
000120: 6F 75 73 6C 79 20 6F 66 66 2E 0D 0A 0D 0A 0D 0A ously off.......
000130: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
000140: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
000150: 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F No conditio
000160: 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns.......
000170: 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A Exit conditions:
000180: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 ...... If
000190: 74 68 65 20 6D 6F 74 6F 72 20 74 75 72 6E 65 64 the motor turned
0001A0: 20 6F 6E 20 4F 4B 3A 0D 0A 0D 0A 20 20 20 20 20 on OK:....
0001B0: 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 79 Carry
0001C0: 20 74 72 75 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 true.....
0001D0: 20 49 66 20 74 68 65 20 75 73 65 72 20 68 69 74 If the user hit
0001E0: 20 65 73 63 61 70 65 3A 0D 0A 0D 0A 20 20 20 20 escape:....
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 Carr
Size : 512 (Real : 512)
000000: 79 20 66 61 6C 73 65 2E 0D 0A 0D 0A 20 20 20 20 y false.....
000010: 20 20 20 41 6C 77 61 79 73 3A 0D 0A 0D 0A 20 20 Always:....
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 A
000030: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 72 65 contains the pre
000040: 76 69 6F 75 73 20 6D 6F 74 6F 72 20 73 74 61 74 vious motor stat
000050: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 e.....
000060: 20 20 20 20 20 20 4F 74 68 65 72 20 66 6C 61 67 Other flag
000070: 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 s corrupt...
000080: 20 20 20 20 20 20 20 20 20 20 20 20 41 6C 6C 20 All
000090: 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 other registers
0000A0: 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 20 20 preserved.....
0000B0: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 Notes:....
0000C0: 20 20 20 20 20 20 49 66 20 20 74 68 65 20 20 6D If the m
0000D0: 6F 74 6F 72 20 20 69 73 20 20 6E 6F 74 20 20 61 otor is not a
0000E0: 6C 72 65 61 64 79 20 20 6F 6E 20 20 74 68 65 6E lready on then
0000F0: 20 20 74 68 65 20 20 72 6F 75 74 69 6E 65 20 20 the routine
000100: 20 77 61 69 74 73 20 20 20 66 6F 72 0D 0A 20 20 waits for..
000110: 20 20 20 20 20 61 70 70 72 6F 78 69 6D 61 74 65 approximate
000120: 6C 79 20 74 77 6F 20 73 65 63 6F 6E 64 73 20 74 ly two seconds t
000130: 6F 20 61 6C 6C 6F 77 20 74 68 65 20 74 61 70 65 o allow the tape
000140: 20 74 6F 20 72 65 61 63 68 20 66 75 6C 6C 20 73 to reach full s
000150: 70 65 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 peed.....
000160: 54 68 65 20 6D 6F 74 6F 72 20 69 73 20 61 6C 77 The motor is alw
000170: 61 79 73 20 74 75 72 6E 65 64 20 6F 6E 20 62 79 ays turned on by
000180: 20 74 68 69 73 20 72 6F 75 74 69 6E 65 2E 20 49 this routine. I
000190: 66 20 74 68 65 20 20 75 73 65 72 20 20 68 69 74 f the user hit
0001A0: 73 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 65 s the.. e
0001B0: 73 63 61 70 65 20 6B 65 79 20 74 68 65 6E 20 74 scape key then t
0001C0: 68 65 20 74 69 6D 65 20 73 70 65 6E 74 20 77 61 he time spent wa
0001D0: 69 74 69 6E 67 20 66 6F 72 20 74 68 65 20 6D 6F iting for the mo
0001E0: 74 6F 72 20 74 6F 20 70 69 63 6B 20 75 70 20 20 tor to pick up
0001F0: 73 70 65 65 64 0D 0A 20 20 20 20 20 20 20 69 73 speed.. is
Size : 512 (Real : 512)
000000: 20 74 72 75 6E 63 61 74 65 64 2E 0D 0A 0D 0A 20 truncated.....
000010: 20 20 20 20 20 20 54 68 65 20 70 72 65 76 69 6F The previo
000020: 75 73 20 6D 6F 74 6F 72 20 73 74 61 74 65 20 6D us motor state m
000030: 61 79 20 62 65 20 70 61 73 73 65 64 20 74 6F 20 ay be passed to
000040: 43 41 53 20 52 45 53 54 4F 52 45 20 4D 4F 54 4F CAS RESTORE MOTO
000050: 52 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 R.........
000060: 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 Related entries
000070: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 43 41 53 20 :.... CAS
000080: 52 45 53 54 4F 52 45 20 4D 4F 54 4F 52 0D 0A 20 RESTORE MOTOR..
000090: 20 20 20 20 20 20 43 41 53 20 53 54 4F 50 20 4D CAS STOP M
0000A0: 4F 54 4F 52 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A OTOR............
0000B0: 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 AMSTRAD C
0000C0: 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 PC464/664/6128 F
0000D0: 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 IRMWARE
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 70 61 67 65 20 31 35 2E 31 32 37 0D 0A 0D page 15.127...
000100: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
000110: 20 20 31 32 33 3A 20 43 41 53 20 53 54 4F 50 20 123: CAS STOP
000120: 4D 4F 54 4F 52 20 20 20 20 20 20 20 20 20 20 20 MOTOR
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 20 20 20 20 20
000150: 20 20 20 23 42 43 37 31 0D 0A 0D 0A 0D 0A 20 20 #BC71......
000160: 20 20 20 20 20 53 74 6F 70 20 74 68 65 20 63 61 Stop the ca
000170: 73 73 65 74 74 65 20 6D 6F 74 6F 72 2E 0D 0A 0D ssette motor....
000180: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
000190: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 75 :...... Tu
0001A0: 72 6E 20 74 68 65 20 63 61 73 73 65 74 74 65 20 rn the cassette
0001B0: 6D 6F 74 6F 72 20 6F 66 66 20 61 6E 64 20 72 65 motor off and re
0001C0: 74 75 72 6E 20 69 74 73 20 70 72 65 76 69 6F 75 turn its previou
0001D0: 73 20 73 74 61 74 65 2E 0D 0A 0D 0A 0D 0A 20 20 s state.......
0001E0: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
0001F0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
Size : 512 (Real : 512)
000000: 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 No conditions
000010: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 ....... Ex
000020: 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A it conditions:..
000030: 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 .... If th
000040: 65 20 6D 6F 74 6F 72 20 77 61 73 20 74 75 72 6E e motor was turn
000050: 65 64 20 6F 66 66 20 4F 4B 3A 0D 0A 0D 0A 0D 0A ed off OK:......
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 43 61 72 72 79 20 74 72 75 65 2E 0D 0A 0D 0A 0D Carry true......
000080: 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 75 . If the u
000090: 73 65 72 20 68 69 74 20 65 73 63 61 70 65 3A 0D ser hit escape:.
0000A0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0000B0: 20 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 Carry false
0000C0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C ....... Al
0000D0: 77 61 79 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ways:....
0000E0: 20 20 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 A conta
0000F0: 69 6E 73 20 74 68 65 20 70 72 65 76 69 6F 75 73 ins the previous
000100: 20 6D 6F 74 6F 72 20 73 74 61 74 65 2E 0D 0A 0D motor state....
000110: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000120: 20 4F 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 Other flags cor
000130: 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 rupt...
000140: 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 All other
000150: 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 registers prese
000160: 72 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 rved.....
000170: 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 Notes:......
000180: 20 20 20 54 68 65 20 6D 6F 74 6F 72 20 69 73 20 The motor is
000190: 61 6C 77 61 79 73 20 74 75 72 6E 65 64 20 6F 66 always turned of
0001A0: 66 20 62 79 20 74 68 69 73 20 72 6F 75 74 69 6E f by this routin
0001B0: 65 2E 20 54 68 65 72 65 20 69 73 20 6E 6F 20 20 e. There is no
0001C0: 64 65 6C 61 79 20 20 74 6F 0D 0A 20 20 20 20 20 delay to..
0001D0: 20 20 61 6C 6C 6F 77 20 74 68 65 20 6D 6F 74 6F allow the moto
0001E0: 72 20 74 6F 20 73 6C 6F 77 20 64 6F 77 6E 2E 0D r to slow down..
0001F0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
Size : 512 (Real : 512)
000000: 70 72 65 76 69 6F 75 73 20 6D 6F 74 6F 72 20 73 previous motor s
000010: 74 61 74 65 20 6D 61 79 20 62 65 20 70 61 73 73 tate may be pass
000020: 65 64 20 74 6F 20 43 41 53 20 52 45 53 54 4F 52 ed to CAS RESTOR
000030: 45 20 4D 4F 54 4F 52 2E 0D 0A 0D 0A 0D 0A 20 20 E MOTOR.......
000040: 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 Related ent
000050: 72 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ries:....
000060: 43 41 53 20 52 45 53 54 4F 52 45 20 4D 4F 54 4F CAS RESTORE MOTO
000070: 52 0D 0A 20 20 20 20 20 20 20 43 41 53 20 53 54 R.. CAS ST
000080: 41 52 54 20 4D 4F 54 4F 52 0D 0A 0D 0A 0D 0A 0D ART MOTOR.......
000090: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 ..... AMST
0000A0: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
0000B0: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 FIRMWARE
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 31 page 15.1
0000E0: 32 38 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 28..............
0000F0: 20 20 20 20 20 20 20 31 32 34 3A 20 43 41 53 20 124: CAS
000100: 52 45 53 54 4F 52 45 20 4D 4F 54 4F 52 20 20 20 RESTORE MOTOR
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 20 20 20 20 20 20 23 42 43 37 34 0D 0A 0D #BC74...
000140: 0A 0D 0A 20 20 20 20 20 20 20 52 65 73 74 6F 72 ... Restor
000150: 65 20 70 72 65 76 69 6F 75 73 20 73 74 61 74 65 e previous state
000160: 20 6F 66 20 63 61 73 73 65 74 74 65 20 6D 6F 74 of cassette mot
000170: 6F 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 or.......
000180: 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 Action:......
000190: 20 20 20 20 54 75 72 6E 20 74 68 65 20 63 61 73 Turn the cas
0001A0: 73 65 74 74 65 20 6D 6F 74 6F 72 20 6F 6E 20 6F sette motor on o
0001B0: 72 20 6F 66 66 20 61 67 61 69 6E 2E 20 57 61 69 r off again. Wai
0001C0: 74 20 66 6F 72 20 20 6D 6F 74 6F 72 20 20 74 6F t for motor to
0001D0: 20 20 70 69 63 6B 20 20 75 70 0D 0A 20 20 20 20 pick up..
0001E0: 20 20 20 73 70 65 65 64 20 77 68 65 6E 20 74 75 speed when tu
0001F0: 72 6E 69 6E 67 20 74 68 65 20 6D 6F 74 6F 72 20 rning the motor
Size : 512 (Real : 512)
000000: 6F 6E 20 69 66 20 69 74 20 69 73 20 63 75 72 72 on if it is curr
000010: 65 6E 74 6C 79 20 6F 66 66 2E 0D 0A 0D 0A 0D 0A ently off.......
000020: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
000030: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
000040: 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 A contains
000050: 74 68 65 20 70 72 65 76 69 6F 75 73 20 6D 6F 74 the previous mot
000060: 6F 72 20 73 74 61 74 65 2E 0D 0A 0D 0A 0D 0A 20 or state.......
000070: 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 Exit condi
000080: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
000090: 20 20 20 49 66 20 74 68 65 20 6D 6F 74 6F 72 20 If the motor
0000A0: 77 61 73 20 74 75 72 6E 65 64 20 6F 6E 20 6F 72 was turned on or
0000B0: 20 6F 66 66 20 4F 4B 3A 0D 0A 0D 0A 0D 0A 20 20 off OK:......
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 Ca
0000D0: 72 72 79 20 74 72 75 65 2E 0D 0A 0D 0A 20 20 20 rry true.....
0000E0: 20 20 20 20 49 66 20 74 68 65 20 75 73 65 72 20 If the user
0000F0: 68 69 74 20 65 73 63 61 70 65 3A 0D 0A 0D 0A 20 hit escape:....
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
000110: 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 0D 0A 0D arry false......
000120: 0A 20 20 20 20 20 20 20 41 6C 77 61 79 73 3A 0D . Always:.
000130: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000140: 20 20 20 41 20 61 6E 64 20 6F 74 68 65 72 20 66 A and other f
000150: 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 lags corrupt...
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 A
000170: 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 ll other registe
000180: 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D rs preserved....
000190: 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A . Notes:..
0001A0: 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 6F .. This ro
0001B0: 75 74 69 6E 65 20 75 73 65 73 20 74 68 65 20 70 utine uses the p
0001C0: 72 65 76 69 6F 75 73 20 6D 6F 74 6F 72 20 73 74 revious motor st
0001D0: 61 74 65 20 61 73 20 72 65 74 75 72 6E 65 64 20 ate as returned
0001E0: 20 62 79 20 20 43 41 53 20 20 53 54 41 52 54 0D by CAS START.
0001F0: 0A 20 20 20 20 20 20 20 4D 4F 54 4F 52 20 6F 72 . MOTOR or
Size : 512 (Real : 512)
000000: 20 43 41 53 20 53 54 4F 50 20 4D 4F 54 4F 52 2E CAS STOP MOTOR.
000010: 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 63 61 .... If ca
000020: 6C 6C 69 6E 67 20 74 68 69 73 20 72 6F 75 74 69 lling this routi
000030: 6E 65 20 72 65 73 75 6C 74 73 20 69 6E 20 74 68 ne results in th
000040: 65 20 6D 6F 74 6F 72 20 62 65 69 6E 67 20 74 75 e motor being tu
000050: 72 6E 65 64 20 6F 6E 20 20 77 68 65 6E 20 20 69 rned on when i
000060: 74 0D 0A 20 20 20 20 20 20 20 69 73 20 63 75 72 t.. is cur
000070: 72 65 6E 74 6C 79 20 6F 66 66 20 74 68 65 6E 20 rently off then
000080: 74 68 65 20 72 6F 75 74 69 6E 65 20 77 61 69 74 the routine wait
000090: 73 20 66 6F 72 20 61 70 70 72 6F 78 69 6D 61 74 s for approximat
0000A0: 65 6C 79 20 74 77 6F 20 20 73 65 63 6F 6E 64 73 ely two seconds
0000B0: 0D 0A 20 20 20 20 20 20 20 74 6F 20 61 6C 6C 6F .. to allo
0000C0: 77 20 74 68 65 20 74 61 70 65 20 74 6F 20 72 65 w the tape to re
0000D0: 61 63 68 20 66 75 6C 6C 20 73 70 65 65 64 2E 0D ach full speed..
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 6D 6F ... The mo
0000F0: 74 6F 72 20 69 73 20 61 6C 77 61 79 73 20 74 75 tor is always tu
000100: 72 6E 65 64 20 6F 6E 20 6F 72 20 6F 66 66 20 28 rned on or off (
000110: 61 73 20 61 70 70 72 6F 70 72 69 61 74 65 29 20 as appropriate)
000120: 62 79 20 74 68 69 73 20 72 6F 75 74 69 6E 65 2E by this routine.
000130: 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 .. If the
000140: 75 73 65 72 20 68 69 74 73 20 74 68 65 20 65 73 user hits the es
000150: 63 61 70 65 20 6B 65 79 20 74 68 65 6E 20 74 68 cape key then th
000160: 69 73 20 6D 65 72 65 6C 79 20 20 74 72 75 6E 63 is merely trunc
000170: 61 74 65 73 20 20 74 68 65 20 20 74 69 6D 65 0D ates the time.
000180: 0A 20 20 20 20 20 20 20 73 70 65 6E 74 20 77 61 . spent wa
000190: 69 74 69 6E 67 20 66 6F 72 20 74 68 65 20 6D 6F iting for the mo
0001A0: 74 6F 72 20 74 6F 20 70 69 63 6B 20 75 70 20 73 tor to pick up s
0001B0: 70 65 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 peed.....
0001C0: 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A Related entries:
0001D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 43 41 53 20 53 .... CAS S
0001E0: 54 41 52 54 20 4D 4F 54 4F 52 0D 0A 20 20 20 20 TART MOTOR..
0001F0: 20 20 20 43 41 53 20 53 54 4F 50 20 4D 4F 54 4F CAS STOP MOTO
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 34 34 3A 20 54 58 54 20 43 55 52 20 4F 44: TXT CUR O
000020: 46 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 42 38 34 0D 0A 0D 0A 0D 0A 0D #BB84.......
000060: 0A 20 20 20 20 20 20 20 44 69 73 73 61 6C 6C 6F . Dissallo
000070: 77 20 63 75 72 73 6F 72 20 64 69 73 70 6C 61 79 w cursor display
000080: 20 2D 20 73 79 73 74 65 6D 2E 0D 0A 0D 0A 0D 0A - system.......
000090: 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A .. Action:
0000A0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 50 ........ P
0000B0: 72 65 76 65 6E 74 20 74 68 65 20 63 75 72 73 6F revent the curso
0000C0: 72 20 62 6C 6F 62 20 66 6F 72 20 74 68 65 20 63 r blob for the c
0000D0: 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 74 65 urrently selecte
0000E0: 64 20 73 74 72 65 61 6D 20 20 66 72 6F 6D 20 20 d stream from
0000F0: 62 65 69 6E 67 0D 0A 20 20 20 20 20 20 20 70 6C being.. pl
000100: 61 63 65 64 20 6F 6E 20 74 68 65 20 73 63 72 65 aced on the scre
000110: 65 6E 2E 20 54 68 65 20 63 75 72 73 6F 72 20 62 en. The cursor b
000120: 6C 6F 62 20 77 69 6C 6C 20 62 65 20 72 65 6D 6F lob will be remo
000130: 76 65 64 20 66 72 6F 6D 20 74 68 65 20 20 73 63 ved from the sc
000140: 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 69 6D 6D reen.. imm
000150: 65 64 69 61 74 65 6C 79 20 69 66 20 69 74 20 69 ediately if it i
000160: 73 20 63 75 72 72 65 6E 74 6C 79 20 74 68 65 72 s currently ther
000170: 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 e.........
000180: 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E Entry condition
000190: 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 s:........
0001A0: 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D No conditions..
0001B0: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 ....... Ex
0001C0: 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A it conditions:..
0001D0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 6C ...... All
0001E0: 20 72 65 67 69 73 74 65 72 73 20 61 6E 64 20 66 registers and f
0001F0: 6C 61 67 73 20 70 72 65 73 65 72 76 65 64 2E 0D lags preserved..
Size : 512 (Real : 512)
000000: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ....... No
000010: 74 65 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 tes:........
000020: 20 20 20 54 75 72 6E 69 6E 67 20 74 68 65 20 63 Turning the c
000030: 75 72 73 6F 72 20 6F 6E 20 61 6E 64 20 6F 66 66 ursor on and off
000040: 20 69 73 20 69 6E 74 65 6E 64 65 64 20 66 6F 72 is intended for
000050: 20 75 73 65 20 62 79 20 73 79 73 74 65 6D 20 52 use by system R
000060: 4F 4D 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 OMs.........
000070: 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 Related entri
000080: 65 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 es:........
000090: 20 20 54 58 54 20 41 53 4B 20 53 54 41 54 45 0D TXT ASK STATE.
0000A0: 0A 20 20 20 20 20 20 20 54 58 54 20 43 55 52 20 . TXT CUR
0000B0: 44 49 53 41 42 4C 45 0D 0A 20 20 20 20 20 20 20 DISABLE..
0000C0: 54 58 54 20 43 55 52 20 4F 4E 0D 0A 20 20 20 20 TXT CUR ON..
0000D0: 20 20 20 54 58 54 20 44 52 41 57 20 43 55 52 53 TXT DRAW CURS
0000E0: 4F 52 0D 0A 20 20 20 20 20 20 20 54 58 54 20 55 OR.. TXT U
0000F0: 4E 44 52 41 57 20 43 55 52 53 4F 52 0D 0A 0D 0A NDRAW CURSOR....
000100: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
000110: 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 AMSTRAD CPC
000120: 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 464/664/6128 FIR
000130: 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 MWARE
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 70 61 67 65 20 31 35 2E 34 36 0D 0A 0D 0A 0D page 15.46.....
000160: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000170: 34 35 3A 20 54 58 54 20 56 41 4C 49 44 41 54 45 45: TXT VALIDATE
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 23 42 42 38 37 0D 0A 0D 0A 20 20 20 20 20 20 #BB87....
0001C0: 20 43 68 65 63 6B 20 69 66 20 61 20 63 75 72 73 Check if a curs
0001D0: 6F 72 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 77 or position is w
0001E0: 69 74 68 69 6E 20 74 68 65 20 77 69 6E 64 6F 77 ithin the window
0001F0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 ....... Ac
Size : 512 (Real : 512)
000000: 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 tion:....
000010: 43 68 65 63 6B 20 61 20 73 63 72 65 65 6E 20 70 Check a screen p
000020: 6F 73 69 74 69 6F 6E 20 74 6F 20 73 65 65 20 69 osition to see i
000030: 66 20 69 74 20 6C 69 65 73 20 77 69 74 68 69 6E f it lies within
000040: 20 74 68 65 20 20 63 75 72 72 65 6E 74 20 20 77 the current w
000050: 69 6E 64 6F 77 2E 0D 0A 20 20 20 20 20 20 20 49 indow... I
000060: 66 20 69 74 20 64 6F 65 73 20 6E 6F 74 20 74 68 f it does not th
000070: 65 6E 20 64 65 74 65 72 6D 69 6E 65 20 74 68 65 en determine the
000080: 20 70 6F 73 69 74 69 6F 6E 20 77 68 65 72 65 20 position where
000090: 61 20 63 68 61 72 61 63 74 65 72 20 77 6F 75 6C a character woul
0000A0: 64 20 20 62 65 0D 0A 20 20 20 20 20 20 20 70 72 d be.. pr
0000B0: 69 6E 74 65 64 20 61 66 74 65 72 20 61 70 70 6C inted after appl
0000C0: 79 69 6E 67 20 74 68 65 20 20 72 75 6C 65 73 20 ying the rules
0000D0: 20 66 6F 72 20 20 66 6F 72 63 69 6E 67 20 20 74 for forcing t
0000E0: 68 65 20 20 73 63 72 65 65 6E 20 20 70 6F 73 69 he screen posi
0000F0: 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 69 6E 73 tion.. ins
000100: 69 64 65 20 74 68 65 20 77 69 6E 64 6F 77 2E 0D ide the window..
000110: 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 ... Entry
000120: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 conditions:....
000130: 20 20 20 20 20 20 48 20 63 6F 6E 74 61 69 6E 73 H contains
000140: 20 74 68 65 20 6C 6F 67 69 63 61 6C 20 63 6F 6C the logical col
000150: 75 6D 6E 20 6F 66 20 74 68 65 20 70 6F 73 69 74 umn of the posit
000160: 69 6F 6E 20 74 6F 20 63 68 65 63 6B 2E 0D 0A 20 ion to check...
000170: 20 20 20 20 20 20 4C 20 63 6F 6E 74 61 69 6E 73 L contains
000180: 20 74 68 65 20 6C 6F 67 69 63 61 6C 20 72 6F 77 the logical row
000190: 20 6F 66 20 74 68 65 20 70 6F 73 69 74 69 6F 6E of the position
0001A0: 20 74 6F 20 63 68 65 63 6B 2E 0D 0A 0D 0A 20 20 to check.....
0001B0: 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 Exit condit
0001C0: 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ions:....
0001D0: 49 66 20 70 72 69 6E 74 69 6E 67 20 61 74 20 74 If printing at t
0001E0: 68 65 20 70 6F 73 69 74 69 6F 6E 20 77 6F 75 6C he position woul
0001F0: 64 20 6E 6F 74 20 63 61 75 73 65 20 74 68 65 20 d not cause the
Size : 512 (Real : 512)
000000: 77 69 6E 64 6F 77 20 74 6F 20 72 6F 6C 6C 3A 0D window to roll:.
000010: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000020: 20 20 20 43 61 72 72 79 20 74 72 75 65 2E 0D 0A Carry true...
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 42 20 63 6F 72 72 75 70 74 2E 0D 0A 0D 0A 20 20 B corrupt.....
000050: 20 20 20 20 20 49 66 20 70 72 69 6E 74 69 6E 67 If printing
000060: 20 61 74 20 74 68 65 20 70 6F 73 69 74 69 6F 6E at the position
000070: 20 77 6F 75 6C 64 20 63 61 75 73 65 20 74 68 65 would cause the
000080: 20 77 69 6E 64 6F 77 20 74 6F 20 72 6F 6C 6C 20 window to roll
000090: 75 70 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 up:....
0000A0: 20 20 20 20 20 20 20 43 61 72 72 79 20 66 61 6C Carry fal
0000B0: 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 se...
0000C0: 20 20 20 20 20 42 20 63 6F 6E 74 61 69 6E 73 20 B contains
0000D0: 23 46 46 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 #FF..... I
0000E0: 66 20 70 72 69 6E 74 69 6E 67 20 61 74 20 74 68 f printing at th
0000F0: 65 20 70 6F 73 69 74 69 6F 6E 20 77 6F 75 6C 64 e position would
000100: 20 63 61 75 73 65 20 74 68 65 20 77 69 6E 64 6F cause the windo
000110: 77 20 74 6F 20 72 6F 6C 6C 20 64 6F 77 6E 3A 0D w to roll down:.
000120: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000130: 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D Carry false..
000140: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000150: 20 42 20 63 6F 6E 74 61 69 6E 73 20 23 30 30 2E B contains #00.
000160: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 77 61 79 .... Alway
000170: 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 s:....
000180: 20 20 20 20 20 20 48 20 63 6F 6E 74 61 69 6E 73 H contains
000190: 20 74 68 65 20 6C 6F 67 69 63 61 6C 20 63 6F 6C the logical col
0001A0: 75 6D 6E 20 61 74 20 77 68 69 63 68 20 61 20 63 umn at which a c
0001B0: 68 61 72 61 63 74 65 72 20 20 77 6F 75 6C 64 20 haracter would
0001C0: 20 62 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 be..
0001D0: 20 20 20 20 20 70 72 69 6E 74 65 64 2E 0D 0A 20 printed...
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4C L
0001F0: 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 6C 6F contains the lo
Size : 512 (Real : 512)
000000: 67 69 63 61 6C 20 72 6F 77 20 61 74 20 20 77 68 gical row at wh
000010: 69 63 68 20 20 61 20 20 63 68 61 72 61 63 74 65 ich a characte
000020: 72 20 20 77 6F 75 6C 64 20 20 62 65 0D 0A 20 20 r would be..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 pr
000040: 69 6E 74 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 inted.....
000050: 20 20 20 20 20 20 20 20 20 20 41 20 61 6E 64 20 A and
000060: 6F 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 72 other flags corr
000070: 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 upt...
000080: 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 All other
000090: 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 registers preser
0000A0: 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ved.......
0000B0: 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 Notes:......
0000C0: 20 20 20 20 54 68 65 20 70 6F 73 69 74 69 6F 6E The position
0000D0: 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 20 61 on the screen a
0000E0: 72 65 20 67 69 76 65 6E 20 69 6E 20 6C 6F 67 69 re given in logi
0000F0: 63 61 6C 20 63 6F 6F 72 64 69 6E 61 74 65 73 2E cal coordinates.
000100: 20 69 2E 65 2E 20 20 52 6F 77 0D 0A 20 20 20 20 i.e. Row..
000110: 20 20 20 31 2C 20 63 6F 6C 75 6D 6E 20 31 20 69 1, column 1 i
000120: 73 20 74 68 65 20 74 6F 70 20 6C 65 66 74 20 63 s the top left c
000130: 6F 72 6E 65 72 20 6F 66 20 74 68 65 20 77 69 6E orner of the win
000140: 64 6F 77 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 dow.......
000150: 20 42 65 66 6F 72 65 20 77 72 69 74 69 6E 67 20 Before writing
000160: 61 20 63 68 61 72 61 63 74 65 72 20 6F 72 20 70 a character or p
000170: 75 74 74 69 6E 67 20 74 68 65 20 63 75 72 73 6F utting the curso
000180: 72 20 62 6C 6F 62 20 20 6F 6E 20 20 74 68 65 20 r blob on the
000190: 20 73 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 screen..
0001A0: 74 68 65 20 54 65 78 74 20 56 44 55 20 76 61 6C the Text VDU val
0001B0: 69 64 61 74 65 73 20 74 68 65 20 63 75 72 72 65 idates the curre
0001C0: 6E 74 20 20 70 6F 73 69 74 69 6F 6E 2C 20 20 70 nt position, p
0001D0: 65 72 66 6F 72 6D 73 20 20 61 6E 79 20 20 72 65 erforms any re
0001E0: 71 75 69 72 65 64 0D 0A 20 20 20 20 20 20 20 72 quired.. r
0001F0: 6F 6C 6C 20 74 68 65 6E 20 77 72 69 74 65 73 20 oll then writes
Size : 512 (Real : 512)
000000: 61 74 20 74 68 65 20 61 70 70 72 6F 70 72 69 61 at the appropria
000010: 74 65 20 70 6F 73 69 74 69 6F 6E 2E 0D 0A 0D 0A te position.....
000020: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 ...... AMS
000030: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
000040: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 FIRMWARE
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 20 70 61 67 65 20 31 35 page 15
000070: 2E 34 37 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D .47.............
000080: 0A 20 20 20 20 20 20 20 54 68 65 20 61 6C 67 6F . The algo
000090: 72 69 74 68 6D 20 74 6F 20 77 6F 72 6B 20 6F 75 rithm to work ou
0000A0: 74 20 74 68 65 20 70 6F 73 69 74 69 6F 6E 20 74 t the position t
0000B0: 6F 20 70 72 69 6E 74 20 61 74 2C 20 66 72 6F 6D o print at, from
0000C0: 20 74 68 65 20 20 70 6F 73 69 74 69 6F 6E 0D 0A the position..
0000D0: 20 20 20 20 20 20 20 74 6F 20 63 68 65 63 6B 2C to check,
0000E0: 20 69 73 20 61 73 20 66 6F 6C 6C 6F 77 73 3A 0D is as follows:.
0000F0: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 2F ....... 1/
000100: 20 49 66 20 74 68 65 20 70 6F 73 69 74 69 6F 6E If the position
000110: 20 69 73 20 72 69 67 68 74 20 6F 66 20 74 68 65 is right of the
000120: 20 72 69 67 68 74 20 65 64 67 65 20 20 6F 66 20 right edge of
000130: 20 74 68 65 20 20 77 69 6E 64 6F 77 20 20 69 74 the window it
000140: 20 20 69 73 0D 0A 20 20 20 20 20 20 20 6D 6F 76 is.. mov
000150: 65 64 20 74 6F 20 74 68 65 20 6C 65 66 74 20 65 ed to the left e
000160: 64 67 65 20 6F 66 20 74 68 65 20 77 69 6E 64 6F dge of the windo
000170: 77 20 6F 6E 20 74 68 65 20 6E 65 78 74 20 6C 69 w on the next li
000180: 6E 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ne.........
000190: 20 20 32 2F 20 49 66 20 74 68 65 20 70 6F 73 69 2/ If the posi
0001A0: 74 69 6F 6E 20 69 73 20 6C 65 66 74 20 6F 66 20 tion is left of
0001B0: 74 68 65 20 6C 65 66 74 20 65 64 67 65 20 6F 66 the left edge of
0001C0: 20 74 68 65 20 77 69 6E 64 6F 77 20 69 74 20 69 the window it i
0001D0: 73 20 20 6D 6F 76 65 64 0D 0A 20 20 20 20 20 20 s moved..
0001E0: 20 74 6F 20 74 68 65 20 72 69 67 68 74 20 65 64 to the right ed
0001F0: 67 65 20 6F 66 20 74 68 65 20 77 69 6E 64 6F 77 ge of the window
Size : 512 (Real : 512)
000000: 20 6F 6E 20 74 68 65 20 70 72 65 76 69 6F 75 73 on the previous
000010: 20 6C 69 6E 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 line.........
000020: 20 20 20 20 20 33 2F 20 49 66 20 74 68 65 20 70 3/ If the p
000030: 6F 73 69 74 69 6F 6E 20 69 73 20 6E 6F 77 20 61 osition is now a
000040: 62 6F 76 65 20 74 68 65 20 74 6F 70 20 65 64 67 bove the top edg
000050: 65 20 6F 66 20 74 68 65 20 77 69 6E 64 6F 77 20 e of the window
000060: 74 68 65 6E 20 69 74 20 20 69 73 0D 0A 20 20 20 then it is..
000070: 20 20 20 20 6D 6F 76 65 64 20 74 6F 20 74 68 65 moved to the
000080: 20 74 6F 70 20 65 64 67 65 20 6F 66 20 20 74 68 top edge of th
000090: 65 20 20 77 69 6E 64 6F 77 20 20 61 6E 64 20 20 e window and
0000A0: 74 68 65 20 20 77 69 6E 64 6F 77 20 20 6E 65 65 the window nee
0000B0: 64 20 20 72 6F 6C 6C 69 6E 67 0D 0A 20 20 20 20 d rolling..
0000C0: 20 20 20 64 6F 77 6E 77 61 72 64 73 2E 0D 0A 0D downwards....
0000D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 34 2F 20 49 ..... 4/ I
0000E0: 66 20 74 68 65 20 70 6F 73 69 74 69 6F 6E 20 69 f the position i
0000F0: 73 20 6E 6F 77 20 62 65 6C 6F 77 20 74 68 65 20 s now below the
000100: 62 6F 74 74 6F 6D 20 65 64 67 65 20 6F 66 20 74 bottom edge of t
000110: 68 65 20 20 77 69 6E 64 6F 77 20 20 69 74 20 20 he window it
000120: 69 73 0D 0A 20 20 20 20 20 20 20 6D 6F 76 65 64 is.. moved
000130: 20 74 6F 20 74 68 65 20 62 6F 74 74 6F 6D 20 65 to the bottom e
000140: 64 67 65 20 6F 66 20 74 68 65 20 77 69 6E 64 6F dge of the windo
000150: 77 20 61 6E 64 20 74 68 65 20 20 77 69 6E 64 6F w and the windo
000160: 77 20 20 6E 65 65 64 73 20 20 72 6F 6C 6C 69 6E w needs rollin
000170: 67 0D 0A 20 20 20 20 20 20 20 75 70 77 61 72 64 g.. upward
000180: 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 s.........
000190: 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 Related entries
0001A0: 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 :........
0001B0: 53 43 52 20 48 57 20 52 4F 4C 4C 0D 0A 20 20 20 SCR HW ROLL..
0001C0: 20 20 20 20 53 43 52 20 53 57 20 52 4F 4C 4C 0D SCR SW ROLL.
0001D0: 0A 20 20 20 20 20 20 20 54 58 54 20 47 45 54 20 . TXT GET
0001E0: 43 55 52 53 4F 52 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A CURSOR..........
0001F0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000010: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000020: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
000030: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
000040: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
000060: 65 20 31 35 2E 34 38 0D 0A 0D 0A 0D 0A 0D 0A 0D e 15.48.........
000070: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 34 36 3A 20 ..... 46:
000080: 54 58 54 20 50 4C 41 43 45 20 43 55 52 53 4F 52 TXT PLACE CURSOR
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 23 42 42 #BB
0000C0: 38 41 0D 0A 0D 0A 20 20 20 20 20 20 20 50 75 74 8A.... Put
0000D0: 20 61 20 63 75 72 73 6F 72 20 62 6C 6F 62 20 6F a cursor blob o
0000E0: 6E 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D n the screen....
0000F0: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
000100: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 50 75 :...... Pu
000110: 74 20 61 20 63 75 72 73 6F 72 20 62 6C 6F 62 20 t a cursor blob
000120: 6F 6E 20 20 74 68 65 20 20 73 63 72 65 65 6E 20 on the screen
000130: 20 61 74 20 20 74 68 65 20 20 63 75 72 73 6F 72 at the cursor
000140: 20 20 70 6F 73 69 74 69 6F 6E 20 20 66 6F 72 20 position for
000150: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 63 75 72 the.. cur
000160: 72 65 6E 74 6C 79 20 73 65 6C 65 63 74 65 64 20 rently selected
000170: 73 74 72 65 61 6D 2E 0D 0A 0D 0A 0D 0A 20 20 20 stream.......
000180: 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 Entry condit
000190: 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions:......
0001A0: 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E No conditions.
0001B0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 ...... Exi
0001C0: 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D t conditions:...
0001D0: 0A 0D 0A 20 20 20 20 20 20 20 41 46 20 63 6F 72 ... AF cor
0001E0: 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C rupt... Al
0001F0: 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 l other register
Size : 512 (Real : 512)
000000: 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A s preserved.....
000010: 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D .. Notes:.
000020: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 58 54 20 ..... TXT
000030: 50 4C 41 43 45 20 43 55 52 53 4F 52 20 69 73 20 PLACE CURSOR is
000040: 70 72 6F 76 69 64 65 64 20 74 6F 20 61 6C 6C 6F provided to allo
000050: 77 20 74 68 65 20 75 73 65 72 20 74 6F 20 72 75 w the user to ru
000060: 6E 20 6D 75 6C 74 69 70 6C 65 20 63 75 72 73 6F n multiple curso
000070: 72 73 0D 0A 20 20 20 20 20 20 20 69 6E 20 61 20 rs.. in a
000080: 77 69 6E 64 6F 77 2E 20 54 68 65 20 69 6E 64 69 window. The indi
000090: 72 65 63 74 69 6F 6E 20 54 58 54 20 44 52 41 57 rection TXT DRAW
0000A0: 20 20 43 55 52 53 4F 52 20 20 73 68 6F 75 6C 64 CURSOR should
0000B0: 20 20 62 65 20 20 63 61 6C 6C 65 64 20 20 66 6F be called fo
0000C0: 72 0D 0A 20 20 20 20 20 20 20 6D 65 72 65 6C 79 r.. merely
0000D0: 20 70 6C 61 63 69 6E 67 20 74 68 65 20 6E 6F 72 placing the nor
0000E0: 6D 61 6C 20 63 75 72 73 6F 72 20 62 6C 6F 62 20 mal cursor blob
0000F0: 20 6F 6E 20 20 74 68 65 20 20 73 63 72 65 65 6E on the screen
000100: 2E 20 20 48 69 67 68 65 72 20 20 6C 65 76 65 6C . Higher level
000110: 0D 0A 20 20 20 20 20 20 20 72 6F 75 74 69 6E 65 .. routine
000120: 73 2C 20 73 75 63 68 20 61 73 20 54 58 54 20 4F s, such as TXT O
000130: 55 54 50 55 54 20 61 6E 64 20 54 58 54 20 53 45 UTPUT and TXT SE
000140: 54 20 43 55 52 53 4F 52 2C 20 61 75 74 6F 6D 61 T CURSOR, automa
000150: 74 69 63 61 6C 6C 79 20 20 72 65 6D 6F 76 65 0D tically remove.
000160: 0A 20 20 20 20 20 20 20 61 6E 64 20 70 6C 61 63 . and plac
000170: 65 20 74 68 65 20 6E 6F 72 6D 61 6C 20 63 75 72 e the normal cur
000180: 73 6F 72 20 77 68 65 6E 20 61 70 70 72 6F 70 72 sor when appropr
000190: 69 61 74 65 2C 20 74 68 65 20 75 73 65 72 20 6D iate, the user m
0001A0: 75 73 74 20 64 65 61 6C 20 20 77 69 74 68 0D 0A ust deal with..
0001B0: 20 20 20 20 20 20 20 61 6E 79 20 6F 74 68 65 72 any other
0001C0: 20 63 75 72 73 6F 72 73 2E 0D 0A 0D 0A 0D 0A 20 cursors.......
0001D0: 20 20 20 20 20 20 49 74 20 69 73 20 6E 6F 74 20 It is not
0001E0: 73 61 66 65 20 74 6F 20 63 61 6C 6C 20 54 58 54 safe to call TXT
0001F0: 20 50 4C 41 43 45 20 43 55 52 53 4F 52 20 74 77 PLACE CURSOR tw
Size : 512 (Real : 512)
000000: 69 63 65 20 61 74 20 61 20 20 70 61 72 74 69 63 ice at a partic
000010: 75 6C 61 72 20 20 73 63 72 65 65 6E 0D 0A 20 20 ular screen..
000020: 20 20 20 20 20 70 6F 73 69 74 69 6F 6E 20 77 69 position wi
000030: 74 68 6F 75 74 20 63 61 6C 6C 69 6E 67 20 54 58 thout calling TX
000040: 54 20 52 45 4D 4F 56 45 20 43 55 52 53 4F 52 20 T REMOVE CURSOR
000050: 69 6E 20 62 65 74 77 65 65 6E 20 62 65 63 61 75 in between becau
000060: 73 65 20 74 68 69 73 20 6D 61 79 0D 0A 20 20 20 se this may..
000070: 20 20 20 20 6C 65 61 76 65 20 61 20 73 70 75 72 leave a spur
000080: 69 6F 75 73 20 63 75 72 73 6F 72 20 62 6C 6F 62 ious cursor blob
000090: 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 20 77 on the screen w
0000A0: 68 65 6E 20 74 68 65 20 63 75 72 73 6F 72 20 70 hen the cursor p
0000B0: 6F 73 69 74 69 6F 6E 20 69 73 0D 0A 20 20 20 20 osition is..
0000C0: 20 20 20 6D 6F 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 moved.......
0000D0: 20 20 20 20 20 20 54 68 65 20 63 75 72 73 6F 72 The cursor
0000E0: 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 66 6F 72 position is for
0000F0: 63 65 64 20 74 6F 20 20 62 65 20 20 69 6E 73 69 ced to be insi
000100: 64 65 20 20 74 68 65 20 20 77 69 6E 64 6F 77 20 de the window
000110: 20 62 65 66 6F 72 65 20 20 74 68 65 0D 0A 20 20 before the..
000120: 20 20 20 20 20 63 75 72 73 6F 72 20 62 6C 6F 62 cursor blob
000130: 20 69 73 20 64 72 61 77 6E 2E 0D 0A 0D 0A 0D 0A is drawn.......
000140: 20 20 20 20 20 20 20 54 68 65 20 63 75 72 73 6F The curso
000150: 72 20 62 6C 6F 62 20 69 73 20 61 6E 20 69 6E 76 r blob is an inv
000160: 65 72 73 65 20 20 70 61 74 63 68 20 20 66 6F 72 erse patch for
000170: 6D 65 64 20 20 62 79 20 20 65 78 63 6C 75 73 69 med by exclusi
000180: 76 65 2D 6F 72 69 6E 67 20 20 74 68 65 0D 0A 20 ve-oring the..
000190: 20 20 20 20 20 20 63 6F 6E 74 65 6E 74 73 20 6F contents o
0001A0: 66 20 74 68 65 20 73 63 72 65 65 6E 20 61 74 20 f the screen at
0001B0: 74 68 65 20 63 75 72 73 6F 72 20 70 6F 73 69 74 the cursor posit
0001C0: 69 6F 6E 20 77 69 74 68 20 74 68 65 20 65 78 63 ion with the exc
0001D0: 6C 75 73 69 76 65 2D 6F 72 20 6F 66 0D 0A 20 20 lusive-or of..
0001E0: 20 20 20 20 20 74 68 65 20 63 75 72 72 65 6E 74 the current
0001F0: 20 70 65 6E 20 61 6E 64 20 70 61 70 65 72 20 69 pen and paper i
Size : 512 (Real : 512)
000000: 6E 6B 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 nks..... R
000010: 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D elated entries:.
000020: 0A 0D 0A 20 20 20 20 20 20 20 54 58 54 20 44 52 ... TXT DR
000030: 41 57 20 43 55 52 53 4F 52 0D 0A 20 20 20 20 20 AW CURSOR..
000040: 20 20 54 58 54 20 52 45 4D 4F 56 45 20 43 55 52 TXT REMOVE CUR
000050: 53 4F 52 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 SOR............
000060: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000070: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
000080: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 70 61 67 65 20 31 35 2E 34 39 0D 0A 0D 0A page 15.49....
0000B0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
0000C0: 20 34 37 3A 20 54 58 54 20 52 45 4D 4F 56 45 20 47: TXT REMOVE
0000D0: 43 55 52 53 4F 52 20 20 20 20 20 20 20 20 20 20 CURSOR
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 20 20 20
000100: 20 20 23 42 42 38 44 0D 0A 0D 0A 20 20 20 20 20 #BB8D....
000110: 20 20 54 61 6B 65 20 61 20 63 75 72 73 6F 72 20 Take a cursor
000120: 62 6C 6F 62 20 6F 66 66 20 74 68 65 20 73 63 72 blob off the scr
000130: 65 65 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 een..... A
000140: 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 ction:....
000150: 20 54 61 6B 65 20 74 68 65 20 63 75 72 73 6F 72 Take the cursor
000160: 20 62 6C 6F 62 20 6F 66 66 20 74 68 65 20 73 63 blob off the sc
000170: 72 65 65 6E 20 61 74 20 20 74 68 65 20 20 63 75 reen at the cu
000180: 72 73 6F 72 20 20 70 6F 73 69 74 69 6F 6E 20 20 rsor position
000190: 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 of the..
0001A0: 63 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 74 currently select
0001B0: 65 64 20 73 74 72 65 61 6D 2E 0D 0A 0D 0A 20 20 ed stream.....
0001C0: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
0001D0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tions:....
0001E0: 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D No conditions..
0001F0: 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 ... Exit c
Size : 512 (Real : 512)
000000: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 onditions:....
000010: 20 20 20 20 20 41 46 20 63 6F 72 72 75 70 74 2E AF corrupt.
000020: 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 .. All oth
000030: 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 er registers pre
000040: 73 65 72 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 served.....
000050: 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 Notes:......
000060: 20 20 20 20 20 54 58 54 20 52 45 4D 4F 56 45 20 TXT REMOVE
000070: 43 55 52 53 4F 52 20 69 73 20 70 72 6F 76 69 64 CURSOR is provid
000080: 65 64 20 20 74 6F 20 20 61 6C 6C 6F 77 20 20 74 ed to allow t
000090: 68 65 20 20 75 73 65 72 20 20 74 6F 20 20 72 75 he user to ru
0000A0: 6E 20 20 6D 75 6C 74 69 70 6C 65 0D 0A 20 20 20 n multiple..
0000B0: 20 20 20 20 63 75 72 73 6F 72 73 20 69 6E 20 61 cursors in a
0000C0: 20 77 69 6E 64 6F 77 2E 20 54 68 65 20 20 69 6E window. The in
0000D0: 64 69 72 65 63 74 69 6F 6E 20 20 54 58 54 20 20 direction TXT
0000E0: 55 4E 44 52 41 57 20 20 43 55 52 53 4F 52 20 20 UNDRAW CURSOR
0000F0: 73 68 6F 75 6C 64 20 20 62 65 0D 0A 20 20 20 20 should be..
000100: 20 20 20 63 61 6C 6C 65 64 20 66 6F 72 20 6D 65 called for me
000110: 72 65 6C 79 20 72 65 6D 6F 76 69 6E 67 20 74 68 rely removing th
000120: 65 20 6E 6F 72 6D 61 6C 20 66 72 6F 6D 20 74 68 e normal from th
000130: 65 20 20 73 63 72 65 65 6E 2E 20 20 48 69 67 68 e screen. High
000140: 65 72 20 20 6C 65 76 65 6C 0D 0A 20 20 20 20 20 er level..
000150: 20 20 72 6F 75 74 69 6E 65 73 2C 20 73 75 63 68 routines, such
000160: 20 61 73 20 54 58 54 20 4F 55 54 50 55 54 20 61 as TXT OUTPUT a
000170: 6E 64 20 54 58 54 20 53 45 54 20 43 55 52 53 4F nd TXT SET CURSO
000180: 52 2C 20 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 R, automatically
000190: 20 20 72 65 6D 6F 76 65 0D 0A 20 20 20 20 20 20 remove..
0001A0: 20 61 6E 64 20 70 6C 61 63 65 20 74 68 65 20 6E and place the n
0001B0: 6F 72 6D 61 6C 20 63 75 72 73 6F 72 20 77 68 65 ormal cursor whe
0001C0: 6E 20 61 70 70 72 6F 70 72 69 61 74 65 2C 20 74 n appropriate, t
0001D0: 68 65 20 75 73 65 72 20 6D 75 73 74 20 64 65 61 he user must dea
0001E0: 6C 20 20 77 69 74 68 0D 0A 20 20 20 20 20 20 20 l with..
0001F0: 61 6E 79 20 6F 74 68 65 72 20 63 75 72 73 6F 72 any other cursor
Size : 512 (Real : 512)
000000: 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 s....... T
000010: 58 54 20 52 45 4D 4F 56 45 20 43 55 52 53 4F 52 XT REMOVE CURSOR
000020: 20 73 68 6F 75 6C 64 20 6F 6E 6C 79 20 62 65 20 should only be
000030: 75 73 65 64 20 74 6F 20 72 65 6D 6F 76 65 20 61 used to remove a
000040: 20 63 75 72 73 6F 72 20 70 6C 61 63 65 64 20 6F cursor placed o
000050: 6E 20 74 68 65 0D 0A 20 20 20 20 20 20 20 73 63 n the.. sc
000060: 72 65 65 6E 20 62 79 20 63 61 6C 6C 69 6E 67 20 reen by calling
000070: 54 58 54 20 50 4C 41 43 45 20 43 55 52 53 4F 52 TXT PLACE CURSOR
000080: 2E 20 54 68 65 20 63 75 72 73 6F 72 20 73 68 6F . The cursor sho
000090: 75 6C 64 20 62 65 20 72 65 6D 6F 76 65 64 20 20 uld be removed
0000A0: 77 68 65 6E 0D 0A 20 20 20 20 20 20 20 74 68 65 when.. the
0000B0: 20 63 75 72 73 6F 72 20 70 6F 73 69 74 69 6F 6E cursor position
0000C0: 20 69 73 20 74 6F 20 62 65 20 63 68 61 6E 67 65 is to be change
0000D0: 64 20 28 72 6F 6C 6C 69 6E 67 20 20 74 68 65 20 d (rolling the
0000E0: 20 77 69 6E 64 6F 77 20 20 69 6D 70 6C 69 63 69 window implici
0000F0: 74 6C 79 0D 0A 20 20 20 20 20 20 20 63 68 61 6E tly.. chan
000100: 67 65 73 20 74 68 65 20 63 75 72 73 6F 72 20 70 ges the cursor p
000110: 6F 73 69 74 69 6F 6E 29 20 6F 72 20 74 68 65 20 osition) or the
000120: 73 63 72 65 65 6E 20 20 69 73 20 20 74 6F 20 20 screen is to
000130: 72 65 61 64 20 20 6F 72 20 20 77 72 69 74 74 65 read or writte
000140: 6E 2E 0D 0A 20 20 20 20 20 20 20 49 6E 63 6F 72 n... Incor
000150: 72 65 63 74 20 75 73 65 20 6F 66 20 74 68 69 73 rect use of this
000160: 20 72 6F 75 74 69 6E 65 20 6D 61 79 20 72 65 73 routine may res
000170: 75 6C 74 20 69 6E 20 20 61 20 20 73 70 75 72 69 ult in a spuri
000180: 6F 75 73 20 20 63 75 72 73 6F 72 20 20 62 6C 6F ous cursor blo
000190: 62 0D 0A 20 20 20 20 20 20 20 62 65 69 6E 67 20 b.. being
0001A0: 67 65 6E 65 72 61 74 65 64 2E 0D 0A 0D 0A 0D 0A generated.......
0001B0: 20 20 20 20 20 20 20 54 68 65 20 63 75 72 73 6F The curso
0001C0: 72 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 66 6F r position is fo
0001D0: 72 63 65 64 20 74 6F 20 20 62 65 20 20 69 6E 73 rced to be ins
0001E0: 69 64 65 20 20 74 68 65 20 20 77 69 6E 64 6F 77 ide the window
0001F0: 20 20 62 65 66 6F 72 65 20 20 74 68 65 0D 0A 20 before the..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 63 75 72 73 6F 72 20 62 6C 6F cursor blo
000010: 62 20 69 73 20 72 65 6D 6F 76 65 64 20 28 74 68 b is removed (th
000020: 69 73 20 73 68 6F 75 6C 64 20 6E 6F 74 20 6D 61 is should not ma
000030: 74 74 65 72 20 61 73 20 54 58 54 20 50 4C 41 43 tter as TXT PLAC
000040: 45 20 43 55 52 53 4F 52 20 68 61 73 0D 0A 20 20 E CURSOR has..
000050: 20 20 20 20 20 61 6C 72 65 61 64 79 20 64 6F 6E already don
000060: 65 20 74 68 69 73 29 2E 0D 0A 0D 0A 0D 0A 20 20 e this).......
000070: 20 20 20 20 20 54 68 65 20 63 75 72 73 6F 72 20 The cursor
000080: 62 6C 6F 62 20 69 73 20 61 6E 20 69 6E 76 65 72 blob is an inver
000090: 73 65 20 20 70 61 74 63 68 20 20 66 6F 72 6D 65 se patch forme
0000A0: 64 20 20 62 79 20 20 65 78 63 6C 75 73 69 76 65 d by exclusive
0000B0: 2D 6F 72 69 6E 67 20 20 74 68 65 0D 0A 20 20 20 -oring the..
0000C0: 20 20 20 20 63 6F 6E 74 65 6E 74 73 20 6F 66 20 contents of
0000D0: 74 68 65 20 73 63 72 65 65 6E 20 61 74 20 74 68 the screen at th
0000E0: 65 20 63 75 72 73 6F 72 20 70 6F 73 69 74 69 6F e cursor positio
0000F0: 6E 20 77 69 74 68 20 74 68 65 20 65 78 63 6C 75 n with the exclu
000100: 73 69 76 65 2D 6F 72 20 6F 66 0D 0A 20 20 20 20 sive-or of..
000110: 20 20 20 74 68 65 20 63 75 72 72 65 6E 74 20 70 the current p
000120: 65 6E 20 61 6E 64 20 70 61 70 65 72 20 69 6E 6B en and paper ink
000130: 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A s...............
000140: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
000150: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 ntries:....
000160: 20 20 54 58 54 20 50 4C 41 43 45 20 43 55 52 53 TXT PLACE CURS
000170: 4F 52 0D 0A 20 20 20 20 20 20 20 54 58 54 20 55 OR.. TXT U
000180: 4E 44 52 41 57 20 43 55 52 53 4F 52 0D 0A 0D 0A NDRAW CURSOR....
000190: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 ...... AMS
0001A0: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
0001B0: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 FIRMWARE
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 70 61 67 65 20 31 35 page 15
0001E0: 2E 35 30 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D .50.............
0001F0: 0A 20 20 20 20 20 20 20 34 38 3A 20 54 58 54 20 . 48: TXT
Size : 512 (Real : 512)
000000: 53 45 54 20 50 45 4E 20 20 20 20 20 20 20 20 20 SET PEN
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 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 23 42 42 39 30 0D 0A #BB90..
000040: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 ...... Set
000050: 20 69 6E 6B 20 66 6F 72 20 77 72 69 74 69 6E 67 ink for writing
000060: 20 63 68 61 72 61 63 74 65 72 73 2E 0D 0A 0D 0A characters.....
000070: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F .... Actio
000080: 6E 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 n:........
000090: 20 53 65 74 20 74 68 65 20 70 65 6E 20 69 6E 6B Set the pen ink
0000A0: 20 66 6F 72 20 74 68 65 20 63 75 72 72 65 6E 74 for the current
0000B0: 6C 79 20 73 65 6C 65 63 74 65 64 20 73 74 72 65 ly selected stre
0000C0: 61 6D 2E 20 20 54 68 69 73 20 20 69 73 20 20 74 am. This is t
0000D0: 68 65 20 20 69 6E 6B 0D 0A 20 20 20 20 20 20 20 he ink..
0000E0: 74 68 61 74 20 69 73 20 75 73 65 64 20 66 6F 72 that is used for
0000F0: 20 77 72 69 74 69 6E 67 20 63 68 61 72 61 63 74 writing charact
000100: 65 72 73 20 28 74 68 65 20 66 6F 72 65 67 72 6F ers (the foregro
000110: 75 6E 64 20 69 6E 6B 29 2E 0D 0A 0D 0A 0D 0A 0D und ink)........
000120: 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F . Entry co
000130: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 0D nditions:.......
000140: 0A 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 . A contai
000150: 6E 73 20 69 6E 6B 20 74 6F 20 75 73 65 2E 0D 0A ns ink to use...
000160: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 ...... Exi
000170: 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D t conditions:...
000180: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 20 61 ..... AF a
000190: 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A nd HL corrupt...
0001A0: 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 All other
0001B0: 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 registers prese
0001C0: 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 rved.........
0001D0: 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A Notes:......
0001E0: 20 20 20 20 20 20 20 54 68 65 20 69 6E 6B 20 69 The ink i
0001F0: 73 20 6D 61 73 6B 65 64 20 74 6F 20 62 72 69 6E s masked to brin
Size : 512 (Real : 512)
000000: 67 20 69 74 20 77 69 74 68 69 6E 20 74 68 65 20 g it within the
000010: 72 61 6E 67 65 20 6F 66 20 6C 65 67 61 6C 20 69 range of legal i
000020: 6E 6B 73 20 20 66 6F 72 20 20 74 68 65 0D 0A 20 nks for the..
000030: 20 20 20 20 20 20 63 75 72 72 65 6E 74 20 73 63 current sc
000040: 72 65 65 6E 20 6D 6F 64 65 2E 20 54 68 61 74 20 reen mode. That
000050: 69 73 20 77 69 74 68 20 23 30 46 20 69 6E 20 6D is with #0F in m
000060: 6F 64 65 20 30 2C 20 23 30 33 20 69 6E 20 6D 6F ode 0, #03 in mo
000070: 64 65 20 31 20 61 6E 64 20 23 30 31 0D 0A 20 20 de 1 and #01..
000080: 20 20 20 20 20 69 6E 20 6D 6F 64 65 20 32 2E 0D in mode 2..
000090: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
0000A0: 63 75 72 73 6F 72 20 62 6C 6F 62 20 77 69 6C 6C cursor blob will
0000B0: 20 62 65 20 72 65 64 72 61 77 6E 20 75 73 69 6E be redrawn usin
0000C0: 67 20 74 68 65 20 6E 65 77 20 69 6E 6B 20 28 69 g the new ink (i
0000D0: 66 20 65 6E 61 62 6C 65 64 29 2E 0D 0A 0D 0A 0D f enabled)......
0000E0: 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 . Related
0000F0: 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 entries:......
000100: 20 20 20 20 20 47 52 41 20 53 45 54 20 50 45 4E GRA SET PEN
000110: 0D 0A 20 20 20 20 20 20 20 53 43 52 20 53 45 54 .. SCR SET
000120: 20 49 4E 4B 0D 0A 20 20 20 20 20 20 20 54 58 54 INK.. TXT
000130: 20 47 45 54 20 50 45 4E 0D 0A 20 20 20 20 20 20 GET PEN..
000140: 20 54 58 54 20 53 45 54 20 50 41 50 45 52 0D 0A TXT SET PAPER..
000150: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
000160: 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 AMSTRAD CPC
000170: 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 464/664/6128 FIR
000180: 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 MWARE
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 70 61 67 65 20 31 35 2E 35 31 0D 0A 0D 0A 0D page 15.51.....
0001B0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
0001C0: 34 39 3A 20 54 58 54 20 47 45 54 20 50 45 4E 20 49: TXT GET PEN
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 20 23 42 42 39 33 0D 0A 0D 0A 0D 0A 20 20 20 20 #BB93......
000010: 20 20 20 47 65 74 20 69 6E 6B 20 66 6F 72 20 77 Get ink for w
000020: 72 69 74 69 6E 67 20 63 68 61 72 61 63 74 65 72 riting character
000030: 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 s....... A
000040: 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 ction:......
000050: 20 20 20 41 73 6B 20 77 68 61 74 20 74 68 65 20 Ask what the
000060: 70 65 6E 20 69 6E 6B 20 69 73 20 73 65 74 20 74 pen ink is set t
000070: 6F 20 66 6F 72 20 74 68 65 20 63 75 72 72 65 6E o for the curren
000080: 74 6C 79 20 73 65 6C 65 63 74 65 64 20 73 74 72 tly selected str
000090: 65 61 6D 2E 20 54 68 69 73 0D 0A 20 20 20 20 20 eam. This..
0000A0: 20 20 69 73 20 74 68 65 20 69 6E 6B 20 75 73 65 is the ink use
0000B0: 64 20 66 6F 72 20 77 72 69 74 69 6E 67 20 63 68 d for writing ch
0000C0: 61 72 61 63 74 65 72 73 20 28 66 6F 72 65 67 72 aracters (foregr
0000D0: 6F 75 6E 64 20 69 6E 6B 29 2E 0D 0A 0D 0A 0D 0A ound ink).......
0000E0: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
0000F0: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
000100: 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F No conditio
000110: 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns.......
000120: 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A Exit conditions:
000130: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 63 ...... A c
000140: 6F 6E 74 61 69 6E 73 20 74 68 65 20 69 6E 6B 2E ontains the ink.
000150: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 46 6C 61 ...... Fla
000160: 67 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 gs corrupt...
000170: 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 All other re
000180: 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 gisters preserve
000190: 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E d....... N
0001A0: 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 otes:......
0001B0: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 68 This routine h
0001C0: 61 73 20 6E 6F 20 6F 74 68 65 72 20 65 66 66 65 as no other effe
0001D0: 63 74 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 cts.........
0001E0: 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 Related entri
0001F0: 65 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 es:........
Size : 512 (Real : 512)
000000: 20 20 47 52 41 20 47 45 54 20 50 45 4E 0D 0A 20 GRA GET PEN..
000010: 20 20 20 20 20 20 53 43 52 20 47 45 54 20 49 4E SCR GET IN
000020: 4B 0D 0A 20 20 20 20 20 20 20 54 58 54 20 47 45 K.. TXT GE
000030: 54 20 50 41 50 45 52 0D 0A 20 20 20 20 20 20 20 T PAPER..
000040: 54 58 54 20 53 45 54 20 50 45 4E 0D 0A 0D 0A 0D TXT SET PEN.....
000050: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000060: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
000070: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
000080: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
000090: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 pa
0000B0: 67 65 20 31 35 2E 35 32 0D 0A 0D 0A 0D 0A 0D 0A ge 15.52........
0000C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 35 30 3A ...... 50:
0000D0: 20 54 58 54 20 53 45 54 20 50 41 50 45 52 20 20 TXT SET PAPER
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 20 20 20
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 #B
000110: 42 39 36 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 B96......
000120: 53 65 74 20 69 6E 6B 20 66 6F 72 20 77 72 69 74 Set ink for writ
000130: 69 6E 67 20 74 65 78 74 20 62 61 63 6B 67 72 6F ing text backgro
000140: 75 6E 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 und.......
000150: 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 Action:......
000160: 20 20 20 20 20 53 65 74 20 74 68 65 20 74 65 78 Set the tex
000170: 74 20 70 61 70 65 72 20 69 6E 6B 20 66 6F 72 20 t paper ink for
000180: 74 68 65 20 63 75 72 72 65 6E 74 6C 79 20 73 65 the currently se
000190: 6C 65 63 74 65 64 20 73 74 72 65 61 6D 2E 20 54 lected stream. T
0001A0: 68 69 73 20 69 73 20 20 74 68 65 0D 0A 20 20 20 his is the..
0001B0: 20 20 20 20 69 6E 6B 20 75 73 65 64 20 66 6F 72 ink used for
0001C0: 20 77 72 69 74 69 6E 67 20 74 68 65 20 62 61 63 writing the bac
0001D0: 6B 67 72 6F 75 6E 64 20 74 6F 20 63 68 61 72 61 kground to chara
0001E0: 63 74 65 72 73 20 61 6E 64 20 66 6F 72 20 63 6C cters and for cl
0001F0: 65 61 72 69 6E 67 20 74 68 65 0D 0A 20 20 20 20 earing the..
Size : 512 (Real : 512)
000000: 20 20 20 74 65 78 74 20 77 69 6E 64 6F 77 2E 0D text window..
000010: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
000020: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
000030: 0A 0D 0A 20 20 20 20 20 20 20 41 20 63 6F 6E 74 ... A cont
000040: 61 69 6E 73 20 74 68 65 20 69 6E 6B 20 74 6F 20 ains the ink to
000050: 75 73 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 use.......
000060: 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 Exit conditions
000070: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 :...... AF
000080: 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E and HL corrupt.
000090: 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 .. All oth
0000A0: 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 er registers pre
0000B0: 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 served.......
0000C0: 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A Notes:......
0000D0: 20 20 20 20 20 20 20 54 68 65 20 69 6E 6B 20 69 The ink i
0000E0: 73 20 6D 61 73 6B 65 64 20 74 6F 20 62 72 69 6E s masked to brin
0000F0: 67 20 69 74 20 77 69 74 68 69 6E 20 74 68 65 20 g it within the
000100: 72 61 6E 67 65 20 6F 66 20 6C 65 67 61 6C 20 69 range of legal i
000110: 6E 6B 73 20 20 66 6F 72 20 20 74 68 65 0D 0A 20 nks for the..
000120: 20 20 20 20 20 20 63 75 72 72 65 6E 74 20 73 63 current sc
000130: 72 65 65 6E 20 6D 6F 64 65 2E 20 54 68 61 74 20 reen mode. That
000140: 69 73 20 77 69 74 68 20 23 30 46 20 69 6E 20 6D is with #0F in m
000150: 6F 64 65 20 30 2C 20 23 30 33 20 69 6E 20 6D 6F ode 0, #03 in mo
000160: 64 65 20 31 20 61 6E 64 20 23 30 31 0D 0A 20 20 de 1 and #01..
000170: 20 20 20 20 20 69 6E 20 6D 6F 64 65 20 32 2E 0D in mode 2..
000180: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
000190: 63 75 72 73 6F 72 20 62 6C 6F 62 20 77 69 6C 6C cursor blob will
0001A0: 20 62 65 20 72 65 64 72 61 77 6E 20 75 73 69 6E be redrawn usin
0001B0: 67 20 74 68 65 20 6E 65 77 20 69 6E 6B 20 28 69 g the new ink (i
0001C0: 66 20 65 6E 61 62 6C 65 64 29 2E 0D 0A 0D 0A 0D f enabled)......
0001D0: 0A 20 20 20 20 20 20 20 54 68 69 73 20 69 6E 6B . This ink
0001E0: 20 77 69 6C 6C 20 62 65 20 75 73 65 64 20 77 68 will be used wh
0001F0: 65 6E 20 63 6C 65 61 72 69 6E 67 20 61 72 65 61 en clearing area
Size : 512 (Real : 512)
000000: 73 20 6F 66 20 74 68 65 20 74 65 78 74 20 77 69 s of the text wi
000010: 6E 64 6F 77 20 20 28 62 79 20 20 54 58 54 0D 0A ndow (by TXT..
000020: 20 20 20 20 20 20 20 43 4C 45 41 52 20 57 49 4E CLEAR WIN
000030: 44 4F 57 20 61 6E 64 20 63 65 72 74 61 69 6E 20 DOW and certain
000040: 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 73 29 2E 0D control codes)..
000050: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 ..... This
000060: 20 72 6F 75 74 69 6E 65 20 64 6F 65 73 20 6E 6F routine does no
000070: 74 20 63 6C 65 61 72 20 74 68 65 20 74 65 78 74 t clear the text
000080: 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A 0D 0A 20 20 window.......
000090: 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 Related ent
0000A0: 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ries:......
0000B0: 20 20 47 52 41 20 47 45 54 20 50 41 50 45 52 0D GRA GET PAPER.
0000C0: 0A 20 20 20 20 20 20 20 53 43 52 20 53 45 54 20 . SCR SET
0000D0: 49 4E 4B 0D 0A 20 20 20 20 20 20 20 54 58 54 20 INK.. TXT
0000E0: 47 45 54 20 50 41 50 45 52 0D 0A 20 20 20 20 20 GET PAPER..
0000F0: 20 20 54 58 54 20 53 45 54 20 50 45 4E 0D 0A 0D TXT SET PEN...
000100: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
000110: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
000120: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
000130: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 70 61 67 65 20 31 35 2E 35 33 0D 0A 0D 0A 0D 0A page 15.53......
000160: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 35 ........ 5
000170: 31 3A 20 54 58 54 20 47 45 54 20 50 41 50 45 52 1: TXT GET PAPER
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 23 42 42 39 39 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 #BB99........
0001C0: 20 20 20 20 47 65 74 20 69 6E 6B 20 66 6F 72 20 Get ink for
0001D0: 77 72 69 74 69 6E 67 20 62 61 63 6B 67 72 6F 75 writing backgrou
0001E0: 6E 64 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 nd.........
0001F0: 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 0D Action:.......
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 41 73 6B 20 77 68 61 74 . Ask what
000010: 20 74 68 65 20 70 61 70 65 72 20 69 6E 6B 20 69 the paper ink i
000020: 73 20 73 65 74 20 74 6F 20 66 6F 72 20 74 68 65 s set to for the
000030: 20 20 63 75 72 72 65 6E 74 6C 79 20 20 73 65 6C currently sel
000040: 65 63 74 65 64 20 20 73 74 72 65 61 6D 2E 0D 0A ected stream...
000050: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
000060: 20 69 6E 6B 20 75 73 65 64 20 66 6F 72 20 77 72 ink used for wr
000070: 69 74 69 6E 67 20 74 68 65 20 62 61 63 6B 67 72 iting the backgr
000080: 6F 75 6E 64 20 74 6F 20 63 68 61 72 61 63 74 65 ound to characte
000090: 72 73 20 61 6E 64 20 66 6F 72 20 63 6C 65 61 72 rs and for clear
0000A0: 69 6E 67 0D 0A 20 20 20 20 20 20 20 74 68 65 20 ing.. the
0000B0: 74 65 78 74 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A text window.....
0000C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 .... Entry
0000D0: 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A conditions:....
0000E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F .... No co
0000F0: 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 0D nditions........
000100: 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E . Exit con
000110: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 0D 0A ditions:........
000120: 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E A contain
000130: 73 20 74 68 65 20 69 6E 6B 2E 0D 0A 0D 0A 0D 0A s the ink.......
000140: 0D 0A 20 20 20 20 20 20 20 46 6C 61 67 73 20 63 .. Flags c
000150: 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 orrupt...
000160: 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 All other regist
000170: 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A ers preserved...
000180: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 ...... Not
000190: 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 es:......
0001A0: 54 68 69 73 20 72 6F 75 74 69 6E 65 20 68 61 73 This routine has
0001B0: 20 6E 6F 20 6F 74 68 65 72 20 65 66 66 65 63 74 no other effect
0001C0: 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 s....... R
0001D0: 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D elated entries:.
0001E0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 20 ..... GRA
0001F0: 47 45 54 20 50 41 50 45 52 0D 0A 20 20 20 20 20 GET PAPER..
Size : 512 (Real : 512)
000000: 20 20 53 43 52 20 47 45 54 20 49 4E 4B 0D 0A 20 SCR GET INK..
000010: 20 20 20 20 20 20 54 58 54 20 47 45 54 20 50 45 TXT GET PE
000020: 4E 0D 0A 20 20 20 20 20 20 20 54 58 54 20 53 45 N.. TXT SE
000030: 54 20 50 41 50 45 52 0D 0A 0D 0A 0D 0A 0D 0A 0D T PAPER.........
000040: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
000050: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000060: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 FIRMWARE
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 70 61 67 65 20 31 35 2E 35 34 0D 0A page 15.54..
000090: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
0000A0: 20 20 20 35 32 3A 20 54 58 54 20 49 4E 56 45 52 52: TXT INVER
0000B0: 53 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 SE
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 #B
0000E0: 42 39 43 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 B9C......
0000F0: 53 77 61 70 20 63 75 72 72 65 6E 74 20 70 65 6E Swap current pen
000100: 20 61 6E 64 20 70 61 70 65 72 20 69 6E 6B 73 20 and paper inks
000110: 6F 76 65 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 over.......
000120: 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 Action:......
000130: 20 20 20 20 20 20 45 78 63 68 61 6E 67 65 20 74 Exchange t
000140: 68 65 20 74 65 78 74 20 70 65 6E 20 61 6E 64 20 he text pen and
000150: 70 61 70 65 72 20 28 66 6F 72 65 67 72 6F 75 6E paper (foregroun
000160: 64 20 61 6E 64 20 62 61 63 6B 67 72 6F 75 6E 64 d and background
000170: 29 20 20 69 6E 6B 73 20 20 66 6F 72 0D 0A 20 20 ) inks for..
000180: 20 20 20 20 20 74 68 65 20 63 75 72 72 65 6E 74 the current
000190: 6C 79 20 73 65 6C 65 63 74 65 64 20 73 74 72 65 ly selected stre
0001A0: 61 6D 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 am.......
0001B0: 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 Entry conditions
0001C0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F :...... No
0001D0: 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A conditions.....
0001E0: 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F .. Exit co
0001F0: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 nditions:......
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 41 46 20 61 6E 64 20 48 4C 20 AF and HL
000010: 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 corrupt...
000020: 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 All other regis
000030: 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D ters preserved..
000040: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ....... No
000050: 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 tes:......
000060: 20 49 6E 20 56 31 2E 31 20 66 69 72 6D 77 61 72 In V1.1 firmwar
000070: 65 20 74 68 65 20 63 75 72 73 6F 72 20 62 6C 6F e the cursor blo
000080: 62 20 69 73 20 72 65 6D 6F 76 65 64 20 61 6E 64 b is removed and
000090: 20 72 65 70 6C 61 63 65 64 20 20 61 6E 64 20 20 replaced and
0000A0: 73 6F 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 so the..
0000B0: 63 75 72 72 65 6E 74 20 70 6F 73 69 74 69 6F 6E current position
0000C0: 20 69 73 20 66 6F 72 63 65 64 20 6C 65 67 61 6C is forced legal
0000D0: 20 28 69 6E 73 69 64 65 20 74 68 65 20 77 69 6E (inside the win
0000E0: 64 6F 77 29 20 20 77 68 69 63 68 20 20 6D 61 79 dow) which may
0000F0: 20 63 61 75 73 65 0D 0A 20 20 20 20 20 20 20 74 cause.. t
000100: 68 65 20 77 69 6E 64 6F 77 20 74 6F 20 72 6F 6C he window to rol
000110: 6C 2E 20 49 6E 20 56 31 2E 30 20 66 69 72 6D 77 l. In V1.0 firmw
000120: 61 72 65 20 74 68 65 20 63 75 72 73 6F 72 20 62 are the cursor b
000130: 6C 6F 62 20 20 69 73 20 20 6E 6F 74 20 20 72 65 lob is not re
000140: 64 72 61 77 6E 0D 0A 20 20 20 20 20 20 20 61 6E drawn.. an
000150: 64 20 73 6F 20 69 74 20 73 68 6F 75 6C 64 20 62 d so it should b
000160: 65 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 20 e on the screen
000170: 77 68 65 6E 20 74 68 69 73 20 72 6F 75 74 69 6E when this routin
000180: 65 20 69 73 20 63 61 6C 6C 65 64 2E 0D 0A 0D 0A e is called.....
000190: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C ...... Rel
0001A0: 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D ated entries:...
0001B0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 58 54 20 ..... TXT
0001C0: 53 45 54 20 50 41 50 45 52 0D 0A 20 20 20 20 20 SET PAPER..
0001D0: 20 20 54 58 54 20 53 45 54 20 50 45 4E 0D 0A 0D TXT SET PEN...
0001E0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0001F0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
Size : 512 (Real : 512)
000000: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
000010: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
000020: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 70 61 67 65 20 31 35 2E 35 35 0D 0A 0D 0A 0D 0A page 15.55......
000050: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 35 ........ 5
000060: 33 3A 20 54 58 54 20 53 45 54 20 42 41 43 4B 20 3: TXT SET BACK
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 23 42 42 39 46 0D 0A 0D 0A 0D 0A 20 20 20 20 20 #BB9F......
0000B0: 20 20 41 6C 6C 6F 77 20 6F 72 20 64 69 73 61 6C Allow or disal
0000C0: 6C 6F 77 20 62 61 63 6B 67 72 6F 75 6E 64 20 62 low background b
0000D0: 65 69 6E 67 20 77 72 69 74 74 65 6E 2E 0D 0A 0D eing written....
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
0000F0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 :...... Se
000100: 74 20 63 68 61 72 61 63 74 65 72 20 77 72 69 74 t character writ
000110: 65 20 6D 6F 64 65 20 74 6F 20 6F 70 61 71 75 65 e mode to opaque
000120: 20 6F 72 20 74 72 61 6E 73 70 61 72 65 6E 74 20 or transparent
000130: 20 66 6F 72 20 20 74 68 65 20 20 63 75 72 72 65 for the curre
000140: 6E 74 6C 79 0D 0A 20 20 20 20 20 20 20 73 65 6C ntly.. sel
000150: 65 63 74 65 64 20 73 74 72 65 61 6D 2E 20 4F 70 ected stream. Op
000160: 61 71 75 65 20 6D 6F 64 65 20 77 72 69 74 65 73 aque mode writes
000170: 20 20 62 61 63 6B 67 72 6F 75 6E 64 20 20 77 69 background wi
000180: 74 68 20 20 74 68 65 20 20 63 68 61 72 61 63 74 th the charact
000190: 65 72 2E 0D 0A 20 20 20 20 20 20 20 54 72 61 6E er... Tran
0001A0: 73 70 61 72 65 6E 74 20 6D 6F 64 65 20 77 72 69 sparent mode wri
0001B0: 74 65 73 20 74 68 65 20 63 68 61 72 61 63 74 65 tes the characte
0001C0: 72 20 6F 6E 20 74 6F 70 20 6F 66 20 74 68 65 20 r on top of the
0001D0: 20 63 75 72 72 65 6E 74 20 20 63 6F 6E 74 65 6E current conten
0001E0: 74 73 0D 0A 20 20 20 20 20 20 20 6F 66 20 74 68 ts.. of th
0001F0: 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D 0A 20 e screen.......
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
000010: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
000020: 20 20 20 20 49 66 20 74 68 65 20 62 61 63 6B 67 If the backg
000030: 72 6F 75 6E 64 20 69 73 20 74 6F 20 62 65 20 77 round is to be w
000040: 72 69 74 74 65 6E 20 28 6F 70 61 71 75 65 20 6D ritten (opaque m
000050: 6F 64 65 29 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ode):....
000060: 20 20 20 20 20 20 20 20 20 41 20 6D 75 73 74 20 A must
000070: 62 65 20 7A 65 72 6F 2E 0D 0A 0D 0A 20 20 20 20 be zero.....
000080: 20 20 20 49 66 20 62 61 63 6B 67 72 6F 75 6E 64 If background
000090: 20 69 73 20 6E 6F 74 20 74 6F 20 62 65 20 77 72 is not to be wr
0000A0: 69 74 74 65 6E 20 28 74 72 61 6E 73 70 61 72 65 itten (transpare
0000B0: 6E 74 20 6D 6F 64 65 29 3A 0D 0A 0D 0A 20 20 20 nt mode):....
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 6D A m
0000D0: 75 73 74 20 62 65 20 6E 6F 6E 2D 7A 65 72 6F 2E ust be non-zero.
0000E0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 ...... Exi
0000F0: 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 20 t conditions:..
000100: 20 20 20 20 20 20 41 46 20 61 6E 64 20 48 4C 20 AF and HL
000110: 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 corrupt...
000120: 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 All other regis
000130: 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D ters preserved..
000140: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 ..... Note
000150: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 57 s:...... W
000160: 72 69 74 69 6E 67 20 69 6E 20 74 72 61 6E 73 70 riting in transp
000170: 61 72 65 6E 74 20 6D 6F 64 65 20 69 73 20 69 6E arent mode is in
000180: 74 65 6E 64 65 64 20 66 6F 72 20 20 61 6E 6E 6F tended for anno
000190: 74 61 74 69 6E 67 20 20 64 69 61 67 72 61 6D 73 tating diagrams
0001A0: 20 20 61 6E 64 0D 0A 20 20 20 20 20 20 20 73 69 and.. si
0001B0: 6D 69 6C 61 72 20 61 70 70 6C 69 63 61 74 69 6F milar applicatio
0001C0: 6E 73 2E 20 49 74 20 63 61 6E 20 68 61 76 65 20 ns. It can have
0001D0: 75 6E 66 6F 72 74 75 6E 61 74 65 20 65 66 66 65 unfortunate effe
0001E0: 63 74 73 20 69 66 20 20 69 74 20 20 69 73 20 20 cts if it is
0001F0: 75 73 65 64 0D 0A 20 20 20 20 20 20 20 67 65 6E used.. gen
Size : 512 (Real : 512)
000000: 65 72 61 6C 6C 79 20 20 62 65 63 61 75 73 65 20 erally because
000010: 20 6F 76 65 72 77 72 69 74 69 6E 67 20 20 61 20 overwriting a
000020: 20 63 68 61 72 61 63 74 65 72 20 20 77 69 6C 6C character will
000030: 20 20 6E 6F 74 20 20 72 65 6D 6F 76 65 20 20 20 not remove
000040: 74 68 65 0D 0A 20 20 20 20 20 20 20 63 68 61 72 the.. char
000050: 61 63 74 65 72 20 75 6E 64 65 72 6E 65 61 74 68 acter underneath
000060: 20 74 68 75 73 20 63 72 65 61 74 69 6E 67 20 61 thus creating a
000070: 6E 20 69 6E 63 6F 6D 70 72 65 68 65 6E 73 69 62 n incomprehensib
000080: 6C 65 20 6A 75 6D 62 6C 65 20 20 6F 6E 20 20 74 le jumble on t
000090: 68 65 0D 0A 20 20 20 20 20 20 20 73 63 72 65 65 he.. scree
0000A0: 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 n....... S
0000B0: 65 74 74 69 6E 67 20 74 68 65 20 63 68 61 72 61 etting the chara
0000C0: 63 74 65 72 20 77 72 69 74 65 20 6D 6F 64 65 20 cter write mode
0000D0: 64 6F 65 73 20 6E 6F 74 20 61 66 66 65 63 74 20 does not affect
0000E0: 74 68 65 20 47 72 61 70 68 69 63 73 20 56 44 55 the Graphics VDU
0000F0: 2E 20 20 49 6E 0D 0A 20 20 20 20 20 20 20 56 31 . In.. V1
000100: 2E 31 20 66 69 72 6D 77 61 72 65 20 74 68 65 20 .1 firmware the
000110: 72 6F 75 74 69 6E 65 20 47 52 41 20 53 45 54 20 routine GRA SET
000120: 42 41 43 4B 20 73 65 74 73 20 20 74 68 65 20 20 BACK sets the
000130: 65 71 75 69 76 61 6C 65 6E 74 20 20 67 72 61 70 equivalent grap
000140: 68 69 63 73 0D 0A 20 20 20 20 20 20 20 62 61 63 hics.. bac
000150: 6B 67 72 6F 75 6E 64 20 77 72 69 74 65 20 6D 6F kground write mo
000160: 64 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 de.......
000170: 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A Related entries:
000180: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 ...... GRA
000190: 20 53 45 54 20 42 41 43 4B 0D 0A 20 20 20 20 20 SET BACK..
0001A0: 20 20 54 58 54 20 47 45 54 20 42 41 43 4B 0D 0A TXT GET BACK..
0001B0: 20 20 20 20 20 20 20 54 58 54 20 57 52 20 43 48 TXT WR CH
0001C0: 41 52 0D 0A 20 20 20 20 20 20 20 54 58 54 20 57 AR.. TXT W
0001D0: 52 49 54 45 20 43 48 41 52 0D 0A 0D 0A 0D 0A 0D RITE CHAR.......
0001E0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 ..... AMST
0001F0: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
Size : 512 (Real : 512)
000000: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 FIRMWARE
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E page 15.
000030: 35 36 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 56..............
000040: 20 20 20 20 20 20 20 35 34 3A 20 54 58 54 20 47 54: TXT G
000050: 45 54 20 42 41 43 4B 20 20 20 20 20 20 20 20 20 ET BACK
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 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 20 20 20 23 42 42 41 32 0D 0A 0D #BBA2...
000090: 0A 0D 0A 20 20 20 20 20 20 20 41 73 6B 20 69 66 ... Ask if
0000A0: 20 62 61 63 6B 67 72 6F 75 6E 64 20 69 73 20 62 background is b
0000B0: 65 69 6E 67 20 77 72 69 74 74 65 6E 2E 0D 0A 0D eing written....
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
0000D0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 65 :...... Ge
0000E0: 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 t the character
0000F0: 77 72 69 74 65 20 6D 6F 64 65 20 66 6F 72 20 74 write mode for t
000100: 68 65 20 63 75 72 72 65 6E 74 6C 79 20 73 65 6C he currently sel
000110: 65 63 74 65 64 20 73 74 72 65 61 6D 2E 0D 0A 0D ected stream....
000120: 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 ... Entry
000130: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
000140: 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 . No condi
000150: 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 tions.......
000160: 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F Exit conditio
000170: 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns:......
000180: 49 66 20 62 61 63 6B 67 72 6F 75 6E 64 20 69 73 If background is
000190: 20 74 6F 20 62 65 20 77 72 69 74 74 65 6E 20 28 to be written (
0001A0: 6F 70 61 71 75 65 20 6D 6F 64 65 29 3A 0D 0A 0D opaque mode):...
0001B0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
0001C0: 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 7A 65 A contains ze
0001D0: 72 6F 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ro.......
0001E0: 49 66 20 62 61 63 6B 67 72 6F 75 6E 64 20 69 73 If background is
0001F0: 20 6E 6F 74 20 74 6F 20 62 65 20 77 72 69 74 74 not to be writt
Size : 512 (Real : 512)
000000: 65 6E 20 28 74 72 61 6E 73 70 61 72 65 6E 74 20 en (transparent
000010: 6D 6F 64 65 29 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 mode):......
000020: 20 20 20 20 20 20 20 20 20 20 20 20 41 20 63 6F A co
000030: 6E 74 61 69 6E 73 20 6E 6F 6E 2D 7A 65 72 6F 2E ntains non-zero.
000040: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 77 ...... Alw
000050: 61 79 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ays:......
000060: 20 20 20 20 20 20 20 20 20 20 44 45 2C 48 4C 20 DE,HL
000070: 61 6E 64 20 66 6C 61 67 73 20 63 6F 72 72 75 70 and flags corrup
000080: 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 t...
000090: 20 20 20 20 41 6C 6C 20 72 65 67 69 73 74 65 72 All register
0000A0: 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A s preserved.....
0000B0: 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D .. Notes:.
0000C0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 ..... This
0000D0: 20 6F 6E 6C 79 20 61 70 70 6C 69 65 73 20 74 6F only applies to
0000E0: 20 74 68 65 20 54 65 78 74 20 56 44 55 2C 20 20 the Text VDU,
0000F0: 74 68 65 20 20 47 72 61 70 68 69 63 73 20 20 56 the Graphics V
000100: 44 55 20 20 61 6C 77 61 79 73 20 20 77 72 69 74 DU always writ
000110: 65 73 0D 0A 20 20 20 20 20 20 20 6F 70 61 71 75 es.. opaqu
000120: 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 e....... R
000130: 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D elated entries:.
000140: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 58 54 20 ..... TXT
000150: 53 45 54 20 42 41 43 4B 0D 0A 0D 0A 0D 0A 0D 0A SET BACK........
000160: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000170: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
000180: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
000190: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
0001B0: 65 20 31 35 2E 35 37 0D 0A 0D 0A 0D 0A 0D 0A 0D e 15.57.........
0001C0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 35 35 3A 20 ..... 55:
0001D0: 54 58 54 20 47 45 54 20 4D 41 54 52 49 58 20 20 TXT GET MATRIX
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 23 42 42 #BB
000010: 41 35 0D 0A 0D 0A 20 20 20 20 20 20 20 47 65 74 A5.... Get
000020: 20 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 20 the address of
000030: 61 20 63 68 61 72 61 63 74 65 72 20 6D 61 74 72 a character matr
000040: 69 78 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 ix...........
000050: 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 Action:....
000060: 20 20 20 20 20 20 43 61 6C 63 75 6C 61 74 65 20 Calculate
000070: 61 20 70 6F 69 6E 74 65 72 20 74 6F 20 74 68 65 a pointer to the
000080: 20 6D 61 74 72 69 78 20 66 6F 72 20 61 20 63 68 matrix for a ch
000090: 61 72 61 63 74 65 72 20 61 6E 64 20 64 65 74 65 aracter and dete
0000A0: 72 6D 69 6E 65 20 69 66 20 20 69 74 0D 0A 20 20 rmine if it..
0000B0: 20 20 20 20 20 69 73 20 61 20 75 73 65 72 20 64 is a user d
0000C0: 65 66 69 6E 65 64 20 6D 61 74 72 69 78 2E 0D 0A efined matrix...
0000D0: 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 .. Entry c
0000E0: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 onditions:....
0000F0: 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 A contains
000100: 74 68 65 20 63 68 61 72 61 63 74 65 72 20 77 68 the character wh
000110: 6F 73 65 20 6D 61 74 72 69 78 20 69 73 20 74 6F ose matrix is to
000120: 20 62 65 20 66 6F 75 6E 64 2E 0D 0A 0D 0A 20 20 be found.....
000130: 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 Exit condit
000140: 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ions:....
000150: 49 66 20 74 68 65 20 6D 61 74 72 69 78 20 69 6E If the matrix in
000160: 20 74 68 65 20 75 73 65 72 20 64 65 66 69 6E 65 the user define
000170: 64 20 6D 61 74 72 69 78 20 74 61 62 6C 65 3A 0D d matrix table:.
000180: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000190: 20 20 20 43 61 72 72 79 20 74 72 75 65 2E 0D 0A Carry true...
0001A0: 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 .. If the
0001B0: 6D 61 74 72 69 78 20 69 73 20 69 6E 20 74 68 65 matrix is in the
0001C0: 20 6C 6F 77 65 72 20 52 4F 4D 3A 0D 0A 0D 0A 20 lower ROM:....
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
0001E0: 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 0D 0A 20 arry false.....
0001F0: 20 20 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 0D Always:...
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000010: 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 HL contains the
000020: 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 address of the
000030: 6D 61 74 72 69 78 2E 0D 0A 0D 0A 20 20 20 20 20 matrix.....
000040: 20 20 20 20 20 20 20 20 20 20 20 41 20 61 6E 64 A and
000050: 20 6F 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 other flags cor
000060: 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 rupt...
000070: 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 All other
000080: 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 registers prese
000090: 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 rved.......
0000A0: 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 Notes:......
0000B0: 20 20 20 20 20 54 68 65 20 6D 61 74 72 69 78 20 The matrix
0000C0: 6D 61 79 20 62 65 20 69 6E 20 52 41 4D 20 6F 72 may be in RAM or
0000D0: 20 69 6E 20 52 4F 4D 2E 20 54 68 65 20 20 54 65 in ROM. The Te
0000E0: 78 74 20 20 56 44 55 20 20 61 73 73 75 6D 65 73 xt VDU assumes
0000F0: 20 20 74 68 61 74 20 20 74 68 65 0D 0A 20 20 20 that the..
000100: 20 20 20 20 61 70 70 72 6F 70 72 69 61 74 65 20 appropriate
000110: 52 4F 4D 73 20 61 72 65 20 65 6E 61 62 6C 65 64 ROMs are enabled
000120: 20 6F 72 20 64 69 73 61 62 6C 65 64 20 77 68 65 or disabled whe
000130: 6E 20 69 74 20 63 61 6C 6C 73 20 74 68 69 73 20 n it calls this
000140: 72 6F 75 74 69 6E 65 20 74 6F 0D 0A 20 20 20 20 routine to..
000150: 20 20 20 67 65 74 20 74 68 65 20 6D 61 74 72 69 get the matri
000160: 78 20 66 6F 72 20 61 20 63 68 61 72 61 63 74 65 x for a characte
000170: 72 2E 20 28 54 68 65 20 6C 6F 77 65 72 20 52 4F r. (The lower RO
000180: 4D 20 69 73 20 6F 6E 2C 20 74 68 65 20 75 70 70 M is on, the upp
000190: 65 72 20 52 4F 4D 20 69 73 0D 0A 20 20 20 20 20 er ROM is..
0001A0: 20 20 6E 6F 72 6D 61 6C 6C 79 20 6F 66 66 29 2E normally off).
0001B0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
0001C0: 20 6D 61 74 72 69 78 20 69 73 20 73 74 6F 72 65 matrix is store
0001D0: 64 20 61 73 20 61 6E 20 38 20 62 79 74 65 20 62 d as an 8 byte b
0001E0: 69 74 20 73 69 67 6E 69 66 69 63 61 6E 74 20 20 it significant
0001F0: 76 65 63 74 6F 72 2E 20 20 54 68 65 20 20 66 69 vector. The fi
Size : 512 (Real : 512)
000000: 72 73 74 0D 0A 20 20 20 20 20 20 20 62 79 74 65 rst.. byte
000010: 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 74 describes the t
000020: 6F 70 20 6C 69 6E 65 20 6F 66 20 74 68 65 20 63 op line of the c
000030: 68 61 72 61 63 74 65 72 20 61 6E 64 20 20 74 68 haracter and th
000040: 65 20 20 6C 61 73 74 20 20 62 79 74 65 20 20 74 e last byte t
000050: 68 65 0D 0A 20 20 20 20 20 20 20 62 6F 74 74 6F he.. botto
000060: 6D 20 6C 69 6E 65 2E 20 42 69 74 20 37 20 6F 66 m line. Bit 7 of
000070: 20 61 20 62 79 74 65 20 72 65 66 65 72 73 20 74 a byte refers t
000080: 6F 20 74 68 65 20 6C 65 66 74 6D 6F 73 74 20 70 o the leftmost p
000090: 69 78 65 6C 20 20 6F 66 20 20 61 20 20 6C 69 6E ixel of a lin
0000A0: 65 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 62 69 e.. and bi
0000B0: 74 20 30 20 74 6F 20 74 68 65 20 72 69 67 68 74 t 0 to the right
0000C0: 6D 6F 73 74 20 70 69 78 65 6C 2E 20 49 66 20 61 most pixel. If a
0000D0: 20 62 69 74 20 69 73 20 73 65 74 20 69 6E 20 74 bit is set in t
0000E0: 68 65 20 20 6D 61 74 72 69 78 20 20 74 68 65 6E he matrix then
0000F0: 0D 0A 20 20 20 20 20 20 20 74 68 65 20 70 69 78 .. the pix
000100: 65 6C 20 73 68 6F 75 6C 64 20 62 65 20 77 72 69 el should be wri
000110: 74 74 65 6E 20 69 6E 20 74 68 65 20 70 65 6E 20 tten in the pen
000120: 69 6E 6B 2E 20 49 66 20 74 68 65 20 62 69 74 20 ink. If the bit
000130: 69 73 20 6E 6F 74 20 73 65 74 20 74 68 65 6E 0D is not set then.
000140: 0A 20 20 20 20 20 20 20 74 68 65 20 70 69 78 65 . the pixe
000150: 6C 20 73 68 6F 75 6C 64 20 65 69 74 68 65 72 20 l should either
000160: 62 65 20 77 72 69 74 74 65 6E 20 69 6E 20 74 68 be written in th
000170: 65 20 20 70 61 70 65 72 20 20 69 6E 6B 20 20 6F e paper ink o
000180: 72 20 20 6C 65 66 74 20 20 61 6C 6F 6E 65 0D 0A r left alone..
000190: 20 20 20 20 20 20 20 28 64 65 70 65 6E 64 69 6E (dependin
0001A0: 67 20 6F 6E 20 74 68 65 20 63 68 61 72 61 63 74 g on the charact
0001B0: 65 72 20 77 72 69 74 65 20 6D 6F 64 65 29 2E 0D er write mode)..
0001C0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
0001D0: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
0001E0: 20 20 20 20 20 20 20 54 58 54 20 53 45 54 20 4D TXT SET M
0001F0: 41 54 52 49 58 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 ATRIX..........
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000010: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
000020: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 70 61 67 65 20 31 35 2E 35 38 0D 0A 1A 49 page 15.58...I
000050: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 70 61 67 65 20 31 35 2E 35 39 0D 0A 1A 79 page 15.59...y
000080: 6F 20 74 68 65 20 6C 65 66 74 6D 6F 73 74 20 70 o the leftmost p
000090: 69 78 65 6C 20 20 6F 66 20 20 61 20 20 6C 69 6E ixel of a lin
0000A0: 65 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 62 69 e.. and bi
0000B0: 74 20 30 20 74 6F 20 74 68 65 20 72 69 67 68 74 t 0 to the right
0000C0: 6D 6F 73 74 20 70 69 78 65 6C 2E 20 49 66 20 61 most pixel. If a
0000D0: 20 62 69 74 20 69 73 20 73 65 74 20 69 6E 20 74 bit is set in t
0000E0: 68 65 20 20 6D 61 74 72 69 78 20 20 74 68 65 6E he matrix then
0000F0: 0D 0A 20 20 20 20 20 20 20 74 68 65 20 70 69 78 .. the pix
000100: 65 6C 20 73 68 6F 75 6C 64 20 62 65 20 77 72 69 el should be wri
000110: 74 74 65 6E 20 69 6E 20 74 68 65 20 70 65 6E 20 tten in the pen
000120: 69 6E 6B 2E 20 49 66 20 74 68 65 20 62 69 74 20 ink. If the bit
000130: 69 73 20 6E 6F 74 20 73 65 74 20 74 68 65 6E 0D is not set then.
000140: 0A 20 20 20 20 20 20 20 74 68 65 20 70 69 78 65 . the pixe
000150: 6C 20 73 68 6F 75 6C 64 20 65 69 74 68 65 72 20 l should either
000160: 62 65 20 77 72 69 74 74 65 6E 20 69 6E 20 74 68 be written in th
000170: 65 20 20 70 61 70 65 72 20 20 69 6E 6B 20 20 6F e paper ink o
000180: 72 20 20 6C 65 66 74 20 20 61 6C 6F 6E 65 0D 0A r left alone..
000190: 20 20 20 20 20 20 20 28 64 65 70 65 6E 64 69 6E (dependin
0001A0: 67 20 6F 6E 20 74 68 65 20 63 68 61 72 61 63 74 g on the charact
0001B0: 65 72 20 77 72 69 74 65 20 6D 6F 64 65 29 2E 0D er write mode)..
0001C0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
0001D0: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
0001E0: 20 20 20 20 20 20 20 54 58 54 20 53 45 54 20 4D TXT SET M
0001F0: 41 54 52 49 58 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 ATRIX..........
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 35 36 3A 20 54 58 54 20 53 45 54 20 4D 56: TXT SET M
000020: 41 54 52 49 58 20 20 20 20 20 20 20 20 20 20 20 ATRIX
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 42 41 38 0D 0A 0D 0A 20 20 20 #BBA8....
000060: 20 20 20 20 53 65 74 20 61 20 63 68 61 72 61 63 Set a charac
000070: 74 65 72 20 6D 61 74 72 69 78 2E 0D 0A 0D 0A 20 ter matrix.....
000080: 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D Action:...
000090: 0A 20 20 20 20 20 20 20 53 65 74 20 74 68 65 20 . Set the
0000A0: 6D 61 74 72 69 78 20 66 6F 72 20 61 20 75 73 65 matrix for a use
0000B0: 72 20 64 65 66 69 6E 65 64 20 63 68 61 72 61 63 r defined charac
0000C0: 74 65 72 2E 20 49 66 20 74 68 65 20 63 68 61 72 ter. If the char
0000D0: 61 63 74 65 72 20 20 69 73 20 20 6E 6F 74 0D 0A acter is not..
0000E0: 20 20 20 20 20 20 20 75 73 65 72 20 64 65 66 69 user defi
0000F0: 6E 65 64 20 74 68 65 6E 20 6E 6F 20 61 63 74 69 ned then no acti
000100: 6F 6E 20 69 73 20 74 61 6B 65 6E 2E 0D 0A 0D 0A on is taken.....
000110: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
000120: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 ditions:....
000130: 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 A contains th
000140: 65 20 63 68 61 72 61 63 74 65 72 20 77 68 6F 73 e character whos
000150: 65 20 6D 61 74 72 69 78 20 69 73 20 74 6F 20 62 e matrix is to b
000160: 65 20 73 65 74 2E 0D 0A 20 20 20 20 20 20 20 48 e set... H
000170: 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 61 L contains the a
000180: 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 6D 61 ddress of the ma
000190: 74 72 69 78 20 74 6F 20 73 65 74 2E 0D 0A 0D 0A trix to set.....
0001A0: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
0001B0: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 itions:....
0001C0: 20 20 49 66 20 74 68 65 20 63 68 61 72 61 63 74 If the charact
0001D0: 65 72 20 69 73 20 75 73 65 72 20 64 65 66 69 6E er is user defin
0001E0: 61 62 6C 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 able:....
0001F0: 20 20 20 20 20 20 20 20 20 43 61 72 72 79 20 74 Carry t
Size : 512 (Real : 512)
000000: 72 75 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 rue..... I
000010: 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 f the character
000020: 69 73 20 6E 6F 74 20 75 73 65 72 20 64 65 66 69 is not user defi
000030: 6E 61 62 6C 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 nable:....
000040: 20 20 20 20 20 20 20 20 20 20 43 61 72 72 79 20 Carry
000050: 66 61 6C 73 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 false.....
000060: 20 41 6C 77 61 79 73 3A 0D 0A 0D 0A 20 20 20 20 Always:....
000070: 20 20 20 20 20 20 20 20 20 20 20 20 41 2C 42 43 A,BC
000080: 2C 44 45 2C 48 4C 20 61 6E 64 20 6F 74 68 65 72 ,DE,HL and other
000090: 20 66 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D flags corrupt..
0000A0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000B0: 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 All other regis
0000C0: 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D ters preserved..
0000D0: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A ... Notes:
0000E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 6D .... The m
0000F0: 61 74 72 69 78 20 69 73 20 73 74 6F 72 65 64 20 atrix is stored
000100: 61 73 20 61 6E 20 38 20 62 79 74 65 20 62 69 74 as an 8 byte bit
000110: 20 73 69 67 6E 69 66 69 63 61 6E 74 20 20 76 65 significant ve
000120: 63 74 6F 72 2E 20 20 54 68 65 20 20 66 69 72 73 ctor. The firs
000130: 74 0D 0A 20 20 20 20 20 20 20 62 79 74 65 20 64 t.. byte d
000140: 65 73 63 72 69 62 65 73 20 74 68 65 20 74 6F 70 escribes the top
000150: 20 6C 69 6E 65 20 6F 66 20 74 68 65 20 63 68 61 line of the cha
000160: 72 61 63 74 65 72 20 61 6E 64 20 20 74 68 65 20 racter and the
000170: 20 6C 61 73 74 20 20 62 79 74 65 20 20 74 68 65 last byte the
000180: 0D 0A 20 20 20 20 20 20 20 62 6F 74 74 6F 6D 20 .. bottom
000190: 6C 69 6E 65 2E 20 42 69 74 20 37 20 6F 66 20 61 line. Bit 7 of a
0001A0: 20 62 79 74 65 20 72 65 66 65 72 73 20 74 6F 20 byte refers to
0001B0: 74 68 65 20 6C 65 66 74 6D 6F 73 74 20 70 69 78 the leftmost pix
0001C0: 65 6C 20 20 6F 66 20 20 61 20 20 6C 69 6E 65 0D el of a line.
0001D0: 0A 20 20 20 20 20 20 20 61 6E 64 20 62 69 74 20 . and bit
0001E0: 30 20 74 6F 20 74 68 65 20 72 69 67 68 74 6D 6F 0 to the rightmo
0001F0: 73 74 20 70 69 78 65 6C 2E 20 49 66 20 61 20 62 st pixel. If a b
Size : 512 (Real : 512)
000000: 69 74 20 69 73 20 73 65 74 20 69 6E 20 74 68 65 it is set in the
000010: 20 20 6D 61 74 72 69 78 20 20 74 68 65 6E 0D 0A matrix then..
000020: 20 20 20 20 20 20 20 74 68 65 20 70 69 78 65 6C the pixel
000030: 20 73 68 6F 75 6C 64 20 62 65 20 77 72 69 74 74 should be writt
000040: 65 6E 20 69 6E 20 74 68 65 20 70 65 6E 20 69 6E en in the pen in
000050: 6B 2E 20 49 66 20 61 20 62 69 74 20 69 73 20 6E k. If a bit is n
000060: 6F 74 20 20 73 65 74 20 20 74 68 65 6E 0D 0A 20 ot set then..
000070: 20 20 20 20 20 20 74 68 65 20 70 69 78 65 6C 20 the pixel
000080: 73 68 6F 75 6C 64 20 65 69 74 68 65 72 20 62 65 should either be
000090: 20 77 72 69 74 74 65 6E 20 69 6E 20 74 68 65 20 written in the
0000A0: 20 70 61 70 65 72 20 20 69 6E 6B 20 20 6F 72 20 paper ink or
0000B0: 20 6C 65 66 74 20 20 61 6C 6F 6E 65 0D 0A 20 20 left alone..
0000C0: 20 20 20 20 20 28 64 65 70 65 6E 64 69 6E 67 20 (depending
0000D0: 77 68 65 74 68 65 72 20 74 68 65 20 63 68 61 72 whether the char
0000E0: 61 63 74 65 72 20 77 72 69 74 65 20 6D 6F 64 65 acter write mode
0000F0: 20 69 73 20 6F 70 61 71 75 65 20 20 6F 72 20 20 is opaque or
000100: 74 72 61 6E 73 70 61 72 65 6E 74 0D 0A 20 20 20 transparent..
000110: 20 20 20 20 63 75 72 72 65 6E 74 6C 79 29 2E 0D currently)..
000120: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 6D 61 ... The ma
000130: 74 72 69 78 20 69 73 20 63 6F 70 69 65 64 20 66 trix is copied f
000140: 72 6F 6D 20 74 68 65 20 61 72 65 61 20 67 69 76 rom the area giv
000150: 65 6E 20 20 69 6E 74 6F 20 20 74 68 65 20 20 63 en into the c
000160: 68 61 72 61 63 74 65 72 20 20 6D 61 74 72 69 78 haracter matrix
000170: 0D 0A 20 20 20 20 20 20 20 74 61 62 6C 65 20 77 .. table w
000180: 69 74 68 6F 75 74 20 75 73 69 6E 67 20 52 41 4D ithout using RAM
000190: 20 4C 41 4D 73 20 74 68 75 73 20 74 68 65 20 6D LAMs thus the m
0001A0: 61 74 72 69 63 65 73 20 63 61 6E 20 20 62 65 20 atrices can be
0001B0: 20 73 65 74 20 20 66 72 6F 6D 20 20 52 4F 4D 0D set from ROM.
0001C0: 0A 20 20 20 20 20 20 20 70 72 6F 76 69 64 69 6E . providin
0001D0: 67 20 69 74 20 69 73 20 65 6E 61 62 6C 65 64 2E g it is enabled.
0001E0: 20 28 4E 6F 74 65 20 68 6F 77 65 76 65 72 20 74 (Note however t
0001F0: 68 61 74 20 74 68 65 20 6A 75 6D 70 62 6C 6F 63 hat the jumpbloc
Size : 512 (Real : 512)
000000: 6B 20 64 69 73 61 62 6C 65 73 20 74 68 65 0D 0A k disables the..
000010: 20 20 20 20 20 20 20 75 70 70 65 72 20 52 4F 4D upper ROM
000020: 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 74 )..... Alt
000030: 65 72 69 6E 67 20 61 20 63 68 61 72 61 63 74 65 ering a characte
000040: 72 20 6D 61 74 72 69 78 20 63 68 61 6E 67 65 73 r matrix changes
000050: 20 74 68 65 20 6D 61 74 72 69 78 20 20 66 6F 72 the matrix for
000060: 20 20 61 6C 6C 20 20 73 74 72 65 61 6D 73 2E 20 all streams.
000070: 20 49 74 0D 0A 20 20 20 20 20 20 20 64 6F 65 73 It.. does
000080: 20 6E 6F 74 20 61 6C 74 65 72 20 61 6E 79 20 63 not alter any c
000090: 68 61 72 61 63 74 65 72 20 6F 6E 20 74 68 65 20 haracter on the
0000A0: 73 63 72 65 65 6E 3B 20 69 74 20 63 68 61 6E 67 screen; it chang
0000B0: 65 73 20 20 77 68 61 74 20 20 77 69 6C 6C 20 20 es what will
0000C0: 62 65 0D 0A 20 20 20 20 20 20 20 70 6C 61 63 65 be.. place
0000D0: 64 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 20 d on the screen
0000E0: 74 68 65 20 6E 65 78 74 20 74 69 6D 65 20 74 68 the next time th
0000F0: 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 77 e character is w
000100: 72 69 74 74 65 6E 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 ritten.........
000110: 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E Related en
000120: 74 72 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tries:....
000130: 20 54 58 54 20 47 45 54 20 4D 41 54 52 49 58 0D TXT GET MATRIX.
000140: 0A 20 20 20 20 20 20 20 54 58 54 20 53 45 54 20 . TXT SET
000150: 4D 20 54 41 42 4C 45 0D 0A 0D 0A 0D 0A 0D 0A 0D M TABLE.........
000160: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
000170: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000180: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 FIRMWARE
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 70 61 67 65 20 31 35 2E 35 39 0D 0A page 15.59..
0001B0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
0001C0: 20 20 20 35 37 3A 20 54 58 54 20 53 45 54 20 4D 57: TXT SET M
0001D0: 20 54 41 42 4C 45 20 20 20 20 20 20 20 20 20 20 TABLE
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 23 42 42 41 42 0D 0A 0D 0A 20 20 20 #BBAB....
000010: 20 20 20 20 53 65 74 20 74 68 65 20 75 73 65 72 Set the user
000020: 20 64 65 66 69 6E 65 64 20 6D 61 74 72 69 78 20 defined matrix
000030: 74 61 62 6C 65 20 61 64 64 72 65 73 73 2E 0D 0A table address...
000040: 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A .. Action:
000050: 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 20 74 .... Set t
000060: 68 65 20 75 73 65 72 20 64 65 66 69 6E 65 64 20 he user defined
000070: 6D 61 74 72 69 78 20 74 61 62 6C 65 20 61 6E 64 matrix table and
000080: 20 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 20 63 the number of c
000090: 68 61 72 61 63 74 65 72 73 20 69 6E 20 20 74 68 haracters in th
0000A0: 65 0D 0A 20 20 20 20 20 20 20 74 61 62 6C 65 2E e.. table.
0000B0: 20 54 68 65 20 74 61 62 6C 65 20 69 73 20 69 6E The table is in
0000C0: 69 74 69 61 6C 69 7A 65 64 20 77 69 74 68 20 74 itialized with t
0000D0: 68 65 20 63 75 72 72 65 6E 74 20 6D 61 74 72 69 he current matri
0000E0: 78 20 73 65 74 74 69 6E 67 73 2E 0D 0A 0D 0A 20 x settings.....
0000F0: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
000100: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 itions:....
000110: 20 20 44 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 DE contains th
000120: 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 e first characte
000130: 72 20 69 6E 20 74 68 65 20 74 61 62 6C 65 2E 0D r in the table..
000140: 0A 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 . HL conta
000150: 69 6E 73 20 74 68 65 20 61 64 64 72 65 73 73 20 ins the address
000160: 6F 66 20 74 68 65 20 73 74 61 72 74 20 6F 66 20 of the start of
000170: 74 68 65 20 6E 65 77 20 74 61 62 6C 65 2E 0D 0A the new table...
000180: 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F .. Exit co
000190: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 nditions:....
0001A0: 20 20 20 20 49 66 20 74 68 65 72 65 20 77 61 73 If there was
0001B0: 20 6E 6F 20 75 73 65 72 20 64 65 66 69 6E 65 64 no user defined
0001C0: 20 6D 61 74 72 69 78 20 74 61 62 6C 65 20 62 65 matrix table be
0001D0: 66 6F 72 65 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 fore:......
0001E0: 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 79 Carry
0001F0: 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 false...
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 41 20 61 6E 64 20 48 A and H
000010: 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 0D 0A 20 20 L corrupt.....
000020: 20 20 20 20 20 49 66 20 74 68 65 72 65 20 77 61 If there wa
000030: 73 20 61 20 75 73 65 72 20 64 65 66 69 6E 65 64 s a user defined
000040: 20 6D 61 74 72 69 78 20 74 61 62 6C 65 20 62 65 matrix table be
000050: 66 6F 72 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 fore:....
000060: 20 20 20 20 20 20 20 20 20 43 61 72 72 79 20 74 Carry t
000070: 72 75 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 rue...
000080: 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 A contains
000090: 20 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 the first chara
0000A0: 63 74 65 72 20 69 6E 20 74 68 65 20 6F 6C 64 20 cter in the old
0000B0: 74 61 62 6C 65 2E 0D 0A 20 20 20 20 20 20 20 20 table...
0000C0: 20 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 HL conta
0000D0: 69 6E 73 20 74 68 65 20 61 64 64 72 65 73 73 20 ins the address
0000E0: 6F 66 20 74 68 65 20 6F 6C 64 20 74 61 62 6C 65 of the old table
0000F0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 77 61 ..... Alwa
000100: 79 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 ys:....
000110: 20 20 20 20 20 20 20 42 43 2C 44 45 20 61 6E 64 BC,DE and
000120: 20 6F 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 other flags cor
000130: 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 rupt...
000140: 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 All other
000150: 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 registers prese
000160: 72 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 rved.....
000170: 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 Notes:....
000180: 20 49 66 20 74 68 65 20 66 69 72 73 74 20 63 68 If the first ch
000190: 61 72 61 63 74 65 72 20 73 70 65 63 69 66 69 65 aracter specifie
0001A0: 64 20 69 73 20 20 69 6E 20 20 74 68 65 20 20 72 d is in the r
0001B0: 61 6E 67 65 20 20 30 2E 2E 32 35 35 20 20 74 68 ange 0..255 th
0001C0: 65 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 en the..
0001D0: 6D 61 74 72 69 63 65 73 20 66 6F 72 20 61 6C 6C matrices for all
0001E0: 20 63 68 61 72 61 63 74 65 72 73 20 62 65 74 77 characters betw
0001F0: 65 65 6E 20 74 68 61 74 20 63 68 61 72 61 63 74 een that charact
Size : 512 (Real : 512)
000000: 65 72 20 61 6E 64 20 20 63 68 61 72 61 63 74 65 er and characte
000010: 72 20 20 32 35 35 0D 0A 20 20 20 20 20 20 20 61 r 255.. a
000020: 72 65 20 74 6F 20 62 65 20 73 74 6F 72 65 64 20 re to be stored
000030: 69 6E 20 74 68 65 20 75 73 65 72 20 64 65 66 69 in the user defi
000040: 6E 65 64 20 74 61 62 6C 65 2E 0D 0A 0D 0A 20 20 ned table.....
000050: 20 20 20 20 20 49 66 20 74 68 65 20 66 69 72 73 If the firs
000060: 74 20 63 68 61 72 61 63 74 65 72 20 73 70 65 63 t character spec
000070: 69 66 69 65 64 20 69 73 20 6E 6F 74 20 69 6E 20 ified is not in
000080: 74 68 65 20 72 61 6E 67 65 20 30 2E 2E 32 35 35 the range 0..255
000090: 20 20 74 68 65 6E 20 20 74 68 65 0D 0A 20 20 20 then the..
0000A0: 20 20 20 20 75 73 65 72 20 64 65 66 69 6E 65 64 user defined
0000B0: 20 6D 61 74 72 69 78 20 74 61 62 6C 65 20 69 73 matrix table is
0000C0: 20 64 65 65 6D 65 64 20 74 6F 20 63 6F 6E 74 61 deemed to conta
0000D0: 69 6E 20 6E 6F 20 20 6D 61 74 72 69 63 65 73 20 in no matrices
0000E0: 20 28 61 6E 64 20 20 74 68 65 0D 0A 20 20 20 20 (and the..
0000F0: 20 20 20 74 61 62 6C 65 20 61 64 64 72 65 73 73 table address
000100: 20 70 61 73 73 65 64 20 69 73 20 69 67 6E 6F 72 passed is ignor
000110: 65 64 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ed)..... T
000120: 68 65 20 74 61 62 6C 65 20 6D 75 73 74 20 62 65 he table must be
000130: 20 28 32 35 36 20 2D 20 66 69 72 73 74 20 63 68 (256 - first ch
000140: 61 72 29 20 2A 20 38 20 62 79 74 65 73 20 6C 6F ar) * 8 bytes lo
000150: 6E 67 2E 20 54 68 65 20 6D 61 74 72 69 63 65 73 ng. The matrices
000160: 20 20 61 72 65 0D 0A 20 20 20 20 20 20 20 73 74 are.. st
000170: 6F 72 65 64 20 69 6E 20 74 68 65 20 74 61 62 6C ored in the tabl
000180: 65 20 69 6E 20 61 73 63 65 6E 64 69 6E 67 20 6F e in ascending o
000190: 72 64 65 72 2E 20 54 68 65 20 74 61 62 6C 65 20 rder. The table
0001A0: 69 73 20 69 6E 69 74 69 61 6C 69 7A 65 64 20 20 is initialized
0001B0: 77 69 74 68 0D 0A 20 20 20 20 20 20 20 74 68 65 with.. the
0001C0: 20 63 75 72 72 65 6E 74 20 6D 61 74 72 69 78 20 current matrix
0001D0: 73 65 74 74 69 6E 67 73 2C 20 77 68 65 74 68 65 settings, whethe
0001E0: 72 20 74 68 65 79 20 77 65 72 65 20 70 72 65 76 r they were prev
0001F0: 69 6F 75 73 6C 79 20 69 6E 20 52 41 4D 20 6F 72 iously in RAM or
Size : 512 (Real : 512)
000000: 20 69 6E 0D 0A 20 20 20 20 20 20 20 74 68 65 20 in.. the
000010: 52 4F 4D 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ROM..... T
000020: 68 65 20 74 61 62 6C 65 20 73 68 6F 75 6C 64 20 he table should
000030: 6E 6F 74 20 62 65 20 6C 6F 63 61 74 65 64 20 69 not be located i
000040: 6E 20 52 41 4D 20 75 6E 64 65 72 6E 65 61 74 68 n RAM underneath
000050: 20 61 20 52 4F 4D 2E 0D 0A 0D 0A 20 20 20 20 20 a ROM.....
000060: 20 20 49 74 20 69 73 20 70 65 72 6D 69 73 73 69 It is permissi
000070: 62 6C 65 20 66 6F 72 20 74 68 65 20 6E 65 77 20 ble for the new
000080: 61 6E 64 20 6F 6C 64 20 6D 61 74 72 69 78 20 74 and old matrix t
000090: 61 62 6C 65 73 20 74 6F 20 20 6F 76 65 72 6C 61 ables to overla
0000A0: 70 20 20 28 74 68 75 73 0D 0A 20 20 20 20 20 20 p (thus..
0000B0: 20 61 6C 6C 6F 77 69 6E 67 20 74 68 65 20 74 61 allowing the ta
0000C0: 62 6C 65 20 20 74 6F 20 20 62 65 20 20 65 78 74 ble to be ext
0000D0: 65 6E 64 65 64 20 20 6F 72 20 20 63 6F 6E 74 72 ended or contr
0000E0: 61 63 74 65 64 29 20 20 70 72 6F 76 69 64 69 6E acted) providin
0000F0: 67 20 20 74 68 61 74 0D 0A 20 20 20 20 20 20 20 g that..
000100: 6D 61 74 72 69 63 65 73 20 69 6E 20 74 68 65 20 matrices in the
000110: 6E 65 77 20 74 61 62 6C 65 20 6F 63 63 75 70 79 new table occupy
000120: 20 61 6E 20 61 64 64 72 65 73 73 20 20 65 61 72 an address ear
000130: 6C 69 65 72 20 20 74 6F 20 20 74 68 65 20 20 61 lier to the a
000140: 64 64 72 65 73 73 0D 0A 20 20 20 20 20 20 20 74 ddress.. t
000150: 68 61 74 20 74 68 65 79 20 6F 63 63 75 70 69 65 hat they occupie
000160: 64 20 69 6E 20 74 68 65 20 6F 6C 64 20 74 61 62 d in the old tab
000170: 6C 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 le.............
000180: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000190: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
0001A0: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 70 61 67 65 20 31 35 2E 36 30 0D 0A 0D 0A page 15.60....
0001D0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
0001E0: 20 41 6C 6C 20 73 74 72 65 61 6D 73 20 73 68 61 All streams sha
0001F0: 72 65 20 74 68 65 20 6D 61 74 72 69 78 20 74 61 re the matrix ta
Size : 512 (Real : 512)
000000: 62 6C 65 20 20 73 6F 20 20 61 6E 79 20 20 63 68 ble so any ch
000010: 61 6E 67 65 73 20 20 74 6F 20 20 69 74 20 20 77 anges to it w
000020: 69 6C 6C 20 20 62 65 0D 0A 20 20 20 20 20 20 20 ill be..
000030: 72 65 66 6C 65 63 74 65 64 20 6F 6E 20 61 6C 6C reflected on all
000040: 20 73 74 72 65 61 6D 73 2E 0D 0A 0D 0A 0D 0A 0D streams........
000050: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 ....... Re
000060: 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A lated entries:..
000070: 0D 0A 20 20 20 20 20 20 20 54 58 54 20 47 45 54 .. TXT GET
000080: 20 4D 20 54 41 42 4C 45 0D 0A 20 20 20 20 20 20 M TABLE..
000090: 20 54 58 54 20 53 45 54 20 4D 41 54 52 49 58 0D TXT SET MATRIX.
0000A0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000B0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000C0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000D0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000E0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000F0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 ...............
000100: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000110: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
000120: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 70 61 67 65 20 31 35 2E 36 31 0D 0A 0D 0A page 15.61....
000150: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000160: 20 35 38 3A 20 54 58 54 20 47 45 54 20 4D 20 54 58: TXT GET M T
000170: 41 42 4C 45 20 20 20 20 20 20 20 20 20 20 20 20 ABLE
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 23 42 42 41 45 0D 0A 0D 0A 0D 0A 20 20 20 #BBAE......
0001B0: 20 20 20 20 47 65 74 20 75 73 65 72 20 64 65 66 Get user def
0001C0: 69 6E 65 64 20 6D 61 74 72 69 78 20 74 61 62 6C ined matrix tabl
0001D0: 65 20 61 64 64 72 65 73 73 2E 0D 0A 0D 0A 0D 0A e address.......
0001E0: 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A Action:..
0001F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 47 65 74 20 74 .... Get t
Size : 512 (Real : 512)
000000: 68 65 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 he address of th
000010: 65 20 63 75 72 72 65 6E 74 20 75 73 65 72 20 64 e current user d
000020: 65 66 69 6E 65 64 20 6D 61 74 72 69 78 20 74 61 efined matrix ta
000030: 62 6C 65 20 61 6E 64 20 74 68 65 20 66 69 72 73 ble and the firs
000040: 74 0D 0A 20 20 20 20 20 20 20 63 68 61 72 61 63 t.. charac
000050: 74 65 72 20 69 6E 20 74 68 65 20 74 61 62 6C 65 ter in the table
000060: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E ....... En
000070: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D try conditions:.
000080: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 ..... No c
000090: 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A onditions.......
0000A0: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
0000B0: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
0000C0: 20 20 20 20 49 66 20 74 68 65 72 65 20 69 73 20 If there is
0000D0: 6E 6F 20 75 73 65 72 20 64 65 66 69 6E 65 64 20 no user defined
0000E0: 6D 61 74 72 69 78 20 74 61 62 6C 65 3A 0D 0A 0D matrix table:...
0000F0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000100: 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D Carry false..
000110: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000120: 20 41 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 A and HL corrup
000130: 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 t....... I
000140: 66 20 74 68 65 72 65 20 69 73 20 61 20 75 73 65 f there is a use
000150: 72 20 64 65 66 69 6E 65 64 20 6D 61 74 72 69 78 r defined matrix
000160: 20 74 61 62 6C 65 3A 0D 0A 0D 0A 0D 0A 20 20 20 table:......
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 Car
000180: 72 79 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 ry true...
000190: 20 20 20 20 20 20 20 20 20 20 41 20 63 6F 6E 74 A cont
0001A0: 61 69 6E 73 20 74 68 65 20 66 69 72 73 74 20 63 ains the first c
0001B0: 68 61 72 61 63 74 65 72 20 69 6E 20 74 68 65 20 haracter in the
0001C0: 74 61 62 6C 65 2E 0D 0A 20 20 20 20 20 20 20 20 table...
0001D0: 20 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 HL conta
0001E0: 69 6E 73 20 74 68 65 20 61 64 64 72 65 73 73 20 ins the address
0001F0: 6F 66 20 74 68 65 20 73 74 61 72 74 20 6F 66 20 of the start of
Size : 512 (Real : 512)
000000: 74 68 65 20 74 61 62 6C 65 2E 0D 0A 0D 0A 0D 0A the table.......
000010: 20 20 20 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A Always:..
000020: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000030: 20 20 20 20 4F 74 68 65 72 20 66 6C 61 67 73 20 Other flags
000040: 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 corrupt...
000050: 20 20 20 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 All ot
000060: 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 her registers pr
000070: 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 eserved.......
000080: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 Notes:....
000090: 20 20 20 20 20 20 54 68 65 20 6D 61 74 72 69 63 The matric
0000A0: 65 73 20 66 6F 72 20 63 68 61 72 61 63 74 65 72 es for character
0000B0: 73 20 62 65 74 77 65 65 6E 20 74 68 65 20 66 69 s between the fi
0000C0: 72 73 74 20 63 68 61 72 61 63 74 65 72 20 20 61 rst character a
0000D0: 6E 64 20 20 32 35 35 20 20 61 72 65 0D 0A 20 20 nd 255 are..
0000E0: 20 20 20 20 20 73 74 6F 72 65 64 20 69 6E 20 74 stored in t
0000F0: 68 65 20 74 61 62 6C 65 20 69 6E 20 61 73 63 65 he table in asce
000100: 6E 64 69 6E 67 20 6F 72 64 65 72 2E 20 45 61 63 nding order. Eac
000110: 68 20 6D 61 74 72 69 78 20 69 73 20 38 20 62 79 h matrix is 8 by
000120: 74 65 73 20 6C 6F 6E 67 2E 0D 0A 0D 0A 0D 0A 20 tes long.......
000130: 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E Related en
000140: 74 72 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tries:....
000150: 20 54 58 54 20 47 45 54 20 4D 41 54 52 49 58 0D TXT GET MATRIX.
000160: 0A 20 20 20 20 20 20 20 54 58 54 20 53 45 54 20 . TXT SET
000170: 4D 20 54 41 42 4C 45 0D 0A 0D 0A 0D 0A 0D 0A 0D M TABLE.........
000180: 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 ... AMSTRA
000190: 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 D CPC464/664/612
0001A0: 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 8 FIRMWARE
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 36 32 page 15.62
0001D0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
0001E0: 20 20 20 20 20 35 39 3A 20 54 58 54 20 47 45 54 59: TXT GET
0001F0: 20 43 4F 4E 54 52 4F 4C 53 20 20 20 20 20 20 20 CONTROLS
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 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 20 20 20 20 20 23 42 42 42 31 0D 0A 0D 0A 20 #BBB1....
000030: 20 20 20 20 20 20 46 65 74 63 68 20 61 64 64 72 Fetch addr
000040: 65 73 73 20 6F 66 20 63 6F 6E 74 72 6F 6C 20 63 ess of control c
000050: 6F 64 65 20 74 61 62 6C 65 2E 0D 0A 0D 0A 20 20 ode table.....
000060: 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A Action:....
000070: 20 20 20 20 20 20 20 47 65 74 20 74 68 65 20 61 Get the a
000080: 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 63 6F ddress of the co
000090: 6E 74 72 6F 6C 20 63 6F 64 65 20 74 61 62 6C 65 ntrol code table
0000A0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
0000B0: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
0000C0: 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 . No condi
0000D0: 74 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 tions.....
0000E0: 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 Exit conditions
0000F0: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 :.... HL c
000100: 6F 6E 74 61 69 6E 73 20 74 68 65 20 61 64 64 72 ontains the addr
000110: 65 73 73 20 6F 66 20 74 68 65 20 63 6F 6E 74 72 ess of the contr
000120: 6F 6C 20 63 6F 64 65 20 74 61 62 6C 65 2E 0D 0A ol code table...
000130: 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 All other
000140: 20 72 65 67 69 73 74 65 72 73 20 61 6E 64 20 66 registers and f
000150: 6C 61 67 73 20 70 72 65 73 65 72 76 65 64 2E 0D lags preserved..
000160: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A ... Notes:
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 73 .... All s
000180: 74 72 65 61 6D 73 20 73 68 61 72 65 20 6F 6E 65 treams share one
000190: 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 20 74 61 control code ta
0001A0: 62 6C 65 20 73 6F 20 74 68 61 74 20 61 6E 79 20 ble so that any
0001B0: 63 68 61 6E 67 65 73 20 20 6D 61 64 65 20 20 74 changes made t
0001C0: 6F 0D 0A 20 20 20 20 20 20 20 74 68 65 20 74 61 o.. the ta
0001D0: 62 6C 65 20 77 69 6C 6C 20 61 66 66 65 63 74 20 ble will affect
0001E0: 61 6C 6C 20 73 74 72 65 61 6D 73 2E 0D 0A 0D 0A all streams.....
0001F0: 20 20 20 20 20 20 20 54 68 65 20 63 6F 6E 74 72 The contr
Size : 512 (Real : 512)
000000: 6F 6C 20 63 6F 64 65 20 74 61 62 6C 65 20 68 61 ol code table ha
000010: 73 20 61 20 33 20 62 79 74 65 20 65 6E 74 72 79 s a 3 byte entry
000020: 20 66 6F 72 20 65 61 63 68 20 63 6F 6E 74 72 6F for each contro
000030: 6C 20 20 63 6F 64 65 2E 20 20 54 68 65 0D 0A 20 l code. The..
000040: 20 20 20 20 20 20 65 6E 74 72 69 65 73 20 61 72 entries ar
000050: 65 20 73 74 6F 72 65 64 20 69 6E 20 61 73 63 65 e stored in asce
000060: 6E 64 69 6E 67 20 6F 72 64 65 72 2C 20 73 6F 20 nding order, so
000070: 74 68 65 20 65 6E 74 72 79 20 66 6F 72 20 23 30 the entry for #0
000080: 30 20 20 69 73 20 20 66 69 72 73 74 0D 0A 20 20 0 is first..
000090: 20 20 20 20 20 61 6E 64 20 74 68 61 74 20 66 6F and that fo
0000A0: 72 20 23 31 46 20 69 73 20 6C 61 73 74 2E 20 54 r #1F is last. T
0000B0: 68 65 20 66 69 72 73 74 20 62 79 74 65 20 6F 66 he first byte of
0000C0: 20 65 61 63 68 20 65 6E 74 72 79 20 69 73 20 20 each entry is
0000D0: 74 68 65 20 20 6E 75 6D 62 65 72 0D 0A 20 20 20 the number..
0000E0: 20 20 20 20 6F 66 20 70 61 72 61 6D 65 74 65 72 of parameter
0000F0: 73 20 74 68 65 20 63 6F 6E 74 72 6F 6C 20 63 6F s the control co
000100: 64 65 20 72 65 71 75 69 72 65 73 2C 20 74 68 65 de requires, the
000110: 20 6F 74 68 65 72 20 74 77 6F 20 62 79 74 65 73 other two bytes
000120: 20 20 61 72 65 20 20 74 68 65 0D 0A 20 20 20 20 are the..
000130: 20 20 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 address of th
000140: 65 20 72 6F 75 74 69 6E 65 20 74 6F 20 63 61 6C e routine to cal
000150: 6C 20 74 68 65 20 70 72 6F 63 65 73 73 20 74 68 l the process th
000160: 65 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 20 20 e control code
000170: 77 68 65 6E 20 20 61 6C 6C 0D 0A 20 20 20 20 20 when all..
000180: 20 20 69 74 73 20 70 61 72 61 6D 65 74 65 72 73 its parameters
000190: 20 68 61 76 65 20 62 65 65 6E 20 72 65 63 65 69 have been recei
0001A0: 76 65 64 2E 20 54 68 65 20 72 6F 75 74 69 6E 65 ved. The routine
0001B0: 20 6D 75 73 74 20 62 65 20 6C 6F 63 61 74 65 64 must be located
0001C0: 20 69 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 in the..
0001D0: 20 63 65 6E 74 72 61 6C 20 33 32 4B 20 6F 66 20 central 32K of
0001E0: 52 41 4D 20 61 6E 64 20 69 74 20 6D 75 73 74 20 RAM and it must
0001F0: 6F 62 65 79 20 74 68 65 20 66 6F 6C 6C 6F 77 69 obey the followi
Size : 512 (Real : 512)
000000: 6E 67 20 69 6E 74 65 72 66 61 63 65 3A 0D 0A 0D ng interface:...
000010: 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 3A ... Entry:
000020: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000030: 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 A contains the
000040: 20 6C 61 73 74 20 63 68 61 72 61 63 74 65 72 20 last character
000050: 61 64 64 65 64 20 74 6F 20 74 68 65 20 62 75 66 added to the buf
000060: 66 65 72 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 fer...
000070: 20 20 20 20 20 20 42 20 63 6F 6E 74 61 69 6E 73 B contains
000080: 20 74 68 65 20 6C 65 6E 67 74 68 20 6F 66 20 74 the length of t
000090: 68 65 20 62 75 66 66 65 72 20 20 28 69 6E 63 6C he buffer (incl
0000A0: 75 64 69 6E 67 20 20 74 68 65 20 20 63 6F 6E 74 uding the cont
0000B0: 72 6F 6C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 rol..
0000C0: 20 20 20 20 20 63 6F 64 65 29 2E 0D 0A 20 20 20 code)...
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 20 63 C c
0000E0: 6F 6E 74 61 69 6E 73 20 74 68 65 20 73 61 6D 65 ontains the same
0000F0: 20 61 73 20 41 2E 0D 0A 20 20 20 20 20 20 20 20 as A...
000100: 20 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 HL conta
000110: 69 6E 73 20 74 68 65 20 61 64 64 72 65 73 73 20 ins the address
000120: 6F 66 20 74 68 65 20 63 6F 6E 74 72 6F 6C 20 63 of the control c
000130: 6F 64 65 20 62 75 66 66 65 72 20 28 70 6F 69 6E ode buffer (poin
000140: 74 73 20 61 74 0D 0A 20 20 20 20 20 20 20 20 20 ts at..
000150: 20 20 20 20 20 20 20 74 68 65 20 63 6F 6E 74 72 the contr
000160: 6F 6C 20 63 6F 64 65 29 2E 0D 0A 0D 0A 20 20 20 ol code).....
000170: 20 20 20 20 20 45 78 69 74 3A 0D 0A 20 20 20 20 Exit:..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 41 46 2C 42 AF,B
000190: 43 2C 44 45 2C 48 4C 20 63 6F 72 72 75 70 74 2E C,DE,HL corrupt.
0001A0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001B0: 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 All other regi
0001C0: 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E sters preserved.
0001D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 73 20 74 68 .... As th
0001E0: 65 20 63 6F 6E 74 72 6F 6C 20 62 75 66 66 65 72 e control buffer
0001F0: 20 6F 6E 6C 79 20 68 61 73 20 73 70 61 63 65 20 only has space
Size : 512 (Real : 512)
000000: 74 6F 20 73 74 6F 72 65 20 39 20 20 70 61 72 61 to store 9 para
000010: 6D 65 74 65 72 20 20 63 68 61 72 61 63 74 65 72 meter character
000020: 73 0D 0A 20 20 20 20 20 20 20 74 68 65 20 6E 75 s.. the nu
000030: 6D 62 65 72 20 6F 66 20 70 61 72 61 6D 65 74 65 mber of paramete
000040: 72 73 20 72 65 71 75 69 72 65 64 20 73 68 6F 75 rs required shou
000050: 6C 64 20 62 65 20 6C 69 6D 69 74 65 64 20 74 6F ld be limited to
000060: 20 39 20 6F 72 20 66 65 77 65 72 2E 0D 0A 0D 0A 9 or fewer.....
000070: 20 20 20 20 20 20 20 54 68 65 20 63 6F 6E 74 72 The contr
000080: 6F 6C 20 63 6F 64 65 20 74 61 62 6C 65 20 69 73 ol code table is
000090: 20 72 65 69 6E 69 74 69 61 6C 69 7A 65 64 20 74 reinitialized t
0000A0: 6F 20 69 74 73 20 64 65 66 61 75 6C 74 20 20 72 o its default r
0000B0: 6F 75 74 69 6E 65 73 20 20 77 68 65 6E 0D 0A 20 outines when..
0000C0: 20 20 20 20 20 20 54 58 54 20 52 45 53 45 54 20 TXT RESET
0000D0: 69 73 20 63 61 6C 6C 65 64 2E 0D 0A 0D 0A 20 20 is called.....
0000E0: 20 20 20 20 20 49 6E 20 56 31 2E 31 20 66 69 72 In V1.1 fir
0000F0: 6D 77 61 72 65 20 74 68 65 20 66 69 72 73 74 20 mware the first
000100: 62 79 74 65 20 6F 66 20 65 61 63 68 20 65 6E 74 byte of each ent
000110: 72 79 20 61 6C 73 6F 20 20 73 70 65 63 69 66 69 ry also specifi
000120: 65 73 20 20 77 68 65 74 68 65 72 0D 0A 20 20 20 es whether..
000130: 20 20 20 20 74 68 65 20 63 6F 6E 74 72 6F 6C 20 the control
000140: 63 6F 64 65 73 20 69 73 20 74 6F 20 62 65 20 20 codes is to be
000150: 64 69 73 61 62 6C 65 64 20 20 77 68 65 6E 20 20 disabled when
000160: 74 68 65 20 20 56 44 55 20 20 69 73 20 20 64 69 the VDU is di
000170: 73 61 62 6C 65 64 20 20 6F 72 0D 0A 20 20 20 20 sabled or..
000180: 20 20 20 77 68 65 74 68 65 72 20 69 74 20 69 73 whether it is
000190: 20 61 6C 77 61 79 73 20 74 6F 20 62 65 20 6F 62 always to be ob
0001A0: 65 79 65 64 2E 20 42 69 74 20 37 20 6F 66 20 74 eyed. Bit 7 of t
0001B0: 68 65 20 62 79 74 65 20 20 69 73 20 20 73 65 74 he byte is set
0001C0: 20 20 69 66 20 20 74 68 65 0D 0A 20 20 20 20 20 if the..
0001D0: 20 20 63 6F 64 65 20 69 73 20 74 6F 20 62 65 20 code is to be
0001E0: 64 69 73 61 62 6C 65 64 2E 0D 0A 0D 0A 20 20 20 disabled.....
0001F0: 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 Related entr
Size : 512 (Real : 512)
000000: 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ies:.... T
000010: 58 54 20 4F 55 54 50 55 54 0D 0A 0D 0A 0D 0A 20 XT OUTPUT......
000020: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000030: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
000040: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 70 61 67 65 20 31 35 2E 36 33 0D 0A 0D 0A page 15.63....
000070: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000080: 20 36 30 3A 20 54 58 54 20 53 54 52 20 53 45 4C 60: TXT STR SEL
000090: 45 43 54 20 20 20 20 20 20 20 20 20 20 20 20 20 ECT
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 20 20 20
0000C0: 20 20 23 42 42 42 34 0D 0A 0D 0A 20 20 20 20 20 #BBB4....
0000D0: 20 20 53 65 6C 65 63 74 20 61 20 54 65 78 74 20 Select a Text
0000E0: 56 44 55 20 73 74 72 65 61 6D 2E 0D 0A 0D 0A 0D VDU stream......
0000F0: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
000100: 0A 0D 0A 20 20 20 20 20 20 20 4D 61 6B 65 20 61 ... Make a
000110: 20 67 69 76 65 6E 20 20 73 74 72 65 61 6D 20 20 given stream
000120: 74 68 65 20 20 63 75 72 72 65 6E 74 6C 79 20 20 the currently
000130: 73 65 6C 65 63 74 65 64 20 20 73 74 72 65 61 6D selected stream
000140: 20 20 28 69 66 20 20 69 74 20 20 69 73 6E 27 74 (if it isn't
000150: 0D 0A 20 20 20 20 20 20 20 61 6C 72 65 61 64 79 .. already
000160: 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 )..... Ent
000170: 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A ry conditions:..
000180: 0D 0A 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 .. A conta
000190: 69 6E 73 20 74 68 65 20 72 65 71 75 69 72 65 64 ins the required
0001A0: 20 73 74 72 65 61 6D 2E 0D 0A 0D 0A 20 20 20 20 stream.....
0001B0: 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F Exit conditio
0001C0: 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 ns:.... A
0001D0: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 72 65 contains the pre
0001E0: 76 69 6F 75 73 6C 79 20 73 65 6C 65 63 74 65 64 viously selected
0001F0: 20 73 74 72 65 61 6D 2E 0D 0A 0D 0A 20 20 20 20 stream.....
Size : 512 (Real : 512)
000000: 20 20 20 48 4C 20 61 6E 64 20 66 6C 61 67 73 20 HL and flags
000010: 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 corrupt...
000020: 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 All other regis
000030: 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D ters preserved..
000040: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 ..... Note
000050: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 s:...... T
000060: 68 65 20 72 65 71 75 65 73 74 65 64 20 73 74 72 he requested str
000070: 65 61 6D 20 6E 75 6D 62 65 72 20 69 73 20 6D 61 eam number is ma
000080: 73 6B 65 64 20 28 77 69 74 68 20 23 30 37 29 20 sked (with #07)
000090: 74 6F 20 20 6D 61 6B 65 20 20 69 74 20 20 69 6E to make it in
0000A0: 74 6F 20 20 61 0D 0A 20 20 20 20 20 20 20 6C 65 to a.. le
0000B0: 67 61 6C 20 73 74 72 65 61 6D 20 6E 75 6D 62 65 gal stream numbe
0000C0: 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4D r....... M
0000D0: 61 6E 79 20 61 74 74 72 69 62 75 74 65 73 20 6F any attributes o
0000E0: 66 20 74 68 65 20 54 65 78 74 20 56 44 55 20 6D f the Text VDU m
0000F0: 61 79 20 62 65 20 73 65 74 20 69 6E 64 65 70 65 ay be set indepe
000100: 6E 64 65 6E 74 6C 79 20 6F 6E 20 20 64 69 66 66 ndently on diff
000110: 65 72 65 6E 74 0D 0A 20 20 20 20 20 20 20 73 74 erent.. st
000120: 72 65 61 6D 73 2E 20 49 74 20 69 73 20 69 6D 70 reams. It is imp
000130: 6F 72 74 61 6E 74 20 74 6F 20 65 6E 73 75 72 65 ortant to ensure
000140: 20 74 68 61 74 20 74 68 65 20 63 6F 72 72 65 63 that the correc
000150: 74 20 73 74 72 65 61 6D 20 69 73 20 73 65 6C 65 t stream is sele
000160: 63 74 65 64 0D 0A 20 20 20 20 20 20 20 77 68 65 cted.. whe
000170: 6E 20 61 6E 74 20 6F 66 20 74 68 65 73 65 20 61 n ant of these a
000180: 72 65 20 61 6C 74 65 72 65 64 2E 20 54 68 65 73 re altered. Thes
000190: 65 20 61 74 74 72 69 62 75 74 65 73 20 61 72 65 e attributes are
0001A0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 :......
0001B0: 20 20 20 20 20 20 20 50 65 6E 20 69 6E 6B 2E 0D Pen ink..
0001C0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001D0: 20 50 61 70 65 72 20 69 6E 6B 2E 0D 0A 0D 0A 20 Paper ink.....
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
0001F0: 75 72 73 6F 72 20 70 6F 73 69 74 69 6F 6E 2E 0D ursor position..
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000010: 20 57 69 6E 64 6F 77 20 6C 69 6D 69 74 73 2E 0D Window limits..
000020: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000030: 20 43 75 72 73 6F 72 20 65 6E 61 62 6C 65 2F 64 Cursor enable/d
000040: 69 73 61 62 6C 65 2E 0D 0A 20 20 20 20 20 20 20 isable...
000050: 20 20 20 20 20 20 20 20 20 43 75 72 73 6F 72 20 Cursor
000060: 6F 6E 2F 6F 66 66 2E 0D 0A 20 20 20 20 20 20 20 on/off...
000070: 20 20 20 20 20 20 20 20 20 56 44 55 20 65 6E 61 VDU ena
000080: 62 6C 65 2F 64 69 73 61 62 6C 65 2E 0D 0A 20 20 ble/disable...
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 68 Ch
0000A0: 61 72 61 63 74 65 72 20 77 72 69 74 65 20 6D 6F aracter write mo
0000B0: 64 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 de...
0000C0: 20 20 20 20 20 47 72 61 70 68 69 63 73 20 63 68 Graphics ch
0000D0: 61 72 61 63 74 65 72 20 77 72 69 74 65 20 6D 6F aracter write mo
0000E0: 64 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 de.......
0000F0: 49 66 20 74 68 65 20 73 74 72 65 61 6D 20 69 73 If the stream is
000100: 20 61 6C 72 65 61 64 79 20 73 65 6C 65 63 74 65 already selecte
000110: 64 20 74 68 65 6E 20 74 68 69 73 20 72 6F 75 74 d then this rout
000120: 69 6E 65 20 20 72 65 74 75 72 6E 73 20 20 71 75 ine returns qu
000130: 69 63 6B 6C 79 2E 0D 0A 20 20 20 20 20 20 20 49 ickly... I
000140: 74 20 69 73 20 6E 6F 74 20 75 6E 72 65 61 73 6F t is not unreaso
000150: 6E 61 62 6C 65 20 74 6F 20 72 65 70 65 61 74 65 nable to repeate
000160: 64 6C 79 20 20 73 65 6C 65 63 74 20 20 61 20 20 dly select a
000170: 73 74 72 65 61 6D 20 20 28 62 65 66 6F 72 65 20 stream (before
000180: 20 65 61 63 68 0D 0A 20 20 20 20 20 20 20 63 68 each.. ch
000190: 61 72 61 63 74 65 72 20 73 65 6E 74 2C 20 66 6F aracter sent, fo
0001A0: 72 20 65 78 61 6D 70 6C 65 29 2E 0D 0A 0D 0A 0D r example)......
0001B0: 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 . Related
0001C0: 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 entries:....
0001D0: 20 20 20 54 58 54 20 4F 55 54 50 55 54 0D 0A 0D TXT OUTPUT...
0001E0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
0001F0: 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 AMSTRAD CPC464/6
Size : 512 (Real : 512)
000000: 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 64/6128 FIRMWARE
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 page
000030: 20 31 35 2E 36 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 15.64..........
000040: 0D 0A 0D 0A 20 20 20 20 20 20 20 36 31 3A 20 54 .... 61: T
000050: 58 54 20 53 57 41 50 20 53 54 52 45 41 4D 53 20 XT SWAP STREAMS
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 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 20 20 20 20 20 20 20 23 42 42 42 #BBB
000090: 37 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 77 7...... Sw
0000A0: 61 70 20 74 68 65 20 73 74 61 74 65 73 20 6F 66 ap the states of
0000B0: 20 74 77 6F 20 73 74 72 65 61 6D 73 2E 0D 0A 0D two streams....
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
0000D0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 :...... Th
0000E0: 65 20 73 74 72 65 61 6D 20 64 65 73 63 72 69 70 e stream descrip
0000F0: 74 6F 72 73 20 66 6F 72 20 74 77 6F 20 73 74 72 tors for two str
000100: 65 61 6D 73 20 61 72 65 20 20 65 78 63 68 61 6E eams are exchan
000110: 67 65 64 2E 20 20 54 68 65 20 20 63 75 72 72 65 ged. The curre
000120: 6E 74 6C 79 0D 0A 20 20 20 20 20 20 20 73 65 6C ntly.. sel
000130: 65 63 74 65 64 20 73 74 72 65 61 6D 20 6E 75 6D ected stream num
000140: 62 65 72 20 72 65 6D 61 69 6E 73 20 74 68 65 20 ber remains the
000150: 73 61 6D 65 20 28 61 6C 74 68 6F 75 67 68 20 69 same (although i
000160: 74 73 20 20 64 65 73 63 72 69 70 74 6F 72 20 20 ts descriptor
000170: 6D 61 79 0D 0A 20 20 20 20 20 20 20 68 61 76 65 may.. have
000180: 20 62 65 65 6E 20 61 6C 74 65 72 65 64 29 2E 0D been altered)..
000190: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
0001A0: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
0001B0: 0A 0D 0A 20 20 20 20 20 20 20 42 20 63 6F 6E 74 ... B cont
0001C0: 61 69 6E 73 20 61 20 73 74 72 65 61 6D 20 6E 75 ains a stream nu
0001D0: 6D 62 65 72 2E 0D 0A 20 20 20 20 20 20 20 43 20 mber... C
0001E0: 63 6F 6E 74 61 69 6E 73 20 61 6E 6F 74 68 65 72 contains another
0001F0: 20 73 74 72 65 61 6D 20 6E 75 6D 62 65 72 2E 0D stream number..
Size : 512 (Real : 512)
000000: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 ..... Exit
000010: 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A conditions:....
000020: 0D 0A 20 20 20 20 20 20 20 41 46 2C 42 43 2C 44 .. AF,BC,D
000030: 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 E and HL corrupt
000040: 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 ... All ot
000050: 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 her registers pr
000060: 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 eserved.......
000070: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D Notes:.....
000080: 0A 20 20 20 20 20 20 20 54 68 65 20 73 74 72 65 . The stre
000090: 61 6D 20 6E 75 6D 62 65 72 73 20 70 61 73 73 65 am numbers passe
0000A0: 64 20 61 72 65 20 6D 61 73 6B 65 64 20 28 77 69 d are masked (wi
0000B0: 74 68 20 23 30 37 29 20 74 6F 20 74 68 61 74 20 th #07) to that
0000C0: 74 68 65 79 20 61 72 65 20 6C 65 67 61 6C 0D 0A they are legal..
0000D0: 20 20 20 20 20 20 20 73 74 72 65 61 6D 20 6E 75 stream nu
0000E0: 6D 62 65 72 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 mbers.......
0000F0: 20 20 20 54 68 65 20 61 74 74 72 69 62 75 74 65 The attribute
000100: 73 20 74 68 61 74 20 61 72 65 20 65 78 63 68 61 s that are excha
000110: 6E 67 65 64 20 61 72 65 3A 0D 0A 0D 0A 0D 0A 20 nged are:......
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 P
000130: 65 6E 20 69 6E 6B 2E 0D 0A 20 20 20 20 20 20 20 en ink...
000140: 20 20 20 20 20 20 20 20 20 50 61 70 65 72 20 69 Paper i
000150: 6E 6B 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 nk...
000160: 20 20 20 20 20 43 75 72 73 6F 72 20 70 6F 73 69 Cursor posi
000170: 74 69 6F 6E 2E 0D 0A 20 20 20 20 20 20 20 20 20 tion...
000180: 20 20 20 20 20 20 20 57 69 6E 64 6F 77 20 6C 69 Window li
000190: 6D 69 74 73 2E 0D 0A 20 20 20 20 20 20 20 20 20 mits...
0001A0: 20 20 20 20 20 20 20 43 75 72 73 6F 72 20 65 6E Cursor en
0001B0: 61 62 6C 65 2F 64 69 73 61 62 6C 65 2E 0D 0A 20 able/disable...
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
0001D0: 75 72 73 6F 72 20 6F 6E 2F 6F 66 66 2E 0D 0A 20 ursor on/off...
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 V
0001F0: 44 55 20 65 6E 61 62 6C 65 2F 64 69 73 61 62 6C DU enable/disabl
Size : 512 (Real : 512)
000000: 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 e...
000010: 20 20 20 20 43 68 61 72 61 63 74 65 72 20 77 72 Character wr
000020: 69 74 65 20 6D 6F 64 65 2E 0D 0A 20 20 20 20 20 ite mode...
000030: 20 20 20 20 20 20 20 20 20 20 20 47 72 61 70 68 Graph
000040: 69 63 73 20 63 68 61 72 61 63 74 65 72 20 77 72 ics character wr
000050: 69 74 65 20 6D 6F 64 65 2E 0D 0A 0D 0A 0D 0A 20 ite mode.......
000060: 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E Related en
000070: 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tries:......
000080: 20 20 20 54 58 54 20 53 54 52 20 53 45 4C 45 43 TXT STR SELEC
000090: 54 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 T..............
0000A0: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
0000B0: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
0000C0: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 70 61 67 65 20 31 35 2E 36 35 0D 0A 0D 0A page 15.65....
0000F0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000100: 20 36 32 3A 20 47 52 41 20 49 4E 49 54 49 41 4C 62: GRA INITIAL
000110: 49 53 45 20 20 20 20 20 20 20 20 20 20 20 20 20 ISE
000120: 20 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 20 20 20 20 20 20 20
000140: 20 20 23 42 42 42 41 0D 0A 0D 0A 0D 0A 20 20 20 #BBBA......
000150: 20 20 20 20 49 6E 69 74 69 61 6C 69 7A 65 20 74 Initialize t
000160: 68 65 20 47 72 61 70 68 69 63 73 20 56 44 55 2E he Graphics VDU.
000170: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 ...... Act
000180: 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ion:......
000190: 20 54 68 65 20 47 72 61 70 68 69 63 73 20 56 44 The Graphics VD
0001A0: 55 20 69 73 20 66 75 6C 6C 79 20 69 6E 69 74 69 U is fully initi
0001B0: 61 6C 69 7A 65 64 20 28 61 73 20 64 75 72 69 6E alized (as durin
0001C0: 67 20 45 4D 53 29 2E 20 41 6C 6C 20 47 72 61 70 g EMS). All Grap
0001D0: 68 69 63 20 56 44 55 0D 0A 20 20 20 20 20 20 20 hic VDU..
0001E0: 76 61 72 69 61 62 6C 65 73 20 61 6E 64 20 69 6E variables and in
0001F0: 64 69 72 65 63 74 69 6F 6E 73 20 61 72 65 20 73 directions are s
Size : 512 (Real : 512)
000000: 65 74 20 74 6F 20 74 68 65 69 72 20 64 65 66 61 et to their defa
000010: 75 6C 74 20 76 61 6C 75 65 73 2E 0D 0A 0D 0A 0D ult values......
000020: 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F . Entry co
000030: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 nditions:......
000040: 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 No conditi
000050: 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ons.......
000060: 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 Exit conditions
000070: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 :...... AF
000080: 2C 42 43 2C 44 45 20 61 6E 64 20 48 4C 20 63 6F ,BC,DE and HL co
000090: 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 rrupt... A
0000A0: 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 ll other registe
0000B0: 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D rs preserved....
0000C0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 ..... Note
0000D0: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 s:...... T
0000E0: 68 65 20 66 75 6C 6C 20 6F 70 65 72 61 74 69 6F he full operatio
0000F0: 6E 20 69 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 n is:......
000100: 20 20 20 20 20 20 53 65 74 20 74 68 65 20 47 72 Set the Gr
000110: 61 70 68 69 63 73 20 56 44 55 20 69 6E 64 69 72 aphics VDU indir
000120: 65 63 74 69 6F 6E 73 20 28 47 52 41 20 20 50 4C ections (GRA PL
000130: 4F 54 2C 20 20 47 52 41 20 20 54 45 53 54 20 20 OT, GRA TEST
000140: 61 6E 64 20 20 47 52 41 0D 0A 20 20 20 20 20 20 and GRA..
000150: 20 20 20 20 20 4C 49 4E 45 29 20 74 6F 20 74 68 LINE) to th
000160: 65 69 72 20 64 65 66 61 75 6C 74 20 72 6F 75 74 eir default rout
000170: 69 6E 65 73 2E 0D 0A 20 20 20 20 20 20 20 20 20 ines...
000180: 20 20 53 65 74 20 74 68 65 20 67 72 61 70 68 69 Set the graphi
000190: 63 73 20 70 61 70 65 72 20 74 6F 20 69 6E 6B 20 cs paper to ink
0001A0: 30 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 53 0... S
0001B0: 65 74 20 74 68 65 20 67 72 61 70 68 69 63 73 20 et the graphics
0001C0: 70 65 6E 20 74 6F 20 69 6E 6B 20 31 2E 0D 0A 20 pen to ink 1...
0001D0: 20 20 20 20 20 20 20 20 20 20 53 65 74 20 74 68 Set th
0001E0: 65 20 75 73 65 72 20 6F 72 69 67 69 6E 20 74 6F e user origin to
0001F0: 20 74 68 65 20 62 6F 74 74 6F 6D 20 6C 65 66 74 the bottom left
Size : 512 (Real : 512)
000000: 20 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 20 73 corner of the s
000010: 63 72 65 65 6E 2E 0D 0A 20 20 20 20 20 20 20 20 creen...
000020: 20 20 20 4D 6F 76 65 20 74 68 65 20 63 75 72 72 Move the curr
000030: 65 6E 74 20 70 6F 73 69 74 69 6F 6E 20 74 6F 20 ent position to
000040: 74 68 65 20 75 73 65 72 20 6F 72 69 67 69 6E 2E the user origin.
000050: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 53 65 74 .. Set
000060: 20 74 68 65 20 67 72 61 70 68 69 63 73 20 77 69 the graphics wi
000070: 6E 64 6F 77 20 74 6F 20 63 6F 76 65 72 20 74 68 ndow to cover th
000080: 65 20 77 68 6F 6C 65 20 73 63 72 65 65 6E 2E 0D e whole screen..
000090: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 . The
0000A0: 67 72 61 70 68 69 63 73 20 62 61 63 6B 67 72 6F graphics backgro
0000B0: 75 6E 64 20 77 72 69 74 65 20 6D 6F 64 65 20 69 und write mode i
0000C0: 73 20 73 65 74 20 74 6F 20 6F 70 61 71 75 65 2E s set to opaque.
0000D0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 .. The
0000E0: 20 6C 69 6E 65 20 6D 61 73 6B 20 69 73 20 73 65 line mask is se
0000F0: 74 20 74 6F 20 23 46 46 20 61 6E 64 20 74 68 65 t to #FF and the
000100: 20 66 69 72 73 74 20 70 69 78 65 6C 20 6C 69 6E first pixel lin
000110: 65 73 20 61 72 65 20 70 6C 6F 74 74 65 64 2E 0D es are plotted..
000120: 0A 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 . The
000130: 67 72 61 70 68 69 63 73 20 77 69 6E 64 6F 77 20 graphics window
000140: 69 73 20 6E 6F 74 20 63 6C 65 61 72 65 64 2E 0D is not cleared..
000150: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
000160: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
000170: 0D 0A 20 20 20 20 20 20 20 47 52 41 20 44 45 46 .. GRA DEF
000180: 41 55 4C 54 0D 0A 20 20 20 20 20 20 20 47 52 41 AULT.. GRA
000190: 20 52 45 53 45 54 0D 0A 20 20 20 20 20 20 20 53 RESET.. S
0001A0: 43 52 20 49 4E 49 54 49 41 4C 49 53 45 0D 0A 0D CR INITIALISE...
0001B0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 ...............
0001C0: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
0001D0: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
0001E0: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 20 20 70 61 67 65 20 31 35 2E 36 36 0D 0A 0D 0A page 15.66....
000010: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000020: 20 36 33 3A 20 47 52 41 20 52 45 53 45 54 20 20 63: GRA RESET
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 23 42 42 42 44 0D 0A 0D 0A 0D 0A 20 20 20 #BBBD......
000070: 20 20 20 20 52 65 73 65 74 20 74 68 65 20 47 72 Reset the Gr
000080: 61 70 68 69 63 73 20 56 44 55 2E 0D 0A 0D 0A 0D aphics VDU......
000090: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
0000A0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 2D 69 ..... Re-i
0000B0: 6E 69 74 69 61 6C 69 7A 65 20 74 68 65 20 47 72 nitialize the Gr
0000C0: 61 70 68 69 63 73 20 56 44 55 20 69 6E 64 69 72 aphics VDU indir
0000D0: 65 63 74 69 6F 6E 73 20 74 6F 20 74 68 65 69 72 ections to their
0000E0: 20 64 65 66 61 75 6C 74 20 20 72 6F 75 74 69 6E default routin
0000F0: 65 73 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 73 es.. and s
000100: 65 74 20 64 65 66 61 75 6C 74 20 6D 6F 64 65 73 et default modes
000110: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E ....... En
000120: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D try conditions:.
000130: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 ..... No c
000140: 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A onditions.......
000150: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
000160: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
000170: 20 20 20 20 41 46 2C 42 43 2C 44 45 20 61 6E 64 AF,BC,DE and
000180: 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 HL corrupt...
000190: 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 All other r
0001A0: 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 egisters preserv
0001B0: 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ed.......
0001C0: 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 Notes:......
0001D0: 20 20 20 53 65 74 73 20 74 68 65 20 47 72 61 70 Sets the Grap
0001E0: 68 69 63 73 20 56 44 55 20 69 6E 64 69 72 65 63 hics VDU indirec
0001F0: 74 69 6F 6E 73 20 28 47 52 41 20 50 4C 4F 54 2C tions (GRA PLOT,
Size : 512 (Real : 512)
000000: 20 47 52 41 20 54 45 53 54 20 61 6E 64 20 20 47 GRA TEST and G
000010: 52 41 20 20 4C 49 4E 45 29 0D 0A 20 20 20 20 20 RA LINE)..
000020: 20 20 74 6F 20 74 68 65 69 72 20 64 65 66 61 75 to their defau
000030: 6C 74 20 20 72 6F 75 74 69 6E 65 73 2E 20 20 56 lt routines. V
000040: 31 2E 31 20 20 66 69 72 6D 77 61 72 65 20 20 61 1.1 firmware a
000050: 6C 73 6F 20 20 73 65 74 73 20 20 74 68 65 20 20 lso sets the
000060: 67 72 61 70 68 69 63 73 0D 0A 20 20 20 20 20 20 graphics..
000070: 20 62 61 63 6B 67 72 6F 75 6E 64 20 6D 6F 64 65 background mode
000080: 20 74 6F 20 6F 70 61 71 75 65 2C 20 73 65 74 73 to opaque, sets
000090: 20 74 68 65 20 6C 69 6E 65 20 6D 61 73 6B 20 20 the line mask
0000A0: 74 6F 20 20 23 46 46 20 20 61 6E 64 20 20 73 65 to #FF and se
0000B0: 74 73 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 ts the..
0000C0: 66 69 72 73 74 20 70 69 78 65 6C 20 6F 66 20 6C first pixel of l
0000D0: 69 6E 65 73 20 74 6F 20 62 65 20 70 6C 6F 74 74 ines to be plott
0000E0: 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ed.......
0000F0: 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A Related entries:
000100: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 ...... GRA
000110: 20 44 45 46 41 55 4C 54 0D 0A 20 20 20 20 20 20 DEFAULT..
000120: 20 47 52 41 20 49 4E 49 54 49 41 4C 49 53 45 0D GRA INITIALISE.
000130: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000140: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000150: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D ....... AM
000160: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
000170: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 /6128 FIRMWARE
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 20 20 70 61 67 65 20 31 page 1
0001A0: 35 2E 36 37 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 5.67............
0001B0: 0D 0A 20 20 20 20 20 20 20 36 34 3A 20 47 52 41 .. 64: GRA
0001C0: 20 4D 4F 56 45 20 41 42 53 4F 4C 55 54 45 20 20 MOVE ABSOLUTE
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 20 20 20 20 20 20 23 42 42 43 30 0D #BBC0.
Size : 512 (Real : 512)
000000: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000010: 4D 6F 76 65 20 74 6F 20 61 6E 20 61 62 73 6F 6C Move to an absol
000020: 75 74 65 20 70 6F 73 69 74 69 6F 6E 2E 0D 0A 0D ute position....
000030: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 ....... Ac
000040: 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 tion:......
000050: 20 20 4D 6F 76 65 20 74 68 65 20 63 75 72 72 65 Move the curre
000060: 6E 74 20 70 6F 73 69 74 69 6F 6E 20 74 6F 20 61 nt position to a
000070: 6E 20 61 62 73 6F 6C 75 74 65 20 70 6F 73 69 74 n absolute posit
000080: 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ion.......
000090: 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E Entry condition
0000A0: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 44 s:...... D
0000B0: 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 72 E contains the r
0000C0: 65 71 75 69 72 65 64 20 75 73 65 72 20 58 20 63 equired user X c
0000D0: 6F 6F 72 64 69 6E 61 74 65 2E 0D 0A 20 20 20 20 oordinate...
0000E0: 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 74 HL contains t
0000F0: 68 65 20 72 65 71 75 69 72 65 64 20 75 73 65 72 he required user
000100: 20 59 20 63 6F 6F 72 64 69 6E 61 74 65 2E 0D 0A Y coordinate...
000110: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
000120: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
000130: 0A 20 20 20 20 20 20 20 41 46 2C 42 43 2C 44 45 . AF,BC,DE
000140: 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E and HL corrupt.
000150: 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 .. All oth
000160: 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 er registers pre
000170: 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 served.......
000180: 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A Notes:......
000190: 20 20 20 20 20 20 20 54 68 65 20 6E 65 77 20 70 The new p
0001A0: 6F 73 69 74 69 6F 6E 20 69 73 20 67 69 76 65 6E osition is given
0001B0: 20 69 6E 20 75 73 65 72 20 63 6F 6F 72 64 69 6E in user coordin
0001C0: 61 74 65 73 2E 20 69 2E 65 2E 20 20 52 65 6C 61 ates. i.e. Rela
0001D0: 74 69 76 65 20 20 74 6F 20 20 74 68 65 0D 0A 20 tive to the..
0001E0: 20 20 20 20 20 20 75 73 65 72 20 6F 72 69 67 69 user origi
0001F0: 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 n....... T
Size : 512 (Real : 512)
000000: 68 65 20 6E 65 77 20 70 6F 73 69 74 69 6F 6E 20 he new position
000010: 63 61 6E 20 62 65 20 6F 75 74 73 69 64 65 20 74 can be outside t
000020: 68 65 20 67 72 61 70 68 69 63 73 20 77 69 6E 64 he graphics wind
000030: 6F 77 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ow.......
000040: 54 68 65 20 47 72 61 70 68 69 63 73 20 56 44 55 The Graphics VDU
000050: 20 70 6C 6F 74 74 69 6E 67 2C 20 74 65 73 74 69 plotting, testi
000060: 6E 67 20 61 6E 64 20 6C 69 6E 65 20 64 72 61 77 ng and line draw
000070: 69 6E 67 20 72 6F 75 74 69 6E 65 73 20 61 6C 6C ing routines all
000080: 20 20 6D 6F 76 65 0D 0A 20 20 20 20 20 20 20 74 move.. t
000090: 68 65 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 he current graph
0000A0: 69 63 73 20 70 6F 73 69 74 69 6F 6E 20 74 6F 20 ics position to
0000B0: 74 68 65 20 20 70 6F 69 6E 74 20 20 28 6F 72 20 the point (or
0000C0: 20 65 6E 64 70 6F 69 6E 74 29 20 20 73 70 65 63 endpoint) spec
0000D0: 69 66 69 65 64 0D 0A 20 20 20 20 20 20 20 61 75 ified.. au
0000E0: 74 6F 6D 61 74 69 63 61 6C 6C 79 2E 0D 0A 0D 0A tomatically.....
0000F0: 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 .. Related
000100: 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 entries:......
000110: 20 20 20 20 20 20 47 52 41 20 41 53 4B 20 43 55 GRA ASK CU
000120: 52 53 4F 52 0D 0A 20 20 20 20 20 20 20 47 52 41 RSOR.. GRA
000130: 20 4D 4F 56 45 20 52 45 4C 41 54 49 56 45 0D 0A MOVE RELATIVE..
000140: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000150: 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 .. AMSTRAD
000160: 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 CPC464/664/6128
000170: 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 FIRMWARE
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 70 61 67 65 20 31 35 2E 36 38 0D page 15.68.
0001A0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
0001B0: 20 20 20 20 36 35 3A 20 47 52 41 20 4D 4F 56 45 65: GRA MOVE
0001C0: 20 52 45 4C 41 54 49 56 45 20 20 20 20 20 20 20 RELATIVE
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 20 23 42 42 43 33 0D 0A 0D 0A 0D 0A #BBC3......
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 4D 6F 76 65 20 72 65 6C 61 Move rela
000010: 74 69 76 65 20 74 6F 20 63 75 72 72 65 6E 74 20 tive to current
000020: 70 6F 73 69 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 position.......
000030: 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D Action:...
000040: 0A 0D 0A 20 20 20 20 20 20 20 4D 6F 76 65 20 74 ... Move t
000050: 68 65 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 he current posit
000060: 69 6F 6E 20 74 6F 20 72 65 6C 61 74 69 76 65 20 ion to relative
000070: 74 6F 20 69 74 73 20 63 75 72 72 65 6E 74 20 70 to its current p
000080: 6F 73 69 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 osition.......
000090: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
0000A0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
0000B0: 20 20 20 44 45 20 63 6F 6E 74 61 69 6E 73 20 61 DE contains a
0000C0: 20 73 69 67 6E 65 64 20 58 20 6F 66 66 73 65 74 signed X offset
0000D0: 2E 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 6F 6E ... HL con
0000E0: 74 61 69 6E 73 20 61 20 73 69 67 6E 65 64 20 59 tains a signed Y
0000F0: 20 6F 66 66 73 65 74 2E 0D 0A 0D 0A 0D 0A 20 20 offset.......
000100: 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 Exit condit
000110: 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions:......
000120: 20 20 41 46 2C 42 43 2C 44 45 20 61 6E 64 20 48 AF,BC,DE and H
000130: 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 L corrupt...
000140: 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 All other reg
000150: 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 isters preserved
000160: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ....... No
000170: 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 tes:......
000180: 20 54 68 65 20 6E 65 77 20 70 6F 73 69 74 69 6F The new positio
000190: 6E 20 63 61 6E 20 62 65 20 6F 75 74 73 69 64 65 n can be outside
0001A0: 20 74 68 65 20 67 72 61 70 68 69 63 73 20 77 69 the graphics wi
0001B0: 6E 64 6F 77 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ndow.......
0001C0: 20 20 54 68 65 20 47 72 61 70 68 69 63 73 20 56 The Graphics V
0001D0: 44 55 20 70 6C 6F 74 74 69 6E 67 2C 20 74 65 73 DU plotting, tes
0001E0: 74 69 6E 67 20 61 6E 64 20 6C 69 6E 65 20 64 72 ting and line dr
0001F0: 61 77 69 6E 67 20 72 6F 75 74 69 6E 65 73 20 61 awing routines a
Size : 512 (Real : 512)
000000: 6C 6C 20 20 6D 6F 76 65 0D 0A 20 20 20 20 20 20 ll move..
000010: 20 74 68 65 20 63 75 72 72 65 6E 74 20 67 72 61 the current gra
000020: 70 68 69 63 73 20 70 6F 73 69 74 69 6F 6E 20 74 phics position t
000030: 6F 20 74 68 65 20 20 70 6F 69 6E 74 20 20 28 6F o the point (o
000040: 72 20 20 65 6E 64 70 6F 69 6E 74 29 20 20 73 70 r endpoint) sp
000050: 65 63 69 66 69 65 64 0D 0A 20 20 20 20 20 20 20 ecified..
000060: 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 2E 0D 0A automatically...
000070: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 ........ R
000080: 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D elated entries:.
000090: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 52 ....... GR
0000A0: 41 20 41 53 4B 20 43 55 52 53 4F 52 0D 0A 20 20 A ASK CURSOR..
0000B0: 20 20 20 20 20 47 52 41 20 4D 4F 56 45 20 41 42 GRA MOVE AB
0000C0: 53 4F 4C 55 54 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A SOLUTE..........
0000D0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
0000E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
0000F0: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
000100: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 FIRMWARE
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 36 page 15.6
000130: 39 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 9..............
000140: 20 20 20 20 20 20 36 36 3A 20 47 52 41 20 41 53 66: GRA AS
000150: 4B 20 43 55 52 53 4F 52 20 20 20 20 20 20 20 20 K CURSOR
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 23 42 42 43 36 0D 0A 0D 0A #BBC6....
000190: 0D 0A 20 20 20 20 20 20 20 47 65 74 20 74 68 65 .. Get the
0001A0: 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 69 6F current positio
0001B0: 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 n....... A
0001C0: 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 ction:......
0001D0: 20 20 20 41 73 6B 20 77 68 65 72 65 20 74 68 65 Ask where the
0001E0: 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 69 63 current graphic
0001F0: 73 20 70 6F 73 69 74 69 6F 6E 20 69 73 2E 0D 0A s position is...
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 .... Entry
000010: 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A conditions:....
000020: 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 .. No cond
000030: 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 itions.......
000040: 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 Exit conditi
000050: 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ons:......
000060: 20 44 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 DE contains the
000070: 20 75 73 65 72 20 58 20 63 6F 6F 72 64 69 6E 61 user X coordina
000080: 74 65 2E 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 te... HL c
000090: 6F 6E 74 61 69 6E 73 20 74 68 65 20 75 73 65 72 ontains the user
0000A0: 20 59 20 63 6F 6F 72 64 69 6E 61 74 65 2E 0D 0A Y coordinate...
0000B0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 20 63 6F .... AF co
0000C0: 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 rrupt... A
0000D0: 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 ll other registe
0000E0: 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D rs preserved....
0000F0: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A ... Notes:
000100: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
000110: 20 6E 65 77 20 70 6F 73 69 74 69 6F 6E 20 69 73 new position is
000120: 20 67 69 76 65 6E 20 69 6E 20 75 73 65 72 20 63 given in user c
000130: 6F 6F 72 64 69 6E 61 74 65 73 2E 20 69 2E 65 2E oordinates. i.e.
000140: 20 20 52 65 6C 61 74 69 76 65 20 20 74 6F 20 20 Relative to
000150: 74 68 65 0D 0A 20 20 20 20 20 20 20 75 73 65 72 the.. user
000160: 20 6F 72 69 67 69 6E 2E 0D 0A 0D 0A 0D 0A 20 20 origin.......
000170: 20 20 20 20 20 54 68 65 20 47 72 61 70 68 69 63 The Graphic
000180: 73 20 56 44 55 20 70 6C 6F 74 74 69 6E 67 2C 20 s VDU plotting,
000190: 74 65 73 74 69 6E 67 20 61 6E 64 20 6C 69 6E 65 testing and line
0001A0: 20 64 72 61 77 69 6E 67 20 72 6F 75 74 69 6E 65 drawing routine
0001B0: 73 20 61 6C 6C 20 20 6D 6F 76 65 0D 0A 20 20 20 s all move..
0001C0: 20 20 20 20 74 68 65 20 63 75 72 72 65 6E 74 20 the current
0001D0: 67 72 61 70 68 69 63 73 20 70 6F 73 69 74 69 6F graphics positio
0001E0: 6E 20 74 6F 20 74 68 65 20 20 70 6F 69 6E 74 20 n to the point
0001F0: 20 28 6F 72 20 20 65 6E 64 70 6F 69 6E 74 29 20 (or endpoint)
Size : 512 (Real : 512)
000000: 20 73 70 65 63 69 66 69 65 64 0D 0A 20 20 20 20 specified..
000010: 20 20 20 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 automatically
000020: 2E 20 54 68 75 73 2C 20 74 68 65 20 70 6F 73 69 . Thus, the posi
000030: 74 69 6F 6E 20 72 65 74 75 72 6E 65 64 20 69 73 tion returned is
000040: 20 70 72 6F 62 61 62 6C 79 20 77 68 65 72 65 20 probably where
000050: 74 68 65 20 20 6C 61 73 74 0D 0A 20 20 20 20 20 the last..
000060: 20 20 70 6F 69 6E 74 20 77 61 73 20 70 6C 6F 74 point was plot
000070: 74 65 64 20 6F 72 20 74 65 73 74 65 64 2E 0D 0A ted or tested...
000080: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C ...... Rel
000090: 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D ated entries:...
0000A0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 20 ..... GRA
0000B0: 4D 4F 56 45 20 41 42 53 4F 4C 55 54 45 0D 0A 20 MOVE ABSOLUTE..
0000C0: 20 20 20 20 20 20 47 52 41 20 4D 4F 56 45 20 52 GRA MOVE R
0000D0: 45 4C 41 54 49 56 45 0D 0A 0D 0A 0D 0A 0D 0A 0D ELATIVE.........
0000E0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
0000F0: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
000100: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
000110: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 70 61 67 65 20 31 35 2E 37 30 0D 0A 0D 0A 0D 0A page 15.70......
000140: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 36 ........ 6
000150: 37 3A 20 47 52 41 20 53 45 54 20 4F 52 49 47 49 7: GRA SET ORIGI
000160: 4E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 N
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 20 20 20 20 20 20
000190: 23 42 42 43 39 0D 0A 0D 0A 0D 0A 20 20 20 20 20 #BBC9......
0001A0: 20 20 53 65 74 20 74 68 65 20 6F 72 69 67 69 6E Set the origin
0001B0: 20 6F 66 20 74 68 65 20 75 73 65 72 20 63 6F 6F of the user coo
0001C0: 72 64 69 6E 61 74 65 73 2E 0D 0A 0D 0A 0D 0A 20 rdinates.......
0001D0: 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D Action:...
0001E0: 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 20 74 68 ... Set th
0001F0: 65 20 6C 6F 63 61 74 69 6F 6E 20 6F 66 20 74 68 e location of th
Size : 512 (Real : 512)
000000: 65 20 75 73 65 72 20 6F 72 69 67 69 6E 20 20 61 e user origin a
000010: 6E 64 20 20 6D 6F 76 65 20 20 74 68 65 20 20 63 nd move the c
000020: 75 72 72 65 6E 74 20 20 70 6F 73 69 74 69 6F 6E urrent position
000030: 0D 0A 20 20 20 20 20 20 20 74 68 65 72 65 2E 0D .. there..
000040: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
000050: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
000060: 0A 0D 0A 20 20 20 20 20 20 20 44 45 20 63 6F 6E ... DE con
000070: 74 61 69 6E 73 20 74 68 65 20 73 74 61 6E 64 61 tains the standa
000080: 72 64 20 58 20 63 6F 6F 72 64 69 6E 61 74 65 20 rd X coordinate
000090: 6F 66 20 74 68 65 20 6F 72 69 67 69 6E 2E 0D 0A of the origin...
0000A0: 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 HL contai
0000B0: 6E 73 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 ns the standard
0000C0: 59 20 63 6F 6F 72 64 69 6E 61 74 65 20 6F 66 20 Y coordinate of
0000D0: 74 68 65 20 6F 72 69 67 69 6E 2E 0D 0A 0D 0A 0D the origin......
0000E0: 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E . Exit con
0000F0: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
000100: 20 20 20 20 20 41 46 2C 42 43 2C 44 45 20 61 6E AF,BC,DE an
000110: 64 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 0D d HL corrupt....
000120: 0A 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 ... All ot
000130: 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 her registers pr
000140: 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 eserved.......
000150: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D Notes:.....
000160: 0A 20 20 20 20 20 20 20 54 68 65 20 6F 72 69 67 . The orig
000170: 69 6E 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 67 in position is g
000180: 69 76 65 6E 20 69 73 20 73 74 61 6E 64 61 72 64 iven is standard
000190: 20 63 6F 6F 72 64 69 6E 61 74 65 73 20 69 6E 20 coordinates in
0001A0: 77 68 69 63 68 20 28 30 2C 30 29 20 69 73 0D 0A which (0,0) is..
0001B0: 20 20 20 20 20 20 20 74 68 65 20 62 6F 74 74 6F the botto
0001C0: 6D 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 6F 66 m left corner of
0001D0: 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A the screen.....
0001E0: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 64 65 66 .. The def
0001F0: 61 75 6C 74 20 6F 72 69 67 69 6E 20 70 6F 73 69 ault origin posi
Size : 512 (Real : 512)
000000: 74 69 6F 6E 20 69 73 20 61 74 20 28 30 2C 30 29 tion is at (0,0)
000010: 2E 20 57 68 65 6E 65 76 65 72 20 74 68 65 20 73 . Whenever the s
000020: 63 72 65 65 6E 20 20 6D 6F 64 65 20 20 69 73 0D creen mode is.
000030: 0A 20 20 20 20 20 20 20 63 68 61 6E 67 65 64 2C . changed,
000040: 20 62 79 20 63 61 6C 6C 69 6E 67 20 53 43 52 20 by calling SCR
000050: 53 45 54 20 20 4D 4F 44 45 2C 20 20 74 68 65 20 SET MODE, the
000060: 20 6F 72 69 67 69 6E 20 20 69 73 20 20 72 65 73 origin is res
000070: 74 6F 72 65 64 20 20 74 6F 20 20 69 74 73 0D 0A tored to its..
000080: 20 20 20 20 20 20 20 64 65 66 61 75 6C 74 20 70 default p
000090: 6F 73 69 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 0D 0A osition.........
0000A0: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
0000B0: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 ntries:......
0000C0: 20 20 20 20 47 52 41 20 46 52 4F 4D 20 55 53 45 GRA FROM USE
0000D0: 52 0D 0A 20 20 20 20 20 20 20 47 52 41 20 47 45 R.. GRA GE
0000E0: 54 20 4F 52 49 47 49 4E 0D 0A 0D 0A 0D 0A 0D 0A T ORIGIN........
0000F0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000100: 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 .. AMSTRAD
000110: 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 CPC464/664/6128
000120: 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 FIRMWARE
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 20 20 20 70 61 67 65 20 31 35 2E 37 31 0D page 15.71.
000150: 0A 1A 20 20 23 42 42 38 34 0D 0A 0D 0A 0D 0A 0D .. #BB84.......
000160: 0A 20 20 20 20 20 20 20 44 69 73 73 61 6C 6C 6F . Dissallo
000170: 77 20 63 75 72 73 6F 72 20 64 69 73 70 6C 61 79 w cursor display
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: 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: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 36 38 3A 20 47 52 41 20 47 45 54 20 4F 68: GRA GET O
000020: 52 49 47 49 4E 20 20 20 20 20 20 20 20 20 20 20 RIGIN
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 42 43 43 0D 0A 0D 0A 0D 0A 20 #BBCC......
000060: 20 20 20 20 20 20 47 65 74 20 74 68 65 20 6F 72 Get the or
000070: 69 67 69 6E 20 6F 66 20 74 68 65 20 75 73 65 72 igin of the user
000080: 20 63 6F 6F 72 64 69 6E 61 74 65 73 2E 0D 0A 0D coordinates....
000090: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
0000A0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 73 6B 20 ..... Ask
0000B0: 77 68 65 72 65 20 74 68 65 20 75 73 65 72 20 63 where the user c
0000C0: 6F 6F 72 64 69 6E 61 74 65 20 6F 72 69 67 69 6E oordinate origin
0000D0: 20 69 73 20 6C 6F 63 61 74 65 64 2E 0D 0A 0D 0A is located.....
0000E0: 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 .. Entry c
0000F0: 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A onditions.......
000100: 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 No condit
000110: 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions.......
000120: 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E Exit condition
000130: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 44 s:...... D
000140: 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 73 E contains the s
000150: 74 61 6E 64 61 72 64 20 58 20 63 6F 6F 72 64 69 tandard X coordi
000160: 6E 61 74 65 20 6F 66 20 74 68 65 20 6F 72 69 67 nate of the orig
000170: 69 6E 2E 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 in... HL c
000180: 6F 6E 74 61 69 6E 73 20 74 68 65 20 73 74 61 6E ontains the stan
000190: 64 61 72 64 20 59 20 63 6F 6F 72 64 69 6E 61 74 dard Y coordinat
0001A0: 65 20 6F 66 20 74 68 65 20 6F 72 69 67 69 6E 2E e of the origin.
0001B0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 6C ...... All
0001C0: 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 other registers
0001D0: 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D preserved......
0001E0: 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A . Notes:..
0001F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 6F .... The o
Size : 512 (Real : 512)
000000: 72 69 67 69 6E 20 70 6F 73 69 74 69 6F 6E 20 69 rigin position i
000010: 73 20 67 69 76 65 6E 20 69 73 20 73 74 61 6E 64 s given is stand
000020: 61 72 64 20 63 6F 6F 72 64 69 6E 61 74 65 73 20 ard coordinates
000030: 69 6E 20 77 68 69 63 68 20 28 30 2C 30 29 20 69 in which (0,0) i
000040: 73 0D 0A 20 20 20 20 20 20 20 74 68 65 20 62 6F s.. the bo
000050: 74 74 6F 6D 20 6C 65 66 74 20 63 6F 72 6E 65 72 ttom left corner
000060: 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 2E 0D of the screen..
000070: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 ....... Re
000080: 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A lated entries:..
000090: 0D 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 20 53 .... GRA S
0000A0: 45 54 20 4F 52 49 47 49 4E 0D 0A 0D 0A 0D 0A 0D ET ORIGIN.......
0000B0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000C0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000D0: 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 ... AMSTRA
0000E0: 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 D CPC464/664/612
0000F0: 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 8 FIRMWARE
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 37 32 page 15.72
000120: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
000130: 20 20 20 20 20 36 39 3A 20 47 52 41 20 57 49 4E 69: GRA WIN
000140: 20 57 49 44 54 48 20 20 20 20 20 20 20 20 20 20 WIDTH
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 23 42 42 43 46 0D 0A 0D 0A 20 #BBCF....
000180: 20 20 20 20 20 20 53 65 74 20 74 68 65 20 72 69 Set the ri
000190: 67 68 74 20 61 6E 64 20 6C 65 66 74 20 65 64 67 ght and left edg
0001A0: 65 73 20 6F 66 20 74 68 65 20 67 72 61 70 68 69 es of the graphi
0001B0: 63 73 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A 20 20 cs window.....
0001C0: 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A Action:....
0001D0: 20 20 20 20 20 20 20 53 65 74 20 74 68 65 20 68 Set the h
0001E0: 6F 72 69 7A 6F 6E 74 61 6C 20 70 6F 73 69 74 69 orizontal positi
0001F0: 6F 6E 20 6F 66 20 74 68 65 20 67 72 61 70 68 69 on of the graphi
Size : 512 (Real : 512)
000000: 63 73 20 77 69 6E 64 6F 77 2E 20 54 68 65 20 6C cs window. The l
000010: 65 66 74 20 61 6E 64 20 72 69 67 68 74 0D 0A 20 eft and right..
000020: 20 20 20 20 20 20 65 64 67 65 73 20 61 72 65 20 edges are
000030: 72 65 73 70 65 63 74 69 76 65 6C 79 20 74 68 65 respectively the
000040: 20 66 69 72 73 74 20 61 6E 64 20 6C 61 73 74 20 first and last
000050: 70 6F 69 6E 74 73 20 74 68 61 74 20 6C 69 65 20 points that lie
000060: 20 69 6E 73 69 64 65 20 20 74 68 65 0D 0A 20 20 inside the..
000070: 20 20 20 20 20 77 69 6E 64 6F 77 20 68 6F 72 69 window hori
000080: 7A 6F 6E 74 61 6C 6C 79 2E 0D 0A 0D 0A 20 20 20 zontally.....
000090: 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 Entry condit
0000A0: 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ions:....
0000B0: 44 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 DE contains the
0000C0: 73 74 61 6E 64 61 72 64 20 58 20 63 6F 6F 72 64 standard X coord
0000D0: 69 6E 61 74 65 20 6F 66 20 6F 6E 65 20 65 64 67 inate of one edg
0000E0: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 48 4C 20 e..... HL
0000F0: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 73 74 61 contains the sta
000100: 6E 64 61 72 64 20 59 20 63 6F 6F 72 64 69 6E 61 ndard Y coordina
000110: 74 65 20 6F 66 20 74 68 65 20 6F 74 68 65 72 20 te of the other
000120: 65 64 67 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 edge.....
000130: 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A Exit conditions:
000140: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 2C 42 43 .... AF,BC
000150: 2C 44 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 ,DE and HL corru
000160: 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 pt... All
000170: 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 registers preser
000180: 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4E ved..... N
000190: 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 otes:....
0001A0: 54 68 65 20 77 69 6E 64 6F 77 20 65 64 67 65 73 The window edges
0001B0: 20 61 72 65 20 67 69 76 65 6E 20 69 6E 20 73 74 are given in st
0001C0: 61 6E 64 61 72 64 20 63 6F 6F 72 64 69 6E 61 74 andard coordinat
0001D0: 65 73 20 69 6E 20 77 68 69 63 68 20 20 28 30 2C es in which (0,
0001E0: 30 29 20 20 69 73 0D 0A 20 20 20 20 20 20 20 74 0) is.. t
0001F0: 68 65 20 62 6F 74 74 6F 6D 20 6C 65 66 74 20 63 he bottom left c
Size : 512 (Real : 512)
000000: 6F 72 6E 65 72 20 6F 66 20 74 68 65 20 73 63 72 orner of the scr
000010: 65 65 6E 20 61 6E 64 20 63 6F 6F 72 64 69 6E 61 een and coordina
000020: 74 65 73 20 61 72 65 20 73 69 67 6E 65 64 20 31 tes are signed 1
000030: 36 20 62 69 74 0D 0A 20 20 20 20 20 20 20 6E 75 6 bit.. nu
000040: 6D 62 65 72 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 mbers.....
000050: 20 54 68 65 20 6C 65 66 74 20 65 64 67 65 20 6F The left edge o
000060: 66 20 74 68 65 20 77 69 6E 64 6F 77 20 69 73 20 f the window is
000070: 64 65 65 6D 65 64 20 74 6F 20 62 65 20 74 68 65 deemed to be the
000080: 20 20 73 6D 61 6C 6C 65 72 20 20 6F 66 20 20 74 smaller of t
000090: 68 65 20 20 74 77 6F 0D 0A 20 20 20 20 20 20 20 he two..
0000A0: 65 64 67 65 20 73 75 70 70 6C 69 65 64 2E 0D 0A edge supplied...
0000B0: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 77 69 6E .. The win
0000C0: 64 6F 77 20 77 69 6C 6C 20 62 65 20 74 72 75 6E dow will be trun
0000D0: 63 61 74 65 64 2C 20 69 66 20 6E 65 63 65 73 73 cated, if necess
0000E0: 61 72 79 2C 20 74 6F 20 6D 61 6B 65 20 69 74 20 ary, to make it
0000F0: 66 69 74 20 74 68 65 20 73 63 72 65 65 6E 2E 0D fit the screen..
000100: 0A 20 20 20 20 20 20 20 54 68 65 20 65 64 67 65 . The edge
000110: 73 20 61 72 65 20 6D 6F 76 65 64 20 74 6F 20 73 s are moved to s
000120: 63 72 65 65 6E 20 62 79 74 65 20 62 6F 75 6E 64 creen byte bound
000130: 61 72 69 65 73 20 73 6F 20 74 68 61 74 20 74 68 aries so that th
000140: 65 20 77 69 6E 64 6F 77 20 20 6F 6E 6C 79 0D 0A e window only..
000150: 20 20 20 20 20 20 20 63 6F 6E 74 61 69 6E 73 20 contains
000160: 77 68 6F 6C 65 20 62 79 74 65 73 20 28 74 68 65 whole bytes (the
000170: 20 6C 65 66 74 20 65 64 67 65 20 69 73 20 6D 6F left edge is mo
000180: 76 65 64 20 6C 65 66 74 2C 20 74 68 65 20 72 69 ved left, the ri
000190: 67 68 74 20 20 65 64 67 65 20 20 69 73 0D 0A 20 ght edge is..
0001A0: 20 20 20 20 20 20 6D 6F 76 65 64 20 72 69 67 68 moved righ
0001B0: 74 29 2E 20 54 68 69 73 20 6D 6F 76 65 73 20 74 t). This moves t
0001C0: 68 65 20 63 6F 6F 72 64 69 6E 61 74 65 73 20 6F he coordinates o
0001D0: 66 20 74 68 65 20 65 64 67 65 73 20 20 61 73 20 f the edges as
0001E0: 20 66 6F 6C 6C 6F 77 73 20 20 69 6E 0D 0A 20 20 follows in..
0001F0: 20 20 20 20 20 74 68 65 20 76 61 72 69 6F 75 73 the various
Size : 512 (Real : 512)
000000: 20 6D 6F 64 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 modes:....
000010: 20 20 20 20 20 20 4D 6F 64 65 20 20 20 20 20 20 Mode
000020: 20 20 20 20 20 20 20 20 20 20 20 4C 65 66 74 20 Left
000030: 45 64 67 65 20 20 20 20 20 20 20 20 20 20 20 20 Edge
000040: 20 20 52 69 67 68 74 20 45 64 67 65 0D 0A 20 20 Right Edge..
000050: 20 20 20 20 20 20 20 20 20 20 30 20 20 20 20 20 0
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 75 6C Mul
000070: 74 69 70 6C 65 20 6F 66 20 32 20 20 20 20 20 20 tiple of 2
000080: 20 20 4D 75 6C 74 69 70 6C 65 20 6F 66 20 32 20 Multiple of 2
000090: 6D 69 6E 75 73 20 31 0D 0A 20 20 20 20 20 20 20 minus 1..
0000A0: 20 20 20 20 20 31 20 20 20 20 20 20 20 20 20 20 1
0000B0: 20 20 20 20 20 20 20 20 4D 75 6C 74 69 70 6C 65 Multiple
0000C0: 20 6F 66 20 34 20 20 20 20 20 20 20 20 4D 75 6C of 4 Mul
0000D0: 74 69 70 6C 65 20 6F 66 20 34 20 6D 69 6E 75 73 tiple of 4 minus
0000E0: 20 31 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 1..
0000F0: 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2
000100: 20 20 20 4D 75 6C 74 69 70 6C 65 20 6F 66 20 38 Multiple of 8
000110: 20 20 20 20 20 20 20 20 4D 75 6C 74 69 70 6C 65 Multiple
000120: 20 6F 66 20 38 20 6D 69 6E 75 73 20 31 0D 0A 0D of 8 minus 1...
000130: 0A 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 . The defa
000140: 75 6C 74 20 77 69 6E 64 6F 77 20 63 6F 76 65 72 ult window cover
000150: 73 20 74 68 65 20 77 68 6F 6C 65 20 73 63 72 65 s the whole scre
000160: 65 6E 2E 20 57 68 65 6E 65 76 65 72 20 74 68 65 en. Whenever the
000170: 20 20 73 63 72 65 65 6E 20 20 6D 6F 64 65 0D 0A screen mode..
000180: 20 20 20 20 20 20 20 69 73 20 63 68 61 6E 67 65 is change
000190: 64 20 74 68 65 20 77 69 6E 64 6F 77 20 69 73 20 d the window is
0001A0: 72 65 73 74 6F 72 65 64 20 74 6F 20 69 74 73 20 restored to its
0001B0: 64 65 66 61 75 6C 74 20 73 69 7A 65 2E 0D 0A 0D default size....
0001C0: 0A 20 20 20 20 20 20 20 41 6C 6C 20 47 72 61 70 . All Grap
0001D0: 68 69 63 73 20 56 44 55 20 70 6F 69 6E 74 20 70 hics VDU point p
0001E0: 6C 6F 74 74 69 6E 67 20 61 6E 64 20 6C 69 6E 65 lotting and line
0001F0: 20 64 72 61 77 69 6E 67 20 72 6F 75 74 69 6E 65 drawing routine
Size : 512 (Real : 512)
000000: 73 20 74 65 73 74 20 77 68 65 74 68 65 72 0D 0A s test whether..
000010: 20 20 20 20 20 20 20 74 68 65 20 70 6F 69 6E 74 the point
000020: 73 20 74 68 65 79 20 61 72 65 20 61 62 6F 75 74 s they are about
000030: 20 74 6F 20 70 6C 6F 74 20 6C 69 65 20 69 6E 73 to plot lie ins
000040: 69 64 65 20 74 68 65 20 77 69 6E 64 6F 77 3B 20 ide the window;
000050: 69 66 20 20 74 68 65 79 20 20 61 72 65 0D 0A 20 if they are..
000060: 20 20 20 20 20 20 6E 6F 74 20 74 68 65 6E 20 74 not then t
000070: 68 65 20 70 6F 69 6E 74 73 20 61 72 65 20 6E 6F he points are no
000080: 74 20 70 6C 6F 74 74 65 64 2E 0D 0A 0D 0A 0D 0A t plotted.......
000090: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
0000A0: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 ntries:......
0000B0: 20 20 20 20 47 52 41 20 47 45 54 20 57 20 57 49 GRA GET W WI
0000C0: 44 54 48 0D 0A 20 20 20 20 20 20 20 47 52 41 20 DTH.. GRA
0000D0: 57 49 4E 20 48 45 49 47 48 54 0D 0A 0D 0A 0D 0A WIN HEIGHT......
0000E0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 ...... AMS
0000F0: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
000100: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 FIRMWARE
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 20 20 20 20 70 61 67 65 20 31 35 page 15
000130: 2E 37 33 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D .73.............
000140: 0A 20 20 20 20 20 20 20 37 30 3A 20 47 52 41 20 . 70: GRA
000150: 57 49 4E 20 48 45 49 47 48 54 20 20 20 20 20 20 WIN HEIGHT
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 23 42 42 44 32 0D 0A #BBD2..
000190: 0D 0A 20 20 20 20 20 20 20 53 65 74 20 74 68 65 .. Set the
0001A0: 20 74 6F 70 20 61 6E 64 20 62 6F 74 74 6F 6D 20 top and bottom
0001B0: 65 64 67 65 73 20 6F 66 20 74 68 65 20 67 72 61 edges of the gra
0001C0: 70 68 69 63 73 20 77 69 6E 64 6F 77 2E 0D 0A 0D phics window....
0001D0: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
0001E0: 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 20 74 68 ... Set th
0001F0: 65 20 76 65 72 74 69 63 61 6C 20 70 6F 73 69 74 e vertical posit
Size : 512 (Real : 512)
000000: 69 6F 6E 20 6F 66 20 74 68 65 20 67 72 61 70 68 ion of the graph
000010: 69 63 73 20 77 69 6E 64 6F 77 2E 20 54 68 65 20 ics window. The
000020: 74 6F 70 20 20 61 6E 64 20 20 62 6F 74 74 6F 6D top and bottom
000030: 0D 0A 20 20 20 20 20 20 20 65 64 67 65 73 20 61 .. edges a
000040: 72 65 20 72 65 73 70 65 63 74 69 76 65 6C 79 20 re respectively
000050: 74 68 65 20 6C 61 73 74 20 61 6E 64 20 66 69 72 the last and fir
000060: 73 74 20 70 6F 69 6E 74 73 20 74 68 61 74 20 6C st points that l
000070: 69 65 20 20 69 6E 73 69 64 65 20 20 74 68 65 0D ie inside the.
000080: 0A 20 20 20 20 20 20 20 77 69 6E 64 6F 77 20 76 . window v
000090: 65 72 74 69 63 61 6C 6C 79 2E 0D 0A 0D 0A 20 20 ertically.....
0000A0: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
0000B0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tions:....
0000C0: 20 44 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 DE contains the
0000D0: 20 73 74 61 6E 64 61 72 64 20 58 20 63 6F 6F 72 standard X coor
0000E0: 64 69 6E 61 74 65 20 6F 66 20 6F 6E 65 20 65 64 dinate of one ed
0000F0: 67 65 2E 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 ge... HL c
000100: 6F 6E 74 61 69 6E 73 20 74 68 65 20 73 74 61 6E ontains the stan
000110: 64 61 72 64 20 59 20 63 6F 6F 72 64 69 6E 61 74 dard Y coordinat
000120: 65 20 6F 66 20 74 68 65 20 6F 74 68 65 72 20 65 e of the other e
000130: 64 67 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 dge..... E
000140: 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D xit conditions:.
000150: 0A 0D 0A 20 20 20 20 20 20 20 41 46 2C 42 43 2C ... AF,BC,
000160: 44 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 DE and HL corrup
000170: 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 72 t... All r
000180: 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 egisters preserv
000190: 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ed.......
0001A0: 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 Notes:......
0001B0: 20 20 20 54 68 65 20 77 69 6E 64 6F 77 20 65 64 The window ed
0001C0: 67 65 73 20 61 72 65 20 67 69 76 65 6E 20 69 6E ges are given in
0001D0: 20 73 74 61 6E 64 61 72 64 20 63 6F 6F 72 64 69 standard coordi
0001E0: 6E 61 74 65 73 20 69 6E 20 77 68 69 63 68 20 20 nates in which
0001F0: 28 30 2C 30 29 20 20 69 73 0D 0A 20 20 20 20 20 (0,0) is..
Size : 512 (Real : 512)
000000: 20 20 74 68 65 20 62 6F 74 74 6F 6D 20 6C 65 66 the bottom lef
000010: 74 20 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 20 t corner of the
000020: 73 63 72 65 65 6E 20 61 6E 64 20 63 6F 6F 72 64 screen and coord
000030: 69 6E 61 74 65 73 20 61 72 65 20 73 69 67 6E 65 inates are signe
000040: 64 20 31 36 20 62 69 74 0D 0A 20 20 20 20 20 20 d 16 bit..
000050: 20 6E 75 6D 62 65 72 73 2E 0D 0A 0D 0A 0D 0A 20 numbers.......
000060: 20 20 20 20 20 20 54 68 65 20 74 6F 70 20 65 64 The top ed
000070: 67 65 20 77 69 6C 6C 20 62 65 20 20 64 65 65 6D ge will be deem
000080: 65 64 20 20 74 6F 20 20 62 65 20 20 74 68 65 20 ed to be the
000090: 20 68 69 67 68 65 72 20 20 6F 66 20 20 74 68 65 higher of the
0000A0: 20 20 74 77 6F 20 20 65 64 67 65 73 0D 0A 20 20 two edges..
0000B0: 20 20 20 20 20 73 75 70 70 6C 69 65 64 2E 0D 0A supplied...
0000C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 77 .... The w
0000D0: 69 6E 64 6F 77 20 77 69 6C 6C 20 62 65 20 74 72 indow will be tr
0000E0: 75 6E 63 61 74 65 64 2C 20 69 66 20 6E 65 63 65 uncated, if nece
0000F0: 73 73 61 72 79 2C 20 74 6F 20 6D 61 6B 65 20 69 ssary, to make i
000100: 74 20 66 69 74 20 74 68 65 20 73 63 72 65 65 6E t fit the screen
000110: 2E 0D 0A 20 20 20 20 20 20 20 54 68 65 20 65 64 ... The ed
000120: 67 65 73 20 77 69 6C 6C 20 62 65 20 6D 6F 76 65 ges will be move
000130: 64 20 74 6F 20 6C 69 65 20 6F 6E 20 73 63 72 65 d to lie on scre
000140: 65 6E 20 6C 69 6E 65 20 62 6F 75 6E 64 61 72 69 en line boundari
000150: 65 73 20 73 6F 20 74 68 61 74 20 20 6F 6E 6C 79 es so that only
000160: 0D 0A 20 20 20 20 20 20 20 77 68 6F 6C 65 20 73 .. whole s
000170: 63 72 65 65 6E 20 6C 69 6E 65 73 20 61 72 65 20 creen lines are
000180: 69 6E 63 6C 75 64 65 64 20 69 6E 20 74 68 65 20 included in the
000190: 77 69 6E 64 6F 77 20 28 74 68 65 20 74 6F 70 20 window (the top
0001A0: 20 65 64 67 65 20 20 77 69 6C 6C 20 20 62 65 0D edge will be.
0001B0: 0A 20 20 20 20 20 20 20 6D 6F 76 65 64 20 75 70 . moved up
0001C0: 2C 20 74 68 65 20 62 6F 74 74 6F 6D 20 65 64 67 , the bottom edg
0001D0: 65 20 77 69 6C 6C 20 62 65 20 6D 6F 76 65 64 20 e will be moved
0001E0: 64 6F 77 6E 29 2E 20 54 68 69 73 20 6D 6F 76 65 down). This move
0001F0: 73 20 20 74 68 65 20 20 62 6F 74 74 6F 6D 0D 0A s the bottom..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 65 64 67 65 20 74 6F 20 61 edge to a
000010: 6E 20 65 76 65 6E 20 63 6F 6F 72 64 69 6E 61 74 n even coordinat
000020: 65 20 61 6E 64 20 74 68 65 20 74 6F 70 20 65 64 e and the top ed
000030: 67 65 20 74 6F 20 61 6E 20 6F 64 64 20 63 6F 6F ge to an odd coo
000040: 72 64 69 6E 61 74 65 2E 0D 0A 0D 0A 0D 0A 20 20 rdinate.......
000050: 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6C 74 The default
000060: 20 77 69 6E 64 6F 77 20 63 6F 76 65 72 73 20 74 window covers t
000070: 68 65 20 77 68 6F 6C 65 20 73 63 72 65 65 6E 2E he whole screen.
000080: 20 57 68 65 6E 65 76 65 72 20 74 68 65 20 20 73 Whenever the s
000090: 63 72 65 65 6E 20 20 6D 6F 64 65 0D 0A 20 20 20 creen mode..
0000A0: 20 20 20 20 69 73 20 63 68 61 6E 67 65 64 20 74 is changed t
0000B0: 68 65 20 77 69 6E 64 6F 77 20 69 73 20 72 65 73 he window is res
0000C0: 74 6F 72 65 64 20 74 6F 20 69 74 73 20 64 65 66 tored to its def
0000D0: 61 75 6C 74 20 73 69 7A 65 2E 0D 0A 0D 0A 0D 0A ault size.......
0000E0: 20 20 20 20 20 20 20 41 6C 6C 20 47 72 61 70 68 All Graph
0000F0: 69 63 73 20 56 44 55 20 70 6F 69 6E 74 20 70 6C ics VDU point pl
000100: 6F 74 74 69 6E 67 20 61 6E 64 20 6C 69 6E 65 20 otting and line
000110: 64 72 61 77 69 6E 67 20 72 6F 75 74 69 6E 65 73 drawing routines
000120: 20 74 65 73 74 20 77 68 65 74 68 65 72 0D 0A 20 test whether..
000130: 20 20 20 20 20 20 74 68 65 20 70 6F 69 6E 74 73 the points
000140: 20 74 68 65 79 20 61 72 65 20 61 62 6F 75 74 20 they are about
000150: 74 6F 20 70 6C 6F 74 20 6C 69 65 20 69 6E 73 69 to plot lie insi
000160: 64 65 20 74 68 65 20 77 69 6E 64 6F 77 3B 20 69 de the window; i
000170: 66 20 20 74 68 65 79 20 20 61 72 65 0D 0A 20 20 f they are..
000180: 20 20 20 20 20 6E 6F 74 20 74 68 65 6E 20 74 68 not then th
000190: 65 20 70 6F 69 6E 74 73 20 61 72 65 20 6E 6F 74 e points are not
0001A0: 20 70 6C 6F 74 74 65 64 2E 0D 0A 0D 0A 0D 0A 20 plotted.......
0001B0: 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E Related en
0001C0: 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tries:......
0001D0: 20 20 20 47 52 41 20 47 45 54 20 57 20 48 45 49 GRA GET W HEI
0001E0: 47 48 54 0D 0A 20 20 20 20 20 20 20 47 52 41 20 GHT.. GRA
0001F0: 57 49 4E 20 57 49 44 54 48 0D 0A 0D 0A 0D 0A 0D WIN WIDTH.......
Size : 512 (Real : 512)
000000: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 ..... AMST
000010: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
000020: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 FIRMWARE
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E page 15.
000050: 37 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 74..............
000060: 20 20 20 20 20 20 20 37 31 3A 20 47 52 41 20 47 71: GRA G
000070: 45 54 20 57 20 57 49 44 54 48 20 20 20 20 20 20 ET W WIDTH
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 23 42 42 44 35 0D 0A 0D #BBD5...
0000B0: 0A 0D 0A 20 20 20 20 20 20 20 47 65 74 20 74 68 ... Get th
0000C0: 65 20 6C 65 66 74 20 61 6E 64 20 72 69 67 68 74 e left and right
0000D0: 20 65 64 67 65 73 20 6F 66 20 74 68 65 20 67 72 edges of the gr
0000E0: 61 70 68 69 63 73 20 77 69 6E 64 6F 77 2E 0D 0A aphics window...
0000F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F .... Actio
000100: 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 n:...... A
000110: 73 6B 20 74 68 65 20 68 6F 72 69 7A 6F 6E 74 61 sk the horizonta
000120: 6C 20 70 6F 73 69 74 69 6F 6E 20 6F 66 20 74 68 l position of th
000130: 65 20 67 72 61 70 68 69 63 73 20 77 69 6E 64 6F e graphics windo
000140: 77 2E 20 54 68 65 20 6C 65 66 74 20 61 6E 64 20 w. The left and
000150: 72 69 67 68 74 0D 0A 20 20 20 20 20 20 20 65 64 right.. ed
000160: 67 65 73 20 61 72 65 20 72 65 73 70 65 63 74 69 ges are respecti
000170: 76 65 6C 79 20 74 68 65 20 66 69 72 73 74 20 61 vely the first a
000180: 6E 64 20 6C 61 73 74 20 70 6F 69 6E 74 73 20 74 nd last points t
000190: 68 61 74 20 6C 69 65 20 20 69 6E 73 69 64 65 20 hat lie inside
0001A0: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 77 69 6E the.. win
0001B0: 64 6F 77 20 68 6F 72 69 7A 6F 6E 74 61 6C 6C 79 dow horizontally
0001C0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E ....... En
0001D0: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D try conditions:.
0001E0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 ..... No c
0001F0: 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A onditions.......
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
000010: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
000020: 20 20 20 20 44 45 20 63 6F 6E 74 61 69 6E 73 20 DE contains
000030: 74 68 65 20 73 74 61 6E 64 61 72 64 20 58 20 63 the standard X c
000040: 6F 6F 72 64 69 6E 61 74 65 20 6F 66 20 74 68 65 oordinate of the
000050: 20 6C 65 66 74 20 65 64 67 65 20 6F 66 20 74 68 left edge of th
000060: 65 20 77 69 6E 64 6F 77 2E 0D 0A 20 20 20 20 20 e window...
000070: 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 HL contains th
000080: 65 20 73 74 61 6E 64 61 72 64 20 59 20 63 6F 6F e standard Y coo
000090: 72 64 69 6E 61 74 65 20 6F 66 20 74 68 65 20 72 rdinate of the r
0000A0: 69 67 68 74 20 65 64 67 65 20 6F 66 20 74 68 65 ight edge of the
0000B0: 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A 0D 0A 20 20 window.......
0000C0: 20 20 20 20 20 41 46 20 63 6F 72 72 75 70 74 0D AF corrupt.
0000D0: 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 . All othe
0000E0: 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 r registers pres
0000F0: 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 erved.......
000100: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 Notes:......
000110: 20 20 20 20 20 20 54 68 65 20 77 69 6E 64 6F 77 The window
000120: 20 65 64 67 65 73 20 61 72 65 20 67 69 76 65 6E edges are given
000130: 20 69 6E 20 73 74 61 6E 64 61 72 64 20 63 6F 6F in standard coo
000140: 72 64 69 6E 61 74 65 73 20 69 6E 20 77 68 69 63 rdinates in whic
000150: 68 20 20 28 30 2C 30 29 20 20 69 73 0D 0A 20 20 h (0,0) is..
000160: 20 20 20 20 20 74 68 65 20 62 6F 74 74 6F 6D 20 the bottom
000170: 6C 65 66 74 20 63 6F 72 6E 65 72 20 6F 66 20 74 left corner of t
000180: 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D 0A he screen.......
000190: 20 20 20 20 20 20 20 54 68 65 20 65 64 67 65 73 The edges
0001A0: 20 6D 61 79 20 6E 6F 74 20 62 65 20 65 78 61 63 may not be exac
0001B0: 74 6C 79 20 74 68 65 20 73 61 6D 65 20 61 73 20 tly the same as
0001C0: 74 68 6F 73 65 20 74 68 61 74 20 77 65 72 65 20 those that were
0001D0: 73 65 74 20 75 73 69 6E 67 20 47 52 41 0D 0A 20 set using GRA..
0001E0: 20 20 20 20 20 20 57 49 4E 20 57 49 44 54 48 20 WIN WIDTH
0001F0: 61 73 20 74 68 65 20 77 69 6E 64 6F 77 20 69 73 as the window is
Size : 512 (Real : 512)
000000: 20 74 72 75 6E 63 61 74 65 64 20 74 6F 20 66 69 truncated to fi
000010: 74 20 74 68 65 20 73 63 72 65 65 6E 2C 20 61 6E t the screen, an
000020: 64 20 74 68 65 20 20 65 64 67 65 73 0D 0A 20 20 d the edges..
000030: 20 20 20 20 20 61 72 65 20 6D 6F 76 65 64 20 74 are moved t
000040: 6F 20 73 63 72 65 65 6E 20 62 79 74 65 20 62 6F o screen byte bo
000050: 75 6E 64 61 72 69 65 73 20 73 6F 20 74 68 61 74 undaries so that
000060: 20 74 68 65 20 77 69 6E 64 6F 77 20 20 6F 6E 6C the window onl
000070: 79 20 20 63 6F 6E 74 61 69 6E 73 0D 0A 20 20 20 y contains..
000080: 20 20 20 20 77 68 6F 6C 65 20 62 79 74 65 73 2E whole bytes.
000090: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 ........ R
0000A0: 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D elated entries:.
0000B0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 20 ..... GRA
0000C0: 47 45 54 20 57 20 48 45 49 47 48 54 0D 0A 20 20 GET W HEIGHT..
0000D0: 20 20 20 20 20 47 52 41 20 49 4E 20 57 49 44 54 GRA IN WIDT
0000E0: 48 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D H...............
0000F0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 ..... AMST
000100: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
000110: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 FIRMWARE
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E page 15.
000140: 37 35 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 75..............
000150: 20 20 20 20 20 20 20 37 32 3A 20 47 52 41 20 47 72: GRA G
000160: 45 54 20 57 20 48 45 49 47 48 54 20 20 20 20 20 ET W HEIGHT
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 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 23 42 42 44 38 0D 0A 0D #BBD8...
0001A0: 0A 0D 0A 20 20 20 20 20 20 20 47 65 74 20 74 68 ... Get th
0001B0: 65 20 74 6F 70 20 61 6E 64 20 62 6F 74 74 6F 6D e top and bottom
0001C0: 20 65 64 67 65 73 20 6F 66 20 74 68 65 20 67 72 edges of the gr
0001D0: 61 70 68 69 63 73 20 77 69 6E 64 6F 77 2E 0D 0A aphics window...
0001E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F .... Actio
0001F0: 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 n:...... A
Size : 512 (Real : 512)
000000: 73 6B 20 74 68 65 20 76 65 72 74 69 63 61 6C 20 sk the vertical
000010: 70 6F 73 69 74 69 6F 6E 20 6F 66 20 74 68 65 20 position of the
000020: 67 72 61 70 68 69 63 73 20 77 69 6E 64 6F 77 2E graphics window.
000030: 20 54 68 65 20 74 6F 70 20 20 61 6E 64 20 20 62 The top and b
000040: 6F 74 74 6F 6D 0D 0A 20 20 20 20 20 20 20 65 64 ottom.. ed
000050: 67 65 73 20 61 72 65 20 72 65 73 70 65 63 74 69 ges are respecti
000060: 76 65 6C 79 20 74 68 65 20 6C 61 73 74 20 61 6E vely the last an
000070: 64 20 66 69 72 73 74 20 70 6F 69 6E 74 73 20 74 d first points t
000080: 68 61 74 20 6C 69 65 20 20 69 6E 73 69 64 65 20 hat lie inside
000090: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 67 72 61 the.. gra
0000A0: 70 68 69 63 73 20 77 69 6E 64 6F 77 20 76 65 72 phics window ver
0000B0: 74 69 63 61 6C 6C 79 2E 0D 0A 0D 0A 0D 0A 20 20 tically.......
0000C0: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
0000D0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
0000E0: 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 No conditions
0000F0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 ....... Ex
000100: 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A it conditions:..
000110: 0D 0A 0D 0A 20 20 20 20 20 20 20 44 45 20 63 6F .... DE co
000120: 6E 74 61 69 6E 73 20 74 68 65 20 73 74 61 6E 64 ntains the stand
000130: 61 72 64 20 58 20 63 6F 6F 72 64 69 6E 61 74 65 ard X coordinate
000140: 20 6F 66 20 74 68 65 20 74 6F 70 20 65 64 67 65 of the top edge
000150: 20 6F 66 20 74 68 65 20 77 69 6E 64 6F 77 2E 0D of the window..
000160: 0A 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 . HL conta
000170: 69 6E 73 20 74 68 65 20 73 74 61 6E 64 61 72 64 ins the standard
000180: 20 20 59 20 20 63 6F 6F 72 64 69 6E 61 74 65 20 Y coordinate
000190: 20 6F 66 20 20 74 68 65 20 20 62 6F 74 74 6F 6D of the bottom
0001A0: 20 65 64 67 65 20 20 6F 66 20 20 74 68 65 0D 0A edge of the..
0001B0: 20 20 20 20 20 20 20 77 69 6E 64 6F 77 2E 0D 0A window...
0001C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 20 63 6F .... AF co
0001D0: 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 rrupt... A
0001E0: 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 ll other registe
0001F0: 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D rs preserved....
Size : 512 (Real : 512)
000000: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A ... Notes:
000010: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
000020: 20 77 69 6E 64 6F 77 20 65 64 67 65 73 20 61 72 window edges ar
000030: 65 20 67 69 76 65 6E 20 69 6E 20 73 74 61 6E 64 e given in stand
000040: 61 72 64 20 63 6F 6F 72 64 69 6E 61 74 65 73 2E ard coordinates.
000050: 20 20 69 2E 65 2E 20 20 57 69 74 68 20 20 28 30 i.e. With (0
000060: 2C 30 29 0D 0A 20 20 20 20 20 20 20 62 65 69 6E ,0).. bein
000070: 67 20 74 68 65 20 62 6F 74 74 6F 6D 20 6C 65 66 g the bottom lef
000080: 74 20 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 20 t corner of the
000090: 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 screen.......
0000A0: 20 20 20 20 54 68 65 20 65 64 67 65 73 20 6D 61 The edges ma
0000B0: 79 20 6E 6F 74 20 62 65 20 65 78 61 63 74 6C 79 y not be exactly
0000C0: 20 74 68 65 20 73 61 6D 65 20 61 73 20 74 68 61 the same as tha
0000D0: 74 20 70 61 73 73 65 64 20 74 6F 20 47 52 41 20 t passed to GRA
0000E0: 57 49 4E 20 48 45 49 47 48 54 0D 0A 20 20 20 20 WIN HEIGHT..
0000F0: 20 20 20 61 73 20 74 68 65 20 77 69 6E 64 6F 77 as the window
000100: 20 69 73 20 74 72 75 6E 63 61 74 65 64 20 74 6F is truncated to
000110: 20 66 69 74 20 74 68 65 20 73 63 72 65 65 6E 2C fit the screen,
000120: 20 61 6E 64 20 74 68 65 20 65 64 67 65 73 20 61 and the edges a
000130: 72 65 20 20 6D 6F 76 65 64 0D 0A 20 20 20 20 20 re moved..
000140: 20 20 74 6F 20 6C 69 65 20 6F 6E 20 73 63 72 65 to lie on scre
000150: 65 6E 20 6C 69 6E 65 20 62 6F 75 6E 64 61 72 69 en line boundari
000160: 65 73 20 73 6F 20 74 68 61 74 20 6F 6E 6C 79 20 es so that only
000170: 77 68 6F 6C 65 20 73 63 72 65 65 6E 20 20 6C 69 whole screen li
000180: 6E 65 73 20 20 61 72 65 0D 0A 20 20 20 20 20 20 nes are..
000190: 20 69 6E 63 6C 75 64 65 64 20 69 6E 20 74 68 65 included in the
0001A0: 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A 0D 0A 0D 0A window.........
0001B0: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
0001C0: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 ntries:......
0001D0: 20 20 20 20 47 52 41 20 47 45 54 20 57 20 57 49 GRA GET W WI
0001E0: 44 54 48 0D 0A 20 20 20 20 20 20 20 47 52 41 20 DTH.. GRA
0001F0: 57 49 4E 20 48 45 49 47 48 54 0D 0A 0D 0A 0D 0A WIN HEIGHT......
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 AMSTRAD CPC46
000020: 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 4/664/6128 FIRMW
000030: 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 ARE
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
000050: 61 67 65 20 31 35 2E 37 36 0D 0A 0D 0A 0D 0A 0D age 15.76.......
000060: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 37 33 ....... 73
000070: 3A 20 47 52 41 20 43 4C 45 41 52 20 57 49 4E 44 : GRA CLEAR WIND
000080: 4F 57 20 20 20 20 20 20 20 20 20 20 20 20 20 20 OW
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 #
0000B0: 42 42 44 42 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 BBDB......
0000C0: 20 43 6C 65 61 72 20 74 68 65 20 67 72 61 70 68 Clear the graph
0000D0: 69 63 73 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A 0D ics window......
0000E0: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
0000F0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 43 6C 65 61 ..... Clea
000100: 72 20 74 68 65 20 67 72 61 70 68 69 63 73 20 77 r the graphics w
000110: 69 6E 64 6F 77 20 74 6F 20 74 68 65 20 67 72 61 indow to the gra
000120: 70 68 69 63 73 20 70 61 70 65 72 20 69 6E 6B 2E phics paper ink.
000130: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 ...... Ent
000140: 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A ry conditions:..
000150: 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F .... No co
000160: 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 nditions.......
000170: 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 Exit condi
000180: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
000190: 20 20 20 41 46 2C 42 43 2C 44 45 20 61 6E 64 20 AF,BC,DE and
0001A0: 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 HL corrupt...
0001B0: 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 All other re
0001C0: 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 gisters preserve
0001D0: 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E d....... N
0001E0: 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 otes:......
0001F0: 20 20 54 68 65 20 63 75 72 72 65 6E 74 20 67 72 The current gr
Size : 512 (Real : 512)
000000: 61 70 68 69 63 73 20 70 6F 73 69 74 69 6F 6E 20 aphics position
000010: 69 73 20 6D 6F 76 65 64 20 20 74 6F 20 20 74 68 is moved to th
000020: 65 20 20 6F 72 69 67 69 6E 20 20 6F 66 20 20 74 e origin of t
000030: 68 65 20 20 75 73 65 72 0D 0A 20 20 20 20 20 20 he user..
000040: 20 63 6F 6F 72 64 69 6E 61 74 65 73 2E 0D 0A 0D coordinates....
000050: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
000060: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
000070: 0D 0A 20 20 20 20 20 20 20 47 52 41 20 53 45 54 .. GRA SET
000080: 20 50 41 50 45 52 0D 0A 20 20 20 20 20 20 20 47 PAPER.. G
000090: 52 41 20 57 49 4E 20 48 45 49 47 48 54 0D 0A 20 RA WIN HEIGHT..
0000A0: 20 20 20 20 20 20 47 52 41 20 57 49 4E 20 57 49 GRA WIN WI
0000B0: 44 54 48 0D 0A 20 20 20 20 20 20 20 53 43 52 20 DTH.. SCR
0000C0: 43 4C 45 41 52 0D 0A 20 20 20 20 20 20 20 54 58 CLEAR.. TX
0000D0: 54 20 43 4C 45 41 52 20 57 49 4E 44 4F 57 0D 0A T CLEAR WINDOW..
0000E0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
0000F0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000100: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
000110: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
000120: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 FIRMWARE
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 70 61 67 65 20 31 35 2E 37 page 15.7
000150: 37 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 7..............
000160: 20 20 20 20 20 20 37 34 3A 20 47 52 41 20 53 45 74: GRA SE
000170: 54 20 50 45 4E 20 20 20 20 20 20 20 20 20 20 20 T PEN
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 23 42 42 44 45 0D 0A 0D 0A #BBDE....
0001B0: 0D 0A 20 20 20 20 20 20 20 53 65 74 20 74 68 65 .. Set the
0001C0: 20 67 72 61 70 68 69 63 73 20 70 6C 6F 74 74 69 graphics plotti
0001D0: 6E 67 20 69 6E 6B 2E 0D 0A 0D 0A 0D 0A 20 20 20 ng ink.......
0001E0: 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D Action:.....
0001F0: 0A 20 20 20 20 20 20 20 53 65 74 20 74 68 65 20 . Set the
Size : 512 (Real : 512)
000000: 67 72 61 70 68 69 63 73 20 70 65 6E 20 69 6E 6B graphics pen ink
000010: 2E 20 54 68 69 73 20 69 73 20 74 68 65 20 69 6E . This is the in
000020: 6B 20 20 62 79 20 20 74 68 65 20 20 47 72 61 70 k by the Grap
000030: 68 69 63 73 20 20 56 44 55 20 20 66 6F 72 0D 0A hics VDU for..
000040: 20 20 20 20 20 20 20 70 6C 6F 74 74 69 6E 67 20 plotting
000050: 70 6F 69 6E 74 73 2C 20 64 72 61 77 69 6E 67 20 points, drawing
000060: 6C 69 6E 65 73 20 61 6E 64 20 77 72 69 74 69 6E lines and writin
000070: 67 20 63 68 61 72 61 63 74 65 72 73 2E 0D 0A 0D g characters....
000080: 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 ... Entry
000090: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
0000A0: 0A 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 . A contai
0000B0: 6E 73 20 74 68 65 20 72 65 71 75 69 72 65 64 20 ns the required
0000C0: 69 6E 6B 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ink.......
0000D0: 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 Exit conditions
0000E0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 :...... AF
0000F0: 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 corrupt...
000100: 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 All other regi
000110: 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E sters preserved.
000120: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 ...... Not
000130: 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 es:......
000140: 54 68 65 20 69 6E 6B 20 69 73 20 6D 61 73 6B 65 The ink is maske
000150: 64 20 74 6F 20 62 72 69 6E 67 20 69 74 20 69 6E d to bring it in
000160: 20 74 6F 20 72 61 6E 67 65 20 20 6F 66 20 20 69 to range of i
000170: 6E 6B 73 20 20 66 6F 72 20 20 74 68 65 20 20 63 nks for the c
000180: 75 72 72 65 6E 74 0D 0A 20 20 20 20 20 20 20 73 urrent.. s
000190: 63 72 65 65 6E 20 6D 6F 64 65 2E 20 49 6E 20 6D creen mode. In m
0001A0: 6F 64 65 20 30 20 74 68 65 20 6D 61 73 6B 20 69 ode 0 the mask i
0001B0: 73 20 23 30 46 2C 20 69 6E 20 6D 6F 64 65 20 31 s #0F, in mode 1
0001C0: 20 69 74 20 20 69 73 20 20 23 30 33 20 20 61 6E it is #03 an
0001D0: 64 20 20 69 6E 0D 0A 20 20 20 20 20 20 20 6D 6F d in.. mo
0001E0: 64 65 20 32 20 69 74 20 69 73 20 23 30 31 2E 0D de 2 it is #01..
0001F0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 6E 20 56 ..... In V
Size : 512 (Real : 512)
000000: 31 2E 31 20 66 69 72 6D 77 61 72 65 20 74 68 65 1.1 firmware the
000010: 20 67 72 61 70 68 69 63 73 20 70 65 6E 20 69 6E graphics pen in
000020: 6B 20 69 73 20 74 61 6B 65 6E 20 74 6F 20 64 65 k is taken to de
000030: 6C 69 6D 69 74 20 74 68 65 20 65 64 67 65 20 20 limit the edge
000040: 6F 66 0D 0A 20 20 20 20 20 20 20 74 68 65 20 61 of.. the a
000050: 72 65 61 20 74 6F 20 66 69 6C 6C 20 77 68 65 6E rea to fill when
000060: 20 66 6C 6F 6F 64 20 66 69 6C 6C 69 6E 67 20 61 flood filling a
000070: 72 65 61 73 20 6F 66 20 74 68 65 20 73 63 72 65 reas of the scre
000080: 65 6E 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 en.........
000090: 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 Related entrie
0000A0: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 s:...... G
0000B0: 52 41 20 47 45 54 20 50 45 4E 0D 0A 20 20 20 20 RA GET PEN..
0000C0: 20 20 20 47 52 41 20 53 45 54 20 50 41 50 45 52 GRA SET PAPER
0000D0: 0D 0A 20 20 20 20 20 20 20 53 43 52 20 53 45 54 .. SCR SET
0000E0: 20 49 4E 4B 0D 0A 20 20 20 20 20 20 20 54 58 54 INK.. TXT
0000F0: 20 53 45 54 20 50 45 4E 0D 0A 0D 0A 0D 0A 0D 0A SET PEN........
000100: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000110: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
000120: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
000130: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 FIRMWARE
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 37 page 15.7
000160: 38 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 8..............
000170: 20 20 20 20 20 20 37 35 3A 20 47 52 41 20 47 45 75: GRA GE
000180: 54 20 50 45 4E 20 20 20 20 20 20 20 20 20 20 20 T PEN
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 20 20 20 20 23 42 42 45 31 0D 0A 0D 0A #BBE1....
0001C0: 0D 0A 20 20 20 20 20 20 20 47 65 74 20 74 68 65 .. Get the
0001D0: 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 69 63 current graphic
0001E0: 73 20 70 6C 6F 74 74 69 6E 67 20 69 6E 6B 2E 0D s plotting ink..
0001F0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 ..... Acti
Size : 512 (Real : 512)
000000: 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 on:......
000010: 41 73 6B 20 77 68 61 74 20 74 68 65 20 63 75 72 Ask what the cur
000020: 72 65 6E 74 20 67 72 61 70 68 69 63 73 20 70 65 rent graphics pe
000030: 6E 20 69 6E 6B 20 69 73 20 73 65 74 20 74 6F 2E n ink is set to.
000040: 20 54 68 69 73 20 69 73 20 74 68 65 20 69 6E 6B This is the ink
000050: 20 20 75 73 65 64 0D 0A 20 20 20 20 20 20 20 62 used.. b
000060: 79 20 74 68 65 20 47 72 61 70 68 69 63 73 20 56 y the Graphics V
000070: 44 55 20 66 6F 72 20 70 6C 6F 74 74 69 6E 67 20 DU for plotting
000080: 70 6F 69 6E 74 73 2C 20 20 64 72 61 77 69 6E 67 points, drawing
000090: 20 20 6C 69 6E 65 73 20 20 61 6E 64 20 20 77 72 lines and wr
0000A0: 69 74 69 6E 67 0D 0A 20 20 20 20 20 20 20 63 68 iting.. ch
0000B0: 61 72 61 63 74 65 72 73 2E 0D 0A 0D 0A 0D 0A 20 aracters.......
0000C0: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
0000D0: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
0000E0: 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E No condition
0000F0: 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 s....... E
000100: 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D xit conditions:.
000110: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 63 6F ..... A co
000120: 6E 74 61 69 6E 73 20 74 68 65 20 69 6E 6B 2E 0D ntains the ink..
000130: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 46 6C 61 67 ..... Flag
000140: 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 s corrupt...
000150: 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 All other reg
000160: 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 isters preserved
000170: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ....... No
000180: 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 tes:......
000190: 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 68 61 This routine ha
0001A0: 73 20 6E 6F 20 6F 74 68 65 72 20 65 66 66 65 63 s no other effec
0001B0: 74 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ts.........
0001C0: 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 Related entrie
0001D0: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 s:...... G
0001E0: 52 41 20 47 45 54 20 50 41 50 45 52 0D 0A 20 20 RA GET PAPER..
0001F0: 20 20 20 20 20 47 52 41 20 53 45 54 20 50 45 4E GRA SET PEN
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 53 43 52 20 47 45 54 .. SCR GET
000010: 20 49 4E 4B 0D 0A 20 20 20 20 20 20 20 54 58 54 INK.. TXT
000020: 20 47 45 54 20 50 45 4E 0D 0A 0D 0A 0D 0A 0D 0A GET PEN........
000030: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000040: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
000050: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
000060: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 20 page
000090: 31 35 2E 37 39 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 15.79...........
0000A0: 0A 0D 0A 20 20 20 20 20 20 20 37 36 3A 20 47 52 ... 76: GR
0000B0: 41 20 53 45 54 20 50 41 50 45 52 20 20 20 20 20 A SET PAPER
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 20 20 20 20 20 20 20 20 20 23 42 42 45 34 #BBE4
0000F0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 ...... Set
000100: 20 74 68 65 20 67 72 61 70 68 69 63 73 20 62 61 the graphics ba
000110: 63 6B 67 72 6F 75 6E 64 20 69 6E 6B 2E 0D 0A 0D ckground ink....
000120: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
000130: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 :...... Se
000140: 74 20 74 68 65 20 67 72 61 70 68 69 63 73 20 70 t the graphics p
000150: 61 70 65 72 20 69 6E 6B 2E 0D 0A 0D 0A 0D 0A 20 aper ink.......
000160: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
000170: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
000180: 20 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 74 A contains t
000190: 68 65 20 72 65 71 75 69 72 65 64 20 69 6E 6B 2E he required ink.
0001A0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 ...... Exi
0001B0: 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D t conditions:...
0001C0: 0A 0D 0A 20 20 20 20 20 20 20 41 46 20 63 6F 72 ... AF cor
0001D0: 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C rupt... Al
0001E0: 6C 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 l registers pres
0001F0: 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 erved.......
Size : 512 (Real : 512)
000000: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 Notes:......
000010: 20 20 20 20 20 20 54 68 65 20 69 6E 6B 20 69 73 The ink is
000020: 20 6D 61 73 6B 65 64 20 74 6F 20 62 72 69 6E 67 masked to bring
000030: 20 69 74 20 69 6E 20 74 6F 20 72 61 6E 67 65 20 it in to range
000040: 20 6F 66 20 20 69 6E 6B 73 20 20 66 6F 72 20 20 of inks for
000050: 74 68 65 20 20 63 75 72 72 65 6E 74 0D 0A 20 20 the current..
000060: 20 20 20 20 20 73 63 72 65 65 6E 20 6D 6F 64 65 screen mode
000070: 2E 20 49 6E 20 6D 6F 64 65 20 30 20 74 68 65 20 . In mode 0 the
000080: 6D 61 73 6B 20 69 73 20 23 30 46 2C 20 69 6E 20 mask is #0F, in
000090: 6D 6F 64 65 20 31 20 69 74 20 20 69 73 20 20 23 mode 1 it is #
0000A0: 30 33 20 20 61 6E 64 20 20 69 6E 0D 0A 20 20 20 03 and in..
0000B0: 20 20 20 20 6D 6F 64 65 20 32 20 69 74 20 69 73 mode 2 it is
0000C0: 20 23 30 31 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 #01.......
0000D0: 20 20 54 68 65 20 70 61 70 65 72 20 69 6E 6B 20 The paper ink
0000E0: 69 73 20 74 68 65 20 69 6E 6B 20 20 74 68 61 74 is the ink that
0000F0: 20 20 69 73 20 20 75 73 65 64 20 20 66 6F 72 20 is used for
000100: 20 63 6C 65 61 72 69 6E 67 20 20 74 68 65 20 20 clearing the
000110: 67 72 61 70 68 69 63 73 0D 0A 20 20 20 20 20 20 graphics..
000120: 20 77 69 6E 64 6F 77 2C 20 61 6E 64 20 77 72 69 window, and wri
000130: 74 69 6E 67 20 74 68 65 20 62 61 63 6B 67 72 6F ting the backgro
000140: 75 6E 64 20 74 6F 20 63 68 61 72 61 63 74 65 72 und to character
000150: 73 2E 20 20 49 74 20 20 69 73 20 20 61 73 73 75 s. It is assu
000160: 6D 65 64 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 med to..
000170: 63 6F 76 65 72 20 65 76 65 72 79 77 68 65 72 65 cover everywhere
000180: 20 6F 75 74 73 69 64 65 20 74 68 65 20 67 72 61 outside the gra
000190: 70 68 69 63 73 20 77 69 6E 64 6F 77 20 77 68 65 phics window whe
0001A0: 6E 20 74 65 73 74 69 6E 67 20 70 6F 69 6E 74 73 n testing points
0001B0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 6E ....... In
0001C0: 20 56 31 2E 31 20 66 69 72 6D 77 61 72 65 20 74 V1.1 firmware t
0001D0: 68 65 20 20 67 72 61 70 68 69 63 73 20 20 70 61 he graphics pa
0001E0: 70 65 72 20 20 69 6E 6B 20 20 69 73 20 20 75 73 per ink is us
0001F0: 65 64 20 20 74 6F 20 20 70 6C 6F 74 20 20 70 69 ed to plot pi
Size : 512 (Real : 512)
000000: 78 65 6C 73 0D 0A 20 20 20 20 20 20 20 63 6F 72 xels.. cor
000010: 72 65 73 70 6F 6E 64 69 6E 67 20 74 6F 20 61 20 responding to a
000020: 7A 65 72 6F 20 62 69 74 20 69 6E 20 74 68 65 20 zero bit in the
000030: 6C 69 6E 65 20 6D 61 73 6B 20 77 68 65 6E 20 64 line mask when d
000040: 72 61 77 69 6E 67 20 6C 69 6E 65 73 2E 0D 0A 0D rawing lines....
000050: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
000060: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
000070: 0D 0A 20 20 20 20 20 20 20 47 52 41 20 47 45 54 .. GRA GET
000080: 20 50 41 50 45 52 0D 0A 20 20 20 20 20 20 20 47 PAPER.. G
000090: 52 41 20 53 45 54 20 50 45 4E 0D 0A 20 20 20 20 RA SET PEN..
0000A0: 20 20 20 53 43 52 20 47 45 54 20 49 4E 4B 0D 0A SCR GET INK..
0000B0: 20 20 20 20 20 20 20 54 58 54 20 53 45 54 20 50 TXT SET P
0000C0: 41 50 45 52 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A APER............
0000D0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
0000E0: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
0000F0: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 20 page
000120: 31 35 2E 38 30 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 15.80...........
000130: 0A 0D 0A 20 20 20 20 20 20 20 37 37 3A 20 47 52 ... 77: GR
000140: 41 20 47 45 54 20 50 41 50 45 52 20 20 20 20 20 A GET PAPER
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 20 20 20 23 42 42 45 37 #BBE7
000180: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 65 74 ...... Get
000190: 20 74 68 65 20 63 75 72 72 65 6E 74 20 67 72 61 the current gra
0001A0: 70 68 69 63 73 20 62 61 63 6B 67 72 6F 75 6E 64 phics background
0001B0: 20 69 6E 6B 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ink.......
0001C0: 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 Action:......
0001D0: 20 20 20 20 20 20 41 73 6B 20 77 68 61 74 20 74 Ask what t
0001E0: 68 65 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 he current graph
0001F0: 69 63 73 20 70 61 70 65 72 20 69 6E 6B 20 69 73 ics paper ink is
Size : 512 (Real : 512)
000000: 20 73 65 74 20 74 6F 2E 0D 0A 0D 0A 0D 0A 20 20 set to.......
000010: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
000020: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
000030: 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 No conditions
000040: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 ....... Ex
000050: 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A it conditions:..
000060: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 63 6F 6E .... A con
000070: 74 61 69 6E 73 20 74 68 65 20 69 6E 6B 2E 0D 0A tains the ink...
000080: 0D 0A 0D 0A 20 20 20 20 20 20 20 46 6C 61 67 73 .... Flags
000090: 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 corrupt...
0000A0: 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 All other regi
0000B0: 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E sters preserved.
0000C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 ...... Not
0000D0: 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 es:......
0000E0: 54 68 65 20 70 61 70 65 72 20 69 6E 6B 20 69 73 The paper ink is
0000F0: 20 74 68 65 20 69 6E 6B 20 20 74 68 61 74 20 20 the ink that
000100: 69 73 20 20 75 73 65 64 20 20 66 6F 72 20 20 63 is used for c
000110: 6C 65 61 72 69 6E 67 20 20 74 68 65 20 20 67 72 learing the gr
000120: 61 70 68 69 63 73 0D 0A 20 20 20 20 20 20 20 77 aphics.. w
000130: 69 6E 64 6F 77 2C 20 61 6E 64 20 77 72 69 74 69 indow, and writi
000140: 6E 67 20 62 61 63 6B 67 72 6F 75 6E 64 20 74 6F ng background to
000150: 20 63 68 61 72 61 63 74 65 72 73 2E 20 49 74 20 characters. It
000160: 69 73 20 61 73 73 75 6D 65 64 20 20 74 6F 20 20 is assumed to
000170: 63 6F 76 65 72 0D 0A 20 20 20 20 20 20 20 65 76 cover.. ev
000180: 65 72 79 77 68 65 72 65 20 6F 75 74 73 69 64 65 erywhere outside
000190: 20 74 68 65 20 67 72 61 70 68 69 63 73 20 77 69 the graphics wi
0001A0: 6E 64 6F 77 20 77 68 65 6E 20 74 65 73 74 69 6E ndow when testin
0001B0: 67 20 70 6F 69 6E 74 73 2E 0D 0A 0D 0A 0D 0A 0D g points........
0001C0: 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 . Related
0001D0: 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 entries:......
0001E0: 20 20 20 20 20 47 52 41 20 47 45 54 20 50 45 4E GRA GET PEN
0001F0: 0D 0A 20 20 20 20 20 20 20 47 52 41 20 53 45 54 .. GRA SET
Size : 512 (Real : 512)
000000: 20 50 41 50 45 52 0D 0A 20 20 20 20 20 20 20 53 PAPER.. S
000010: 43 52 20 47 45 54 20 49 4E 4B 0D 0A 20 20 20 20 CR GET INK..
000020: 20 20 20 54 58 54 20 47 45 54 20 50 41 50 45 52 TXT GET PAPER
000030: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000040: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000050: 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 AMSTRAD C
000060: 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 PC464/664/6128 F
000070: 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 IRMWARE
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 70 61 67 65 20 31 35 2E 38 31 0D 0A 0D page 15.81...
0000A0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
0000B0: 20 20 37 38 3A 20 47 52 41 20 50 4C 4F 54 20 41 78: GRA PLOT A
0000C0: 42 53 4F 4C 55 54 45 20 20 20 20 20 20 20 20 20 BSOLUTE
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 20 23 42 42 45 41 0D 0A 0D 0A 0D 0A 20 20 #BBEA......
000100: 20 20 20 20 20 50 6C 6F 74 20 61 20 70 6F 69 6E Plot a poin
000110: 74 20 61 74 20 61 6E 20 61 62 73 6F 6C 75 74 65 t at an absolute
000120: 20 70 6F 73 69 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A position.......
000130: 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A Action:..
000140: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 63 .... The c
000150: 75 72 72 65 6E 74 20 67 72 61 70 68 69 63 20 70 urrent graphic p
000160: 6F 73 69 74 69 6F 6E 20 69 73 20 6D 6F 76 65 64 osition is moved
000170: 20 74 6F 20 74 68 65 20 70 6F 73 69 74 69 6F 6E to the position
000180: 20 73 75 70 70 6C 69 65 64 2E 20 49 66 20 20 69 supplied. If i
000190: 74 0D 0A 20 20 20 20 20 20 20 6C 69 65 73 20 69 t.. lies i
0001A0: 6E 73 69 64 65 20 74 68 65 20 67 72 61 70 68 69 nside the graphi
0001B0: 63 73 20 77 69 6E 64 6F 77 20 74 68 65 6E 20 20 cs window then
0001C0: 74 68 65 20 20 70 6F 69 6E 74 20 20 69 73 20 20 the point is
0001D0: 70 6C 6F 74 74 65 64 20 20 69 6E 20 20 74 68 65 plotted in the
0001E0: 0D 0A 20 20 20 20 20 20 20 63 75 72 72 65 6E 74 .. current
0001F0: 20 67 72 61 70 68 69 63 73 20 70 65 6E 20 69 6E graphics pen in
Size : 512 (Real : 512)
000000: 6B 20 75 73 69 6E 67 20 74 68 65 20 63 75 72 72 k using the curr
000010: 65 6E 74 20 67 72 61 70 68 69 63 73 20 77 72 69 ent graphics wri
000020: 74 65 20 6D 6F 64 65 2E 20 49 66 20 74 68 65 0D te mode. If the.
000030: 0A 20 20 20 20 20 20 20 70 6F 69 6E 74 20 6C 69 . point li
000040: 65 73 20 6F 75 74 73 69 64 65 20 74 68 65 20 67 es outside the g
000050: 72 61 70 68 69 63 73 20 77 69 6E 64 6F 77 20 74 raphics window t
000060: 68 65 6E 20 6E 6F 20 61 63 74 69 6F 6E 20 69 73 hen no action is
000070: 20 74 61 6B 65 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 taken.......
000080: 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 Entry condit
000090: 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions:......
0000A0: 20 20 44 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 DE contains th
0000B0: 65 20 75 73 65 72 20 58 20 63 6F 6F 72 64 69 6E e user X coordin
0000C0: 61 74 65 20 74 6F 20 70 6C 6F 74 20 61 74 2E 0D ate to plot at..
0000D0: 0A 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 . HL conta
0000E0: 69 6E 73 20 74 68 65 20 75 73 65 72 20 59 20 63 ins the user Y c
0000F0: 6F 6F 72 64 69 6E 61 74 65 20 74 6F 20 70 6C 6F oordinate to plo
000100: 74 20 61 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 t at.......
000110: 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E Exit condition
000120: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 s:...... A
000130: 46 2C 42 43 2C 44 45 20 61 6E 64 20 48 4C 20 63 F,BC,DE and HL c
000140: 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 orrupt...
000150: 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 All other regist
000160: 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A ers preserved...
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 .... Notes
000180: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 :.... The
000190: 70 6F 73 69 74 69 6F 6E 20 74 6F 20 70 6C 6F 74 position to plot
0001A0: 20 61 74 20 69 73 20 67 69 76 65 6E 20 69 6E 20 at is given in
0001B0: 75 73 65 72 20 63 6F 6F 72 64 69 6E 61 74 65 73 user coordinates
0001C0: 2E 20 69 2E 65 2E 20 52 65 6C 61 74 69 76 65 20 . i.e. Relative
0001D0: 74 6F 0D 0A 20 20 20 20 20 20 20 74 68 65 20 75 to.. the u
0001E0: 73 65 72 20 6F 72 69 67 69 6E 2E 0D 0A 0D 0A 0D ser origin......
0001F0: 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 6F 75 . This rou
Size : 512 (Real : 512)
000000: 74 69 6E 65 20 63 61 6C 6C 73 20 74 68 65 20 47 tine calls the G
000010: 52 41 20 50 4C 4F 54 20 69 6E 64 69 72 65 63 74 RA PLOT indirect
000020: 69 6F 6E 20 74 6F 20 70 6C 6F 74 20 74 68 65 20 ion to plot the
000030: 70 6F 69 6E 74 2E 20 49 6E 20 20 69 74 73 0D 0A point. In its..
000040: 20 20 20 20 20 20 20 74 75 72 6E 20 47 52 41 20 turn GRA
000050: 50 4C 4F 54 20 63 61 6C 6C 73 20 74 68 65 20 53 PLOT calls the S
000060: 43 52 20 57 52 49 54 45 20 69 6E 64 69 72 65 63 CR WRITE indirec
000070: 74 69 6F 6E 20 74 6F 20 73 65 74 20 74 68 65 20 tion to set the
000080: 70 69 78 65 6C 20 28 69 66 20 20 69 74 0D 0A 20 pixel (if it..
000090: 20 20 20 20 20 20 69 73 20 69 6E 20 74 68 65 20 is in the
0000A0: 77 69 6E 64 6F 77 29 2E 0D 0A 0D 0A 0D 0A 0D 0A window).........
0000B0: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
0000C0: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 ntries:......
0000D0: 20 20 20 20 47 52 41 20 50 4C 4F 54 0D 0A 20 20 GRA PLOT..
0000E0: 20 20 20 20 20 47 52 41 20 50 4C 4F 54 20 52 45 GRA PLOT RE
0000F0: 4C 41 54 49 56 45 0D 0A 20 20 20 20 20 20 20 47 LATIVE.. G
000100: 52 41 20 54 45 53 54 20 41 42 53 4F 4C 55 54 45 RA TEST ABSOLUTE
000110: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000120: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000130: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
000140: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
000150: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
000170: 65 20 31 35 2E 38 32 0D 0A 0D 0A 0D 0A 0D 0A 0D e 15.82.........
000180: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 37 39 3A 20 ..... 79:
000190: 47 52 41 20 50 4C 4F 54 20 52 45 4C 41 54 49 56 GRA PLOT RELATIV
0001A0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
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 23 42 42 #BB
0001D0: 45 44 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 50 ED...... P
0001E0: 6C 6F 74 20 61 20 70 6F 69 6E 74 20 72 65 6C 61 lot a point rela
0001F0: 74 69 76 65 20 74 6F 20 74 68 65 20 63 75 72 72 tive to the curr
Size : 512 (Real : 512)
000000: 65 6E 74 20 70 6F 73 69 74 69 6F 6E 2E 0D 0A 0D ent position....
000010: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
000020: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 :...... Th
000030: 65 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 69 e current graphi
000040: 63 73 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 6D cs position is m
000050: 6F 76 65 64 20 74 6F 20 74 68 65 20 20 70 6F 73 oved to the pos
000060: 69 74 69 6F 6E 20 20 73 75 70 70 6C 69 65 64 2E ition supplied.
000070: 20 20 49 66 0D 0A 20 20 20 20 20 20 20 74 68 69 If.. thi
000080: 73 20 6C 69 65 73 20 69 6E 73 69 64 65 20 74 68 s lies inside th
000090: 65 20 67 72 61 70 68 69 63 73 20 77 69 6E 64 6F e graphics windo
0000A0: 77 20 74 68 65 6E 20 74 68 65 20 70 6F 69 6E 74 w then the point
0000B0: 20 69 73 20 70 6C 6F 74 74 65 64 20 69 6E 20 20 is plotted in
0000C0: 74 68 65 0D 0A 20 20 20 20 20 20 20 63 75 72 72 the.. curr
0000D0: 65 6E 74 20 67 72 61 70 68 69 63 73 20 70 65 6E ent graphics pen
0000E0: 20 69 6E 6B 20 75 73 69 6E 67 20 74 68 65 20 63 ink using the c
0000F0: 75 72 72 65 6E 74 20 67 72 61 70 68 69 63 73 20 urrent graphics
000100: 77 72 69 74 65 20 6D 6F 64 65 2E 20 49 66 20 74 write mode. If t
000110: 68 65 0D 0A 20 20 20 20 20 20 20 70 6F 69 6E 74 he.. point
000120: 20 6C 69 65 73 20 6F 75 74 73 69 64 65 20 74 68 lies outside th
000130: 65 20 67 72 61 70 68 69 63 73 20 77 69 6E 64 6F e graphics windo
000140: 77 20 74 68 65 6E 20 6E 6F 20 61 63 74 69 6F 6E w then no action
000150: 20 69 73 20 74 61 6B 65 6E 2E 0D 0A 0D 0A 0D 0A is taken.......
000160: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
000170: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
000180: 20 20 20 20 20 44 45 20 63 6F 6E 74 61 69 6E 73 DE contains
000190: 20 61 20 73 69 67 6E 65 64 20 58 20 6F 66 66 73 a signed X offs
0001A0: 65 74 2E 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 et... HL c
0001B0: 6F 6E 74 61 69 6E 73 20 61 20 73 69 67 6E 65 64 ontains a signed
0001C0: 20 59 20 6F 66 66 73 65 74 2E 0D 0A 0D 0A 0D 0A Y offset.......
0001D0: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
0001E0: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
0001F0: 20 20 20 20 41 46 2C 42 43 2C 44 45 20 61 6E 64 AF,BC,DE and
Size : 512 (Real : 512)
000000: 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 HL corrupt...
000010: 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 All other r
000020: 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 egisters preserv
000030: 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ed.......
000040: 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 Notes:......
000050: 20 20 20 54 68 65 20 70 6F 73 69 74 69 6F 6E 20 The position
000060: 74 6F 20 20 70 6C 6F 74 20 20 61 74 20 20 69 73 to plot at is
000070: 20 20 67 69 76 65 6E 20 20 69 6E 20 20 72 65 6C given in rel
000080: 61 74 69 76 65 20 20 63 6F 6F 72 64 69 6E 61 74 ative coordinat
000090: 65 73 2E 20 20 69 2E 65 2E 0D 0A 20 20 20 20 20 es. i.e...
0000A0: 20 20 52 65 6C 61 74 69 76 65 20 74 6F 20 74 68 Relative to th
0000B0: 65 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 69 e current graphi
0000C0: 63 73 20 70 6F 73 69 74 69 6F 6E 2E 2E 0D 0A 0D cs position.....
0000D0: 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 ... This r
0000E0: 6F 75 74 69 6E 65 20 63 61 6C 6C 73 20 74 68 65 outine calls the
0000F0: 20 47 52 41 20 50 4C 4F 54 20 69 6E 64 69 72 65 GRA PLOT indire
000100: 63 74 69 6F 6E 20 74 6F 20 70 6C 6F 74 20 74 68 ction to plot th
000110: 65 20 70 6F 69 6E 74 2E 20 49 6E 20 20 69 74 73 e point. In its
000120: 0D 0A 20 20 20 20 20 20 20 74 75 72 6E 20 47 52 .. turn GR
000130: 41 20 50 4C 4F 54 20 63 61 6C 6C 73 20 74 68 65 A PLOT calls the
000140: 20 53 43 52 20 57 52 49 54 45 20 69 6E 64 69 72 SCR WRITE indir
000150: 65 63 74 69 6F 6E 20 74 6F 20 73 65 74 20 74 68 ection to set th
000160: 65 20 70 69 78 65 6C 20 28 69 66 20 20 69 74 0D e pixel (if it.
000170: 0A 20 20 20 20 20 20 20 69 73 20 69 6E 20 74 68 . is in th
000180: 65 20 77 69 6E 64 6F 77 29 2E 0D 0A 0D 0A 0D 0A e window).......
000190: 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 .. Related
0001A0: 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 entries:......
0001B0: 20 20 20 20 20 20 47 52 41 20 50 4C 4F 54 0D 0A GRA PLOT..
0001C0: 20 20 20 20 20 20 20 47 52 41 20 50 4C 4F 54 20 GRA PLOT
0001D0: 52 45 4C 41 54 49 56 45 0D 0A 20 20 20 20 20 20 RELATIVE..
0001E0: 20 47 52 41 20 54 45 53 54 20 41 42 53 4F 4C 55 GRA TEST ABSOLU
0001F0: 54 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A TE..............
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000010: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
000020: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
000030: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
000050: 65 20 31 35 2E 38 33 0D 0A 0D 0A 0D 0A 0D 0A 0D e 15.83.........
000060: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 38 30 3A 20 ..... 80:
000070: 47 52 41 20 54 45 53 54 20 41 42 53 4F 4C 55 54 GRA TEST ABSOLUT
000080: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 42 #BB
0000B0: 46 30 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 F0...... T
0000C0: 65 73 74 20 61 20 70 6F 69 6E 74 20 61 74 20 61 est a point at a
0000D0: 6E 20 61 62 73 6F 6C 75 74 65 20 70 6F 73 69 74 n absolute posit
0000E0: 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ion.......
0000F0: 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 Action:......
000100: 20 20 20 20 20 54 68 65 20 63 75 72 72 65 6E 74 The current
000110: 20 67 72 61 70 68 69 63 73 20 70 6F 73 69 74 69 graphics positi
000120: 6F 6E 20 69 73 20 6D 6F 76 65 64 20 74 6F 20 74 on is moved to t
000130: 68 65 20 70 6F 73 69 74 69 6F 6E 20 73 75 70 70 he position supp
000140: 6C 69 65 64 2E 20 49 66 20 69 74 0D 0A 20 20 20 lied. If it..
000150: 20 20 20 20 6C 69 65 73 20 69 6E 73 69 64 65 20 lies inside
000160: 74 68 65 20 67 72 61 70 68 69 63 73 20 77 69 6E the graphics win
000170: 64 6F 77 20 74 68 65 6E 20 74 68 65 20 70 69 78 dow then the pix
000180: 65 6C 20 69 73 20 72 65 61 64 20 66 72 6F 6D 20 el is read from
000190: 74 68 65 20 73 63 72 65 65 6E 0D 0A 20 20 20 20 the screen..
0001A0: 20 20 20 61 6E 64 20 74 68 65 20 69 6E 6B 20 69 and the ink i
0001B0: 74 20 69 73 20 73 65 74 20 74 6F 20 69 73 20 64 t is set to is d
0001C0: 65 63 6F 64 65 64 20 61 6E 64 20 72 65 74 75 72 ecoded and retur
0001D0: 6E 65 64 2E 20 49 66 20 74 68 65 20 70 6F 73 69 ned. If the posi
0001E0: 74 69 6F 6E 20 6C 69 65 73 0D 0A 20 20 20 20 20 tion lies..
0001F0: 20 20 6F 75 74 73 69 64 65 20 74 68 65 20 67 72 outside the gr
Size : 512 (Real : 512)
000000: 61 70 68 69 63 73 20 77 69 6E 64 6F 77 20 74 68 aphics window th
000010: 65 6E 20 74 68 65 20 63 75 72 72 65 6E 74 20 70 en the current p
000020: 61 70 65 72 20 69 6E 6B 20 69 73 20 72 65 74 75 aper ink is retu
000030: 72 6E 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 rned.......
000040: 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F Entry conditio
000050: 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns:......
000060: 44 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 DE contains the
000070: 75 73 65 72 20 58 20 63 6F 6F 72 64 69 6E 61 74 user X coordinat
000080: 65 20 74 6F 20 74 65 73 74 20 61 74 2E 0D 0A 20 e to test at...
000090: 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E HL contain
0000A0: 73 20 74 68 65 20 75 73 65 72 20 59 20 63 6F 6F s the user Y coo
0000B0: 72 64 69 6E 61 74 65 20 74 6F 20 74 65 73 74 20 rdinate to test
0000C0: 61 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 at.......
0000D0: 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A Exit conditions:
0000E0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 63 ...... A c
0000F0: 6F 6E 74 61 69 6E 73 20 74 68 65 20 69 6E 6B 20 ontains the ink
000100: 6F 66 20 74 68 65 20 73 70 65 63 69 66 69 65 64 of the specified
000110: 20 70 6F 69 6E 74 20 28 6F 72 20 74 68 65 20 67 point (or the g
000120: 72 61 70 68 69 63 73 20 70 61 70 65 72 20 69 6E raphics paper in
000130: 6B 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 k).......
000140: 42 43 2C 44 45 2C 48 4C 20 61 6E 64 20 66 6C 61 BC,DE,HL and fla
000150: 67 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 gs corrupt...
000160: 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 All other re
000170: 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 gisters preserve
000180: 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E d....... N
000190: 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 otes:......
0001A0: 20 20 54 68 65 20 70 6F 73 69 74 69 6F 6E 20 74 The position t
0001B0: 6F 20 74 65 73 74 20 69 73 20 67 69 76 65 6E 20 o test is given
0001C0: 69 6E 20 75 73 65 72 20 63 6F 6F 72 64 69 6E 61 in user coordina
0001D0: 74 65 73 2E 20 20 69 2E 65 2E 20 20 52 65 6C 61 tes. i.e. Rela
0001E0: 74 69 76 65 20 20 74 6F 0D 0A 20 20 20 20 20 20 tive to..
0001F0: 20 74 68 65 20 75 73 65 72 20 6F 72 69 67 69 6E the user origin
Size : 512 (Real : 512)
000000: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ....... Th
000010: 69 73 20 72 6F 75 74 69 6E 65 20 63 61 6C 6C 73 is routine calls
000020: 20 74 68 65 20 47 52 41 20 54 45 53 54 20 69 6E the GRA TEST in
000030: 64 69 72 65 63 74 69 6F 6E 20 74 6F 20 74 65 73 direction to tes
000040: 74 20 74 68 65 20 70 6F 69 6E 74 2E 20 49 6E 20 t the point. In
000050: 20 69 74 73 0D 0A 20 20 20 20 20 20 20 74 75 72 its.. tur
000060: 6E 20 47 52 41 20 54 45 53 54 20 63 61 6C 6C 73 n GRA TEST calls
000070: 20 74 68 65 20 53 43 52 20 52 45 41 44 20 69 6E the SCR READ in
000080: 64 69 72 65 63 74 69 6F 6E 20 74 6F 20 74 65 73 direction to tes
000090: 74 20 74 68 65 20 70 69 78 65 6C 20 28 69 66 20 t the pixel (if
0000A0: 20 69 74 0D 0A 20 20 20 20 20 20 20 69 73 20 69 it.. is i
0000B0: 6E 20 74 68 65 20 77 69 6E 64 6F 77 29 2E 0D 0A n the window)...
0000C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C ...... Rel
0000D0: 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D ated entries:...
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 20 50 4C ... GRA PL
0000F0: 4F 54 20 41 42 53 4F 4C 55 54 45 0D 0A 20 20 20 OT ABSOLUTE..
000100: 20 20 20 20 47 52 41 20 54 45 53 54 0D 0A 20 20 GRA TEST..
000110: 20 20 20 20 20 47 52 41 20 54 45 53 54 20 52 45 GRA TEST RE
000120: 4C 41 54 49 56 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A LATIVE..........
000130: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
000140: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
000150: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 20 page
000180: 31 35 2E 38 34 0D 0A 1A 35 20 24 24 24 FF 00 FF 15.84...5 $$$...
000190: 20 20 20 36 38 3A 20 47 52 41 20 47 45 54 20 4F 68: GRA GET O
0001A0: 52 49 47 49 4E 20 20 20 20 20 20 20 20 20 20 20 RIGIN
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: 20 20 20 20 23 42 42 43 43 0D 0A 0D 0A 0D 0A 20 #BBCC......
0001E0: 20 20 20 20 20 20 47 65 74 20 74 68 65 20 6F 72 Get the or
0001F0: 69 67 69 6E 20 6F 66 20 74 68 65 20 75 73 65 72 igin of the user
Size : 512 (Real : 512)
000000: 2E 38 34 0D 0A 1A 2D 31 35 20 24 24 24 FF 00 FF .84...-15 $$$...
000010: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 FIRMWARE
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 70 61 67 65 20 31 35 2E page 15.
000040: 31 30 37 0D 0A 1A 20 20 20 20 20 20 20 20 20 20 107...
000050: 23 42 42 43 43 0D 0A 0D 0A 0D 0A 20 20 20 20 20 #BBCC......
000060: 20 20 47 65 74 20 74 68 65 20 6F 72 69 67 69 6E Get the origin
000070: 20 6F 66 20 74 68 65 20 75 73 65 72 20 63 6F 6F of the user coo
000080: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 ..... This
000090: 20 72 6F 75 74 69 6E 65 20 63 61 6C 6C 73 20 74 routine calls t
0000A0: 68 65 20 47 52 41 20 54 45 53 54 20 69 6E 64 69 he GRA TEST indi
0000B0: 72 65 63 74 69 6F 6E 20 74 6F 20 74 65 73 74 20 rection to test
0000C0: 74 68 65 20 70 6F 69 6E 74 2E 20 49 6E 20 20 69 the point. In i
0000D0: 74 73 0D 0A 20 20 20 20 20 20 20 74 75 72 6E 20 ts.. turn
0000E0: 47 52 41 20 54 45 53 54 20 63 61 6C 6C 73 20 74 GRA TEST calls t
0000F0: 68 65 20 53 43 52 20 52 45 41 44 20 69 6E 64 69 he SCR READ indi
000100: 72 65 63 74 69 6F 6E 20 74 6F 20 74 65 73 74 20 rection to test
000110: 74 68 65 20 70 69 78 65 6C 20 28 69 66 20 20 69 the pixel (if i
000120: 74 0D 0A 20 20 20 20 20 20 20 69 73 20 69 6E 20 t.. is in
000130: 74 68 65 20 77 69 6E 64 6F 77 29 2E 0D 0A 0D 0A the window).....
000140: 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 .... Relat
000150: 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D ed entries:.....
000160: 0A 20 20 20 20 20 20 20 47 52 41 20 50 4C 4F 54 . GRA PLOT
000170: 20 41 42 53 4F 4C 55 54 45 0D 0A 20 20 20 20 20 ABSOLUTE..
000180: 20 20 47 52 41 20 54 45 53 54 0D 0A 20 20 20 20 GRA TEST..
000190: 20 20 20 47 52 41 20 54 45 53 54 20 52 45 4C 41 GRA TEST RELA
0001A0: 54 49 56 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A TIVE............
0001B0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 ...... AMS
0001C0: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
0001D0: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 FIRMWARE
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 20 20 20 20 20 70 61 67 65 20 31 35 page 15
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 38 31 3A 20 47 52 41 20 54 45 53 54 20 81: GRA TEST
000020: 52 45 4C 41 54 49 56 45 20 20 20 20 20 20 20 20 RELATIVE
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 42 46 33 0D 0A 0D 0A 0D 0A 20 #BBF3......
000060: 20 20 20 20 20 20 54 65 73 74 20 61 20 70 6F 69 Test a poi
000070: 6E 74 20 72 65 6C 61 74 69 76 65 20 74 6F 20 74 nt relative to t
000080: 68 65 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 he current posit
000090: 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ion.......
0000A0: 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 Action:......
0000B0: 20 20 20 20 20 54 68 65 20 63 75 72 72 65 6E 74 The current
0000C0: 20 67 72 61 70 68 69 63 73 20 70 6F 73 69 74 69 graphics positi
0000D0: 6F 6E 20 69 73 20 6D 6F 76 65 64 20 74 6F 20 74 on is moved to t
0000E0: 68 65 20 70 6F 73 69 74 69 6F 6E 20 73 75 70 70 he position supp
0000F0: 6C 69 65 64 2E 20 49 66 20 69 74 0D 0A 20 20 20 lied. If it..
000100: 20 20 20 20 6C 69 65 73 20 69 6E 73 69 64 65 20 lies inside
000110: 74 68 65 20 67 72 61 70 68 69 63 73 20 77 69 6E the graphics win
000120: 64 6F 77 20 74 68 65 6E 20 74 68 65 20 70 69 78 dow then the pix
000130: 65 6C 20 69 73 20 72 65 61 64 20 66 72 6F 6D 20 el is read from
000140: 74 68 65 20 73 63 72 65 65 6E 0D 0A 20 20 20 20 the screen..
000150: 20 20 20 61 6E 64 20 74 68 65 20 69 6E 6B 20 69 and the ink i
000160: 74 20 69 73 20 73 65 74 20 74 6F 20 69 73 20 64 t is set to is d
000170: 65 63 6F 64 65 64 20 61 6E 64 20 72 65 74 75 72 ecoded and retur
000180: 6E 65 64 2E 20 49 66 20 74 68 65 20 20 70 6F 73 ned. If the pos
000190: 69 74 69 6F 6E 20 20 69 73 0D 0A 20 20 20 20 20 ition is..
0001A0: 20 20 6F 75 74 73 69 64 65 20 74 68 65 20 67 72 outside the gr
0001B0: 61 70 68 69 63 73 20 77 69 6E 64 6F 77 20 74 68 aphics window th
0001C0: 65 6E 20 74 68 65 20 63 75 72 72 65 6E 74 20 70 en the current p
0001D0: 61 70 65 72 20 69 6E 6B 20 69 73 20 72 65 74 75 aper ink is retu
0001E0: 72 6E 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 rned.......
0001F0: 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F Entry conditio
Size : 512 (Real : 512)
000000: 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns:......
000010: 44 45 20 63 6F 6E 74 61 69 6E 73 20 61 20 73 69 DE contains a si
000020: 67 6E 65 64 20 58 20 6F 66 66 73 65 74 2E 0D 0A gned X offset...
000030: 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 HL contai
000040: 6E 73 20 61 20 73 69 67 6E 65 64 20 59 20 6F 66 ns a signed Y of
000050: 66 73 65 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 fset.......
000060: 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E Exit condition
000070: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 s:...... A
000080: 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 69 6E contains the in
000090: 6B 20 6F 66 20 74 68 65 20 73 70 65 63 69 66 69 k of the specifi
0000A0: 65 64 20 70 6F 69 6E 74 20 28 6F 72 20 74 68 65 ed point (or the
0000B0: 20 67 72 61 70 68 69 63 73 20 70 61 70 65 72 20 graphics paper
0000C0: 69 6E 6B 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ink).......
0000D0: 20 20 42 43 2C 44 45 2C 48 4C 20 61 6E 64 20 66 BC,DE,HL and f
0000E0: 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 lags corrupt...
0000F0: 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 All other
000100: 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 registers preser
000110: 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ved.......
000120: 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 Notes:......
000130: 20 20 20 20 54 68 65 20 70 6F 73 69 74 69 6F 6E The position
000140: 20 74 6F 20 74 65 73 74 20 69 73 20 67 69 76 65 to test is give
000150: 6E 20 69 6E 20 72 65 6C 61 74 69 76 65 20 63 6F n in relative co
000160: 6F 72 64 69 6E 61 74 65 73 2E 20 20 69 2E 65 2E ordinates. i.e.
000170: 20 20 52 65 6C 61 74 69 76 65 0D 0A 20 20 20 20 Relative..
000180: 20 20 20 74 6F 20 74 68 65 20 63 75 72 72 65 6E to the curren
000190: 74 20 67 72 61 70 68 69 63 73 20 70 6F 73 69 74 t graphics posit
0001A0: 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ion.......
0001B0: 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 63 61 This routine ca
0001C0: 6C 6C 73 20 74 68 65 20 47 52 41 20 54 45 53 54 lls the GRA TEST
0001D0: 20 69 6E 64 69 72 65 63 74 69 6F 6E 20 74 6F 20 indirection to
0001E0: 74 65 73 74 20 74 68 65 20 70 6F 69 6E 74 2E 20 test the point.
0001F0: 49 6E 20 20 69 74 73 0D 0A 20 20 20 20 20 20 20 In its..
Size : 512 (Real : 512)
000000: 74 75 72 6E 20 47 52 41 20 54 45 53 54 20 63 61 turn GRA TEST ca
000010: 6C 6C 73 20 74 68 65 20 53 43 52 20 52 45 41 44 lls the SCR READ
000020: 20 69 6E 64 69 72 65 63 74 69 6F 6E 20 74 6F 20 indirection to
000030: 74 65 73 74 20 74 68 65 20 70 69 78 65 6C 20 28 test the pixel (
000040: 69 66 20 20 69 74 0D 0A 20 20 20 20 20 20 20 69 if it.. i
000050: 73 20 69 6E 20 74 68 65 20 77 69 6E 64 6F 77 29 s in the window)
000060: 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000070: 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A Related entries:
000080: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 ...... GRA
000090: 20 50 4C 4F 54 20 52 45 4C 41 54 49 56 45 0D 0A PLOT RELATIVE..
0000A0: 20 20 20 20 20 20 20 47 52 41 20 54 45 53 54 0D GRA TEST.
0000B0: 0A 20 20 20 20 20 20 20 47 52 41 20 54 45 53 54 . GRA TEST
0000C0: 20 41 42 53 4F 4C 55 54 45 0D 0A 0D 0A 0D 0A 0D ABSOLUTE.......
0000D0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
0000E0: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
0000F0: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
000100: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 pa
000120: 67 65 20 31 35 2E 38 35 0D 0A 0D 0A 0D 0A 0D 0A ge 15.85........
000130: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 38 32 3A ...... 82:
000140: 20 47 52 41 20 4C 49 4E 45 20 41 42 53 4F 4C 55 GRA LINE ABSOLU
000150: 54 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 TE
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 #B
000180: 42 46 36 0D 0A 0D 0A 20 20 20 20 20 20 20 44 72 BF6.... Dr
000190: 61 77 20 61 20 6C 69 6E 65 20 74 6F 20 61 6E 20 aw a line to an
0001A0: 61 62 73 6F 6C 75 74 65 20 70 6F 73 69 74 69 6F absolute positio
0001B0: 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 n..... Act
0001C0: 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 4D ion:.... M
0001D0: 6F 76 65 20 74 68 65 20 63 75 72 72 65 6E 74 20 ove the current
0001E0: 67 72 61 70 68 69 63 73 20 20 70 6F 73 69 74 69 graphics positi
0001F0: 6F 6E 20 20 74 6F 20 20 74 68 65 20 20 65 6E 64 on to the end
Size : 512 (Real : 512)
000000: 70 6F 69 6E 74 20 20 73 75 70 70 6C 69 65 64 2E point supplied.
000010: 20 20 41 6C 6C 0D 0A 20 20 20 20 20 20 20 70 6F All.. po
000020: 69 6E 74 73 20 62 65 74 77 65 65 6E 20 74 68 69 ints between thi
000030: 73 20 70 6F 73 69 74 69 6F 6E 20 61 6E 64 20 74 s position and t
000040: 68 65 20 70 72 65 76 69 6F 75 73 20 67 72 61 70 he previous grap
000050: 68 69 63 73 20 20 70 6F 73 69 74 69 6F 6E 20 20 hics position
000060: 74 68 61 74 0D 0A 20 20 20 20 20 20 20 6C 69 65 that.. lie
000070: 20 69 6E 73 69 64 65 20 74 68 65 20 67 72 61 70 inside the grap
000080: 68 69 63 73 20 77 69 6E 64 6F 77 20 6D 61 79 20 hics window may
000090: 62 65 20 70 6C 6F 74 74 65 64 2E 20 50 6F 69 6E be plotted. Poin
0000A0: 74 73 20 74 68 61 74 20 6C 69 65 20 6F 75 74 73 ts that lie outs
0000B0: 69 64 65 0D 0A 20 20 20 20 20 20 20 74 68 65 20 ide.. the
0000C0: 67 72 61 70 68 69 63 73 20 77 69 6E 64 6F 77 20 graphics window
0000D0: 61 72 65 20 69 67 6E 6F 72 65 64 2E 0D 0A 0D 0A are ignored.....
0000E0: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
0000F0: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 ditions:....
000100: 20 20 20 44 45 20 63 6F 6E 74 61 69 6E 73 20 74 DE contains t
000110: 68 65 20 75 73 65 72 20 58 20 63 6F 6F 72 64 69 he user X coordi
000120: 6E 61 74 65 20 6F 66 20 74 68 65 20 65 6E 64 70 nate of the endp
000130: 6F 69 6E 74 2E 0D 0A 20 20 20 20 20 20 20 48 4C oint... HL
000140: 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 75 73 contains the us
000150: 65 72 20 59 20 63 6F 6F 72 64 69 6E 61 74 65 20 er Y coordinate
000160: 6F 66 20 74 68 65 20 65 6E 64 70 6F 69 6E 74 2E of the endpoint.
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
000180: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 conditions:....
000190: 20 20 20 20 20 20 41 46 2C 42 43 2C 44 45 20 61 AF,BC,DE a
0001A0: 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A nd HL corrupt...
0001B0: 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 All other
0001C0: 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 registers prese
0001D0: 72 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 rved.....
0001E0: 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 Notes:....
0001F0: 20 54 68 65 20 70 6F 73 69 74 69 6F 6E 20 6F 66 The position of
Size : 512 (Real : 512)
000000: 20 74 68 65 20 65 6E 64 20 6F 66 20 74 68 65 20 the end of the
000010: 6C 69 6E 65 20 69 73 20 67 69 76 65 6E 20 69 6E line is given in
000020: 20 75 73 65 72 20 63 6F 6F 72 64 69 6E 61 74 65 user coordinate
000030: 73 2E 20 69 2E 65 2E 0D 0A 20 20 20 20 20 20 20 s. i.e...
000040: 52 65 6C 61 74 69 76 65 20 74 6F 20 74 68 65 20 Relative to the
000050: 75 73 65 72 20 6F 72 69 67 69 6E 2E 0D 0A 0D 0A user origin.....
000060: 20 20 20 20 20 20 20 49 6E 20 56 31 2E 30 20 66 In V1.0 f
000070: 69 72 6D 77 61 72 65 20 74 68 65 20 70 6F 69 6E irmware the poin
000080: 74 73 20 77 69 6C 6C 20 62 65 20 70 6C 6F 74 74 ts will be plott
000090: 65 64 20 69 6E 20 20 74 68 65 20 20 63 75 72 72 ed in the curr
0000A0: 65 6E 74 20 20 67 72 61 70 68 69 63 73 0D 0A 20 ent graphics..
0000B0: 20 20 20 20 20 20 70 65 6E 20 69 6E 6B 20 75 73 pen ink us
0000C0: 69 6E 67 20 74 68 65 20 63 75 72 72 65 6E 74 20 ing the current
0000D0: 67 72 61 70 68 69 63 73 20 77 72 69 74 65 20 6D graphics write m
0000E0: 6F 64 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 ode..... I
0000F0: 6E 20 56 31 2E 31 20 66 69 72 6D 77 61 72 65 20 n V1.1 firmware
000100: 74 68 65 20 73 65 74 74 69 6E 67 20 6F 66 20 20 the setting of
000110: 74 68 65 20 20 6C 69 6E 65 20 20 6D 61 73 6B 20 the line mask
000120: 20 64 65 74 65 72 6D 69 6E 65 73 20 20 68 6F 77 determines how
000130: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 70 69 the.. pi
000140: 78 65 6C 73 20 6F 6E 20 74 68 65 20 6C 69 6E 65 xels on the line
000150: 20 77 69 6C 6C 20 62 65 20 70 6C 6F 74 74 65 64 will be plotted
000160: 2E 20 54 68 65 20 6C 69 6E 65 20 6D 61 73 6B 20 . The line mask
000170: 69 73 20 20 62 69 74 20 20 73 69 67 6E 69 66 69 is bit signifi
000180: 63 61 6E 74 0D 0A 20 20 20 20 20 20 20 61 6E 64 cant.. and
000190: 20 69 73 20 75 73 65 64 20 72 65 70 65 61 74 65 is used repeate
0001A0: 64 6C 79 20 69 6E 20 74 68 65 20 6F 72 64 65 72 dly in the order
0001B0: 20 62 69 74 20 37 2C 20 62 69 74 20 36 20 64 6F bit 7, bit 6 do
0001C0: 77 6E 20 20 74 6F 20 20 62 69 74 20 20 30 20 20 wn to bit 0
0001D0: 66 6F 72 0D 0A 20 20 20 20 20 20 20 65 61 63 68 for.. each
0001E0: 20 70 69 78 65 6C 20 69 6E 20 74 68 65 20 6C 69 pixel in the li
0001F0: 6E 65 2E 20 49 66 20 74 68 65 20 62 69 74 20 69 ne. If the bit i
Size : 512 (Real : 512)
000000: 73 20 6F 6E 65 20 74 68 65 6E 20 74 68 65 20 70 s one then the p
000010: 69 78 65 6C 20 69 73 20 70 6C 6F 74 74 65 64 20 ixel is plotted
000020: 69 6E 0D 0A 20 20 20 20 20 20 20 74 68 65 20 67 in.. the g
000030: 72 61 70 68 69 63 73 20 70 65 6E 20 69 6E 6B 20 raphics pen ink
000040: 75 73 69 6E 67 20 74 68 65 20 63 75 72 72 65 6E using the curren
000050: 74 20 67 72 61 70 68 69 63 73 20 77 72 69 74 65 t graphics write
000060: 20 6D 6F 64 65 2E 20 49 66 20 74 68 65 20 62 69 mode. If the bi
000070: 74 0D 0A 20 20 20 20 20 20 20 69 73 20 7A 65 72 t.. is zer
000080: 6F 20 74 68 65 6E 20 74 68 65 20 61 63 74 69 6F o then the actio
000090: 6E 20 64 65 70 65 6E 64 73 20 6F 6E 20 74 68 65 n depends on the
0000A0: 20 67 72 61 70 68 69 63 73 20 62 61 63 6B 67 72 graphics backgr
0000B0: 6F 75 6E 64 20 77 72 69 74 65 20 6D 6F 64 65 2E ound write mode.
0000C0: 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 .. If the
0000D0: 62 61 63 6B 67 72 6F 75 6E 64 20 6D 6F 64 65 20 background mode
0000E0: 69 73 20 6F 70 61 71 75 65 20 74 68 65 6E 20 74 is opaque then t
0000F0: 68 65 20 20 70 69 78 65 6C 20 20 69 73 20 20 70 he pixel is p
000100: 6C 6F 74 74 65 64 20 20 69 6E 20 20 74 68 65 0D lotted in the.
000110: 0A 20 20 20 20 20 20 20 67 72 61 70 68 69 63 73 . graphics
000120: 20 70 61 70 65 72 20 69 6E 6B 20 75 73 69 6E 67 paper ink using
000130: 20 74 68 65 20 20 63 75 72 72 65 6E 74 20 20 67 the current g
000140: 72 61 70 68 69 63 73 20 20 77 72 69 74 65 20 20 raphics write
000150: 6D 6F 64 65 2E 20 20 49 66 20 20 74 68 65 0D 0A mode. If the..
000160: 20 20 20 20 20 20 20 62 61 63 6B 67 72 6F 75 6E backgroun
000170: 64 20 6D 6F 64 65 20 69 73 20 74 72 61 6E 73 70 d mode is transp
000180: 61 72 65 6E 74 20 74 68 65 6E 20 74 68 65 20 70 arent then the p
000190: 69 78 65 6C 20 69 73 20 6E 6F 74 20 70 6C 6F 74 ixel is not plot
0001A0: 74 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 ted..... I
0001B0: 6E 20 56 31 2E 31 20 66 69 72 6D 77 61 72 65 20 n V1.1 firmware
0001C0: 74 68 65 20 66 69 72 73 74 20 70 69 78 65 6C 20 the first pixel
0001D0: 6F 66 20 74 68 65 20 6C 69 6E 65 20 20 28 74 68 of the line (th
0001E0: 61 74 20 20 61 74 20 20 74 68 65 20 20 70 72 65 at at the pre
0001F0: 76 69 6F 75 73 0D 0A 20 20 20 20 20 20 20 67 72 vious.. gr
Size : 512 (Real : 512)
000000: 61 70 68 69 63 73 20 70 6F 73 69 74 69 6F 6E 29 aphics position)
000010: 20 69 73 20 6E 6F 74 20 70 6C 6F 74 74 65 64 20 is not plotted
000020: 69 66 20 74 68 65 20 66 69 72 73 74 20 70 6F 69 if the first poi
000030: 6E 74 20 70 6C 6F 74 74 69 6E 67 20 6D 6F 64 65 nt plotting mode
000040: 20 20 69 73 0D 0A 20 20 20 20 20 20 20 73 65 74 is.. set
000050: 20 66 61 6C 73 65 2E 0D 0A 0D 0A 20 20 20 20 20 false.....
000060: 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 63 This routine c
000070: 61 6C 6C 73 20 74 68 65 20 47 52 41 20 4C 49 4E alls the GRA LIN
000080: 45 20 69 6E 64 69 72 65 63 74 69 6F 6E 20 74 6F E indirection to
000090: 20 64 72 61 77 20 74 68 65 20 6C 69 6E 65 2E 20 draw the line.
0000A0: 20 49 6E 20 20 69 74 73 0D 0A 20 20 20 20 20 20 In its..
0000B0: 20 74 75 72 6E 20 47 52 41 20 4C 49 4E 45 20 63 turn GRA LINE c
0000C0: 61 6C 6C 73 20 74 68 65 20 53 43 52 20 57 52 49 alls the SCR WRI
0000D0: 54 45 20 69 6E 64 69 72 65 63 74 69 6F 6E 20 74 TE indirection t
0000E0: 6F 20 77 72 69 74 65 20 74 68 65 20 70 69 78 65 o write the pixe
0000F0: 6C 73 20 28 66 6F 72 0D 0A 20 20 20 20 20 20 20 ls (for..
000100: 70 69 78 65 6C 73 20 69 6E 20 74 68 65 20 67 72 pixels in the gr
000110: 61 70 68 69 63 73 20 77 69 6E 64 6F 77 29 2E 0D aphics window)..
000120: 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 ... Relate
000130: 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 20 20 d entries:....
000140: 20 20 20 20 20 47 52 41 20 4C 49 4E 45 0D 0A 20 GRA LINE..
000150: 20 20 20 20 20 20 47 52 41 20 4C 49 4E 45 20 52 GRA LINE R
000160: 45 4C 41 54 49 56 45 0D 0A 20 20 20 20 20 20 20 ELATIVE..
000170: 47 52 41 20 53 45 54 20 42 41 43 4B 0D 0A 20 20 GRA SET BACK..
000180: 20 20 20 20 20 47 52 41 20 53 45 54 20 46 49 52 GRA SET FIR
000190: 53 54 0D 0A 20 20 20 20 20 20 20 47 52 41 20 53 ST.. GRA S
0001A0: 45 54 20 4C 49 4E 45 20 4D 41 53 4B 0D 0A 0D 0A ET LINE MASK....
0001B0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
0001C0: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
0001D0: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 20 page
Size : 512 (Real : 512)
000000: 31 35 2E 38 36 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 15.86...........
000010: 0A 0D 0A 20 20 20 20 20 20 20 38 33 3A 20 47 52 ... 83: GR
000020: 41 20 4C 49 4E 45 20 52 45 4C 41 54 49 56 45 20 A LINE RELATIVE
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 20 20 20 20 20 20 20 23 42 42 46 39 #BBF9
000060: 0D 0A 0D 0A 20 20 20 20 20 20 20 44 72 61 77 20 .... Draw
000070: 61 20 6C 69 6E 65 20 72 65 6C 61 74 69 76 65 20 a line relative
000080: 74 6F 20 74 68 65 20 63 75 72 72 65 6E 74 20 70 to the current p
000090: 6F 73 69 74 69 6F 6E 2E 0D 0A 0D 0A 20 20 20 20 osition.....
0000A0: 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 Action:....
0000B0: 20 20 20 20 20 4D 6F 76 65 20 74 68 65 20 63 75 Move the cu
0000C0: 72 72 65 6E 74 20 67 72 61 70 68 69 63 73 20 20 rrent graphics
0000D0: 70 6F 73 69 74 69 6F 6E 20 20 74 6F 20 20 74 68 position to th
0000E0: 65 20 20 65 6E 64 70 6F 69 6E 74 20 20 73 75 70 e endpoint sup
0000F0: 70 6C 69 65 64 2E 20 20 41 6C 6C 0D 0A 20 20 20 plied. All..
000100: 20 20 20 20 70 6F 69 6E 74 73 20 62 65 74 77 65 points betwe
000110: 65 6E 20 74 68 69 73 20 70 6F 73 69 74 69 6F 6E en this position
000120: 20 61 6E 64 20 74 68 65 20 70 72 65 76 69 6F 75 and the previou
000130: 73 20 67 72 61 70 68 69 63 73 20 20 70 6F 73 69 s graphics posi
000140: 74 69 6F 6E 20 20 74 68 61 74 0D 0A 20 20 20 20 tion that..
000150: 20 20 20 6C 69 65 20 69 6E 73 69 64 65 20 74 68 lie inside th
000160: 65 20 67 72 61 70 68 69 63 73 20 77 69 6E 64 6F e graphics windo
000170: 77 20 6D 61 79 20 62 65 20 70 6C 6F 74 74 65 64 w may be plotted
000180: 2E 20 50 6F 69 6E 74 73 20 74 68 61 74 20 6C 69 . Points that li
000190: 65 20 6F 75 74 73 69 64 65 0D 0A 20 20 20 20 20 e outside..
0001A0: 20 20 74 68 65 20 67 72 61 70 68 69 63 73 20 77 the graphics w
0001B0: 69 6E 64 6F 77 20 61 72 65 20 69 67 6E 6F 72 65 indow are ignore
0001C0: 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 d..... Ent
0001D0: 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A ry conditions:..
0001E0: 0D 0A 20 20 20 20 20 20 20 44 45 20 63 6F 6E 74 .. DE cont
0001F0: 61 69 6E 73 20 74 68 65 20 73 69 67 6E 65 64 20 ains the signed
Size : 512 (Real : 512)
000000: 58 20 6F 66 66 73 65 74 20 6F 66 20 74 68 65 20 X offset of the
000010: 65 6E 64 70 6F 69 6E 74 2E 0D 0A 20 20 20 20 20 endpoint...
000020: 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 HL contains th
000030: 65 20 73 69 67 6E 65 64 20 59 20 6F 66 66 73 65 e signed Y offse
000040: 74 20 6F 66 20 74 68 65 20 65 6E 64 70 6F 69 6E t of the endpoin
000050: 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 t..... Exi
000060: 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D t conditions:...
000070: 0A 20 20 20 20 20 20 20 41 46 2C 42 43 2C 44 45 . AF,BC,DE
000080: 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E and HL corrupt.
000090: 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 .. All oth
0000A0: 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 er registers pre
0000B0: 73 65 72 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 served.....
0000C0: 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 Notes:....
0000D0: 20 20 20 54 68 65 20 70 6F 73 69 74 69 6F 6E 20 The position
0000E0: 6F 66 20 74 68 65 20 65 6E 64 20 6F 66 20 74 68 of the end of th
0000F0: 65 20 6C 69 6E 65 20 69 73 20 67 69 76 65 6E 20 e line is given
000100: 69 6E 20 72 65 6C 61 74 69 76 65 20 20 63 6F 6F in relative coo
000110: 72 64 69 6E 61 74 65 73 2E 0D 0A 20 20 20 20 20 rdinates...
000120: 20 20 69 2E 65 2E 20 52 65 6C 61 74 69 76 65 20 i.e. Relative
000130: 74 6F 20 74 68 65 20 63 75 72 72 65 6E 74 20 67 to the current g
000140: 72 61 70 68 69 63 73 20 70 6F 73 69 74 69 6F 6E raphics position
000150: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 6E 20 56 ..... In V
000160: 31 2E 30 20 66 69 72 6D 77 61 72 65 20 74 68 65 1.0 firmware the
000170: 20 70 6F 69 6E 74 73 20 77 69 6C 6C 20 62 65 20 points will be
000180: 70 6C 6F 74 74 65 64 20 69 6E 20 20 74 68 65 20 plotted in the
000190: 20 63 75 72 72 65 6E 74 20 20 67 72 61 70 68 69 current graphi
0001A0: 63 73 0D 0A 20 20 20 20 20 20 20 70 65 6E 20 69 cs.. pen i
0001B0: 6E 6B 20 75 73 69 6E 67 20 74 68 65 20 63 75 72 nk using the cur
0001C0: 72 65 6E 74 20 67 72 61 70 68 69 63 73 20 77 72 rent graphics wr
0001D0: 69 74 65 20 6D 6F 64 65 2E 0D 0A 0D 0A 20 20 20 ite mode.....
0001E0: 20 20 20 20 49 6E 20 56 31 2E 31 20 66 69 72 6D In V1.1 firm
0001F0: 77 61 72 65 20 74 68 65 20 73 65 74 74 69 6E 67 ware the setting
Size : 512 (Real : 512)
000000: 20 6F 66 20 20 74 68 65 20 20 6C 69 6E 65 20 20 of the line
000010: 6D 61 73 6B 20 20 64 65 74 65 72 6D 69 6E 65 73 mask determines
000020: 20 20 68 6F 77 20 20 74 68 65 0D 0A 20 20 20 20 how the..
000030: 20 20 20 70 69 78 65 6C 73 20 6F 6E 20 74 68 65 pixels on the
000040: 20 6C 69 6E 65 20 77 69 6C 6C 20 62 65 20 70 6C line will be pl
000050: 6F 74 74 65 64 2E 20 54 68 65 20 6C 69 6E 65 20 otted. The line
000060: 6D 61 73 6B 20 69 73 20 20 62 69 74 20 20 73 69 mask is bit si
000070: 67 6E 69 66 69 63 61 6E 74 0D 0A 20 20 20 20 20 gnificant..
000080: 20 20 61 6E 64 20 69 73 20 75 73 65 64 20 72 65 and is used re
000090: 70 65 61 74 65 64 6C 79 20 69 6E 20 74 68 65 20 peatedly in the
0000A0: 6F 72 64 65 72 20 62 69 74 20 37 2C 20 62 69 74 order bit 7, bit
0000B0: 20 36 20 64 6F 77 6E 20 20 74 6F 20 20 62 69 74 6 down to bit
0000C0: 20 20 30 20 20 66 6F 72 0D 0A 20 20 20 20 20 20 0 for..
0000D0: 20 65 61 63 68 20 70 69 78 65 6C 20 69 6E 20 74 each pixel in t
0000E0: 68 65 20 6C 69 6E 65 2E 20 49 66 20 74 68 65 20 he line. If the
0000F0: 62 69 74 20 69 73 20 6F 6E 65 20 74 68 65 6E 20 bit is one then
000100: 74 68 65 20 70 69 78 65 6C 20 69 73 20 70 6C 6F the pixel is plo
000110: 74 74 65 64 20 69 6E 0D 0A 20 20 20 20 20 20 20 tted in..
000120: 74 68 65 20 67 72 61 70 68 69 63 73 20 70 65 6E the graphics pen
000130: 20 69 6E 6B 20 75 73 69 6E 67 20 74 68 65 20 63 ink using the c
000140: 75 72 72 65 6E 74 20 67 72 61 70 68 69 63 73 20 urrent graphics
000150: 77 72 69 74 65 20 6D 6F 64 65 2E 20 49 66 20 74 write mode. If t
000160: 68 65 20 62 69 74 0D 0A 20 20 20 20 20 20 20 69 he bit.. i
000170: 73 20 7A 65 72 6F 20 74 68 65 6E 20 74 68 65 20 s zero then the
000180: 61 63 74 69 6F 6E 20 64 65 70 65 6E 64 73 20 6F action depends o
000190: 6E 20 74 68 65 20 67 72 61 70 68 69 63 73 20 62 n the graphics b
0001A0: 61 63 6B 67 72 6F 75 6E 64 20 77 72 69 74 65 20 ackground write
0001B0: 6D 6F 64 65 2E 0D 0A 20 20 20 20 20 20 20 49 66 mode... If
0001C0: 20 74 68 65 20 62 61 63 6B 67 72 6F 75 6E 64 20 the background
0001D0: 6D 6F 64 65 20 69 73 20 6F 70 61 71 75 65 20 74 mode is opaque t
0001E0: 68 65 6E 20 74 68 65 20 20 70 69 78 65 6C 20 20 hen the pixel
0001F0: 69 73 20 20 70 6C 6F 74 74 65 64 20 20 69 6E 20 is plotted in
Size : 512 (Real : 512)
000000: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 67 72 61 the.. gra
000010: 70 68 69 63 73 20 70 61 70 65 72 20 69 6E 6B 20 phics paper ink
000020: 75 73 69 6E 67 20 74 68 65 20 20 63 75 72 72 65 using the curre
000030: 6E 74 20 20 67 72 61 70 68 69 63 73 20 20 77 72 nt graphics wr
000040: 69 74 65 20 20 6D 6F 64 65 2E 20 20 49 66 20 20 ite mode. If
000050: 74 68 65 0D 0A 20 20 20 20 20 20 20 62 61 63 6B the.. back
000060: 67 72 6F 75 6E 64 20 6D 6F 64 65 20 69 73 20 74 ground mode is t
000070: 72 61 6E 73 70 61 72 65 6E 74 20 74 68 65 6E 20 ransparent then
000080: 74 68 65 20 70 69 78 65 6C 20 69 73 20 6E 6F 74 the pixel is not
000090: 20 70 6C 6F 74 74 65 64 2E 0D 0A 0D 0A 20 20 20 plotted.....
0000A0: 20 20 20 20 49 6E 20 56 31 2E 31 20 66 69 72 6D In V1.1 firm
0000B0: 77 61 72 65 20 74 68 65 20 66 69 72 73 74 20 70 ware the first p
0000C0: 69 78 65 6C 20 6F 66 20 74 68 65 20 6C 69 6E 65 ixel of the line
0000D0: 20 20 28 74 68 61 74 20 20 61 74 20 20 74 68 65 (that at the
0000E0: 20 20 70 72 65 76 69 6F 75 73 0D 0A 20 20 20 20 previous..
0000F0: 20 20 20 67 72 61 70 68 69 63 73 20 70 6F 73 69 graphics posi
000100: 74 69 6F 6E 29 20 69 73 20 6E 6F 74 20 70 6C 6F tion) is not plo
000110: 74 74 65 64 20 69 66 20 74 68 65 20 66 69 72 73 tted if the firs
000120: 74 20 70 6F 69 6E 74 20 70 6C 6F 74 74 69 6E 67 t point plotting
000130: 20 6D 6F 64 65 20 20 69 73 0D 0A 20 20 20 20 20 mode is..
000140: 20 20 73 65 74 20 66 61 6C 73 65 2E 0D 0A 0D 0A set false.....
000150: 20 20 20 20 20 20 20 54 68 69 73 20 72 6F 75 74 This rout
000160: 69 6E 65 20 63 61 6C 6C 73 20 74 68 65 20 47 52 ine calls the GR
000170: 41 20 4C 49 4E 45 20 69 6E 64 69 72 65 63 74 69 A LINE indirecti
000180: 6F 6E 20 74 6F 20 64 72 61 77 20 74 68 65 20 6C on to draw the l
000190: 69 6E 65 2E 20 20 49 6E 20 20 69 74 73 0D 0A 20 ine. In its..
0001A0: 20 20 20 20 20 20 74 75 72 6E 20 47 52 41 20 4C turn GRA L
0001B0: 49 4E 45 20 63 61 6C 6C 73 20 74 68 65 20 53 43 INE calls the SC
0001C0: 52 20 57 52 49 54 45 20 69 6E 64 69 72 65 63 74 R WRITE indirect
0001D0: 69 6F 6E 20 74 6F 20 77 72 69 74 65 20 74 68 65 ion to write the
0001E0: 20 70 69 78 65 6C 73 20 28 66 6F 72 0D 0A 20 20 pixels (for..
0001F0: 20 20 20 20 20 70 69 78 65 6C 73 20 69 6E 20 74 pixels in t
Size : 512 (Real : 512)
000000: 68 65 20 67 72 61 70 68 69 63 73 20 77 69 6E 64 he graphics wind
000010: 6F 77 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ow).......
000020: 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 Related entries
000030: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 20 :.... GRA
000040: 4C 49 4E 45 0D 0A 20 20 20 20 20 20 20 47 52 41 LINE.. GRA
000050: 20 4C 49 4E 45 20 41 42 53 4F 4C 55 54 45 0D 0A LINE ABSOLUTE..
000060: 20 20 20 20 20 20 20 47 52 41 20 53 45 54 20 42 GRA SET B
000070: 41 43 4B 0D 0A 20 20 20 20 20 20 20 47 52 41 20 ACK.. GRA
000080: 53 45 54 20 46 49 52 53 54 0D 0A 20 20 20 20 20 SET FIRST..
000090: 20 20 47 52 41 20 53 45 54 20 4C 49 4E 45 20 4D GRA SET LINE M
0000A0: 41 53 4B 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 ASK..........
0000B0: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
0000C0: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
0000D0: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 70 61 67 65 20 31 35 2E 38 37 0D 0A 0D 0A 0D 0A page 15.87......
000100: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 38 ........ 8
000110: 34 3A 20 47 52 41 20 57 52 20 43 48 41 52 20 20 4: GRA WR CHAR
000120: 20 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 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 23 42 42 46 43 0D 0A 0D 0A 0D 0A 20 20 20 20 20 #BBFC......
000160: 20 20 50 75 74 20 61 20 63 68 61 72 61 63 74 65 Put a characte
000170: 72 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 20 r on the screen
000180: 61 74 20 74 68 65 20 63 75 72 72 65 6E 74 20 67 at the current g
000190: 72 61 70 68 69 63 73 20 70 6F 73 69 74 69 6F 6E raphics position
0001A0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 ....... Ac
0001B0: 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 tion:......
0001C0: 20 20 57 72 69 74 65 20 61 20 63 68 61 72 61 63 Write a charac
0001D0: 74 65 72 20 6F 6E 20 74 68 65 20 73 63 72 65 65 ter on the scree
0001E0: 6E 20 61 74 20 74 68 65 20 63 75 72 72 65 6E 74 n at the current
0001F0: 20 67 72 61 70 68 69 63 73 20 70 6F 73 69 74 69 graphics positi
Size : 512 (Real : 512)
000000: 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 on.......
000010: 45 6E 74 72 79 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 Entry:......
000020: 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 A contains th
000030: 65 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 77 e character to w
000040: 72 69 74 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 rite.......
000050: 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E Exit condition
000060: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 s:...... A
000070: 46 2C 42 43 2C 44 45 20 61 6E 64 20 48 4C 20 63 F,BC,DE and HL c
000080: 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 orrupt...
000090: 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 All other regist
0000A0: 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A ers preserved...
0000B0: 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 .... Notes
0000C0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 :...... Th
0000D0: 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 77 e character is w
0000E0: 72 69 74 74 65 6E 20 77 69 74 68 20 69 74 73 20 ritten with its
0000F0: 74 6F 70 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 top left corner
000100: 20 62 65 69 6E 67 20 20 74 68 65 20 20 63 75 72 being the cur
000110: 72 65 6E 74 0D 0A 20 20 20 20 20 20 20 67 72 61 rent.. gra
000120: 70 68 69 63 73 20 70 6F 73 69 74 69 6F 6E 2E 0D phics position..
000130: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 ..... All
000140: 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 70 characters are p
000150: 72 69 6E 74 65 64 2C 20 65 76 65 6E 20 63 6F 6E rinted, even con
000160: 74 72 6F 6C 20 63 6F 64 65 73 20 28 63 68 61 72 trol codes (char
000170: 61 63 74 65 72 73 20 23 30 30 2E 2E 23 31 46 29 acters #00..#1F)
000180: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ....... Th
000190: 65 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 69 e current positi
0001A0: 6F 6E 20 69 73 20 6D 6F 76 65 64 20 72 69 67 68 on is moved righ
0001B0: 74 20 62 79 20 20 74 68 65 20 20 77 69 64 74 68 t by the width
0001C0: 20 20 6F 66 20 20 74 68 65 20 20 63 68 61 72 61 of the chara
0001D0: 63 74 65 72 0D 0A 20 20 20 20 20 20 20 28 72 65 cter.. (re
0001E0: 61 64 79 20 66 6F 72 20 61 6E 6F 74 68 65 72 20 ady for another
0001F0: 63 68 61 72 61 63 74 65 72 20 74 6F 20 62 65 20 character to be
Size : 512 (Real : 512)
000000: 77 72 69 74 74 65 6E 29 2E 20 49 6E 20 6D 6F 64 written). In mod
000010: 65 20 30 20 74 68 69 73 20 6D 6F 76 65 20 69 73 e 0 this move is
000020: 20 33 32 0D 0A 20 20 20 20 20 20 20 70 6F 69 6E 32.. poin
000030: 74 73 20 72 69 67 68 74 2C 20 69 6E 20 6D 6F 64 ts right, in mod
000040: 65 20 31 20 74 68 65 20 6D 6F 76 65 20 69 73 20 e 1 the move is
000050: 31 36 20 70 6F 69 6E 74 73 20 72 69 67 68 74 20 16 points right
000060: 61 6E 64 20 69 6E 20 6D 6F 64 65 20 20 32 20 20 and in mode 2
000070: 69 74 0D 0A 20 20 20 20 20 20 20 69 73 20 38 20 it.. is 8
000080: 70 6F 69 6E 74 73 2E 0D 0A 0D 0A 20 20 20 20 20 points.....
000090: 20 20 54 68 65 20 63 68 61 72 61 63 74 65 72 20 The character
0000A0: 77 69 6C 6C 20 62 65 20 70 6C 6F 74 74 65 64 20 will be plotted
0000B0: 69 6E 20 74 68 65 20 67 72 61 70 68 69 63 73 20 in the graphics
0000C0: 70 65 6E 20 69 6E 6B 2E 20 49 6E 20 74 68 65 20 pen ink. In the
0000D0: 63 61 73 65 20 20 6F 66 0D 0A 20 20 20 20 20 20 case of..
0000E0: 20 56 31 2E 30 20 66 69 72 6D 77 61 72 65 2C 20 V1.0 firmware,
0000F0: 56 31 2E 31 20 66 69 72 6D 77 61 72 65 20 77 68 V1.1 firmware wh
000100: 65 6E 20 74 68 65 20 62 61 63 6B 67 72 6F 75 6E en the backgroun
000110: 64 20 77 72 69 74 65 20 6D 6F 64 65 20 69 73 20 d write mode is
000120: 73 65 74 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 set to..
000130: 6F 70 61 71 75 65 2C 20 74 68 65 20 62 61 63 6B opaque, the back
000140: 67 72 6F 75 6E 64 20 20 74 6F 20 20 74 68 65 20 ground to the
000150: 20 63 68 61 72 61 63 74 65 72 20 20 77 69 6C 6C character will
000160: 20 20 62 65 20 20 70 6C 6F 74 74 65 64 20 20 69 be plotted i
000170: 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 67 n the.. g
000180: 72 61 70 68 69 63 73 20 70 61 70 65 72 20 69 6E raphics paper in
000190: 6B 2E 20 49 6E 20 74 68 65 20 63 61 73 65 20 6F k. In the case o
0001A0: 66 20 56 31 2E 31 20 66 69 72 6D 77 61 72 65 20 f V1.1 firmware
0001B0: 77 68 65 6E 20 20 74 68 65 20 20 62 61 63 6B 67 when the backg
0001C0: 72 6F 75 6E 64 0D 0A 20 20 20 20 20 20 20 77 72 round.. wr
0001D0: 69 74 65 20 6D 6F 64 65 20 69 73 20 20 73 65 74 ite mode is set
0001E0: 20 20 74 6F 20 20 74 72 61 6E 73 70 61 72 65 6E to transparen
0001F0: 74 20 20 74 68 65 20 20 62 61 63 6B 67 72 6F 75 t the backgrou
Size : 512 (Real : 512)
000000: 6E 64 20 20 70 69 78 65 6C 73 20 20 61 72 65 20 nd pixels are
000010: 20 6E 6F 74 0D 0A 20 20 20 20 20 20 20 70 6C 6F not.. plo
000020: 74 74 65 64 2E 20 50 69 78 65 6C 73 20 69 6E 20 tted. Pixels in
000030: 74 68 65 20 63 68 61 72 61 63 74 65 72 20 74 68 the character th
000040: 61 74 20 6C 69 65 20 6F 75 74 73 69 64 65 20 74 at lie outside t
000050: 68 65 20 67 72 61 70 68 69 63 73 20 20 77 69 6E he graphics win
000060: 64 6F 77 0D 0A 20 20 20 20 20 20 20 77 69 6C 6C dow.. will
000070: 20 6E 6F 74 20 62 65 20 70 6C 6F 74 74 65 64 2E not be plotted.
000080: 20 54 68 65 20 20 70 69 78 65 6C 73 20 20 61 72 The pixels ar
000090: 65 20 20 70 6C 6F 74 74 65 64 20 20 75 73 69 6E e plotted usin
0000A0: 67 20 20 74 68 65 20 20 53 43 52 20 20 57 52 49 g the SCR WRI
0000B0: 54 45 0D 0A 20 20 20 20 20 20 20 69 6E 64 69 72 TE.. indir
0000C0: 65 63 74 69 6F 6E 20 73 6F 20 74 68 65 79 20 61 ection so they a
0000D0: 72 65 20 77 72 69 74 74 65 6E 20 75 73 69 6E 67 re written using
0000E0: 20 74 68 65 20 63 75 72 72 65 6E 74 20 67 72 61 the current gra
0000F0: 70 68 69 63 73 20 77 72 69 74 65 20 6D 6F 64 65 phics write mode
000100: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
000110: 74 65 64 20 45 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted Entries:....
000120: 20 20 20 20 20 20 20 47 52 41 20 53 45 54 20 42 GRA SET B
000130: 41 43 4B 0D 0A 20 20 20 20 20 20 20 54 58 54 20 ACK.. TXT
000140: 53 45 54 20 47 52 41 50 48 49 43 0D 0A 20 20 20 SET GRAPHIC..
000150: 20 20 20 20 54 58 54 20 57 52 20 43 48 41 52 0D TXT WR CHAR.
000160: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
000170: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
000180: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
000190: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 pa
0001B0: 67 65 20 31 35 2E 38 38 0D 0A 0D 0A 0D 0A 0D 0A ge 15.88........
0001C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 38 35 3A ...... 85:
0001D0: 20 53 43 52 20 49 4E 49 54 49 41 4C 49 53 45 20 SCR INITIALISE
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 20 23 42 #B
000010: 42 46 46 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 BFF......
000020: 49 6E 69 74 69 61 6C 69 7A 65 20 74 68 65 20 53 Initialize the S
000030: 63 72 65 65 6E 20 50 61 63 6B 2E 0D 0A 0D 0A 0D creen Pack......
000040: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
000050: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 46 75 6C 6C ..... Full
000060: 20 69 6E 69 74 69 61 6C 69 7A 61 74 69 6F 6E 20 initialization
000070: 6F 66 20 74 68 65 20 53 63 72 65 65 6E 20 20 50 of the Screen P
000080: 61 63 6B 20 20 28 61 73 20 20 75 73 65 64 20 20 ack (as used
000090: 64 75 72 69 6E 67 20 20 45 4D 53 29 2E 20 20 41 during EMS). A
0000A0: 6C 6C 0D 0A 20 20 20 20 20 20 20 53 63 72 65 65 ll.. Scree
0000B0: 6E 20 50 61 63 6B 20 76 61 72 69 61 62 6C 65 73 n Pack variables
0000C0: 20 20 61 6E 64 20 20 69 6E 64 69 72 65 63 74 69 and indirecti
0000D0: 6F 6E 73 20 20 61 72 65 20 20 69 6E 69 74 69 61 ons are initia
0000E0: 6C 69 7A 65 64 2C 20 20 61 6C 73 6F 20 20 74 68 lized, also th
0000F0: 65 0D 0A 20 20 20 20 20 20 20 73 63 72 65 65 6E e.. screen
000100: 20 6D 6F 64 65 20 61 6E 64 20 74 68 65 20 69 6E mode and the in
000110: 6B 73 20 61 72 65 20 69 6E 69 74 69 61 6C 69 7A ks are initializ
000120: 65 64 20 74 6F 20 74 68 65 69 72 20 64 65 66 61 ed to their defa
000130: 75 6C 74 20 73 65 74 74 69 6E 67 73 2E 0D 0A 0D ult settings....
000140: 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 ... Entry
000150: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
000160: 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 . No condi
000170: 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 tions.......
000180: 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F Exit conditio
000190: 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns:......
0001A0: 41 46 2C 42 43 2C 44 45 20 61 6E 64 20 48 4C 20 AF,BC,DE and HL
0001B0: 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 corrupt...
0001C0: 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 All other regis
0001D0: 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D ters preserved..
0001E0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 ..... Note
0001F0: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 s:...... T
Size : 512 (Real : 512)
000000: 68 65 20 73 63 72 65 65 6E 20 69 6E 64 69 72 65 he screen indire
000010: 63 74 69 6F 6E 73 20 28 53 43 52 20 52 45 41 44 ctions (SCR READ
000020: 2C 20 53 43 52 20 57 52 49 54 45 20 61 6E 64 20 , SCR WRITE and
000030: 53 43 52 20 4D 4F 44 45 20 20 43 4C 45 41 52 29 SCR MODE CLEAR)
000040: 20 20 61 72 65 0D 0A 20 20 20 20 20 20 20 73 65 are.. se
000050: 74 20 74 6F 20 74 68 65 69 72 20 64 65 66 61 75 t to their defau
000060: 6C 74 20 72 6F 75 74 69 6E 65 73 2E 0D 0A 20 20 lt routines...
000070: 20 20 20 20 20 54 68 65 20 69 6E 6B 73 20 61 72 The inks ar
000080: 65 20 73 65 74 20 74 6F 20 74 68 65 69 72 20 64 e set to their d
000090: 65 66 61 75 6C 74 20 63 6F 6C 6F 75 72 73 20 28 efault colours (
0000A0: 73 65 65 20 41 70 70 65 6E 64 69 78 20 56 29 2E see Appendix V).
0000B0: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 69 6E 6B .. The ink
0000C0: 20 66 6C 61 73 68 69 6E 67 20 70 65 72 69 6F 64 flashing period
0000D0: 73 20 61 72 65 20 73 65 74 20 74 6F 20 74 68 65 s are set to the
0000E0: 69 72 20 64 65 66 61 75 6C 74 20 76 61 6C 75 65 ir default value
0000F0: 73 2E 0D 0A 20 20 20 20 20 20 20 54 68 65 20 73 s... The s
000100: 63 72 65 65 6E 20 69 73 20 70 75 74 20 69 6E 74 creen is put int
000110: 6F 20 6D 6F 64 65 20 31 2E 0D 0A 20 20 20 20 20 o mode 1...
000120: 20 20 54 68 65 20 73 63 72 65 65 6E 20 62 61 73 The screen bas
000130: 65 20 69 73 20 73 65 74 20 74 6F 20 70 75 74 20 e is set to put
000140: 74 68 65 20 73 63 72 65 65 6E 20 6D 65 6D 6F 72 the screen memor
000150: 79 20 61 74 20 23 43 30 30 30 2E 2E 23 46 46 46 y at #C000..#FFF
000160: 46 20 28 75 6E 64 65 72 0D 0A 20 20 20 20 20 20 F (under..
000170: 20 74 68 65 20 75 70 70 65 72 20 52 4F 4D 2E 0D the upper ROM..
000180: 0A 20 20 20 20 20 20 20 54 68 65 20 73 63 72 65 . The scre
000190: 65 6E 20 6F 66 66 73 65 74 20 69 73 20 73 65 74 en offset is set
0001A0: 20 74 6F 20 30 2E 0D 0A 20 20 20 20 20 20 20 54 to 0... T
0001B0: 68 65 20 73 63 72 65 65 6E 20 69 73 20 63 6C 65 he screen is cle
0001C0: 61 72 65 64 20 74 6F 20 69 6E 6B 20 30 2E 0D 0A ared to ink 0...
0001D0: 20 20 20 20 20 20 20 54 68 65 20 47 72 61 70 68 The Graph
0001E0: 69 63 73 20 56 44 55 20 77 72 69 74 65 20 6D 6F ics VDU write mo
0001F0: 64 65 20 69 73 20 73 65 74 20 74 6F 20 46 4F 52 de is set to FOR
Size : 512 (Real : 512)
000000: 43 45 20 6D 6F 64 65 2E 0D 0A 20 20 20 20 20 20 CE mode...
000010: 20 54 68 65 20 69 6E 6B 20 66 6C 61 73 68 69 6E The ink flashin
000020: 67 20 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 g frame flyback
000030: 65 76 65 6E 74 20 69 73 20 73 65 74 20 75 70 2E event is set up.
000040: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
000050: 20 69 6E 69 74 69 61 6C 69 7A 61 74 69 6F 6E 20 initialization
000060: 69 73 20 70 65 72 66 6F 72 6D 65 64 20 69 6E 20 is performed in
000070: 61 6E 20 6F 72 64 65 72 20 74 68 61 74 20 61 74 an order that at
000080: 74 65 6D 70 74 73 20 74 6F 20 61 76 6F 69 64 20 tempts to avoid
000090: 74 68 65 0D 0A 20 20 20 20 20 20 20 70 72 65 76 the.. prev
0000A0: 69 6F 75 73 20 63 6F 6E 74 65 6E 74 73 20 6F 66 ious contents of
0000B0: 20 74 68 65 20 73 63 72 65 65 6E 20 62 65 63 6F the screen beco
0000C0: 6D 69 6E 67 20 76 69 73 69 62 6C 65 20 28 61 74 ming visible (at
0000D0: 20 45 4D 53 20 74 68 65 20 20 63 6F 6E 74 65 6E EMS the conten
0000E0: 74 73 0D 0A 20 20 20 20 20 20 20 77 69 6C 6C 20 ts.. will
0000F0: 62 65 20 72 61 6E 64 6F 6D 29 2E 0D 0A 0D 0A 0D be random)......
000100: 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 ... Relate
000110: 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 20 20 d entries:....
000120: 20 20 20 20 20 47 52 41 20 49 4E 49 54 49 41 4C GRA INITIAL
000130: 49 53 45 0D 0A 20 20 20 20 20 20 20 53 43 52 20 ISE.. SCR
000140: 52 45 53 45 54 0D 0A 20 20 20 20 20 20 20 54 58 RESET.. TX
000150: 54 20 49 4E 49 54 49 41 4C 49 53 45 0D 0A 0D 0A T INITIALISE....
000160: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
000170: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
000180: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 20 page
0001B0: 31 35 2E 38 39 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 15.89...........
0001C0: 0A 0D 0A 20 20 20 20 20 20 20 38 36 3A 20 53 43 ... 86: SC
0001D0: 52 20 52 45 53 45 54 20 20 20 20 20 20 20 20 20 R RESET
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 23 42 43 30 32 #BC02
000010: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 73 ...... Res
000020: 65 74 20 74 68 65 20 53 63 72 65 65 6E 20 50 61 et the Screen Pa
000030: 63 6B 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ck.......
000040: 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 Action:......
000050: 20 20 20 20 52 65 69 6E 69 74 69 61 6C 69 7A 65 Reinitialize
000060: 73 20 74 68 65 20 53 63 72 65 65 6E 20 50 61 63 s the Screen Pac
000070: 6B 20 69 6E 64 69 72 65 63 74 69 6F 6E 73 20 61 k indirections a
000080: 6E 64 20 74 68 65 20 69 6E 6B 20 20 63 6F 6C 6F nd the ink colo
000090: 75 72 73 2E 20 20 41 6C 73 6F 0D 0A 20 20 20 20 urs. Also..
0000A0: 20 20 20 72 65 69 6E 69 74 69 61 6C 69 7A 65 73 reinitializes
0000B0: 20 74 68 65 20 66 6C 61 73 68 20 72 61 74 65 20 the flash rate
0000C0: 61 6E 64 20 47 72 61 70 68 69 63 73 20 56 44 55 and Graphics VDU
0000D0: 20 77 72 69 74 65 20 6D 6F 64 65 2E 0D 0A 0D 0A write mode.....
0000E0: 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 .. Entry c
0000F0: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A onditions:......
000100: 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 No condit
000110: 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions.......
000120: 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E Exit condition
000130: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 s:...... A
000140: 46 2C 42 43 2C 44 45 20 61 6E 64 20 48 4C 20 63 F,BC,DE and HL c
000150: 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 orrupt...
000160: 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 All other regist
000170: 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A ers preserved...
000180: 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 .... Notes
000190: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 :...... Th
0001A0: 65 20 73 63 72 65 65 6E 20 69 6E 64 69 72 65 63 e screen indirec
0001B0: 74 69 6F 6E 73 20 28 53 43 52 20 52 45 41 44 2C tions (SCR READ,
0001C0: 20 53 43 52 20 57 52 49 54 45 20 61 6E 64 20 53 SCR WRITE and S
0001D0: 43 52 20 4D 4F 44 45 20 20 43 4C 45 41 52 29 20 CR MODE CLEAR)
0001E0: 20 61 72 65 0D 0A 20 20 20 20 20 20 20 73 65 74 are.. set
0001F0: 20 74 6F 20 74 68 65 69 72 20 64 65 66 61 75 6C to their defaul
Size : 512 (Real : 512)
000000: 74 20 72 6F 75 74 69 6E 65 73 2E 0D 0A 0D 0A 0D t routines......
000010: 0A 20 20 20 20 20 20 20 54 68 65 20 69 6E 6B 73 . The inks
000020: 20 61 72 65 20 73 65 74 20 74 6F 20 74 68 65 69 are set to thei
000030: 72 20 64 65 66 61 75 6C 74 20 63 6F 6C 6F 75 72 r default colour
000040: 73 20 28 73 65 65 20 41 70 70 65 6E 64 69 78 20 s (see Appendix
000050: 56 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 V).......
000060: 54 68 65 20 69 6E 6B 20 66 6C 61 73 68 69 6E 67 The ink flashing
000070: 20 70 65 72 69 6F 64 73 20 61 72 65 20 73 65 74 periods are set
000080: 20 74 6F 20 74 68 65 69 72 20 64 65 66 61 75 6C to their defaul
000090: 74 20 76 61 6C 75 65 73 2E 0D 0A 0D 0A 0D 0A 20 t values.......
0000A0: 20 20 20 20 20 20 54 68 65 20 47 72 61 70 68 69 The Graphi
0000B0: 63 73 20 56 44 55 20 77 72 69 74 65 20 6D 6F 64 cs VDU write mod
0000C0: 65 20 69 73 20 73 65 74 20 74 6F 20 46 4F 52 43 e is set to FORC
0000D0: 45 20 6D 6F 64 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 E mode.......
0000E0: 20 20 20 20 54 68 65 20 69 6E 6B 73 20 61 72 65 The inks are
0000F0: 20 6E 6F 74 20 70 61 73 73 65 64 20 74 6F 20 74 not passed to t
000100: 68 65 20 68 61 72 64 77 61 72 65 2E 20 54 68 69 he hardware. Thi
000110: 73 20 77 69 6C 6C 20 62 65 20 20 64 6F 6E 65 20 s will be done
000120: 20 77 68 65 6E 20 20 74 68 65 0D 0A 20 20 20 20 when the..
000130: 20 20 20 69 6E 6B 73 20 66 6C 61 73 68 20 6E 65 inks flash ne
000140: 78 74 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 xt.........
000150: 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 Related entrie
000160: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 s:...... S
000170: 43 52 20 49 4E 49 54 49 41 4C 49 53 45 0D 0A 20 CR INITIALISE..
000180: 20 20 20 20 20 20 53 43 52 20 53 45 54 20 41 43 SCR SET AC
000190: 43 45 53 53 0D 0A 20 20 20 20 20 20 20 53 43 52 CESS.. SCR
0001A0: 20 53 45 54 20 46 4C 41 53 48 49 4E 47 0D 0A 20 SET FLASHING..
0001B0: 20 20 20 20 20 20 53 43 52 20 53 45 54 20 49 4E SCR SET IN
0001C0: 4B 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 K............
0001D0: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
0001E0: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
0001F0: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000010: 70 61 67 65 20 31 35 2E 39 30 0D 0A 0D 0A 0D 0A page 15.90......
000020: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 38 ........ 8
000030: 37 3A 20 53 43 52 20 53 45 54 20 4F 46 46 53 45 7: SCR SET OFFSE
000040: 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 T
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 20 20 20 20 20 20 20 20
000070: 23 42 43 30 35 0D 0A 0D 0A 0D 0A 20 20 20 20 20 #BC05......
000080: 20 20 53 65 74 20 74 68 65 20 6F 66 66 73 65 74 Set the offset
000090: 20 6F 66 20 74 68 65 20 73 74 61 72 74 20 6F 66 of the start of
0000A0: 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A the screen.....
0000B0: 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A .. Action:
0000C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 ...... Set
0000D0: 20 74 68 65 20 6F 66 66 73 65 74 20 6F 66 20 74 the offset of t
0000E0: 68 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 he first charact
0000F0: 65 72 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E er on the screen
000100: 2E 20 42 79 20 63 68 61 6E 67 69 6E 67 20 20 74 . By changing t
000110: 68 69 73 0D 0A 20 20 20 20 20 20 20 6F 66 66 73 his.. offs
000120: 65 74 20 74 68 65 20 73 63 72 65 65 6E 20 63 61 et the screen ca
000130: 6E 20 62 65 20 72 6F 6C 6C 65 64 2E 0D 0A 0D 0A n be rolled.....
000140: 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 .. Entry c
000150: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A onditions:......
000160: 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 HL contai
000170: 6E 73 20 74 68 65 20 72 65 71 75 69 72 65 64 20 ns the required
000180: 6F 66 66 73 65 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 offset.......
000190: 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 Exit conditi
0001A0: 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ons:......
0001B0: 20 41 46 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 AF and HL corru
0001C0: 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 pt... All
0001D0: 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 other registers
0001E0: 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A preserved.......
0001F0: 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D Notes:...
Size : 512 (Real : 512)
000000: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 6F 66 ... The of
000010: 66 73 65 74 20 70 61 73 73 65 64 20 69 73 20 6D fset passed is m
000020: 61 73 6B 65 64 20 77 69 74 68 20 23 30 37 46 45 asked with #07FE
000030: 20 74 6F 20 6D 61 6B 65 20 73 75 72 65 20 69 74 to make sure it
000040: 20 69 73 20 6E 6F 74 20 74 6F 6F 20 20 62 69 67 is not too big
000050: 0D 0A 20 20 20 20 20 20 20 74 6F 20 6D 61 6B 65 .. to make
000060: 20 74 68 61 74 20 74 68 65 20 6F 66 66 73 65 74 that the offset
000070: 20 69 73 20 20 65 76 65 6E 2E 20 20 28 54 68 65 is even. (The
000080: 20 20 73 63 72 65 65 6E 20 20 69 73 20 20 6F 6E screen is on
000090: 6C 79 20 20 63 61 70 61 62 6C 65 20 20 6F 66 0D ly capable of.
0000A0: 0A 20 20 20 20 20 20 20 72 6F 6C 6C 69 6E 67 20 . rolling
0000B0: 69 6E 20 74 77 6F 20 62 79 74 65 20 69 6E 63 72 in two byte incr
0000C0: 65 6D 65 6E 74 73 29 2E 0D 0A 0D 0A 0D 0A 20 20 ements).......
0000D0: 20 20 20 20 20 54 68 65 20 73 63 72 65 65 6E 20 The screen
0000E0: 62 61 73 65 20 61 6E 64 20 73 63 72 65 65 6E 20 base and screen
0000F0: 6F 66 66 73 65 74 20 61 72 65 20 63 6F 6D 62 69 offset are combi
000100: 6E 65 64 20 69 6E 74 6F 20 61 20 73 69 6E 67 6C ned into a singl
000110: 65 20 76 61 6C 75 65 20 61 6E 64 0D 0A 20 20 20 e value and..
000120: 20 20 20 20 73 65 6E 74 20 74 6F 20 74 68 65 20 sent to the
000130: 68 61 72 64 77 61 72 65 20 74 6F 67 65 74 68 65 hardware togethe
000140: 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 r....... T
000150: 68 65 20 73 63 72 65 65 6E 20 6F 66 66 73 65 74 he screen offset
000160: 20 69 73 20 75 73 65 64 20 62 79 20 53 43 52 20 is used by SCR
000170: 43 48 41 52 20 50 4F 53 49 54 49 4F 4E 20 61 6E CHAR POSITION an
000180: 64 20 53 43 52 20 44 4F 54 20 50 4F 53 49 54 49 d SCR DOT POSITI
000190: 4F 4E 20 74 6F 0D 0A 20 20 20 20 20 20 20 63 61 ON to.. ca
0001A0: 6C 63 75 6C 61 74 65 20 73 63 72 65 65 6E 20 61 lculate screen a
0001B0: 64 64 72 65 73 73 65 73 2E 20 49 66 20 74 68 65 ddresses. If the
0001C0: 20 73 63 72 65 65 6E 20 6F 66 66 73 65 74 20 69 screen offset i
0001D0: 73 20 63 68 61 6E 67 65 64 20 6D 65 72 65 6C 79 s changed merely
0001E0: 20 20 62 79 0D 0A 20 20 20 20 20 20 20 63 61 6C by.. cal
0001F0: 6C 69 6E 67 20 74 68 65 20 4D 61 63 68 69 6E 65 ling the Machine
Size : 512 (Real : 512)
000000: 20 50 61 63 6B 20 72 6F 75 74 69 6E 65 20 4D 43 Pack routine MC
000010: 20 53 43 52 45 45 4E 20 4F 46 46 53 45 54 20 74 SCREEN OFFSET t
000020: 68 65 6E 20 20 74 68 65 20 20 54 65 78 74 20 20 hen the Text
000030: 61 6E 64 0D 0A 20 20 20 20 20 20 20 47 72 61 70 and.. Grap
000040: 68 69 63 73 20 56 44 55 73 20 77 69 6C 6C 20 75 hics VDUs will u
000050: 73 65 20 69 6E 63 6F 72 72 65 63 74 20 73 63 72 se incorrect scr
000060: 65 65 6E 20 61 64 64 72 65 73 73 65 73 2E 0D 0A een addresses...
000070: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 6F .... The o
000080: 66 66 73 65 74 20 69 73 20 73 65 74 20 74 6F 20 ffset is set to
000090: 7A 65 72 6F 20 77 68 65 6E 20 74 68 65 20 73 63 zero when the sc
0000A0: 72 65 65 6E 20 6D 6F 64 65 20 69 73 20 73 65 74 reen mode is set
0000B0: 20 6F 72 20 74 68 65 20 73 63 72 65 65 6E 20 69 or the screen i
0000C0: 73 0D 0A 20 20 20 20 20 20 20 63 6C 65 61 72 65 s.. cleare
0000D0: 64 20 62 79 20 63 61 6C 6C 69 6E 67 20 53 43 52 d by calling SCR
0000E0: 20 43 4C 45 41 52 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 CLEAR.........
0000F0: 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E Related en
000100: 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tries:......
000110: 20 20 20 4D 43 20 53 43 52 45 45 4E 20 4F 46 46 MC SCREEN OFF
000120: 53 45 54 0D 0A 20 20 20 20 20 20 20 53 43 52 20 SET.. SCR
000130: 47 45 54 20 4C 4F 43 41 54 49 4F 4E 0D 0A 20 20 GET LOCATION..
000140: 20 20 20 20 20 53 43 52 20 48 57 20 52 4F 4C 4C SCR HW ROLL
000150: 0D 0A 20 20 20 20 20 20 20 53 43 52 20 53 45 54 .. SCR SET
000160: 20 42 41 53 45 0D 0A 20 20 20 20 20 20 20 53 43 BASE.. SC
000170: 52 20 53 45 54 20 50 4F 53 49 54 49 4F 4E 0D 0A R SET POSITION..
000180: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
000190: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
0001A0: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 FIRMWARE
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 70 61 67 65 20 31 35 2E 39 page 15.9
0001D0: 31 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 1..............
0001E0: 20 20 20 20 20 20 38 38 3A 20 53 43 52 20 53 45 88: SCR SE
0001F0: 54 20 42 41 53 45 20 20 20 20 20 20 20 20 20 20 T BASE
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 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 20 20 20 20 20 20 23 42 43 30 38 0D 0A 0D 0A #BC08....
000030: 0D 0A 20 20 20 20 20 20 20 53 65 74 20 74 68 65 .. Set the
000040: 20 61 72 65 61 20 6F 66 20 52 41 4D 20 74 6F 20 area of RAM to
000050: 75 73 65 20 66 6F 72 20 74 68 65 20 73 63 72 65 use for the scre
000060: 65 6E 20 6D 65 6D 6F 72 79 2E 0D 0A 0D 0A 0D 0A en memory.......
000070: 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A Action:..
000080: 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 20 74 .... Set t
000090: 68 65 20 62 61 73 65 20 61 64 64 72 65 73 73 20 he base address
0000A0: 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 6D 65 of the screen me
0000B0: 6D 6F 72 79 2E 20 54 68 69 73 20 63 61 6E 20 65 mory. This can e
0000C0: 20 75 73 65 64 20 74 6F 20 6D 6F 76 65 20 74 68 used to move th
0000D0: 65 0D 0A 20 20 20 20 20 20 20 73 63 72 65 65 6E e.. screen
0000E0: 20 6F 75 74 20 66 72 6F 6D 20 75 6E 64 65 72 6E out from undern
0000F0: 65 61 74 68 20 74 68 65 20 75 70 70 65 72 20 52 eath the upper R
000100: 4F 4D 20 20 6F 72 20 20 74 6F 20 20 64 69 73 70 OM or to disp
000110: 6C 61 79 20 20 61 20 20 70 72 65 70 61 72 65 64 lay a prepared
000120: 0D 0A 20 20 20 20 20 20 20 73 63 72 65 65 6E 20 .. screen
000130: 69 6E 73 74 61 6E 74 6C 79 2E 0D 0A 0D 0A 0D 0A instantly.......
000140: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
000150: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
000160: 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 A contains
000170: 74 68 65 20 6D 6F 72 65 20 73 69 67 6E 69 66 69 the more signifi
000180: 63 61 6E 74 20 62 79 74 65 20 6F 66 20 74 68 65 cant byte of the
000190: 20 62 61 73 65 20 61 64 64 72 65 73 73 2E 0D 0A base address...
0001A0: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
0001B0: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
0001C0: 0A 20 20 20 20 20 20 20 41 46 20 61 6E 64 20 48 . AF and H
0001D0: 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 L corrupt...
0001E0: 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 All other reg
0001F0: 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 isters preserved
Size : 512 (Real : 512)
000000: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ....... No
000010: 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 tes:......
000020: 20 54 68 65 20 73 63 72 65 65 6E 20 6D 65 6D 6F The screen memo
000030: 72 79 20 63 61 6E 20 6F 6E 6C 79 20 62 65 20 6C ry can only be l
000040: 6F 63 61 74 65 64 20 6F 6E 20 61 20 31 36 4B 20 ocated on a 16K
000050: 62 6F 75 6E 64 61 72 79 20 73 6F 20 20 74 68 65 boundary so the
000060: 20 20 76 61 6C 75 65 0D 0A 20 20 20 20 20 20 20 value..
000070: 70 61 73 73 65 64 20 69 6E 20 6D 61 73 6B 65 64 passed in masked
000080: 20 77 69 74 68 20 23 43 30 2E 20 54 68 65 20 64 with #C0. The d
000090: 65 66 61 75 6C 74 20 73 63 72 65 65 6E 20 62 61 efault screen ba
0000A0: 73 65 2C 20 20 73 65 74 20 20 61 74 20 20 45 4D se, set at EM
0000B0: 53 2C 20 20 69 73 0D 0A 20 20 20 20 20 20 20 23 S, is.. #
0000C0: 43 30 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 C0.......
0000D0: 54 68 65 20 6F 66 66 73 65 74 20 69 73 20 63 6F The offset is co
0000E0: 6D 62 69 6E 65 64 20 77 69 74 68 20 74 68 65 20 mbined with the
0000F0: 73 63 72 65 65 6E 20 62 61 73 65 20 69 6E 74 6F screen base into
000100: 20 61 20 73 69 6E 67 6C 65 20 76 61 6C 75 65 20 a single value
000110: 20 77 68 69 63 68 0D 0A 20 20 20 20 20 20 20 69 which.. i
000120: 73 20 73 65 6E 74 20 74 6F 20 74 68 65 20 68 61 s sent to the ha
000130: 72 64 77 61 72 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 rdware.......
000140: 20 20 20 20 54 68 65 20 73 63 72 65 65 6E 20 62 The screen b
000150: 61 73 65 20 61 64 64 72 65 73 73 20 69 73 20 75 ase address is u
000160: 73 65 64 20 62 79 20 20 53 43 52 20 20 43 48 41 sed by SCR CHA
000170: 52 20 20 50 4F 53 49 54 49 4F 4E 20 20 61 6E 64 R POSITION and
000180: 20 20 53 43 52 20 20 44 4F 54 0D 0A 20 20 20 20 SCR DOT..
000190: 20 20 20 50 4F 53 49 54 49 4F 4E 20 74 6F 20 63 POSITION to c
0001A0: 61 6C 63 75 6C 61 74 65 20 73 63 72 65 65 6E 20 alculate screen
0001B0: 61 64 64 72 65 73 73 65 73 2E 20 49 66 20 74 68 addresses. If th
0001C0: 65 20 73 63 72 65 65 6E 20 62 61 73 65 20 69 73 e screen base is
0001D0: 20 20 63 68 61 6E 67 65 64 0D 0A 20 20 20 20 20 changed..
0001E0: 20 20 6D 65 72 65 6C 79 20 62 79 20 63 61 6C 6C merely by call
0001F0: 69 6E 67 20 74 68 65 20 4D 61 63 68 69 6E 65 20 ing the Machine
Size : 512 (Real : 512)
000000: 50 61 63 6B 20 72 6F 75 74 69 6E 65 20 4D 43 20 Pack routine MC
000010: 53 43 52 45 45 4E 20 4F 46 46 53 45 54 20 20 74 SCREEN OFFSET t
000020: 68 65 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 hen the..
000030: 20 74 65 78 74 20 61 6E 64 20 67 72 61 70 68 69 text and graphi
000040: 63 73 20 56 44 55 73 20 77 69 6C 6C 20 75 73 65 cs VDUs will use
000050: 20 69 6E 63 6F 72 72 65 63 74 20 73 63 72 65 65 incorrect scree
000060: 6E 20 61 64 64 72 65 73 73 65 73 2E 0D 0A 0D 0A n addresses.....
000070: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 73 63 72 .. The scr
000080: 65 65 6E 20 6D 65 6D 6F 72 79 20 69 73 20 6E 6F een memory is no
000090: 74 20 63 6C 65 61 72 65 64 20 77 68 65 6E 20 74 t cleared when t
0000A0: 68 65 20 73 63 72 65 65 6E 20 62 61 73 65 20 69 he screen base i
0000B0: 73 20 73 65 74 2C 20 75 73 65 20 20 53 43 52 0D s set, use SCR.
0000C0: 0A 20 20 20 20 20 20 20 43 4C 45 41 52 20 74 6F . CLEAR to
0000D0: 20 64 6F 20 74 68 69 73 2E 0D 0A 0D 0A 20 20 20 do this.....
0000E0: 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 Related entr
0000F0: 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 4D ies:.... M
000100: 43 20 53 43 52 45 45 4E 20 4F 46 46 53 45 54 0D C SCREEN OFFSET.
000110: 0A 20 20 20 20 20 20 20 53 43 52 20 47 45 54 20 . SCR GET
000120: 4C 4F 43 41 54 49 4F 4E 0D 0A 20 20 20 20 20 20 LOCATION..
000130: 20 53 43 52 20 53 45 54 20 4F 46 46 53 45 54 0D SCR SET OFFSET.
000140: 0A 20 20 20 20 20 20 20 53 43 52 20 53 45 54 20 . SCR SET
000150: 50 4F 53 49 54 49 4F 4E 0D 0A 0D 0A 0D 0A 0D 0A POSITION........
000160: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
000170: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
000180: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 FIRMWARE
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 39 page 15.9
0001B0: 32 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 2..............
0001C0: 20 20 20 20 20 20 38 39 3A 20 53 43 52 20 47 45 89: SCR GE
0001D0: 54 20 4C 4F 43 41 54 49 4F 4E 20 20 20 20 20 20 T LOCATION
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 23 42 43 30 42 0D 0A 0D 0A #BC0B....
000010: 0D 0A 20 20 20 20 20 20 20 46 65 74 63 68 20 63 .. Fetch c
000020: 75 72 72 65 6E 74 20 62 61 73 65 20 61 6E 64 20 urrent base and
000030: 6F 66 66 73 65 74 20 73 65 74 74 69 6E 67 73 2E offset settings.
000040: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 ...... Act
000050: 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ion:......
000060: 20 41 73 6B 20 77 68 65 72 65 20 74 68 65 20 73 Ask where the s
000070: 63 72 65 65 6E 20 6D 65 6D 6F 72 79 20 69 73 20 creen memory is
000080: 6C 6F 63 61 74 65 64 20 61 6E 64 20 20 77 68 65 located and whe
000090: 72 65 20 20 74 68 65 20 20 73 74 61 72 74 20 20 re the start
0000A0: 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 of the..
0000B0: 73 63 72 65 65 6E 20 69 73 2E 0D 0A 0D 0A 0D 0A screen is.......
0000C0: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
0000D0: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
0000E0: 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F No conditio
0000F0: 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns.......
000100: 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A Exit conditions:
000110: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 63 ...... A c
000120: 6F 6E 74 61 69 6E 73 20 74 68 65 20 6D 6F 72 65 ontains the more
000130: 20 73 69 67 6E 69 66 69 63 61 6E 74 20 62 79 74 significant byt
000140: 65 20 6F 66 20 74 68 65 20 62 61 73 65 20 61 64 e of the base ad
000150: 64 72 65 73 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 dress.......
000160: 20 20 20 46 6C 61 67 73 20 63 6F 72 72 75 70 74 Flags corrupt
000170: 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 ... All ot
000180: 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 her registers pr
000190: 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 eserved.......
0001A0: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D Notes:.....
0001B0: 0A 20 20 20 20 20 20 20 54 68 65 20 62 61 73 65 . The base
0001C0: 20 61 6E 64 20 6F 66 66 73 65 74 73 20 72 65 74 and offsets ret
0001D0: 75 72 6E 65 64 20 62 79 20 74 68 69 73 20 72 6F urned by this ro
0001E0: 75 74 69 6E 65 20 6D 61 79 20 6E 6F 74 20 62 65 utine may not be
0001F0: 20 74 68 65 20 20 73 61 6D 65 20 20 61 73 0D 0A the same as..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 74 68 6F 73 65 20 73 65 74 those set
000010: 20 75 73 69 6E 67 20 53 43 52 20 53 45 54 20 42 using SCR SET B
000020: 41 53 45 20 6F 72 20 53 43 52 20 53 45 54 20 4F ASE or SCR SET O
000030: 46 46 53 45 54 2E 20 54 68 69 73 20 20 69 73 20 FFSET. This is
000040: 20 62 65 63 61 75 73 65 20 20 74 68 65 0D 0A 20 because the..
000050: 20 20 20 20 20 20 76 61 6C 75 65 73 20 61 72 65 values are
000060: 20 6D 61 73 6B 65 64 20 74 6F 20 6D 61 6B 65 20 masked to make
000070: 74 68 65 6D 20 6C 65 67 61 6C 20 61 6E 64 20 74 them legal and t
000080: 68 65 20 20 73 63 72 65 65 6E 20 20 6F 66 66 73 he screen offs
000090: 65 74 20 20 69 73 20 20 61 6C 73 6F 0D 0A 20 20 et is also..
0000A0: 20 20 20 20 20 63 68 61 6E 67 65 64 20 77 68 65 changed whe
0000B0: 6E 20 74 68 65 20 68 61 72 64 77 61 72 65 20 73 n the hardware s
0000C0: 63 72 65 65 6E 20 72 6F 6C 6C 69 6E 67 20 20 72 creen rolling r
0000D0: 6F 75 74 69 6E 65 2C 20 20 53 43 52 20 20 48 57 outine, SCR HW
0000E0: 20 20 52 4F 4C 4C 2C 20 20 69 73 0D 0A 20 20 20 ROLL, is..
0000F0: 20 20 20 20 75 73 65 64 2E 0D 0A 0D 0A 0D 0A 0D used........
000100: 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 . Related
000110: 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 entries:......
000120: 20 20 20 20 20 53 43 52 20 53 45 54 20 42 41 53 SCR SET BAS
000130: 45 0D 0A 20 20 20 20 20 20 20 53 43 52 20 53 45 E.. SCR SE
000140: 54 20 4F 46 46 53 45 54 0D 0A 20 20 20 20 20 20 T OFFSET..
000150: 20 53 43 52 20 53 45 54 20 50 4F 53 49 54 49 4F SCR SET POSITIO
000160: 4E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D N...............
000170: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
000180: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
000190: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
0001A0: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 70 61 67 65 20 31 35 2E 39 33 0D 0A 0D 0A 0D 0A page 15.93......
0001D0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 39 ........ 9
0001E0: 30 3A 20 53 43 52 20 53 45 54 20 4D 4F 44 45 20 0: SCR SET MODE
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 20 20 20 20
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 23 42 43 30 45 0D 0A 0D 0A 20 20 20 20 20 20 20 #BC0E....
000030: 53 65 74 20 73 63 72 65 65 6E 20 69 6E 74 6F 20 Set screen into
000040: 61 20 6E 65 77 20 6D 6F 64 65 2E 0D 0A 0D 0A 20 a new mode.....
000050: 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D Action:...
000060: 0A 20 20 20 20 20 20 20 50 75 74 20 74 68 65 20 . Put the
000070: 73 63 72 65 65 6E 20 69 6E 74 6F 20 61 20 6E 65 screen into a ne
000080: 77 20 20 6D 6F 64 65 20 20 61 6E 64 20 20 6D 61 w mode and ma
000090: 6B 65 20 20 73 75 72 65 20 20 74 68 61 74 20 20 ke sure that
0000A0: 74 68 65 20 20 54 65 78 74 20 20 61 6E 64 0D 0A the Text and..
0000B0: 20 20 20 20 20 20 20 47 72 61 70 68 69 63 73 20 Graphics
0000C0: 56 44 55 73 20 61 72 65 20 73 65 74 20 75 70 20 VDUs are set up
0000D0: 63 6F 72 72 65 63 74 6C 79 2E 0D 0A 0D 0A 20 20 correctly.....
0000E0: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
0000F0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tions:....
000100: 20 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 A contains the
000110: 72 65 71 75 69 72 65 64 20 6D 6F 64 65 2E 0D 0A required mode...
000120: 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F .. Exit co
000130: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 nditions:....
000140: 20 20 20 20 41 46 2C 42 43 2C 44 45 20 61 6E 64 AF,BC,DE and
000150: 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 HL corrupt...
000160: 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 All other r
000170: 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 egisters preserv
000180: 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ed..... No
000190: 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 tes:......
0001A0: 20 54 68 65 20 6D 6F 64 65 20 72 65 71 75 65 73 The mode reques
0001B0: 74 65 64 20 69 73 20 6D 61 72 6B 65 64 20 77 69 ted is marked wi
0001C0: 74 68 20 23 30 33 2E 20 49 66 20 74 68 65 20 20 th #03. If the
0001D0: 72 65 73 75 6C 74 69 6E 67 20 20 76 61 6C 75 65 resulting value
0001E0: 20 20 69 73 20 20 33 0D 0A 20 20 20 20 20 20 20 is 3..
0001F0: 74 68 65 6E 20 6E 6F 20 61 63 74 69 6F 6E 20 69 then no action i
Size : 512 (Real : 512)
000000: 73 20 74 61 6B 65 6E 2E 20 4F 74 68 65 72 77 69 s taken. Otherwi
000010: 73 65 20 6F 6E 65 20 6F 66 20 74 68 65 20 66 6F se one of the fo
000020: 6C 6C 6F 77 69 6E 67 20 20 73 63 72 65 65 6E 20 llowing screen
000030: 20 6D 6F 64 65 73 0D 0A 20 20 20 20 20 20 20 69 modes.. i
000040: 73 20 73 65 74 20 75 70 3A 0D 0A 0D 0A 0D 0A 20 s set up:......
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4D M
000060: 6F 64 65 20 30 3A 20 20 20 31 36 30 20 78 20 32 ode 0: 160 x 2
000070: 30 30 20 70 69 78 65 6C 73 2C 20 20 20 32 30 20 00 pixels, 20
000080: 78 20 32 35 20 63 68 61 72 61 63 74 65 72 73 2E x 25 characters.
000090: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000A0: 20 20 4D 6F 64 65 20 31 3A 20 20 20 33 32 30 20 Mode 1: 320
0000B0: 78 20 32 30 30 20 70 69 78 65 6C 73 2C 20 20 20 x 200 pixels,
0000C0: 34 30 20 78 20 32 35 20 63 68 61 72 61 63 74 65 40 x 25 characte
0000D0: 72 73 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 rs...
0000E0: 20 20 20 20 20 4D 6F 64 65 20 32 3A 20 20 20 36 Mode 2: 6
0000F0: 34 30 20 78 20 32 30 30 20 70 69 78 65 6C 73 2C 40 x 200 pixels,
000100: 20 20 20 38 30 20 78 20 32 35 20 63 68 61 72 61 80 x 25 chara
000110: 63 74 65 72 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 cters.......
000120: 20 20 20 41 74 20 61 20 65 61 72 6C 79 20 73 74 At a early st
000130: 61 67 65 20 74 68 65 20 73 63 72 65 65 6E 20 69 age the screen i
000140: 73 20 63 6C 65 61 72 65 64 20 74 6F 20 61 76 6F s cleared to avo
000150: 69 64 20 74 68 65 20 20 6F 6C 64 20 20 63 6F 6E id the old con
000160: 74 65 6E 74 73 20 20 6F 66 0D 0A 20 20 20 20 20 tents of..
000170: 20 20 74 68 65 20 73 63 72 65 65 6E 20 62 65 69 the screen bei
000180: 6E 67 20 64 69 73 70 6C 61 79 65 64 20 69 6E 20 ng displayed in
000190: 74 68 65 20 77 72 6F 6E 67 20 6D 6F 64 65 2E 20 the wrong mode.
0001A0: 54 68 65 20 73 63 72 65 65 6E 20 69 73 20 63 6C The screen is cl
0001B0: 65 61 72 65 64 20 62 79 0D 0A 20 20 20 20 20 20 eared by..
0001C0: 20 63 61 6C 6C 69 6E 67 20 74 68 65 20 53 43 52 calling the SCR
0001D0: 20 4D 4F 44 45 20 43 4C 45 41 52 20 69 6E 64 69 MODE CLEAR indi
0001E0: 72 65 63 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 rection.......
0001F0: 20 20 20 20 20 41 6C 6C 20 74 68 65 20 74 65 78 All the tex
Size : 512 (Real : 512)
000000: 74 20 61 6E 64 20 67 72 61 70 68 69 63 73 20 77 t and graphics w
000010: 69 6E 64 6F 77 73 20 61 72 65 20 73 65 74 20 74 indows are set t
000020: 6F 20 63 6F 76 65 72 20 20 74 68 65 20 20 77 68 o cover the wh
000030: 6F 6C 65 20 20 73 63 72 65 65 6E 0D 0A 20 20 20 ole screen..
000040: 20 20 20 20 61 6E 64 20 74 68 65 20 67 72 61 70 and the grap
000050: 68 69 63 73 20 75 73 65 72 20 6F 72 69 67 69 6E hics user origin
000060: 20 69 73 20 73 65 74 20 74 6F 20 74 68 65 20 62 is set to the b
000070: 6F 74 74 6F 6D 20 6C 65 66 74 20 63 6F 72 6E 65 ottom left corne
000080: 72 20 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 r of the..
000090: 20 20 20 73 63 72 65 65 6E 2E 20 54 68 65 20 63 screen. The c
0000A0: 75 72 73 6F 72 20 62 6C 6F 62 73 20 66 6F 72 20 ursor blobs for
0000B0: 61 6C 6C 20 74 65 78 74 20 73 74 72 65 61 6D 73 all text streams
0000C0: 20 61 72 65 20 74 75 72 6E 65 64 20 20 6F 66 66 are turned off
0000D0: 2E 20 20 53 74 72 65 61 6D 0D 0A 20 20 20 20 20 . Stream..
0000E0: 20 20 7A 65 72 6F 20 69 73 20 73 65 6C 65 63 74 zero is select
0000F0: 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ed.......
000100: 54 68 65 20 63 75 72 72 65 6E 74 20 74 65 78 74 The current text
000110: 20 61 6E 64 20 20 67 72 61 70 68 69 63 73 20 20 and graphics
000120: 70 65 6E 20 20 61 6E 64 20 20 70 61 70 65 72 20 pen and paper
000130: 20 69 6E 6B 73 20 20 61 72 65 20 20 6D 61 73 6B inks are mask
000140: 65 64 20 20 61 73 0D 0A 20 20 20 20 20 20 20 61 ed as.. a
000150: 70 70 72 6F 70 72 69 61 74 65 20 66 6F 72 20 74 ppropriate for t
000160: 68 65 20 6E 65 77 20 6D 6F 64 65 20 28 73 65 65 he new mode (see
000170: 20 54 58 54 20 53 45 54 20 50 45 4E 20 65 74 20 TXT SET PEN et
000180: 20 61 6C 29 2E 20 20 57 68 65 6E 20 20 63 68 61 al). When cha
000190: 6E 67 69 6E 67 0D 0A 20 20 20 20 20 20 20 6D 6F nging.. mo
0001A0: 64 65 20 74 6F 20 61 20 6D 6F 64 65 20 74 68 61 de to a mode tha
0001B0: 74 20 61 6C 6C 6F 77 73 20 66 65 77 65 72 20 69 t allows fewer i
0001C0: 6E 6B 73 20 6F 6E 20 74 68 65 20 73 63 72 65 65 nks on the scree
0001D0: 6E 20 74 68 69 73 20 6D 61 79 20 63 61 75 73 65 n this may cause
0001E0: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 70 65 6E the.. pen
0001F0: 20 61 6E 64 20 70 61 70 65 72 20 69 6E 6B 73 20 and paper inks
Size : 512 (Real : 512)
000000: 74 6F 20 63 68 61 6E 67 65 2E 0D 0A 0D 0A 0D 0A to change.......
000010: 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 .. Related
000020: 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 entries:......
000030: 20 20 20 20 20 20 4D 43 20 53 45 54 20 4D 4F 44 MC SET MOD
000040: 45 0D 0A 20 20 20 20 20 20 20 53 43 52 20 47 45 E.. SCR GE
000050: 54 20 4D 4F 44 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A T MODE..........
000060: 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 .. AMSTRAD
000070: 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 CPC464/664/6128
000080: 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 FIRMWARE
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 70 61 67 65 20 31 35 2E 39 34 0D page 15.94.
0000B0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
0000C0: 20 20 20 20 39 31 3A 20 53 43 52 20 47 45 54 20 91: SCR GET
0000D0: 4D 4F 44 45 20 20 20 20 20 20 20 20 20 20 20 20 MODE
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 20 20 20
000100: 20 20 20 20 20 23 42 43 31 31 0D 0A 0D 0A 20 20 #BC11....
000110: 20 20 20 20 20 41 73 6B 20 74 68 65 20 63 75 72 Ask the cur
000120: 72 65 6E 74 20 73 63 72 65 65 6E 20 6D 6F 64 65 rent screen mode
000130: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 ....... Ac
000140: 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 tion:....
000150: 46 65 74 63 68 20 61 6E 64 20 74 65 73 74 20 74 Fetch and test t
000160: 68 65 20 63 75 72 72 65 6E 74 20 73 63 72 65 65 he current scree
000170: 6E 20 6D 6F 64 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 n mode.......
000180: 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 Entry condit
000190: 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ions:....
0001A0: 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A No conditions...
0001B0: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
0001C0: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 conditions:....
0001D0: 20 20 20 20 20 20 49 66 20 63 75 72 72 65 6E 74 If current
0001E0: 20 6D 6F 64 65 20 69 73 20 6D 6F 64 65 20 30 3A mode is mode 0:
0001F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
Size : 512 (Real : 512)
000000: 20 20 20 20 43 61 72 72 79 20 74 72 75 65 2E 0D Carry true..
000010: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000020: 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 Zero false...
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 A
000040: 63 6F 6E 74 61 69 6E 73 20 30 2E 0D 0A 0D 0A 20 contains 0.....
000050: 20 20 20 20 20 20 49 66 20 63 75 72 72 65 6E 74 If current
000060: 20 6D 6F 64 65 20 69 73 20 6D 6F 64 65 20 31 3A mode is mode 1:
000070: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000080: 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E Carry false.
000090: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000A0: 20 20 5A 65 72 6F 20 74 72 75 65 2E 0D 0A 20 20 Zero true...
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 A
0000C0: 63 6F 6E 74 61 69 6E 73 20 31 2E 0D 0A 0D 0A 20 contains 1.....
0000D0: 20 20 20 20 20 20 49 66 20 63 75 72 72 65 6E 74 If current
0000E0: 20 6D 6F 64 65 20 69 73 20 6D 6F 64 65 20 32 3A mode is mode 2:
0000F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000100: 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E Carry false.
000110: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000120: 20 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 Zero false...
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 A
000140: 20 63 6F 6E 74 61 69 6E 73 20 32 2E 0D 0A 0D 0A contains 2.....
000150: 20 20 20 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A Always:..
000160: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000170: 20 20 4F 74 68 65 72 20 66 6C 61 67 73 20 63 6F Other flags co
000180: 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 rrupt...
000190: 20 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 All othe
0001A0: 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 r registers pres
0001B0: 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 erved.......
0001C0: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 Notes:....
0001D0: 20 20 20 20 54 68 65 20 6D 6F 64 65 73 20 61 72 The modes ar
0001E0: 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 e:....
0001F0: 20 20 20 20 20 20 4D 6F 64 65 20 30 3A 20 20 20 Mode 0:
Size : 512 (Real : 512)
000000: 31 36 30 20 78 20 32 30 30 20 70 69 78 65 6C 73 160 x 200 pixels
000010: 2C 20 20 20 32 30 20 78 20 32 35 20 63 68 61 72 , 20 x 25 char
000020: 61 63 74 65 72 73 2E 0D 0A 20 20 20 20 20 20 20 acters...
000030: 20 20 20 20 20 20 20 20 20 4D 6F 64 65 20 31 3A Mode 1:
000040: 20 20 20 33 32 30 20 78 20 32 30 30 20 70 69 78 320 x 200 pix
000050: 65 6C 73 2C 20 20 20 34 30 20 78 20 32 35 20 63 els, 40 x 25 c
000060: 68 61 72 61 63 74 65 72 73 2E 0D 0A 20 20 20 20 haracters...
000070: 20 20 20 20 20 20 20 20 20 20 20 20 4D 6F 64 65 Mode
000080: 20 32 3A 20 20 20 36 34 30 20 78 20 32 30 30 20 2: 640 x 200
000090: 70 69 78 65 6C 73 2C 20 20 20 38 30 20 78 20 32 pixels, 80 x 2
0000A0: 35 20 63 68 61 72 61 63 74 65 72 73 2E 0D 0A 0D 5 characters....
0000B0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
0000C0: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
0000D0: 20 20 20 20 20 20 20 53 43 52 20 53 45 54 20 4D SCR SET M
0000E0: 4F 44 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 ODE............
0000F0: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000100: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
000110: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 70 61 67 65 20 31 35 2E 39 35 0D 0A 1A 0A page 15.95....
000140: 1A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000150: 20 20 20 20 23 42 42 43 43 0D 0A 0D 0A 0D 0A 20 #BBCC......
000160: 20 20 20 20 20 20 47 65 74 20 74 68 65 20 6F 72 Get the or
000170: 69 67 69 6E 20 6F 66 20 74 68 65 20 75 73 65 72 igin of the user
000180: 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 rrupt...
000190: 20 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 All othe
0001A0: 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 r registers pres
0001B0: 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 erved.......
0001C0: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 Notes:....
0001D0: 20 20 20 20 54 68 65 20 6D 6F 64 65 73 20 61 72 The modes ar
0001E0: 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 e:....
0001F0: 20 20 20 20 20 20 4D 6F 64 65 20 30 3A 20 20 20 Mode 0:
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 39 32 3A 20 53 43 52 20 43 4C 45 41 52 92: SCR CLEAR
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 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 43 31 34 0D 0A 0D 0A 0D 0A 20 #BC14......
000060: 20 20 20 20 20 20 43 6C 65 61 72 20 74 68 65 20 Clear the
000070: 73 63 72 65 65 6E 20 28 74 6F 20 69 6E 6B 20 7A screen (to ink z
000080: 65 72 6F 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ero).......
000090: 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 Action:......
0000A0: 20 20 20 20 20 20 43 6C 65 61 72 20 74 68 65 20 Clear the
0000B0: 77 68 6F 6C 65 20 6F 66 20 73 63 72 65 65 6E 20 whole of screen
0000C0: 6D 65 6D 6F 72 79 20 74 6F 20 7A 65 72 6F 2E 0D memory to zero..
0000D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
0000E0: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
0000F0: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E ... No con
000100: 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 ditions.......
000110: 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 Exit condit
000120: 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions:......
000130: 20 20 41 46 2C 42 43 2C 44 45 20 61 6E 64 20 48 AF,BC,DE and H
000140: 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 L corrupt...
000150: 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 All other reg
000160: 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 isters preserved
000170: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ....... No
000180: 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 tes:......
000190: 20 41 74 20 61 6E 20 65 61 72 6C 79 20 73 74 61 At an early sta
0001A0: 67 65 20 74 68 65 20 69 6E 6B 20 66 6C 61 73 68 ge the ink flash
0001B0: 69 6E 67 20 69 73 20 74 75 72 6E 65 64 20 6F 66 ing is turned of
0001C0: 66 20 61 6E 64 20 74 68 65 20 69 6E 6B 73 20 61 f and the inks a
0001D0: 72 65 20 20 61 6C 6C 0D 0A 20 20 20 20 20 20 20 re all..
0001E0: 73 65 74 20 74 6F 20 74 68 65 20 73 61 6D 65 20 set to the same
0001F0: 63 6F 6C 6F 75 72 20 61 73 20 69 6E 6B 20 30 2E colour as ink 0.
Size : 512 (Real : 512)
000000: 20 54 68 69 73 20 6D 61 6B 65 73 20 74 68 65 20 This makes the
000010: 73 63 72 65 65 6E 20 63 6C 65 61 72 69 6E 67 20 screen clearing
000020: 61 70 70 65 61 72 0D 0A 20 20 20 20 20 20 20 69 appear.. i
000030: 6E 73 74 61 6E 74 61 6E 65 6F 75 73 2E 20 57 68 nstantaneous. Wh
000040: 65 6E 20 61 6C 6C 20 74 68 65 20 73 63 72 65 65 en all the scree
000050: 6E 20 6D 65 6D 6F 72 79 20 68 61 73 20 62 65 65 n memory has bee
000060: 6E 20 73 65 74 20 74 6F 20 20 30 20 20 74 68 65 n set to 0 the
000070: 20 20 69 6E 6B 0D 0A 20 20 20 20 20 20 20 66 6C ink.. fl
000080: 61 73 68 69 6E 67 20 69 73 20 74 75 72 6E 65 64 ashing is turned
000090: 20 62 61 63 6B 20 6F 6E 20 28 61 6E 20 69 6E 6B back on (an ink
0000A0: 20 66 6C 61 73 68 69 6E 67 20 20 65 76 65 6E 74 flashing event
0000B0: 20 20 69 73 20 20 61 64 64 65 64 20 20 74 6F 20 is added to
0000C0: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 66 72 61 the.. fra
0000D0: 6D 65 20 66 6C 79 62 61 63 6B 20 71 75 65 75 65 me flyback queue
0000E0: 29 20 61 6E 64 20 61 6C 6C 20 69 6E 6B 73 20 61 ) and all inks a
0000F0: 72 65 20 73 65 74 20 74 6F 20 74 68 65 69 72 20 re set to their
000100: 70 72 6F 70 65 72 20 63 6F 6C 6F 75 72 73 2E 0D proper colours..
000110: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
000120: 68 65 20 74 65 78 74 20 70 61 70 65 72 20 69 6E he text paper in
000130: 6B 20 61 6E 64 20 67 72 61 70 68 69 63 73 20 70 k and graphics p
000140: 61 70 65 72 20 69 6E 6B 20 61 72 65 20 6E 6F 74 aper ink are not
000150: 20 73 65 74 20 74 6F 20 69 6E 6B 20 30 20 74 68 set to ink 0 th
000160: 69 73 0D 0A 20 20 20 20 20 20 20 77 69 6C 6C 20 is.. will
000170: 62 65 63 6F 6D 65 20 61 70 70 61 72 65 6E 74 20 become apparent
000180: 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 20 20 77 on the screen w
000190: 68 65 6E 20 20 63 68 61 72 61 63 74 65 72 73 20 hen characters
0001A0: 20 61 72 65 20 20 77 72 69 74 74 65 6E 20 20 6F are written o
0001B0: 72 0D 0A 20 20 20 20 20 20 20 77 69 6E 64 6F 77 r.. window
0001C0: 73 20 61 72 65 20 63 6C 65 61 72 65 64 2E 0D 0A s are cleared...
0001D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 73 .... The s
0001E0: 63 72 65 65 6E 20 6F 66 66 73 65 74 20 69 73 20 creen offset is
0001F0: 73 65 74 20 74 6F 20 7A 65 72 6F 2E 0D 0A 0D 0A set to zero.....
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 .... Relat
000010: 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D ed entries:.....
000020: 0A 20 20 20 20 20 20 20 47 52 41 20 43 4C 45 41 . GRA CLEA
000030: 52 20 57 49 4E 44 4F 57 0D 0A 20 20 20 20 20 20 R WINDOW..
000040: 20 53 43 52 20 4D 4F 44 45 20 43 4C 45 41 52 0D SCR MODE CLEAR.
000050: 0A 20 20 20 20 20 20 20 54 58 54 20 43 4C 45 41 . TXT CLEA
000060: 52 20 57 49 4E 44 4F 57 0D 0A 0D 0A 0D 0A 0D 0A R WINDOW........
000070: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000080: 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 AMSTRAD CPC46
000090: 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 4/664/6128 FIRMW
0000A0: 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 ARE
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
0000C0: 61 67 65 20 31 35 2E 39 36 0D 0A 0D 0A 0D 0A 0D age 15.96.......
0000D0: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 39 33 ....... 93
0000E0: 3A 20 53 43 52 20 43 48 41 52 20 4C 49 4D 49 54 : SCR CHAR LIMIT
0000F0: 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 S
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 #
000120: 42 43 31 37 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 BC17......
000130: 20 41 73 6B 20 74 68 65 20 73 69 7A 65 20 6F 66 Ask the size of
000140: 20 74 68 65 20 73 63 72 65 65 6E 20 69 6E 20 63 the screen in c
000150: 68 61 72 61 63 74 65 72 73 2E 0D 0A 0D 0A 0D 0A haracters.......
000160: 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A Action:..
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 47 65 74 20 74 .... Get t
000180: 68 65 20 6C 61 73 74 20 63 68 61 72 61 63 74 65 he last characte
000190: 72 20 72 6F 77 20 61 6E 64 20 63 6F 6C 75 6D 6E r row and column
0001A0: 20 6F 6E 20 74 68 65 20 20 73 63 72 65 65 6E 20 on the screen
0001B0: 20 69 6E 20 20 74 68 65 20 20 63 75 72 72 65 6E in the curren
0001C0: 74 0D 0A 20 20 20 20 20 20 20 6D 6F 64 65 2E 0D t.. mode..
0001D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
0001E0: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
0001F0: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E ... No con
Size : 512 (Real : 512)
000000: 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 ditions.......
000010: 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 Exit condit
000020: 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions:......
000030: 20 20 42 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 B contains the
000040: 20 70 68 79 73 69 63 61 6C 20 6C 61 73 74 20 63 physical last c
000050: 6F 6C 75 6D 6E 20 6F 6E 20 74 68 65 20 73 63 72 olumn on the scr
000060: 65 65 6E 2E 0D 0A 20 20 20 20 20 20 20 43 20 63 een... C c
000070: 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 68 79 73 ontains the phys
000080: 69 63 61 6C 20 6C 61 73 74 20 72 6F 77 20 6F 6E ical last row on
000090: 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A the screen.....
0000A0: 0D 0A 20 20 20 20 20 20 20 41 46 20 63 6F 72 72 .. AF corr
0000B0: 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C upt... All
0000C0: 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 other registers
0000D0: 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D preserved......
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A ... Notes:
0000F0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
000100: 20 73 63 72 65 65 6E 20 65 64 67 65 73 20 61 72 screen edges ar
000110: 65 20 67 69 76 65 6E 20 69 6E 20 70 68 79 73 69 e given in physi
000120: 63 61 6C 20 63 6F 6F 72 64 69 6E 61 74 65 73 2E cal coordinates.
000130: 20 69 2E 65 2E 20 52 6F 77 20 30 2C 20 63 6F 6C i.e. Row 0, col
000140: 75 6D 6E 0D 0A 20 20 20 20 20 20 20 30 20 69 73 umn.. 0 is
000150: 20 74 68 65 20 74 6F 70 20 6C 65 66 74 20 63 6F the top left co
000160: 72 6E 65 72 20 6F 66 20 74 68 65 20 20 73 63 72 rner of the scr
000170: 65 65 6E 2E 20 20 54 68 69 73 20 20 6D 65 61 6E een. This mean
000180: 73 20 20 74 68 61 74 20 20 74 68 65 20 20 6C 61 s that the la
000190: 73 74 0D 0A 20 20 20 20 20 20 20 63 6F 6C 75 6D st.. colum
0001A0: 6E 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 20 n on the screen
0001B0: 69 73 20 31 39 20 69 6E 20 6D 6F 64 65 20 30 2C is 19 in mode 0,
0001C0: 20 33 39 20 69 6E 20 6D 6F 64 65 20 31 20 61 6E 39 in mode 1 an
0001D0: 64 20 37 39 20 69 6E 20 20 6D 6F 64 65 20 20 32 d 79 in mode 2
0001E0: 2E 0D 0A 20 20 20 20 20 20 20 54 68 65 20 6C 61 ... The la
0001F0: 73 74 20 72 6F 77 20 6F 6E 20 74 68 65 20 73 63 st row on the sc
Size : 512 (Real : 512)
000000: 72 65 65 6E 20 69 73 20 32 34 20 69 6E 20 61 6C reen is 24 in al
000010: 6C 20 6D 6F 64 65 73 2E 0D 0A 0D 0A 0D 0A 0D 0A l modes.........
000020: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
000030: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 ntries:......
000040: 20 20 20 20 53 43 52 20 47 45 54 20 4D 4F 44 45 SCR GET MODE
000050: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000060: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
000070: 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 AMSTRAD CPC
000080: 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 464/664/6128 FIR
000090: 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 MWARE
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 70 61 67 65 20 31 35 2E 39 37 0D 0A 0D 0A 0D page 15.97.....
0000C0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
0000D0: 39 34 3A 20 53 43 52 20 43 48 41 52 20 50 4F 53 94: SCR CHAR POS
0000E0: 49 54 49 4F 4E 20 20 20 20 20 20 20 20 20 20 20 ITION
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 23 42 43 31 41 0D 0A 0D 0A 20 20 20 20 20 20 #BC1A....
000120: 20 43 6F 6E 76 65 72 74 20 70 68 79 73 69 63 61 Convert physica
000130: 6C 20 63 6F 6F 72 64 69 6E 61 74 65 73 20 74 6F l coordinates to
000140: 20 61 20 73 63 72 65 65 6E 20 70 6F 73 69 74 69 a screen positi
000150: 6F 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 on..... Ac
000160: 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 tion:....
000170: 43 61 6C 63 75 6C 61 74 65 20 74 68 65 20 73 63 Calculate the sc
000180: 72 65 65 6E 20 61 64 64 72 65 73 73 20 6F 66 20 reen address of
000190: 74 68 65 20 74 6F 70 20 6C 65 66 74 20 20 63 6F the top left co
0001A0: 72 6E 65 72 20 20 6F 66 20 20 61 20 20 63 68 61 rner of a cha
0001B0: 72 61 63 74 65 72 0D 0A 20 20 20 20 20 20 20 70 racter.. p
0001C0: 6F 73 69 74 69 6F 6E 20 6F 6E 20 74 68 65 20 73 osition on the s
0001D0: 63 72 65 65 6E 2E 20 41 6C 73 6F 20 72 65 74 75 creen. Also retu
0001E0: 72 6E 73 20 74 68 65 20 77 69 64 74 68 20 6F 66 rns the width of
0001F0: 20 61 20 63 68 61 72 61 63 74 65 72 20 20 69 6E a character in
Size : 512 (Real : 512)
000000: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 63 75 the.. cu
000010: 72 72 65 6E 74 20 6D 6F 64 65 2E 0D 0A 0D 0A 20 rrent mode.....
000020: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
000030: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 itions:....
000040: 20 20 48 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 H contains the
000050: 20 70 68 79 73 69 63 61 6C 20 63 68 61 72 61 63 physical charac
000060: 74 65 72 20 63 6F 6C 75 6D 6E 2E 0D 0A 20 20 20 ter column...
000070: 20 20 20 20 4C 20 63 6F 6E 74 61 69 6E 73 20 74 L contains t
000080: 68 65 20 70 68 79 73 69 63 61 6C 20 63 68 61 72 he physical char
000090: 61 63 74 65 72 20 72 6F 77 2E 0D 0A 0D 0A 20 20 acter row.....
0000A0: 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 Exit condit
0000B0: 69 6F 6E 73 0D 0A 0D 0A 20 20 20 20 20 20 20 48 ions.... H
0000C0: 4C 20 63 6F 6E 74 61 69 6E 73 20 20 74 68 65 20 L contains the
0000D0: 20 73 63 72 65 65 6E 20 20 61 64 64 72 65 73 73 screen address
0000E0: 20 20 6F 66 20 20 74 68 65 20 20 74 6F 70 20 20 of the top
0000F0: 6C 65 66 74 20 20 63 6F 72 6E 65 72 20 20 6F 66 left corner of
000100: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 63 68 the.. ch
000110: 61 72 61 63 74 65 72 2E 0D 0A 20 20 20 20 20 20 aracter...
000120: 20 42 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 B contains the
000130: 77 69 64 74 68 20 69 6E 20 62 79 74 65 73 20 6F width in bytes o
000140: 66 20 61 20 63 68 61 72 61 63 74 65 72 20 69 6E f a character in
000150: 20 73 63 72 65 65 6E 20 6D 65 6D 6F 72 79 2E 0D screen memory..
000160: 0A 0D 0A 20 20 20 20 20 20 20 41 46 20 63 6F 72 ... AF cor
000170: 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C rupt... Al
000180: 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 l other register
000190: 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A s preserved.....
0001A0: 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D Notes:...
0001B0: 0A 20 20 20 20 20 20 20 54 68 65 20 63 68 61 72 . The char
0001C0: 61 63 74 65 72 20 70 6F 73 69 74 69 6F 6E 20 69 acter position i
0001D0: 73 20 67 69 76 65 6E 20 69 6E 20 70 68 79 73 69 s given in physi
0001E0: 63 61 6C 20 63 6F 6F 72 64 69 6E 61 74 65 73 2E cal coordinates.
0001F0: 20 69 2E 65 2E 20 20 52 6F 77 20 20 30 2C 0D 0A i.e. Row 0,..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 63 6F 6C 75 6D 6E 20 30 20 column 0
000010: 69 73 20 74 68 65 20 74 6F 70 20 6C 65 66 74 20 is the top left
000020: 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 20 73 63 corner of the sc
000030: 72 65 65 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 reen.....
000040: 54 68 65 20 63 68 61 72 61 63 74 65 72 20 70 6F The character po
000050: 73 69 74 69 6F 6E 20 67 69 76 65 6E 20 20 69 73 sition given is
000060: 20 20 6E 6F 74 20 20 63 68 65 63 6B 65 64 20 20 not checked
000070: 66 6F 72 20 20 62 65 69 6E 67 20 20 6C 65 67 61 for being lega
000080: 6C 2E 20 20 41 6E 0D 0A 20 20 20 20 20 20 20 69 l. An.. i
000090: 6C 6C 65 67 61 6C 20 70 6F 73 69 74 69 6F 6E 20 llegal position
0000A0: 28 6F 6E 65 20 6F 75 74 73 69 64 65 20 74 68 65 (one outside the
0000B0: 20 6C 69 6D 69 74 73 20 6F 66 20 74 68 65 20 73 limits of the s
0000C0: 63 72 65 65 6E 29 20 77 69 6C 6C 20 20 67 65 6E creen) will gen
0000D0: 65 72 61 74 65 0D 0A 20 20 20 20 20 20 20 61 20 erate.. a
0000E0: 6D 65 61 6E 69 6E 67 6C 65 73 73 20 73 63 72 65 meaningless scre
0000F0: 65 6E 20 61 64 64 72 65 73 73 2E 0D 0A 0D 0A 20 en address.....
000100: 20 20 20 20 20 20 54 68 65 20 63 6F 6E 76 65 72 The conver
000110: 73 69 6F 6E 20 74 6F 20 73 63 72 65 65 6E 20 61 sion to screen a
000120: 64 64 72 65 73 73 20 75 73 65 73 20 74 68 65 20 ddress uses the
000130: 66 6F 6C 6C 6F 77 69 6E 67 20 66 6F 72 6D 75 6C following formul
000140: 61 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 a:....
000150: 20 20 20 20 20 20 53 63 72 65 65 6E 20 61 64 64 Screen add
000160: 72 65 73 73 20 3D 20 53 63 72 65 65 6E 20 62 61 ress = Screen ba
000170: 73 65 20 2B 20 28 42 6C 6F 63 6B 20 6F 66 66 73 se + (Block offs
000180: 65 74 20 4D 4F 44 20 23 30 38 30 30 29 0D 0A 0D et MOD #0800)...
000190: 0A 20 20 20 20 20 20 20 77 68 65 72 65 3A 0D 0A . where:..
0001A0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001B0: 20 20 42 6C 6F 63 6B 20 6F 66 66 73 65 74 20 3D Block offset =
0001C0: 20 28 52 6F 77 20 2A 20 38 30 29 20 2B 20 28 43 (Row * 80) + (C
0001D0: 6F 6C 75 6D 6E 20 2A 20 57 69 64 74 68 29 20 2B olumn * Width) +
0001E0: 20 53 63 72 65 65 6E 20 6F 66 66 73 65 74 2E 0D Screen offset..
0001F0: 0A 0D 0A 20 20 20 20 20 20 20 61 6E 64 3A 0D 0A ... and:..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000010: 53 63 72 65 65 6E 20 62 61 73 65 20 20 20 20 69 Screen base i
000020: 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 s the address of
000030: 20 74 68 65 20 73 74 61 72 74 20 6F 66 20 73 63 the start of sc
000040: 72 65 65 6E 20 6D 65 6D 6F 72 79 2E 0D 0A 0D 0A reen memory.....
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 57 69 64 74 68 20 20 20 20 20 20 20 20 20 20 69 Width i
000070: 73 20 74 68 65 20 77 69 64 74 68 20 6F 66 20 61 s the width of a
000080: 20 63 68 61 72 61 63 74 65 72 20 69 6E 20 20 62 character in b
000090: 79 74 65 73 20 20 69 6E 20 20 74 68 65 0D 0A 20 ytes in the..
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 20 63 75 cu
0000C0: 72 72 65 6E 74 20 6D 6F 64 65 20 28 34 20 69 6E rrent mode (4 in
0000D0: 20 6D 6F 64 65 20 30 2C 20 32 20 69 6E 20 6D 6F mode 0, 2 in mo
0000E0: 64 65 20 31 2C 20 20 31 20 20 69 6E 0D 0A 20 20 de 1, 1 in..
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 6D 6F 64 mod
000110: 65 20 32 29 0D 0A 0D 0A 20 20 20 20 20 20 20 20 e 2)....
000120: 20 20 20 20 20 20 20 20 53 63 72 65 65 6E 20 6F Screen o
000130: 66 66 73 65 74 20 20 69 73 20 6F 66 66 73 65 74 ffset is offset
000140: 20 6F 66 20 74 68 65 20 66 69 72 73 74 20 62 79 of the first by
000150: 74 65 20 74 6F 20 62 65 20 64 69 73 70 6C 61 79 te to be display
000160: 65 64 20 6F 6E 0D 0A 20 20 20 20 20 20 20 20 20 ed on..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 20 20 74 68 65 20 73 63 72 65 65 6E the screen
000190: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
0001A0: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
0001B0: 20 20 20 20 20 20 20 53 43 52 20 44 4F 54 20 50 SCR DOT P
0001C0: 4F 53 49 54 49 4F 4E 0D 0A 20 20 20 20 20 20 20 OSITION..
0001D0: 53 43 52 20 4E 45 58 54 20 42 59 54 45 0D 0A 20 SCR NEXT BYTE..
0001E0: 20 20 20 20 20 20 53 43 52 20 4E 45 58 54 20 4C SCR NEXT L
0001F0: 49 4E 45 0D 0A 20 20 20 20 20 20 20 53 43 52 20 INE.. SCR
Size : 512 (Real : 512)
000000: 50 52 45 56 20 42 59 54 45 0D 0A 20 20 20 20 20 PREV BYTE..
000010: 20 20 53 43 52 20 50 52 45 56 20 4C 49 4E 45 0D SCR PREV LINE.
000020: 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 ... AMSTRA
000030: 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 D CPC464/664/612
000040: 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 8 FIRMWARE
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 39 38 page 15.98
000070: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
000080: 20 20 20 20 20 39 35 3A 20 53 43 52 20 44 4F 54 95: SCR DOT
000090: 20 50 4F 53 49 54 49 4F 4E 20 20 20 20 20 20 20 POSITION
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 20 20 20
0000C0: 20 20 20 20 20 20 23 42 43 31 44 0D 0A 0D 0A 20 #BC1D....
0000D0: 20 20 20 20 20 20 43 6F 6E 76 65 72 74 20 62 61 Convert ba
0000E0: 73 20 63 6F 6F 72 64 69 6E 61 74 65 73 20 74 6F s coordinates to
0000F0: 20 61 20 73 63 72 65 65 6E 20 70 6F 73 69 74 69 a screen positi
000100: 6F 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 on..... Ac
000110: 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 tion:....
000120: 43 61 6C 63 75 6C 61 74 65 20 74 68 65 20 73 63 Calculate the sc
000130: 72 65 65 6E 20 61 64 64 72 65 73 73 20 61 6E 64 reen address and
000140: 20 6D 61 73 6B 20 66 6F 72 20 20 61 20 20 70 69 mask for a pi
000150: 78 65 6C 2E 20 20 41 6C 73 6F 20 20 72 65 74 75 xel. Also retu
000160: 72 6E 20 20 61 6E 0D 0A 20 20 20 20 20 20 20 69 rn an.. i
000170: 6E 64 69 63 61 74 69 6F 6E 20 6F 66 20 74 68 65 ndication of the
000180: 20 6E 75 6D 62 65 72 20 6F 66 20 70 69 78 65 6C number of pixel
000190: 73 20 69 6E 20 61 20 73 63 72 65 65 6E 20 20 62 s in a screen b
0001A0: 79 74 65 20 20 69 6E 20 20 74 68 65 20 20 63 75 yte in the cu
0001B0: 72 72 65 6E 74 0D 0A 20 20 20 20 20 20 20 6D 6F rrent.. mo
0001C0: 64 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E de..... En
0001D0: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D try conditions:.
0001E0: 0A 0D 0A 20 20 20 20 20 20 20 44 45 20 63 6F 6E ... DE con
0001F0: 74 61 69 6E 73 20 74 68 65 20 62 61 73 65 20 58 tains the base X
Size : 512 (Real : 512)
000000: 20 63 6F 6F 72 64 69 6E 61 74 65 20 6F 66 20 61 coordinate of a
000010: 20 70 69 78 65 6C 2E 0D 0A 20 20 20 20 20 20 20 pixel...
000020: 48 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 HL contains the
000030: 62 61 73 65 20 59 20 63 6F 6F 72 64 69 6E 61 74 base Y coordinat
000040: 65 20 6F 66 20 61 20 70 69 78 65 6C 2E 0D 0A 0D e of a pixel....
000050: 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E . Exit con
000060: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 ditions:....
000070: 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 74 HL contains t
000080: 68 65 20 73 63 72 65 65 6E 20 61 64 64 72 65 73 he screen addres
000090: 73 20 6F 66 20 74 68 65 20 70 69 78 65 6C 2E 0D s of the pixel..
0000A0: 0A 20 20 20 20 20 20 20 43 20 63 6F 6E 74 61 69 . C contai
0000B0: 6E 73 20 74 68 65 20 6D 61 73 6B 20 66 6F 72 20 ns the mask for
0000C0: 74 68 65 20 70 69 78 65 6C 2E 0D 0A 20 20 20 20 the pixel...
0000D0: 20 20 20 42 20 63 6F 6E 74 61 69 6E 73 20 6F 6E B contains on
0000E0: 65 20 6C 65 73 73 20 74 68 61 6E 20 74 68 65 20 e less than the
0000F0: 6E 75 6D 62 65 72 20 6F 66 20 70 69 78 65 6C 73 number of pixels
000100: 20 69 6E 20 61 20 62 79 74 65 2E 0D 0A 0D 0A 20 in a byte.....
000110: 20 20 20 20 20 20 41 46 20 61 6E 64 20 44 45 20 AF and DE
000120: 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 corrupt...
000130: 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 All other regis
000140: 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D ters preserved..
000150: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A ... Notes:
000160: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 70 .... The p
000170: 69 78 65 6C 20 70 6F 73 69 74 69 6F 6E 20 69 73 ixel position is
000180: 20 67 69 76 65 6E 20 69 6E 20 62 61 73 65 20 63 given in base c
000190: 6F 6F 72 64 69 6E 61 74 65 73 2E 20 20 69 2E 65 oordinates. i.e
0001A0: 2E 20 20 28 30 2C 30 29 20 20 69 73 20 20 74 68 . (0,0) is th
0001B0: 65 0D 0A 20 20 20 20 20 20 20 70 69 78 65 6C 20 e.. pixel
0001C0: 69 6E 20 74 68 65 20 62 6F 74 74 6F 6D 20 6C 65 in the bottom le
0001D0: 66 74 20 63 6F 72 6E 65 72 20 6F 66 20 20 74 68 ft corner of th
0001E0: 65 20 20 73 63 72 65 65 6E 20 20 61 6E 64 20 20 e screen and
0001F0: 65 61 63 68 20 20 63 6F 6F 72 64 69 6E 61 74 65 each coordinate
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 70 6F 73 69 74 69 6F .. positio
000010: 6E 20 72 65 66 65 72 73 20 74 6F 20 61 20 73 69 n refers to a si
000020: 6E 67 6C 65 20 70 69 78 65 6C 2E 0D 0A 0D 0A 20 ngle pixel.....
000030: 20 20 20 20 20 20 54 68 65 20 70 69 78 65 6C 20 The pixel
000040: 70 6F 73 69 74 69 6F 6E 20 69 73 20 6E 6F 74 20 position is not
000050: 63 68 65 63 6B 65 64 20 66 6F 72 20 62 65 69 6E checked for bein
000060: 67 20 6C 65 67 61 6C 20 28 77 69 74 68 69 6E 20 g legal (within
000070: 20 74 68 65 20 20 6C 69 6D 69 74 73 0D 0A 20 20 the limits..
000080: 20 20 20 20 20 6F 66 20 74 68 65 20 73 63 72 65 of the scre
000090: 65 6E 29 2E 20 49 66 20 69 74 20 69 73 20 6E 6F en). If it is no
0000A0: 74 20 74 68 65 6E 20 74 68 65 20 20 73 63 72 65 t then the scre
0000B0: 65 6E 20 20 61 64 64 72 65 73 73 20 20 63 61 6C en address cal
0000C0: 63 75 6C 61 74 65 64 20 20 69 73 0D 0A 20 20 20 culated is..
0000D0: 20 20 20 20 6D 65 61 6E 69 6E 67 6C 65 73 73 2E meaningless.
0000E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 63 .... The c
0000F0: 6F 6E 76 65 72 73 69 6F 6E 20 74 6F 20 73 63 72 onversion to scr
000100: 65 65 6E 20 61 64 64 72 65 73 73 20 75 73 65 73 een address uses
000110: 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 66 the following f
000120: 6F 72 6D 75 6C 61 3A 0D 0A 0D 0A 20 20 20 20 20 ormula:....
000130: 20 20 53 63 72 65 65 6E 20 61 64 64 72 65 73 73 Screen address
000140: 3D 53 63 72 65 65 6E 20 62 61 73 65 2B 28 4C 69 =Screen base+(Li
000150: 6E 65 20 69 6E 20 72 6F 77 2A 23 30 38 30 30 29 ne in row*#0800)
000160: 2B 28 52 6F 77 20 6F 66 66 73 65 74 20 4D 4F 44 +(Row offset MOD
000170: 20 23 30 38 30 30 29 0D 0A 0D 0A 20 20 20 20 20 #0800)....
000180: 20 20 57 68 65 72 65 3A 0D 0A 0D 0A 20 20 20 20 Where:....
000190: 20 20 20 20 20 20 20 53 63 72 65 65 6E 20 62 61 Screen ba
0001A0: 73 65 20 20 20 69 73 20 74 68 65 20 73 74 61 72 se is the star
0001B0: 74 20 61 64 64 72 65 73 73 20 6F 66 20 73 63 72 t address of scr
0001C0: 65 65 6E 20 6D 65 6D 6F 72 79 0D 0A 0D 0A 20 20 een memory....
0001D0: 20 20 20 20 20 20 20 20 20 4C 69 6E 65 20 69 6E Line in
0001E0: 20 72 6F 77 20 20 20 3D 20 28 31 39 39 20 2D 20 row = (199 -
0001F0: 59 20 63 6F 6F 72 64 69 6E 61 74 65 29 20 4D 4F Y coordinate) MO
Size : 512 (Real : 512)
000000: 44 20 38 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 D 8....
000010: 20 20 52 6F 77 20 6F 66 66 73 65 74 20 20 20 20 Row offset
000020: 3D 20 28 52 6F 77 20 6E 75 6D 62 65 72 20 2A 20 = (Row number *
000030: 38 30 29 20 2B 20 42 79 74 65 20 69 6E 20 72 6F 80) + Byte in ro
000040: 77 20 2B 20 53 63 72 65 65 6E 20 6F 66 66 73 65 w + Screen offse
000050: 74 0D 0A 0D 0A 20 20 20 20 20 20 20 61 6E 64 3A t.... and:
000060: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 52 .... R
000070: 6F 77 20 6E 75 6D 62 65 72 20 20 20 20 3D 20 28 ow number = (
000080: 31 39 39 20 2D 20 59 20 63 6F 6F 72 64 69 6E 61 199 - Y coordina
000090: 74 65 29 2F 38 0D 0A 0D 0A 20 20 20 20 20 20 20 te)/8....
0000A0: 20 20 20 20 42 79 74 65 20 69 6E 20 72 6F 77 20 Byte in row
0000B0: 20 20 3D 20 58 20 63 6F 6F 72 64 69 6E 61 74 65 = X coordinate
0000C0: 2F 42 79 74 65 20 77 69 64 74 68 0D 0A 0D 0A 20 /Byte width....
0000D0: 20 20 20 20 20 20 20 20 20 20 53 63 72 65 65 6E Screen
0000E0: 20 6F 66 66 73 65 74 20 69 73 20 74 68 65 20 6F offset is the o
0000F0: 66 66 73 65 74 20 6F 66 20 74 68 65 20 66 69 72 ffset of the fir
000100: 73 74 20 62 79 74 65 20 74 6F 20 62 65 20 20 64 st byte to be d
000110: 69 73 70 6C 61 79 65 64 20 20 6F 6E 0D 0A 20 20 isplayed on..
000120: 20 20 20 20 20 20 20 20 20 74 68 65 20 73 63 72 the scr
000130: 65 65 6E 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A een.............
000140: 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 AMSTRAD C
000150: 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 PC464/664/6128 F
000160: 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 IRMWARE
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 70 61 67 65 20 31 35 2E 39 39 0D 0A 0D page 15.99...
000190: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
0001A0: 20 20 20 20 20 20 42 79 74 65 20 77 69 64 74 68 Byte width
0001B0: 20 20 20 20 69 73 20 74 68 65 20 6E 75 6D 62 65 is the numbe
0001C0: 72 20 6F 66 20 70 69 78 65 6C 73 20 69 6E 20 61 r of pixels in a
0001D0: 20 20 62 79 74 65 20 20 69 6E 20 20 74 68 65 20 byte in the
0001E0: 20 63 75 72 72 65 6E 74 0D 0A 20 20 20 20 20 20 current..
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 6D 6F 64 65 20 28 32 20 69 6E 20 6D 6F mode (2 in mo
000010: 64 65 20 30 2C 20 34 20 69 6E 20 6D 6F 64 65 20 de 0, 4 in mode
000020: 31 2C 20 38 20 69 6E 20 6D 6F 64 65 20 32 29 2E 1, 8 in mode 2).
000030: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 58 20 63 ...... X c
000040: 6F 6F 72 64 69 6E 61 74 65 20 4D 4F 44 20 42 79 oordinate MOD By
000050: 74 65 20 77 69 64 74 68 20 69 73 20 75 73 65 64 te width is used
000060: 20 74 6F 20 20 63 61 6C 63 75 6C 61 74 65 20 20 to calculate
000070: 74 68 65 20 20 6D 61 73 6B 20 20 66 6F 72 20 20 the mask for
000080: 74 68 65 0D 0A 20 20 20 20 20 20 20 61 70 70 72 the.. appr
000090: 6F 70 72 69 61 74 65 20 70 69 78 65 6C 2E 0D 0A opriate pixel...
0000A0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C ...... Rel
0000B0: 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D ated entries:...
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 20 46 52 ... GRA FR
0000D0: 4F 4D 20 55 53 45 52 0D 0A 20 20 20 20 20 20 20 OM USER..
0000E0: 53 43 52 20 43 48 41 52 20 50 4F 53 49 54 49 4F SCR CHAR POSITIO
0000F0: 4E 0D 0A 20 20 20 20 20 20 20 53 43 52 20 4E 45 N.. SCR NE
000100: 58 54 20 42 59 54 45 0D 0A 20 20 20 20 20 20 20 XT BYTE..
000110: 53 43 52 20 4E 45 58 54 20 4C 49 4E 45 0D 0A 20 SCR NEXT LINE..
000120: 20 20 20 20 20 20 53 43 52 20 50 52 45 56 20 42 SCR PREV B
000130: 59 54 45 0D 0A 20 20 20 20 20 20 20 53 43 52 20 YTE.. SCR
000140: 50 52 45 56 20 4C 49 4E 45 0D 0A 0D 0A 0D 0A 0D PREV LINE.......
000150: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000160: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000170: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000180: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000190: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
0001A0: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
0001B0: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
0001C0: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
0001E0: 61 67 65 20 31 35 2E 31 30 30 0D 0A 0D 0A 0D 0A age 15.100......
0001F0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 39 ........ 9
Size : 512 (Real : 512)
000000: 36 3A 20 53 43 52 20 4E 45 58 54 20 42 59 54 45 6: SCR NEXT BYTE
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 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 20
000040: 23 42 43 32 30 0D 0A 0D 0A 0D 0A 20 20 20 20 20 #BC20......
000050: 20 20 53 74 65 70 20 61 20 73 63 72 65 65 6E 20 Step a screen
000060: 61 64 64 72 65 73 73 20 72 69 67 68 74 20 6F 6E address right on
000070: 65 20 62 79 74 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 e byte.......
000080: 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D Action:.....
000090: 0A 20 20 20 20 20 20 20 43 61 6C 63 75 6C 61 74 . Calculat
0000A0: 65 20 74 68 65 20 73 63 72 65 65 6E 20 61 64 64 e the screen add
0000B0: 72 65 73 73 20 6F 66 20 74 68 65 20 62 79 74 65 ress of the byte
0000C0: 20 72 69 67 68 74 20 6F 66 20 74 68 65 20 73 75 right of the su
0000D0: 70 70 6C 69 65 64 20 20 73 63 72 65 65 6E 0D 0A pplied screen..
0000E0: 20 20 20 20 20 20 20 61 64 64 72 65 73 73 2E 0D address..
0000F0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
000100: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
000110: 0A 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 6F 6E ... HL con
000120: 74 61 69 6E 73 20 61 20 73 63 72 65 65 6E 20 61 tains a screen a
000130: 64 64 72 65 73 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 ddress.......
000140: 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 Exit conditi
000150: 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ons:......
000160: 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 HL contains the
000170: 20 75 70 64 61 74 65 64 20 73 63 72 65 65 6E 20 updated screen
000180: 61 64 64 72 65 73 73 2E 0D 0A 0D 0A 0D 0A 20 20 address.......
000190: 20 20 20 20 20 41 46 20 63 6F 72 72 75 70 74 2E AF corrupt.
0001A0: 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 .. All oth
0001B0: 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 er registers pre
0001C0: 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 served.......
0001D0: 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A Notes:......
0001E0: 20 20 20 20 20 20 20 4D 6F 76 69 6E 67 20 6F 66 Moving of
0001F0: 66 20 74 68 65 20 65 6E 64 20 6F 66 20 74 68 65 f the end of the
Size : 512 (Real : 512)
000000: 20 73 63 72 65 65 6E 20 6C 69 6E 65 20 69 73 20 screen line is
000010: 6E 6F 74 20 70 72 65 76 65 6E 74 65 64 2E 20 49 not prevented. I
000020: 74 20 77 69 6C 6C 20 73 69 6D 70 6C 79 0D 0A 20 t will simply..
000030: 20 20 20 20 20 20 70 6F 69 6E 74 20 74 68 65 20 point the
000040: 73 63 72 65 65 6E 20 61 64 64 72 65 73 73 20 20 screen address
000050: 61 74 20 20 74 68 65 20 20 6E 65 78 74 20 20 62 at the next b
000060: 79 74 65 20 20 69 6E 20 20 74 68 65 20 20 73 63 yte in the sc
000070: 72 65 65 6E 20 20 62 6C 6F 63 6B 2E 0D 0A 20 20 reen block...
000080: 20 20 20 20 20 4E 6F 72 6D 61 6C 6C 79 20 74 68 Normally th
000090: 69 73 20 77 69 6C 6C 20 62 65 20 74 68 65 20 66 is will be the f
0000A0: 69 72 73 74 20 62 79 74 65 20 6F 6E 20 61 20 73 irst byte on a s
0000B0: 63 72 65 65 6E 20 6C 69 6E 65 20 38 20 20 73 63 creen line 8 sc
0000C0: 72 65 65 6E 20 20 6C 69 6E 65 73 0D 0A 20 20 20 reen lines..
0000D0: 20 20 20 20 64 6F 77 6E 20 66 72 6F 6D 20 74 68 down from th
0000E0: 65 20 6F 6C 64 20 6C 69 6E 65 20 28 69 2E 65 2E e old line (i.e.
0000F0: 20 64 6F 77 6E 20 6F 6E 65 20 63 68 61 72 61 63 down one charac
000100: 74 65 72 20 72 6F 77 29 2E 20 48 6F 77 65 76 65 ter row). Howeve
000110: 72 2C 20 20 6D 6F 76 69 6E 67 0D 0A 20 20 20 20 r, moving..
000120: 20 20 20 72 69 67 68 74 20 6F 66 66 20 74 68 65 right off the
000130: 20 65 6E 64 20 6F 66 20 74 68 65 20 6C 61 73 74 end of the last
000140: 20 73 63 72 65 65 6E 20 6C 69 6E 65 20 69 6E 20 screen line in
000150: 61 20 62 6C 6F 63 6B 20 77 69 6C 6C 20 70 6F 69 a block will poi
000160: 6E 74 20 74 6F 20 74 68 65 0D 0A 20 20 20 20 20 nt to the..
000170: 20 20 73 63 72 65 65 6E 20 61 64 64 72 65 73 73 screen address
000180: 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6F 66 at the start of
000190: 20 74 68 65 20 34 38 20 62 79 74 65 73 20 69 6E the 48 bytes in
0001A0: 20 74 68 65 20 62 6C 6F 63 6B 20 74 68 61 74 20 the block that
0001B0: 61 72 65 20 20 6E 6F 74 0D 0A 20 20 20 20 20 20 are not..
0001C0: 20 64 69 73 70 6C 61 79 65 64 20 6F 6E 20 74 68 displayed on th
0001D0: 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D 0A 20 e screen.......
0001E0: 20 20 20 20 20 20 54 68 69 73 20 72 6F 75 74 69 This routi
0001F0: 6E 65 20 69 73 20 69 6E 74 65 6E 64 65 64 20 74 ne is intended t
Size : 512 (Real : 512)
000000: 6F 20 62 65 20 75 73 65 64 20 66 6F 72 20 6D 6F o be used for mo
000010: 76 69 6E 67 20 74 68 65 20 73 63 72 65 65 6E 20 ving the screen
000020: 61 64 64 72 65 73 73 20 77 68 65 6E 0D 0A 20 20 address when..
000030: 20 20 20 20 20 70 75 74 74 69 6E 67 20 63 68 61 putting cha
000040: 72 61 63 74 65 72 73 20 6F 72 20 64 72 61 77 69 racters or drawi
000050: 6E 67 20 6C 69 6E 65 73 20 6F 6E 20 74 68 65 20 ng lines on the
000060: 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 screen.........
000070: 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E Related en
000080: 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tries:......
000090: 20 20 20 53 43 52 20 43 48 41 52 20 50 4F 53 49 SCR CHAR POSI
0000A0: 54 49 4F 4E 0D 0A 20 20 20 20 20 20 20 53 43 52 TION.. SCR
0000B0: 20 44 4F 54 20 50 4F 53 49 54 49 4F 4E 0D 0A 20 DOT POSITION..
0000C0: 20 20 20 20 20 20 53 43 52 20 4E 45 58 54 20 4C SCR NEXT L
0000D0: 49 4E 45 0D 0A 20 20 20 20 20 20 20 53 43 52 20 INE.. SCR
0000E0: 50 52 45 56 20 42 59 54 45 0D 0A 20 20 20 20 20 PREV BYTE..
0000F0: 20 20 53 43 52 20 50 52 45 56 20 4C 49 4E 45 0D SCR PREV LINE.
000100: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
000110: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
000120: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
000130: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
000150: 65 20 31 35 2E 31 30 31 0D 0A 0D 0A 0D 0A 0D 0A e 15.101........
000160: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 39 37 3A ...... 97:
000170: 20 53 43 52 20 50 52 45 56 20 42 59 54 45 20 20 SCR PREV BYTE
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 #B
0001B0: 43 32 33 0D 0A 0D 0A 20 20 20 20 20 20 20 53 74 C23.... St
0001C0: 65 70 20 61 20 73 63 72 65 65 6E 20 61 64 64 72 ep a screen addr
0001D0: 65 73 73 20 6C 65 66 74 20 6F 6E 65 20 62 79 74 ess left one byt
0001E0: 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 e....... A
0001F0: 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 ction:......
Size : 512 (Real : 512)
000000: 20 20 20 43 61 6C 63 75 6C 61 74 65 20 74 68 65 Calculate the
000010: 20 73 63 72 65 65 6E 20 61 64 64 72 65 73 73 20 screen address
000020: 6F 66 20 74 68 65 20 62 79 74 65 20 6C 65 66 74 of the byte left
000030: 20 6F 66 20 74 68 65 20 20 73 75 70 70 6C 69 65 of the supplie
000040: 64 20 20 73 63 72 65 65 6E 0D 0A 20 20 20 20 20 d screen..
000050: 20 20 61 64 64 72 65 73 73 2E 0D 0A 0D 0A 0D 0A address.......
000060: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
000070: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
000080: 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 HL contains
000090: 20 61 20 73 63 72 65 65 6E 20 61 64 64 72 65 73 a screen addres
0000A0: 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 s....... E
0000B0: 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D xit conditions:.
0000C0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 ..... HL c
0000D0: 6F 6E 74 61 69 6E 73 20 74 68 65 20 75 70 64 61 ontains the upda
0000E0: 74 65 64 20 73 63 72 65 65 6E 20 61 64 64 72 65 ted screen addre
0000F0: 73 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ss.......
000100: 41 46 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 AF corrupt...
000110: 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 All other re
000120: 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 gisters preserve
000130: 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E d....... N
000140: 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 otes:......
000150: 20 20 4D 6F 76 69 6E 67 20 6F 66 66 20 74 68 65 Moving off the
000160: 20 73 74 61 72 74 20 6F 66 20 74 68 65 20 73 63 start of the sc
000170: 72 65 65 6E 20 6C 69 6E 65 20 20 69 73 20 20 6E reen line is n
000180: 6F 74 20 20 70 72 65 76 65 6E 74 65 64 2E 20 20 ot prevented.
000190: 49 74 20 20 77 69 6C 6C 0D 0A 20 20 20 20 20 20 It will..
0001A0: 20 73 69 6D 70 6C 79 20 70 6F 69 6E 74 20 74 68 simply point th
0001B0: 65 20 73 63 72 65 65 6E 20 61 64 64 72 65 73 73 e screen address
0001C0: 20 61 74 20 74 68 65 20 70 72 65 76 69 6F 75 73 at the previous
0001D0: 20 20 62 79 74 65 20 20 69 6E 20 20 74 68 65 20 byte in the
0001E0: 20 73 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 screen..
0001F0: 62 6C 6F 63 6B 2E 20 4E 6F 72 6D 61 6C 6C 79 20 block. Normally
Size : 512 (Real : 512)
000000: 74 68 69 73 20 77 69 6C 6C 20 62 65 20 74 68 65 this will be the
000010: 20 6C 61 73 74 20 62 79 74 65 20 6F 6E 20 61 20 last byte on a
000020: 73 63 72 65 65 6E 20 6C 69 6E 65 20 20 38 20 20 screen line 8
000030: 73 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 6C screen.. l
000040: 69 6E 65 73 20 75 70 20 66 72 6F 6D 20 74 68 65 ines up from the
000050: 20 6F 6C 64 20 6C 69 6E 65 20 28 69 2E 65 2E 20 old line (i.e.
000060: 64 6F 77 6E 20 20 6F 6E 65 20 20 63 68 61 72 61 down one chara
000070: 63 74 65 72 20 20 72 6F 77 29 2E 20 20 48 6F 77 cter row). How
000080: 65 76 65 72 2C 0D 0A 20 20 20 20 20 20 20 6D 6F ever,.. mo
000090: 76 69 6E 67 20 6C 65 66 74 20 6F 66 66 20 74 68 ving left off th
0000A0: 65 20 73 74 61 72 74 20 6F 66 20 74 68 65 20 74 e start of the t
0000B0: 6F 70 20 73 63 72 65 65 6E 20 6C 69 6E 65 20 69 op screen line i
0000C0: 6E 20 61 20 62 6C 6F 63 6B 20 77 69 6C 6C 20 70 n a block will p
0000D0: 6F 69 6E 74 0D 0A 20 20 20 20 20 20 20 74 6F 20 oint.. to
0000E0: 74 68 65 20 73 63 72 65 65 6E 20 61 64 64 72 65 the screen addre
0000F0: 73 73 20 61 74 20 74 68 65 20 6C 61 73 74 20 6F ss at the last o
000100: 66 20 74 68 65 20 34 38 20 62 79 74 65 73 20 69 f the 48 bytes i
000110: 6E 20 20 74 68 65 20 20 62 6C 6F 63 6B 20 20 74 n the block t
000120: 68 61 74 0D 0A 20 20 20 20 20 20 20 61 72 65 20 hat.. are
000130: 6E 6F 74 20 64 69 73 70 6C 61 79 65 64 20 6F 6E not displayed on
000140: 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A the screen.....
000150: 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 6F .. This ro
000160: 75 74 69 6E 65 20 69 73 20 69 6E 74 65 6E 64 65 utine is intende
000170: 64 20 74 6F 20 62 65 20 75 73 65 64 20 66 6F 72 d to be used for
000180: 20 6D 6F 76 69 6E 67 20 74 68 65 20 73 63 72 65 moving the scre
000190: 65 6E 20 61 64 64 72 65 73 73 20 77 68 65 6E 0D en address when.
0001A0: 0A 20 20 20 20 20 20 20 70 75 74 74 69 6E 67 20 . putting
0001B0: 63 68 61 72 61 63 74 65 72 73 20 6F 72 20 64 72 characters or dr
0001C0: 61 77 69 6E 67 20 6C 69 6E 65 73 20 6F 6E 20 74 awing lines on t
0001D0: 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D 0A he screen.......
0001E0: 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 .. Related
0001F0: 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 entries:......
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 53 43 52 20 43 48 41 52 20 50 SCR CHAR P
000010: 4F 53 49 54 49 4F 4E 0D 0A 20 20 20 20 20 20 20 OSITION..
000020: 53 43 52 20 44 4F 54 20 50 4F 53 49 54 49 4F 4E SCR DOT POSITION
000030: 0D 0A 20 20 20 20 20 20 20 53 43 52 20 4E 45 58 .. SCR NEX
000040: 54 20 42 59 54 45 0D 0A 20 20 20 20 20 20 20 53 T BYTE.. S
000050: 43 52 20 4E 45 58 54 20 4C 49 4E 45 0D 0A 20 20 CR NEXT LINE..
000060: 20 20 20 20 20 53 43 52 20 50 52 45 56 20 4C 49 SCR PREV LI
000070: 4E 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A NE..............
000080: 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 AMSTRAD C
000090: 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 PC464/664/6128 F
0000A0: 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 IRMWARE
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 70 61 67 65 20 31 35 2E 31 30 32 0D 0A 0D page 15.102...
0000D0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
0000E0: 20 20 39 38 3A 20 53 43 52 20 4E 45 58 54 20 4C 98: SCR NEXT L
0000F0: 49 4E 45 20 20 20 20 20 20 20 20 20 20 20 20 20 INE
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 23 42 43 32 36 0D 0A 0D 0A 0D 0A 20 20 #BC26......
000130: 20 20 20 20 20 53 74 65 70 20 61 20 73 63 72 65 Step a scre
000140: 65 6E 20 61 64 64 72 65 73 73 20 64 6F 77 6E 20 en address down
000150: 6F 6E 65 20 6C 69 6E 65 2E 0D 0A 0D 0A 0D 0A 20 one line.......
000160: 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D Action:...
000170: 0A 0D 0A 20 20 20 20 20 20 20 43 61 6C 63 75 6C ... Calcul
000180: 61 74 65 20 74 68 65 20 73 63 72 65 65 6E 20 61 ate the screen a
000190: 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 62 79 ddress of the by
0001A0: 74 65 20 20 62 65 6C 6F 77 20 20 74 68 65 20 20 te below the
0001B0: 73 75 70 70 6C 69 65 64 20 20 73 63 72 65 65 6E supplied screen
0001C0: 0D 0A 20 20 20 20 20 20 20 61 64 64 72 65 73 73 .. address
0001D0: 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
0001E0: 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 Entry conditions
0001F0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 48 4C :...... HL
Size : 512 (Real : 512)
000000: 20 63 6F 6E 74 61 69 6E 73 20 61 20 73 63 72 65 contains a scre
000010: 65 6E 20 61 64 64 72 65 73 73 2E 0D 0A 0D 0A 0D en address......
000020: 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E . Exit con
000030: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
000040: 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 HL contains
000050: 20 74 68 65 20 75 70 64 61 74 65 64 20 73 63 72 the updated scr
000060: 65 65 6E 20 61 64 64 72 65 73 73 2E 0D 0A 0D 0A een address.....
000070: 0D 0A 20 20 20 20 20 20 20 41 46 20 63 6F 72 72 .. AF corr
000080: 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C upt... All
000090: 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 other registers
0000A0: 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D preserved......
0000B0: 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A . Notes:..
0000C0: 0D 0A 20 20 20 20 20 20 20 4D 6F 76 69 6E 67 20 .. Moving
0000D0: 6F 66 66 20 74 68 65 20 20 62 6F 74 74 6F 6D 20 off the bottom
0000E0: 20 6F 66 20 20 74 68 65 20 20 73 63 72 65 65 6E of the screen
0000F0: 20 20 69 73 20 20 6E 6F 74 20 20 70 72 65 76 65 is not preve
000100: 6E 74 65 64 20 20 28 61 6E 64 20 20 6E 6F 74 0D nted (and not.
000110: 0A 20 20 20 20 20 20 20 72 65 63 6F 6D 6D 65 6E . recommen
000120: 64 65 64 29 2E 20 41 66 74 65 72 20 6D 6F 76 69 ded). After movi
000130: 6E 67 20 6F 66 66 20 74 68 65 20 62 6F 74 74 6F ng off the botto
000140: 6D 20 74 68 65 20 73 63 72 65 65 6E 20 20 61 64 m the screen ad
000150: 64 72 65 73 73 20 20 69 73 20 20 6E 6F 74 0D 0A dress is not..
000160: 20 20 20 20 20 20 20 75 73 65 66 75 6C 2E 0D 0A useful...
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 .... This
000180: 72 6F 75 74 69 6E 65 20 69 73 20 69 6E 74 65 6E routine is inten
000190: 64 65 64 20 74 6F 20 62 65 20 75 73 65 64 20 66 ded to be used f
0001A0: 6F 72 20 6D 6F 76 69 6E 67 20 74 68 65 20 73 63 or moving the sc
0001B0: 72 65 65 6E 20 61 64 64 72 65 73 73 20 77 68 65 reen address whe
0001C0: 6E 0D 0A 20 20 20 20 20 20 20 70 75 74 74 69 6E n.. puttin
0001D0: 67 20 63 68 61 72 61 63 74 65 72 73 20 6F 72 20 g characters or
0001E0: 64 72 61 77 69 6E 67 20 6C 69 6E 65 73 20 6F 6E drawing lines on
0001F0: 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A the screen.....
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 .... Relat
000010: 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D ed entries:.....
000020: 0A 20 20 20 20 20 20 20 53 43 52 20 43 48 41 52 . SCR CHAR
000030: 20 50 4F 53 49 54 49 4F 4E 0D 0A 20 20 20 20 20 POSITION..
000040: 20 20 53 43 52 20 44 4F 54 20 50 4F 53 49 54 49 SCR DOT POSITI
000050: 4F 4E 0D 0A 20 20 20 20 20 20 20 53 43 52 20 4E ON.. SCR N
000060: 45 58 54 20 42 59 54 45 0D 0A 20 20 20 20 20 20 EXT BYTE..
000070: 20 53 43 52 20 50 52 45 56 20 42 59 54 45 0D 0A SCR PREV BYTE..
000080: 20 20 20 20 20 20 20 53 43 52 20 50 52 45 56 20 SCR PREV
000090: 4C 49 4E 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A LINE............
0000A0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
0000B0: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
0000C0: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 20 20 20 20 20 20 20 20 70 61 67 65 20 31 page 1
0000F0: 35 2E 31 30 33 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 5.103...........
000100: 0A 0D 0A 20 20 20 20 20 20 20 39 39 3A 20 53 43 ... 99: SC
000110: 52 20 50 52 45 56 20 4C 49 4E 45 20 20 20 20 20 R PREV LINE
000120: 20 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 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 20 20 20 23 42 43 32 39 #BC29
000150: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 74 65 ...... Ste
000160: 70 20 61 20 73 63 72 65 65 6E 20 61 64 64 72 65 p a screen addre
000170: 73 73 20 75 70 20 6F 6E 65 20 6C 69 6E 65 2E 0D ss up one line..
000180: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 ..... Acti
000190: 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 on:......
0001A0: 43 61 6C 63 75 6C 61 74 65 20 74 68 65 20 73 63 Calculate the sc
0001B0: 72 65 65 6E 20 61 64 64 72 65 73 73 20 6F 66 20 reen address of
0001C0: 74 68 65 20 62 79 74 65 20 20 61 62 6F 76 65 20 the byte above
0001D0: 20 74 68 65 20 20 73 75 70 70 6C 69 65 64 20 20 the supplied
0001E0: 73 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 61 screen.. a
0001F0: 64 64 72 65 73 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 ddress.......
Size : 512 (Real : 512)
000000: 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 Entry condit
000010: 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions:......
000020: 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 61 20 HL contains a
000030: 73 63 72 65 65 6E 20 61 64 64 72 65 73 73 2E 0D screen address..
000040: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 ..... Exit
000050: 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A conditions:....
000060: 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 .. HL cont
000070: 61 69 6E 73 20 74 68 65 20 75 70 64 61 74 65 64 ains the updated
000080: 20 73 63 72 65 65 6E 20 61 64 64 72 65 73 73 2E screen address.
000090: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 20 ...... AF
0000A0: 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 corrupt...
0000B0: 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 All other regis
0000C0: 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D ters preserved..
0000D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 ..... Note
0000E0: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4D s:...... M
0000F0: 6F 76 69 6E 67 20 20 6F 66 66 20 20 74 68 65 20 oving off the
000100: 20 74 6F 70 20 20 6F 66 20 20 74 68 65 20 20 73 top of the s
000110: 63 72 65 65 6E 20 20 69 73 20 20 6E 6F 74 20 20 creen is not
000120: 70 72 65 76 65 6E 74 65 64 20 20 28 61 6E 64 20 prevented (and
000130: 20 20 6E 6F 74 0D 0A 20 20 20 20 20 20 20 72 65 not.. re
000140: 63 6F 6D 6D 65 6E 64 65 64 29 2E 20 41 66 74 65 commended). Afte
000150: 72 20 6D 6F 76 69 6E 67 20 6F 66 66 20 74 68 65 r moving off the
000160: 20 20 74 6F 70 20 20 74 68 65 20 20 73 63 72 65 top the scre
000170: 65 6E 20 20 61 64 64 72 65 73 73 20 20 69 73 20 en address is
000180: 20 6E 6F 74 0D 0A 20 20 20 20 20 20 20 75 73 65 not.. use
000190: 66 75 6C 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ful.......
0001A0: 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 69 73 This routine is
0001B0: 20 69 6E 74 65 6E 64 65 64 20 74 6F 20 62 65 20 intended to be
0001C0: 75 73 65 64 20 66 6F 72 20 6D 6F 76 69 6E 67 20 used for moving
0001D0: 74 68 65 20 73 63 72 65 65 6E 20 61 64 64 72 65 the screen addre
0001E0: 73 73 20 77 68 65 6E 0D 0A 20 20 20 20 20 20 20 ss when..
0001F0: 70 75 74 74 69 6E 67 20 63 68 61 72 61 63 74 65 putting characte
Size : 512 (Real : 512)
000000: 72 73 20 6F 72 20 64 72 61 77 69 6E 67 20 6C 69 rs or drawing li
000010: 6E 65 73 20 6F 6E 20 74 68 65 20 73 63 72 65 65 nes on the scree
000020: 6E 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 n.........
000030: 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 Related entries
000040: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 43 :...... SC
000050: 52 20 43 48 41 52 20 50 4F 53 49 54 49 4F 4E 0D R CHAR POSITION.
000060: 0A 20 20 20 20 20 20 20 53 43 52 20 44 4F 54 20 . SCR DOT
000070: 50 4F 53 49 54 49 4F 4E 0D 0A 20 20 20 20 20 20 POSITION..
000080: 20 53 43 52 20 4E 45 58 54 20 42 59 54 45 0D 0A SCR NEXT BYTE..
000090: 20 20 20 20 20 20 20 53 43 52 20 4E 45 58 54 20 SCR NEXT
0000A0: 4C 49 4E 45 0D 0A 20 20 20 20 20 20 20 53 43 52 LINE.. SCR
0000B0: 20 50 52 45 56 20 42 59 54 45 0D 0A 0D 0A 0D 0A PREV BYTE......
0000C0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
0000D0: 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 AMSTRAD CPC
0000E0: 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 464/664/6128 FIR
0000F0: 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 MWARE
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 70 61 67 65 20 31 35 2E 31 30 34 0D 0A 0D 0A 0D page 15.104.....
000120: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000130: 31 30 30 3A 20 53 43 52 20 49 4E 4B 20 45 4E 43 100: SCR INK ENC
000140: 4F 44 45 20 20 20 20 20 20 20 20 20 20 20 20 20 ODE
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 23 42 43 32 43 0D 0A 0D 0A 20 20 20 20 20 20 #BC2C....
000180: 20 45 6E 63 6F 64 65 20 61 6E 20 69 6E 6B 20 74 Encode an ink t
000190: 6F 20 63 6F 76 65 72 20 61 6C 6C 20 70 69 78 65 o cover all pixe
0001A0: 6C 73 20 69 6E 20 61 20 62 79 74 65 2E 0D 0A 0D ls in a byte....
0001B0: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
0001C0: 0A 0D 0A 20 20 20 20 20 20 20 43 6F 6E 76 65 72 ... Conver
0001D0: 74 20 61 6E 20 69 6E 6B 20 74 6F 20 74 68 65 20 t an ink to the
0001E0: 65 6E 63 6F 64 65 64 20 66 6F 72 6D 20 74 68 61 encoded form tha
0001F0: 74 20 77 69 6C 6C 20 73 65 74 20 61 6C 6C 20 70 t will set all p
Size : 512 (Real : 512)
000000: 69 78 65 6C 73 20 69 6E 20 61 20 20 62 79 74 65 ixels in a byte
000010: 0D 0A 20 20 20 20 20 20 20 74 6F 20 74 68 65 20 .. to the
000020: 69 6E 6B 2E 20 54 68 69 73 20 65 6E 63 6F 64 65 ink. This encode
000030: 64 20 69 6E 6B 20 20 63 61 6E 20 20 74 68 65 6E d ink can then
000040: 20 20 62 65 20 20 6D 61 73 6B 65 64 20 20 74 6F be masked to
000050: 20 20 67 65 6E 65 72 61 74 65 20 20 74 68 65 0D generate the.
000060: 0A 20 20 20 20 20 20 20 61 70 70 72 6F 70 72 69 . appropri
000070: 61 74 65 20 76 61 6C 75 65 20 74 6F 20 73 65 74 ate value to set
000080: 20 61 20 73 69 6E 67 6C 65 20 70 69 78 65 6C 20 a single pixel
000090: 74 6F 20 74 68 65 20 69 6E 6B 2E 0D 0A 0D 0A 20 to the ink.....
0000A0: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
0000B0: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 itions:....
0000C0: 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 A contains an
0000D0: 69 6E 6B 20 6E 75 6D 62 65 72 2E 0D 0A 0D 0A 20 ink number.....
0000E0: 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 Exit condi
0000F0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tions:....
000100: 20 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 A contains the
000110: 65 6E 63 6F 64 65 64 20 69 6E 6B 2E 0D 0A 0D 0A encoded ink.....
000120: 20 20 20 20 20 20 20 46 6C 61 67 73 20 63 6F 72 Flags cor
000130: 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C rupt... Al
000140: 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 l other register
000150: 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A s preserved.....
000160: 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D .. Notes:.
000170: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 65 6E ... The en
000180: 63 6F 64 69 6E 67 20 69 73 20 6E 6F 74 20 74 72 coding is not tr
000190: 69 76 69 61 6C 20 61 73 20 74 68 65 20 70 69 78 ivial as the pix
0001A0: 65 6C 73 20 69 6E 20 61 20 20 62 79 74 65 20 20 els in a byte
0001B0: 61 72 65 20 20 69 6E 74 65 72 6C 65 61 76 65 64 are interleaved
0001C0: 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 61 6C 73 .. and als
0001D0: 6F 20 74 68 65 20 62 69 74 73 20 69 6E 20 61 20 o the bits in a
0001E0: 70 69 78 65 6C 20 61 72 65 20 6E 6F 74 20 69 6E pixel are not in
0001F0: 20 74 68 65 20 6F 62 76 69 6F 75 73 20 6F 72 64 the obvious ord
Size : 512 (Real : 512)
000000: 65 72 2E 20 20 54 68 65 20 20 70 69 78 65 6C 0D er. The pixel.
000010: 0A 20 20 20 20 20 20 20 62 69 74 73 20 61 72 65 . bits are
000020: 20 28 6D 6F 73 74 20 73 69 67 6E 69 66 69 63 61 (most significa
000030: 6E 74 20 74 6F 20 6C 65 61 73 74 20 73 69 67 6E nt to least sign
000040: 69 66 69 63 61 6E 74 29 3A 0D 0A 0D 0A 20 20 20 ificant):....
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 4D 6F 64 65 20 30 20 20 20 Mode 0
000070: 20 20 20 20 20 20 20 20 20 20 20 4D 6F 64 65 20 Mode
000080: 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 1 M
000090: 6F 64 65 20 32 0D 0A 20 20 20 20 20 20 20 4C 65 ode 2.. Le
0000A0: 66 74 6D 6F 73 74 20 70 69 78 65 6C 3A 20 20 20 ftmost pixel:
0000B0: 20 42 69 74 73 20 31 2C 35 2C 33 2C 37 20 20 20 Bits 1,5,3,7
0000C0: 20 20 20 20 20 42 69 74 73 20 33 2C 37 20 20 20 Bits 3,7
0000D0: 20 20 20 20 20 20 20 20 20 42 69 74 20 37 0D 0A Bit 7..
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 20 20 20
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 42 69 74 20 36 0D 0A 20 20 20 20 20 20 20 Bit 6..
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 20 20 20 20 20
000150: 20 20 20 20 20 20 20 42 69 74 73 20 32 2C 36 20 Bits 2,6
000160: 20 20 20 20 20 20 20 20 20 20 20 42 69 74 20 35 Bit 5
000170: 0D 0A 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 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 20 20 20 42 69 74 20 34 0D 0A 20 20 20 20 20 Bit 4..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 20 42 69 74 73 20 30 2C 34 2C 32 2C Bits 0,4,2,
0001E0: 36 20 20 20 20 20 20 20 20 42 69 74 73 20 31 2C 6 Bits 1,
0001F0: 35 20 20 20 20 20 20 20 20 20 20 20 20 42 69 74 5 Bit
Size : 512 (Real : 512)
000000: 20 33 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 3..
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 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 20
000040: 20 20 20 20 20 20 42 69 74 20 32 0D 0A 20 20 20 Bit 2..
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 20 20 20 20 20 20 20 20
000070: 20 20 20 20 20 20 20 20 20 20 20 42 69 74 73 20 Bits
000080: 30 2C 34 20 20 20 20 20 20 20 20 20 20 20 20 42 0,4 B
000090: 69 74 20 31 0D 0A 20 20 20 20 20 20 20 52 69 67 it 1.. Rig
0000A0: 68 74 6D 6F 73 74 20 70 69 78 65 6C 3A 20 20 20 htmost pixel:
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 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 20 20 42 69 74 20 30 0D 0A 0D Bit 0...
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 54 65 ... The Te
0000F0: 78 74 20 61 6E 64 20 47 72 61 70 68 69 63 73 20 xt and Graphics
000100: 56 44 55 73 20 73 74 6F 72 65 20 74 68 65 69 72 VDUs store their
000110: 20 70 65 6E 20 20 61 6E 64 20 20 70 61 70 65 72 pen and paper
000120: 20 20 69 6E 6B 73 20 20 69 6E 20 20 74 68 69 73 inks in this
000130: 0D 0A 20 20 20 20 20 20 20 65 6E 63 6F 64 65 64 .. encoded
000140: 20 66 6F 72 6D 20 66 6F 72 20 65 61 73 65 20 6F form for ease o
000150: 66 20 75 73 65 20 69 6E 74 65 72 6E 61 6C 6C 79 f use internally
000160: 2E 20 54 68 69 73 20 20 73 61 76 65 73 20 20 74 . This saves t
000170: 69 6D 65 20 20 63 6F 6E 76 65 72 74 69 6E 67 0D ime converting.
000180: 0A 20 20 20 20 20 20 20 74 68 65 20 69 6E 6B 20 . the ink
000190: 66 6F 72 20 65 61 63 68 20 70 69 78 65 6C 20 70 for each pixel p
0001A0: 6C 6F 74 74 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 lotted.......
0001B0: 20 20 20 20 54 68 65 20 65 6E 63 6F 64 69 6E 67 The encoding
0001C0: 20 69 73 20 64 69 66 66 65 72 65 6E 74 20 69 6E is different in
0001D0: 20 64 69 66 66 65 72 65 6E 74 20 6D 6F 64 65 73 different modes
0001E0: 20 61 6E 64 20 73 6F 20 61 6C 6C 20 69 6E 6B 73 and so all inks
0001F0: 20 20 68 61 76 65 20 20 74 6F 0D 0A 20 20 20 20 have to..
Size : 512 (Real : 512)
000000: 20 20 20 62 65 20 72 65 2D 65 6E 63 6F 64 65 64 be re-encoded
000010: 20 77 68 65 6E 20 74 68 65 20 73 63 72 65 65 6E when the screen
000020: 20 6D 6F 64 65 20 69 73 20 63 68 61 6E 67 65 64 mode is changed
000030: 2E 20 53 43 52 20 53 45 54 20 4D 4F 44 45 20 64 . SCR SET MODE d
000040: 6F 65 73 20 20 74 68 69 73 0D 0A 20 20 20 20 20 oes this..
000050: 20 20 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 20 automatically
000060: 66 6F 72 20 74 68 65 20 54 65 78 74 20 56 44 55 for the Text VDU
000070: 20 61 6E 64 20 47 72 61 70 68 69 63 73 20 56 44 and Graphics VD
000080: 55 20 70 65 6E 20 61 6E 64 20 70 61 70 65 72 20 U pen and paper
000090: 69 6E 6B 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 inks.........
0000A0: 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 Related entr
0000B0: 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ies:......
0000C0: 20 53 43 52 20 49 4E 4B 20 44 45 43 4F 44 45 0D SCR INK DECODE.
0000D0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
0000E0: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
0000F0: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
000100: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
000120: 65 20 31 35 2E 31 30 35 0D 0A 0D 0A 0D 0A 0D 0A e 15.105........
000130: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 30 31 ...... 101
000140: 3A 20 53 43 52 20 49 4E 4B 20 44 45 43 4F 44 45 : SCR INK DECODE
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 #B
000180: 43 32 46 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 C2F......
000190: 44 65 63 6F 64 65 20 61 6E 20 65 6E 63 6F 64 65 Decode an encode
0001A0: 64 20 69 6E 6B 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 d ink.......
0001B0: 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A Action:......
0001C0: 20 20 20 20 20 20 20 43 6F 6E 76 65 72 74 20 61 Convert a
0001D0: 6E 20 65 6E 63 6F 64 65 64 20 69 6E 6B 20 74 6F n encoded ink to
0001E0: 20 74 68 65 20 61 70 70 72 6F 70 72 69 61 74 65 the appropriate
0001F0: 20 69 6E 6B 20 6E 75 6D 62 65 72 2E 0D 0A 0D 0A ink number.....
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 .. Entry c
000010: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A onditions:......
000020: 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E A contain
000030: 73 20 61 6E 20 65 6E 63 6F 64 65 64 20 69 6E 6B s an encoded ink
000040: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 ....... Ex
000050: 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A it conditions:..
000060: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 63 6F 6E .... A con
000070: 74 61 69 6E 73 20 74 68 65 20 69 6E 6B 20 6E 75 tains the ink nu
000080: 6D 62 65 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 mber.......
000090: 20 20 46 6C 61 67 73 20 63 6F 72 72 75 70 74 2E Flags corrupt.
0000A0: 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 .. All oth
0000B0: 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 er registers pre
0000C0: 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 served.......
0000D0: 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A Notes:......
0000E0: 20 20 20 20 20 20 20 54 68 65 20 64 65 63 6F 64 The decod
0000F0: 69 6E 67 20 69 73 20 70 65 72 66 6F 72 6D 65 64 ing is performed
000100: 20 62 79 20 64 65 63 6F 64 69 6E 67 20 74 68 65 by decoding the
000110: 20 69 6E 6B 20 6F 66 20 74 68 65 20 6C 65 66 74 ink of the left
000120: 6D 6F 73 74 20 70 69 78 65 6C 20 69 6E 0D 0A 20 most pixel in..
000130: 20 20 20 20 20 20 74 68 65 20 65 6E 63 6F 64 65 the encode
000140: 64 20 69 6E 6B 2E 20 54 68 65 20 69 6E 6B 20 66 d ink. The ink f
000150: 6F 72 20 74 68 69 73 20 70 69 78 65 6C 20 69 73 or this pixel is
000160: 20 65 6E 63 6F 64 65 64 20 20 69 6E 20 20 74 68 encoded in th
000170: 65 20 20 66 6F 6C 6C 6F 77 69 6E 67 0D 0A 20 20 e following..
000180: 20 20 20 20 20 62 69 74 73 20 28 6D 6F 73 74 20 bits (most
000190: 73 69 67 6E 69 66 69 63 61 6E 74 20 74 6F 20 6C significant to l
0001A0: 65 61 73 74 20 73 69 67 6E 69 66 69 63 61 6E 74 east significant
0001B0: 29 20 20 69 6E 20 20 74 68 65 20 20 76 61 72 69 ) in the vari
0001C0: 6F 75 73 20 20 73 63 72 65 65 6E 0D 0A 20 20 20 ous screen..
0001D0: 20 20 20 20 6D 6F 64 65 73 3A 0D 0A 0D 0A 0D 0A modes:......
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 4D 6F 64 65 20 30 3A 20 20 20 42 69 74 73 20 31 Mode 0: Bits 1
Size : 512 (Real : 512)
000000: 2C 35 2C 33 2C 37 0D 0A 20 20 20 20 20 20 20 20 ,5,3,7..
000010: 20 20 20 20 20 20 20 20 4D 6F 64 65 20 31 3A 20 Mode 1:
000020: 20 20 42 69 74 73 20 33 2C 37 0D 0A 20 20 20 20 Bits 3,7..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 4D 6F 64 65 Mode
000040: 20 32 3A 20 20 20 42 69 74 20 37 0D 0A 0D 0A 0D 2: Bit 7.....
000050: 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 ... Relate
000060: 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A d entries:......
000070: 20 20 20 20 20 20 20 53 43 52 20 49 4E 4B 20 45 SCR INK E
000080: 4E 43 4F 44 45 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D NCODE...........
000090: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 ...............
0000A0: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
0000B0: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
0000C0: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 70 61 67 65 20 31 35 2E 31 30 36 0D 0A 0D 0A page 15.106....
0000F0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000100: 20 31 30 32 3A 20 53 43 52 20 53 45 54 20 49 4E 102: SCR SET IN
000110: 4B 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 K
000120: 20 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 20 20 20 20 20 20 20
000140: 20 20 23 42 43 33 32 0D 0A 0D 0A 20 20 20 20 20 #BC32....
000150: 20 20 53 65 74 20 74 68 65 20 63 6F 6C 6F 75 72 Set the colour
000160: 73 20 69 6E 20 77 68 69 63 68 20 74 6F 20 64 69 s in which to di
000170: 73 70 6C 61 79 20 61 6E 20 69 6E 6B 2E 0D 0A 0D splay an ink....
000180: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
000190: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 20 :.... Set
0001A0: 77 68 69 63 68 20 63 6F 6C 6F 75 72 73 20 77 69 which colours wi
0001B0: 6C 6C 20 62 65 20 75 73 65 64 20 74 6F 20 64 69 ll be used to di
0001C0: 73 70 6C 61 79 20 61 6E 20 69 6E 6B 2E 20 49 66 splay an ink. If
0001D0: 20 74 68 65 20 20 74 77 6F 20 20 63 6F 6C 6F 75 the two colou
0001E0: 72 73 0D 0A 20 20 20 20 20 20 20 61 72 65 20 74 rs.. are t
0001F0: 68 65 20 73 61 6D 65 20 74 68 65 6E 20 74 68 65 he same then the
Size : 512 (Real : 512)
000000: 20 69 6E 6B 20 77 69 6C 6C 20 72 65 6D 61 69 6E ink will remain
000010: 20 61 20 73 74 65 61 64 79 20 63 6F 6C 6F 75 72 a steady colour
000020: 2E 20 49 66 20 74 68 65 20 20 63 6F 6C 6F 75 72 . If the colour
000030: 73 0D 0A 20 20 20 20 20 20 20 61 72 65 20 64 69 s.. are di
000040: 66 66 65 72 65 6E 74 20 74 68 65 6E 20 74 68 65 fferent then the
000050: 20 69 6E 6B 20 77 69 6C 6C 20 61 6C 74 65 72 6E ink will altern
000060: 61 74 65 20 62 65 74 77 65 65 6E 20 74 68 65 73 ate between thes
000070: 65 20 74 77 6F 20 63 6F 6C 6F 75 72 73 2E 0D 0A e two colours...
000080: 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 .. Entry c
000090: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 onditions:....
0000A0: 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 A contains
0000B0: 61 6E 20 69 6E 6B 20 6E 75 6D 62 65 72 2E 0D 0A an ink number...
0000C0: 20 20 20 20 20 20 20 42 20 63 6F 6E 74 61 69 6E B contain
0000D0: 73 20 74 68 65 20 66 69 72 73 74 20 63 6F 6C 6F s the first colo
0000E0: 75 72 2E 0D 0A 20 20 20 20 20 20 20 43 20 63 6F ur... C co
0000F0: 6E 74 61 69 6E 73 20 74 68 65 20 73 65 63 6F 6E ntains the secon
000100: 64 20 63 6F 6C 6F 75 72 2E 0D 0A 0D 0A 20 20 20 d colour.....
000110: 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 Exit conditi
000120: 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ons:.... A
000130: 46 2C 42 43 2C 44 45 20 61 6E 64 20 48 4C 20 63 F,BC,DE and HL c
000140: 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 orrupt...
000150: 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 All other regist
000160: 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A ers preserved...
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 .... Notes
000180: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 :.... The
000190: 69 6E 6B 20 6E 75 6D 62 65 72 20 69 73 20 6D 61 ink number is ma
0001A0: 73 6B 65 64 20 77 69 74 68 20 23 30 46 20 74 6F sked with #0F to
0001B0: 20 6D 61 6B 65 20 73 75 72 65 20 69 74 20 69 73 make sure it is
0001C0: 20 20 6C 65 67 61 6C 2C 20 20 61 6E 64 20 20 74 legal, and t
0001D0: 68 65 0D 0A 20 20 20 20 20 20 20 63 6F 6C 6F 75 he.. colou
0001E0: 72 73 20 61 72 65 20 6D 61 73 6B 65 64 20 77 69 rs are masked wi
0001F0: 74 68 20 23 31 46 2E 20 43 6F 6C 6F 75 72 73 20 th #1F. Colours
Size : 512 (Real : 512)
000000: 32 37 2E 2E 33 31 20 61 72 65 20 6E 6F 74 20 69 27..31 are not i
000010: 6E 74 65 6E 64 65 64 20 66 6F 72 20 20 75 73 65 ntended for use
000020: 3B 0D 0A 0D 0A 20 20 20 20 20 20 20 74 68 65 79 ;.... they
000030: 20 61 72 65 20 6D 65 72 65 6C 79 20 64 75 70 6C are merely dupl
000040: 69 63 61 74 65 73 20 6F 66 20 6F 74 68 65 72 20 icates of other
000050: 63 6F 6C 6F 75 72 73 20 61 76 61 69 6C 61 62 6C colours availabl
000060: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 e..... The
000070: 20 6E 65 77 20 63 6F 6C 6F 75 72 73 20 66 6F 72 new colours for
000080: 20 61 6E 20 69 6E 6B 20 61 72 65 20 6E 6F 74 20 an ink are not
000090: 73 65 6E 74 20 74 6F 20 74 68 65 20 20 68 61 72 sent to the har
0000A0: 64 77 61 72 65 20 20 69 6D 6D 65 64 69 61 74 65 dware immediate
0000B0: 6C 79 2E 0D 0A 20 20 20 20 20 20 20 54 68 65 79 ly... They
0000C0: 20 61 72 65 20 73 74 6F 72 65 64 20 61 6E 64 20 are stored and
0000D0: 77 69 6C 6C 20 61 70 70 65 61 72 20 6F 6E 20 74 will appear on t
0000E0: 68 65 20 20 73 63 72 65 65 6E 20 20 77 68 65 6E he screen when
0000F0: 20 20 74 68 65 20 20 6E 65 78 74 20 20 66 72 61 the next fra
000100: 6D 65 0D 0A 20 20 20 20 20 20 20 66 6C 79 62 61 me.. flyba
000110: 63 6B 20 6F 63 63 75 72 73 2E 0D 0A 0D 0A 20 20 ck occurs.....
000120: 20 20 20 20 20 54 68 65 20 6C 65 6E 67 74 68 20 The length
000130: 6F 66 20 74 69 6D 65 20 66 6F 72 20 77 68 69 63 of time for whic
000140: 68 20 65 61 63 68 20 63 6F 6C 6F 75 72 20 69 73 h each colour is
000150: 20 64 69 73 70 6C 61 79 65 64 20 20 6F 6E 20 20 displayed on
000160: 74 68 65 20 20 73 63 72 65 65 6E 0D 0A 20 20 20 the screen..
000170: 20 20 20 20 63 61 6E 20 62 65 20 73 65 74 20 62 can be set b
000180: 79 20 63 61 6C 6C 69 6E 67 20 53 43 52 20 53 45 y calling SCR SE
000190: 54 20 46 4C 41 53 48 49 4E 47 2E 0D 0A 0D 0A 20 T FLASHING.....
0001A0: 20 20 20 20 20 20 54 68 65 20 69 6E 6B 73 20 61 The inks a
0001B0: 72 65 20 73 65 74 20 74 6F 20 74 68 65 69 72 20 re set to their
0001C0: 64 65 66 61 75 6C 74 20 63 6F 6C 6F 75 72 73 20 default colours
0001D0: 61 74 20 45 4D 53 20 61 6E 64 20 77 68 65 6E 20 at EMS and when
0001E0: 53 43 52 20 52 45 53 45 54 20 69 73 0D 0A 20 20 SCR RESET is..
0001F0: 20 20 20 20 20 63 61 6C 6C 65 64 2E 0D 0A 0D 0A called.....
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 54 68 65 20 76 61 72 69 6F The vario
000010: 75 73 20 63 6F 6C 6F 75 72 73 20 61 76 61 69 6C us colours avail
000020: 61 62 6C 65 20 61 6E 64 20 74 68 65 20 20 64 65 able and the de
000030: 66 61 75 6C 74 20 20 69 6E 6B 20 20 63 6F 6C 6F fault ink colo
000040: 75 72 73 20 20 73 65 74 20 20 61 72 65 0D 0A 20 urs set are..
000050: 20 20 20 20 20 20 64 65 73 63 72 69 62 65 64 20 described
000060: 69 6E 20 41 70 70 65 6E 64 69 78 20 56 2E 0D 0A in Appendix V...
000070: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C ...... Rel
000080: 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D ated entries:...
000090: 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 20 53 45 ... GRA SE
0000A0: 54 20 50 41 50 45 52 0D 0A 20 20 20 20 20 20 20 T PAPER..
0000B0: 47 52 41 20 53 45 54 20 50 45 4E 0D 0A 20 20 20 GRA SET PEN..
0000C0: 20 20 20 20 53 43 52 20 47 45 54 20 49 4E 4B 0D SCR GET INK.
0000D0: 0A 20 20 20 20 20 20 20 53 43 52 20 53 45 54 20 . SCR SET
0000E0: 42 4F 52 44 45 52 0D 0A 20 20 20 20 20 20 20 53 BORDER.. S
0000F0: 43 52 20 53 45 54 20 46 4C 41 53 48 49 4E 47 0D CR SET FLASHING.
000100: 0A 20 20 20 20 20 20 20 54 58 54 20 53 45 54 20 . TXT SET
000110: 50 41 50 45 52 0D 0A 20 20 20 20 20 20 20 54 58 PAPER.. TX
000120: 54 20 53 45 54 20 50 45 4E 0D 0A 0D 0A 0D 0A 0D T SET PEN.......
000130: 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 ... AMSTRA
000140: 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 D CPC464/664/612
000150: 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 8 FIRMWARE
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 70 61 67 65 20 31 35 2E 31 30 37 page 15.107
000180: 0D 0A 1A 48 41 50 2D 31 35 20 24 24 24 FF 00 FF ...HAP-15 $$$...
000190: 20 20 20 39 32 3A 20 53 43 52 20 43 4C 45 41 52 92: SCR CLEAR
0001A0: 20 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 20 20
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 23 42 43 31 34 0D 0A 0D 0A 0D 0A 20 #BC14......
0001E0: 20 20 20 20 20 20 43 6C 65 61 72 20 74 68 65 20 Clear the
0001F0: 73 63 72 65 65 6E 20 28 74 6F 20 69 6E 6B 20 7A screen (to ink z
Size : 512 (Real : 512)
000000: 52 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 R............
000010: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
000020: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
000030: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
000050: 61 67 65 20 31 35 2E 31 32 39 0D 0A 1A 0D 0A 20 age 15.129.....
000060: 20 20 20 20 20 20 41 73 6B 20 74 68 65 20 63 6F Ask the co
000070: 6C 6F 75 72 73 20 61 6E 20 69 6E 6B 20 69 73 20 lours an ink is
000080: 00 43 48 41 50 2D 31 35 20 50 37 20 00 00 00 7D .CHAP-15 P7 ...}
000090: 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 3456789:;<=>?@AB
0000A0: 00 43 48 41 50 2D 31 35 20 50 38 20 00 00 00 80 .CHAP-15 P8 ....
0000B0: 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 CDEFGHIJKLMNOPQR
0000C0: 00 43 48 41 50 2D 31 35 20 50 38 20 01 00 00 07 .CHAP-15 P8 ....
0000D0: 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 S...............
0000E0: 00 43 48 41 50 2D 31 35 20 50 39 20 00 00 00 80 .CHAP-15 P9 ....
0000F0: 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 TUVWXYZ[\]^_`abc
000100: E5 43 48 41 50 2D 31 35 20 42 41 4B 00 00 00 7F .CHAP-15 BAK....
000110: 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 defghijklmnopqrs
000120: 00 43 48 41 50 2D 31 35 20 50 31 30 00 00 00 7F .CHAP-15 P10....
000130: 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 tuvwxyz{|}~.....
000140: 00 43 48 41 50 2D 31 35 20 50 34 20 00 00 00 79 .CHAP-15 P4 ...y
000150: 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 ................
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: 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 Notes:......
000010: 20 20 20 54 68 65 20 69 6E 6B 20 6E 75 6D 62 65 The ink numbe
000020: 72 20 69 73 20 6D 61 73 6B 65 64 20 77 69 74 68 r is masked with
000030: 20 23 30 46 20 20 74 6F 20 20 6D 61 6B 65 20 20 #0F to make
000040: 73 75 72 65 20 20 69 74 20 20 69 73 20 20 6C 65 sure it is le
000050: 67 61 6C 2E 20 20 54 68 65 0D 0A 20 20 20 20 20 gal. The..
000060: 20 20 63 6F 6C 6F 75 72 73 20 72 65 74 75 72 6E colours return
000070: 65 64 20 6D 61 79 20 6E 6F 74 20 62 65 20 74 68 ed may not be th
000080: 65 20 73 61 6D 65 20 61 73 20 74 68 6F 73 65 20 e same as those
000090: 73 75 70 70 6C 69 65 64 20 74 6F 20 20 74 68 65 supplied to the
0000A0: 20 20 53 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 Screen..
0000B0: 20 50 61 63 6B 20 61 73 20 74 68 65 20 63 6F 6C Pack as the col
0000C0: 6F 75 72 73 20 61 72 65 20 6D 61 73 6B 65 64 20 ours are masked
0000D0: 77 68 65 6E 20 74 68 65 79 20 61 72 65 20 73 65 when they are se
0000E0: 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 t....... T
0000F0: 68 65 20 6E 65 77 20 63 6F 6C 6F 75 72 20 66 6F he new colour fo
000100: 72 20 61 6E 20 69 6E 6B 20 61 72 65 20 6E 6F 74 r an ink are not
000110: 20 73 65 6E 74 20 20 74 6F 20 20 74 68 65 20 20 sent to the
000120: 68 61 72 64 77 61 72 65 20 20 69 6D 6D 65 64 69 hardware immedi
000130: 61 74 65 6C 79 0D 0A 20 20 20 20 20 20 20 77 68 ately.. wh
000140: 65 6E 20 74 68 65 79 20 61 72 65 20 73 65 74 2E en they are set.
000150: 20 54 68 65 79 20 61 72 65 20 73 74 6F 72 65 64 They are stored
000160: 20 61 6E 64 20 61 70 70 65 61 72 20 6F 6E 20 74 and appear on t
000170: 68 65 20 73 63 72 65 65 6E 20 20 77 68 65 6E 20 he screen when
000180: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 6E 65 78 the.. nex
000190: 74 20 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 t frame flyback
0001A0: 6F 63 63 75 72 73 2E 20 54 68 69 73 20 6D 65 61 occurs. This mea
0001B0: 6E 73 20 74 68 61 74 20 74 68 65 20 20 63 6F 6C ns that the col
0001C0: 6F 75 72 73 20 20 72 65 74 75 72 6E 65 64 20 20 ours returned
0001D0: 6D 61 79 0D 0A 20 20 20 20 20 20 20 6E 6F 74 20 may.. not
0001E0: 61 63 74 75 61 6C 6C 79 20 62 65 20 76 69 73 69 actually be visi
0001F0: 62 6C 65 20 74 6F 20 74 68 65 20 75 73 65 72 20 ble to the user
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 31 32 35 3A 20 43 41 53 20 49 4E 20 4F 125: CAS IN O
000020: 50 45 4E 20 20 20 20 20 20 20 20 20 20 20 20 20 PEN
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 43 37 37 0D 0A 0D 0A 0D 0A 20 #BC77......
000060: 20 20 20 20 20 20 4F 70 65 6E 20 61 20 66 69 6C Open a fil
000070: 65 20 66 6F 72 20 69 6E 70 75 74 2E 0D 0A 0D 0A e for input.....
000080: 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A .. Action:
000090: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 ...... Set
0000A0: 20 75 70 20 74 68 65 20 72 65 61 64 20 73 74 72 up the read str
0000B0: 65 61 6D 20 66 6F 72 20 72 65 61 64 69 6E 67 20 eam for reading
0000C0: 61 20 66 69 6C 65 20 61 6E 64 20 72 65 61 64 20 a file and read
0000D0: 74 68 65 20 66 69 72 73 74 20 62 6C 6F 63 6B 2E the first block.
0000E0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 ...... Ent
0000F0: 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A ry conditions:..
000100: 0D 0A 0D 0A 20 20 20 20 20 20 20 42 20 63 6F 6E .... B con
000110: 74 61 69 6E 73 20 74 68 65 20 6C 65 6E 67 74 68 tains the length
000120: 20 6F 66 20 74 68 65 20 66 69 6C 65 6E 61 6D 65 of the filename
000130: 2E 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 6F 6E ... HL con
000140: 74 61 69 6E 73 20 74 68 65 20 61 64 64 72 65 73 tains the addres
000150: 73 20 6F 66 20 74 68 65 20 66 69 6C 65 6E 61 6D s of the filenam
000160: 65 2E 0D 0A 20 20 20 20 20 20 20 44 45 20 63 6F e... DE co
000170: 6E 74 61 69 6E 73 20 74 68 65 20 61 64 64 72 65 ntains the addre
000180: 73 73 20 6F 66 20 61 20 32 4B 20 62 75 66 66 65 ss of a 2K buffe
000190: 72 20 74 6F 20 75 73 65 2E 0D 0A 0D 0A 0D 0A 20 r to use.......
0001A0: 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 Exit condi
0001B0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
0001C0: 20 20 20 49 66 20 74 68 65 20 66 69 6C 65 20 77 If the file w
0001D0: 61 73 20 6F 70 65 6E 65 64 20 4F 4B 3A 0D 0A 0D as opened OK:...
0001E0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001F0: 20 43 61 72 72 79 20 74 72 75 65 2E 0D 0A 20 20 Carry true...
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A 65 Ze
000010: 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 ro false...
000020: 20 20 20 20 20 20 20 20 20 20 20 48 4C 20 63 6F HL co
000030: 6E 74 61 69 6E 73 20 74 68 65 20 61 64 64 72 65 ntains the addre
000040: 73 73 20 20 6F 66 20 20 61 20 20 62 75 66 66 65 ss of a buffe
000050: 72 20 20 63 6F 6E 74 61 69 6E 69 6E 67 20 20 74 r containing t
000060: 68 65 20 20 66 69 6C 65 0D 0A 20 20 20 20 20 20 he file..
000070: 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 header
000080: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000090: 20 20 20 44 45 20 63 6F 6E 74 61 69 6E 73 20 74 DE contains t
0000A0: 68 65 20 64 61 74 61 20 6C 6F 63 61 74 69 6F 6E he data location
0000B0: 20 28 66 72 6F 6D 20 74 68 65 20 68 65 61 64 65 (from the heade
0000C0: 72 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 r).....
0000D0: 20 20 20 20 20 20 20 42 43 20 63 6F 6E 74 61 69 BC contai
0000E0: 6E 73 20 74 68 65 20 6C 6F 67 69 63 61 6C 20 66 ns the logical f
0000F0: 69 6C 65 20 6C 65 6E 67 74 68 20 28 66 72 6F 6D ile length (from
000100: 20 74 68 65 20 68 65 61 64 65 72 29 2E 0D 0A 20 the header)...
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 A
000120: 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 66 69 contains the fi
000130: 6C 65 20 74 79 70 65 20 28 66 72 6F 6D 20 74 68 le type (from th
000140: 65 20 68 65 61 64 65 72 29 2E 0D 0A 0D 0A 20 20 e header).....
000150: 20 20 20 20 20 49 66 20 74 68 65 20 73 74 72 65 If the stre
000160: 61 6D 20 69 73 20 69 6E 20 75 73 65 3A 0D 0A 0D am is in use:...
000170: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000180: 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 20 Carry false...
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A Z
0001A0: 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 ero false...
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 49 6E 20 56 In V
0001C0: 31 2E 31 3A 20 41 20 63 6F 6E 74 61 69 6E 73 20 1.1: A contains
0001D0: 61 6E 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 an error number
0001E0: 28 23 30 45 29 2E 0D 0A 20 20 20 20 20 20 20 20 (#0E)...
0001F0: 20 20 20 20 20 20 20 20 49 6E 20 56 31 2E 30 3A In V1.0:
Size : 512 (Real : 512)
000000: 20 41 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 A corrupt...
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 43 2C BC,
000020: 44 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 DE and HL corrup
000030: 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 t..... If
000040: 74 68 65 20 75 73 65 72 20 68 69 74 20 65 73 63 the user hit esc
000050: 61 70 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ape:....
000060: 20 20 20 20 20 20 20 20 43 61 72 72 79 20 66 61 Carry fa
000070: 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 lse...
000080: 20 20 20 20 20 20 5A 65 72 6F 20 74 72 75 65 2E Zero true.
000090: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000A0: 20 20 49 6E 20 56 31 2E 31 3A 20 41 20 63 6F 6E In V1.1: A con
0000B0: 74 61 69 6E 73 20 61 6E 20 65 72 72 6F 72 20 6E tains an error n
0000C0: 75 6D 62 65 72 20 28 23 30 30 29 2E 0D 0A 20 20 umber (#00)...
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6E In
0000E0: 20 56 31 2E 30 3A 20 41 20 63 6F 72 72 75 70 74 V1.0: A corrupt
0000F0: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000100: 20 20 20 42 43 2C 44 45 20 61 6E 64 20 48 4C 20 BC,DE and HL
000110: 63 6F 72 72 75 70 74 2E 0D 0A 0D 0A 0D 0A 20 20 corrupt.......
000120: 20 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 0D 0A Always:....
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 49 58 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 IX and other fla
000150: 67 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 gs corrupt...
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6C 6C All
000170: 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 other registers
000180: 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D preserved......
000190: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 ..... AMST
0001A0: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
0001B0: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 FIRMWARE
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 70 61 67 65 20 31 35 2E 31 page 15.1
0001E0: 33 30 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 30..............
0001F0: 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D Notes:...
Size : 512 (Real : 512)
000000: 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 ... This r
000010: 6F 75 74 69 6E 65 20 63 61 6E 20 72 65 74 75 72 outine can retur
000020: 6E 20 74 77 6F 20 65 72 72 6F 72 20 6E 75 6D 62 n two error numb
000030: 65 72 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ers:......
000040: 20 20 20 20 20 20 20 20 20 20 23 30 30 3A 20 20 #00:
000050: 20 20 20 20 54 68 65 20 75 73 65 72 20 68 69 74 The user hit
000060: 20 65 73 63 61 70 65 2E 0D 0A 20 20 20 20 20 20 escape...
000070: 20 20 20 20 20 20 20 20 20 20 23 30 45 3A 20 20 #0E:
000080: 20 20 20 20 54 68 65 20 73 74 72 65 61 6D 20 69 The stream i
000090: 73 20 61 6C 72 65 61 64 79 20 69 6E 20 75 73 65 s already in use
0000A0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ....... Th
0000B0: 65 20 32 4B 20 62 75 66 66 65 72 20 28 32 30 34 e 2K buffer (204
0000C0: 38 20 62 79 74 65 73 29 20 73 75 70 70 6C 69 65 8 bytes) supplie
0000D0: 64 20 69 73 20 75 73 65 64 20 74 6F 20 73 74 6F d is used to sto
0000E0: 72 65 20 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 re the contents
0000F0: 6F 66 20 61 0D 0A 20 20 20 20 20 20 20 62 6C 6F of a.. blo
000100: 63 6B 20 6F 66 20 74 68 65 20 66 69 6C 65 20 77 ck of the file w
000110: 68 65 6E 20 69 74 20 69 73 20 72 65 61 64 20 66 hen it is read f
000120: 72 6F 6D 20 74 61 70 65 2E 20 49 74 20 20 77 69 rom tape. It wi
000130: 6C 6C 20 20 72 65 6D 61 69 6E 20 20 69 6E 20 20 ll remain in
000140: 75 73 65 0D 0A 20 20 20 20 20 20 20 75 6E 74 69 use.. unti
000150: 6C 20 74 68 65 20 66 69 6C 65 20 69 73 20 63 6C l the file is cl
000160: 6F 73 65 64 20 62 79 20 63 61 6C 6C 69 6E 67 20 osed by calling
000170: 65 69 74 68 65 72 20 43 41 53 20 20 49 4E 20 20 either CAS IN
000180: 43 4C 4F 53 45 20 20 6F 72 20 20 43 41 53 20 20 CLOSE or CAS
000190: 49 4E 0D 0A 20 20 20 20 20 20 20 41 42 41 4E 44 IN.. ABAND
0001A0: 4F 4E 2E 20 54 68 65 20 62 75 66 66 65 72 20 6D ON. The buffer m
0001B0: 61 79 20 6C 69 65 20 61 6E 79 77 68 65 72 65 20 ay lie anywhere
0001C0: 69 6E 20 6D 65 6D 6F 72 79 2C 20 65 76 65 6E 20 in memory, even
0001D0: 75 6E 64 65 72 6E 65 61 74 68 20 61 20 52 4F 4D underneath a ROM
0001E0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ....... Th
0001F0: 65 20 66 69 6C 65 6E 61 6D 65 20 70 61 73 73 65 e filename passe
Size : 512 (Real : 512)
000000: 64 20 69 73 20 63 6F 70 69 65 64 20 69 6E 74 6F d is copied into
000010: 20 74 68 65 20 72 65 61 64 20 73 74 72 65 61 6D the read stream
000020: 20 64 65 73 63 72 69 70 74 6F 72 2E 20 20 49 66 descriptor. If
000030: 20 20 69 74 0D 0A 20 20 20 20 20 20 20 69 73 20 it.. is
000040: 6C 6F 6E 67 65 72 20 74 68 61 6E 20 31 36 20 63 longer than 16 c
000050: 68 61 72 61 63 74 65 72 73 20 74 68 65 6E 20 69 haracters then i
000060: 74 20 69 73 20 74 72 75 6E 63 61 74 65 64 20 20 t is truncated
000070: 74 6F 20 20 31 36 20 20 63 68 61 72 61 63 74 65 to 16 characte
000080: 72 73 2E 0D 0A 20 20 20 20 20 20 20 49 66 20 69 rs... If i
000090: 74 20 69 73 20 73 68 6F 72 74 65 72 20 74 68 65 t is shorter the
0000A0: 6E 20 69 74 20 69 73 20 70 61 64 64 65 64 20 77 n it is padded w
0000B0: 69 74 68 20 6E 75 6C 6C 73 20 28 23 30 30 29 20 ith nulls (#00)
0000C0: 74 6F 20 31 36 20 20 63 68 61 72 61 63 74 65 72 to 16 character
0000D0: 73 2E 0D 0A 20 20 20 20 20 20 20 57 68 69 6C 65 s... While
0000E0: 20 74 68 65 20 66 69 6C 65 6E 61 6D 65 20 6D 61 the filename ma
0000F0: 79 20 63 6F 6E 74 61 69 6E 20 61 6E 79 20 63 68 y contain any ch
000100: 61 72 61 63 74 65 72 2C 20 20 69 74 20 20 69 73 aracter, it is
000110: 20 20 62 65 73 74 20 20 74 6F 20 20 61 76 6F 69 best to avoi
000120: 64 0D 0A 20 20 20 20 20 20 20 6E 75 6C 6C 73 2E d.. nulls.
000130: 20 4C 6F 77 65 72 20 63 61 73 65 20 41 53 43 49 Lower case ASCI
000140: 49 20 6C 65 74 74 65 72 73 20 28 63 68 61 72 61 I letters (chara
000150: 63 74 65 72 73 20 23 36 31 2E 2E 23 37 41 29 20 cters #61..#7A)
000160: 61 72 65 20 63 6F 6E 76 65 72 74 65 64 20 74 6F are converted to
000170: 0D 0A 20 20 20 20 20 20 20 74 68 65 69 72 20 75 .. their u
000180: 70 70 65 72 20 63 61 73 65 20 65 71 75 69 76 61 pper case equiva
000190: 6C 65 6E 74 73 20 28 63 68 61 72 61 63 74 65 72 lents (character
0001A0: 73 20 23 34 31 2E 2E 23 35 41 29 2E 20 54 68 65 s #41..#5A). The
0001B0: 20 20 66 69 6C 65 6E 61 6D 65 20 20 6D 61 79 0D filename may.
0001C0: 0A 20 20 20 20 20 20 20 6C 69 65 20 61 6E 79 77 . lie anyw
0001D0: 68 65 72 65 20 69 6E 20 52 41 4D 2C 20 65 76 65 here in RAM, eve
0001E0: 6E 20 75 6E 64 65 72 6E 65 61 74 68 20 61 20 52 n underneath a R
0001F0: 4F 4D 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 OM.......
Size : 512 (Real : 512)
000000: 54 68 65 20 66 69 6C 65 6E 61 6D 65 20 69 73 20 The filename is
000010: 6E 6F 72 6D 61 6C 6C 79 20 74 68 65 20 6E 61 6D normally the nam
000020: 65 20 6F 66 20 74 68 65 20 66 69 6C 65 20 20 74 e of the file t
000030: 68 61 74 20 20 69 73 20 20 74 6F 20 20 62 65 20 hat is to be
000040: 20 72 65 61 64 2E 0D 0A 20 20 20 20 20 20 20 48 read... H
000050: 6F 77 65 76 65 72 2C 20 61 20 7A 65 72 6F 20 6C owever, a zero l
000060: 65 6E 67 74 68 20 66 69 6C 65 6E 61 6D 65 20 28 ength filename (
000070: 6F 72 20 20 6F 6E 65 20 20 73 74 61 72 74 69 6E or one startin
000080: 67 20 20 77 69 74 68 20 20 61 20 20 6E 75 6C 6C g with a null
000090: 29 20 20 69 73 0D 0A 20 20 20 20 20 20 20 74 72 ) is.. tr
0000A0: 65 61 74 65 64 20 73 70 65 63 69 61 6C 6C 79 2E eated specially.
0000B0: 20 49 74 20 69 73 20 74 61 6B 65 6E 20 74 6F 20 It is taken to
0000C0: 6D 65 61 6E 20 72 65 61 64 20 74 68 65 20 6E 65 mean read the ne
0000D0: 78 74 20 66 69 6C 65 20 6F 6E 20 74 68 65 20 74 xt file on the t
0000E0: 61 70 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ape.......
0000F0: 20 57 68 65 6E 20 74 68 65 20 66 69 6C 65 20 69 When the file i
000100: 73 20 6F 70 65 6E 65 64 20 66 6F 72 20 72 65 61 s opened for rea
000110: 64 69 6E 67 20 74 68 65 20 66 69 72 73 74 20 62 ding the first b
000120: 6C 6F 63 6B 20 20 6F 66 20 20 74 68 65 20 20 66 lock of the f
000130: 69 6C 65 20 20 69 73 0D 0A 20 20 20 20 20 20 20 ile is..
000140: 72 65 61 64 20 69 6D 6D 65 64 69 61 74 65 6C 79 read immediately
000150: 2E 20 54 68 65 20 61 64 64 72 65 73 73 20 6F 66 . The address of
000160: 20 74 68 65 20 61 72 65 61 20 77 68 65 72 65 20 the area where
000170: 74 68 65 20 68 65 61 64 65 72 20 20 66 72 6F 6D the header from
000180: 20 20 74 68 69 73 0D 0A 20 20 20 20 20 20 20 62 this.. b
000190: 6C 6F 63 6B 20 69 73 20 73 74 6F 72 65 64 20 69 lock is stored i
0001A0: 73 20 70 61 73 73 65 64 20 62 61 63 6B 20 74 6F s passed back to
0001B0: 20 74 68 65 20 75 73 65 72 20 73 6F 20 74 68 61 the user so tha
0001C0: 74 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 63 61 t information ca
0001D0: 6E 20 20 62 65 0D 0A 20 20 20 20 20 20 20 65 78 n be.. ex
0001E0: 74 72 61 63 74 65 64 20 66 72 6F 6D 20 69 74 2E tracted from it.
0001F0: 20 54 68 69 73 20 61 72 65 61 20 77 69 6C 6C 20 This area will
Size : 512 (Real : 512)
000000: 6C 69 65 20 69 6E 20 74 68 65 20 63 65 6E 74 72 lie in the centr
000010: 61 6C 20 33 32 4B 20 6F 66 20 20 52 41 4D 2E 20 al 32K of RAM.
000020: 20 54 68 65 0D 0A 20 20 20 20 20 20 20 75 73 65 The.. use
000030: 72 20 69 73 20 6E 6F 74 20 61 6C 6C 6F 77 65 64 r is not allowed
000040: 20 74 6F 20 77 72 69 74 65 20 74 6F 20 74 68 65 to write to the
000050: 20 68 65 61 64 65 72 2C 20 6F 6E 6C 79 20 20 72 header, only r
000060: 65 61 64 20 20 66 72 6F 6D 20 20 69 74 2E 20 20 ead from it.
000070: 54 68 65 0D 0A 20 20 20 20 20 20 20 43 61 73 73 The.. Cass
000080: 65 74 74 65 20 4D 61 6E 61 67 65 72 20 75 73 65 ette Manager use
000090: 73 20 66 69 65 6C 64 73 20 69 6E 20 74 68 65 20 s fields in the
0000A0: 68 65 61 64 65 72 20 66 6F 72 20 69 74 73 20 6F header for its o
0000B0: 77 6E 20 70 75 72 70 6F 73 65 73 20 61 6E 64 20 wn purposes and
0000C0: 73 6F 0D 0A 20 20 20 20 20 20 20 74 68 65 73 65 so.. these
0000D0: 20 6D 61 79 20 64 69 66 66 65 72 20 66 72 6F 6D may differ from
0000E0: 20 74 68 6F 73 65 20 72 65 61 64 20 66 72 6F 6D those read from
0000F0: 20 74 68 65 20 74 61 70 65 2E 20 54 68 65 20 66 the tape. The f
000100: 69 6C 65 20 74 79 70 65 2C 20 6C 6F 67 69 63 61 ile type, logica
000110: 6C 0D 0A 20 20 20 20 20 20 20 6C 65 6E 67 74 68 l.. length
000120: 2C 20 65 6E 74 72 79 20 70 6F 69 6E 74 20 61 6E , entry point an
000130: 64 20 61 6C 6C 20 75 73 65 72 20 66 69 65 6C 64 d all user field
000140: 73 20 77 69 6C 6C 20 20 72 65 6D 61 69 6E 20 20 s will remain
000150: 75 6E 63 68 61 6E 67 65 64 2E 20 20 28 73 65 65 unchanged. (see
000160: 0D 0A 20 20 20 20 20 20 20 73 65 63 74 69 6F 6E .. section
000170: 20 38 20 66 6F 72 20 61 20 64 65 73 63 72 69 70 8 for a descrip
000180: 74 69 6F 6E 20 6F 66 20 74 68 65 20 68 65 61 64 tion of the head
000190: 65 72 29 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 er).........
0001A0: 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 Related entri
0001B0: 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 es:......
0001C0: 43 41 53 20 49 4E 20 41 42 41 4E 44 4F 4E 0D 0A CAS IN ABANDON..
0001D0: 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 43 48 CAS IN CH
0001E0: 41 52 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 AR.. CAS I
0001F0: 4E 20 43 4C 4F 53 45 0D 0A 20 20 20 20 20 20 20 N CLOSE..
Size : 512 (Real : 512)
000000: 43 41 53 20 49 4E 20 44 49 52 45 43 54 0D 0A 20 CAS IN DIRECT..
000010: 20 20 20 20 20 20 43 41 53 20 49 4E 20 4F 50 45 CAS IN OPE
000020: 4E 20 28 44 49 53 43 29 0D 0A 20 20 20 20 20 20 N (DISC)..
000030: 20 43 41 53 20 4F 55 54 20 4F 50 45 4E 0D 0A 0D CAS OUT OPEN...
000040: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 ...............
000050: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000060: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
000070: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 70 61 67 65 20 31 35 2E 31 33 31 0D 0A 0D 0A page 15.131....
0000A0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
0000B0: 20 31 32 35 3A 20 43 41 53 20 49 4E 20 4F 50 45 125: CAS IN OPE
0000C0: 4E 20 44 49 53 43 20 20 20 20 20 20 20 20 20 20 N DISC
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 20 23 42 43 37 37 0D 0A 0D 0A 0D 0A 20 20 20 #BC77......
000100: 20 20 20 20 4F 70 65 6E 20 61 20 66 69 6C 65 20 Open a file
000110: 66 6F 72 20 69 6E 70 75 74 2E 0D 0A 0D 0A 0D 0A for input.......
000120: 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A Action:..
000130: 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 20 75 .... Set u
000140: 70 20 74 68 65 20 72 65 61 64 20 73 74 72 65 61 p the read strea
000150: 6D 20 66 6F 72 20 72 65 61 64 69 6E 67 20 61 20 m for reading a
000160: 66 69 6C 65 20 61 6E 64 20 72 65 61 64 20 74 68 file and read th
000170: 65 20 68 65 61 64 65 72 20 69 66 20 74 68 65 72 e header if ther
000180: 65 0D 0A 20 20 20 20 20 20 20 69 73 20 6F 6E 65 e.. is one
000190: 2C 20 6F 74 68 65 72 20 77 69 73 65 20 63 72 65 , other wise cre
0001A0: 61 74 65 20 61 20 66 61 6B 65 20 68 65 61 64 65 ate a fake heade
0001B0: 72 20 69 6E 20 73 74 6F 72 65 2E 0D 0A 0D 0A 0D r in store......
0001C0: 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F . Entry co
0001D0: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 nditions:......
0001E0: 20 20 20 20 20 20 42 20 63 6F 6E 74 61 69 6E 73 B contains
0001F0: 20 74 68 65 20 6C 65 6E 67 74 68 20 6F 66 20 74 the length of t
Size : 512 (Real : 512)
000000: 68 65 20 66 69 6C 65 6E 61 6D 65 2E 0D 0A 20 20 he filename...
000010: 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 HL contains
000020: 20 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 20 the address of
000030: 74 68 65 20 66 69 6C 65 6E 61 6D 65 2E 0D 0A 20 the filename...
000040: 20 20 20 20 20 20 44 45 20 63 6F 6E 74 61 69 6E DE contain
000050: 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 s the address of
000060: 20 61 20 32 4B 20 62 75 66 66 65 72 20 74 6F 20 a 2K buffer to
000070: 75 73 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 use.......
000080: 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 Exit conditions
000090: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 :.... If t
0000A0: 68 65 20 66 69 6C 65 20 77 61 73 20 6F 70 65 6E he file was open
0000B0: 65 64 20 4F 4B 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 ed OK:......
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 Carr
0000D0: 79 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 20 y true...
0000E0: 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 61 Zero fa
0000F0: 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 lse...
000100: 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E HL contain
000110: 73 20 74 68 65 20 61 64 64 72 65 73 73 20 20 6F s the address o
000120: 66 20 20 61 20 20 62 75 66 66 65 72 20 20 63 6F f a buffer co
000130: 6E 74 61 69 6E 69 6E 67 20 20 74 68 65 20 20 66 ntaining the f
000140: 69 6C 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ile..
000150: 20 20 20 20 20 68 65 61 64 65 72 2E 0D 0A 20 20 header...
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 45 DE
000170: 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 64 61 contains the da
000180: 74 61 20 6C 6F 63 61 74 69 6F 6E 20 28 66 72 6F ta location (fro
000190: 6D 20 74 68 65 20 68 65 61 64 65 72 29 2E 0D 0A m the header)...
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 42 43 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 BC contains the
0001C0: 6C 6F 67 69 63 61 6C 20 66 69 6C 65 20 6C 65 6E logical file len
0001D0: 67 74 68 20 28 66 72 6F 6D 20 74 68 65 20 68 65 gth (from the he
0001E0: 61 64 65 72 29 2E 0D 0A 20 20 20 20 20 20 20 20 ader)...
0001F0: 20 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 A contai
Size : 512 (Real : 512)
000000: 6E 73 20 74 68 65 20 66 69 6C 65 20 74 79 70 65 ns the file type
000010: 20 28 66 72 6F 6D 20 74 68 65 20 68 65 61 64 65 (from the heade
000020: 72 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 r).......
000030: 49 66 20 74 68 65 20 73 74 72 65 61 6D 20 69 73 If the stream is
000040: 20 61 6C 72 65 61 64 79 20 6F 70 65 6E 3A 0D 0A already open:..
000050: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000060: 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E Carry false.
000070: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000080: 20 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 Zero false...
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 A
0000A0: 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 65 72 72 contains an err
0000B0: 6F 72 20 6E 75 6D 62 65 72 20 28 23 30 45 29 2E or number (#0E).
0000C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000D0: 20 20 42 43 2C 44 45 20 61 6E 64 20 48 4C 20 63 BC,DE and HL c
0000E0: 6F 72 72 75 70 74 2E 0D 0A 0D 0A 20 20 20 20 20 orrupt.....
0000F0: 20 20 49 66 20 74 68 65 20 6F 70 65 6E 20 66 61 If the open fa
000100: 69 6C 65 64 20 66 6F 72 20 61 6E 79 20 6F 74 68 iled for any oth
000110: 65 72 20 72 65 61 73 6F 6E 3A 0D 0A 0D 0A 20 20 er reason:....
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 Ca
000130: 72 72 79 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 rry false...
000140: 20 20 20 20 20 20 20 20 20 20 20 20 5A 65 72 6F Zero
000150: 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 20 20 true...
000160: 20 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 A contai
000170: 6E 73 20 61 6E 20 65 72 72 6F 72 20 6E 75 6D 62 ns an error numb
000180: 65 72 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 er...
000190: 20 20 20 20 20 42 43 2C 44 45 20 61 6E 64 20 48 BC,DE and H
0001A0: 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 0D 0A 20 20 L corrupt.....
0001B0: 20 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 0D 0A Always:....
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 49 58 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 IX and other fla
0001E0: 67 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 gs corrupt...
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6C 6C all
Size : 512 (Real : 512)
000000: 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 other registers
000010: 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D preserved......
000020: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D ....... AM
000030: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
000040: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 /6128 FIRMWARE
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 20 70 61 67 65 20 31 35 page 15
000070: 2E 31 33 32 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A .132............
000080: 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D .. Notes:.
000090: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
0000A0: 32 4B 20 62 75 66 66 65 72 20 28 32 30 34 38 20 2K buffer (2048
0000B0: 62 79 74 65 73 29 20 73 75 70 70 6C 69 65 64 20 bytes) supplied
0000C0: 69 73 20 75 73 65 64 20 74 6F 20 73 74 6F 72 65 is used to store
0000D0: 20 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 the contents of
0000E0: 20 61 0D 0A 20 20 20 20 20 20 20 62 6C 6F 63 6B a.. block
0000F0: 20 6F 66 20 74 68 65 20 66 69 6C 65 20 77 68 65 of the file whe
000100: 6E 20 69 74 20 69 73 20 72 65 61 64 20 66 72 6F n it is read fro
000110: 6D 20 64 69 73 63 2E 20 49 74 20 20 77 69 6C 6C m disc. It will
000120: 20 20 72 65 6D 61 69 6E 20 20 69 6E 20 20 75 73 remain in us
000130: 65 0D 0A 20 20 20 20 20 20 20 75 6E 74 69 6C 20 e.. until
000140: 74 68 65 20 66 69 6C 65 20 69 73 20 63 6C 6F 73 the file is clos
000150: 65 64 20 62 79 20 63 61 6C 6C 69 6E 67 20 65 69 ed by calling ei
000160: 74 68 65 72 20 43 41 53 20 20 49 4E 20 20 43 4C ther CAS IN CL
000170: 4F 53 45 20 20 6F 72 20 20 43 41 53 20 20 49 4E OSE or CAS IN
000180: 0D 0A 20 20 20 20 20 20 20 41 42 41 4E 44 4F 4E .. ABANDON
000190: 2E 20 54 68 65 20 62 75 66 66 65 72 20 6D 61 79 . The buffer may
0001A0: 20 6C 69 65 20 61 6E 79 77 68 65 72 65 20 69 6E lie anywhere in
0001B0: 20 6D 65 6D 6F 72 79 2C 20 65 76 65 6E 20 75 6E memory, even un
0001C0: 64 65 72 6E 65 61 74 68 20 61 20 52 4F 4D 2E 0D derneath a ROM..
0001D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
0001E0: 66 69 6C 65 6E 61 6D 65 20 6D 75 73 74 20 63 6F filename must co
0001F0: 6E 66 6F 72 6D 20 74 6F 20 20 74 68 65 20 20 41 nform to the A
Size : 512 (Real : 512)
000000: 4D 53 44 4F 53 20 20 63 6F 6E 76 65 6E 74 69 6F MSDOS conventio
000010: 6E 73 20 20 77 69 74 68 20 20 6E 6F 20 20 77 69 ns with no wi
000020: 6C 64 0D 0A 20 20 20 20 20 20 20 63 61 72 64 73 ld.. cards
000030: 2E 20 54 68 65 20 66 69 6C 65 6E 61 6D 65 20 6D . The filename m
000040: 61 79 20 6C 69 65 20 61 6E 79 77 68 65 72 65 20 ay lie anywhere
000050: 69 6E 20 52 41 4D 2C 20 65 76 65 6E 20 75 6E 64 in RAM, even und
000060: 65 72 6E 65 61 74 68 20 61 20 52 4F 4D 2E 0D 0A erneath a ROM...
000070: 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 .... If th
000080: 65 20 74 79 70 65 20 70 61 72 74 20 6F 66 20 74 e type part of t
000090: 68 65 20 66 69 6C 65 6E 61 6D 65 20 69 73 20 6F he filename is o
0000A0: 6D 69 74 74 65 64 20 20 41 4D 53 44 4F 53 20 20 mitted AMSDOS
0000B0: 77 69 6C 6C 20 20 61 74 74 65 6D 70 74 20 20 74 will attempt t
0000C0: 6F 0D 0A 20 20 20 20 20 20 20 6F 70 65 6E 2C 20 o.. open,
0000D0: 69 6E 20 74 75 72 6E 2C 20 61 20 66 69 6C 65 20 in turn, a file
0000E0: 77 69 74 68 20 74 68 65 20 66 6F 6C 6C 6F 77 69 with the followi
0000F0: 6E 67 20 74 79 70 65 20 70 61 72 74 73 20 27 2E ng type parts '.
000100: 27 2C 27 2E 42 41 53 27 2C 27 2E 42 49 4E 27 2E ','.BAS','.BIN'.
000110: 0D 0A 20 20 20 20 20 20 20 49 66 20 6E 6F 6E 65 .. If none
000120: 20 6F 66 20 74 68 65 73 65 20 65 78 69 73 74 20 of these exist
000130: 74 68 65 6E 20 74 68 65 20 6F 70 65 6E 20 77 69 then the open wi
000140: 6C 6C 20 66 61 69 6C 2E 0D 0A 0D 0A 0D 0A 20 20 ll fail.......
000150: 20 20 20 20 20 57 68 65 6E 20 74 68 65 20 66 69 When the fi
000160: 6C 65 20 20 69 73 20 20 6F 70 65 6E 65 64 20 20 le is opened
000170: 74 68 65 20 20 66 69 72 73 74 20 20 72 65 63 6F the first reco
000180: 72 64 20 20 6F 66 20 20 74 68 65 20 20 66 69 6C rd of the fil
000190: 65 20 20 69 73 20 20 72 65 61 64 0D 0A 20 20 20 e is read..
0001A0: 20 20 20 20 69 6D 6D 65 64 69 61 74 65 6C 79 2E immediately.
0001B0: 20 49 66 20 74 68 69 73 20 72 65 63 6F 72 64 20 If this record
0001C0: 63 6F 6E 74 61 69 6E 73 20 61 20 68 65 61 64 65 contains a heade
0001D0: 72 20 74 68 65 6E 20 69 74 20 69 73 20 20 63 6F r then it is co
0001E0: 70 69 65 64 20 20 69 6E 74 6F 0D 0A 20 20 20 20 pied into..
0001F0: 20 20 20 73 74 6F 72 65 2C 20 6F 74 68 65 72 77 store, otherw
Size : 512 (Real : 512)
000000: 69 73 65 20 61 20 66 61 6B 65 20 68 65 61 64 65 ise a fake heade
000010: 72 20 69 73 20 63 6F 6E 73 74 72 75 63 74 65 64 r is constructed
000020: 20 69 6E 20 73 74 6F 72 65 2E 20 54 68 65 20 61 in store. The a
000030: 64 64 72 65 73 73 20 6F 66 0D 0A 20 20 20 20 20 ddress of..
000040: 20 20 74 68 65 20 61 72 65 61 20 77 68 65 72 65 the area where
000050: 20 74 68 65 20 68 65 61 64 65 72 20 69 73 20 73 the header is s
000060: 74 6F 72 65 64 20 69 73 20 70 61 73 73 65 64 20 tored is passed
000070: 62 61 63 6B 20 74 6F 20 74 68 65 20 75 73 65 72 back to the user
000080: 20 73 6F 20 74 68 61 74 0D 0A 20 20 20 20 20 20 so that..
000090: 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 63 61 6E information can
0000A0: 20 62 65 20 65 78 74 72 61 63 74 65 64 20 66 72 be extracted fr
0000B0: 6F 6D 20 20 69 74 2E 20 20 54 68 69 73 20 20 61 om it. This a
0000C0: 72 65 61 20 20 77 69 6C 6C 20 20 6C 69 65 20 20 rea will lie
0000D0: 69 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 in the..
0000E0: 63 65 6E 74 72 61 6C 20 33 32 4B 20 6F 66 20 52 central 32K of R
0000F0: 41 4D 2E 20 54 68 65 20 75 73 65 72 20 69 73 20 AM. The user is
000100: 6E 6F 74 20 61 6C 6C 6F 77 65 64 20 74 6F 20 77 not allowed to w
000110: 72 69 74 65 20 20 74 6F 20 20 74 68 65 20 20 68 rite to the h
000120: 65 61 64 65 72 2C 0D 0A 20 20 20 20 20 20 20 6F eader,.. o
000130: 6E 6C 79 20 72 65 61 64 20 66 72 6F 6D 20 69 74 nly read from it
000140: 2E 20 41 4D 53 44 4F 53 20 75 73 65 73 20 20 66 . AMSDOS uses f
000150: 69 65 6C 64 73 20 20 69 6E 20 20 74 68 65 20 20 ields in the
000160: 68 65 61 64 65 72 20 20 66 6F 72 20 20 69 74 73 header for its
000170: 20 20 6F 77 6E 0D 0A 20 20 20 20 20 20 20 70 75 own.. pu
000180: 72 70 6F 73 65 73 20 61 6E 64 20 73 6F 20 74 68 rposes and so th
000190: 65 73 65 20 6D 61 79 20 64 69 66 66 65 72 20 66 ese may differ f
0001A0: 72 6F 6D 20 74 68 6F 73 65 20 72 65 61 64 20 66 rom those read f
0001B0: 72 6F 6D 20 20 74 68 65 20 20 64 69 73 63 2E 20 rom the disc.
0001C0: 20 54 68 65 0D 0A 20 20 20 20 20 20 20 66 69 6C The.. fil
0001D0: 65 20 74 79 70 65 2C 20 6C 6F 67 69 63 61 6C 20 e type, logical
0001E0: 6C 65 6E 67 74 68 2C 20 65 6E 74 72 79 20 70 6F length, entry po
0001F0: 69 6E 74 20 61 6E 64 20 61 6C 6C 20 75 73 65 72 int and all user
Size : 512 (Real : 512)
000000: 20 66 69 65 6C 64 73 20 77 69 6C 6C 20 72 65 6D fields will rem
000010: 61 69 6E 0D 0A 20 20 20 20 20 20 20 75 6E 63 68 ain.. unch
000020: 61 6E 67 65 64 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 anged.........
000030: 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 Related ent
000040: 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ries:......
000050: 20 20 43 41 53 20 49 4E 20 41 42 41 4E 44 4F 4E CAS IN ABANDON
000060: 20 28 44 49 53 43 29 0D 0A 20 20 20 20 20 20 20 (DISC)..
000070: 43 41 53 20 49 4E 20 43 48 41 52 20 28 44 49 53 CAS IN CHAR (DIS
000080: 43 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 C).. CAS I
000090: 4E 20 43 4C 4F 53 45 20 28 44 49 53 43 29 0D 0A N CLOSE (DISC)..
0000A0: 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 4F 50 CAS IN OP
0000B0: 45 4E 0D 0A 20 20 20 20 20 20 20 43 41 53 20 4F EN.. CAS O
0000C0: 55 54 20 4F 50 45 4E 20 28 44 49 53 43 29 0D 0A UT OPEN (DISC)..
0000D0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
0000E0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
0000F0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
000100: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
000110: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
000120: 20 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 20 70 61 67 65 20 31 page 1
000140: 35 2E 31 33 33 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 5.133...........
000150: 0A 0D 0A 20 20 20 20 20 20 20 31 32 36 3A 20 43 ... 126: C
000160: 41 53 20 49 4E 20 43 4C 4F 53 45 20 20 20 20 20 AS IN CLOSE
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 20 20 20 20 20 20
000190: 20 20 20 20 20 23 42 43 37 41 0D 0A 0D 0A 20 20 #BC7A....
0001A0: 20 20 20 20 20 43 6C 6F 73 65 20 74 68 65 20 69 Close the i
0001B0: 6E 70 75 74 20 66 69 6C 65 20 70 72 6F 70 65 72 nput file proper
0001C0: 6C 79 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 ly..... Ac
0001D0: 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 tion:....
0001E0: 4D 61 72 6B 20 74 68 65 20 72 65 61 64 20 73 74 Mark the read st
0001F0: 72 65 61 6D 20 61 73 20 63 6C 6F 73 65 64 2E 0D ream as closed..
Size : 512 (Real : 512)
000000: 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 ... Entry
000010: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 conditions:....
000020: 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 No conditi
000030: 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 ons..... E
000040: 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D xit conditions:.
000050: 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 ... If the
000060: 20 73 74 72 65 61 6D 20 77 61 73 20 63 6C 6F 73 stream was clos
000070: 65 64 20 4F 4B 3A 0D 0A 0D 0A 20 20 20 20 20 20 ed OK:....
000080: 20 20 20 20 20 20 20 20 20 20 43 61 72 72 79 20 Carry
000090: 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 true...
0000A0: 20 20 20 20 20 20 20 41 20 63 6F 72 72 75 70 74 A corrupt
0000B0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
0000C0: 68 65 20 73 74 72 65 61 6D 20 77 61 73 20 6E 6F he stream was no
0000D0: 74 20 6F 70 65 6E 3A 0D 0A 0D 0A 20 20 20 20 20 t open:....
0000E0: 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 79 Carry
0000F0: 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 false...
000100: 20 20 20 20 20 20 20 20 20 49 6E 20 56 31 2E 31 In V1.1
000110: 3A 20 41 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 : A contains an
000120: 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 28 23 30 error number (#0
000130: 45 29 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 E)...
000140: 20 20 20 20 20 49 6E 20 56 31 2E 30 3A 20 41 20 In V1.0: A
000150: 63 6F 72 72 75 70 74 2E 0D 0A 0D 0A 20 20 20 20 corrupt.....
000160: 20 20 20 41 6C 77 61 79 73 3A 0D 0A 0D 0A 20 20 Always:....
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 43 BC
000180: 2C 44 45 2C 48 4C 20 61 6E 64 20 6F 74 68 65 72 ,DE,HL and other
000190: 20 66 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D flags corrupt..
0001A0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001B0: 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 All other regis
0001C0: 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D ters preserved..
0001D0: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A ... Notes:
0001E0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 ...... Thi
0001F0: 73 20 72 6F 75 74 69 6E 65 20 63 61 6E 20 6F 6E s routine can on
Size : 512 (Real : 512)
000000: 6C 79 20 72 65 74 75 72 6E 20 6F 6E 65 20 65 72 ly return one er
000010: 72 6F 72 20 6E 75 6D 62 65 72 3A 0D 0A 0D 0A 0D ror number:.....
000020: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000030: 20 23 30 45 3A 20 54 68 65 20 73 74 72 65 61 6D #0E: The stream
000040: 20 69 73 20 6E 6F 74 20 6F 70 65 6E 2E 0D 0A 0D is not open....
000050: 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 ... This r
000060: 6F 75 74 69 6E 65 20 73 68 6F 75 6C 64 20 62 65 outine should be
000070: 20 63 61 6C 6C 65 64 20 74 6F 20 63 6C 6F 73 65 called to close
000080: 20 61 20 66 69 6C 65 20 61 66 74 65 72 20 20 72 a file after r
000090: 65 61 64 69 6E 67 20 20 66 72 6F 6D 20 20 69 74 eading from it
0000A0: 0D 0A 20 20 20 20 20 20 20 75 73 69 6E 67 20 65 .. using e
0000B0: 69 74 68 65 72 20 43 41 53 20 49 4E 20 43 48 41 ither CAS IN CHA
0000C0: 52 20 6F 72 20 43 41 53 20 49 4E 20 44 49 52 45 R or CAS IN DIRE
0000D0: 43 54 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 CT.......
0000E0: 54 68 65 20 75 73 65 72 20 6D 61 79 20 72 65 63 The user may rec
0000F0: 6C 61 69 6D 20 74 68 65 20 62 75 66 66 65 72 20 laim the buffer
000100: 70 61 73 73 65 64 20 74 6F 20 43 41 53 20 49 4E passed to CAS IN
000110: 20 20 4F 50 45 4E 20 20 61 66 74 65 72 20 20 63 OPEN after c
000120: 61 6C 6C 69 6E 67 0D 0A 20 20 20 20 20 20 20 74 alling.. t
000130: 68 69 73 20 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A his routine.....
000140: 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 .... Relat
000150: 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 20 ed entries:....
000160: 20 20 20 20 20 20 43 41 53 20 49 4E 20 41 42 41 CAS IN ABA
000170: 4E 44 4F 4E 0D 0A 20 20 20 20 20 20 20 43 41 53 NDON.. CAS
000180: 20 49 4E 20 43 4C 4F 53 45 20 28 44 49 53 43 29 IN CLOSE (DISC)
000190: 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 .. CAS IN
0001A0: 4F 50 45 4E 0D 0A 20 20 20 20 20 20 20 43 41 53 OPEN.. CAS
0001B0: 20 4F 55 54 20 43 4C 4F 53 45 0D 0A 0D 0A 0D 0A OUT CLOSE......
0001C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 ...... AMS
0001D0: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
0001E0: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 FIRMWARE
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 70 61 67 65 20 31 35 2E page 15.
000010: 31 33 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 134.............
000020: 0A 20 20 20 20 20 20 20 31 32 36 3A 20 43 41 53 . 126: CAS
000030: 20 49 4E 20 43 4C 4F 53 45 20 28 44 49 53 43 29 IN CLOSE (DISC)
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 23 42 43 37 41 0D 0A #BC7A..
000070: 0D 0A 20 20 20 20 20 20 20 43 6C 6F 73 65 20 74 .. Close t
000080: 68 65 20 69 6E 70 75 74 20 66 69 6C 65 20 70 72 he input file pr
000090: 6F 70 65 72 6C 79 2E 0D 0A 0D 0A 20 20 20 20 20 operly.....
0000A0: 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 Action:....
0000B0: 20 20 20 20 4D 61 72 6B 20 74 68 65 20 72 65 61 Mark the rea
0000C0: 64 20 73 74 72 65 61 6D 20 61 73 20 63 6C 6F 73 d stream as clos
0000D0: 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E ed..... En
0000E0: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D try conditions:.
0000F0: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E ... No con
000100: 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 20 ditions.....
000110: 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F Exit conditio
000120: 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 ns:.... If
000130: 20 74 68 65 20 73 74 72 65 61 6D 20 77 61 73 20 the stream was
000140: 63 6C 6F 73 65 64 20 4F 4B 3A 0D 0A 0D 0A 20 20 closed OK:....
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 Ca
000160: 72 72 79 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 rry true...
000170: 20 20 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 Zero
000180: 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 false...
000190: 20 20 20 20 20 20 20 20 41 20 63 6F 72 72 75 70 A corrup
0001A0: 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 t..... If
0001B0: 74 68 65 20 73 74 72 65 61 6D 20 69 73 20 6E 6F the stream is no
0001C0: 74 20 6F 70 65 6E 3A 0D 0A 0D 0A 20 20 20 20 20 t open:....
0001D0: 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 79 Carry
0001E0: 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 false...
0001F0: 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 61 Zero fa
Size : 512 (Real : 512)
000000: 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 lse...
000010: 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 A contains
000020: 20 61 6E 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 an error number
000030: 20 28 23 30 45 29 2E 0D 0A 0D 0A 20 20 20 20 20 (#0E).....
000040: 20 20 49 66 20 74 68 65 20 63 6C 6F 73 65 20 66 If the close f
000050: 61 69 6C 65 64 20 66 6F 72 20 61 6E 79 20 6F 74 ailed for any ot
000060: 68 65 72 20 72 65 61 73 6F 6E 3A 0D 0A 0D 0A 20 her reason:....
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
000080: 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 20 20 20 arry false...
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 5A 65 72 Zer
0000A0: 6F 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 20 o true...
0000B0: 20 20 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 A conta
0000C0: 69 6E 73 20 61 6E 20 65 72 72 6F 72 20 6E 75 6D ins an error num
0000D0: 62 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ber..... A
0000E0: 6C 77 61 79 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 lways:....
0000F0: 20 20 20 20 20 20 20 20 20 20 42 43 2C 44 45 2C BC,DE,
000100: 48 4C 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 HL and other fla
000110: 67 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 gs corrupt...
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6C 6C All
000130: 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 other registers
000140: 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 20 preserved.....
000150: 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A Notes:....
000160: 20 20 20 20 20 20 20 54 68 69 73 20 72 6F 75 74 This rout
000170: 69 6E 65 20 73 68 6F 75 6C 64 20 62 65 20 63 61 ine should be ca
000180: 6C 6C 65 64 20 74 6F 20 63 6C 6F 73 65 20 61 20 lled to close a
000190: 66 69 6C 65 20 61 66 74 65 72 20 20 72 65 61 64 file after read
0001A0: 69 6E 67 20 20 66 72 6F 6D 20 20 69 74 0D 0A 20 ing from it..
0001B0: 20 20 20 20 20 20 75 73 69 6E 67 20 65 69 74 68 using eith
0001C0: 65 72 20 43 41 53 20 49 4E 20 43 48 41 52 20 6F er CAS IN CHAR o
0001D0: 72 20 43 41 53 20 49 4E 20 44 49 52 45 43 54 2E r CAS IN DIRECT.
0001E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 75 .... The u
0001F0: 73 65 72 20 6D 61 79 20 72 65 63 6C 61 69 6D 20 ser may reclaim
Size : 512 (Real : 512)
000000: 74 68 65 20 62 75 66 66 65 72 20 70 61 73 73 65 the buffer passe
000010: 64 20 74 6F 20 43 41 53 20 49 4E 20 20 4F 50 45 d to CAS IN OPE
000020: 4E 20 20 61 66 74 65 72 20 20 63 61 6C 6C 69 6E N after callin
000030: 67 0D 0A 20 20 20 20 20 20 20 74 68 69 73 20 72 g.. this r
000040: 6F 75 74 69 6E 65 2E 0D 0A 0D 0A 20 20 20 20 20 outine.....
000050: 20 20 54 68 65 20 64 72 69 76 65 20 6D 6F 74 6F The drive moto
000060: 72 20 69 66 20 74 75 72 6E 65 64 20 6F 66 66 20 r if turned off
000070: 69 6D 6D 65 64 69 61 74 65 6C 79 20 61 66 74 65 immediately afte
000080: 72 20 20 74 68 65 20 20 69 6E 70 75 74 20 20 66 r the input f
000090: 69 6C 65 20 20 68 61 73 0D 0A 20 20 20 20 20 20 ile has..
0000A0: 20 63 6C 6F 73 65 64 2E 20 54 68 69 73 20 69 73 closed. This is
0000B0: 20 64 6F 6E 65 20 73 6F 20 74 68 61 74 20 61 20 done so that a
0000C0: 6C 6F 61 64 65 64 20 70 72 6F 67 72 61 6D 20 20 loaded program
0000D0: 77 68 69 63 68 20 20 74 61 6B 65 73 20 20 6F 76 which takes ov
0000E0: 65 72 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 er the..
0000F0: 6D 61 63 68 69 6E 65 20 69 73 20 6E 6F 74 20 6C machine is not l
000100: 65 66 74 20 77 69 74 68 20 74 68 65 20 6D 6F 74 eft with the mot
000110: 6F 72 20 72 75 6E 6E 69 6E 67 20 69 6E 64 65 66 or running indef
000120: 69 6E 69 74 65 6C 79 2E 0D 0A 0D 0A 20 20 20 20 initely.....
000130: 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 Related entri
000140: 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 43 41 es:.... CA
000150: 53 20 49 4E 20 41 42 41 4E 44 4F 4E 20 28 44 49 S IN ABANDON (DI
000160: 53 43 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 SC).. CAS
000170: 49 4E 20 43 4C 4F 53 45 0D 0A 20 20 20 20 20 20 IN CLOSE..
000180: 20 43 41 53 20 49 4E 20 4F 50 45 4E 20 28 44 49 CAS IN OPEN (DI
000190: 53 43 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 SC).. CAS
0001A0: 4F 55 54 20 43 4C 4F 53 45 20 28 44 49 53 43 29 OUT CLOSE (DISC)
0001B0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
0001C0: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
0001D0: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
0001E0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 page
Size : 512 (Real : 512)
000000: 20 31 35 2E 31 33 35 0D 0A 0D 0A 0D 0A 0D 0A 0D 15.135.........
000010: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 32 37 3A ..... 127:
000020: 20 43 41 53 20 49 4E 20 41 42 41 4E 44 4F 4E 20 CAS IN ABANDON
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 43 #BC
000060: 37 44 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 43 7D...... C
000070: 6C 6F 73 65 20 74 68 65 20 69 6E 70 75 74 20 66 lose the input f
000080: 69 6C 65 20 69 6D 6D 65 64 69 61 74 65 6C 79 2E ile immediately.
000090: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 ...... Act
0000A0: 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ion:......
0000B0: 20 41 62 61 6E 64 6F 6E 20 72 65 61 64 69 6E 67 Abandon reading
0000C0: 20 66 72 6F 6D 20 74 68 65 20 72 65 61 64 20 73 from the read s
0000D0: 74 72 65 61 6D 20 61 6E 64 20 63 6C 6F 73 65 20 tream and close
0000E0: 69 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 it.......
0000F0: 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 Entry conditions
000100: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F :...... No
000110: 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A conditions.....
000120: 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F .. Exit co
000130: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 nditions:......
000140: 20 20 20 20 20 20 41 46 2C 42 43 2C 44 45 20 61 AF,BC,DE a
000150: 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A nd HL corrupt...
000160: 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 All other
000170: 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 registers prese
000180: 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 rved.......
000190: 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 Notes:......
0001A0: 20 20 20 20 20 54 68 69 73 20 72 6F 75 74 69 6E This routin
0001B0: 65 20 69 73 20 20 69 6E 74 65 6E 64 65 64 20 20 e is intended
0001C0: 66 6F 72 20 20 75 73 65 20 20 61 66 74 65 72 20 for use after
0001D0: 20 61 6E 20 20 65 72 72 6F 72 20 20 6F 72 20 20 an error or
0001E0: 69 6E 20 20 73 69 6D 69 6C 61 72 0D 0A 20 20 20 in similar..
0001F0: 20 20 20 20 63 69 72 63 75 6D 73 74 61 6E 63 65 circumstance
Size : 512 (Real : 512)
000000: 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 s....... T
000010: 68 65 20 75 73 65 72 20 6D 61 79 20 72 65 63 6C he user may recl
000020: 61 69 6D 20 74 68 65 20 62 75 66 66 65 72 20 70 aim the buffer p
000030: 61 73 73 65 64 20 74 6F 20 43 41 53 20 49 4E 20 assed to CAS IN
000040: 20 4F 50 45 4E 20 20 61 66 74 65 72 20 20 63 61 OPEN after ca
000050: 6C 6C 69 6E 67 0D 0A 20 20 20 20 20 20 20 74 68 lling.. th
000060: 69 73 20 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A 0D is routine......
000070: 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 ... Relate
000080: 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A d entries:......
000090: 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 41 42 CAS IN AB
0000A0: 41 4E 44 4F 4E 20 28 44 49 53 43 29 0D 0A 20 20 ANDON (DISC)..
0000B0: 20 20 20 20 20 43 41 53 20 49 4E 20 43 4C 4F 53 CAS IN CLOS
0000C0: 45 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E E.. CAS IN
0000D0: 20 4F 50 45 4E 0D 0A 20 20 20 20 20 20 20 43 41 OPEN.. CA
0000E0: 53 20 4F 55 54 20 41 42 41 4E 44 4F 4E 0D 0A 0D S OUT ABANDON...
0000F0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000100: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
000110: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
000120: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
000130: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
000150: 61 67 65 20 31 35 2E 31 33 36 0D 0A 0D 0A 0D 0A age 15.136......
000160: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 ........ 1
000170: 32 37 3A 20 43 41 53 20 49 4E 20 41 42 41 4E 44 27: CAS IN ABAND
000180: 4F 4E 20 28 44 49 53 43 29 20 20 20 20 20 20 20 ON (DISC)
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 23 42 43 37 44 0D 0A 0D 0A 0D 0A 20 20 20 20 20 #BC7D......
0001C0: 20 20 43 6C 6F 73 65 20 74 68 65 20 69 6E 70 75 Close the inpu
0001D0: 74 20 66 69 6C 65 20 69 6D 6D 65 64 69 61 74 65 t file immediate
0001E0: 6C 79 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ly.......
0001F0: 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 Action:......
Size : 512 (Real : 512)
000000: 20 20 20 20 41 62 61 6E 64 6F 6E 20 72 65 61 64 Abandon read
000010: 69 6E 67 20 66 72 6F 6D 20 74 68 65 20 72 65 61 ing from the rea
000020: 64 20 73 74 72 65 61 6D 20 61 6E 64 20 63 6C 6F d stream and clo
000030: 73 65 20 69 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 se it.......
000040: 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 Entry conditi
000050: 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ons:......
000060: 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D No conditions..
000070: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 ..... Exit
000080: 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A conditions:....
000090: 0D 0A 20 20 20 20 20 20 20 41 46 2C 42 43 2C 44 .. AF,BC,D
0000A0: 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 E and HL corrupt
0000B0: 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 ... All ot
0000C0: 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 her registers pr
0000D0: 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 eserved.......
0000E0: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D Notes:.....
0000F0: 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 6F 75 . This rou
000100: 74 69 6E 65 20 69 73 20 20 69 6E 74 65 6E 64 65 tine is intende
000110: 64 20 20 66 6F 72 20 20 75 73 65 20 20 61 66 74 d for use aft
000120: 65 72 20 20 61 6E 20 20 65 72 72 6F 72 20 20 6F er an error o
000130: 72 20 20 69 6E 20 20 73 69 6D 69 6C 61 72 0D 0A r in similar..
000140: 20 20 20 20 20 20 20 63 69 72 63 75 6D 73 74 61 circumsta
000150: 6E 63 65 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 nces.......
000160: 20 20 54 68 65 20 75 73 65 72 20 6D 61 79 20 72 The user may r
000170: 65 63 6C 61 69 6D 20 74 68 65 20 62 75 66 66 65 eclaim the buffe
000180: 72 20 70 61 73 73 65 64 20 74 6F 20 43 41 53 20 r passed to CAS
000190: 49 4E 20 20 4F 50 45 4E 20 20 61 66 74 65 72 20 IN OPEN after
0001A0: 20 63 61 6C 6C 69 6E 67 0D 0A 20 20 20 20 20 20 calling..
0001B0: 20 74 68 69 73 20 72 6F 75 74 69 6E 65 2E 0D 0A this routine...
0001C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C ...... Rel
0001D0: 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D ated entries:...
0001E0: 0A 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E ... CAS IN
0001F0: 20 41 42 41 4E 44 4F 4E 0D 0A 20 20 20 20 20 20 ABANDON..
Size : 512 (Real : 512)
000000: 20 43 41 53 20 49 4E 20 43 4C 4F 53 45 20 28 44 CAS IN CLOSE (D
000010: 49 53 43 29 0D 0A 20 20 20 20 20 20 20 43 41 53 ISC).. CAS
000020: 20 49 4E 20 4F 50 45 4E 20 28 44 49 53 43 29 0D IN OPEN (DISC).
000030: 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 54 20 . CAS OUT
000040: 41 42 41 4E 44 4F 4E 20 28 44 49 53 43 29 0D 0A ABANDON (DISC)..
000050: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000060: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
000070: 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 AMSTRAD CPC
000080: 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 464/664/6128 FIR
000090: 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 MWARE
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 70 61 67 65 20 31 35 2E 31 33 37 0D 0A 0D 0A 0D page 15.137.....
0000C0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
0000D0: 31 32 38 3A 20 43 41 53 20 49 4E 20 43 48 41 52 128: CAS IN CHAR
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 20 20 20
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 23 42 43 38 30 0D 0A 0D 0A 20 20 20 20 20 20 #BC80....
000120: 20 52 65 61 64 20 61 20 63 68 61 72 61 63 74 65 Read a characte
000130: 72 20 66 72 6F 6D 20 74 68 65 20 69 6E 70 75 74 r from the input
000140: 20 66 69 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 file.....
000150: 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 Action:....
000160: 20 20 20 52 65 61 64 20 61 20 63 68 61 72 61 63 Read a charac
000170: 74 65 72 20 66 72 6F 6D 20 74 68 65 20 69 6E 70 ter from the inp
000180: 75 74 20 73 74 72 65 61 6D 2E 20 46 65 74 63 68 ut stream. Fetch
000190: 65 73 20 62 6C 6F 63 6B 73 20 20 66 72 6F 6D 20 es blocks from
0001A0: 20 74 61 70 65 20 20 61 73 0D 0A 20 20 20 20 20 tape as..
0001B0: 20 20 72 65 71 75 69 72 65 64 2E 0D 0A 0D 0A 20 required.....
0001C0: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
0001D0: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 itions:....
0001E0: 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E No conditions.
0001F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
Size : 512 (Real : 512)
000000: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 conditions:....
000010: 20 20 20 20 20 20 49 66 20 74 68 65 20 63 68 61 If the cha
000020: 72 61 63 74 65 72 20 77 61 73 20 72 65 61 64 20 racter was read
000030: 4F 4B 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 OK:....
000040: 20 20 20 20 20 20 20 43 61 72 72 79 20 74 72 75 Carry tru
000050: 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 e...
000060: 20 20 20 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D Zero false..
000070: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000080: 20 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 A contains the
000090: 63 68 61 72 61 63 74 65 72 20 72 65 61 64 20 66 character read f
0000A0: 72 6F 6D 20 74 68 65 20 66 69 6C 65 2E 0D 0A 0D rom the file....
0000B0: 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 65 . If the e
0000C0: 6E 64 20 6F 66 20 74 68 65 20 66 69 6C 65 20 77 nd of the file w
0000D0: 61 73 20 66 6F 75 6E 64 3A 0D 0A 0D 0A 20 20 20 as found:....
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 Car
0000F0: 72 79 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 ry false...
000100: 20 20 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 Zero
000110: 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 false...
000120: 20 20 20 20 20 20 20 20 49 6E 20 56 31 2E 31 3A In V1.1:
000130: 20 41 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 65 A contains an e
000140: 72 72 6F 72 20 6E 75 6D 62 65 72 20 28 23 30 45 rror number (#0E
000150: 20 6F 72 20 23 30 46 29 2E 0D 0A 20 20 20 20 20 or #0F)...
000160: 20 20 20 20 20 20 20 20 20 20 20 49 6E 20 56 31 In V1
000170: 2E 30 3A 20 41 20 63 6F 72 72 75 70 74 2E 0D 0A .0: A corrupt...
000180: 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 .. If the
000190: 75 73 65 72 20 68 69 74 20 65 73 63 61 70 65 3A user hit escape:
0001A0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
0001B0: 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E Carry false.
0001C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001D0: 20 20 5A 65 72 6F 20 74 72 75 65 2E 0D 0A 20 20 Zero true...
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6E In
0001F0: 20 56 31 2E 31 3A 20 41 20 63 6F 6E 74 61 69 6E V1.1: A contain
Size : 512 (Real : 512)
000000: 73 20 61 6E 20 65 72 72 6F 72 20 6E 75 6D 62 65 s an error numbe
000010: 72 20 28 23 30 30 29 2E 0D 0A 20 20 20 20 20 20 r (#00)...
000020: 20 20 20 20 20 20 20 20 20 20 49 6E 20 56 31 2E In V1.
000030: 30 3A 20 41 20 63 6F 72 72 75 70 74 2E 0D 0A 20 0: A corrupt...
000040: 20 20 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 20 Always:..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 I
000060: 58 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 X and other flag
000070: 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 s corrupt...
000080: 20 20 20 20 20 20 20 20 20 20 20 20 41 6C 6C 20 All
000090: 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 other registers
0000A0: 70 72 65 73 65 72 76 65 64 2E 0D 0A 20 20 20 20 preserved...
0000B0: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 Notes:....
0000C0: 20 20 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 This routine
0000D0: 20 63 61 6E 20 72 65 74 75 72 6E 20 74 68 72 65 can return thre
0000E0: 65 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 73 3A e error numbers:
0000F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 23 30 30 3A 20 .... #00:
000100: 20 20 20 20 54 68 65 20 75 73 65 72 20 68 69 74 The user hit
000110: 20 65 73 63 61 70 65 2E 0D 0A 20 20 20 20 20 20 escape...
000120: 20 23 30 45 3A 20 20 20 20 20 54 68 65 20 73 74 #0E: The st
000130: 72 65 61 6D 20 69 73 20 6E 6F 74 20 6F 70 65 6E ream is not open
000140: 20 66 6F 72 20 72 65 61 64 69 6E 67 20 63 68 61 for reading cha
000150: 72 61 63 74 65 72 73 20 6F 72 20 74 68 65 20 75 racters or the u
000160: 73 65 72 20 68 69 74 0D 0A 20 20 20 20 20 20 20 ser hit..
000170: 20 20 20 20 20 20 20 20 20 65 73 63 61 70 65 20 escape
000180: 70 72 65 76 69 6F 75 73 6C 79 2E 0D 0A 20 20 20 previously...
000190: 20 20 20 20 23 30 46 3A 20 20 20 20 20 48 61 76 #0F: Hav
0001A0: 65 20 72 65 61 63 68 65 64 20 74 68 65 20 65 6E e reached the en
0001B0: 64 20 6F 66 20 74 68 65 20 66 69 6C 65 2E 0D 0A d of the file...
0001C0: 0D 0A 20 20 20 20 20 20 20 4F 6E 63 65 20 74 68 .. Once th
0001D0: 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 e first characte
0001E0: 72 20 68 61 73 20 62 65 65 6E 20 72 65 61 64 20 r has been read
0001F0: 66 72 6F 6D 20 61 20 66 69 6C 65 20 69 74 20 63 from a file it c
Size : 512 (Real : 512)
000000: 61 6E 20 6F 6E 6C 79 20 62 65 20 75 73 65 64 0D an only be used.
000010: 0A 20 20 20 20 20 20 20 66 6F 72 20 63 68 61 72 . for char
000020: 61 63 74 65 72 20 62 79 20 63 68 61 72 61 63 74 acter by charact
000030: 65 72 20 61 63 63 65 73 73 2E 20 49 74 20 69 73 er access. It is
000040: 20 6E 6F 74 20 20 70 6F 73 73 69 62 6C 65 20 20 not possible
000050: 74 6F 20 20 73 77 69 74 63 68 20 20 74 6F 0D 0A to switch to..
000060: 20 20 20 20 20 20 20 64 69 72 65 63 74 20 72 65 direct re
000070: 61 64 69 6E 67 20 28 62 79 20 43 41 53 20 49 4E ading (by CAS IN
000080: 20 44 49 52 45 43 54 29 2E 0D 0A 0D 0A 20 20 20 DIRECT).....
000090: 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 Related entr
0000A0: 69 65 73 3A 0D 0A 20 20 20 20 20 20 20 43 41 53 ies:.. CAS
0000B0: 20 49 4E 20 43 48 41 52 20 28 44 49 53 43 29 0D IN CHAR (DISC).
0000C0: 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 43 . CAS IN C
0000D0: 4C 4F 53 45 0D 0A 20 20 20 20 20 20 20 43 41 53 LOSE.. CAS
0000E0: 20 49 4E 20 44 49 52 45 43 54 0D 0A 20 20 20 20 IN DIRECT..
0000F0: 20 20 20 43 41 53 20 49 4E 20 4F 50 45 4E 0D 0A CAS IN OPEN..
000100: 20 20 20 20 20 20 20 43 41 53 20 4F 55 54 20 43 CAS OUT C
000110: 48 41 52 0D 0A 20 20 20 20 20 20 20 43 41 53 20 HAR.. CAS
000120: 52 45 54 55 52 4E 0D 0A 20 20 20 20 20 20 20 43 RETURN.. C
000130: 41 53 20 54 45 53 54 20 45 4F 46 0D 0A 0D 0A 20 AS TEST EOF....
000140: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000150: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
000160: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 70 61 67 65 20 31 35 2E 31 33 38 0D 0A 0D 0A page 15.138....
000190: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
0001A0: 20 31 32 38 3A 20 43 41 53 20 49 4E 20 43 48 41 128: CAS IN CHA
0001B0: 52 20 28 44 49 53 43 29 20 20 20 20 20 20 20 20 R (DISC)
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 20 20 20 20 20
0001E0: 20 20 23 42 43 38 30 0D 0A 0D 0A 20 20 20 20 20 #BC80....
0001F0: 20 20 52 65 61 64 20 61 20 63 68 61 72 61 63 74 Read a charact
Size : 512 (Real : 512)
000000: 65 72 20 66 72 6F 6D 20 61 6E 20 69 6E 70 75 74 er from an input
000010: 20 66 69 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 file.....
000020: 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 Action:....
000030: 20 20 20 52 65 61 64 20 61 20 63 68 61 72 61 63 Read a charac
000040: 74 65 72 20 66 72 6F 6D 20 74 68 65 20 69 6E 70 ter from the inp
000050: 75 74 20 73 74 72 65 61 6D 2E 0D 0A 0D 0A 20 20 ut stream.....
000060: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
000070: 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tions:....
000080: 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D No conditions:.
000090: 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 ... Exit c
0000A0: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 onditions:....
0000B0: 20 20 20 20 20 49 66 20 74 68 65 20 63 68 61 72 If the char
0000C0: 61 63 74 65 72 20 77 61 73 20 72 65 61 64 20 4F acter was read O
0000D0: 4B 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 K:....
0000E0: 20 20 20 20 20 20 20 43 61 72 72 79 20 74 72 75 Carry tru
0000F0: 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 e..
000100: 20 20 20 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D Zero false..
000110: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000120: 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 A contains the
000130: 20 63 68 61 72 61 63 74 65 72 20 72 65 61 64 20 character read
000140: 66 72 6F 6D 20 74 68 65 20 66 69 6C 65 2E 0D 0A from the file...
000150: 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 .. If the
000160: 65 6E 64 20 6F 66 20 74 68 65 20 66 69 6C 65 20 end of the file
000170: 77 61 73 20 66 6F 75 6E 64 2C 20 6F 72 20 73 74 was found, or st
000180: 72 65 61 6D 20 6E 6F 74 20 6F 70 65 6E 20 61 73 ream not open as
000190: 20 65 78 70 65 63 74 65 64 3A 0D 0A 20 20 20 20 expected:..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 Car
0001B0: 72 79 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 ry false...
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 5A 65 72 6F Zero
0001D0: 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 false...
0001E0: 20 20 20 20 20 20 20 20 20 20 41 20 63 6F 6E 74 A cont
0001F0: 61 69 6E 73 20 61 6E 20 65 72 72 6F 72 20 6E 75 ains an error nu
Size : 512 (Real : 512)
000000: 6D 62 65 72 20 28 23 30 45 2C 20 23 30 46 20 6F mber (#0E, #0F o
000010: 72 20 23 31 41 29 2E 0D 0A 0D 0A 20 20 20 20 20 r #1A).....
000020: 20 20 49 66 20 66 61 69 6C 65 64 20 66 6F 72 20 If failed for
000030: 61 6E 79 20 6F 74 68 65 72 20 72 65 61 73 6F 6E any other reason
000040: 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 :..
000050: 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E Carry false.
000060: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000070: 20 20 20 5A 65 72 6F 20 74 72 75 65 2E 0D 0A 20 Zero true...
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 41 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 65 72 A contains an er
0000A0: 72 6F 72 20 6E 75 6D 62 65 72 2E 0D 0A 20 20 20 ror number...
0000B0: 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 20 20 20 Always:..
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 58 IX
0000D0: 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 73 and other flags
0000E0: 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 corrupt...
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 41 6C 6C 20 All
000100: 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 other registers
000110: 70 72 65 73 65 72 76 65 64 2E 0D 0A 20 20 20 20 preserved...
000120: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 Notes:....
000130: 20 20 20 20 4F 6E 63 65 20 74 68 65 20 63 68 61 Once the cha
000140: 72 61 63 74 65 72 20 68 61 73 20 62 65 65 6E 20 racter has been
000150: 72 65 61 64 20 66 72 6F 6D 20 61 20 66 69 6C 65 read from a file
000160: 20 74 68 65 20 72 65 73 74 20 6F 66 20 74 68 65 the rest of the
000170: 20 66 69 6C 65 20 20 6D 61 79 0D 0A 20 20 20 20 file may..
000180: 20 20 20 6F 6E 6C 79 20 62 65 20 72 65 61 64 20 only be read
000190: 63 68 61 72 61 63 74 65 72 20 20 62 79 20 20 63 character by c
0001A0: 68 61 72 61 63 74 65 72 20 20 28 75 73 69 6E 67 haracter (using
0001B0: 20 20 43 41 53 20 20 49 4E 20 20 43 48 41 52 29 CAS IN CHAR)
0001C0: 2E 20 20 49 74 20 20 69 73 0D 0A 20 20 20 20 20 . It is..
0001D0: 20 20 69 6D 70 6F 73 73 69 62 6C 65 20 74 6F 20 impossible to
0001E0: 73 77 69 74 63 68 20 74 6F 20 64 69 72 65 63 74 switch to direct
0001F0: 20 72 65 61 64 69 6E 67 20 28 62 79 20 43 41 53 reading (by CAS
Size : 512 (Real : 512)
000000: 20 49 4E 20 44 49 52 45 43 54 29 2E 0D 0A 0D 0A IN DIRECT).....
000010: 20 20 20 20 20 20 20 54 68 65 20 43 50 2F 4D 20 The CP/M
000020: 65 6E 64 20 6F 66 20 66 69 6C 65 20 63 68 61 72 end of file char
000030: 61 63 74 65 72 20 28 23 31 41 29 20 69 73 20 74 acter (#1A) is t
000040: 72 65 61 74 65 64 20 61 73 20 65 6E 64 20 6F 66 reated as end of
000050: 20 66 69 6C 65 20 20 28 63 61 72 72 79 0D 0A 20 file (carry..
000060: 20 20 20 20 20 20 66 61 6C 73 65 2C 20 7A 65 72 false, zer
000070: 6F 20 66 61 6C 73 65 29 2E 20 20 48 6F 77 65 76 o false). Howev
000080: 65 72 2C 20 20 69 74 20 20 69 73 20 20 70 6F 73 er, it is pos
000090: 73 69 62 6C 65 20 20 74 6F 20 20 63 6F 6E 74 69 sible to conti
0000A0: 6E 75 65 20 20 72 65 61 64 69 6E 67 0D 0A 20 20 nue reading..
0000B0: 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 characters
0000C0: 75 6E 74 69 6C 20 74 68 65 20 68 61 72 64 20 65 until the hard e
0000D0: 6E 64 20 6F 66 20 66 69 6C 65 2E 20 54 68 65 20 nd of file. The
0000E0: 65 72 72 6F 72 20 20 6E 75 6D 62 65 72 20 20 72 error number r
0000F0: 65 74 75 72 6E 65 64 20 20 69 73 0D 0A 20 20 20 eturned is..
000100: 20 20 20 20 73 65 74 20 74 6F 20 23 31 41 20 66 set to #1A f
000110: 6F 72 20 73 6F 66 74 20 28 43 50 2F 4D 29 20 65 or soft (CP/M) e
000120: 6E 64 20 6F 66 20 66 69 6C 65 20 61 6E 64 20 23 nd of file and #
000130: 30 46 20 66 6F 72 20 68 61 72 64 20 65 6E 64 20 0F for hard end
000140: 20 6F 66 20 20 66 69 6C 65 2E 0D 0A 20 20 20 20 of file...
000150: 20 20 20 54 68 65 20 61 63 74 69 6F 6E 20 66 6F The action fo
000160: 72 20 73 70 6F 74 74 69 6E 67 20 73 6F 66 74 20 r spotting soft
000170: 61 6E 64 20 6F 66 20 20 66 69 6C 65 20 20 69 73 and of file is
000180: 20 20 6E 6F 74 20 20 70 65 72 66 6F 72 6D 65 64 not performed
000190: 20 20 62 79 20 20 74 68 65 0D 0A 20 20 20 20 20 by the..
0001A0: 20 20 65 71 75 69 76 61 6C 65 6E 74 20 63 61 73 equivalent cas
0001B0: 73 65 74 74 65 20 76 65 72 73 69 6F 6E 20 6F 66 sette version of
0001C0: 20 74 68 65 20 72 6F 75 74 69 6E 65 20 61 6E 64 the routine and
0001D0: 20 77 69 6C 6C 20 6E 65 76 65 72 20 20 72 65 74 will never ret
0001E0: 75 72 6E 20 20 23 31 41 0D 0A 20 20 20 20 20 20 urn #1A..
0001F0: 20 77 68 65 6E 20 63 61 72 72 79 20 69 73 20 66 when carry is f
Size : 512 (Real : 512)
000000: 61 6C 73 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 alse.....
000010: 49 66 20 61 20 66 69 6C 65 20 63 6F 6E 74 61 69 If a file contai
000020: 6E 69 6E 67 20 62 69 6E 61 72 79 20 64 61 74 61 ning binary data
000030: 20 69 73 20 72 65 61 64 20 75 73 69 6E 67 20 74 is read using t
000040: 68 69 73 20 20 72 6F 75 74 69 6E 65 20 20 74 68 his routine th
000050: 65 6E 20 20 69 74 0D 0A 20 20 20 20 20 20 20 77 en it.. w
000060: 69 6C 6C 20 62 65 20 6E 65 63 65 73 73 61 72 79 ill be necessary
000070: 20 74 6F 20 73 70 6F 74 20 73 6F 66 74 20 45 4F to spot soft EO
000080: 46 20 61 6E 64 20 69 67 6E 6F 72 65 20 69 74 2E F and ignore it.
000090: 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 .... Relat
0000A0: 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 20 ed entries:....
0000B0: 20 20 20 20 20 20 43 41 53 20 49 4E 20 43 48 41 CAS IN CHA
0000C0: 52 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E R.. CAS IN
0000D0: 20 43 4C 4F 53 45 20 28 44 49 53 43 29 0D 0A 20 CLOSE (DISC)..
0000E0: 20 20 20 20 20 20 43 41 53 20 49 4E 20 44 49 52 CAS IN DIR
0000F0: 45 43 54 20 28 44 49 53 43 29 0D 0A 20 20 20 20 ECT (DISC)..
000100: 20 20 20 43 41 53 20 49 4E 20 4F 50 45 4E 20 28 CAS IN OPEN (
000110: 44 49 53 43 29 0D 0A 20 20 20 20 20 20 20 43 41 DISC).. CA
000120: 53 20 4F 55 54 20 43 48 41 52 20 28 44 49 53 43 S OUT CHAR (DISC
000130: 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 52 45 ).. CAS RE
000140: 54 55 52 4E 20 28 44 49 53 43 29 0D 0A 20 20 20 TURN (DISC)..
000150: 20 20 20 20 43 41 53 20 54 45 53 54 20 45 4F 46 CAS TEST EOF
000160: 20 28 44 49 53 43 29 0D 0A 0D 0A 20 20 20 20 20 (DISC)....
000170: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
000180: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
000190: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
0001B0: 65 20 31 35 2E 31 33 39 0D 0A 1A 20 20 20 20 20 e 15.139...
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 20 20 23 42 43 37 37 0D 0A 0D 0A 0D 0A 20 #BC77......
0001E0: 20 20 20 20 20 20 4F 70 65 6E 20 61 20 66 69 6C Open a fil
0001F0: 65 20 66 6F 72 20 69 6E 70 75 74 2E 0D 0A 0D 0A e for input.....
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 31 30 33 3A 20 53 43 52 20 47 45 54 20 103: SCR GET
000020: 49 4E 4B 20 20 20 20 20 20 20 20 20 20 20 20 20 INK
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 43 33 35 0D 0A 0D 0A 0D 0A 20 #BC35......
000060: 20 20 20 20 20 20 41 73 6B 20 74 68 65 20 63 6F Ask the co
000070: 6C 6F 75 72 73 20 61 6E 20 69 6E 6B 20 69 73 20 lours an ink is
000080: 63 75 72 72 65 6E 74 6C 79 20 64 69 73 70 6C 61 currently displa
000090: 79 65 64 20 69 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 yed in.......
0000A0: 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D Action:.....
0000B0: 0A 20 20 20 20 20 20 20 47 65 74 20 74 68 65 20 . Get the
0000C0: 74 77 6F 20 63 6F 6C 6F 75 72 73 20 74 68 61 74 two colours that
0000D0: 20 61 72 65 20 75 73 65 64 20 74 6F 20 64 69 73 are used to dis
0000E0: 70 6C 61 79 20 61 6E 20 69 6E 6B 20 6F 6E 20 74 play an ink on t
0000F0: 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D 0A he screen.......
000100: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
000110: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
000120: 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 A contains
000130: 61 6E 20 69 6E 6B 20 6E 75 6D 62 65 72 2E 0D 0A an ink number...
000140: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
000150: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
000160: 0A 20 20 20 20 20 20 20 42 20 63 6F 6E 74 61 69 . B contai
000170: 6E 73 20 74 68 65 20 66 69 72 73 74 20 63 6F 6C ns the first col
000180: 6F 75 72 2E 0D 0A 20 20 20 20 20 20 20 43 20 63 our... C c
000190: 6F 6E 74 61 69 6E 73 20 74 68 65 20 73 65 63 6F ontains the seco
0001A0: 6E 64 20 63 6F 6C 6F 75 72 2E 0D 0A 0D 0A 0D 0A nd colour.......
0001B0: 20 20 20 20 20 20 20 41 46 2C 44 45 20 61 6E 64 AF,DE and
0001C0: 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 HL corrupt...
0001D0: 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 All other r
0001E0: 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 egisters preserv
0001F0: 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ed.......
Size : 512 (Real : 512)
000000: 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 Notes:......
000010: 20 20 20 54 68 65 20 69 6E 6B 20 6E 75 6D 62 65 The ink numbe
000020: 72 20 69 73 20 6D 61 73 6B 65 64 20 77 69 74 68 r is masked with
000030: 20 23 30 46 20 20 74 6F 20 20 6D 61 6B 65 20 20 #0F to make
000040: 73 75 72 65 20 20 69 74 20 20 69 73 20 20 6C 65 sure it is le
000050: 67 61 6C 2E 20 20 54 68 65 0D 0A 20 20 20 20 20 gal. The..
000060: 20 20 63 6F 6C 6F 75 72 73 20 72 65 74 75 72 6E colours return
000070: 65 64 20 6D 61 79 20 6E 6F 74 20 62 65 20 74 68 ed may not be th
000080: 65 20 73 61 6D 65 20 61 73 20 74 68 6F 73 65 20 e same as those
000090: 73 75 70 70 6C 69 65 64 20 74 6F 20 20 74 68 65 supplied to the
0000A0: 20 20 53 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 Screen..
0000B0: 20 50 61 63 6B 20 61 73 20 74 68 65 20 63 6F 6C Pack as the col
0000C0: 6F 75 72 73 20 61 72 65 20 6D 61 73 6B 65 64 20 ours are masked
0000D0: 77 68 65 6E 20 74 68 65 79 20 61 72 65 20 73 65 when they are se
0000E0: 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 t....... T
0000F0: 68 65 20 6E 65 77 20 63 6F 6C 6F 75 72 20 66 6F he new colour fo
000100: 72 20 61 6E 20 69 6E 6B 20 61 72 65 20 6E 6F 74 r an ink are not
000110: 20 73 65 6E 74 20 20 74 6F 20 20 74 68 65 20 20 sent to the
000120: 68 61 72 64 77 61 72 65 20 20 69 6D 6D 65 64 69 hardware immedi
000130: 61 74 65 6C 79 0D 0A 20 20 20 20 20 20 20 77 68 ately.. wh
000140: 65 6E 20 74 68 65 79 20 61 72 65 20 73 65 74 2E en they are set.
000150: 20 54 68 65 79 20 61 72 65 20 73 74 6F 72 65 64 They are stored
000160: 20 61 6E 64 20 61 70 70 65 61 72 20 6F 6E 20 74 and appear on t
000170: 68 65 20 73 63 72 65 65 6E 20 20 77 68 65 6E 20 he screen when
000180: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 6E 65 78 the.. nex
000190: 74 20 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 t frame flyback
0001A0: 6F 63 63 75 72 73 2E 20 54 68 69 73 20 6D 65 61 occurs. This mea
0001B0: 6E 73 20 74 68 61 74 20 74 68 65 20 20 63 6F 6C ns that the col
0001C0: 6F 75 72 73 20 20 72 65 74 75 72 6E 65 64 20 20 ours returned
0001D0: 6D 61 79 0D 0A 20 20 20 20 20 20 20 6E 6F 74 20 may.. not
0001E0: 61 63 74 75 61 6C 6C 79 20 62 65 20 76 69 73 69 actually be visi
0001F0: 62 6C 65 20 74 6F 20 74 68 65 20 75 73 65 72 20 ble to the user
Size : 512 (Real : 512)
000000: 79 65 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 yet.......
000010: 20 54 68 65 20 64 65 66 61 75 6C 74 20 73 65 74 The default set
000020: 74 69 6E 67 73 20 66 6F 72 20 74 68 65 20 69 6E tings for the in
000030: 6B 73 20 61 6E 64 20 74 68 65 20 20 76 61 72 69 ks and the vari
000040: 6F 75 73 20 20 63 6F 6C 6F 75 72 73 20 20 61 76 ous colours av
000050: 61 69 6C 61 62 6C 65 0D 0A 20 20 20 20 20 20 20 ailable..
000060: 61 72 65 20 64 65 73 63 72 69 62 65 64 20 69 6E are described in
000070: 20 41 70 70 65 6E 64 69 78 20 56 2E 0D 0A 0D 0A Appendix V.....
000080: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
000090: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 ntries:....
0000A0: 20 20 47 52 41 20 47 45 54 20 50 41 50 45 52 0D GRA GET PAPER.
0000B0: 0A 20 20 20 20 20 20 20 47 52 41 20 47 45 54 20 . GRA GET
0000C0: 50 45 4E 0D 0A 20 20 20 20 20 20 20 53 43 52 20 PEN.. SCR
0000D0: 47 45 54 20 42 4F 52 44 45 52 0D 0A 20 20 20 20 GET BORDER..
0000E0: 20 20 20 53 43 52 20 53 45 54 20 49 4E 4B 0D 0A SCR SET INK..
0000F0: 20 20 20 20 20 20 20 54 58 54 20 47 45 54 20 50 TXT GET P
000100: 41 50 45 52 0D 0A 20 20 20 20 20 20 20 54 58 54 APER.. TXT
000110: 20 47 45 54 20 50 45 4E 0D 0A 0D 0A 0D 0A 0D 0A GET PEN........
000120: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
000130: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
000140: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 FIRMWARE
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 31 30 page 15.10
000170: 38 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 8..............
000180: 20 20 20 20 20 20 31 30 34 3A 20 53 43 52 20 53 104: SCR S
000190: 45 54 20 42 4F 52 44 45 52 20 20 20 20 20 20 20 ET BORDER
0001A0: 20 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 20 20
0001C0: 20 20 20 20 20 20 20 23 42 43 33 38 0D 0A 0D 0A #BC38....
0001D0: 0D 0A 20 20 20 20 20 20 20 53 65 74 20 74 68 65 .. Set the
0001E0: 20 63 6F 6C 6F 75 72 73 20 69 6E 20 77 68 69 63 colours in whic
0001F0: 68 20 74 6F 20 64 69 73 70 6C 61 79 20 74 68 65 h to display the
Size : 512 (Real : 512)
000000: 20 62 6F 72 64 65 72 2E 0D 0A 0D 0A 0D 0A 20 20 border.......
000010: 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A Action:....
000020: 0D 0A 20 20 20 20 20 20 20 53 65 74 20 77 68 69 .. Set whi
000030: 63 68 20 74 77 6F 20 63 6F 6C 6F 75 72 73 20 77 ch two colours w
000040: 69 6C 6C 20 62 65 20 75 73 65 64 20 74 6F 20 64 ill be used to d
000050: 69 73 70 6C 61 79 20 74 68 65 20 62 6F 72 64 65 isplay the borde
000060: 72 2E 20 49 66 20 20 74 68 65 20 20 74 77 6F 0D r. If the two.
000070: 0A 20 20 20 20 20 20 20 63 6F 6C 6F 75 72 73 20 . colours
000080: 61 72 65 20 74 68 65 20 73 61 6D 65 20 74 68 65 are the same the
000090: 6E 20 74 68 65 20 62 6F 72 64 65 72 20 77 69 6C n the border wil
0000A0: 6C 20 72 65 6D 61 69 6E 20 61 20 73 74 65 61 64 l remain a stead
0000B0: 79 20 20 63 6F 6C 6F 75 72 2E 20 20 49 66 0D 0A y colour. If..
0000C0: 20 20 20 20 20 20 20 74 68 65 20 63 6F 6C 6F 75 the colou
0000D0: 72 73 20 61 72 65 20 64 69 66 66 65 72 65 6E 74 rs are different
0000E0: 20 74 68 65 6E 20 74 68 65 20 62 6F 72 64 65 72 then the border
0000F0: 20 77 69 6C 6C 20 61 6C 74 65 72 6E 61 74 65 20 will alternate
000100: 62 65 74 77 65 65 6E 20 74 68 65 73 65 0D 0A 20 between these..
000110: 20 20 20 20 20 20 74 77 6F 20 63 6F 6C 6F 75 72 two colour
000120: 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 s....... E
000130: 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A ntry conditions:
000140: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 42 20 63 ...... B c
000150: 6F 6E 74 61 69 6E 73 20 74 68 65 20 66 69 72 73 ontains the firs
000160: 74 20 63 6F 6C 6F 75 72 2E 0D 0A 20 20 20 20 20 t colour...
000170: 20 20 43 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 C contains the
000180: 20 73 65 63 6F 6E 64 20 63 6F 6C 6F 75 72 2E 0D second colour..
000190: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 ..... Exit
0001A0: 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A conditions:....
0001B0: 0D 0A 20 20 20 20 20 20 20 41 46 2C 42 43 2C 44 .. AF,BC,D
0001C0: 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 E and HL corrupt
0001D0: 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 ... All ot
0001E0: 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 her registers pr
0001F0: 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 eserved.......
Size : 512 (Real : 512)
000000: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D Notes:.....
000010: 0A 20 20 20 20 20 20 20 54 68 65 20 63 6F 6C 6F . The colo
000020: 75 72 73 20 61 72 65 20 6D 61 73 6B 65 64 20 77 urs are masked w
000030: 69 74 68 20 23 31 46 20 74 6F 20 65 6E 73 75 72 ith #1F to ensur
000040: 65 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 e that they are
000050: 6C 65 67 61 6C 2E 20 43 6F 6C 6F 75 72 73 0D 0A legal. Colours..
000060: 20 20 20 20 20 20 20 32 37 2E 2E 33 31 20 61 72 27..31 ar
000070: 65 20 6E 6F 74 20 69 6E 74 65 6E 64 65 64 20 66 e not intended f
000080: 6F 72 20 75 73 65 3B 20 74 68 65 79 20 61 72 65 or use; they are
000090: 20 6D 65 72 65 6C 79 20 64 75 70 6C 69 63 61 74 merely duplicat
0000A0: 65 73 20 20 6F 66 20 20 6F 74 68 65 72 0D 0A 20 es of other..
0000B0: 20 20 20 20 20 20 63 6F 6C 6F 75 72 73 20 61 76 colours av
0000C0: 61 69 6C 61 62 6C 65 2E 0D 0A 0D 0A 0D 0A 20 20 ailable.......
0000D0: 20 20 20 20 20 54 68 65 20 20 6E 65 77 20 20 63 The new c
0000E0: 6F 6C 6F 75 72 73 20 20 66 6F 72 20 20 74 68 65 olours for the
0000F0: 20 20 62 6F 72 64 65 72 20 20 61 72 65 20 20 6E border are n
000100: 6F 74 20 20 73 65 6E 74 20 20 74 6F 20 20 74 68 ot sent to th
000110: 65 20 20 68 61 72 64 77 61 72 65 0D 0A 20 20 20 e hardware..
000120: 20 20 20 20 69 6D 6D 65 64 69 61 74 65 6C 79 2E immediately.
000130: 20 54 68 65 79 20 61 72 65 20 73 74 6F 72 65 64 They are stored
000140: 20 61 6E 64 20 77 69 6C 6C 20 61 70 70 65 61 72 and will appear
000150: 20 6F 6E 20 74 68 65 20 20 73 63 72 65 65 6E 20 on the screen
000160: 20 77 68 65 6E 20 20 74 68 65 0D 0A 20 20 20 20 when the..
000170: 20 20 20 6E 65 78 74 20 66 72 61 6D 65 20 66 6C next frame fl
000180: 79 62 61 63 6B 20 6F 63 63 75 72 73 2E 0D 0A 0D yback occurs....
000190: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 6C 65 ... The le
0001A0: 6E 67 74 68 20 6F 66 20 74 69 6D 65 20 66 6F 72 ngth of time for
0001B0: 20 77 68 69 63 68 20 65 61 63 68 20 63 6F 6C 6F which each colo
0001C0: 75 72 20 69 73 20 64 69 73 70 6C 61 79 65 64 20 ur is displayed
0001D0: 20 6F 6E 20 20 74 68 65 20 20 73 63 72 65 65 6E on the screen
0001E0: 0D 0A 20 20 20 20 20 20 20 63 61 6E 20 62 65 20 .. can be
0001F0: 73 65 74 20 62 79 20 63 61 6C 6C 69 6E 67 20 53 set by calling S
Size : 512 (Real : 512)
000000: 43 52 20 53 45 54 20 46 4C 41 53 48 49 4E 47 2E CR SET FLASHING.
000010: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 62 .... The b
000020: 6F 72 64 65 72 20 69 73 20 73 65 74 20 74 6F 20 order is set to
000030: 69 74 73 20 64 65 66 61 75 6C 74 20 63 6F 6C 6F its default colo
000040: 75 72 73 20 61 74 20 45 4D 53 20 61 6E 64 20 77 urs at EMS and w
000050: 68 65 6E 20 53 43 52 20 52 45 53 45 54 20 20 69 hen SCR RESET i
000060: 73 0D 0A 20 20 20 20 20 20 20 63 61 6C 6C 65 64 s.. called
000070: 2E 20 54 68 65 20 64 65 66 61 75 6C 74 20 63 6F . The default co
000080: 6C 6F 75 72 20 61 6E 64 20 74 68 65 20 63 6F 6C lour and the col
000090: 6F 75 72 73 20 61 76 61 69 6C 61 62 6C 65 20 61 ours available a
0000A0: 72 65 20 64 65 73 63 72 69 62 65 64 20 20 69 6E re described in
0000B0: 0D 0A 20 20 20 20 20 20 20 41 70 70 65 6E 64 69 .. Appendi
0000C0: 78 20 56 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 x V..... R
0000D0: 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D elated entries:.
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 53 43 52 20 47 45 ... SCR GE
0000F0: 54 20 42 4F 52 44 45 52 0D 0A 20 20 20 20 20 20 T BORDER..
000100: 20 53 43 52 20 53 45 54 20 46 4C 41 53 48 49 4E SCR SET FLASHIN
000110: 47 0D 0A 20 20 20 20 20 20 20 53 43 52 20 53 45 G.. SCR SE
000120: 54 20 49 4E 4B 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D T INK...........
000130: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
000140: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000150: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 FIRMWARE
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 70 61 67 65 20 31 35 2E 31 30 39 0D 0A page 15.109..
000180: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000190: 20 20 20 31 30 35 3A 20 53 43 52 20 47 45 54 20 105: SCR GET
0001A0: 42 4F 52 44 45 52 20 20 20 20 20 20 20 20 20 20 BORDER
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: 20 20 20 20 23 42 43 33 42 0D 0A 0D 0A 0D 0A 20 #BC3B......
0001E0: 20 20 20 20 20 20 41 73 6B 20 74 68 65 20 63 6F Ask the co
0001F0: 6C 6F 75 72 73 20 74 68 65 20 62 6F 72 64 65 72 lours the border
Size : 512 (Real : 512)
000000: 20 69 73 20 63 75 72 72 65 6E 74 6C 79 20 64 69 is currently di
000010: 73 70 6C 61 79 65 64 20 69 6E 2E 0D 0A 0D 0A 0D splayed in......
000020: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
000030: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 65 74 20 ..... Get
000040: 74 68 65 20 74 77 6F 20 63 6F 6C 6F 75 72 73 20 the two colours
000050: 75 73 65 64 20 74 6F 20 64 69 73 70 6C 61 79 20 used to display
000060: 74 68 65 20 62 6F 72 64 65 72 20 6F 6E 20 74 68 the border on th
000070: 65 20 63 75 72 72 65 6E 74 20 73 63 72 65 65 6E e current screen
000080: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E ....... En
000090: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D try conditions:.
0000A0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 ..... No c
0000B0: 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A onditions.......
0000C0: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
0000D0: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
0000E0: 20 20 20 20 42 20 63 6F 6E 74 61 69 6E 73 20 74 B contains t
0000F0: 68 65 20 66 69 72 73 74 20 63 6F 6C 6F 75 72 2E he first colour.
000100: 0D 0A 20 20 20 20 20 20 20 43 20 63 6F 6E 74 61 .. C conta
000110: 69 6E 73 20 74 68 65 20 73 65 63 6F 6E 64 20 63 ins the second c
000120: 6F 6C 6F 75 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 olour.......
000130: 20 20 20 41 46 2C 20 44 45 20 61 6E 64 20 48 4C AF, DE and HL
000140: 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 corrupt...
000150: 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 All other regi
000160: 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E sters preserved.
000170: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 ...... Not
000180: 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 es:......
000190: 54 68 65 20 63 6F 6C 6F 75 72 73 20 72 65 74 75 The colours retu
0001A0: 72 6E 65 64 20 6D 61 79 20 6E 6F 74 20 62 65 20 rned may not be
0001B0: 74 68 65 20 73 61 6D 65 20 20 61 73 20 20 74 68 the same as th
0001C0: 6F 73 65 20 20 73 75 70 70 6C 69 65 64 20 20 74 ose supplied t
0001D0: 6F 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 53 o the.. S
0001E0: 63 72 65 65 6E 20 50 61 63 6B 20 61 73 20 74 68 creen Pack as th
0001F0: 65 79 20 61 72 65 20 6D 61 73 6B 65 64 20 77 68 ey are masked wh
Size : 512 (Real : 512)
000000: 65 6E 20 74 68 65 79 20 61 72 65 20 73 65 74 2E en they are set.
000010: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
000020: 20 20 6E 65 77 20 20 63 6F 6C 6F 75 72 73 20 20 new colours
000030: 66 6F 72 20 20 74 68 65 20 20 62 6F 72 64 65 72 for the border
000040: 20 20 61 72 65 20 20 6E 6F 74 20 20 73 65 6E 74 are not sent
000050: 20 20 74 6F 20 20 74 68 65 20 20 68 61 72 64 77 to the hardw
000060: 61 72 65 0D 0A 20 20 20 20 20 20 20 69 6D 6D 65 are.. imme
000070: 64 69 61 74 65 6C 79 20 77 68 65 6E 20 74 68 65 diately when the
000080: 79 20 61 72 65 20 73 65 74 2E 20 54 68 65 79 20 y are set. They
000090: 20 61 72 65 20 20 73 74 6F 72 65 64 20 20 61 6E are stored an
0000A0: 64 20 20 61 70 70 65 61 72 20 20 6F 6E 20 20 74 d appear on t
0000B0: 68 65 0D 0A 20 20 20 20 20 20 20 73 63 72 65 65 he.. scree
0000C0: 6E 20 77 68 65 6E 20 74 68 65 20 6E 65 78 74 20 n when the next
0000D0: 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 6F 63 frame flyback oc
0000E0: 63 75 72 73 2E 20 54 68 69 73 20 6D 65 61 6E 73 curs. This means
0000F0: 20 74 68 61 74 20 74 68 65 20 63 6F 6C 6F 75 72 that the colour
000100: 73 0D 0A 20 20 20 20 20 20 20 72 65 74 75 72 6E s.. return
000110: 65 64 20 6D 61 79 20 6E 6F 74 20 61 63 74 75 61 ed may not actua
000120: 6C 6C 79 20 62 65 20 76 69 73 69 62 6C 65 20 74 lly be visible t
000130: 6F 20 74 68 65 20 75 73 65 72 20 79 65 74 2E 0D o the user yet..
000140: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
000150: 64 65 66 61 75 6C 74 20 62 6F 72 64 65 72 20 63 default border c
000160: 6F 6C 6F 75 72 20 61 6E 64 20 74 68 65 20 63 6F olour and the co
000170: 6C 6F 75 72 73 20 61 76 61 69 6C 61 62 6C 65 20 lours available
000180: 61 72 65 20 20 64 65 73 63 72 69 62 65 64 20 20 are described
000190: 69 6E 0D 0A 20 20 20 20 20 20 20 41 70 70 65 6E in.. Appen
0001A0: 64 69 78 20 56 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 dix V.........
0001B0: 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 Related ent
0001C0: 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ries:......
0001D0: 20 20 53 43 52 20 47 45 54 20 49 4E 4B 0D 0A 20 SCR GET INK..
0001E0: 20 20 20 20 20 20 53 43 52 20 53 45 54 20 42 4F SCR SET BO
0001F0: 52 44 45 52 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A RDER............
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
000010: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
000020: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 FIRMWARE
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 31 31 page 15.11
000050: 30 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 0..............
000060: 20 20 20 20 20 20 31 30 36 3A 20 53 43 52 20 53 106: SCR S
000070: 45 54 20 46 4C 41 53 48 49 4E 47 20 20 20 20 20 ET FLASHING
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 23 42 43 33 45 0D 0A 0D 0A #BC3E....
0000B0: 0D 0A 20 20 20 20 20 20 20 53 65 74 20 74 68 65 .. Set the
0000C0: 20 66 6C 61 73 68 20 70 65 72 69 6F 64 73 2E 0D flash periods..
0000D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 ..... Acti
0000E0: 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 on:......
0000F0: 53 65 74 20 66 6F 72 20 68 6F 77 20 6C 6F 6E 67 Set for how long
000100: 20 65 61 63 68 20 6F 66 20 74 68 65 20 74 77 6F each of the two
000110: 20 63 6F 6C 6F 75 72 73 20 66 6F 72 20 74 68 65 colours for the
000120: 20 69 6E 6B 73 20 61 6E 64 20 20 74 68 65 20 20 inks and the
000130: 62 6F 72 64 65 72 0D 0A 20 20 20 20 20 20 20 61 border.. a
000140: 72 65 20 74 6F 20 62 65 20 64 69 73 70 6C 61 79 re to be display
000150: 65 64 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E ed on the screen
000160: 2E 20 54 68 65 73 65 20 73 65 74 74 69 6E 67 73 . These settings
000170: 20 61 70 70 6C 79 20 20 74 6F 20 20 61 6C 6C 20 apply to all
000180: 20 69 6E 6B 73 0D 0A 20 20 20 20 20 20 20 61 6E inks.. an
000190: 64 20 74 68 65 20 62 6F 72 64 65 72 2E 0D 0A 0D d the border....
0001A0: 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 ... Entry
0001B0: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
0001C0: 0A 20 20 20 20 20 20 20 48 20 63 6F 6E 74 61 69 . H contai
0001D0: 6E 73 20 74 68 65 20 70 65 72 69 6F 64 20 66 6F ns the period fo
0001E0: 72 20 74 68 65 20 66 69 72 73 74 20 63 6F 6C 6F r the first colo
0001F0: 75 72 2E 0D 0A 20 20 20 20 20 20 20 4C 20 63 6F ur... L co
Size : 512 (Real : 512)
000000: 6E 74 61 69 6E 73 20 74 68 65 20 70 65 72 69 6F ntains the perio
000010: 64 20 66 6F 72 20 74 68 65 20 73 65 63 6F 6E 64 d for the second
000020: 20 63 6F 6C 6F 75 72 2E 0D 0A 0D 0A 0D 0A 20 20 colour.......
000030: 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 Exit condit
000040: 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions:......
000050: 20 20 41 46 20 61 6E 64 20 48 4C 20 63 6F 72 72 AF and HL corr
000060: 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C upt... All
000070: 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 other registers
000080: 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D preserved......
000090: 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A . Notes:..
0000A0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 66 .... The f
0000B0: 6C 61 73 68 20 70 65 72 69 6F 64 73 20 61 72 65 lash periods are
0000C0: 20 67 69 76 65 6E 20 69 6E 20 66 72 61 6D 65 20 given in frame
0000D0: 20 66 6C 79 62 61 63 6B 73 20 20 28 31 2F 35 30 flybacks (1/50
0000E0: 20 20 6F 72 20 20 31 2F 36 30 20 20 6F 66 20 20 or 1/60 of
0000F0: 61 0D 0A 20 20 20 20 20 20 20 73 65 63 6F 6E 64 a.. second
000100: 29 2E 20 41 20 70 65 72 69 6F 64 20 6F 66 20 30 ). A period of 0
000110: 20 69 73 20 74 61 6B 65 6E 20 74 6F 20 6D 65 61 is taken to mea
000120: 6E 20 61 20 70 65 72 69 6F 64 20 6F 66 20 32 35 n a period of 25
000130: 36 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 6....... T
000140: 68 65 20 64 65 66 61 75 6C 74 20 73 65 74 74 69 he default setti
000150: 6E 67 20 66 6F 72 20 74 68 65 20 66 6C 61 73 68 ng for the flash
000160: 20 70 65 72 69 6F 64 73 20 69 73 20 31 30 20 66 periods is 10 f
000170: 72 61 6D 65 20 66 6C 79 62 61 63 6B 73 20 28 31 rame flybacks (1
000180: 2F 35 20 6F 72 0D 0A 20 20 20 20 20 20 20 31 2F /5 or.. 1/
000190: 36 20 6F 66 20 61 20 73 65 63 6F 6E 64 29 2E 20 6 of a second).
0001A0: 54 68 69 73 20 69 73 20 73 65 74 20 61 74 20 45 This is set at E
0001B0: 4D 53 20 61 6E 64 20 77 68 65 6E 20 53 43 52 20 MS and when SCR
0001C0: 52 45 53 45 54 20 69 73 20 63 61 6C 6C 65 64 2E RESET is called.
0001D0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
0001E0: 20 6E 65 77 20 66 6C 61 73 68 20 70 65 72 69 6F new flash perio
0001F0: 64 73 20 61 72 65 20 6E 6F 74 20 75 73 65 64 20 ds are not used
Size : 512 (Real : 512)
000000: 69 6D 6D 65 64 69 61 74 65 6C 79 20 62 75 74 20 immediately but
000010: 77 68 65 6E 20 74 68 65 20 69 6E 6B 73 20 20 6E when the inks n
000020: 65 78 74 0D 0A 20 20 20 20 20 20 20 66 6C 61 73 ext.. flas
000030: 68 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 h.........
000040: 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 Related entries
000050: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 43 :...... SC
000060: 52 20 47 45 54 20 46 4C 41 53 48 49 4E 47 0D 0A R GET FLASHING..
000070: 20 20 20 20 20 20 20 53 43 52 20 53 45 54 20 42 SCR SET B
000080: 4F 52 44 45 52 0D 0A 20 20 20 20 20 20 20 53 43 ORDER.. SC
000090: 52 20 53 45 54 20 49 4E 4B 0D 0A 0D 0A 0D 0A 0D R SET INK.......
0000A0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
0000B0: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
0000C0: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
0000D0: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
0000F0: 61 67 65 20 31 35 2E 31 31 31 0D 0A 0D 0A 0D 0A age 15.111......
000100: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 ........ 1
000110: 30 37 3A 20 53 43 52 20 47 45 54 20 46 4C 41 53 07: SCR GET FLAS
000120: 48 49 4E 47 20 20 20 20 20 20 20 20 20 20 20 20 HING
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 20 20 20 20 20
000150: 23 42 43 34 31 0D 0A 0D 0A 0D 0A 20 20 20 20 20 #BC41......
000160: 20 20 41 73 6B 20 74 68 65 20 63 75 72 72 65 6E Ask the curren
000170: 74 20 66 6C 61 73 68 20 70 65 72 69 6F 64 73 2E t flash periods.
000180: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 ...... Act
000190: 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ion:......
0001A0: 20 47 65 74 20 74 68 65 20 74 69 6D 65 20 66 6F Get the time fo
0001B0: 72 20 77 68 69 63 68 20 65 61 63 68 20 6F 66 20 r which each of
0001C0: 74 68 65 20 74 77 6F 20 63 6F 6C 6F 75 72 73 20 the two colours
0001D0: 61 73 73 6F 63 69 61 74 65 64 20 77 69 74 68 20 associated with
0001E0: 61 6E 20 20 69 6E 6B 0D 0A 20 20 20 20 20 20 20 an ink..
0001F0: 6F 72 20 74 68 65 20 62 6F 72 64 65 72 20 69 73 or the border is
Size : 512 (Real : 512)
000000: 20 64 69 73 70 6C 61 79 65 64 2E 0D 0A 0D 0A 0D displayed......
000010: 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F . Entry co
000020: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 nditions:......
000030: 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 No conditi
000040: 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ons.......
000050: 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 Exit conditions
000060: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 48 20 :...... H
000070: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 65 72 contains the per
000080: 69 6F 64 20 66 6F 72 20 74 68 65 20 66 69 72 73 iod for the firs
000090: 74 20 63 6F 6C 6F 75 72 2E 0D 0A 20 20 20 20 20 t colour...
0000A0: 20 20 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 L contains the
0000B0: 20 70 65 72 69 6F 64 20 66 6F 72 20 74 68 65 20 period for the
0000C0: 73 65 63 6F 6E 64 20 63 6F 6C 6F 75 72 2E 0D 0A second colour...
0000D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 20 63 6F .... AF co
0000E0: 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 rrupt... A
0000F0: 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 ll other registe
000100: 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D rs preserved....
000110: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A ... Notes:
000120: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
000130: 20 66 6C 61 73 68 20 70 65 72 69 6F 64 73 20 61 flash periods a
000140: 72 65 20 67 69 76 65 6E 20 69 6E 20 66 72 61 6D re given in fram
000150: 65 20 20 66 6C 79 62 61 63 6B 73 20 20 28 31 2F e flybacks (1/
000160: 35 30 20 20 6F 72 20 20 31 2F 36 30 20 20 6F 66 50 or 1/60 of
000170: 20 20 61 0D 0A 20 20 20 20 20 20 20 73 65 63 6F a.. seco
000180: 6E 64 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 nd).......
000190: 20 41 20 70 65 72 69 6F 64 20 6F 66 20 30 20 6D A period of 0 m
0001A0: 65 61 6E 73 20 32 35 36 2E 0D 0A 0D 0A 0D 0A 0D eans 256........
0001B0: 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 . Related
0001C0: 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 entries:......
0001D0: 20 20 20 20 20 53 43 52 20 53 45 54 20 46 4C 41 SCR SET FLA
0001E0: 53 48 49 4E 47 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D SHING...........
0001F0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
Size : 512 (Real : 512)
000000: 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 ... AMSTRA
000010: 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 D CPC464/664/612
000020: 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 8 FIRMWARE
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 70 61 67 65 20 31 35 2E 31 31 32 page 15.112
000050: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
000060: 20 20 20 20 20 31 30 38 3A 20 53 43 52 20 46 49 108: SCR FI
000070: 4C 4C 20 42 4F 58 20 20 20 20 20 20 20 20 20 20 LL BOX
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 23 42 43 34 34 0D 0A 0D 0A 0D #BC44.....
0000B0: 0A 20 20 20 20 20 20 20 46 69 6C 6C 20 61 20 63 . Fill a c
0000C0: 68 61 72 61 63 74 65 72 20 61 72 65 61 20 6F 66 haracter area of
0000D0: 20 74 68 65 20 73 63 72 65 65 6E 20 77 69 74 68 the screen with
0000E0: 20 61 6E 20 69 6E 6B 2E 0D 0A 0D 0A 0D 0A 20 20 an ink.......
0000F0: 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A Action:....
000100: 0D 0A 20 20 20 20 20 20 20 46 69 6C 6C 20 61 20 .. Fill a
000110: 72 65 63 74 61 6E 67 75 6C 61 72 20 61 72 65 61 rectangular area
000120: 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 77 of the screen w
000130: 69 74 68 20 61 6E 20 69 6E 6B 2E 20 54 68 65 20 ith an ink. The
000140: 20 62 6F 75 6E 64 61 72 69 65 73 20 20 6F 66 0D boundaries of.
000150: 0A 20 20 20 20 20 20 20 74 68 69 73 20 61 72 65 . this are
000160: 61 20 61 72 65 20 67 69 76 65 6E 20 69 6E 20 63 a are given in c
000170: 68 61 72 61 63 74 65 72 20 70 6F 73 69 74 69 6F haracter positio
000180: 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns.......
000190: 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 Entry conditions
0001A0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 :...... A
0001B0: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 65 6E 63 contains the enc
0001C0: 6F 64 65 64 20 69 6E 6B 20 74 6F 20 66 69 6C 6C oded ink to fill
0001D0: 20 74 68 65 20 61 72 65 61 20 77 69 74 68 2E 0D the area with..
0001E0: 0A 20 20 20 20 20 20 20 48 20 63 6F 6E 74 61 69 . H contai
0001F0: 6E 73 20 74 68 65 20 70 68 79 73 69 63 61 6C 20 ns the physical
Size : 512 (Real : 512)
000000: 6C 65 66 74 20 63 6F 6C 75 6D 6E 20 6F 66 20 74 left column of t
000010: 68 65 20 61 72 65 61 20 74 6F 20 66 69 6C 6C 2E he area to fill.
000020: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 44 20 63 ...... D c
000030: 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 68 79 73 ontains the phys
000040: 69 63 61 6C 20 72 69 67 68 74 20 63 6F 6C 75 6D ical right colum
000050: 6E 20 6F 66 20 74 68 65 20 61 72 65 61 20 74 6F n of the area to
000060: 20 66 69 6C 6C 2E 0D 0A 20 20 20 20 20 20 20 4C fill... L
000070: 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 68 contains the ph
000080: 79 73 69 63 61 6C 20 74 6F 70 20 72 6F 77 20 6F ysical top row o
000090: 66 20 74 68 65 20 61 72 65 61 20 74 6F 20 66 69 f the area to fi
0000A0: 6C 6C 2E 0D 0A 20 20 20 20 20 20 20 45 20 63 6F ll... E co
0000B0: 6E 74 61 69 6E 73 20 74 68 65 20 70 68 79 73 69 ntains the physi
0000C0: 63 61 6C 20 62 6F 74 74 6F 6D 20 72 6F 77 20 6F cal bottom row o
0000D0: 66 20 74 68 65 20 61 72 65 61 20 74 6F 20 66 69 f the area to fi
0000E0: 6C 6C 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ll.......
0000F0: 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A Exit conditions:
000100: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 2C ...... AF,
000110: 20 42 43 2C 20 44 45 20 61 6E 64 20 48 4C 20 63 BC, DE and HL c
000120: 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 orrupt...
000130: 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 All other regist
000140: 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A ers preserved...
000150: 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 .... Notes
000160: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 :...... Th
000170: 65 20 61 72 65 61 20 62 6F 75 6E 64 61 72 69 65 e area boundarie
000180: 73 20 61 72 65 20 67 69 76 65 6E 20 69 6E 20 70 s are given in p
000190: 68 79 73 69 63 61 6C 20 20 63 6F 6F 72 64 69 6E hysical coordin
0001A0: 61 74 65 73 2E 20 20 69 2E 65 2E 20 20 52 6F 77 ates. i.e. Row
0001B0: 20 20 30 2C 0D 0A 20 20 20 20 20 20 20 63 6F 6C 0,.. col
0001C0: 75 6D 6E 20 30 20 69 73 20 74 68 65 20 74 6F 70 umn 0 is the top
0001D0: 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 6F 66 20 left corner of
0001E0: 74 68 65 20 73 63 72 65 65 6E 2E 20 54 68 65 79 the screen. They
0001F0: 20 20 61 72 65 20 20 6E 6F 74 20 20 63 68 65 63 are not chec
Size : 512 (Real : 512)
000000: 6B 65 64 0D 0A 20 20 20 20 20 20 20 66 6F 72 20 ked.. for
000010: 6C 65 67 61 6C 69 74 79 2E 20 49 66 20 69 6C 6C legality. If ill
000020: 65 67 61 6C 20 62 6F 75 6E 64 61 72 69 65 73 20 egal boundaries
000030: 61 72 65 20 70 61 73 73 65 64 20 28 65 64 67 65 are passed (edge
000040: 73 20 6F 66 20 20 74 68 65 20 20 73 63 72 65 65 s of the scree
000050: 6E 29 0D 0A 20 20 20 20 20 20 20 74 68 65 6E 20 n).. then
000060: 75 6E 70 72 65 64 69 63 74 61 62 6C 65 20 65 66 unpredictable ef
000070: 66 65 63 74 73 20 6D 61 79 20 6F 63 63 75 72 2E fects may occur.
000080: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
000090: 20 73 63 72 65 65 6E 20 69 73 20 77 72 69 74 74 screen is writt
0000A0: 65 6E 20 64 69 72 65 63 74 6C 79 20 77 69 74 68 en directly with
0000B0: 6F 75 74 20 75 73 69 6E 67 20 61 6E 79 20 6F 74 out using any ot
0000C0: 68 65 72 20 77 72 69 74 65 20 20 72 6F 75 74 69 her write routi
0000D0: 6E 65 2E 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ne... The
0000E0: 63 75 72 72 65 6E 74 20 47 72 61 70 68 69 63 73 current Graphics
0000F0: 20 56 44 55 20 77 72 69 74 65 20 6D 6F 64 65 20 VDU write mode
000100: 69 73 20 74 68 65 72 65 66 6F 72 65 20 69 67 6E is therefore ign
000110: 6F 72 65 64 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 ored.........
000120: 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 Related entr
000130: 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ies:......
000140: 20 53 43 52 20 43 4C 45 41 52 0D 0A 20 20 20 20 SCR CLEAR..
000150: 20 20 20 53 43 52 20 46 4C 4F 4F 44 20 42 4F 58 SCR FLOOD BOX
000160: 0D 0A 20 20 20 20 20 20 20 54 58 54 20 43 4C 45 .. TXT CLE
000170: 41 52 20 57 49 4E 44 4F 57 0D 0A 0D 0A 0D 0A 0D AR WINDOW.......
000180: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000190: 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 AMSTRAD CPC464/6
0001A0: 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 64/6128 FIRMWARE
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 70 61 67 65 20 page
0001D0: 31 35 2E 31 31 33 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 15.113..........
0001E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 31 30 39 3A 20 .... 109:
0001F0: 53 43 52 20 46 4C 4F 4F 44 20 42 4F 58 20 20 20 SCR FLOOD BOX
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 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 20 20 20 20 20 20 20 20 20 20 20 23 42 43 34 #BC4
000030: 37 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 46 69 7...... Fi
000040: 6C 6C 20 61 20 62 79 74 65 20 61 72 65 61 20 6F ll a byte area o
000050: 66 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D f the screen....
000060: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
000070: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 46 69 :...... Fi
000080: 6C 6C 20 61 20 72 65 63 74 61 6E 67 75 6C 61 72 ll a rectangular
000090: 20 61 72 65 61 20 6F 66 20 74 68 65 20 73 63 72 area of the scr
0000A0: 65 65 6E 20 77 69 74 68 20 61 6E 20 69 6E 6B 2E een with an ink.
0000B0: 20 54 68 65 20 20 62 6F 75 6E 64 61 72 69 65 73 The boundaries
0000C0: 20 20 6F 66 0D 0A 20 20 20 20 20 20 20 74 68 65 of.. the
0000D0: 20 61 72 65 61 20 6D 75 73 74 20 6C 69 65 20 6F area must lie o
0000E0: 6E 20 62 79 74 65 20 62 6F 75 6E 64 61 72 69 65 n byte boundarie
0000F0: 73 2E 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 s. This routine
000100: 77 69 6C 6C 20 20 6E 6F 74 20 20 66 69 6C 6C 20 will not fill
000110: 20 61 6E 0D 0A 20 20 20 20 20 20 20 61 72 62 69 an.. arbi
000120: 74 72 61 72 79 20 61 72 65 61 20 6F 66 20 74 68 trary area of th
000130: 65 20 73 63 72 65 65 6E 20 74 6F 20 70 69 78 65 e screen to pixe
000140: 6C 20 61 20 62 6F 75 6E 64 61 72 79 2E 0D 0A 0D l a boundary....
000150: 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 ... Entry
000160: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
000170: 0A 20 20 20 20 20 20 20 43 20 63 6F 6E 74 61 69 . C contai
000180: 6E 73 20 74 68 65 20 65 6E 63 6F 64 65 64 20 69 ns the encoded i
000190: 6E 6B 20 74 6F 20 66 69 6C 6C 20 74 68 65 20 61 nk to fill the a
0001A0: 72 65 61 20 77 69 74 68 2E 0D 0A 0D 0A 20 20 20 rea with.....
0001B0: 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 HL contains
0001C0: 74 68 65 20 73 63 72 65 65 6E 20 61 64 64 72 65 the screen addre
0001D0: 73 73 20 6F 66 20 74 68 65 20 74 6F 70 20 6C 65 ss of the top le
0001E0: 66 74 20 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 ft corner of the
0001F0: 20 20 61 72 65 61 20 20 74 6F 0D 0A 20 20 20 20 area to..
Size : 512 (Real : 512)
000000: 20 20 20 66 69 6C 6C 2E 0D 0A 0D 0A 20 20 20 20 fill.....
000010: 20 20 20 44 20 63 6F 6E 74 61 69 6E 73 20 74 68 D contains th
000020: 65 20 28 75 6E 73 69 67 6E 65 64 29 20 77 69 64 e (unsigned) wid
000030: 74 68 20 6F 66 20 74 68 65 20 61 72 65 61 20 74 th of the area t
000040: 6F 20 66 69 6C 6C 20 69 6E 20 62 79 74 65 73 2E o fill in bytes.
000050: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 20 63 6F 6E .... E con
000060: 74 61 69 6E 73 20 74 68 65 20 28 75 6E 73 69 67 tains the (unsig
000070: 6E 65 64 29 20 68 65 69 67 68 74 20 6F 66 20 74 ned) height of t
000080: 68 65 20 61 72 65 61 20 74 6F 20 66 69 6C 6C 20 he area to fill
000090: 69 6E 20 73 63 72 65 65 6E 20 6C 69 6E 65 73 2E in screen lines.
0000A0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 ...... Exi
0000B0: 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D t conditions:...
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 41 46 2C 20 42 43 ... AF, BC
0000D0: 2C 20 44 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 , DE and HL corr
0000E0: 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C upt... All
0000F0: 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 20 other register
000100: 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A preserved.......
000110: 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D Notes:...
000120: 0A 20 20 20 20 20 20 20 54 68 65 20 77 68 6F 6C . The whol
000130: 65 20 6F 66 20 74 68 65 20 72 65 63 74 61 6E 67 e of the rectang
000140: 6C 65 20 62 65 69 6E 67 20 63 6C 65 61 72 65 64 le being cleared
000150: 20 6D 75 73 74 20 6C 69 65 20 6F 6E 20 20 74 68 must lie on th
000160: 65 20 20 73 63 72 65 65 6E 2E 20 20 49 66 0D 0A e screen. If..
000170: 20 20 20 20 20 20 20 61 6E 79 20 6F 66 20 69 74 any of it
000180: 20 6C 69 65 73 20 6F 66 66 20 74 68 65 20 73 63 lies off the sc
000190: 72 65 65 6E 20 74 68 65 6E 20 75 6E 70 72 65 64 reen then unpred
0001A0: 69 63 74 61 62 6C 65 20 65 66 66 65 63 74 73 20 ictable effects
0001B0: 6D 61 79 20 6F 63 63 75 72 2E 0D 0A 0D 0A 0D 0A may occur.......
0001C0: 20 20 20 20 20 20 20 41 20 68 65 69 67 68 74 20 A height
0001D0: 6F 72 20 77 69 64 74 68 20 6F 66 20 30 20 69 73 or width of 0 is
0001E0: 20 74 61 6B 65 6E 20 74 6F 20 6D 65 61 6E 20 32 taken to mean 2
0001F0: 35 36 20 28 77 68 69 63 68 20 69 73 20 74 6F 6F 56 (which is too
Size : 512 (Real : 512)
000000: 20 6C 61 72 67 65 20 74 6F 20 66 69 74 0D 0A 20 large to fit..
000010: 20 20 20 20 20 20 6F 6E 20 74 68 65 20 73 63 72 on the scr
000020: 65 65 6E 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 een).......
000030: 20 20 54 68 65 20 73 63 72 65 65 6E 20 69 73 20 The screen is
000040: 77 72 69 74 74 65 6E 20 64 69 72 65 63 74 6C 79 written directly
000050: 20 77 69 74 68 6F 75 74 20 75 73 69 6E 67 20 61 without using a
000060: 6E 79 20 6F 74 68 65 72 20 77 72 69 74 65 20 20 ny other write
000070: 72 6F 75 74 69 6E 65 2E 0D 0A 20 20 20 20 20 20 routine...
000080: 20 54 68 65 20 63 75 72 72 65 6E 74 20 47 72 61 The current Gra
000090: 70 68 69 63 73 20 56 44 55 20 77 72 69 74 65 20 phics VDU write
0000A0: 6D 6F 64 65 20 69 73 20 74 68 65 72 65 66 6F 72 mode is therefor
0000B0: 65 20 69 67 6E 6F 72 65 64 2E 0D 0A 0D 0A 0D 0A e ignored.......
0000C0: 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 .. Related
0000D0: 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 entries:......
0000E0: 20 20 20 20 20 20 47 52 41 20 43 4C 45 41 52 20 GRA CLEAR
0000F0: 57 49 4E 44 4F 57 0D 0A 20 20 20 20 20 20 20 53 WINDOW.. S
000100: 43 52 20 43 4C 45 41 52 0D 0A 20 20 20 20 20 20 CR CLEAR..
000110: 20 53 43 52 20 46 49 4C 4C 20 42 4F 58 0D 0A 0D SCR FILL BOX...
000120: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D ....... AM
000130: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
000140: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 /6128 FIRMWARE
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 20 20 20 20 70 61 67 65 20 31 35 page 15
000170: 2E 31 31 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A .114............
000180: 0D 0A 20 20 20 20 20 20 20 31 31 30 3A 20 53 43 .. 110: SC
000190: 52 20 43 48 41 52 20 49 4E 56 45 52 54 20 20 20 R CHAR INVERT
0001A0: 20 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 20 20
0001C0: 20 20 20 20 20 20 20 20 20 20 23 42 43 34 41 0D #BC4A.
0001D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 6E 76 65 ..... Inve
0001E0: 72 74 20 61 20 63 68 61 72 61 63 74 65 72 20 70 rt a character p
0001F0: 6F 73 69 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 osition.......
Size : 512 (Real : 512)
000000: 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A Action:....
000010: 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 70 69 78 .. All pix
000020: 65 6C 73 20 61 74 20 61 20 63 68 61 72 61 63 74 els at a charact
000030: 65 72 20 70 6F 73 69 74 69 6F 6E 20 74 68 61 74 er position that
000040: 20 61 72 65 20 77 72 69 74 74 65 6E 20 20 69 6E are written in
000050: 20 20 6F 6E 65 20 20 69 6E 6B 20 20 61 72 65 0D one ink are.
000060: 0A 20 20 20 20 20 20 20 72 65 77 72 69 74 74 65 . rewritte
000070: 6E 20 69 6E 20 61 20 73 65 63 6F 6E 64 20 69 6E n in a second in
000080: 6B 2C 20 61 6E 64 20 20 76 69 63 65 20 20 76 65 k, and vice ve
000090: 72 73 61 2E 20 20 54 68 69 73 20 20 67 69 76 65 rsa. This give
0000A0: 73 20 20 61 6E 20 20 69 6E 76 65 72 73 65 0D 0A s an inverse..
0000B0: 20 20 20 20 20 20 20 65 66 66 65 63 74 20 74 6F effect to
0000C0: 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 70 the character p
0000D0: 6F 73 69 74 69 6F 6E 2E 20 49 6E 76 65 72 74 69 osition. Inverti
0000E0: 6E 67 20 20 74 68 65 20 20 63 68 61 72 61 63 74 ng the charact
0000F0: 65 72 20 20 61 20 20 73 65 63 6F 6E 64 0D 0A 20 er a second..
000100: 20 20 20 20 20 20 74 69 6D 65 20 77 69 6C 6C 20 time will
000110: 72 65 73 74 6F 72 65 20 74 68 65 20 6F 72 69 67 restore the orig
000120: 69 6E 61 6C 20 69 6E 6B 73 2E 20 54 68 69 73 20 inal inks. This
000130: 65 66 66 65 63 74 20 69 73 20 75 73 65 64 20 74 effect is used t
000140: 6F 20 20 64 72 61 77 20 20 74 68 65 0D 0A 20 20 o draw the..
000150: 20 20 20 20 20 54 65 78 74 20 56 44 55 20 63 75 Text VDU cu
000160: 72 73 6F 72 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 rsors.......
000170: 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 Entry conditi
000180: 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ons:......
000190: 20 42 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 65 B contains an e
0001A0: 6E 63 6F 64 65 64 20 69 6E 6B 2E 0D 0A 20 20 20 ncoded ink...
0001B0: 20 20 20 20 43 20 63 6F 6E 74 61 69 6E 73 20 61 C contains a
0001C0: 6E 6F 74 68 65 72 20 65 6E 63 6F 64 65 64 20 69 nother encoded i
0001D0: 6E 6B 2E 0D 0A 20 20 20 20 20 20 20 48 20 63 6F nk... H co
0001E0: 6E 74 61 69 6E 73 20 61 20 70 68 79 73 69 63 61 ntains a physica
0001F0: 6C 20 63 68 61 72 61 63 74 65 72 20 63 6F 6C 75 l character colu
Size : 512 (Real : 512)
000000: 6D 6E 2E 0D 0A 20 20 20 20 20 20 20 4C 20 63 6F mn... L co
000010: 6E 74 61 69 6E 73 20 61 20 70 68 79 73 69 63 61 ntains a physica
000020: 6C 20 63 68 61 72 61 63 74 65 72 20 72 6F 77 2E l character row.
000030: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 ...... Exi
000040: 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D t conditions:...
000050: 0A 0D 0A 20 20 20 20 20 20 20 41 46 2C 20 42 43 ... AF, BC
000060: 2C 20 44 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 , DE and HL corr
000070: 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C upt... All
000080: 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 other registers
000090: 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D preserved......
0000A0: 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A . Notes:..
0000B0: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 63 68 61 .. The cha
0000C0: 72 61 63 74 65 72 20 70 6F 73 69 74 69 6F 6E 20 racter position
0000D0: 69 73 20 67 69 76 65 6E 20 69 6E 20 70 68 79 73 is given in phys
0000E0: 69 63 61 6C 20 63 6F 6F 72 64 69 6E 61 74 65 73 ical coordinates
0000F0: 20 20 69 2E 65 2E 20 20 52 6F 77 20 20 30 2C 0D i.e. Row 0,.
000100: 0A 20 20 20 20 20 20 20 63 6F 6C 75 6D 6E 20 30 . column 0
000110: 20 69 73 20 74 68 65 20 74 6F 70 20 6C 65 66 74 is the top left
000120: 20 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 20 73 corner of the s
000130: 63 72 65 65 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 creen.....
000140: 20 54 68 65 20 63 68 61 72 61 63 74 65 72 20 70 The character p
000150: 6F 73 69 74 69 6F 6E 20 67 69 76 65 6E 20 20 69 osition given i
000160: 73 20 20 6E 6F 74 20 20 63 68 65 63 6B 65 64 20 s not checked
000170: 20 66 6F 72 20 20 62 65 69 6E 67 20 20 6C 65 67 for being leg
000180: 61 6C 2E 20 20 41 6E 0D 0A 20 20 20 20 20 20 20 al. An..
000190: 69 6C 6C 65 67 61 6C 20 70 6F 73 69 74 69 6F 6E illegal position
0001A0: 20 28 6F 6E 65 20 6F 75 74 73 69 64 65 20 74 68 (one outside th
0001B0: 65 20 6C 69 6D 69 74 73 20 20 6F 66 20 20 74 68 e limits of th
0001C0: 65 20 20 73 63 72 65 65 6E 29 20 20 77 69 6C 6C e screen) will
0001D0: 20 20 68 61 76 65 0D 0A 20 20 20 20 20 20 20 75 have.. u
0001E0: 6E 70 72 65 64 69 63 74 61 62 6C 65 20 65 66 66 npredictable eff
0001F0: 65 63 74 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 ects.....
Size : 512 (Real : 512)
000000: 41 6C 6C 20 70 69 78 65 6C 73 20 61 74 20 74 68 All pixels at th
000010: 65 20 20 63 68 61 72 61 63 74 65 72 20 20 70 6F e character po
000020: 73 69 74 69 6F 6E 20 20 61 72 65 20 20 65 78 63 sition are exc
000030: 6C 75 73 69 76 65 2D 6F 72 65 64 20 20 77 69 74 lusive-ored wit
000040: 68 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 65 h the.. e
000050: 78 63 6C 75 73 69 76 65 2D 6F 72 20 6F 66 20 20 xclusive-or of
000060: 74 68 65 20 20 74 77 6F 20 20 69 6E 6B 73 20 20 the two inks
000070: 73 75 70 70 6C 69 65 64 2E 20 20 50 69 78 65 6C supplied. Pixel
000080: 73 20 20 61 74 20 20 74 68 65 20 20 63 68 61 72 s at the char
000090: 61 63 74 65 72 0D 0A 20 20 20 20 20 20 20 70 6F acter.. po
0000A0: 73 69 74 69 6F 6E 20 74 68 61 74 20 61 72 65 20 sition that are
0000B0: 73 65 74 20 74 6F 20 6F 6E 65 20 6F 66 20 74 68 set to one of th
0000C0: 65 20 74 77 6F 20 69 6E 6B 73 20 73 75 70 70 6C e two inks suppl
0000D0: 69 65 64 20 20 77 69 6C 6C 20 20 74 68 65 72 65 ied will there
0000E0: 66 6F 72 65 0D 0A 20 20 20 20 20 20 20 62 65 20 fore.. be
0000F0: 73 65 74 20 74 6F 20 74 68 65 20 6F 74 68 65 72 set to the other
000100: 20 73 75 70 70 6C 69 65 64 20 69 6E 6B 2E 20 50 supplied ink. P
000110: 69 78 65 6C 73 20 73 65 74 20 74 6F 20 6F 74 68 ixels set to oth
000120: 65 72 20 69 6E 6B 73 20 20 77 69 6C 6C 20 20 61 er inks will a
000130: 6C 73 6F 0D 0A 20 20 20 20 20 20 20 62 65 20 61 lso.. be a
000140: 6C 74 65 72 65 64 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 ltered.........
000150: 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E Related en
000160: 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tries:......
000170: 20 20 20 54 58 54 20 50 4C 41 43 45 20 43 55 52 TXT PLACE CUR
000180: 53 4F 52 0D 0A 20 20 20 20 20 20 20 54 58 54 20 SOR.. TXT
000190: 52 45 4D 4F 56 45 20 43 55 52 53 4F 52 0D 0A 0D REMOVE CURSOR...
0001A0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
0001B0: 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 AMSTRAD CPC464/6
0001C0: 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 64/6128 FIRMWARE
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 20 page
0001F0: 31 35 2E 31 31 35 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 15.115..........
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 20 20 31 31 31 3A 20 .... 111:
000010: 53 43 52 20 48 57 20 52 4F 4C 4C 20 20 20 20 20 SCR HW ROLL
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 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 23 42 43 34 #BC4
000050: 44 0D 0A 0D 0A 20 20 20 20 20 20 20 4D 6F 76 65 D.... Move
000060: 20 74 68 65 20 77 68 6F 6C 65 20 73 63 72 65 65 the whole scree
000070: 6E 20 75 70 20 6F 72 20 64 6F 77 6E 20 65 69 67 n up or down eig
000080: 68 74 20 70 69 78 65 6C 20 6C 69 6E 65 73 20 28 ht pixel lines (
000090: 6F 6E 65 20 63 68 61 72 61 63 74 65 72 29 2E 0D one character)..
0000A0: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
0000B0: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 6F 6C 6C :.... Roll
0000C0: 20 74 68 65 20 73 63 72 65 65 6E 20 75 73 69 6E the screen usin
0000D0: 67 20 74 68 65 20 68 61 72 64 77 61 72 65 2E 20 g the hardware.
0000E0: 54 68 65 20 20 6E 65 77 20 20 6C 69 6E 65 20 20 The new line
0000F0: 61 70 70 65 61 72 69 6E 67 20 20 6F 6E 20 20 74 appearing on t
000100: 68 65 0D 0A 20 20 20 20 20 20 20 73 63 72 65 65 he.. scree
000110: 6E 20 69 73 20 63 6C 65 61 72 65 64 2E 0D 0A 0D n is cleared....
000120: 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F . Entry co
000130: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 nditions:....
000140: 20 20 20 20 49 66 20 74 68 65 20 73 63 72 65 65 If the scree
000150: 6E 20 69 73 20 72 6F 6C 6C 65 64 20 64 6F 77 6E n is rolled down
000160: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 :....
000170: 20 20 20 20 20 42 20 6D 75 73 74 20 62 65 20 7A B must be z
000180: 65 72 6F 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 ero..... I
000190: 66 20 74 68 65 20 73 63 72 65 65 6E 20 69 73 20 f the screen is
0001A0: 74 6F 20 72 6F 6C 6C 20 75 70 3A 0D 0A 0D 0A 20 to roll up:....
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 B
0001C0: 20 6D 75 73 74 20 62 65 20 6E 6F 6E 2D 7A 65 72 must be non-zer
0001D0: 6F 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 77 o..... Alw
0001E0: 61 79 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ays:....
0001F0: 20 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 A contai
Size : 512 (Real : 512)
000000: 6E 73 20 74 68 65 20 65 6E 63 6F 64 65 64 20 69 ns the encoded i
000010: 6E 6B 20 74 6F 20 63 6C 65 61 72 20 74 68 65 20 nk to clear the
000020: 6E 65 77 20 6C 69 6E 65 20 74 6F 2E 0D 0A 0D 0A new line to.....
000030: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
000040: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 itions:....
000050: 20 20 41 46 2C 20 42 43 2C 20 44 45 20 61 6E 64 AF, BC, DE and
000060: 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 HL corrupt...
000070: 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 All other r
000080: 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 egisters preserv
000090: 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ed..... No
0000A0: 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 tes:.... T
0000B0: 68 65 20 73 63 72 65 65 6E 20 69 73 20 72 6F 6C he screen is rol
0000C0: 6C 65 64 20 62 79 20 20 63 68 61 6E 67 69 6E 67 led by changing
0000D0: 20 20 74 68 65 20 20 73 63 72 65 65 6E 20 20 6F the screen o
0000E0: 66 66 73 65 74 20 20 28 73 65 65 20 20 53 43 52 ffset (see SCR
0000F0: 20 20 53 45 54 0D 0A 20 20 20 20 20 20 20 4F 46 SET.. OF
000100: 46 53 45 54 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 FSET).....
000110: 20 52 6F 6C 6C 69 6E 67 20 74 68 65 20 73 63 72 Rolling the scr
000120: 65 65 6E 20 75 70 77 61 72 64 73 20 6D 6F 76 65 een upwards move
000130: 73 20 74 68 65 20 73 63 72 65 65 6E 20 63 6F 6E s the screen con
000140: 74 65 6E 74 73 20 75 70 20 61 6E 64 20 63 6C 65 tents up and cle
000150: 61 72 73 20 74 68 65 0D 0A 20 20 20 20 20 20 20 ars the..
000160: 6E 65 77 20 62 6F 74 74 6F 6D 20 6C 69 6E 65 2E new bottom line.
000170: 20 54 68 65 20 73 63 72 65 65 6E 20 6F 66 66 73 The screen offs
000180: 65 74 20 69 73 20 74 68 65 72 65 66 6F 72 65 20 et is therefore
000190: 69 6E 63 72 65 61 73 65 64 20 62 79 20 20 38 30 increased by 80
0001A0: 20 20 28 4D 4F 44 0D 0A 20 20 20 20 20 20 20 23 (MOD.. #
0001B0: 30 38 30 30 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 0800).....
0001C0: 20 52 6F 6C 6C 69 6E 67 20 74 68 65 20 73 63 72 Rolling the scr
0001D0: 65 65 6E 20 64 6F 77 6E 77 61 72 64 73 20 6D 6F een downwards mo
0001E0: 76 65 73 20 74 68 65 20 73 63 72 65 65 6E 20 63 ves the screen c
0001F0: 6F 6E 74 65 6E 74 73 20 64 6F 77 6E 20 61 6E 64 ontents down and
Size : 512 (Real : 512)
000000: 20 63 6C 65 61 72 73 0D 0A 20 20 20 20 20 20 20 clears..
000010: 74 68 65 20 6E 65 77 20 74 6F 70 20 6C 69 6E 65 the new top line
000020: 2E 20 54 68 65 20 73 63 72 65 65 6E 20 6F 66 66 . The screen off
000030: 73 65 74 20 69 73 20 74 68 65 72 65 66 6F 72 65 set is therefore
000040: 20 64 65 63 72 65 61 73 65 64 20 62 79 20 38 30 decreased by 80
000050: 20 20 28 4D 4F 44 0D 0A 20 20 20 20 20 20 20 23 (MOD.. #
000060: 30 38 30 30 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 0800).....
000070: 20 54 68 65 20 6E 65 77 20 6C 69 6E 65 20 69 73 The new line is
000080: 20 63 6C 65 61 72 65 64 20 62 79 20 77 72 69 74 cleared by writ
000090: 69 6E 67 20 74 6F 20 69 74 20 64 69 72 65 63 74 ing to it direct
0000A0: 6C 79 20 20 74 68 75 73 20 20 74 68 65 20 20 47 ly thus the G
0000B0: 72 61 70 68 69 63 73 0D 0A 20 20 20 20 20 20 20 raphics..
0000C0: 56 44 55 20 77 72 69 74 65 20 6D 6F 64 65 20 69 VDU write mode i
0000D0: 73 20 69 67 6E 6F 72 65 64 2E 0D 0A 0D 0A 20 20 s ignored.....
0000E0: 20 20 20 20 20 54 68 65 20 54 65 78 74 20 56 44 The Text VD
0000F0: 55 20 72 6F 6C 6C 20 63 6F 75 6E 74 20 69 73 20 U roll count is
000100: 6E 6F 74 20 63 68 61 6E 67 65 64 20 62 79 20 74 not changed by t
000110: 68 69 73 20 72 6F 75 74 69 6E 65 20 20 28 73 65 his routine (se
000120: 65 20 20 54 58 54 20 20 47 45 54 0D 0A 20 20 20 e TXT GET..
000130: 20 20 20 20 57 49 4E 44 4F 57 29 2E 0D 0A 20 20 WINDOW)...
000140: 20 20 20 20 20 53 70 65 63 69 61 6C 20 70 72 65 Special pre
000150: 63 61 75 74 69 6F 6E 73 20 61 72 65 20 74 61 6B cautions are tak
000160: 65 6E 20 74 6F 20 6D 61 6B 65 20 73 75 72 65 20 en to make sure
000170: 74 68 61 74 20 20 74 68 65 20 20 73 63 72 65 65 that the scree
000180: 6E 20 20 69 73 20 20 6B 65 70 74 0D 0A 20 20 20 n is kept..
000190: 20 20 20 20 6C 6F 6F 6B 69 6E 67 20 70 72 65 73 looking pres
0001A0: 65 6E 74 61 62 6C 65 20 64 75 72 69 6E 67 20 74 entable during t
0001B0: 68 65 20 72 6F 6C 6C 69 6E 67 20 61 6E 64 20 69 he rolling and i
0001C0: 6E 20 20 70 61 72 74 69 63 75 6C 61 72 20 20 64 n particular d
0001D0: 75 72 69 6E 67 20 20 74 68 65 0D 0A 20 20 20 20 uring the..
0001E0: 20 20 20 63 6C 65 61 72 69 6E 67 20 6F 66 20 74 clearing of t
0001F0: 68 65 20 6E 65 77 20 6C 69 6E 65 2E 20 50 72 69 he new line. Pri
Size : 512 (Real : 512)
000000: 6E 63 69 70 61 6C 6C 79 20 74 68 69 73 20 63 6F ncipally this co
000010: 6E 73 69 73 74 73 20 20 6F 66 20 20 63 6C 65 61 nsists of clea
000020: 72 69 6E 67 20 20 74 68 65 0D 0A 20 20 20 20 20 ring the..
000030: 20 20 6E 65 77 20 6C 69 6E 65 20 69 6E 20 74 77 new line in tw
000040: 6F 20 70 61 72 74 73 2E 20 46 69 72 73 74 20 74 o parts. First t
000050: 68 65 20 70 61 72 74 20 20 74 68 61 74 20 20 69 he part that i
000060: 73 20 20 6E 6F 74 20 20 76 69 73 69 62 6C 65 20 s not visible
000070: 20 6F 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 on the..
000080: 20 73 63 72 65 65 6E 20 28 62 79 20 76 69 72 74 screen (by virt
000090: 75 65 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E ue of the screen
0000A0: 20 61 64 64 72 65 73 73 69 6E 67 29 20 69 73 20 addressing) is
0000B0: 63 6C 65 61 72 65 64 2E 20 20 54 68 65 6E 2C 20 cleared. Then,
0000C0: 20 61 66 74 65 72 0D 0A 20 20 20 20 20 20 20 77 after.. w
0000D0: 61 69 74 69 6E 67 20 66 6F 72 20 66 72 61 6D 65 aiting for frame
0000E0: 20 66 6C 79 62 61 63 6B 20 61 6E 64 20 63 68 61 flyback and cha
0000F0: 6E 67 69 6E 67 20 74 68 65 20 73 63 72 65 65 6E nging the screen
000100: 20 6F 66 66 73 65 74 2C 20 20 74 68 65 20 20 73 offset, the s
000110: 65 63 6F 6E 64 0D 0A 20 20 20 20 20 20 20 68 61 econd.. ha
000120: 6C 66 20 6F 66 20 74 68 65 20 6C 69 6E 65 20 74 lf of the line t
000130: 68 61 74 20 77 61 73 20 70 61 72 74 20 6F 66 20 hat was part of
000140: 74 68 65 20 6C 69 6E 65 20 74 68 61 74 20 6A 75 the line that ju
000150: 73 74 20 20 72 6F 6C 6C 65 64 20 20 6F 66 66 20 st rolled off
000160: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 73 63 72 the.. scr
000170: 65 65 6E 20 69 73 20 63 6C 65 61 72 65 64 2E 0D een is cleared..
000180: 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 ... Relate
000190: 64 20 65 6E 74 72 69 65 73 3A 0D 0A 20 20 20 20 d entries:..
0001A0: 20 20 20 53 43 52 20 53 45 54 20 4F 46 46 53 45 SCR SET OFFSE
0001B0: 54 0D 0A 20 20 20 20 20 20 20 53 43 52 20 53 57 T.. SCR SW
0001C0: 20 52 4F 4C 4C 0D 0A 0D 0A 20 20 20 20 20 20 20 ROLL....
0001D0: 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 AMSTRAD CPC464/6
0001E0: 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 64/6128 FIRMWARE
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 70 61 67 65 20 page
000010: 31 35 2E 31 31 36 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 15.116..........
000020: 0D 0A 0D 0A 20 20 20 20 20 20 20 31 31 32 3A 20 .... 112:
000030: 53 43 52 20 53 57 20 52 4F 4C 4C 20 20 20 20 20 SCR SW ROLL
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 20 20 20 20 23 42 43 35 #BC5
000070: 30 0D 0A 0D 0A 20 20 20 20 20 20 20 4D 6F 76 65 0.... Move
000080: 20 61 6E 20 61 72 65 61 20 20 6F 66 20 20 74 68 an area of th
000090: 65 20 20 73 63 72 65 65 6E 20 20 75 70 20 20 6F e screen up o
0000A0: 72 20 20 64 6F 77 6E 20 20 65 69 67 68 74 20 20 r down eight
0000B0: 70 69 78 65 6C 20 20 6C 69 6E 65 73 20 20 28 6F pixel lines (o
0000C0: 6E 65 0D 0A 20 20 20 20 20 20 20 63 68 61 72 61 ne.. chara
0000D0: 63 74 65 72 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 cter).....
0000E0: 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 Action:....
0000F0: 20 20 20 52 6F 6C 6C 20 61 6E 20 61 72 65 61 20 Roll an area
000100: 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 62 79 of the screen by
000110: 20 20 63 6F 70 79 69 6E 67 2E 20 20 54 68 65 20 copying. The
000120: 20 61 72 65 61 20 20 74 6F 20 20 62 65 20 20 72 area to be r
000130: 6F 6C 6C 65 64 20 20 69 73 0D 0A 20 20 20 20 20 olled is..
000140: 20 20 73 70 65 63 69 66 69 65 64 20 69 6E 20 63 specified in c
000150: 68 61 72 61 63 74 65 72 20 70 6F 73 69 74 69 6F haracter positio
000160: 6E 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E ns..... En
000170: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D try conditions:.
000180: 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 ... If the
000190: 20 73 63 72 65 65 6E 20 69 73 20 74 6F 20 72 6F screen is to ro
0001A0: 6C 6C 20 64 6F 77 6E 3A 0D 0A 0D 0A 20 20 20 20 ll down:....
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 42 20 6D 75 B mu
0001C0: 73 74 20 62 65 20 7A 65 72 6F 2E 0D 0A 0D 0A 20 st be zero.....
0001D0: 20 20 20 20 20 20 49 66 20 74 68 65 20 73 63 72 If the scr
0001E0: 65 65 6E 20 69 73 20 74 6F 20 72 6F 6C 6C 20 75 een is to roll u
0001F0: 70 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 p:....
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 42 20 6D 75 73 74 20 62 65 20 B must be
000010: 6E 6F 6E 2D 7A 65 72 6F 2E 0D 0A 0D 0A 20 20 20 non-zero.....
000020: 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 0D 0A 20 Always:....
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 A
000040: 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 65 6E contains the en
000050: 63 6F 64 65 64 20 69 6E 6B 20 74 6F 20 63 6C 65 coded ink to cle
000060: 61 72 20 74 68 65 20 6E 65 77 20 6C 69 6E 65 20 ar the new line
000070: 74 6F 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 to...
000080: 20 20 20 20 20 48 20 63 6F 6E 74 61 69 6E 73 20 H contains
000090: 74 68 65 20 70 68 79 73 69 63 61 6C 20 6C 65 66 the physical lef
0000A0: 74 20 63 6F 6C 75 6D 6E 20 6F 66 20 74 68 65 20 t column of the
0000B0: 61 72 65 61 20 74 6F 20 72 6F 6C 6C 2E 0D 0A 20 area to roll...
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 D
0000D0: 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 68 contains the ph
0000E0: 79 73 69 63 61 6C 20 72 69 67 68 74 20 63 6F 6C ysical right col
0000F0: 75 6D 6E 20 6F 66 20 74 68 65 20 61 72 65 61 20 umn of the area
000100: 74 6F 20 72 6F 6C 6C 2E 0D 0A 20 20 20 20 20 20 to roll...
000110: 20 20 20 20 20 20 20 20 20 20 4C 20 63 6F 6E 74 L cont
000120: 61 69 6E 73 20 74 68 65 20 70 68 79 73 69 63 61 ains the physica
000130: 6C 20 74 6F 70 20 72 6F 77 20 6F 66 20 74 68 65 l top row of the
000140: 20 61 72 65 61 20 74 6F 20 72 6F 6C 6C 2E 0D 0A area to roll...
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 E contains the p
000170: 68 79 73 69 63 61 6C 20 62 6F 74 74 6F 6D 20 72 hysical bottom r
000180: 6F 77 20 6F 66 20 74 68 65 20 61 72 65 61 20 74 ow of the area t
000190: 6F 20 72 6F 6C 6C 2E 0D 0A 0D 0A 20 20 20 20 20 o roll.....
0001A0: 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E Exit condition
0001B0: 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 2C s:.... AF,
0001C0: 20 42 43 2C 20 44 45 20 61 6E 64 20 48 4C 20 63 BC, DE and HL c
0001D0: 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 orrupt...
0001E0: 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 All other regist
0001F0: 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A ers preserved...
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D .. Notes:.
000010: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 61 72 ... The ar
000020: 65 61 20 62 6F 75 6E 64 61 72 69 65 73 20 61 72 ea boundaries ar
000030: 65 20 67 69 76 65 6E 20 69 6E 20 70 68 79 73 69 e given in physi
000040: 63 61 6C 20 20 63 6F 6F 72 64 69 6E 61 74 65 73 cal coordinates
000050: 2E 20 20 69 2E 65 2E 20 20 52 6F 77 20 20 30 2C . i.e. Row 0,
000060: 0D 0A 20 20 20 20 20 20 20 63 6F 6C 75 6D 6E 20 .. column
000070: 30 20 69 73 20 74 68 65 20 74 6F 70 20 6C 65 66 0 is the top lef
000080: 74 20 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 20 t corner of the
000090: 73 63 72 65 65 6E 2E 20 54 68 65 20 62 6F 75 6E screen. The boun
0000A0: 64 61 72 69 65 73 20 61 72 65 20 20 6E 6F 74 0D daries are not.
0000B0: 0A 20 20 20 20 20 20 20 63 68 65 63 6B 65 64 20 . checked
0000C0: 66 6F 72 20 6C 65 67 61 6C 69 74 79 2E 20 49 66 for legality. If
0000D0: 20 69 6C 6C 65 67 61 6C 20 62 6F 75 6E 64 61 72 illegal boundar
0000E0: 69 65 73 20 61 72 65 20 70 61 73 73 65 64 20 28 ies are passed (
0000F0: 65 64 67 65 73 20 20 6F 66 20 20 74 68 65 0D 0A edges of the..
000100: 20 20 20 20 20 20 20 73 63 72 65 65 6E 29 20 74 screen) t
000110: 68 65 6E 20 75 6E 70 72 65 64 69 63 74 61 62 6C hen unpredictabl
000120: 65 20 65 66 66 65 63 74 73 20 6D 61 79 20 6F 63 e effects may oc
000130: 63 75 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 cur..... R
000140: 6F 6C 6C 69 6E 67 20 74 68 65 20 61 72 65 61 20 olling the area
000150: 75 70 77 61 72 64 73 20 6D 6F 76 65 73 20 74 68 upwards moves th
000160: 65 20 63 6F 6E 74 65 6E 74 73 20 20 75 70 20 20 e contents up
000170: 61 6E 64 20 20 63 6C 65 61 72 73 20 20 74 68 65 and clears the
000180: 20 20 6E 65 77 0D 0A 20 20 20 20 20 20 20 62 6F new.. bo
000190: 74 74 6F 6D 20 6C 69 6E 65 2E 20 52 6F 6C 6C 69 ttom line. Rolli
0001A0: 6E 67 20 74 68 65 20 61 72 65 61 20 64 6F 77 6E ng the area down
0001B0: 77 61 72 64 73 20 6D 6F 76 65 73 20 74 68 65 20 wards moves the
0001C0: 61 72 65 61 20 20 63 6F 6E 74 65 6E 74 73 20 20 area contents
0001D0: 64 6F 77 6E 0D 0A 20 20 20 20 20 20 20 63 6C 65 down.. cle
0001E0: 61 72 73 20 74 68 65 20 74 6F 70 20 6E 65 77 20 ars the top new
0001F0: 6C 69 6E 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 line.....
Size : 512 (Real : 512)
000000: 54 68 65 20 6C 69 6E 65 20 69 73 20 63 6C 65 61 The line is clea
000010: 72 65 64 20 62 79 20 77 72 69 74 69 6E 67 20 74 red by writing t
000020: 6F 20 69 74 20 64 69 72 65 63 74 6C 79 3B 20 74 o it directly; t
000030: 68 65 20 47 72 61 70 68 69 63 73 20 56 44 55 20 he Graphics VDU
000040: 20 77 72 69 74 65 0D 0A 20 20 20 20 20 20 20 6D write.. m
000050: 6F 64 65 20 69 73 20 69 67 6E 6F 72 65 64 2E 0D ode is ignored..
000060: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 54 65 ... The Te
000070: 78 74 20 56 44 55 20 72 6F 6C 6C 20 63 6F 75 6E xt VDU roll coun
000080: 74 20 69 73 20 6E 6F 74 20 63 68 61 6E 67 65 64 t is not changed
000090: 20 62 79 20 74 68 69 73 20 72 6F 75 74 69 6E 65 by this routine
0000A0: 20 20 28 73 65 65 20 20 54 58 54 20 20 47 45 54 (see TXT GET
0000B0: 0D 0A 20 20 20 20 20 20 20 57 49 4E 44 4F 57 29 .. WINDOW)
0000C0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 53 70 65 63 ..... Spec
0000D0: 69 61 6C 20 70 72 65 63 61 75 74 69 6F 6E 73 20 ial precautions
0000E0: 61 72 65 20 74 61 6B 65 6E 20 74 6F 20 6D 61 6B are taken to mak
0000F0: 65 20 73 75 72 65 20 74 68 61 74 20 20 74 68 65 e sure that the
000100: 20 20 73 63 72 65 65 6E 20 20 69 73 20 20 6B 65 screen is ke
000110: 70 74 0D 0A 20 20 20 20 20 20 20 6C 6F 6F 6B 69 pt.. looki
000120: 6E 67 20 70 72 65 73 65 6E 74 61 62 6C 65 20 64 ng presentable d
000130: 75 72 69 6E 67 20 74 68 65 20 72 6F 6C 6C 69 6E uring the rollin
000140: 67 2E 0D 0A 20 20 20 20 20 20 20 50 72 69 6E 63 g... Princ
000150: 69 70 61 6C 6C 79 20 74 68 69 73 20 63 6F 6E 73 ipally this cons
000160: 69 73 74 73 20 77 61 69 74 69 6E 67 20 66 6F 72 ists waiting for
000170: 20 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 62 frame flyback b
000180: 65 66 6F 72 65 20 20 70 65 72 66 6F 72 6D 69 6E efore performin
000190: 67 0D 0A 20 20 20 20 20 20 20 74 68 65 20 63 6F g.. the co
0001A0: 70 79 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 py..... Re
0001B0: 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A lated entries:..
0001C0: 0D 0A 20 20 20 20 20 20 20 53 43 52 20 48 57 20 .. SCR HW
0001D0: 52 4F 4C 4C 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ROLL.... A
0001E0: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
0001F0: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
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 20 20 20 20 20 20 20 70 61 67 65 20 31 page 1
000020: 35 2E 31 31 37 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 5.117...........
000030: 0A 0D 0A 20 20 20 20 20 20 20 31 31 33 3A 20 53 ... 113: S
000040: 43 52 20 55 4E 50 41 43 4B 20 20 20 20 20 20 20 CR UNPACK
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 20 20 20 20 20 20 20 20
000070: 20 20 20 20 20 20 20 20 20 20 20 23 42 43 35 33 #BC53
000080: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 70 ...... Exp
000090: 61 6E 64 20 61 20 63 68 61 72 61 63 74 65 72 20 and a character
0000A0: 6D 61 74 72 69 78 20 66 6F 72 20 74 68 65 20 63 matrix for the c
0000B0: 75 72 72 65 6E 74 20 73 63 72 65 65 6E 20 6D 6F urrent screen mo
0000C0: 64 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 de.......
0000D0: 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 Action:......
0000E0: 20 20 20 20 43 6F 6E 76 65 72 74 20 61 20 6D 61 Convert a ma
0000F0: 74 72 69 78 20 66 72 6F 6D 20 69 74 73 20 73 74 trix from its st
000100: 61 6E 64 61 72 64 20 66 6F 72 6D 20 74 6F 20 61 andard form to a
000110: 20 73 65 74 20 20 6F 66 20 20 70 69 78 65 6C 20 set of pixel
000120: 20 6D 61 73 6B 73 20 20 61 73 0D 0A 20 20 20 20 masks as..
000130: 20 20 20 61 70 70 72 6F 70 72 69 61 74 65 20 66 appropriate f
000140: 6F 72 20 74 68 65 20 63 75 72 72 65 6E 74 20 73 or the current s
000150: 63 72 65 65 6E 20 6D 6F 64 65 2E 0D 0A 0D 0A 0D creen mode......
000160: 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F . Entry co
000170: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 nditions:......
000180: 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E HL contain
000190: 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 s the address of
0001A0: 20 61 20 6D 61 74 72 69 78 2E 0D 0A 20 20 20 20 a matrix...
0001B0: 20 20 20 44 45 20 63 6F 6E 74 61 69 6E 73 20 74 DE contains t
0001C0: 68 65 20 61 64 64 72 65 73 73 20 6F 66 20 61 6E he address of an
0001D0: 20 61 72 65 61 20 74 6F 20 75 6E 70 61 63 6B 20 area to unpack
0001E0: 69 6E 74 6F 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 into.......
0001F0: 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E Exit condition
Size : 512 (Real : 512)
000000: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 s:...... A
000010: 46 2C 20 42 43 2C 20 44 45 20 61 6E 64 20 48 4C F, BC, DE and HL
000020: 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 corrupt...
000030: 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 All other regi
000040: 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E sters preserved.
000050: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 ...... Not
000060: 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 es:......
000070: 54 68 65 20 6D 61 74 72 69 78 20 69 73 20 63 6F The matrix is co
000080: 6E 76 65 72 74 65 64 20 69 6E 74 6F 20 61 20 73 nverted into a s
000090: 65 72 69 65 73 20 6F 66 20 6D 61 73 6B 73 20 20 eries of masks
0000A0: 77 68 69 63 68 20 20 63 6F 76 65 72 20 20 61 6C which cover al
0000B0: 6C 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 73 l the.. s
0000C0: 63 72 65 65 6E 20 62 79 74 65 73 20 69 6E 20 74 creen bytes in t
0000D0: 68 65 20 63 68 61 72 61 63 74 65 72 2E 20 54 68 he character. Th
0000E0: 69 73 20 6D 65 61 6E 73 20 74 68 61 74 20 65 61 is means that ea
0000F0: 63 68 20 62 79 74 65 20 6F 66 20 74 68 65 20 6D ch byte of the m
000100: 61 74 72 69 78 0D 0A 20 20 20 20 20 20 20 69 73 atrix.. is
000110: 20 63 6F 6E 76 65 72 74 65 64 20 74 6F 20 34 20 converted to 4
000120: 62 79 74 65 73 20 69 6E 20 6D 6F 64 65 20 30 2C bytes in mode 0,
000130: 20 32 20 62 79 74 65 73 20 69 6E 20 6D 6F 64 65 2 bytes in mode
000140: 20 31 20 20 61 6E 64 20 20 31 20 20 62 79 74 65 1 and 1 byte
000150: 20 20 69 6E 0D 0A 20 20 20 20 20 20 20 6D 6F 64 in.. mod
000160: 65 20 32 2E 20 54 68 75 73 20 74 68 65 20 75 6E e 2. Thus the un
000170: 70 61 63 6B 69 6E 67 20 61 72 65 61 20 6D 75 73 packing area mus
000180: 74 20 62 65 20 33 32 2C 20 31 36 20 6F 72 20 38 t be 32, 16 or 8
000190: 20 62 79 74 65 73 20 6C 6F 6E 67 2E 0D 0A 0D 0A bytes long.....
0001A0: 0D 0A 20 20 20 20 20 20 20 49 66 20 61 20 62 69 .. If a bi
0001B0: 74 20 69 6E 20 74 68 65 20 6D 61 74 72 69 78 20 t in the matrix
0001C0: 69 73 20 73 65 74 20 20 74 68 65 6E 20 20 74 68 is set then th
0001D0: 65 20 20 61 70 70 72 6F 70 72 69 61 74 65 20 20 e appropriate
0001E0: 70 69 78 65 6C 20 20 6D 61 73 6B 20 20 69 73 0D pixel mask is.
0001F0: 0A 20 20 20 20 20 20 20 69 6E 63 6C 75 64 65 64 . included
Size : 512 (Real : 512)
000000: 20 69 6E 20 74 68 65 20 75 6E 70 61 63 6B 65 64 in the unpacked
000010: 20 76 65 72 73 69 6F 6E 20 28 74 68 65 20 62 69 version (the bi
000020: 74 73 20 61 72 65 20 73 65 74 20 74 6F 20 6F 6E ts are set to on
000030: 65 29 2E 20 20 4F 74 68 65 72 77 69 73 65 0D 0A e). Otherwise..
000040: 20 20 20 20 20 20 20 74 68 65 20 70 69 78 65 6C the pixel
000050: 20 6D 61 73 6B 20 69 73 20 6E 6F 74 20 69 6E 63 mask is not inc
000060: 6C 75 64 65 64 20 69 6E 20 74 68 65 20 75 6E 70 luded in the unp
000070: 61 63 6B 65 64 20 76 65 72 73 69 6F 6E 20 28 74 acked version (t
000080: 68 65 20 20 62 69 74 73 20 20 61 72 65 0D 0A 20 he bits are..
000090: 20 20 20 20 20 20 73 65 74 20 74 6F 20 7A 65 72 set to zer
0000A0: 6F 29 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 o).........
0000B0: 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 Related entrie
0000C0: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 s:...... S
0000D0: 43 52 20 52 45 50 41 43 4B 0D 0A 0D 0A 0D 0A 0D CR REPACK.......
0000E0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000F0: 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 ... AMSTRA
000100: 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 D CPC464/664/612
000110: 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 8 FIRMWARE
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 20 20 20 70 61 67 65 20 31 35 2E 31 31 38 page 15.118
000140: 0D 0A 1A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000150: 20 20 20 20 23 42 43 33 35 0D 0A 0D 0A 0D 0A 20 #BC35......
000160: 20 20 20 20 20 20 41 73 6B 20 74 68 65 20 63 6F Ask the co
000170: 6C 6F 75 72 73 20 61 6E 20 69 6E 6B 20 69 73 20 lours an ink is
000180: 74 20 62 65 20 33 32 2C 20 31 36 20 6F 72 20 38 t be 32, 16 or 8
000190: 20 62 79 74 65 73 20 6C 6F 6E 67 2E 0D 0A 0D 0A bytes long.....
0001A0: 0D 0A 20 20 20 20 20 20 20 49 66 20 61 20 62 69 .. If a bi
0001B0: 74 20 69 6E 20 74 68 65 20 6D 61 74 72 69 78 20 t in the matrix
0001C0: 69 73 20 73 65 74 20 20 74 68 65 6E 20 20 74 68 is set then th
0001D0: 65 20 20 61 70 70 72 6F 70 72 69 61 74 65 20 20 e appropriate
0001E0: 70 69 78 65 6C 20 20 6D 61 73 6B 20 20 69 73 0D pixel mask is.
0001F0: 0A 20 20 20 20 20 20 20 69 6E 63 6C 75 64 65 64 . included
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 33 32 3A 20 54 58 54 20 52 44 20 43 48 32: TXT RD CH
000020: 41 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 AR
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 42 36 30 0D 0A 0D 0A 20 20 20 #BB60....
000060: 20 20 20 20 52 65 61 64 20 61 20 63 68 61 72 61 Read a chara
000070: 63 74 65 72 20 66 72 6F 6D 20 74 68 65 20 73 63 cter from the sc
000080: 72 65 65 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 reen.....
000090: 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 Action:....
0000A0: 20 20 52 65 61 64 20 61 20 63 68 61 72 61 63 74 Read a charact
0000B0: 65 72 20 66 72 6F 6D 20 20 74 68 65 20 20 73 63 er from the sc
0000C0: 72 65 65 6E 20 20 61 74 20 20 74 68 65 20 20 63 reen at the c
0000D0: 75 72 73 6F 72 20 20 70 6F 73 69 74 69 6F 6E 20 ursor position
0000E0: 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 of the..
0000F0: 20 63 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 currently selec
000100: 74 65 64 20 73 74 72 65 61 6D 2E 0D 0A 0D 0A 20 ted stream.....
000110: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
000120: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 itions:....
000130: 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E No conditions.
000140: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
000150: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 conditions:....
000160: 20 20 20 20 20 20 49 66 20 61 20 72 65 63 6F 67 If a recog
000170: 6E 69 73 61 62 6C 65 20 63 68 61 72 61 63 74 65 nisable characte
000180: 72 20 77 61 73 20 66 6F 75 6E 64 3A 0D 0A 20 20 r was found:..
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 Ca
0001A0: 72 72 79 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 rry true...
0001B0: 20 20 20 20 20 20 20 20 20 20 20 41 20 63 6F 6E A con
0001C0: 74 61 69 6E 73 20 74 68 65 20 63 68 61 72 61 63 tains the charac
0001D0: 74 65 72 20 72 65 61 64 2E 0D 0A 0D 0A 20 20 20 ter read.....
0001E0: 20 20 20 20 49 66 20 6E 6F 20 72 65 63 6F 67 6E If no recogn
0001F0: 69 73 61 62 6C 65 20 63 68 61 72 61 63 74 65 72 isable character
Size : 512 (Real : 512)
000000: 20 77 61 73 20 66 6F 75 6E 64 3A 0D 0A 20 20 20 was found:..
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 Car
000020: 72 79 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 ry false...
000030: 20 20 20 20 20 20 20 20 20 20 20 41 20 63 6F 6E A con
000040: 74 61 69 6E 73 20 7A 65 72 6F 2E 0D 0A 0D 0A 20 tains zero.....
000050: 20 20 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 0D Always:...
000060: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
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 0A 20 20 20 20 20 20 20 20 20 rupt...
000090: 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 All other
0000A0: 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 registers prese
0000B0: 72 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 rved.....
0000C0: 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 Notes:....
0000D0: 20 49 6E 20 56 31 2E 31 20 66 69 72 6D 77 61 72 In V1.1 firmwar
0000E0: 65 20 74 68 65 20 63 75 72 73 6F 72 20 20 70 6F e the cursor po
0000F0: 73 69 74 69 6F 6E 20 20 69 73 20 20 66 6F 72 63 sition is forc
000100: 65 64 20 20 6C 65 67 61 6C 20 20 28 69 6E 73 69 ed legal (insi
000110: 64 65 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 de the..
000120: 77 69 6E 64 6F 77 29 20 62 65 66 6F 72 65 20 74 window) before t
000130: 68 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 he character is
000140: 72 65 61 64 2E 20 54 68 69 73 20 6D 61 79 20 20 read. This may
000150: 63 61 75 73 65 20 20 74 68 65 20 20 73 63 72 65 cause the scre
000160: 65 6E 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 72 en to.. r
000170: 6F 6C 6C 2E 20 54 68 65 20 73 61 6D 65 20 69 73 oll. The same is
000180: 20 6E 6F 74 20 74 72 75 65 20 69 6E 20 56 31 2E not true in V1.
000190: 30 20 66 69 72 6D 77 61 72 65 20 77 68 65 72 65 0 firmware where
0001A0: 20 74 68 65 20 63 75 72 73 6F 72 20 20 70 6F 73 the cursor pos
0001B0: 69 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 69 73 ition.. is
0001C0: 20 6E 6F 74 20 20 66 6F 72 63 65 64 20 20 6C 65 not forced le
0001D0: 67 61 6C 20 20 61 6E 64 20 20 73 74 65 70 73 20 gal and steps
0001E0: 20 6D 75 73 74 20 20 62 65 20 20 74 61 6B 65 6E must be taken
0001F0: 20 20 74 6F 20 20 61 76 6F 69 64 20 20 72 65 61 to avoid rea
Size : 512 (Real : 512)
000000: 64 69 6E 67 0D 0A 20 20 20 20 20 20 20 63 68 61 ding.. cha
000010: 72 61 63 74 65 72 73 20 66 72 6F 6D 20 6F 75 74 racters from out
000020: 73 69 64 65 20 74 68 65 20 77 69 6E 64 6F 77 2E side the window.
000030: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 72 .... The r
000040: 65 61 64 20 69 73 20 70 65 72 66 6F 72 6D 65 64 ead is performed
000050: 20 62 79 20 63 6F 6D 70 61 72 69 6E 67 20 74 68 by comparing th
000060: 65 20 6D 61 74 72 69 78 20 66 6F 75 6E 64 20 6F e matrix found o
000070: 6E 20 74 68 65 20 73 63 72 65 65 6E 20 77 69 74 n the screen wit
000080: 68 0D 0A 20 20 20 20 20 20 20 74 68 65 20 6D 61 h.. the ma
000090: 74 72 69 63 65 73 20 75 73 65 64 20 74 6F 20 67 trices used to g
0000A0: 65 6E 65 72 61 74 65 20 20 63 68 61 72 61 63 74 enerate charact
0000B0: 65 72 73 2E 20 20 41 73 20 20 61 20 20 72 65 73 ers. As a res
0000C0: 75 6C 74 20 20 63 68 61 6E 67 69 6E 67 20 20 61 ult changing a
0000D0: 0D 0A 20 20 20 20 20 20 20 63 68 61 72 61 63 74 .. charact
0000E0: 65 72 20 6D 61 74 72 69 78 2C 20 63 68 61 6E 67 er matrix, chang
0000F0: 69 6E 67 20 74 68 65 20 70 65 6E 20 6F 72 20 20 ing the pen or
000100: 70 61 70 65 72 20 20 69 6E 6B 73 2C 20 20 6F 72 paper inks, or
000110: 20 20 63 68 61 6E 67 69 6E 67 20 20 74 68 65 0D changing the.
000120: 0A 20 20 20 20 20 20 20 73 63 72 65 65 6E 20 28 . screen (
000130: 65 2E 67 2E 20 20 64 72 61 77 69 6E 67 20 20 61 e.g. drawing a
000140: 20 20 6C 69 6E 65 20 20 74 68 72 6F 75 67 68 20 line through
000150: 20 61 20 20 63 68 61 72 61 63 74 65 72 29 20 20 a character)
000160: 6D 61 79 20 20 6D 61 6B 65 20 20 74 68 65 0D 0A may make the..
000170: 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 character
000180: 20 75 6E 72 65 61 64 61 62 6C 65 2E 0D 0A 0D 0A unreadable.....
000190: 20 20 20 20 20 20 20 54 6F 20 61 63 74 75 61 6C To actual
0001A0: 6C 79 20 72 65 61 64 20 20 74 68 65 20 20 63 68 ly read the ch
0001B0: 61 72 61 63 74 65 72 20 20 66 72 6F 6D 20 20 74 aracter from t
0001C0: 68 65 20 20 73 63 72 65 65 6E 20 20 74 68 65 20 he screen the
0001D0: 20 54 58 54 20 20 55 4E 57 52 49 54 45 0D 0A 20 TXT UNWRITE..
0001E0: 20 20 20 20 20 20 69 6E 64 69 72 65 63 74 69 6F indirectio
0001F0: 6E 20 69 73 20 63 61 6C 6C 65 64 2E 0D 0A 0D 0A n is called.....
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 53 70 65 63 69 61 6C 20 20 Special
000010: 70 72 65 63 61 75 74 69 6F 6E 73 20 20 61 72 65 precautions are
000020: 20 20 74 61 6B 65 6E 20 20 61 67 61 69 6E 73 74 taken against
000030: 20 20 67 65 6E 65 72 61 74 69 6E 67 20 20 69 6E generating in
000040: 76 65 72 73 65 20 20 20 73 70 61 63 65 0D 0A 20 verse space..
000050: 20 20 20 20 20 20 28 63 68 61 72 61 63 74 65 72 (character
000060: 20 23 38 46 29 2E 20 49 6E 69 74 69 61 6C 6C 79 #8F). Initially
000070: 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 69 the character i
000080: 73 20 20 72 65 61 64 20 20 61 73 73 75 6D 69 6E s read assumin
000090: 67 20 20 74 68 61 74 20 20 74 68 65 0D 0A 20 20 g that the..
0000A0: 20 20 20 20 20 62 61 63 6B 67 72 6F 75 6E 64 20 background
0000B0: 74 6F 20 74 68 65 20 63 68 61 72 61 63 74 65 72 to the character
0000C0: 20 77 61 73 20 77 72 69 74 74 65 6E 20 69 6E 20 was written in
0000D0: 74 68 65 20 63 75 72 72 65 6E 74 20 70 61 70 65 the current pape
0000E0: 72 20 20 69 6E 6B 20 20 61 6E 64 0D 0A 20 20 20 r ink and..
0000F0: 20 20 20 20 74 72 65 61 74 69 6E 67 20 61 6E 79 treating any
000100: 20 6F 74 68 65 72 20 69 6E 6B 20 61 73 20 66 6F other ink as fo
000110: 72 65 67 72 6F 75 6E 64 2E 20 49 66 20 20 74 68 reground. If th
000120: 69 73 20 20 66 61 69 6C 73 20 20 74 6F 20 20 67 is fails to g
000130: 65 6E 65 72 61 74 65 20 20 61 0D 0A 20 20 20 20 enerate a..
000140: 20 20 20 72 65 63 6F 67 6E 69 73 61 62 6C 65 20 recognisable
000150: 63 68 61 72 61 63 74 65 72 20 6F 72 20 69 74 20 character or it
000160: 67 65 6E 65 72 61 74 65 73 20 69 6E 76 65 72 73 generates invers
000170: 65 20 73 70 61 63 65 20 74 68 65 6E 20 61 6E 6F e space then ano
000180: 74 68 65 72 20 20 74 72 79 0D 0A 20 20 20 20 20 ther try..
000190: 20 20 69 73 20 6D 61 64 65 20 62 79 20 61 73 73 is made by ass
0001A0: 75 6D 69 6E 67 20 74 68 61 74 20 74 68 65 20 66 uming that the f
0001B0: 6F 72 65 67 72 6F 75 6E 64 20 74 6F 20 74 68 65 oreground to the
0001C0: 20 63 68 61 72 61 63 74 65 72 20 20 77 61 73 20 character was
0001D0: 20 77 72 69 74 74 65 6E 0D 0A 20 20 20 20 20 20 written..
0001E0: 20 69 6E 20 74 68 65 20 63 75 72 72 65 6E 74 20 in the current
0001F0: 70 65 6E 20 69 6E 6B 20 61 6E 64 20 74 72 65 61 pen ink and trea
Size : 512 (Real : 512)
000000: 74 69 6E 67 20 61 6E 79 20 6F 74 68 65 72 20 69 ting any other i
000010: 6E 6B 20 61 73 20 62 61 63 6B 67 72 6F 75 6E 64 nk as background
000020: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
000030: 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 73 characters are s
000040: 63 61 6E 6E 65 64 20 73 74 61 72 74 69 6E 67 20 canned starting
000050: 77 69 74 68 20 23 30 30 20 61 6E 64 20 66 69 6E with #00 and fin
000060: 69 73 68 69 6E 67 20 77 69 74 68 20 23 46 46 2E ishing with #FF.
000070: 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 .... Relat
000080: 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 20 20 20 ed entries:..
000090: 20 20 20 20 54 58 54 20 55 4E 57 52 49 54 45 0D TXT UNWRITE.
0000A0: 0A 20 20 20 20 20 20 20 54 58 54 20 57 52 20 43 . TXT WR C
0000B0: 48 41 52 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D HAR.... AM
0000C0: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
0000D0: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 /6128 FIRMWARE
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 70 61 67 65 20 31 page 1
000100: 35 2E 33 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 5.34............
000110: 0D 0A 20 20 20 20 20 20 20 33 33 3A 20 54 58 54 .. 33: TXT
000120: 20 53 45 54 20 47 52 41 50 48 49 43 20 20 20 20 SET GRAPHIC
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 20 20 20 20 20
000150: 20 20 20 20 20 20 20 20 20 20 23 42 42 36 33 0D #BB63.
000160: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 75 72 6E ..... Turn
000170: 20 6F 6E 20 6F 72 20 6F 66 66 20 74 68 65 20 47 on or off the G
000180: 72 61 70 68 69 63 73 20 56 44 55 20 77 72 69 74 raphics VDU writ
000190: 65 20 63 68 61 72 61 63 74 65 72 20 6F 70 74 69 e character opti
0001A0: 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 on.......
0001B0: 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 Action:....
0001C0: 20 20 45 6E 61 62 6C 65 20 6F 72 20 64 69 73 61 Enable or disa
0001D0: 62 6C 65 20 67 72 61 70 68 69 63 20 63 68 61 72 ble graphic char
0001E0: 61 63 74 65 72 20 77 72 69 74 69 6E 67 20 6F 6E acter writing on
0001F0: 20 74 68 65 20 63 75 72 72 65 6E 74 6C 79 20 20 the currently
Size : 512 (Real : 512)
000000: 73 65 6C 65 63 74 65 64 0D 0A 20 20 20 20 20 20 selected..
000010: 20 73 74 72 65 61 6D 2E 0D 0A 0D 0A 0D 0A 20 20 stream.......
000020: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
000030: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
000040: 20 20 20 49 66 20 67 72 61 70 68 69 63 20 77 72 If graphic wr
000050: 69 74 69 6E 67 20 69 73 20 74 6F 20 62 65 20 74 iting is to be t
000060: 75 72 6E 65 64 20 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 urned on:......
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 A
000080: 20 6D 75 73 74 20 62 65 20 6E 6F 6E 2D 7A 65 72 must be non-zer
000090: 6F 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 o....... I
0000A0: 66 20 74 68 65 20 67 72 61 70 68 69 63 20 77 72 f the graphic wr
0000B0: 69 74 69 6E 67 20 69 73 20 74 6F 20 62 65 20 74 iting is to be t
0000C0: 75 72 6E 65 64 20 6F 66 66 3A 0D 0A 0D 0A 0D 0A urned off:......
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 41 20 6D 75 73 74 20 63 6F 6E 74 61 69 6E 20 7A A must contain z
0000F0: 65 72 6F 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ero.......
000100: 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 Exit conditions
000110: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 :...... AF
000120: 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 corrupt...
000130: 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 All other regi
000140: 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E sters preserved.
000150: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 ...... Not
000160: 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 es:......
000170: 57 68 65 6E 20 67 72 61 70 68 69 63 20 63 68 61 When graphic cha
000180: 72 61 63 74 65 72 20 77 72 69 74 69 6E 67 20 69 racter writing i
000190: 73 20 65 6E 61 62 6C 65 64 20 74 68 65 6E 20 61 s enabled then a
0001A0: 6C 6C 20 63 68 61 72 61 63 74 65 72 73 20 73 65 ll characters se
0001B0: 6E 74 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 54 nt to.. T
0001C0: 58 54 20 4F 55 54 50 55 54 20 61 72 65 20 70 72 XT OUTPUT are pr
0001D0: 69 6E 74 65 64 20 75 73 69 6E 67 20 74 68 65 20 inted using the
0001E0: 47 72 61 70 68 69 63 73 20 56 44 55 20 28 73 65 Graphics VDU (se
0001F0: 65 20 47 52 41 20 57 52 20 43 48 41 52 29 20 72 e GRA WR CHAR) r
Size : 512 (Real : 512)
000000: 61 74 68 65 72 0D 0A 20 20 20 20 20 20 20 74 68 ather.. th
000010: 65 6E 20 74 68 65 20 54 65 78 74 20 56 44 55 20 en the Text VDU
000020: 28 73 65 65 20 54 58 54 20 20 57 52 20 20 43 48 (see TXT WR CH
000030: 41 52 29 2E 20 20 41 6C 73 6F 20 20 61 6C 6C 20 AR). Also all
000040: 20 63 6F 6E 74 72 6F 6C 20 20 63 6F 64 65 73 20 control codes
000050: 20 61 72 65 0D 0A 20 20 20 20 20 20 20 70 72 69 are.. pri
000060: 6E 74 65 64 20 72 61 74 68 65 72 20 74 68 61 6E nted rather than
000070: 20 6F 62 65 79 65 64 2E 20 43 68 61 72 61 63 74 obeyed. Charact
000080: 65 72 73 20 73 65 6E 74 20 74 6F 20 54 58 54 20 ers sent to TXT
000090: 20 57 52 20 20 43 48 41 52 20 20 77 69 6C 6C 20 WR CHAR will
0000A0: 20 62 65 0D 0A 20 20 20 20 20 20 20 70 72 69 6E be.. prin
0000B0: 74 65 64 20 61 73 20 6E 6F 72 6D 61 6C 2E 0D 0A ted as normal...
0000C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 43 68 61 72 61 .... Chara
0000D0: 63 74 65 72 20 70 72 69 6E 74 69 6E 67 20 69 73 cter printing is
0000E0: 20 6E 6F 74 20 70 72 65 76 65 6E 74 65 64 20 62 not prevented b
0000F0: 79 20 64 69 73 61 62 6C 69 6E 67 20 74 68 65 20 y disabling the
000100: 20 54 65 78 74 20 20 56 44 55 20 20 28 77 69 74 Text VDU (wit
000110: 68 0D 0A 20 20 20 20 20 20 20 54 58 54 20 56 44 h.. TXT VD
000120: 55 20 44 49 53 41 42 4C 45 29 20 69 66 20 67 72 U DISABLE) if gr
000130: 61 70 68 69 63 20 63 68 61 72 61 63 74 65 72 20 aphic character
000140: 77 72 69 74 69 6E 67 20 69 73 20 65 6E 61 62 6C writing is enabl
000150: 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ed.......
000160: 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A Related entries:
000170: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 ........ G
000180: 52 41 20 57 52 20 43 48 41 52 0D 0A 20 20 20 20 RA WR CHAR..
000190: 20 20 20 54 58 54 20 4F 55 54 50 55 54 0D 0A 0D TXT OUTPUT...
0001A0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
0001B0: 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 AMSTRAD CPC464/6
0001C0: 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 64/6128 FIRMWARE
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 page
0001F0: 20 31 35 2E 33 35 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 15.35..........
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 20 20 33 34 3A 20 54 .... 34: T
000010: 58 54 20 57 49 4E 20 45 4E 41 42 4C 45 20 20 20 XT WIN ENABLE
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 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 23 42 42 36 #BB6
000050: 36 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 6...... Se
000060: 74 20 74 68 65 20 73 69 7A 65 20 6F 66 20 74 68 t the size of th
000070: 65 20 63 75 72 72 65 6E 74 20 74 65 78 74 20 77 e current text w
000080: 69 6E 64 6F 77 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 indow.......
000090: 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A Action:......
0000A0: 20 20 20 20 20 20 20 53 65 74 20 74 68 65 20 62 Set the b
0000B0: 6F 75 6E 64 61 72 69 65 73 20 6F 66 20 74 68 65 oundaries of the
0000C0: 20 77 69 6E 64 6F 77 20 6F 6E 20 74 68 65 20 63 window on the c
0000D0: 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 74 65 urrently selecte
0000E0: 64 20 73 74 72 65 61 6D 2E 20 54 68 65 0D 0A 20 d stream. The..
0000F0: 20 20 20 20 20 20 65 64 67 65 73 20 61 72 65 20 edges are
000100: 74 68 65 20 66 69 72 73 74 20 61 6E 64 20 6C 61 the first and la
000110: 73 74 20 63 68 61 72 61 63 74 65 72 20 63 6F 6C st character col
000120: 75 6D 6E 73 20 69 6E 73 69 64 65 20 74 68 65 20 umns inside the
000130: 20 77 69 6E 64 6F 77 20 20 61 6E 64 0D 0A 20 20 window and..
000140: 20 20 20 20 20 74 68 65 20 66 69 72 73 74 20 61 the first a
000150: 6E 64 20 6C 61 73 74 20 63 68 61 72 61 63 74 65 nd last characte
000160: 72 20 72 6F 77 73 20 69 6E 73 69 64 65 20 74 68 r rows inside th
000170: 65 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A 0D 0A 20 e window.......
000180: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
000190: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 itions:....
0001A0: 20 20 48 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 H contains the
0001B0: 20 70 68 79 73 69 63 61 6C 20 63 6F 6C 75 6D 6E physical column
0001C0: 20 6F 66 20 6F 6E 65 20 65 64 67 65 2E 0D 0A 20 of one edge...
0001D0: 20 20 20 20 20 20 44 20 63 6F 6E 74 61 69 6E 73 D contains
0001E0: 20 74 68 65 20 70 68 79 73 69 63 61 6C 20 63 6F the physical co
0001F0: 6C 75 6D 6E 20 6F 66 20 74 68 65 20 6F 74 68 65 lumn of the othe
Size : 512 (Real : 512)
000000: 72 20 65 64 67 65 2E 0D 0A 20 20 20 20 20 20 20 r edge...
000010: 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 70 L contains the p
000020: 68 79 73 69 63 61 6C 20 72 6F 77 20 6F 66 20 6F hysical row of o
000030: 6E 65 20 65 64 67 65 2E 0D 0A 20 20 20 20 20 20 ne edge...
000040: 20 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 E contains the
000050: 70 68 79 73 69 63 61 6C 20 72 6F 77 20 6F 66 20 physical row of
000060: 74 68 65 20 6F 74 68 65 72 20 65 64 67 65 2E 0D the other edge..
000070: 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 ... Exit c
000080: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 onditions:....
000090: 20 20 20 20 20 41 46 2C 42 43 2C 44 45 20 61 6E AF,BC,DE an
0000A0: 64 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 d HL corrupt...
0000B0: 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 All other
0000C0: 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 registers preser
0000D0: 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4E ved..... N
0000E0: 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 otes:....
0000F0: 54 68 65 20 65 64 67 65 20 70 6F 73 69 74 69 6F The edge positio
000100: 6E 73 20 61 72 65 20 67 69 76 65 6E 20 69 6E 20 ns are given in
000110: 70 68 79 73 69 63 61 6C 20 73 63 72 65 65 6E 20 physical screen
000120: 63 6F 6F 72 64 69 6E 61 74 65 73 20 20 69 2E 65 coordinates i.e
000130: 2E 20 20 52 6F 77 0D 0A 20 20 20 20 20 20 20 30 . Row.. 0
000140: 2C 20 63 6F 6C 75 6D 6E 20 30 20 69 73 20 74 68 , column 0 is th
000150: 65 20 74 6F 70 20 6C 65 66 74 20 63 6F 72 6E 65 e top left corne
000160: 72 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 r of the screen
000170: 61 6E 64 20 20 74 68 65 20 20 63 6F 6F 72 64 69 and the coordi
000180: 6E 61 74 65 73 0D 0A 20 20 20 20 20 20 20 61 72 nates.. ar
000190: 65 20 73 69 67 6E 65 64 20 6E 75 6D 62 65 72 73 e signed numbers
0001A0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
0001B0: 77 69 6E 64 6F 77 20 69 73 20 74 72 75 6E 63 61 window is trunca
0001C0: 74 65 64 2C 20 69 66 20 6E 65 63 65 73 73 61 72 ted, if necessar
0001D0: 79 2C 20 73 6F 20 74 68 61 74 20 69 74 20 66 69 y, so that it fi
0001E0: 74 73 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E ts on the screen
0001F0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
Size : 512 (Real : 512)
000000: 6C 65 66 74 20 63 6F 6C 75 6D 6E 20 6F 66 20 74 left column of t
000010: 68 65 20 77 69 6E 64 6F 77 20 69 73 20 74 61 6B he window is tak
000020: 65 6E 20 74 6F 20 62 65 20 74 68 65 20 73 6D 61 en to be the sma
000030: 6C 6C 65 72 20 6F 66 20 48 20 20 61 6E 64 20 20 ller of H and
000040: 44 2E 0D 0A 20 20 20 20 20 20 20 54 68 65 20 74 D... The t
000050: 6F 70 20 72 6F 77 20 6F 66 20 74 68 65 20 77 69 op row of the wi
000060: 6E 64 6F 77 20 69 73 20 74 61 6B 65 6E 20 74 6F ndow is taken to
000070: 20 62 65 20 74 68 65 20 73 6D 61 6C 6C 65 72 20 be the smaller
000080: 6F 66 20 4C 20 61 6E 64 20 45 2E 0D 0A 0D 0A 20 of L and E.....
000090: 20 20 20 20 20 20 54 68 65 20 63 75 72 73 6F 72 The cursor
0000A0: 20 69 73 20 6D 6F 76 65 64 20 74 6F 20 74 68 65 is moved to the
0000B0: 20 74 6F 70 20 6C 65 66 74 20 63 6F 72 6E 65 72 top left corner
0000C0: 20 6F 66 20 74 68 65 20 77 69 6E 64 6F 77 2E 0D of the window..
0000D0: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 77 69 ... The wi
0000E0: 6E 64 6F 77 20 69 73 20 6E 6F 74 20 63 6C 65 61 ndow is not clea
0000F0: 72 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 red..... I
000100: 66 20 74 68 65 20 77 69 6E 64 6F 77 20 63 6F 76 f the window cov
000110: 65 72 73 20 74 68 65 20 77 68 6F 6C 65 20 73 63 ers the whole sc
000120: 72 65 65 6E 20 74 68 65 6E 20 77 68 65 6E 20 74 reen then when t
000130: 68 65 20 77 69 6E 64 6F 77 20 20 69 73 20 20 72 he window is r
000140: 6F 6C 6C 65 64 0D 0A 20 20 20 20 20 20 20 74 68 olled.. th
000150: 65 20 68 61 72 64 77 61 72 65 20 72 6F 6C 6C 20 e hardware roll
000160: 72 6F 75 74 69 6E 65 20 28 73 65 65 20 53 43 52 routine (see SCR
000170: 20 48 57 20 20 52 4F 4C 4C 29 20 20 77 69 6C 6C HW ROLL) will
000180: 20 20 62 65 20 20 75 73 65 64 2E 20 20 49 66 20 be used. If
000190: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 77 69 6E the.. win
0001A0: 64 6F 77 20 63 6F 76 65 72 73 20 6C 65 73 73 20 dow covers less
0001B0: 74 68 61 6E 20 74 68 65 20 20 77 68 6F 6C 65 20 than the whole
0001C0: 73 63 72 65 65 6E 20 74 68 65 20 20 73 6F 66 74 screen the soft
0001D0: 77 61 72 65 20 20 72 6F 6C 6C 20 20 72 6F 75 74 ware roll rout
0001E0: 69 6E 65 0D 0A 20 20 20 20 20 20 20 28 73 65 65 ine.. (see
0001F0: 20 53 43 52 20 53 57 20 52 4F 4C 4C 29 20 77 69 SCR SW ROLL) wi
Size : 512 (Real : 512)
000000: 6C 6C 20 62 65 20 75 73 65 64 2E 0D 0A 0D 0A 20 ll be used.....
000010: 20 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6C The defaul
000020: 74 20 74 65 78 74 20 77 69 6E 64 6F 77 20 63 6F t text window co
000030: 76 65 72 73 20 74 68 65 20 77 68 6F 6C 65 20 73 vers the whole s
000040: 63 72 65 65 6E 20 61 6E 64 20 69 73 20 73 65 74 creen and is set
000050: 20 75 70 20 77 68 65 6E 20 54 58 54 0D 0A 20 20 up when TXT..
000060: 20 20 20 20 20 49 4E 49 54 49 41 4C 49 53 45 20 INITIALISE
000070: 6F 72 20 53 43 52 20 53 45 54 20 4D 4F 44 45 20 or SCR SET MODE
000080: 69 73 20 63 61 6C 6C 65 64 2E 0D 0A 0D 0A 0D 0A is called.......
000090: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
0000A0: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 ntries:......
0000B0: 20 20 20 20 54 58 54 20 47 45 54 20 57 49 4E 44 TXT GET WIND
0000C0: 4F 57 0D 0A 20 20 20 20 20 20 20 54 58 54 20 56 OW.. TXT V
0000D0: 41 4C 49 44 41 54 45 0D 0A 0D 0A 0D 0A 0D 0A 0D ALIDATE.........
0000E0: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
0000F0: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000100: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 FIRMWARE
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 70 61 67 65 20 31 35 2E 33 36 0D 0A page 15.36..
000130: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000140: 20 20 20 33 35 3A 20 54 58 54 20 47 45 54 20 57 35: TXT GET W
000150: 49 4E 44 4F 57 20 20 20 20 20 20 20 20 20 20 20 INDOW
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 23 42 42 36 39 0D 0A 0D 0A 0D 0A 20 #BB69......
000190: 20 20 20 20 20 20 47 65 74 20 74 68 65 20 73 69 Get the si
0001A0: 7A 65 20 6F 66 20 74 68 65 20 63 75 72 72 65 6E ze of the curren
0001B0: 74 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A 0D 0A 20 t window.......
0001C0: 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D Action:...
0001D0: 0A 0D 0A 20 20 20 20 20 20 20 47 65 74 20 74 68 ... Get th
0001E0: 65 20 62 6F 75 6E 64 61 72 69 65 73 20 6F 66 20 e boundaries of
0001F0: 74 68 65 20 77 69 6E 64 6F 77 20 6F 6E 20 74 68 the window on th
Size : 512 (Real : 512)
000000: 65 20 63 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 e currently sele
000010: 63 74 65 64 20 73 74 72 65 61 6D 20 20 61 6E 64 cted stream and
000020: 0D 0A 20 20 20 20 20 20 20 77 68 65 74 68 65 72 .. whether
000030: 20 69 74 20 63 6F 76 65 72 73 20 74 68 65 20 77 it covers the w
000040: 68 6F 6C 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A hole screen.....
000050: 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 .. Entry c
000060: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A onditions:......
000070: 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 No condit
000080: 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions.......
000090: 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E Exit condition
0000A0: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 s:...... I
0000B0: 66 20 74 68 65 20 77 69 6E 64 6F 77 20 63 6F 76 f the window cov
0000C0: 65 72 73 20 74 68 65 20 77 68 6F 6C 65 20 73 63 ers the whole sc
0000D0: 72 65 65 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 reen:......
0000E0: 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 79 Carry
0000F0: 20 66 61 6C 73 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 false.......
000100: 20 20 20 20 49 66 20 74 68 65 20 77 69 6E 64 6F If the windo
000110: 77 20 63 6F 76 65 72 73 20 6C 65 73 73 20 74 68 w covers less th
000120: 61 6E 20 74 68 65 20 77 68 6F 6C 65 20 73 63 72 an the whole scr
000130: 65 65 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 een:....
000140: 20 20 20 20 20 20 20 20 43 61 72 72 79 20 74 72 Carry tr
000150: 75 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C ue..... Al
000160: 77 61 79 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ways:....
000170: 20 20 20 20 20 20 20 20 20 48 20 63 6F 6E 74 61 H conta
000180: 69 6E 73 20 74 68 65 20 6C 65 66 74 6D 6F 73 74 ins the leftmost
000190: 20 63 6F 6C 75 6D 6E 20 69 6E 20 74 68 65 20 77 column in the w
0001A0: 69 6E 64 6F 77 2E 0D 0A 20 20 20 20 20 20 20 20 indow...
0001B0: 20 20 20 20 20 20 20 20 44 20 63 6F 6E 74 61 69 D contai
0001C0: 6E 73 20 74 68 65 20 72 69 67 68 74 6D 6F 73 74 ns the rightmost
0001D0: 20 63 6F 6C 75 6D 6E 20 69 6E 20 74 68 65 20 77 column in the w
0001E0: 69 6E 64 6F 77 2E 0D 0A 20 20 20 20 20 20 20 20 indow...
0001F0: 20 20 20 20 20 20 20 20 4C 20 63 6F 6E 74 61 69 L contai
Size : 512 (Real : 512)
000000: 6E 73 20 74 68 65 20 74 6F 70 6D 6F 73 74 20 72 ns the topmost r
000010: 6F 77 20 69 6E 20 74 68 65 20 77 69 6E 64 6F 77 ow in the window
000020: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000030: 20 20 20 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 E contains th
000040: 65 20 62 6F 74 74 6F 6D 6D 6F 73 74 20 72 6F 77 e bottommost row
000050: 20 69 6E 20 74 68 65 20 77 69 6E 64 6F 77 2E 0D in the window..
000060: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000070: 20 20 20 41 20 63 6F 72 72 75 70 74 2E 0D 0A 20 A corrupt...
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 A
000090: 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 ll other registe
0000A0: 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D rs preserved....
0000B0: 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A . Notes:..
0000C0: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 62 6F 75 .. The bou
0000D0: 6E 64 61 72 69 65 73 20 6F 66 20 74 68 65 20 77 ndaries of the w
0000E0: 69 6E 64 6F 77 20 61 72 65 20 67 69 76 65 6E 20 indow are given
0000F0: 69 6E 20 70 68 79 73 69 63 61 6C 20 20 63 6F 6F in physical coo
000100: 72 64 69 6E 61 74 65 73 2E 20 20 69 2E 65 2E 0D rdinates. i.e..
000110: 0A 20 20 20 20 20 20 20 52 6F 77 20 30 2C 20 63 . Row 0, c
000120: 6F 6C 75 6D 6E 20 30 20 69 73 20 74 68 65 20 74 olumn 0 is the t
000130: 6F 70 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 6F op left corner o
000140: 66 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D f the screen....
000150: 0A 20 20 20 20 20 20 20 54 68 65 20 62 6F 75 6E . The boun
000160: 64 61 72 69 65 73 20 72 65 74 75 72 6E 65 64 20 daries returned
000170: 62 79 20 74 68 69 73 20 72 6F 75 74 69 6E 65 20 by this routine
000180: 6D 61 79 20 6E 6F 74 20 62 65 20 74 68 65 20 73 may not be the s
000190: 61 6D 65 20 20 61 73 20 20 74 68 6F 73 65 0D 0A ame as those..
0001A0: 20 20 20 20 20 20 20 73 65 74 20 77 68 65 6E 20 set when
0001B0: 54 58 54 20 57 49 4E 20 45 4E 41 42 4C 45 20 77 TXT WIN ENABLE w
0001C0: 61 73 20 63 61 6C 6C 65 64 20 62 65 63 61 75 73 as called becaus
0001D0: 65 20 74 68 65 20 77 69 6E 64 6F 77 20 69 73 20 e the window is
0001E0: 74 72 75 6E 63 61 74 65 64 20 20 74 6F 0D 0A 20 truncated to..
0001F0: 20 20 20 20 20 20 66 69 74 20 74 68 65 20 73 63 fit the sc
Size : 512 (Real : 512)
000000: 72 65 65 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 reen.....
000010: 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 2E Related entries.
000020: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 58 54 20 56 .... TXT V
000030: 41 4C 49 44 41 54 45 0D 0A 20 20 20 20 20 20 20 ALIDATE..
000040: 54 58 54 20 57 49 4E 20 45 4E 41 42 4C 45 0D 0A TXT WIN ENABLE..
000050: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
000060: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
000070: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 20 page
0000A0: 31 35 2E 33 37 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 15.37...........
0000B0: 0A 0D 0A 20 20 20 20 20 20 20 33 36 3A 20 54 58 ... 36: TX
0000C0: 54 20 43 4C 45 41 52 20 57 49 4E 44 4F 57 20 20 T CLEAR WINDOW
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
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 23 42 42 36 43 #BB6C
000100: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 43 6C 65 ...... Cle
000110: 61 72 20 63 75 72 72 65 6E 74 20 77 69 6E 64 6F ar current windo
000120: 77 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 w....... A
000130: 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 ction:......
000140: 20 20 20 43 6C 65 61 72 20 74 68 65 20 74 65 78 Clear the tex
000150: 74 20 77 69 6E 64 6F 77 20 6F 66 20 74 68 65 20 t window of the
000160: 63 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 74 currently select
000170: 65 64 20 73 74 72 65 61 6D 20 20 74 6F 20 20 74 ed stream to t
000180: 68 65 20 20 70 61 70 65 72 0D 0A 20 20 20 20 20 he paper..
000190: 20 20 69 6E 6B 20 6F 66 20 74 68 65 20 63 75 72 ink of the cur
0001A0: 72 65 6E 74 6C 79 20 73 65 6C 65 63 74 65 64 20 rently selected
0001B0: 73 74 72 65 61 6D 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D stream..........
0001C0: 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F . Entry co
0001D0: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 nditions:......
0001E0: 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 No conditi
0001F0: 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ons...........
Size : 512 (Real : 512)
000000: 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 Exit condit
000010: 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ions:......
000020: 20 20 41 46 2C 42 43 2C 44 45 20 61 6E 64 20 48 AF,BC,DE and H
000030: 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 L corrupt...
000040: 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 All other reg
000050: 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 isters preserved
000060: 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
000070: 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 Notes:......
000080: 20 20 20 20 20 54 68 65 20 63 75 72 73 6F 72 20 The cursor
000090: 69 73 20 6D 6F 76 65 64 20 74 6F 20 74 68 65 20 is moved to the
0000A0: 74 6F 70 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 top left corner
0000B0: 6F 66 20 74 68 65 20 77 69 6E 64 6F 77 2E 0D 0A of the window...
0000C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C ...... Rel
0000D0: 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D ated entries:...
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 47 52 41 20 43 4C ... GRA CL
0000F0: 45 41 52 20 57 49 4E 44 4F 57 0D 0A 20 20 20 20 EAR WINDOW..
000100: 20 20 20 53 43 52 20 43 4C 45 41 52 0D 0A 20 20 SCR CLEAR..
000110: 20 20 20 20 20 54 58 54 20 53 45 54 20 50 41 50 TXT SET PAP
000120: 45 52 0D 0A 20 20 20 20 20 20 20 54 58 54 20 57 ER.. TXT W
000130: 49 4E 20 45 4E 41 42 4C 45 0D 0A 0D 0A 0D 0A 0D IN ENABLE.......
000140: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000150: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 ..... AMST
000160: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
000170: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 FIRMWARE
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E page 15.
0001A0: 33 38 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 38..............
0001B0: 20 20 20 20 20 20 20 33 37 3A 20 54 58 54 20 53 37: TXT S
0001C0: 45 54 20 43 4F 4C 55 4D 4E 20 20 20 20 20 20 20 ET COLUMN
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 20 20 20 20 20 20 20 20 23 42 42 36 46 0D 0A 0D #BB6F...
Size : 512 (Real : 512)
000000: 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 20 63 75 ... Set cu
000010: 72 73 6F 72 20 68 6F 72 69 7A 6F 6E 74 61 6C 20 rsor horizontal
000020: 70 6F 73 69 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 position:......
000030: 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D Action:...
000040: 0A 0D 0A 20 20 20 20 20 20 20 4D 6F 76 65 20 74 ... Move t
000050: 68 65 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 he current posit
000060: 69 6F 6E 20 6F 66 20 74 68 65 20 63 75 72 72 65 ion of the curre
000070: 6E 74 6C 79 20 73 65 6C 65 63 74 65 64 20 73 74 ntly selected st
000080: 72 65 61 6D 20 20 74 6F 20 20 61 20 20 6E 65 77 ream to a new
000090: 0D 0A 20 20 20 20 20 20 20 63 6F 6C 75 6D 6E 2E .. column.
0000A0: 20 54 68 65 20 63 75 72 73 6F 72 20 62 6C 6F 62 The cursor blob
0000B0: 20 77 69 6C 6C 20 62 65 20 72 65 6D 6F 76 65 64 will be removed
0000C0: 20 66 72 6F 6D 20 74 68 65 20 63 75 72 72 65 6E from the curren
0000D0: 74 20 70 6F 73 69 74 69 6F 6E 20 20 61 6E 64 0D t position and.
0000E0: 0A 20 20 20 20 20 20 20 72 65 64 72 61 77 6E 20 . redrawn
0000F0: 61 74 20 74 68 65 20 6E 65 77 20 70 6F 73 69 74 at the new posit
000100: 69 6F 6E 20 28 69 66 20 74 68 65 20 63 75 72 73 ion (if the curs
000110: 6F 72 20 69 73 20 65 6E 61 62 6C 65 64 20 61 6E or is enabled an
000120: 64 20 74 75 72 6E 65 64 20 6F 6E 29 2E 0D 0A 0D d turned on)....
000130: 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 ... Entry
000140: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
000150: 0A 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 . A contai
000160: 6E 73 20 74 68 65 20 72 65 71 75 69 72 65 64 20 ns the required
000170: 6C 6F 67 69 63 61 6C 20 63 6F 6C 75 6D 6E 20 66 logical column f
000180: 6F 72 20 74 68 65 20 63 75 72 73 6F 72 2E 0D 0A or the cursor...
000190: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
0001A0: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
0001B0: 0A 20 20 20 20 20 20 20 41 46 20 61 6E 64 20 48 . AF and H
0001C0: 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 L corrupt...
0001D0: 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 All other reg
0001E0: 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 isters preserved
0001F0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ....... No
Size : 512 (Real : 512)
000000: 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 tes:......
000010: 20 54 68 65 20 72 65 71 75 69 72 65 64 20 63 6F The required co
000020: 6C 75 6D 6E 20 69 73 20 67 69 76 65 6E 20 69 6E lumn is given in
000030: 20 6C 6F 67 69 63 61 6C 20 63 6F 6F 72 64 69 6E logical coordin
000040: 61 74 65 73 2E 20 69 2E 65 2E 20 43 6F 6C 75 6D ates. i.e. Colum
000050: 6E 20 31 20 20 69 73 0D 0A 20 20 20 20 20 20 20 n 1 is..
000060: 74 68 65 20 6C 65 66 74 6D 6F 73 74 20 63 6F 6C the leftmost col
000070: 75 6D 6E 20 6F 66 20 74 68 65 20 77 69 6E 64 6F umn of the windo
000080: 77 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 w.........
000090: 20 54 68 65 20 63 75 72 73 6F 72 20 6D 61 79 20 The cursor may
0000A0: 62 65 20 6D 6F 76 65 64 20 6F 75 74 73 69 64 65 be moved outside
0000B0: 20 74 68 65 20 20 77 69 6E 64 6F 77 2E 20 20 48 the window. H
0000C0: 6F 77 20 20 65 76 65 72 2C 20 20 69 74 20 20 77 ow ever, it w
0000D0: 69 6C 6C 20 20 62 65 0D 0A 20 20 20 20 20 20 20 ill be..
0000E0: 66 6F 72 63 65 64 20 74 6F 20 6C 69 65 20 69 6E forced to lie in
0000F0: 73 69 64 65 20 74 68 65 20 77 69 6E 64 6F 77 20 side the window
000100: 62 65 66 6F 72 65 20 61 6E 79 20 63 68 61 72 61 before any chara
000110: 63 74 65 72 73 20 20 69 73 20 20 77 72 69 74 74 cters is writt
000120: 65 6E 20 20 62 79 0D 0A 0D 0A 0D 0A 0D 0A 20 20 en by........
000130: 20 20 20 20 20 74 68 65 20 54 65 78 74 20 56 44 the Text VD
000140: 55 20 28 73 65 65 20 54 58 54 20 56 41 4C 49 44 U (see TXT VALID
000150: 41 54 45 29 20 6F 72 20 74 68 65 20 63 75 72 73 ATE) or the curs
000160: 6F 72 20 62 6C 6F 62 20 69 73 20 64 72 61 77 6E or blob is drawn
000170: 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000180: 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A Related entries:
000190: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ........ T
0001A0: 58 54 20 47 45 54 20 43 55 52 53 4F 52 0D 0A 20 XT GET CURSOR..
0001B0: 20 20 20 20 20 20 54 58 54 20 53 45 54 20 43 55 TXT SET CU
0001C0: 52 53 4F 52 0D 0A 20 20 20 20 20 20 20 54 58 54 RSOR.. TXT
0001D0: 20 53 45 54 20 52 4F 57 0D 0A 0D 0A 0D 0A 0D 0A SET ROW........
0001E0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
0001F0: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
Size : 512 (Real : 512)
000000: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
000010: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
000030: 65 20 31 35 2E 33 39 0D 0A 0D 0A 0D 0A 0D 0A 0D e 15.39.........
000040: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 33 38 3A 20 ..... 38:
000050: 54 58 54 20 53 45 54 20 52 4F 57 20 20 20 20 20 TXT SET ROW
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 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 42 #BB
000090: 37 32 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 72........
0000A0: 20 53 65 74 20 63 75 72 73 6F 72 20 76 65 72 74 Set cursor vert
0000B0: 69 63 61 6C 20 70 6F 73 69 74 69 6F 6E 2E 0D 0A ical position...
0000C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 ...... Act
0000D0: 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ion:........
0000E0: 20 20 20 4D 6F 76 65 20 74 68 65 20 63 75 72 72 Move the curr
0000F0: 65 6E 74 20 70 6F 73 69 74 69 6F 6E 20 6F 66 20 ent position of
000100: 74 68 65 20 63 75 72 72 65 6E 74 6C 79 20 73 65 the currently se
000110: 6C 65 63 74 65 64 20 73 74 72 65 61 6D 20 20 74 lected stream t
000120: 6F 20 20 61 20 20 6E 65 77 0D 0A 20 20 20 20 20 o a new..
000130: 20 20 72 6F 77 2E 20 54 68 65 20 63 75 72 73 6F row. The curso
000140: 72 20 62 6C 6F 62 20 77 69 6C 6C 20 62 65 20 72 r blob will be r
000150: 65 6D 6F 76 65 64 20 66 72 6F 6D 20 20 74 68 65 emoved from the
000160: 20 20 63 75 72 72 65 6E 74 20 20 70 6F 73 69 74 current posit
000170: 69 6F 6E 20 20 61 6E 64 0D 0A 20 20 20 20 20 20 ion and..
000180: 20 72 65 64 72 61 77 6E 20 61 74 20 74 68 65 20 redrawn at the
000190: 6E 65 77 20 70 6F 73 69 74 69 6F 6E 20 28 69 66 new position (if
0001A0: 20 74 68 65 20 63 75 72 73 6F 72 20 69 73 20 65 the cursor is e
0001B0: 6E 61 62 6C 65 64 20 61 6E 64 20 74 75 72 6E 65 nabled and turne
0001C0: 64 20 6F 6E 29 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 d on).........
0001D0: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
0001E0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 tions:........
0001F0: 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 A contains
Size : 512 (Real : 512)
000000: 74 68 65 20 72 65 71 75 69 72 65 64 20 6C 6F 67 the required log
000010: 69 63 61 6C 20 72 6F 77 20 66 6F 72 20 74 68 65 ical row for the
000020: 20 63 75 72 73 6F 72 2E 0D 0A 0D 0A 0D 0A 0D 0A cursor.........
000030: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
000040: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 itions:........
000050: 20 20 20 20 20 20 41 46 20 61 6E 64 20 48 4C 20 AF and HL
000060: 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 corrupt...
000070: 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 All other regis
000080: 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D ters preserved..
000090: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ....... No
0000A0: 74 65 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 tes:........
0000B0: 20 20 20 54 68 65 20 72 65 71 75 69 72 65 64 20 The required
0000C0: 72 6F 77 20 69 73 20 67 69 76 65 6E 20 69 6E 20 row is given in
0000D0: 6C 6F 67 69 63 61 6C 20 63 6F 6F 72 64 69 6E 61 logical coordina
0000E0: 74 65 73 2E 20 69 2E 65 2E 20 52 6F 77 20 20 31 tes. i.e. Row 1
0000F0: 20 20 69 73 20 20 74 68 65 0D 0A 20 20 20 20 20 is the..
000100: 20 20 74 6F 70 6D 6F 73 74 20 72 6F 77 20 6F 66 topmost row of
000110: 20 74 68 65 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A the window.....
000120: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 63 .... The c
000130: 75 72 73 6F 72 20 6D 61 79 20 62 65 20 6D 6F 76 ursor may be mov
000140: 65 64 20 6F 75 74 73 69 64 65 20 74 68 65 20 20 ed outside the
000150: 77 69 6E 64 6F 77 2E 20 20 48 6F 77 20 20 65 76 window. How ev
000160: 65 72 2C 20 20 69 74 20 20 77 69 6C 6C 20 20 62 er, it will b
000170: 65 0D 0A 20 20 20 20 20 20 20 66 6F 72 63 65 64 e.. forced
000180: 20 74 6F 20 6C 69 65 20 69 6E 73 69 64 65 20 74 to lie inside t
000190: 68 65 20 77 69 6E 64 6F 77 20 62 65 66 6F 72 65 he window before
0001A0: 20 61 6E 79 20 63 68 61 72 61 63 74 65 72 73 20 any characters
0001B0: 20 69 73 20 20 77 72 69 74 74 65 6E 20 20 62 79 is written by
0001C0: 0D 0A 20 20 20 20 20 20 20 74 68 65 20 54 65 78 .. the Tex
0001D0: 74 20 56 44 55 20 28 73 65 65 20 54 58 54 20 56 t VDU (see TXT V
0001E0: 41 4C 49 44 41 54 45 29 20 6F 72 20 74 68 65 20 ALIDATE) or the
0001F0: 63 75 72 73 6F 72 20 62 6C 6F 62 20 69 73 20 64 cursor blob is d
Size : 512 (Real : 512)
000000: 72 61 77 6E 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 rawn.........
000010: 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 Related entr
000020: 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ies:.... T
000030: 58 54 20 47 45 54 20 43 55 52 53 4F 52 0D 0A 20 XT GET CURSOR..
000040: 20 20 20 20 20 20 54 58 54 20 53 45 54 20 43 4F TXT SET CO
000050: 4C 55 4D 4E 0D 0A 20 20 20 20 20 20 20 54 58 54 LUMN.. TXT
000060: 20 53 45 54 20 43 55 52 53 4F 52 0D 0A 0D 0A 0D SET CURSOR.....
000070: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 ..... AMST
000080: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
000090: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 FIRMWARE
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 70 61 67 65 20 31 35 2E page 15.
0000C0: 34 30 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 40..............
0000D0: 20 20 20 20 20 20 20 33 39 3A 20 54 58 54 20 53 39: TXT S
0000E0: 45 54 20 43 55 52 53 4F 52 20 20 20 20 20 20 20 ET CURSOR
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 20 20 20 20 23 42 42 37 35 0D 0A 0D #BB75...
000120: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 74 20 ..... Set
000130: 63 75 72 73 6F 72 20 70 6F 73 69 74 69 6F 6E 2E cursor position.
000140: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
000150: 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ction:........
000160: 20 20 20 20 20 4D 6F 76 65 20 74 68 65 20 63 75 Move the cu
000170: 72 72 65 6E 74 20 70 6F 73 69 74 69 6F 6E 20 6F rrent position o
000180: 66 20 74 68 65 20 63 75 72 72 65 6E 74 6C 79 20 f the currently
000190: 73 65 6C 65 63 74 65 64 20 73 74 72 65 61 6D 20 selected stream
0001A0: 20 74 6F 20 20 61 20 20 6E 65 77 0D 0A 20 20 20 to a new..
0001B0: 20 20 20 20 72 6F 77 20 61 6E 64 20 63 6F 6C 75 row and colu
0001C0: 6D 6E 2E 20 54 68 65 20 63 75 72 73 6F 72 20 62 mn. The cursor b
0001D0: 6C 6F 62 20 20 77 69 6C 6C 20 20 62 65 20 20 72 lob will be r
0001E0: 65 6D 6F 76 65 64 20 20 66 72 6F 6D 20 20 74 68 emoved from th
0001F0: 65 20 20 63 75 72 72 65 6E 74 0D 0A 20 20 20 20 e current..
Size : 512 (Real : 512)
000000: 20 20 20 70 6F 73 69 74 69 6F 6E 20 61 6E 64 20 position and
000010: 72 65 64 72 61 77 6E 20 61 74 20 74 68 65 20 6E redrawn at the n
000020: 65 77 20 70 6F 73 69 74 69 6F 6E 20 28 69 66 20 ew position (if
000030: 74 68 65 20 63 75 72 73 6F 72 20 69 73 20 65 6E the cursor is en
000040: 61 62 6C 65 64 20 61 6E 64 0D 0A 20 20 20 20 20 abled and..
000050: 20 20 74 75 72 6E 65 64 20 6F 6E 29 2E 0D 0A 0D turned on)....
000060: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
000070: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
000080: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 48 20 63 6F ..... H co
000090: 6E 74 61 69 6E 73 20 74 68 65 20 72 65 71 75 69 ntains the requi
0000A0: 72 65 64 20 6C 6F 67 69 63 61 6C 20 63 6F 6C 75 red logical colu
0000B0: 6D 6E 2E 0D 0A 20 20 20 20 20 20 20 4C 20 63 6F mn... L co
0000C0: 6E 74 61 69 6E 73 20 74 68 65 20 72 65 71 75 69 ntains the requi
0000D0: 72 65 64 20 6C 6F 67 69 63 61 6C 20 72 6F 77 2E red logical row.
0000E0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 ........ E
0000F0: 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D xit conditions:.
000100: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 20 61 ..... AF a
000110: 6E 64 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A nd HL corrupt...
000120: 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 All other
000130: 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 registers prese
000140: 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 rved.......
000150: 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 Notes:......
000160: 20 20 20 20 20 54 68 65 20 72 65 71 75 69 72 65 The require
000170: 64 20 72 6F 77 20 69 73 20 67 69 76 65 6E 20 69 d row is given i
000180: 6E 20 6C 6F 67 69 63 61 6C 20 63 6F 6F 72 64 69 n logical coordi
000190: 6E 61 74 65 73 2E 20 69 2E 65 2E 20 52 6F 77 20 nates. i.e. Row
0001A0: 20 31 2C 20 20 63 6F 6C 75 6D 6E 0D 0A 20 20 20 1, column..
0001B0: 20 20 20 20 31 20 69 73 20 74 68 65 20 74 6F 70 1 is the top
0001C0: 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 6F 66 20 left corner of
0001D0: 74 68 65 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A 0D the window......
0001E0: 0A 20 20 20 20 20 20 20 54 68 65 20 63 75 72 73 . The curs
0001F0: 6F 72 20 6D 61 79 20 62 65 20 6D 6F 76 65 64 20 or may be moved
Size : 512 (Real : 512)
000000: 6F 75 74 73 69 64 65 20 74 68 65 20 20 77 69 6E outside the win
000010: 64 6F 77 2E 20 20 48 6F 77 20 20 65 76 65 72 2C dow. How ever,
000020: 20 20 69 74 20 20 77 69 6C 6C 20 20 62 65 0D 0A it will be..
000030: 20 20 20 20 20 20 20 66 6F 72 63 65 64 20 74 6F forced to
000040: 20 6C 69 65 20 69 6E 73 69 64 65 20 74 68 65 20 lie inside the
000050: 77 69 6E 64 6F 77 20 62 65 66 6F 72 65 20 61 6E window before an
000060: 79 20 63 68 61 72 61 63 74 65 72 73 20 20 69 73 y characters is
000070: 20 20 77 72 69 74 74 65 6E 20 20 62 79 0D 0A 20 written by..
000080: 20 20 20 20 20 20 74 68 65 20 54 65 78 74 20 56 the Text V
000090: 44 55 20 28 73 65 65 20 54 58 54 20 56 41 4C 49 DU (see TXT VALI
0000A0: 44 41 54 45 29 20 6F 72 20 74 68 65 20 63 75 72 DATE) or the cur
0000B0: 73 6F 72 20 62 6C 6F 62 20 69 73 20 64 72 61 77 sor blob is draw
0000C0: 6E 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 n.........
0000D0: 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 Related entries
0000E0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 58 :...... TX
0000F0: 54 20 47 45 54 20 43 55 52 53 4F 52 0D 0A 20 20 T GET CURSOR..
000100: 20 20 20 20 20 54 58 54 20 53 45 54 20 43 4F 4C TXT SET COL
000110: 55 4D 4E 0D 0A 20 20 20 20 20 20 20 54 58 54 20 UMN.. TXT
000120: 53 45 54 20 52 4F 57 0D 0A 0D 0A 0D 0A 0D 0A 0D SET ROW.........
000130: 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 ... AMSTRA
000140: 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 D CPC464/664/612
000150: 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 8 FIRMWARE
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 34 31 page 15.41
000180: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
000190: 20 20 20 20 20 34 30 3A 20 54 58 54 20 47 45 54 40: TXT GET
0001A0: 20 43 55 52 53 4F 52 20 20 20 20 20 20 20 20 20 CURSOR
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: 20 20 20 20 20 20 23 42 42 37 38 0D 0A 0D 0A 0D #BB78.....
0001E0: 0A 20 20 20 20 20 20 20 41 73 6B 20 63 75 72 72 . Ask curr
0001F0: 65 6E 74 20 63 75 72 73 6F 72 20 70 6F 73 69 74 ent cursor posit
Size : 512 (Real : 512)
000000: 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ion.......
000010: 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 Action:......
000020: 20 20 20 20 20 47 65 74 20 74 68 65 20 63 75 72 Get the cur
000030: 72 65 6E 74 20 6C 6F 63 61 74 69 6F 6E 20 6F 66 rent location of
000040: 20 74 68 65 20 63 75 72 73 6F 72 20 61 6E 64 20 the cursor and
000050: 61 20 63 6F 75 6E 74 20 6F 66 20 20 74 68 65 20 a count of the
000060: 20 6E 75 6D 62 65 72 20 20 6F 66 0D 0A 20 20 20 number of..
000070: 20 20 20 20 74 69 6D 65 73 20 74 68 65 20 77 69 times the wi
000080: 6E 64 6F 77 20 6F 66 20 74 68 65 20 63 75 72 72 ndow of the curr
000090: 65 6E 74 6C 79 20 73 65 6C 65 63 74 65 64 20 73 ently selected s
0000A0: 74 72 65 61 6D 20 68 61 73 20 72 6F 6C 6C 65 64 tream has rolled
0000B0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E ....... En
0000C0: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D try conditions:.
0000D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 ..... No c
0000E0: 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A onditions.......
0000F0: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
000100: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
000110: 20 20 20 20 48 20 63 6F 6E 74 61 69 6E 73 20 74 H contains t
000120: 68 65 20 6C 6F 67 69 63 61 6C 20 63 75 72 73 6F he logical curso
000130: 72 20 63 6F 6C 75 6D 6E 2E 0D 0A 20 20 20 20 20 r column...
000140: 20 20 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 L contains the
000150: 20 6C 6F 67 69 63 61 6C 20 63 75 72 73 6F 72 20 logical cursor
000160: 72 6F 77 2E 0D 0A 20 20 20 20 20 20 20 41 20 63 row... A c
000170: 6F 6E 74 61 69 6E 73 20 74 68 65 20 63 75 72 72 ontains the curr
000180: 65 6E 74 20 72 6F 6C 6C 20 63 6F 75 6E 74 2E 0D ent roll count..
000190: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 46 6C 61 67 ..... Flag
0001A0: 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 s corrupt...
0001B0: 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 All other reg
0001C0: 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 isters preserved
0001D0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ....... No
0001E0: 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 tes:......
0001F0: 20 54 68 65 20 63 75 72 73 6F 72 20 70 6F 73 69 The cursor posi
Size : 512 (Real : 512)
000000: 74 69 6F 6E 20 69 73 20 67 69 76 65 6E 20 20 69 tion is given i
000010: 6E 20 20 6C 6F 67 69 63 61 6C 20 20 63 6F 6F 72 n logical coor
000020: 64 69 6E 61 74 65 73 2E 20 20 69 2E 65 2E 20 20 dinates. i.e.
000030: 52 6F 77 20 20 31 2C 0D 0A 20 20 20 20 20 20 20 Row 1,..
000040: 63 6F 6C 75 6D 6E 20 31 20 69 73 20 74 68 65 20 column 1 is the
000050: 74 6F 70 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 top left corner
000060: 6F 66 20 74 68 65 20 77 69 6E 64 6F 77 2E 0D 0A of the window...
000070: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 72 .... The r
000080: 6F 6C 6C 20 63 6F 75 6E 74 20 70 61 73 73 65 64 oll count passed
000090: 20 6F 75 74 20 68 61 73 20 6E 6F 20 61 62 73 6F out has no abso
0000A0: 6C 75 74 65 20 6D 65 61 6E 69 6E 67 2E 20 49 74 lute meaning. It
0000B0: 20 20 69 73 20 20 64 65 63 72 65 6D 65 6E 74 65 is decremente
0000C0: 64 0D 0A 20 20 20 20 20 20 20 77 68 65 6E 20 74 d.. when t
0000D0: 68 65 20 77 69 6E 64 6F 77 20 69 73 20 72 6F 6C he window is rol
0000E0: 6C 65 64 20 75 70 20 61 6E 64 20 69 73 20 69 6E led up and is in
0000F0: 63 72 65 6D 65 6E 74 65 64 20 20 77 68 65 6E 20 cremented when
000100: 20 74 68 65 20 20 77 69 6E 64 6F 77 20 20 69 73 the window is
000110: 0D 0A 20 20 20 20 20 20 20 72 6F 6C 6C 65 64 20 .. rolled
000120: 64 6F 77 6E 2E 20 49 74 20 6D 61 79 20 62 65 20 down. It may be
000130: 75 73 65 64 20 74 6F 20 64 65 74 65 72 6D 69 6E used to determin
000140: 65 20 77 68 65 74 68 65 72 20 74 68 65 20 77 69 e whether the wi
000150: 6E 64 6F 77 20 68 61 73 20 72 6F 6C 6C 65 64 0D ndow has rolled.
000160: 0A 20 20 20 20 20 20 20 62 79 20 63 6F 6D 70 61 . by compa
000170: 72 69 6E 67 20 69 74 20 77 69 74 68 20 61 20 70 ring it with a p
000180: 72 65 76 69 6F 75 73 20 76 61 6C 75 65 2E 0D 0A revious value...
000190: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 70 .... The p
0001A0: 6F 73 69 74 69 6F 6E 20 72 65 70 6F 72 74 65 64 osition reported
0001B0: 20 6D 61 79 20 6E 6F 74 20 62 65 20 69 6E 73 69 may not be insi
0001C0: 64 65 20 74 68 65 20 77 69 6E 64 6F 77 20 61 6E de the window an
0001D0: 64 20 69 73 2C 20 20 74 68 65 72 65 66 6F 72 65 d is, therefore
0001E0: 2C 0D 0A 20 20 20 20 20 20 20 6E 6F 74 20 6E 65 ,.. not ne
0001F0: 63 65 73 73 61 72 69 6C 79 20 74 68 65 20 70 6F cessarily the po
Size : 512 (Real : 512)
000000: 73 69 74 69 6F 6E 20 61 74 20 20 77 68 69 63 68 sition at which
000010: 20 20 74 68 65 20 20 6E 65 78 74 20 20 63 68 61 the next cha
000020: 72 61 63 74 65 72 20 20 77 69 6C 6C 20 20 62 65 racter will be
000030: 0D 0A 20 20 20 20 20 20 20 70 72 69 6E 74 65 64 .. printed
000040: 2E 20 55 73 65 20 54 58 54 20 56 41 4C 49 44 41 . Use TXT VALIDA
000050: 54 45 20 74 6F 20 63 68 65 63 6B 20 74 68 69 73 TE to check this
000060: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
000070: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
000080: 0D 0A 20 20 20 20 20 20 20 54 58 54 20 53 45 54 .. TXT SET
000090: 20 43 4F 4C 55 4D 4E 0D 0A 20 20 20 20 20 20 20 COLUMN..
0000A0: 54 58 54 20 53 45 54 20 43 55 52 53 4F 52 0D 0A TXT SET CURSOR..
0000B0: 20 20 20 20 20 20 20 54 58 54 20 53 45 54 20 52 TXT SET R
0000C0: 4F 57 0D 0A 20 20 20 20 20 20 20 54 58 54 20 56 OW.. TXT V
0000D0: 41 4C 49 44 41 54 45 0D 0A 0D 0A 0D 0A 0D 0A 0D ALIDATE.........
0000E0: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
0000F0: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000100: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 FIRMWARE
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 70 61 67 65 20 31 35 2E 34 32 0D 0A page 15.42..
000130: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000140: 20 20 20 34 31 3A 20 54 58 54 20 43 55 52 20 45 41: TXT CUR E
000150: 4E 41 42 4C 45 20 20 20 20 20 20 20 20 20 20 20 NABLE
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 #B
000180: 42 37 42 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 B7B......
000190: 41 6C 6C 6F 77 20 63 75 72 73 6F 72 20 64 69 73 Allow cursor dis
0001A0: 70 6C 61 79 20 2D 20 75 73 65 72 2E 0D 0A 0D 0A play - user.....
0001B0: 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A .. Action:
0001C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 6C ...... All
0001D0: 6F 77 20 74 68 65 20 63 75 72 73 6F 72 20 62 6C ow the cursor bl
0001E0: 6F 62 20 66 6F 72 20 74 68 65 20 63 75 72 72 65 ob for the curre
0001F0: 6E 74 6C 79 20 73 65 6C 65 63 74 65 64 20 73 74 ntly selected st
Size : 512 (Real : 512)
000000: 72 65 61 6D 20 74 6F 20 20 62 65 20 20 70 6C 61 ream to be pla
000010: 63 65 64 0D 0A 20 20 20 20 20 20 20 6F 6E 20 20 ced.. on
000020: 74 68 65 20 20 73 63 72 65 65 6E 2E 20 20 54 68 the screen. Th
000030: 65 20 20 63 75 72 73 6F 72 20 20 62 6C 6F 62 20 e cursor blob
000040: 20 77 69 6C 6C 20 20 62 65 20 20 70 6C 61 63 65 will be place
000050: 64 20 20 6F 6E 20 20 74 68 65 20 20 73 63 72 65 d on the scre
000060: 65 6E 0D 0A 20 20 20 20 20 20 20 69 6D 6D 65 64 en.. immed
000070: 69 61 74 65 6C 79 20 75 6E 6C 65 73 73 20 74 68 iately unless th
000080: 65 20 63 75 72 73 6F 72 20 69 73 20 74 75 72 6E e cursor is turn
000090: 65 64 20 6F 66 66 20 28 73 65 65 20 54 58 54 20 ed off (see TXT
0000A0: 43 55 52 20 4F 46 46 29 2E 0D 0A 0D 0A 0D 0A 0D CUR OFF)........
0000B0: 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F . Entry co
0000C0: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 0D nditions:.......
0000D0: 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 . No condi
0000E0: 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 tions.........
0000F0: 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 74 Exit condit
000100: 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 ions:........
000110: 20 20 20 20 41 46 20 63 6F 72 72 75 70 74 2E 0D AF corrupt..
000120: 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 . All othe
000130: 72 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 r registers pres
000140: 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 erved.........
000150: 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D Notes:.....
000160: 0A 0D 0A 20 20 20 20 20 20 20 43 75 72 73 6F 72 ... Cursor
000170: 20 65 6E 61 62 6C 69 6E 67 20 61 6E 64 20 64 69 enabling and di
000180: 73 61 62 6C 69 6E 67 20 69 73 20 69 6E 74 65 6E sabling is inten
000190: 64 65 64 20 66 6F 72 20 75 73 65 20 62 79 20 74 ded for use by t
0001A0: 68 65 20 75 73 65 72 2E 20 20 49 74 20 20 69 73 he user. It is
0001B0: 0D 0A 20 20 20 20 20 20 20 61 6C 73 6F 20 75 73 .. also us
0001C0: 65 64 20 77 68 65 6E 20 74 68 65 20 56 44 55 20 ed when the VDU
0001D0: 20 69 73 20 20 64 69 73 61 62 6C 65 64 20 20 28 is disabled (
0001E0: 54 58 54 20 20 56 44 55 20 20 45 4E 41 42 4C 45 TXT VDU ENABLE
0001F0: 20 20 61 6E 64 20 20 54 58 54 20 20 56 44 55 0D and TXT VDU.
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 44 49 53 41 42 4C 45 29 . DISABLE)
000010: 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000020: 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A Related entries:
000030: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ........ T
000040: 58 54 20 41 53 4B 20 53 54 41 54 45 0D 0A 20 20 XT ASK STATE..
000050: 20 20 20 20 20 54 58 54 20 43 55 52 20 44 49 53 TXT CUR DIS
000060: 41 42 4C 45 0D 0A 20 20 20 20 20 20 20 54 58 54 ABLE.. TXT
000070: 20 43 55 52 20 4F 4E 0D 0A 20 20 20 20 20 20 20 CUR ON..
000080: 54 58 54 20 44 52 41 57 20 43 55 52 53 4F 52 0D TXT DRAW CURSOR.
000090: 0A 20 20 20 20 20 20 20 54 58 54 20 55 4E 44 52 . TXT UNDR
0000A0: 41 57 20 43 55 52 53 4F 52 0D 0A 0D 0A 0D 0A 0D AW CURSOR.......
0000B0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
0000C0: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
0000D0: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
0000E0: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 pa
000100: 67 65 20 31 35 2E 34 33 0D 0A 0D 0A 0D 0A 0D 0A ge 15.43........
000110: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 34 32 3A ...... 42:
000120: 20 54 58 54 20 43 55 52 20 44 49 53 41 42 4C 45 TXT CUR DISABLE
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 20 20 20 20 20
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 #B
000160: 42 37 45 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 B7E......
000170: 44 69 73 73 61 6C 6C 6F 77 20 63 75 72 73 6F 72 Dissallow cursor
000180: 20 64 69 73 70 6C 61 79 20 2D 20 75 73 65 72 2E display - user.
000190: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 ...... Act
0001A0: 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ion:......
0001B0: 20 50 72 65 76 65 6E 74 20 74 68 65 20 63 75 72 Prevent the cur
0001C0: 73 6F 72 20 62 6C 6F 62 20 66 6F 72 20 74 68 65 sor blob for the
0001D0: 20 63 75 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 currently selec
0001E0: 74 65 64 20 73 74 72 65 61 6D 20 20 66 72 6F 6D ted stream from
0001F0: 20 20 62 65 69 6E 67 0D 0A 20 20 20 20 20 20 20 being..
Size : 512 (Real : 512)
000000: 70 6C 61 63 65 64 20 6F 6E 20 74 68 65 20 73 63 placed on the sc
000010: 72 65 65 6E 2E 20 54 68 65 20 63 75 72 73 6F 72 reen. The cursor
000020: 20 62 6C 6F 62 20 77 69 6C 6C 20 62 65 20 72 65 blob will be re
000030: 6D 6F 76 65 64 20 66 72 6F 6D 20 74 68 65 20 20 moved from the
000040: 73 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 69 screen.. i
000050: 6D 6D 65 64 69 61 74 65 6C 79 20 69 66 20 69 74 mmediately if it
000060: 20 69 73 20 63 75 72 72 65 6E 74 6C 79 20 74 68 is currently th
000070: 65 72 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ere.......
000080: 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E Entry condition
000090: 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E s:...... N
0000A0: 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D o conditions....
0000B0: 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 ... Exit c
0000C0: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A onditions:......
0000D0: 20 20 20 20 20 20 20 41 46 20 63 6F 72 72 75 70 AF corrup
0000E0: 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F t... All o
0000F0: 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 ther registers p
000100: 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 reserved.......
000110: 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A Notes:....
000120: 0D 0A 20 20 20 20 20 20 20 43 75 72 73 6F 72 20 .. Cursor
000130: 65 6E 61 62 6C 69 6E 67 20 61 6E 64 20 64 69 73 enabling and dis
000140: 61 62 6C 69 6E 67 20 69 73 20 69 6E 74 65 6E 64 abling is intend
000150: 65 64 20 66 6F 72 20 75 73 65 20 62 79 20 74 68 ed for use by th
000160: 65 20 75 73 65 72 2E 20 20 49 74 20 20 69 73 0D e user. It is.
000170: 0A 20 20 20 20 20 20 20 61 6C 73 6F 20 75 73 65 . also use
000180: 64 20 77 68 65 6E 20 74 68 65 20 56 44 55 20 20 d when the VDU
000190: 69 73 20 20 64 69 73 61 62 6C 65 64 20 20 28 54 is disabled (T
0001A0: 58 54 20 20 56 44 55 20 20 45 4E 41 42 4C 45 20 XT VDU ENABLE
0001B0: 20 61 6E 64 20 20 54 58 54 20 20 56 44 55 0D 0A and TXT VDU..
0001C0: 20 20 20 20 20 20 20 44 49 53 41 42 4C 45 29 2E DISABLE).
0001D0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
0001E0: 20 52 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 Related entries
0001F0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 58 :...... TX
Size : 512 (Real : 512)
000000: 54 20 41 53 4B 20 53 54 41 54 45 0D 0A 20 20 20 T ASK STATE..
000010: 20 20 20 20 54 58 54 20 43 55 52 20 45 4E 41 42 TXT CUR ENAB
000020: 4C 45 0D 0A 20 20 20 20 20 20 20 54 58 54 20 43 LE.. TXT C
000030: 55 52 20 4F 46 46 0D 0A 20 20 20 20 20 20 20 54 UR OFF.. T
000040: 58 54 20 44 52 41 57 20 43 55 52 53 4F 52 0D 0A XT DRAW CURSOR..
000050: 20 20 20 20 20 20 20 54 58 54 20 55 4E 44 52 41 TXT UNDRA
000060: 57 20 43 55 52 53 4F 52 0D 0A 0D 0A 0D 0A 0D 0A W CURSOR........
000070: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000080: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 ...... AMS
000090: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
0000A0: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 FIRMWARE
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 20 70 61 67 65 20 31 35 page 15
0000D0: 2E 34 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D .44.............
0000E0: 0A 20 20 20 20 20 20 20 34 33 3A 20 54 58 54 20 . 43: TXT
0000F0: 43 55 52 20 4F 4E 20 20 20 20 20 20 20 20 20 20 CUR ON
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 20 20 20 20 23 42 42 38 31 0D 0A #BB81..
000130: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 6C ...... All
000140: 6F 77 20 63 75 72 73 6F 72 20 64 69 73 70 6C 61 ow cursor displa
000150: 79 20 2D 20 73 79 73 74 65 6D 2E 0D 0A 0D 0A 0D y - system......
000160: 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E ... Action
000170: 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 :........
000180: 41 6C 6C 6F 77 20 74 68 65 20 63 75 72 73 6F 72 Allow the cursor
000190: 20 62 6C 6F 62 20 66 6F 72 20 74 68 65 20 63 75 blob for the cu
0001A0: 72 72 65 6E 74 6C 79 20 73 65 6C 65 63 74 65 64 rrently selected
0001B0: 20 73 74 72 65 61 6D 20 74 6F 20 20 62 65 20 20 stream to be
0001C0: 70 6C 61 63 65 64 0D 0A 20 20 20 20 20 20 20 6F placed.. o
0001D0: 6E 20 20 74 68 65 20 20 73 63 72 65 65 6E 2E 20 n the screen.
0001E0: 20 54 68 65 20 20 63 75 72 73 6F 72 20 20 62 6C The cursor bl
0001F0: 6F 62 20 20 77 69 6C 6C 20 20 62 65 20 20 70 6C ob will be pl
Size : 512 (Real : 512)
000000: 61 63 65 64 20 20 6F 6E 20 20 74 68 65 20 20 73 aced on the s
000010: 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 69 6D creen.. im
000020: 6D 65 64 69 61 74 65 6C 79 20 75 6E 6C 65 73 73 mediately unless
000030: 20 74 68 65 20 63 75 72 73 6F 72 20 69 6E 20 64 the cursor in d
000040: 69 73 61 62 6C 65 64 20 28 73 65 65 20 54 58 54 isabled (see TXT
000050: 20 43 55 52 20 44 49 53 41 42 4C 45 29 2E 0D 0A CUR DISABLE)...
000060: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 ...... Ent
000070: 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A ry conditions:..
000080: 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F .... No co
000090: 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 nditions.......
0000A0: 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 Exit condi
0000B0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
0000C0: 20 20 20 41 6C 6C 20 72 65 67 69 73 74 65 72 73 All registers
0000D0: 20 61 6E 64 20 66 6C 61 67 73 20 70 72 65 73 65 and flags prese
0000E0: 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 rved.......
0000F0: 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 Notes:......
000100: 20 20 20 20 20 54 75 72 6E 69 6E 67 20 74 68 65 Turning the
000110: 20 63 75 72 73 6F 72 20 6F 6E 20 61 6E 64 20 6F cursor on and o
000120: 66 66 20 69 73 20 69 6E 74 65 6E 64 65 64 20 66 ff is intended f
000130: 6F 72 20 75 73 65 20 62 79 20 73 79 73 74 65 6D or use by system
000140: 20 52 4F 4D 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ROMs.........
000150: 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 Related ent
000160: 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 ries:........
000170: 20 20 20 20 54 58 54 20 41 53 4B 20 53 54 41 54 TXT ASK STAT
000180: 45 0D 0A 20 20 20 20 20 20 20 54 58 54 20 43 55 E.. TXT CU
000190: 52 20 45 4E 41 42 4C 45 0D 0A 20 20 20 20 20 20 R ENABLE..
0001A0: 20 54 58 54 20 43 55 52 20 4F 46 46 0D 0A 20 20 TXT CUR OFF..
0001B0: 20 20 20 20 20 54 58 54 20 44 52 41 57 20 43 55 TXT DRAW CU
0001C0: 52 53 4F 52 0D 0A 20 20 20 20 20 20 20 54 58 54 RSOR.. TXT
0001D0: 20 55 4E 44 52 41 57 20 43 55 52 53 4F 52 0D 0A UNDRAW CURSOR..
0001E0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
0001F0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
Size : 512 (Real : 512)
000000: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
000010: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
000020: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
000040: 65 20 31 35 2E 34 35 0D 0A 1A 20 20 20 20 20 20 e 15.45...
000050: 20 20 20 20 23 42 42 36 30 0D 0A 0D 0A 20 20 20 #BB60....
000060: 20 20 20 20 52 65 61 64 20 61 20 63 68 61 72 61 Read a chara
000070: 63 74 65 72 20 66 72 6F 6D 20 74 68 65 20 73 63 cter from the sc
000080: 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 20 63 6F .... No co
000090: 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 nditions.......
0000A0: 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 69 Exit condi
0000B0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
0000C0: 20 20 20 41 6C 6C 20 72 65 67 69 73 74 65 72 73 All registers
0000D0: 20 61 6E 64 20 66 6C 61 67 73 20 70 72 65 73 65 and flags prese
0000E0: 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 rved.......
0000F0: 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 Notes:......
000100: 20 20 20 20 20 54 75 72 6E 69 6E 67 20 74 68 65 Turning the
000110: 20 63 75 72 73 6F 72 20 6F 6E 20 61 6E 64 20 6F cursor on and o
000120: 66 66 20 69 73 20 69 6E 74 65 6E 64 65 64 20 66 ff is intended f
000130: 6F 72 20 75 73 65 20 62 79 20 73 79 73 74 65 6D or use by system
000140: 20 52 4F 4D 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ROMs.........
000150: 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 Related ent
000160: 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 ries:........
000170: 20 20 20 20 54 58 54 20 41 53 4B 20 53 54 41 54 TXT ASK STAT
000180: 45 0D 0A 20 20 20 20 20 20 20 54 58 54 20 43 55 E.. TXT CU
000190: 52 20 45 4E 41 42 4C 45 0D 0A 20 20 20 20 20 20 R ENABLE..
0001A0: 20 54 58 54 20 43 55 52 20 4F 46 46 0D 0A 20 20 TXT CUR OFF..
0001B0: 20 20 20 20 20 54 58 54 20 44 52 41 57 20 43 55 TXT DRAW CU
0001C0: 52 53 4F 52 0D 0A 20 20 20 20 20 20 20 54 58 54 RSOR.. TXT
0001D0: 20 55 4E 44 52 41 57 20 43 55 52 53 4F 52 0D 0A UNDRAW CURSOR..
0001E0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
0001F0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 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: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 31 32 39 3A 20 43 41 53 20 49 4E 20 44 129: CAS IN D
000020: 49 52 45 43 54 20 20 20 20 20 20 20 20 20 20 20 IRECT
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 43 38 33 0D 0A 0D 0A 20 20 20 #BC83....
000060: 20 20 20 20 52 65 61 64 20 74 68 65 20 69 6E 70 Read the inp
000070: 75 74 20 66 69 6C 65 20 69 6E 74 6F 20 73 74 6F ut file into sto
000080: 72 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 re..... Ac
000090: 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 tion:....
0000A0: 52 65 61 64 20 74 68 65 20 69 6E 70 75 74 20 66 Read the input f
0000B0: 69 6C 65 20 64 69 72 65 63 74 6C 79 20 69 6E 74 ile directly int
0000C0: 6F 20 73 74 6F 72 65 20 69 6E 20 20 6F 6E 65 20 o store in one
0000D0: 20 67 6F 20 20 72 61 74 68 65 72 20 20 74 68 61 go rather tha
0000E0: 6E 20 20 6F 6E 65 0D 0A 20 20 20 20 20 20 20 63 n one.. c
0000F0: 68 61 72 61 63 74 65 72 20 61 74 20 61 20 74 69 haracter at a ti
000100: 6D 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E me..... En
000110: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D try conditions:.
000120: 0A 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 . HL conta
000130: 69 6E 73 20 74 68 65 20 61 64 64 72 65 73 73 20 ins the address
000140: 74 6F 20 70 75 74 20 74 68 65 20 66 69 6C 65 20 to put the file
000150: 28 61 6E 79 77 68 65 72 65 20 69 6E 20 52 41 4D (anywhere in RAM
000160: 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 )..... Exi
000170: 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D t conditions:...
000180: 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 66 . If the f
000190: 69 6C 65 20 77 61 73 20 72 65 61 64 20 4F 4B 3A ile was read OK:
0001A0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001B0: 20 20 43 61 72 72 79 20 74 72 75 65 2E 0D 0A 20 Carry true...
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A Z
0001D0: 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 ero false...
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 48 4C 20 63 HL c
0001F0: 6F 6E 74 61 69 6E 73 20 74 68 65 20 65 6E 74 72 ontains the entr
Size : 512 (Real : 512)
000000: 79 20 61 64 64 72 65 73 73 20 28 66 72 6F 6D 20 y address (from
000010: 74 68 65 20 68 65 61 64 65 72 29 2E 0D 0A 20 20 the header)...
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 A
000030: 63 6F 72 72 75 70 74 2E 0D 0A 0D 0A 20 20 20 20 corrupt.....
000040: 20 20 20 49 66 20 74 68 65 20 66 69 6C 65 20 77 If the file w
000050: 61 73 20 6E 6F 74 20 6F 70 65 6E 20 61 73 20 65 as not open as e
000060: 78 70 65 63 74 65 64 3A 0D 0A 20 20 20 20 20 20 xpected:..
000070: 20 20 20 20 20 20 20 20 20 20 43 61 72 72 79 20 Carry
000080: 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 false...
000090: 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 61 6C Zero fal
0000A0: 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 se...
0000B0: 20 20 20 20 20 49 6E 20 56 31 2E 31 3A 20 41 20 In V1.1: A
0000C0: 63 6F 6E 74 61 69 6E 73 20 61 6E 20 65 72 72 6F contains an erro
0000D0: 72 20 6E 75 6D 62 65 72 20 28 23 30 45 29 2E 0D r number (#0E)..
0000E0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000F0: 20 49 6E 20 56 31 2E 30 3A 20 41 20 63 6F 72 72 In V1.0: A corr
000100: 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 upt...
000110: 20 20 20 20 20 20 48 4C 20 63 6F 72 72 75 70 74 HL corrupt
000120: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
000130: 68 65 20 75 73 65 72 20 68 69 74 20 65 73 63 61 he user hit esca
000140: 70 65 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 pe:..
000150: 20 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 Carry false
000160: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000170: 20 20 20 5A 65 72 6F 20 74 72 75 65 2E 0D 0A 20 Zero true...
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 I
000190: 6E 20 56 31 2E 31 3A 20 41 20 63 6F 6E 74 61 69 n V1.1: A contai
0001A0: 6E 73 20 61 6E 20 65 72 72 6F 72 20 6E 75 6D 62 ns an error numb
0001B0: 65 72 20 28 23 30 30 29 2E 0D 0A 20 20 20 20 20 er (#00)...
0001C0: 20 20 20 20 20 20 20 20 20 20 20 49 6E 20 56 31 In V1
0001D0: 2E 30 3A 20 41 20 63 6F 72 72 75 70 74 2E 0D 0A .0: A corrupt...
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 HL corrupt...
Size : 512 (Real : 512)
000000: 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 20 20 20 Always:..
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 43 2C BC,
000020: 20 44 45 2C 20 49 58 20 61 6E 64 20 6F 74 68 65 DE, IX and othe
000030: 72 20 66 6C 61 67 73 20 63 6F 72 72 75 70 74 2E r flags corrupt.
000040: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000050: 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 All other regi
000060: 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E sters preserved.
000070: 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D .. Notes:.
000080: 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 ... This r
000090: 6F 75 74 69 6E 65 20 63 61 6E 20 72 65 74 75 72 outine can retur
0000A0: 6E 20 74 77 6F 20 65 72 72 6F 72 20 6E 75 6D 62 n two error numb
0000B0: 65 72 73 3A 0D 0A 20 20 20 20 20 20 20 23 30 30 ers:.. #00
0000C0: 3A 20 20 20 20 20 54 68 65 20 75 73 65 72 20 68 : The user h
0000D0: 69 74 20 65 73 63 61 70 65 2E 0D 0A 20 20 20 20 it escape...
0000E0: 20 20 20 23 30 45 3A 20 20 20 20 20 54 68 65 20 #0E: The
0000F0: 73 74 72 65 61 6D 20 69 73 20 6E 6F 74 20 6F 70 stream is not op
000100: 65 6E 20 66 6F 72 20 72 65 61 64 69 6E 67 20 64 en for reading d
000110: 69 72 65 63 74 6C 79 20 6F 72 20 74 68 65 20 20 irectly or the
000120: 75 73 65 72 20 20 68 69 74 0D 0A 20 20 20 20 20 user hit..
000130: 20 20 20 20 20 20 20 20 20 20 20 65 73 63 61 70 escap
000140: 65 20 70 72 65 76 69 6F 75 73 6C 79 2E 0D 0A 0D e previously....
000150: 0A 20 20 20 20 20 20 20 54 68 65 20 72 65 61 64 . The read
000160: 20 73 74 72 65 61 6D 20 6D 75 73 74 20 62 65 20 stream must be
000170: 6E 65 77 6C 79 20 6F 70 65 6E 65 64 20 28 62 79 newly opened (by
000180: 20 43 41 53 20 49 4E 20 4F 50 45 4E 29 2E 20 49 CAS IN OPEN). I
000190: 66 20 20 74 68 65 20 20 73 74 72 65 61 6D 0D 0A f the stream..
0001A0: 20 20 20 20 20 20 20 68 61 73 20 62 65 65 6E 20 has been
0001B0: 75 73 65 64 20 66 6F 72 20 63 68 61 72 61 63 74 used for charact
0001C0: 65 72 20 61 63 63 65 73 73 20 28 62 79 20 63 61 er access (by ca
0001D0: 6C 6C 69 6E 67 20 43 41 53 20 49 4E 20 43 48 41 lling CAS IN CHA
0001E0: 52 29 20 74 68 65 6E 20 69 74 20 69 73 0D 0A 20 R) then it is..
0001F0: 20 20 20 20 20 20 6E 6F 74 20 70 6F 73 73 69 62 not possib
Size : 512 (Real : 512)
000000: 6C 65 20 74 6F 20 64 69 72 65 63 74 6C 79 20 72 le to directly r
000010: 65 61 64 20 74 68 65 20 66 69 6C 65 2E 20 20 4E ead the file. N
000020: 65 69 74 68 65 72 20 20 69 73 20 20 69 74 20 20 either is it
000030: 70 6F 73 73 69 62 6C 65 20 20 74 6F 0D 0A 0D 0A possible to....
000040: 20 20 20 20 20 20 20 64 69 72 65 63 74 6C 79 20 directly
000050: 72 65 61 64 20 66 72 6F 6D 20 74 68 65 20 66 69 read from the fi
000060: 6C 65 20 6D 6F 72 65 20 74 68 61 6E 20 6F 6E 63 le more than onc
000070: 65 2E 20 54 68 69 73 20 77 69 6C 6C 20 20 6D 65 e. This will me
000080: 72 65 6C 79 20 20 63 6F 72 72 75 70 74 0D 0A 20 rely corrupt..
000090: 20 20 20 20 20 20 74 68 65 20 63 6F 70 79 20 6F the copy o
0000A0: 66 20 74 68 65 20 66 69 6C 65 20 72 65 61 64 2E f the file read.
0000B0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 62 .... The b
0000C0: 75 66 66 65 72 20 6F 66 20 64 61 74 61 20 72 65 uffer of data re
0000D0: 61 64 20 77 68 65 6E 20 74 68 65 20 73 74 72 65 ad when the stre
0000E0: 61 6D 20 77 61 73 20 6F 70 65 6E 65 64 20 69 73 am was opened is
0000F0: 20 20 63 6F 70 69 65 64 20 20 74 6F 20 20 69 74 copied to it
000100: 73 0D 0A 20 20 20 20 20 20 20 63 6F 72 72 65 63 s.. correc
000110: 74 20 70 6F 73 69 74 69 6F 6E 20 61 6E 64 20 74 t position and t
000120: 68 65 20 72 65 6D 61 69 6E 64 65 72 20 6F 66 20 he remainder of
000130: 74 68 65 20 66 69 6C 65 20 28 69 66 20 61 6E 79 the file (if any
000140: 29 20 69 73 20 20 61 6C 73 6F 20 20 72 65 61 64 ) is also read
000150: 0D 0A 20 20 20 20 20 20 20 69 6E 74 6F 20 73 74 .. into st
000160: 6F 72 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 ore..... R
000170: 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D elated entries:.
000180: 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 43 . CAS IN C
000190: 48 41 52 20 20 20 20 20 20 20 20 20 20 20 20 20 HAR
0001A0: 20 20 20 20 20 43 41 53 20 49 4E 20 44 49 52 45 CAS IN DIRE
0001B0: 43 54 20 28 44 49 53 43 29 0D 0A 20 20 20 20 20 CT (DISC)..
0001C0: 20 20 43 41 53 20 49 4E 20 43 4C 4F 53 45 20 20 CAS IN CLOSE
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
0001E0: 41 53 20 49 4E 20 4F 50 45 4E 0D 0A 20 20 20 20 AS IN OPEN..
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 20 20 20 20
000010: 43 41 53 20 4F 55 54 20 44 49 52 45 43 54 0D 0A CAS OUT DIRECT..
000020: 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 .. AMSTRAD
000030: 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 CPC464/664/6128
000040: 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 FIRMWARE
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 20 20 70 61 67 65 20 31 35 2E 31 34 30 0D page 15.140.
000070: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
000080: 20 20 20 20 31 32 39 3A 20 43 41 53 20 49 4E 20 129: CAS IN
000090: 44 49 52 45 43 54 20 28 44 49 53 43 29 20 20 20 DIRECT (DISC)
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 20 20 20
0000C0: 20 20 20 20 20 23 42 43 38 33 0D 0A 0D 0A 20 20 #BC83....
0000D0: 20 20 20 20 20 52 65 61 64 20 74 68 65 20 69 6E Read the in
0000E0: 70 75 74 20 66 69 6C 65 20 69 6E 74 6F 20 73 74 put file into st
0000F0: 6F 72 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ore..... A
000100: 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 ction:....
000110: 20 52 65 61 64 20 74 68 65 20 69 6E 70 75 74 20 Read the input
000120: 66 69 6C 65 20 64 69 72 65 63 74 6C 79 20 69 6E file directly in
000130: 74 6F 20 73 74 6F 72 65 20 69 6E 20 20 6F 6E 65 to store in one
000140: 20 20 67 6F 20 20 72 61 74 68 65 72 20 20 74 68 go rather th
000150: 61 6E 20 20 6F 6E 65 0D 0A 20 20 20 20 20 20 20 an one..
000160: 63 68 61 72 61 63 74 65 72 20 61 74 20 61 20 74 character at a t
000170: 69 6D 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 ime..... E
000180: 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A ntry conditions:
000190: 0D 0A 0D 0A 20 20 20 20 20 20 20 48 4C 20 63 6F .... HL co
0001A0: 6E 74 61 69 6E 73 20 74 68 65 20 61 64 64 72 65 ntains the addre
0001B0: 73 73 20 74 6F 20 70 75 74 20 74 68 65 20 66 69 ss to put the fi
0001C0: 6C 65 20 28 61 6E 79 77 68 65 72 65 20 69 6E 20 le (anywhere in
0001D0: 52 41 4D 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 RAM).....
0001E0: 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A Exit conditions:
0001F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 .... If th
Size : 512 (Real : 512)
000000: 65 20 66 69 6C 65 20 77 61 73 20 72 65 61 64 20 e file was read
000010: 4F 4B 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 OK:....
000020: 20 20 20 20 20 20 20 20 43 61 72 72 79 20 74 72 Carry tr
000030: 75 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ue...
000040: 20 20 20 20 20 20 5A 65 72 6F 20 66 61 6C 73 65 Zero false
000050: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000060: 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 HL contains
000070: 74 68 65 20 65 6E 74 72 79 20 61 64 64 72 65 73 the entry addres
000080: 73 20 28 66 72 6F 6D 20 74 68 65 20 68 65 61 64 s (from the head
000090: 65 72 29 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 er)...
0000A0: 20 20 20 20 20 20 20 41 20 63 6F 72 72 75 70 74 A corrupt
0000B0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
0000C0: 68 65 20 73 74 72 65 61 6D 20 69 73 20 6E 6F 74 he stream is not
0000D0: 20 6F 70 65 6E 20 61 73 20 65 78 70 65 63 74 65 open as expecte
0000E0: 64 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 d:..
0000F0: 20 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 Carry false
000100: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000110: 20 20 20 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D Zero false..
000120: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000130: 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 A contains an
000140: 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 28 23 30 error number (#0
000150: 45 29 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 E)...
000160: 20 20 20 20 20 20 48 4C 20 63 6F 72 72 75 70 74 HL corrupt
000170: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
000180: 68 65 20 72 65 61 64 20 66 61 69 6C 65 64 20 66 he read failed f
000190: 6F 72 20 61 6E 79 20 6F 74 68 65 72 20 72 65 61 or any other rea
0001A0: 73 6F 6E 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 son:..
0001B0: 20 20 20 20 20 20 20 43 61 72 72 79 20 66 61 6C Carry fal
0001C0: 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 se...
0001D0: 20 20 20 20 20 20 5A 65 72 6F 20 74 72 75 65 2E Zero true.
0001E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001F0: 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 61 6E A contains an
Size : 512 (Real : 512)
000000: 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 2E 0D 0A error number...
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 HL corrupt...
000030: 20 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 20 20 Always:..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 43 BC
000050: 2C 20 44 45 2C 20 49 58 20 61 6E 64 20 6F 74 68 , DE, IX and oth
000060: 65 72 20 66 6C 61 67 73 20 63 6F 72 72 75 70 74 er flags corrupt
000070: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000080: 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 All other reg
000090: 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 isters preserved
0000A0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 ..... Note
0000B0: 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 s:.... The
0000C0: 20 72 65 61 64 20 73 74 72 65 61 6D 20 6D 75 73 read stream mus
0000D0: 74 20 62 65 20 6E 65 77 6C 79 20 6F 70 65 6E 65 t be newly opene
0000E0: 64 20 28 62 79 20 43 41 53 20 49 4E 20 4F 50 45 d (by CAS IN OPE
0000F0: 4E 29 2E 20 49 66 20 20 74 68 65 20 20 73 74 72 N). If the str
000100: 65 61 6D 0D 0A 20 20 20 20 20 20 20 68 61 73 20 eam.. has
000110: 62 65 65 6E 20 75 73 65 64 20 66 6F 72 20 63 68 been used for ch
000120: 61 72 61 63 74 65 72 20 61 63 63 65 73 73 20 28 aracter access (
000130: 62 79 20 63 61 6C 6C 69 6E 67 20 43 41 53 20 49 by calling CAS I
000140: 4E 20 43 48 41 52 20 6F 72 20 43 41 53 20 54 45 N CHAR or CAS TE
000150: 53 54 0D 0A 20 20 20 20 20 20 20 45 4F 46 29 20 ST.. EOF)
000160: 74 68 65 6E 20 69 74 20 69 73 20 6E 6F 74 20 70 then it is not p
000170: 6F 73 73 69 62 6C 65 20 74 6F 20 64 69 72 65 63 ossible to direc
000180: 74 6C 79 20 72 65 61 64 20 74 68 65 20 66 69 6C tly read the fil
000190: 65 2E 20 4E 65 69 74 68 65 72 20 69 73 20 20 69 e. Neither is i
0001A0: 74 0D 0A 20 20 20 20 20 20 20 70 6F 73 73 69 62 t.. possib
0001B0: 6C 65 20 74 6F 20 64 69 72 65 63 74 6C 79 20 72 le to directly r
0001C0: 65 61 64 20 66 72 6F 6D 20 74 68 65 20 66 69 6C ead from the fil
0001D0: 65 20 6D 6F 72 65 20 74 68 61 6E 20 6F 6E 63 65 e more than once
0001E0: 2E 20 20 28 41 6E 79 20 20 61 74 74 65 6D 70 74 . (Any attempt
0001F0: 0D 0A 20 20 20 20 20 20 20 74 6F 20 64 6F 20 73 .. to do s
Size : 512 (Real : 512)
000000: 6F 20 77 69 6C 6C 20 63 6F 72 72 75 70 74 20 74 o will corrupt t
000010: 68 65 20 63 6F 70 79 20 6F 66 20 74 68 65 20 66 he copy of the f
000020: 69 6C 65 20 72 65 61 64 2E 0D 0A 0D 0A 20 20 20 ile read.....
000030: 20 20 20 20 49 66 20 74 68 65 20 66 69 6C 65 20 If the file
000040: 68 61 73 20 61 20 68 65 61 64 65 72 20 20 74 68 has a header th
000050: 65 6E 20 20 74 68 65 20 20 6E 75 6D 62 65 72 20 en the number
000060: 20 6F 66 20 20 62 79 74 65 73 20 20 72 65 61 64 of bytes read
000070: 20 20 69 73 20 20 74 68 61 74 0D 0A 20 20 20 20 is that..
000080: 20 20 20 72 65 63 6F 72 64 65 64 20 69 6E 20 74 recorded in t
000090: 68 65 20 32 34 20 62 69 74 20 66 69 6C 65 20 6C he 24 bit file l
0000A0: 65 6E 67 74 68 20 66 69 65 6C 64 20 28 62 79 74 ength field (byt
0000B0: 65 73 20 20 36 34 2E 2E 36 36 20 20 6F 66 20 20 es 64..66 of
0000C0: 74 68 65 20 20 64 69 73 63 0D 0A 20 20 20 20 20 the disc..
0000D0: 20 20 66 69 6C 65 20 68 65 61 64 65 72 29 2E 20 file header).
0000E0: 49 66 20 74 68 65 72 65 20 69 73 20 6E 6F 20 68 If there is no h
0000F0: 65 61 64 65 72 20 74 68 65 20 66 69 6C 65 20 69 eader the file i
000100: 73 20 72 65 61 64 20 75 6E 74 69 6C 20 68 61 72 s read until har
000110: 64 20 65 6E 64 20 6F 66 0D 0A 20 20 20 20 20 20 d end of..
000120: 20 66 69 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 file.....
000130: 20 54 68 65 20 43 50 2F 4D 20 65 6E 64 20 6F 66 The CP/M end of
000140: 20 66 69 6C 65 20 63 68 61 72 61 63 74 65 72 2C file character,
000150: 20 23 31 41 20 69 73 20 6E 6F 74 20 74 72 65 61 #1A is not trea
000160: 74 65 64 20 61 73 20 65 6E 64 20 6F 66 20 66 69 ted as end of fi
000170: 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 le..... Re
000180: 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A lated entries:..
000190: 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 .. CAS IN
0001A0: 43 48 41 52 20 28 44 49 53 43 29 0D 0A 20 20 20 CHAR (DISC)..
0001B0: 20 20 20 20 43 41 53 20 49 4E 20 43 4C 4F 53 45 CAS IN CLOSE
0001C0: 20 28 44 49 53 43 29 20 20 20 20 20 20 20 20 20 (DISC)
0001D0: 20 43 41 53 20 49 4E 20 4F 50 45 4E 20 28 44 49 CAS IN OPEN (DI
0001E0: 53 43 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 SC).. CAS
0001F0: 49 4E 20 44 49 52 45 43 54 20 20 20 20 20 20 20 IN DIRECT
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 43 41 53 20 4F 55 54 CAS OUT
000010: 20 44 49 52 45 43 54 20 28 44 49 53 43 29 0D 0A DIRECT (DISC)..
000020: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
000030: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
000040: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 FIRMWARE
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 31 34 page 15.14
000070: 31 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 1..............
000080: 20 20 20 20 20 20 31 33 30 3A 20 43 41 53 20 52 130: CAS R
000090: 45 54 55 52 4E 20 20 20 20 20 20 20 20 20 20 20 ETURN
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 20 20 20
0000C0: 20 20 20 20 20 20 20 23 42 43 38 36 0D 0A 0D 0A #BC86....
0000D0: 0D 0A 20 20 20 20 20 20 20 50 75 74 20 74 68 65 .. Put the
0000E0: 20 6C 61 73 74 20 63 68 61 72 61 63 74 65 72 20 last character
0000F0: 72 65 61 64 20 62 61 63 6B 2E 0D 0A 0D 0A 0D 0A read back.......
000100: 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A Action:..
000110: 0D 0A 0D 0A 20 20 20 20 20 20 20 50 75 74 20 74 .... Put t
000120: 68 65 20 6C 61 73 74 20 63 68 61 72 61 63 74 65 he last characte
000130: 72 20 72 65 61 64 20 62 79 20 43 41 53 20 49 4E r read by CAS IN
000140: 20 43 48 41 52 20 62 61 63 6B 20 69 6E 74 6F 20 CHAR back into
000150: 74 68 65 20 72 65 61 64 20 20 62 75 66 66 65 72 the read buffer
000160: 2E 0D 0A 20 20 20 20 20 20 20 54 68 65 20 63 68 ... The ch
000170: 61 72 61 63 74 65 72 20 77 69 6C 6C 20 62 65 20 aracter will be
000180: 72 65 2D 72 65 61 64 20 6E 65 78 74 20 74 69 6D re-read next tim
000190: 65 20 43 41 53 20 49 4E 20 43 48 41 52 20 69 73 e CAS IN CHAR is
0001A0: 20 63 61 6C 6C 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 called.......
0001B0: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
0001C0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 tions:......
0001D0: 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 No conditions
0001E0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 ....... Ex
0001F0: 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A it conditions:..
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 72 .... All r
000010: 65 67 69 73 74 65 72 73 20 61 6E 64 20 66 6C 61 egisters and fla
000020: 67 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D gs preserved....
000030: 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A ... Notes:
000040: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 74 20 ...... It
000050: 69 73 20 6F 6E 6C 79 20 70 6F 73 73 69 62 6C 65 is only possible
000060: 20 74 6F 20 75 73 65 20 74 68 69 73 20 72 6F 75 to use this rou
000070: 74 69 6E 65 20 74 6F 20 72 65 74 75 72 6E 20 74 tine to return t
000080: 68 65 20 20 6C 61 73 74 20 20 63 68 61 72 61 63 he last charac
000090: 74 65 72 0D 0A 20 20 20 20 20 20 20 74 68 61 74 ter.. that
0000A0: 20 68 61 73 20 62 65 65 6E 20 72 65 61 64 20 62 has been read b
0000B0: 79 20 43 41 53 20 49 4E 20 43 48 41 52 2E 20 41 y CAS IN CHAR. A
0000C0: 74 20 6C 65 61 73 74 20 6F 6E 65 20 20 63 68 61 t least one cha
0000D0: 72 61 63 74 65 72 20 20 6D 75 73 74 20 20 68 61 racter must ha
0000E0: 76 65 0D 0A 20 20 20 20 20 20 20 62 65 65 6E 20 ve.. been
0000F0: 72 65 61 64 20 73 69 6E 63 65 3A 0D 0A 0D 0A 0D read since:.....
000100: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000110: 20 74 68 65 20 73 74 72 65 61 6D 20 77 61 73 20 the stream was
000120: 6F 70 65 6E 65 64 0D 0A 20 20 20 20 20 20 20 20 opened..
000130: 20 20 6F 72 20 20 20 20 74 68 65 20 6C 61 73 74 or the last
000140: 20 63 68 61 72 61 63 74 65 72 20 77 61 73 20 72 character was r
000150: 65 74 75 72 6E 65 64 0D 0A 20 20 20 20 20 20 20 eturned..
000160: 20 20 20 6F 72 20 20 20 20 74 68 65 20 6C 61 73 or the las
000170: 74 20 74 65 73 74 20 66 6F 72 20 65 6E 64 20 6F t test for end o
000180: 66 20 66 69 6C 65 20 77 61 73 20 6D 61 64 65 2E f file was made.
000190: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 ........ R
0001A0: 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 3A 0D elated entries:.
0001B0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 43 41 53 20 ..... CAS
0001C0: 49 4E 20 43 48 41 52 0D 0A 20 20 20 20 20 20 20 IN CHAR..
0001D0: 43 41 53 20 52 45 54 55 52 4E 20 28 44 49 53 43 CAS RETURN (DISC
0001E0: 29 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D )...............
0001F0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
000010: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000020: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 FIRMWARE
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 70 61 67 65 20 31 35 2E 31 34 32 0D 0A page 15.142..
000050: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000060: 20 20 20 31 33 30 3A 20 43 41 53 20 52 45 54 55 130: CAS RETU
000070: 52 4E 20 28 44 49 53 43 29 20 20 20 20 20 20 20 RN (DISC)
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 23 42 43 38 36 0D 0A 0D 0A 0D 0A 20 #BC86......
0000B0: 20 20 20 20 20 20 50 75 74 20 74 68 65 20 6C 61 Put the la
0000C0: 73 74 20 63 68 61 72 61 63 74 65 72 20 72 65 61 st character rea
0000D0: 64 20 62 61 63 6B 2E 0D 0A 0D 0A 0D 0A 20 20 20 d back.......
0000E0: 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D Action:.....
0000F0: 0A 20 20 20 20 20 20 20 50 75 74 20 74 68 65 20 . Put the
000100: 6C 61 73 74 20 63 68 61 72 61 63 74 65 72 20 72 last character r
000110: 65 61 64 20 62 79 20 43 41 53 20 49 4E 20 43 48 ead by CAS IN CH
000120: 41 52 20 62 61 63 6B 20 69 6E 74 6F 20 74 68 65 AR back into the
000130: 20 72 65 61 64 20 20 62 75 66 66 65 72 2E 0D 0A read buffer...
000140: 20 20 20 20 20 20 20 54 68 65 20 63 68 61 72 61 The chara
000150: 63 74 65 72 20 77 69 6C 6C 20 62 65 20 72 65 2D cter will be re-
000160: 72 65 61 64 20 6E 65 78 74 20 74 69 6D 65 20 43 read next time C
000170: 41 53 20 49 4E 20 43 48 41 52 20 69 73 20 63 61 AS IN CHAR is ca
000180: 6C 6C 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 lled.......
000190: 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F Entry conditio
0001A0: 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns:......
0001B0: 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A No conditions...
0001C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
0001D0: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
0001E0: 0A 20 20 20 20 20 20 20 41 6C 6C 20 72 65 67 69 . All regi
0001F0: 73 74 65 72 73 20 61 6E 64 20 66 6C 61 67 73 20 sters and flags
Size : 512 (Real : 512)
000000: 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A preserved.......
000010: 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D Notes:...
000020: 0A 0D 0A 20 20 20 20 20 20 20 49 74 20 69 73 20 ... It is
000030: 6F 6E 6C 79 20 70 6F 73 73 69 62 6C 65 20 74 6F only possible to
000040: 20 75 73 65 20 74 68 69 73 20 72 6F 75 74 69 6E use this routin
000050: 65 20 74 6F 20 72 65 74 75 72 6E 20 74 68 65 20 e to return the
000060: 20 6C 61 73 74 20 20 63 68 61 72 61 63 74 65 72 last character
000070: 0D 0A 20 20 20 20 20 20 20 74 68 61 74 20 68 61 .. that ha
000080: 73 20 62 65 65 6E 20 72 65 61 64 20 62 79 20 43 s been read by C
000090: 41 53 20 49 4E 20 43 48 41 52 2E 20 41 74 20 6C AS IN CHAR. At l
0000A0: 65 61 73 74 20 6F 6E 65 20 20 63 68 61 72 61 63 east one charac
0000B0: 74 65 72 20 20 6D 75 73 74 20 20 68 61 76 65 0D ter must have.
0000C0: 0A 20 20 20 20 20 20 20 62 65 65 6E 20 72 65 61 . been rea
0000D0: 64 20 73 69 6E 63 65 3A 0D 0A 0D 0A 0D 0A 20 20 d since:......
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 th
0000F0: 65 20 73 74 72 65 61 6D 20 77 61 73 20 6F 70 65 e stream was ope
000100: 6E 65 64 0D 0A 20 20 20 20 20 20 20 20 20 20 6F ned.. o
000110: 72 20 20 20 20 74 68 65 20 6C 61 73 74 20 63 68 r the last ch
000120: 61 72 61 63 74 65 72 20 77 61 73 20 72 65 74 75 aracter was retu
000130: 72 6E 65 64 0D 0A 20 20 20 20 20 20 20 20 20 20 rned..
000140: 6F 72 20 20 20 20 74 68 65 20 6C 61 73 74 20 74 or the last t
000150: 65 73 74 20 66 6F 72 20 65 6E 64 20 6F 66 20 66 est for end of f
000160: 69 6C 65 20 77 61 73 20 6D 61 64 65 2E 0D 0A 0D ile was made....
000170: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
000180: 74 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A ted entries:....
000190: 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 .. CAS IN
0001A0: 43 48 41 52 20 28 44 49 53 43 29 0D 0A 20 20 20 CHAR (DISC)..
0001B0: 20 20 20 20 43 41 53 20 52 45 54 55 52 4E 0D 0A CAS RETURN..
0001C0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
0001D0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
0001E0: 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 AMSTRAD CPC
0001F0: 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 464/664/6128 FIR
Size : 512 (Real : 512)
000000: 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 MWARE
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 70 61 67 65 20 31 35 2E 31 34 33 0D 0A 0D 0A 0D page 15.143.....
000030: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000040: 31 33 31 3A 20 43 41 53 20 54 45 53 54 20 45 4F 131: CAS TEST EO
000050: 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 F
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 20 20 20 20 20 20 20 20
000080: 20 23 42 43 38 39 0D 0A 0D 0A 20 20 20 20 20 20 #BC89....
000090: 20 48 61 76 65 20 77 65 20 72 65 61 63 68 65 64 Have we reached
0000A0: 20 74 68 65 20 65 6E 64 20 6F 66 20 74 68 65 20 the end of the
0000B0: 66 69 6C 65 20 79 65 74 3F 0D 0A 0D 0A 20 20 20 file yet?....
0000C0: 20 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 Action:....
0000D0: 20 20 20 20 20 20 54 65 73 74 20 69 66 20 74 68 Test if th
0000E0: 65 20 65 6E 64 20 6F 66 20 74 68 65 20 69 6E 70 e end of the inp
0000F0: 75 74 20 66 69 6C 65 20 68 61 73 20 62 65 65 6E ut file has been
000100: 20 72 65 61 63 68 65 64 2E 0D 0A 0D 0A 20 20 20 reached.....
000110: 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 Entry condit
000120: 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ions:....
000130: 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A No conditions...
000140: 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F .. Exit co
000150: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 nditions:....
000160: 20 20 20 20 49 66 20 74 68 65 20 65 6E 64 20 6F If the end o
000170: 66 20 74 68 65 20 66 69 6C 65 20 77 61 73 20 6E f the file was n
000180: 6F 74 20 66 6F 75 6E 64 3A 0D 0A 0D 0A 20 20 20 ot found:....
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 Car
0001A0: 72 79 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 ry true...
0001B0: 20 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 Zero f
0001C0: 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 alse...
0001D0: 20 20 20 20 20 20 20 41 20 63 6F 72 72 75 70 74 A corrupt
0001E0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
0001F0: 68 65 20 65 6E 64 20 6F 66 20 74 68 65 20 66 69 he end of the fi
Size : 512 (Real : 512)
000000: 6C 65 20 77 61 73 20 66 6F 75 6E 64 3A 0D 0A 0D le was found:...
000010: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000020: 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 20 Carry false...
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A Z
000040: 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 ero false...
000050: 20 20 20 20 20 20 20 20 20 20 20 20 49 6E 20 56 In V
000060: 31 2E 31 3A 20 41 20 63 6F 6E 74 61 69 6E 73 20 1.1: A contains
000070: 61 6E 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 an error number
000080: 28 23 30 45 20 6F 72 20 23 30 46 29 2E 0D 0A 20 (#0E or #0F)...
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 I
0000A0: 6E 20 56 31 2E 30 3A 20 41 20 63 6F 72 72 75 70 n V1.0: A corrup
0000B0: 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 t..... If
0000C0: 74 68 65 20 75 73 65 72 20 68 69 74 20 65 73 63 the user hit esc
0000D0: 61 70 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ape:....
0000E0: 20 20 20 20 20 20 20 20 43 61 72 72 79 20 66 61 Carry fa
0000F0: 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 lse...
000100: 20 20 20 20 20 20 5A 65 72 6F 20 74 72 75 65 2E Zero true.
000110: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000120: 20 20 49 6E 20 56 31 2E 31 3A 20 41 20 63 6F 6E In V1.1: A con
000130: 74 61 69 6E 73 20 61 6E 20 65 72 72 6F 72 20 6E tains an error n
000140: 75 6D 62 65 72 20 28 23 30 30 29 2E 0D 0A 20 20 umber (#00)...
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6E In
000160: 20 56 31 2E 30 3A 20 41 20 63 6F 72 72 75 70 74 V1.0: A corrupt
000170: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 77 61 ..... Alwa
000180: 79 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 ys:....
000190: 20 20 20 20 20 20 20 49 58 20 61 6E 64 20 6F 74 IX and ot
0001A0: 68 65 72 20 66 6C 61 67 73 20 63 6F 72 72 75 70 her flags corrup
0001B0: 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 t...
0001C0: 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 All other re
0001D0: 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 gisters preserve
0001E0: 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 d..... Not
0001F0: 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 es:.... Th
Size : 512 (Real : 512)
000000: 69 73 20 72 6F 75 74 69 6E 65 20 63 61 6E 20 72 is routine can r
000010: 65 74 75 72 6E 20 74 68 72 65 65 20 65 72 72 6F eturn three erro
000020: 72 20 6E 75 6D 62 65 72 73 3A 0D 0A 0D 0A 20 20 r numbers:....
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 30 #0
000040: 30 3A 20 20 20 20 20 20 54 68 65 20 75 73 65 20 0: The use
000050: 68 69 74 20 65 73 63 61 70 65 2E 0D 0A 20 20 20 hit escape...
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 23 30 45 #0E
000070: 3A 20 20 20 20 20 20 54 68 65 20 73 74 72 65 61 : The strea
000080: 6D 20 69 73 20 6E 6F 74 20 6F 70 65 6E 20 66 6F m is not open fo
000090: 72 20 20 72 65 61 64 69 6E 67 20 20 63 68 61 72 r reading char
0000A0: 61 63 74 65 72 73 20 20 6F 72 0D 0A 20 20 20 20 acters or..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 20 20 20 20 74 68 65 20 75 73 65 72 20 68 the user h
0000D0: 69 74 20 65 73 63 61 70 65 20 70 72 65 76 69 6F it escape previo
0000E0: 75 73 6C 79 2E 0D 0A 20 20 20 20 20 20 20 20 20 usly...
0000F0: 20 20 20 20 20 20 20 23 30 46 3A 20 20 20 20 20 #0F:
000100: 20 48 61 76 65 20 72 65 61 63 68 65 64 20 74 68 Have reached th
000110: 65 20 65 6E 64 20 6F 66 20 74 68 65 20 66 69 6C e end of the fil
000120: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 43 61 6C e..... Cal
000130: 6C 69 6E 67 20 74 68 69 73 20 72 6F 75 74 69 6E ling this routin
000140: 65 20 70 75 74 20 74 68 65 20 73 74 72 65 61 6D e put the stream
000150: 20 69 6E 74 6F 20 63 68 61 72 61 63 74 65 72 20 into character
000160: 69 6E 70 75 74 20 6D 6F 64 65 2E 20 20 49 74 20 input mode. It
000170: 20 69 73 0D 0A 20 20 20 20 20 20 20 6E 6F 74 20 is.. not
000180: 70 6F 73 73 69 62 6C 65 20 74 6F 20 75 73 65 20 possible to use
000190: 64 69 72 65 63 74 20 72 65 61 64 69 6E 67 20 61 direct reading a
0001A0: 66 74 65 72 20 63 61 6C 6C 69 6E 67 20 74 68 69 fter calling thi
0001B0: 73 20 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A 20 20 s routine.....
0001C0: 20 20 20 20 20 49 74 20 69 73 20 6E 6F 74 20 70 It is not p
0001D0: 6F 73 73 69 62 6C 65 20 74 6F 20 63 61 6C 6C 20 ossible to call
0001E0: 43 41 53 20 52 45 54 55 52 4E 20 20 61 66 74 65 CAS RETURN afte
0001F0: 72 20 20 74 68 69 73 20 20 72 6F 75 74 69 6E 65 r this routine
Size : 512 (Real : 512)
000000: 20 20 68 61 73 20 20 62 65 65 6E 0D 0A 20 20 20 has been..
000010: 20 20 20 20 63 61 6C 6C 65 64 2E 20 41 20 63 68 called. A ch
000020: 61 72 61 63 74 65 72 20 6D 75 73 74 20 62 65 20 aracter must be
000030: 72 65 61 64 20 66 69 72 73 74 2E 0D 0A 0D 0A 20 read first.....
000040: 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E Related en
000050: 74 72 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tries:....
000060: 20 43 41 53 20 49 4E 20 43 48 41 52 0D 0A 20 20 CAS IN CHAR..
000070: 20 20 20 20 20 43 41 53 20 54 45 53 54 20 45 4F CAS TEST EO
000080: 46 20 28 44 49 53 43 29 0D 0A 0D 0A 20 20 20 20 F (DISC)....
000090: 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 AMSTRAD CPC46
0000A0: 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 4/664/6128 FIRMW
0000B0: 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 ARE
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 pa
0000D0: 67 65 20 31 35 2E 31 34 34 0D 0A 0D 0A 0D 0A 0D ge 15.144.......
0000E0: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 33 ....... 13
0000F0: 31 3A 20 43 41 53 20 54 45 53 54 20 45 4F 46 20 1: CAS TEST EOF
000100: 28 44 49 53 43 29 20 20 20 20 20 20 20 20 20 20 (DISC)
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 #
000130: 42 43 38 39 0D 0A 0D 0A 20 20 20 20 20 20 20 48 BC89.... H
000140: 61 76 65 20 77 65 20 72 65 61 63 68 65 64 20 74 ave we reached t
000150: 68 65 20 65 6E 64 20 6F 66 20 74 68 65 20 66 69 he end of the fi
000160: 6C 65 20 79 65 74 3F 0D 0A 0D 0A 20 20 20 20 20 le yet?....
000170: 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 Action:....
000180: 20 20 20 20 54 65 73 74 20 69 66 20 74 68 65 20 Test if the
000190: 65 6E 64 20 6F 66 20 74 68 65 20 69 6E 70 75 74 end of the input
0001A0: 20 66 69 6C 65 20 68 61 73 20 62 65 65 6E 20 72 file has been r
0001B0: 65 61 63 68 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 eached.....
0001C0: 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F Entry conditio
0001D0: 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ns:.... No
0001E0: 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A conditions.....
0001F0: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
Size : 512 (Real : 512)
000000: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 itions:....
000010: 20 20 49 66 20 74 68 65 20 65 6E 64 20 6F 66 20 If the end of
000020: 74 68 65 20 66 69 6C 65 20 77 61 73 20 6E 6F 74 the file was not
000030: 20 66 6F 75 6E 64 3A 0D 0A 0D 0A 20 20 20 20 20 found:....
000040: 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 79 Carry
000050: 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 20 20 true...
000060: 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 61 6C Zero fal
000070: 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 se...
000080: 20 20 20 20 20 41 20 63 6F 72 72 75 70 74 2E 0D A corrupt..
000090: 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 ... If the
0000A0: 20 65 6E 64 20 6F 66 20 74 68 65 20 66 69 6C 65 end of the file
0000B0: 20 77 61 73 20 66 6F 75 6E 64 20 6F 72 20 73 74 was found or st
0000C0: 72 65 61 6D 20 77 61 73 20 6E 6F 74 20 6F 70 65 ream was not ope
0000D0: 6E 20 61 73 20 65 78 70 65 63 74 65 64 3A 0D 0A n as expected:..
0000E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000F0: 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A Carry false...
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 20 Zero false...
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 63 A c
000130: 6F 6E 74 61 69 6E 73 20 61 6E 20 65 72 72 6F 72 ontains an error
000140: 20 6E 75 6D 62 65 72 20 28 23 30 45 2C 23 30 46 number (#0E,#0F
000150: 20 6F 72 20 23 31 41 29 2E 0D 0A 0D 0A 20 20 20 or #1A).....
000160: 20 20 20 20 49 66 20 66 61 69 6C 65 64 20 66 6F If failed fo
000170: 72 20 61 6E 79 20 6F 74 68 65 72 20 72 65 61 73 r any other reas
000180: 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 on:....
000190: 20 20 20 20 20 20 20 43 61 72 72 79 20 66 61 6C Carry fal
0001A0: 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 se...
0001B0: 20 20 20 20 20 5A 65 72 6F 20 74 72 75 65 2E 0D Zero true..
0001C0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001D0: 20 41 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 65 A contains an e
0001E0: 72 72 6F 72 20 6E 75 6D 62 65 72 2E 0D 0A 0D 0A rror number.....
0001F0: 20 20 20 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A Always:..
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000010: 20 20 49 58 20 61 6E 64 20 6F 74 68 65 72 20 66 IX and other f
000020: 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 lags corrupt...
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 A
000040: 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 ll other registe
000050: 72 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D rs preserved....
000060: 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A . Notes:..
000070: 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 6F .. This ro
000080: 75 74 69 6E 65 20 77 69 6C 6C 20 72 65 70 6F 72 utine will repor
000090: 74 20 65 6E 64 20 6F 66 20 66 69 6C 65 20 20 69 t end of file i
0000A0: 66 20 20 65 69 74 68 65 72 20 20 74 68 65 72 65 f either there
0000B0: 20 20 61 72 65 20 20 6E 6F 20 20 6D 6F 72 65 0D are no more.
0000C0: 0A 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 . characte
0000D0: 72 73 20 69 6E 20 74 68 65 20 66 69 6C 65 20 6F rs in the file o
0000E0: 72 20 69 66 20 74 68 65 20 6E 65 78 74 20 63 68 r if the next ch
0000F0: 61 72 61 63 74 65 72 20 74 6F 20 62 65 20 72 65 aracter to be re
000100: 61 64 20 69 73 20 74 68 65 20 43 50 2F 4D 0D 0A ad is the CP/M..
000110: 20 20 20 20 20 20 20 65 6E 64 20 6F 66 20 66 69 end of fi
000120: 6C 65 20 63 68 61 72 61 63 74 65 72 20 23 31 41 le character #1A
000130: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 43 61 6C 6C ..... Call
000140: 69 6E 67 20 74 68 69 73 20 72 6F 75 74 69 6E 65 ing this routine
000150: 20 70 75 74 73 20 74 68 65 20 73 74 72 65 61 6D puts the stream
000160: 20 69 6E 74 6F 20 63 68 61 72 61 63 74 65 72 20 into character
000170: 69 6E 70 75 74 20 6D 6F 64 65 2E 20 49 74 20 20 input mode. It
000180: 69 73 0D 0A 20 20 20 20 20 20 20 6E 6F 74 20 70 is.. not p
000190: 6F 73 73 69 62 6C 65 20 74 6F 20 75 73 65 20 64 ossible to use d
0001A0: 69 72 65 63 74 20 72 65 61 64 69 6E 67 20 61 66 irect reading af
0001B0: 74 65 72 20 63 61 6C 6C 69 6E 67 20 74 68 69 73 ter calling this
0001C0: 20 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A 20 20 20 routine.....
0001D0: 20 20 20 20 49 74 20 69 73 20 6E 6F 74 20 70 6F It is not po
0001E0: 73 73 69 62 6C 65 20 74 6F 20 63 61 6C 6C 20 43 ssible to call C
0001F0: 41 53 20 52 45 54 55 52 4E 20 20 61 66 74 65 72 AS RETURN after
Size : 512 (Real : 512)
000000: 20 20 74 68 69 73 20 20 72 6F 75 74 69 6E 65 20 this routine
000010: 20 68 61 73 20 20 62 65 65 6E 0D 0A 20 20 20 20 has been..
000020: 20 20 20 63 61 6C 6C 65 64 2E 20 41 20 63 68 61 called. A cha
000030: 72 61 63 74 65 72 20 6D 75 73 74 20 62 65 20 72 racter must be r
000040: 65 61 64 20 66 69 72 73 74 2E 0D 0A 0D 0A 20 20 ead first.....
000050: 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 Related ent
000060: 72 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ries:....
000070: 43 41 53 20 49 4E 20 43 48 41 52 20 28 44 49 53 CAS IN CHAR (DIS
000080: 43 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 54 C).. CAS T
000090: 45 53 54 20 45 4F 46 0D 0A 0D 0A 0D 0A 0D 0A 0D EST EOF.........
0000A0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 ..... AMST
0000B0: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
0000C0: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 FIRMWARE
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 31 page 15.1
0000F0: 34 35 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 45..............
000100: 20 20 20 20 20 20 20 31 33 32 3A 20 43 41 53 20 132: CAS
000110: 4F 55 54 20 4F 50 45 4E 20 20 20 20 20 20 20 20 OUT OPEN
000120: 20 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 20 20 20 20 20 20 20
000140: 20 20 20 20 20 20 20 20 23 42 43 38 43 0D 0A 0D #BC8C...
000150: 0A 20 20 20 20 20 20 20 4F 70 65 6E 20 61 20 66 . Open a f
000160: 69 6C 65 20 66 6F 72 20 6F 75 74 70 75 74 2E 0D ile for output..
000170: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 69 ..... Acti
000180: 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 on:.... Se
000190: 74 20 75 70 20 74 68 65 20 77 72 69 74 65 20 73 t up the write s
0001A0: 74 72 65 61 6D 20 66 6F 72 20 6F 75 74 70 75 74 tream for output
0001B0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
0001C0: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
0001D0: 0A 20 20 20 20 20 20 20 42 20 63 6F 6E 74 61 69 . B contai
0001E0: 6E 73 20 74 68 65 20 6C 65 6E 67 74 68 20 6F 66 ns the length of
0001F0: 20 74 68 65 20 66 69 6C 65 6E 61 6D 65 2E 0D 0A the filename...
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 HL contai
000010: 6E 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6F ns the address o
000020: 66 20 74 68 65 20 66 69 6C 65 6E 61 6D 65 2E 0D f the filename..
000030: 0A 20 20 20 20 20 20 20 44 45 20 63 6F 6E 74 61 . DE conta
000040: 69 6E 73 20 74 68 65 20 61 64 64 72 65 73 73 20 ins the address
000050: 6F 66 20 61 20 32 4B 20 62 75 66 66 65 72 20 74 of a 2K buffer t
000060: 6F 20 75 73 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 o use.....
000070: 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 Exit conditions
000080: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 :.... If t
000090: 68 65 20 75 73 65 72 20 68 69 74 20 65 73 63 61 he user hit esca
0000A0: 70 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 pe:....
0000B0: 20 20 20 20 20 20 20 43 61 72 72 79 20 66 61 6C Carry fal
0000C0: 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 se...
0000D0: 20 20 20 20 20 5A 65 72 6F 20 74 72 75 65 2E 0D Zero true..
0000E0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000F0: 20 49 6E 20 56 31 2E 31 3A 20 41 20 63 6F 6E 74 In V1.1: A cont
000100: 61 69 6E 73 20 61 6E 20 65 72 72 6F 72 20 6E 75 ains an error nu
000110: 6D 62 65 72 20 28 23 30 30 29 2E 0D 0A 20 20 20 mber (#00)...
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6E 20 In
000130: 56 31 2E 30 3A 20 41 20 63 6F 72 72 75 70 74 2E V1.0: A corrupt.
000140: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000150: 20 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 0D HL corrupt....
000160: 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 73 . If the s
000170: 74 72 65 61 6D 20 69 73 20 69 6E 20 75 73 65 20 tream is in use
000180: 61 6C 72 65 61 64 79 3A 0D 0A 0D 0A 20 20 20 20 already:....
000190: 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 Carr
0001A0: 79 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 y false...
0001B0: 20 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 Zero f
0001C0: 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 alse...
0001D0: 20 20 20 20 20 20 20 49 6E 20 56 31 2E 31 3A 20 In V1.1:
0001E0: 41 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 65 72 A contains an er
0001F0: 72 6F 72 20 6E 75 6D 62 65 72 20 28 23 30 45 29 ror number (#0E)
Size : 512 (Real : 512)
000000: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000010: 20 20 20 49 6E 20 56 31 2E 30 3A 20 41 20 63 6F In V1.0: A co
000020: 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 rrupt...
000030: 20 20 20 20 20 20 20 20 48 4C 20 63 6F 72 72 75 HL corru
000040: 70 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 pt..... If
000050: 20 74 68 65 20 66 69 6C 65 20 77 61 73 20 6F 70 the file was op
000060: 65 6E 65 64 20 4F 4B 3A 0D 0A 0D 0A 20 20 20 20 ened OK:....
000070: 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 Carr
000080: 79 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 20 y true...
000090: 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 61 Zero fa
0000A0: 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 lse...
0000B0: 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E HL contain
0000C0: 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 s the address of
0000D0: 20 61 20 20 62 75 66 66 65 72 20 20 63 6F 6E 74 a buffer cont
0000E0: 61 69 6E 69 6E 67 20 20 74 68 65 20 20 68 65 61 aining the hea
0000F0: 64 65 72 0D 0A 20 20 20 20 20 20 20 20 20 20 20 der..
000100: 20 20 20 20 20 74 68 61 74 20 77 69 6C 6C 20 62 that will b
000110: 65 20 77 72 69 74 74 65 6E 20 74 6F 20 65 61 63 e written to eac
000120: 68 20 66 69 6C 65 20 62 6C 6F 63 6B 2E 0D 0A 0D h file block....
000130: 0A 20 20 20 20 20 20 20 41 6C 77 61 79 73 3A 0D . Always:.
000140: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000150: 20 20 20 42 43 2C 44 45 2C 49 58 20 61 6E 64 20 BC,DE,IX and
000160: 6F 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 72 other flags corr
000170: 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 upt...
000180: 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 All other
000190: 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 registers preser
0001A0: 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4E ved..... N
0001B0: 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 otes:....
0001C0: 54 68 69 73 20 72 6F 75 74 69 6E 65 20 63 61 6E This routine can
0001D0: 20 6F 6E 6C 79 20 72 65 74 75 72 6E 20 74 77 6F only return two
0001E0: 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 73 2E 0D error numbers..
0001F0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
Size : 512 (Real : 512)
000000: 20 20 20 23 30 30 3A 20 20 20 20 20 20 54 68 65 #00: The
000010: 20 75 73 65 72 20 68 69 74 20 65 73 63 61 70 65 user hit escape
000020: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000030: 20 20 20 23 30 45 3A 20 54 68 65 20 73 74 72 65 #0E: The stre
000040: 61 6D 20 69 73 20 61 6C 72 65 61 64 79 20 6F 70 am is already op
000050: 65 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 57 68 en..... Wh
000060: 65 6E 20 77 72 69 74 69 6E 67 20 66 69 6C 65 73 en writing files
000070: 20 63 68 61 72 61 63 74 65 72 20 62 79 20 63 68 character by ch
000080: 61 72 61 63 74 65 72 20 74 68 65 20 32 4B 20 62 aracter the 2K b
000090: 75 66 66 65 72 20 20 28 32 30 34 38 20 20 62 79 uffer (2048 by
0000A0: 74 65 73 29 0D 0A 20 20 20 20 20 20 20 73 75 70 tes).. sup
0000B0: 70 6C 69 65 64 20 69 73 20 75 73 65 64 20 74 6F plied is used to
0000C0: 20 20 73 74 6F 72 65 20 20 74 68 65 20 20 63 6F store the co
0000D0: 6E 74 65 6E 74 73 20 20 6F 66 20 20 61 20 20 62 ntents of a b
0000E0: 6C 6F 63 6B 20 20 6F 66 20 20 74 68 65 20 20 66 lock of the f
0000F0: 69 6C 65 0D 0A 20 20 20 20 20 20 20 62 65 66 6F ile.. befo
000100: 72 65 20 69 74 20 69 73 20 77 72 69 74 74 65 6E re it is written
000110: 20 74 6F 20 74 61 70 65 2E 20 49 74 20 77 69 6C to tape. It wil
000120: 6C 20 72 65 6D 61 69 6E 20 69 6E 20 20 75 73 65 l remain in use
000130: 20 20 75 6E 74 69 6C 20 20 74 68 65 20 20 66 69 until the fi
000140: 6C 65 0D 0A 20 20 20 20 20 20 20 69 73 20 63 6C le.. is cl
000150: 6F 73 65 64 20 62 79 20 63 61 6C 6C 69 6E 67 20 osed by calling
000160: 65 69 74 68 65 72 20 43 41 53 20 4F 55 54 20 43 either CAS OUT C
000170: 4C 4F 53 45 20 20 6F 72 20 20 43 41 53 20 20 4F LOSE or CAS O
000180: 55 54 20 20 41 42 41 4E 44 4F 4E 2E 20 20 54 68 UT ABANDON. Th
000190: 65 0D 0A 20 20 20 20 20 20 20 62 75 66 66 65 72 e.. buffer
0001A0: 20 6D 61 79 20 72 65 73 69 64 65 20 61 6E 79 77 may reside anyw
0001B0: 68 65 72 65 20 69 6E 20 6D 65 6D 6F 72 79 20 2D here in memory -
0001C0: 20 65 76 65 6E 20 75 6E 64 65 72 6E 65 61 74 68 even underneath
0001D0: 20 61 20 52 4F 4D 2E 0D 0A 0D 0A 0D 0A 20 20 20 a ROM.......
0001E0: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
0001F0: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
Size : 512 (Real : 512)
000000: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
000020: 61 67 65 20 31 35 2E 31 34 36 0D 0A 0D 0A 0D 0A age 15.146......
000030: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 57 ........ W
000040: 68 65 6E 20 74 68 65 20 73 74 72 65 61 6D 20 69 hen the stream i
000050: 73 20 6F 70 65 6E 65 64 20 66 6F 72 20 77 72 69 s opened for wri
000060: 74 69 6E 67 2C 20 61 20 68 65 61 64 65 72 20 69 ting, a header i
000070: 73 20 73 65 74 20 75 70 20 20 77 68 69 63 68 20 s set up which
000080: 20 77 69 6C 6C 0D 0A 20 20 20 20 20 20 20 62 65 will.. be
000090: 20 77 72 69 74 74 65 6E 20 61 74 20 74 68 65 20 written at the
0000A0: 73 74 61 72 74 20 6F 66 20 65 61 63 68 20 62 6C start of each bl
0000B0: 6F 63 6B 20 6F 66 20 74 68 65 20 66 69 6C 65 2E ock of the file.
0000C0: 20 4D 61 6E 79 20 6F 66 20 74 68 65 20 20 66 69 Many of the fi
0000D0: 65 6C 64 73 0D 0A 20 20 20 20 20 20 20 69 6E 20 elds.. in
0000E0: 74 68 65 20 68 65 61 64 65 72 20 61 72 65 20 73 the header are s
0000F0: 65 74 20 62 79 20 74 68 65 20 43 61 73 73 65 74 et by the Casset
000100: 74 65 20 4D 61 6E 61 67 65 72 20 62 75 74 20 20 te Manager but
000110: 74 68 65 20 20 72 65 6D 61 69 6E 64 65 72 20 20 the remainder
000120: 61 72 65 0D 0A 20 20 20 20 20 20 20 61 76 61 69 are.. avai
000130: 6C 61 62 6C 65 20 66 6F 72 20 75 73 65 20 62 79 lable for use by
000140: 20 74 68 65 20 75 73 65 72 2E 20 54 68 65 20 61 the user. The a
000150: 64 64 72 65 73 73 20 6F 66 20 74 68 69 73 20 68 ddress of this h
000160: 65 61 64 65 72 20 69 73 20 70 61 73 73 65 64 20 eader is passed
000170: 74 6F 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 74 to...... t
000180: 68 65 20 75 73 65 72 20 73 6F 20 74 68 61 74 20 he user so that
000190: 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 63 61 6E 20 information can
0001A0: 62 65 20 73 74 6F 72 65 64 20 69 6E 20 69 74 2E be stored in it.
0001B0: 20 54 68 65 20 75 73 65 72 20 20 6D 61 79 20 20 The user may
0001C0: 77 72 69 74 65 0D 0A 20 20 20 20 20 20 20 74 6F write.. to
0001D0: 20 74 68 65 20 66 69 6C 65 20 74 79 70 65 2C 20 the file type,
0001E0: 6C 6F 67 69 63 61 6C 20 6C 65 6E 67 74 68 2C 20 logical length,
0001F0: 65 6E 74 72 79 20 70 6F 69 6E 74 20 61 6E 64 20 entry point and
Size : 512 (Real : 512)
000000: 61 6C 6C 20 75 73 65 72 20 66 69 65 6C 64 73 2E all user fields.
000010: 20 54 68 65 0D 0A 20 20 20 20 20 20 20 75 73 65 The.. use
000020: 72 20 69 73 20 6E 6F 74 20 61 6C 6C 6F 77 65 64 r is not allowed
000030: 20 74 6F 20 77 72 69 74 65 20 74 6F 20 61 6E 79 to write to any
000040: 20 6F 74 68 65 72 20 66 69 65 6C 64 20 20 69 6E other field in
000050: 20 20 74 68 65 20 20 68 65 61 64 65 72 2E 20 20 the header.
000060: 54 68 65 0D 0A 20 20 20 20 20 20 20 75 73 65 72 The.. user
000070: 20 73 65 74 61 62 6C 65 20 66 69 65 6C 64 73 20 setable fields
000080: 61 72 65 20 61 6C 6C 20 7A 65 72 6F 69 7A 65 64 are all zeroized
000090: 20 69 6E 69 74 69 61 6C 6C 79 2C 20 77 69 74 68 initially, with
0000A0: 20 74 68 65 20 65 78 63 65 70 74 69 6F 6E 20 20 the exception
0000B0: 6F 66 0D 0A 20 20 20 20 20 20 20 74 68 65 20 66 of.. the f
0000C0: 69 6C 65 20 74 79 70 65 20 77 68 69 63 68 20 69 ile type which i
0000D0: 73 20 20 73 65 74 20 20 74 6F 20 20 75 6E 70 72 s set to unpr
0000E0: 6F 74 65 63 74 65 64 20 20 41 53 43 49 49 20 20 otected ASCII
0000F0: 76 65 72 73 69 6F 6E 20 20 31 2E 20 20 28 53 65 version 1. (Se
000100: 65 0D 0A 20 20 20 20 20 20 20 73 65 63 74 69 6F e.. sectio
000110: 6E 20 38 2E 34 20 66 6F 72 20 61 20 64 65 73 63 n 8.4 for a desc
000120: 72 69 70 74 69 6F 6E 20 6F 66 20 74 68 65 20 68 ription of the h
000130: 65 61 64 65 72 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 eader).......
000140: 20 20 20 20 54 68 65 20 66 69 6C 65 6E 61 6D 65 The filename
000150: 20 70 61 73 73 65 64 20 69 73 20 63 6F 70 69 65 passed is copie
000160: 64 20 69 6E 74 6F 20 74 68 65 20 77 72 69 74 65 d into the write
000170: 20 73 74 72 65 61 6D 20 64 65 73 63 72 69 70 74 stream descript
000180: 6F 72 2E 20 49 66 20 20 69 74 0D 0A 20 20 20 20 or. If it..
000190: 20 20 20 69 73 20 6C 6F 6E 67 65 72 20 20 74 68 is longer th
0001A0: 61 6E 20 20 31 36 20 20 63 68 61 72 61 63 74 65 an 16 characte
0001B0: 72 73 20 20 20 74 68 65 6E 20 20 20 69 74 20 20 rs then it
0001C0: 20 69 73 20 20 20 74 72 75 6E 63 61 74 65 64 20 is truncated
0001D0: 20 20 74 6F 20 20 20 31 36 0D 0A 20 20 20 20 20 to 16..
0001E0: 20 20 63 68 61 72 61 63 74 65 72 73 2E 20 49 66 characters. If
0001F0: 20 69 74 20 69 73 20 73 68 6F 72 74 65 72 20 20 it is shorter
Size : 512 (Real : 512)
000000: 20 74 68 61 6E 20 20 20 31 36 20 20 20 63 68 61 than 16 cha
000010: 72 61 63 74 65 72 73 20 20 20 74 68 65 6E 20 20 racters then
000020: 20 69 74 20 20 20 69 73 0D 0A 20 20 20 20 20 20 it is..
000030: 20 70 61 64 64 65 64 20 77 69 74 68 20 6E 75 6C padded with nul
000040: 6C 73 20 28 23 30 30 29 20 20 74 6F 20 20 31 36 ls (#00) to 16
000050: 20 20 20 63 68 61 72 61 63 74 65 72 73 2E 20 20 characters.
000060: 20 57 68 69 6C 65 20 20 20 74 68 65 20 20 20 66 While the f
000070: 69 6C 65 6E 61 6D 65 0D 0A 20 20 20 20 20 20 20 ilename..
000080: 6D 61 79 20 63 6F 6E 74 61 69 6E 20 61 6E 79 20 may contain any
000090: 63 68 61 72 61 63 74 65 72 2C 20 69 74 20 20 69 character, it i
0000A0: 73 20 20 20 62 65 73 74 20 20 20 74 6F 20 20 20 s best to
0000B0: 61 76 6F 69 64 20 20 20 6E 75 6C 6C 73 2E 20 20 avoid nulls.
0000C0: 20 4C 6F 77 65 72 0D 0A 20 20 20 20 20 20 20 63 Lower.. c
0000D0: 61 73 65 20 41 53 43 49 49 20 20 6C 65 74 74 65 ase ASCII lette
0000E0: 72 73 20 20 28 63 68 61 72 61 63 74 65 72 73 20 rs (characters
0000F0: 20 23 36 31 2E 2E 23 37 41 29 20 20 61 72 65 20 #61..#7A) are
000100: 20 63 6F 6E 76 65 72 74 65 64 20 20 74 6F 20 20 converted to
000110: 74 68 65 69 72 0D 0A 20 20 20 20 20 20 20 75 70 their.. up
000120: 70 65 72 20 20 63 61 73 65 20 20 65 71 75 69 76 per case equiv
000130: 61 6C 65 6E 74 73 20 20 28 63 68 61 72 61 63 74 alents (charact
000140: 65 72 73 20 20 23 34 31 2E 2E 23 35 41 29 2E 20 ers #41..#5A).
000150: 20 54 68 65 20 20 66 69 6C 65 6E 61 6D 65 20 20 The filename
000160: 20 6D 61 79 0D 0A 20 20 20 20 20 20 20 6C 69 65 may.. lie
000170: 20 61 6E 79 77 68 65 72 65 20 69 6E 20 52 41 4D anywhere in RAM
000180: 2C 20 65 76 65 6E 20 75 6E 64 65 72 6E 65 61 74 , even underneat
000190: 68 20 61 20 52 4F 4D 2E 0D 0A 0D 0A 0D 0A 0D 0A h a ROM.........
0001A0: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
0001B0: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 ntries:......
0001C0: 20 20 20 20 43 41 53 20 49 4E 20 4F 50 45 4E 0D CAS IN OPEN.
0001D0: 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 54 20 . CAS OUT
0001E0: 41 42 41 4E 44 4F 4E 0D 0A 20 20 20 20 20 20 20 ABANDON..
0001F0: 43 41 53 20 4F 55 54 20 43 48 41 52 0D 0A 20 20 CAS OUT CHAR..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 43 41 53 20 4F 55 54 20 43 4C 4F CAS OUT CLO
000010: 53 45 0D 0A 20 20 20 20 20 20 20 43 41 53 20 4F SE.. CAS O
000020: 55 54 20 44 49 52 45 43 54 0D 0A 20 20 20 20 20 UT DIRECT..
000030: 20 20 43 41 53 20 4F 55 54 20 4F 50 45 4E 20 28 CAS OUT OPEN (
000040: 44 49 53 43 29 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D DISC)...........
000050: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000060: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000070: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000080: 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 AMSTRAD CPC464/6
000090: 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 64/6128 FIRMWARE
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 70 61 67 65 20 page
0000C0: 31 35 2E 31 34 37 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 15.147..........
0000D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 31 33 32 3A 20 .... 132:
0000E0: 43 41 53 20 4F 55 54 20 4F 50 45 4E 20 28 44 49 CAS OUT OPEN (DI
0000F0: 53 43 29 20 20 20 20 20 20 20 20 20 20 20 20 20 SC)
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 20 20 20 20 20 20 20 20 20 20 23 42 43 38 #BC8
000120: 43 0D 0A 0D 0A 20 20 20 20 20 20 20 4F 70 65 6E C.... Open
000130: 20 61 20 66 69 6C 65 20 66 6F 72 20 6F 75 74 70 a file for outp
000140: 75 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 ut..... Ac
000150: 74 69 6F 6E 3A 0D 0A 20 20 20 20 20 20 20 53 65 tion:.. Se
000160: 74 20 75 70 20 74 68 65 20 77 72 69 74 65 20 73 t up the write s
000170: 74 72 65 61 6D 20 66 6F 72 20 6F 75 74 70 75 74 tream for output
000180: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 6E 74 72 ..... Entr
000190: 79 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D y conditions:...
0001A0: 0A 20 20 20 20 20 20 20 42 20 63 6F 6E 74 61 69 . B contai
0001B0: 6E 73 20 74 68 65 20 6C 65 6E 67 74 68 20 6F 66 ns the length of
0001C0: 20 74 68 65 20 66 69 6C 65 6E 61 6D 65 2E 0D 0A the filename...
0001D0: 20 20 20 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 HL contai
0001E0: 6E 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6F ns the address o
0001F0: 66 20 74 68 65 20 66 69 6C 65 6E 61 6D 65 2E 0D f the filename..
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 44 45 20 63 6F 6E 74 61 . DE conta
000010: 69 6E 73 20 74 68 65 20 61 64 64 72 65 73 73 20 ins the address
000020: 6F 66 20 61 20 32 4B 20 62 75 66 66 65 72 20 74 of a 2K buffer t
000030: 6F 20 75 73 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 o use.....
000040: 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 Exit conditions
000050: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 :.... If t
000060: 68 65 20 66 69 6C 65 20 77 61 73 20 6F 70 65 6E he file was open
000070: 65 64 20 4F 4B 3A 0D 0A 20 20 20 20 20 20 20 20 ed OK:..
000080: 20 20 20 20 20 20 20 20 43 61 72 72 79 20 74 72 Carry tr
000090: 75 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ue...
0000A0: 20 20 20 20 20 5A 65 72 6F 20 66 61 6C 73 65 2E Zero false.
0000B0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000C0: 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 HL contains th
0000D0: 65 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 e address of the
0000E0: 20 62 75 66 66 65 72 20 63 6F 6E 74 61 69 6E 69 buffer containi
0000F0: 6E 67 20 74 68 65 20 68 65 61 64 65 72 2E 0D 0A ng the header...
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 41 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 A corrupt...
000120: 20 20 20 49 66 20 74 68 65 20 73 74 72 65 61 6D If the stream
000130: 20 69 73 20 6F 70 65 6E 20 61 6C 72 65 61 64 79 is open already
000140: 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 :..
000150: 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D Carry false..
000160: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000170: 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 Zero false...
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 A
000190: 63 6F 6E 74 61 69 6E 73 20 61 6E 20 65 72 72 6F contains an erro
0001A0: 72 20 6E 75 6D 62 65 72 20 28 23 30 45 29 2E 0D r number (#0E)..
0001B0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001C0: 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 HL corrupt...
0001D0: 20 20 20 20 20 49 66 20 74 68 65 20 6F 70 65 6E If the open
0001E0: 20 66 61 69 6C 65 64 20 66 6F 72 20 61 6E 79 20 failed for any
0001F0: 6F 74 68 65 72 20 72 65 61 73 6F 6E 3A 0D 0A 20 other reason:..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
000010: 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 20 20 20 arry false...
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 5A 65 72 Zer
000030: 6F 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 20 o true...
000040: 20 20 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 A conta
000050: 69 6E 73 20 61 20 65 72 72 6F 72 20 6E 75 6D 62 ins a error numb
000060: 65 72 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 er...
000070: 20 20 20 20 20 48 4C 20 63 6F 72 72 75 70 74 2E HL corrupt.
000080: 0D 0A 20 20 20 20 20 20 20 41 6C 77 61 79 73 3A .. Always:
000090: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000A0: 20 20 42 43 2C 44 45 2C 49 58 20 61 6E 64 20 6F BC,DE,IX and o
0000B0: 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 72 75 ther flags corru
0000C0: 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 pt...
0000D0: 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 All other r
0000E0: 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 egisters preserv
0000F0: 65 64 2E 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 ed... Note
000100: 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 57 68 65 s:.... Whe
000110: 6E 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 n characters are
000120: 20 6F 75 74 70 75 74 20 74 6F 20 74 68 65 20 66 output to the f
000130: 69 6C 65 20 75 73 69 6E 67 20 43 41 53 20 4F 55 ile using CAS OU
000140: 54 20 43 48 41 52 20 61 20 32 4B 20 20 62 75 66 T CHAR a 2K buf
000150: 66 65 72 0D 0A 20 20 20 20 20 20 20 73 75 70 70 fer.. supp
000160: 6C 69 65 64 20 69 73 20 75 73 65 64 20 62 79 20 lied is used by
000170: 41 4D 53 44 4F 53 20 74 6F 20 62 75 66 66 65 72 AMSDOS to buffer
000180: 20 74 68 65 20 6F 75 74 70 75 74 2E 20 49 74 20 the output. It
000190: 77 69 6C 6C 20 72 65 6D 61 69 6E 20 69 6E 20 75 will remain in u
0001A0: 73 65 0D 0A 20 20 20 20 20 20 20 75 6E 74 69 6C se.. until
0001B0: 20 74 68 65 20 66 69 6C 65 20 69 73 20 63 6C 6F the file is clo
0001C0: 73 65 64 20 62 79 20 63 61 6C 6C 69 6E 67 20 65 sed by calling e
0001D0: 69 74 68 65 72 20 43 41 53 20 4F 55 54 20 43 4C ither CAS OUT CL
0001E0: 4F 53 45 20 20 6F 72 20 20 43 41 53 20 20 4F 55 OSE or CAS OU
0001F0: 54 0D 0A 20 20 20 20 20 20 20 41 42 41 4E 44 4F T.. ABANDO
Size : 512 (Real : 512)
000000: 4E 2E 20 54 68 65 20 62 75 66 66 65 72 20 6D 61 N. The buffer ma
000010: 79 20 72 65 73 69 64 65 20 61 6E 79 77 68 65 72 y reside anywher
000020: 65 20 69 6E 20 6D 65 6D 6F 72 79 20 2D 20 65 76 e in memory - ev
000030: 65 6E 20 75 6E 64 65 72 6E 65 61 74 68 20 20 61 en underneath a
000040: 0D 0A 20 20 20 20 20 20 20 52 4F 4D 2E 0D 0A 0D .. ROM....
000050: 0A 20 20 20 20 20 20 20 54 68 65 20 66 69 6C 65 . The file
000060: 6E 61 6D 65 20 70 61 73 73 65 64 20 6D 75 73 74 name passed must
000070: 20 63 6F 6E 66 6F 72 6D 20 74 6F 20 41 4D 53 44 conform to AMSD
000080: 4F 53 20 63 6F 6E 76 65 6E 74 69 6F 6E 73 20 20 OS conventions
000090: 77 69 74 68 20 20 6E 6F 20 20 77 69 6C 64 0D 0A with no wild..
0000A0: 20 20 20 20 20 20 20 63 61 72 64 73 2E 20 49 74 cards. It
0000B0: 20 69 73 20 63 6F 70 69 65 64 20 69 6E 74 6F 20 is copied into
0000C0: 74 68 65 20 77 72 69 74 65 20 73 74 72 65 61 6D the write stream
0000D0: 20 68 65 61 64 65 72 2E 20 54 68 65 20 66 69 6C header. The fil
0000E0: 65 6E 61 6D 65 20 6D 79 20 20 6C 69 65 0D 0A 20 ename my lie..
0000F0: 20 20 20 20 20 20 61 6E 79 77 68 65 72 65 20 69 anywhere i
000100: 6E 20 52 41 4D 20 2D 20 65 76 65 6E 20 75 6E 64 n RAM - even und
000110: 65 72 6E 65 61 74 68 20 61 20 52 4F 4D 2E 0D 0A erneath a ROM...
000120: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 66 69 6C .. The fil
000130: 65 20 69 73 20 6F 70 65 6E 65 64 20 77 69 74 68 e is opened with
000140: 20 61 20 74 79 70 65 20 70 61 72 74 20 6F 66 20 a type part of
000150: 27 2E 24 24 24 27 20 72 65 67 61 72 64 6C 65 73 '.$$$' regardles
000160: 73 20 6F 66 20 20 74 68 65 20 20 74 79 70 65 0D s of the type.
000170: 0A 20 20 20 20 20 20 20 70 61 72 74 20 73 75 70 . part sup
000180: 70 6C 69 65 64 2E 20 41 6E 79 20 65 78 69 73 74 plied. Any exist
000190: 69 6E 67 20 66 69 6C 65 20 77 69 74 68 20 74 68 ing file with th
0001A0: 65 20 73 61 6D 65 20 6E 61 6D 65 20 61 6E 64 20 e same name and
0001B0: 74 79 70 65 20 20 70 61 72 74 20 20 6F 66 0D 0A type part of..
0001C0: 20 20 20 20 20 20 20 27 2E 24 24 24 27 20 69 73 '.$$$' is
0001D0: 20 64 65 6C 65 74 65 64 2E 20 54 68 65 20 66 69 deleted. The fi
0001E0: 6C 65 20 69 73 20 72 65 6E 61 6D 65 64 20 74 6F le is renamed to
0001F0: 20 69 74 73 20 73 75 70 70 6C 69 65 64 20 6E 61 its supplied na
Size : 512 (Real : 512)
000000: 6D 65 20 20 77 68 65 6E 20 20 43 41 53 0D 0A 20 me when CAS..
000010: 20 20 20 20 20 20 4F 55 54 20 43 4C 4F 53 45 20 OUT CLOSE
000020: 69 73 20 63 61 6C 6C 65 64 2E 0D 0A 0D 0A 20 20 is called.....
000030: 20 20 20 20 20 57 68 65 6E 20 74 68 65 20 73 74 When the st
000040: 72 65 61 6D 20 69 73 20 6F 70 65 6E 65 64 20 61 ream is opened a
000050: 61 20 68 65 61 64 65 72 20 69 73 20 73 65 74 20 a header is set
000060: 75 70 2E 20 4D 61 6E 79 20 6F 66 20 74 68 65 20 up. Many of the
000070: 20 66 69 65 6C 64 73 20 20 69 6E 0D 0A 20 20 20 fields in..
000080: 20 20 20 20 74 68 65 20 68 65 61 64 65 72 20 61 the header a
000090: 72 65 20 73 65 74 20 62 79 20 41 4D 53 44 4F 53 re set by AMSDOS
0000A0: 20 62 75 74 20 74 68 65 20 72 65 6D 61 69 6E 64 but the remaind
0000B0: 65 72 20 61 72 65 20 61 76 61 69 6C 61 62 6C 65 er are available
0000C0: 20 20 66 6F 72 20 20 75 73 65 0D 0A 20 20 20 20 for use..
0000D0: 20 20 20 62 79 20 74 68 65 20 75 73 65 72 2E 20 by the user.
0000E0: 54 68 65 20 61 64 64 72 65 73 73 20 6F 66 20 74 The address of t
0000F0: 68 69 73 20 68 65 61 64 65 72 20 69 73 20 70 61 his header is pa
000100: 73 73 65 64 20 74 6F 20 74 68 65 20 75 73 65 72 ssed to the user
000110: 20 20 73 6F 20 20 74 68 65 0D 0A 20 20 20 20 20 so the..
000120: 20 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 63 61 information ca
000130: 6E 20 62 65 20 73 74 6F 72 65 64 20 69 6E 20 69 n be stored in i
000140: 74 2E 20 54 68 65 20 75 73 65 72 20 6D 61 79 20 t. The user may
000150: 77 72 69 74 65 20 74 6F 20 74 68 65 20 66 69 6C write to the fil
000160: 65 20 20 74 79 70 65 2C 0D 0A 20 20 20 20 20 20 e type,..
000170: 20 6C 6F 67 69 63 61 6C 20 6C 65 6E 67 74 68 2C logical length,
000180: 20 65 6E 74 72 79 20 70 6F 69 6E 74 20 61 6E 64 entry point and
000190: 20 61 6C 6C 20 20 6F 74 68 65 72 20 20 66 69 65 all other fie
0001A0: 6C 64 73 2E 20 20 54 68 65 20 20 75 73 65 20 20 lds. The use
0001B0: 69 73 20 20 6E 6F 74 0D 0A 20 20 20 20 20 20 20 is not..
0001C0: 61 6C 6C 6F 77 65 64 20 74 6F 20 77 72 69 74 65 allowed to write
0001D0: 20 74 6F 20 61 6E 79 20 6F 74 68 65 72 20 66 69 to any other fi
0001E0: 65 6C 64 20 6F 66 20 74 68 65 20 68 65 61 64 65 eld of the heade
0001F0: 72 2E 20 54 68 65 20 20 75 73 65 72 20 20 73 65 r. The user se
Size : 512 (Real : 512)
000000: 74 61 62 6C 65 0D 0A 20 20 20 20 20 20 20 66 69 table.. fi
000010: 65 6C 64 73 20 61 72 65 20 61 6C 6C 20 7A 65 72 elds are all zer
000020: 6F 69 7A 65 64 20 69 6E 69 74 69 61 6C 6C 79 2C oized initially,
000030: 20 77 69 74 68 20 74 68 65 20 65 78 63 65 70 74 with the except
000040: 69 6F 6E 20 6F 66 20 74 68 65 20 66 69 6C 65 20 ion of the file
000050: 74 79 70 65 0D 0A 20 20 20 20 20 20 20 77 68 69 type.. whi
000060: 63 68 20 69 73 20 73 65 74 20 74 6F 20 75 6E 70 ch is set to unp
000070: 72 6F 74 65 63 74 65 64 20 41 53 43 49 49 20 76 rotected ASCII v
000080: 65 72 73 69 6F 6E 20 31 2E 0D 0A 0D 0A 20 20 20 ersion 1.....
000090: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
0000A0: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
0000B0: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
0000D0: 61 67 65 20 31 35 2E 31 34 38 0D 0A 0D 0A 0D 0A age 15.148......
0000E0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ........ T
0000F0: 68 65 20 68 65 61 64 65 72 20 74 79 70 65 20 66 he header type f
000100: 69 65 6C 64 20 6D 75 73 74 20 62 65 20 77 72 69 ield must be wri
000110: 74 74 65 6E 20 74 6F 20 62 65 66 6F 72 65 20 43 tten to before C
000120: 41 53 20 4F 55 54 20 20 43 48 41 52 20 20 6F 72 AS OUT CHAR or
000130: 20 20 43 41 53 0D 0A 20 20 20 20 20 20 20 4F 55 CAS.. OU
000140: 54 20 44 49 52 45 43 54 20 69 73 20 63 61 6C 6C T DIRECT is call
000150: 65 64 2E 20 54 68 65 20 74 79 70 65 20 66 69 65 ed. The type fie
000160: 6C 64 20 6D 75 73 74 20 6E 6F 74 20 62 65 20 61 ld must not be a
000170: 6C 74 65 72 65 64 20 61 66 74 65 72 20 63 61 6C ltered after cal
000180: 6C 69 6E 67 0D 0A 20 20 20 20 20 20 20 65 69 74 ling.. eit
000190: 68 65 72 20 6F 66 20 74 68 65 73 65 20 72 6F 75 her of these rou
0001A0: 74 69 6E 65 73 2E 20 49 66 20 74 68 65 20 66 69 tines. If the fi
0001B0: 6C 65 20 74 79 70 65 20 69 73 20 73 65 74 20 74 le type is set t
0001C0: 6F 20 20 61 6E 79 20 20 74 79 70 65 20 20 6F 74 o any type ot
0001D0: 68 65 72 0D 0A 20 20 20 20 20 20 20 74 68 61 6E her.. than
0001E0: 20 75 6E 70 72 6F 74 65 63 74 65 64 20 41 53 43 unprotected ASC
0001F0: 49 49 20 74 68 65 6E 20 73 70 61 63 65 20 77 69 II then space wi
Size : 512 (Real : 512)
000000: 6C 6C 20 62 65 20 20 70 72 65 73 65 72 76 65 64 ll be preserved
000010: 20 20 66 6F 72 20 20 74 68 65 20 20 68 65 61 64 for the head
000020: 65 72 0D 0A 20 20 20 20 20 20 20 77 68 69 63 68 er.. which
000030: 20 77 68 65 6E 20 74 68 65 20 66 69 6C 65 20 69 when the file i
000040: 73 20 63 6C 6F 73 65 64 2E 0D 0A 0D 0A 0D 0A 0D s closed........
000050: 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 . Related
000060: 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 entries:......
000070: 20 20 20 20 20 43 41 53 20 49 4E 20 4F 50 45 4E CAS IN OPEN
000080: 20 28 44 49 53 43 29 0D 0A 20 20 20 20 20 20 20 (DISC)..
000090: 43 41 53 20 4F 55 54 20 41 42 41 4E 44 4F 4E 20 CAS OUT ABANDON
0000A0: 28 44 49 53 43 29 0D 0A 20 20 20 20 20 20 20 43 (DISC).. C
0000B0: 41 53 20 4F 55 54 20 43 48 41 52 20 28 44 49 53 AS OUT CHAR (DIS
0000C0: 43 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 4F C).. CAS O
0000D0: 55 54 20 43 4C 4F 53 45 20 28 44 49 53 43 29 0D UT CLOSE (DISC).
0000E0: 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 54 20 . CAS OUT
0000F0: 44 49 52 45 43 54 20 28 44 49 53 43 29 0D 0A 20 DIRECT (DISC)..
000100: 20 20 20 20 20 20 43 41 53 20 4F 55 54 20 4F 50 CAS OUT OP
000110: 45 4E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A EN..............
000120: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000130: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000140: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000150: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000160: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
000170: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
000180: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 20 20 20 20 20 20 20 70 61 67 65 20 31 page 1
0001B0: 35 2E 31 34 39 0D 0A 1A 20 31 35 2E 31 35 30 0D 5.149... 15.150.
0001C0: 0A 1A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001D0: 20 20 20 20 23 42 43 38 33 0D 0A 0D 0A 20 20 20 #BC83....
0001E0: 20 20 20 20 52 65 61 64 20 74 68 65 20 69 6E 70 Read the inp
0001F0: 75 74 20 66 69 6C 65 20 69 6E 74 6F 20 73 74 6F ut file into sto
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000010: 20 20 20 31 33 33 3A 20 43 41 53 20 4F 55 54 20 133: CAS OUT
000020: 43 4C 4F 53 45 20 20 20 20 20 20 20 20 20 20 20 CLOSE
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 23 42 43 38 46 0D 0A 0D 0A 20 20 20 #BC8F....
000060: 20 20 20 20 43 6C 6F 73 65 20 74 68 65 20 6F 75 Close the ou
000070: 74 70 75 74 20 66 69 6C 65 20 70 72 6F 70 65 72 tput file proper
000080: 6C 79 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 ly..... Ac
000090: 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 tion:....
0000A0: 4D 61 72 6B 20 74 68 65 20 77 72 69 74 65 20 73 Mark the write s
0000B0: 74 72 65 61 6D 20 61 73 20 63 6C 6F 73 65 64 20 tream as closed
0000C0: 61 6E 64 20 77 72 69 74 65 20 74 68 65 20 6C 61 and write the la
0000D0: 73 74 20 62 75 66 66 65 72 20 61 72 65 61 20 6F st buffer area o
0000E0: 66 20 64 61 74 61 0D 0A 0D 0A 20 20 20 20 20 20 f data....
0000F0: 20 74 6F 20 74 61 70 65 2E 0D 0A 0D 0A 20 20 20 to tape.....
000100: 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 Entry condit
000110: 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 ions:....
000120: 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A No conditions...
000130: 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F .. Exit co
000140: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 nditions:....
000150: 20 20 20 20 49 66 20 74 68 65 20 73 74 72 65 61 If the strea
000160: 6D 20 77 61 73 20 63 6C 6F 73 65 64 20 4F 4B 3A m was closed OK:
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000180: 20 20 20 20 43 61 72 72 79 20 74 72 75 65 2E 0D Carry true..
000190: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001A0: 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 Zero false...
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 A
0001C0: 63 6F 72 72 75 70 74 2E 0D 0A 0D 0A 20 20 20 20 corrupt.....
0001D0: 20 20 20 49 66 20 74 68 65 20 73 74 72 65 61 6D If the stream
0001E0: 20 69 73 20 6E 6F 74 20 6F 70 65 6E 3A 0D 0A 0D is not open:...
0001F0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
Size : 512 (Real : 512)
000000: 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 20 Carry false...
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A Z
000020: 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 ero false...
000030: 20 20 20 20 20 20 20 20 20 20 20 20 49 6E 20 56 In V
000040: 31 2E 31 3A 20 41 20 63 6F 6E 74 61 69 6E 73 20 1.1: A contains
000050: 61 6E 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 an error number
000060: 28 23 30 45 29 2E 0D 0A 20 20 20 20 20 20 20 20 (#0E)...
000070: 20 20 20 20 20 20 20 20 49 6E 20 56 31 2E 30 3A In V1.0:
000080: 20 41 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 A corrupt...
000090: 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 20 20 20 Always:..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 43 2C BC,
0000B0: 20 44 45 2C 20 48 4C 2C 20 49 58 20 61 6E 64 20 DE, HL, IX and
0000C0: 6F 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 72 other flags corr
0000D0: 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 upt...
0000E0: 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 20 All other
0000F0: 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 registers preser
000100: 76 65 64 2E 0D 0A 20 20 20 20 20 20 20 4E 6F 74 ved... Not
000110: 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 es:.... Th
000120: 69 73 20 72 6F 75 74 69 6E 65 20 63 61 6E 20 72 is routine can r
000130: 65 74 75 72 6E 20 74 77 6F 20 65 72 72 6F 72 20 eturn two error
000140: 6E 75 6D 62 65 72 73 3A 0D 0A 0D 0A 20 20 20 20 numbers:....
000150: 20 20 20 20 20 20 20 20 20 20 20 20 23 30 30 3A #00:
000160: 20 20 20 20 20 20 54 68 65 20 75 73 65 72 20 68 The user h
000170: 69 74 20 65 73 63 61 70 65 2E 0D 0A 20 20 20 20 it escape...
000180: 20 20 20 20 20 20 20 20 20 20 20 20 23 30 45 3A #0E:
000190: 20 20 20 20 20 20 54 68 65 20 73 74 72 65 61 6D The stream
0001A0: 20 69 73 20 6E 6F 74 20 6F 70 65 6E 2E 0D 0A 0D is not open....
0001B0: 0A 20 20 20 20 20 20 20 49 74 20 69 73 20 6E 65 . It is ne
0001C0: 63 65 73 73 61 72 79 20 74 6F 20 63 61 6C 6C 20 cessary to call
0001D0: 74 68 69 73 20 72 6F 75 74 69 6E 65 20 61 66 74 this routine aft
0001E0: 65 72 20 75 73 69 6E 67 20 43 41 53 20 4F 55 54 er using CAS OUT
0001F0: 20 43 48 41 52 20 20 6F 72 20 20 43 41 53 0D 0A CHAR or CAS..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 4F 55 54 20 44 49 52 45 43 OUT DIREC
000010: 54 20 74 6F 20 63 61 75 73 65 20 74 68 65 20 6C T to cause the l
000020: 61 73 74 20 62 6C 6F 63 6B 20 6F 66 20 64 61 74 ast block of dat
000030: 61 20 74 6F 20 62 65 20 77 72 69 74 74 65 6E 20 a to be written
000040: 74 6F 20 74 68 65 20 20 74 61 70 65 2E 0D 0A 20 to the tape...
000050: 20 20 20 20 20 20 49 66 20 74 68 65 20 62 6C 6F If the blo
000060: 63 6B 20 69 73 20 7A 65 72 6F 20 62 79 74 65 73 ck is zero bytes
000070: 20 6C 6F 6E 67 20 28 6E 6F 74 68 69 6E 67 20 68 long (nothing h
000080: 61 73 20 62 65 65 6E 20 77 72 69 74 74 65 6E 20 as been written
000090: 74 6F 20 74 68 65 20 66 69 6C 65 29 0D 0A 20 20 to the file)..
0000A0: 20 20 20 20 20 74 68 65 6E 20 6E 6F 74 68 69 6E then nothin
0000B0: 67 20 69 73 20 77 72 69 74 74 65 6E 20 74 6F 20 g is written to
0000C0: 74 61 70 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 tape.....
0000D0: 49 66 20 77 72 69 74 69 6E 67 20 69 73 20 74 6F If writing is to
0000E0: 20 62 65 20 61 62 61 6E 64 6F 6E 65 64 20 74 68 be abandoned th
0000F0: 65 20 43 41 53 20 4F 55 54 20 4F 50 45 4E 20 20 e CAS OUT OPEN
000100: 73 68 6F 75 6C 64 20 20 62 65 20 20 63 61 6C 6C should be call
000110: 65 64 20 20 61 73 0D 0A 20 20 20 20 20 20 20 74 ed as.. t
000120: 68 69 73 20 64 6F 65 73 20 6E 6F 74 20 77 72 69 his does not wri
000130: 74 65 20 74 68 65 20 6C 61 73 74 20 62 6C 6F 63 te the last bloc
000140: 6B 20 6F 66 20 64 61 74 61 20 74 6F 20 74 68 65 k of data to the
000150: 20 74 61 70 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 tape.....
000160: 20 49 66 20 74 68 65 20 75 73 65 72 20 68 69 74 If the user hit
000170: 73 20 65 73 63 61 70 65 20 64 75 72 69 6E 67 20 s escape during
000180: 74 68 65 20 77 72 69 74 69 6E 67 20 6F 66 20 74 the writing of t
000190: 68 65 20 6C 61 73 74 20 62 6C 6F 63 6B 20 74 68 he last block th
0001A0: 65 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 en the..
0001B0: 66 69 6C 65 20 69 73 20 6C 65 66 74 20 6F 70 65 file is left ope
0001C0: 6E 20 61 6E 64 20 69 73 20 6E 6F 74 20 63 6C 6F n and is not clo
0001D0: 73 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 sed..... T
0001E0: 68 65 20 75 73 65 72 20 6D 61 79 20 72 65 63 6C he user may recl
0001F0: 61 69 6D 20 74 68 65 20 62 75 66 66 65 72 20 70 aim the buffer p
Size : 512 (Real : 512)
000000: 61 73 73 65 64 20 74 6F 20 43 41 53 20 4F 55 54 assed to CAS OUT
000010: 20 4F 50 45 4E 20 20 61 66 74 65 72 20 20 63 61 OPEN after ca
000020: 6C 6C 69 6E 67 0D 0A 20 20 20 20 20 20 20 74 68 lling.. th
000030: 69 73 20 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A 20 is routine.....
000040: 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E Related en
000050: 74 72 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tries:....
000060: 20 43 41 53 20 49 4E 20 43 4C 4F 53 45 0D 0A 20 CAS IN CLOSE..
000070: 20 20 20 20 20 20 43 41 53 20 4F 55 54 20 41 42 CAS OUT AB
000080: 41 4E 44 4F 4E 0D 0A 20 20 20 20 20 20 20 43 41 ANDON.. CA
000090: 53 20 4F 55 54 20 43 4C 4F 53 45 20 28 44 49 53 S OUT CLOSE (DIS
0000A0: 43 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 4F C).. CAS O
0000B0: 55 54 20 4F 50 45 4E 0D 0A 0D 0A 20 20 20 20 20 UT OPEN....
0000C0: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
0000D0: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
0000E0: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
000100: 65 20 31 35 2E 31 35 30 0D 0A 0D 0A 0D 0A 0D 0A e 15.150........
000110: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 33 33 ...... 133
000120: 3A 20 43 41 53 20 4F 55 54 20 43 4C 4F 53 45 20 : CAS OUT CLOSE
000130: 28 44 49 53 43 29 20 20 20 20 20 20 20 20 20 20 (DISC)
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 #B
000160: 43 38 46 0D 0A 0D 0A 20 20 20 20 20 20 20 43 6C C8F.... Cl
000170: 6F 73 65 20 74 68 65 20 6F 75 74 70 75 74 20 66 ose the output f
000180: 69 6C 65 20 70 72 6F 70 65 72 6C 79 2E 0D 0A 0D ile properly....
000190: 0A 20 20 20 20 20 20 20 41 63 74 69 6F 6E 3A 0D . Action:.
0001A0: 0A 0D 0A 20 20 20 20 20 20 20 4D 61 72 6B 20 74 ... Mark t
0001B0: 68 65 20 77 72 69 74 65 20 73 74 72 65 61 6D 20 he write stream
0001C0: 61 73 20 63 6C 6F 73 65 64 20 61 6E 64 20 67 69 as closed and gi
0001D0: 76 65 20 69 74 20 69 74 73 20 63 6F 72 72 65 63 ve it its correc
0001E0: 74 20 6E 61 6D 65 2E 0D 0A 0D 0A 20 20 20 20 20 t name.....
0001F0: 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F Entry conditio
Size : 512 (Real : 512)
000000: 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F ns:.... No
000010: 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A 0D 0A conditions.....
000020: 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E 64 Exit cond
000030: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
000040: 20 20 20 20 49 66 20 74 68 65 20 73 74 72 65 61 If the strea
000050: 6D 20 77 61 73 20 63 6C 6F 73 65 64 20 4F 4B 3A m was closed OK:
000060: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 ......
000070: 20 20 20 20 20 20 43 61 72 72 79 20 74 72 75 65 Carry true
000080: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000090: 20 20 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0A Zero false...
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 41 20 63 6F 72 72 75 70 74 2E 0D 0A 0D 0A 0D 0A A corrupt.......
0000C0: 20 20 20 20 20 20 20 49 66 20 74 68 65 20 73 74 If the st
0000D0: 72 65 61 6D 20 69 73 20 6E 6F 74 20 6F 70 65 6E ream is not open
0000E0: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 :......
0000F0: 20 20 20 20 20 20 20 43 61 72 72 79 20 66 61 6C Carry fal
000100: 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 se...
000110: 20 20 20 20 20 5A 65 72 6F 20 66 61 6C 73 65 2E Zero false.
000120: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000130: 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 A contains an
000140: 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 28 23 30 error number (#0
000150: 45 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 E).......
000160: 49 66 20 74 68 65 20 63 6C 6F 73 65 20 66 61 69 If the close fai
000170: 6C 65 64 20 66 6F 72 20 61 6E 79 20 6F 74 68 65 led for any othe
000180: 72 20 72 65 61 73 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 r reason:......
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
0001A0: 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 20 20 20 arry false...
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 5A 65 72 Zer
0001C0: 6F 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 20 o true...
0001D0: 20 20 20 20 20 20 20 20 20 41 20 63 6F 6E 74 61 A conta
0001E0: 69 6E 73 20 61 6E 20 65 72 72 6F 72 20 6E 75 6D ins an error num
0001F0: 62 65 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ber.......
Size : 512 (Real : 512)
000000: 20 41 6C 77 61 79 73 3A 0D 0A 0D 0A 20 20 20 20 Always:....
000010: 20 20 20 20 20 20 20 20 20 20 20 20 42 43 2C 44 BC,D
000020: 45 2C 48 4C 2C 49 58 20 61 6E 64 20 6F 74 68 65 E,HL,IX and othe
000030: 72 20 66 6C 61 67 73 20 63 6F 72 72 75 70 74 2E r flags corrupt.
000040: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000050: 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 All other regi
000060: 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E sters preserved.
000070: 0D 0A 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 .... Notes
000080: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 74 :...... It
000090: 20 69 73 20 6E 65 63 65 73 73 61 72 79 20 74 6F is necessary to
0000A0: 20 63 61 6C 6C 20 74 68 69 73 20 72 6F 75 74 69 call this routi
0000B0: 6E 65 20 61 66 74 65 72 20 75 73 69 6E 67 20 43 ne after using C
0000C0: 41 53 20 4F 55 54 20 43 48 41 52 20 20 6F 72 20 AS OUT CHAR or
0000D0: 20 43 41 53 0D 0A 20 20 20 20 20 20 20 4F 55 54 CAS.. OUT
0000E0: 20 44 49 52 45 43 54 20 74 6F 20 65 6E 73 75 72 DIRECT to ensur
0000F0: 65 20 74 68 61 74 20 61 6C 6C 20 74 68 65 20 64 e that all the d
000100: 61 74 61 20 69 73 20 20 77 72 69 74 74 65 6E 20 ata is written
000110: 20 74 6F 20 20 74 68 65 20 20 64 69 73 63 2C 20 to the disc,
000120: 20 74 6F 0D 0A 20 20 20 20 20 20 20 77 72 69 74 to.. writ
000130: 65 20 74 68 65 20 68 65 61 64 65 72 20 74 6F 20 e the header to
000140: 74 68 65 20 73 74 61 72 74 20 6F 66 20 74 68 65 the start of the
000150: 20 66 69 6C 65 20 61 6E 64 20 74 6F 20 20 67 69 file and to gi
000160: 76 65 20 20 74 68 65 20 20 66 69 6C 65 20 20 69 ve the file i
000170: 74 73 0D 0A 20 20 20 20 20 20 20 74 72 75 65 20 ts.. true
000180: 6E 61 6D 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 name.......
000190: 20 20 49 66 20 6E 6F 20 64 61 74 61 20 68 61 73 If no data has
0001A0: 20 62 65 65 6E 20 77 72 69 74 74 65 6E 20 74 6F been written to
0001B0: 20 74 68 65 20 20 66 69 6C 65 20 20 74 68 65 6E the file then
0001C0: 20 20 69 74 20 20 69 73 20 20 61 62 61 6E 64 6F it is abando
0001D0: 6E 65 64 20 20 61 6E 64 0D 0A 20 20 20 20 20 20 ned and..
0001E0: 20 6E 6F 74 68 69 6E 67 20 69 73 20 77 72 69 74 nothing is writ
0001F0: 74 65 6E 20 74 6F 20 64 69 73 63 2E 20 54 68 69 ten to disc. Thi
Size : 512 (Real : 512)
000000: 73 20 69 73 20 66 6F 72 20 20 63 6F 6D 70 61 74 s is for compat
000010: 61 62 69 6C 69 74 79 20 20 77 69 74 68 20 20 63 ability with c
000020: 61 73 73 65 74 74 65 0D 0A 20 20 20 20 20 20 20 assette..
000030: 72 6F 75 74 69 6E 65 73 2E 0D 0A 0D 0A 0D 0A 0D routines........
000040: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
000050: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000060: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 FIRMWARE
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 70 61 67 65 20 31 35 2E 31 35 31 0D 0A page 15.151..
000090: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
0000A0: 20 20 20 57 68 65 6E 20 74 68 65 20 66 69 6C 65 When the file
0000B0: 20 77 61 73 20 6F 70 65 6E 65 64 20 69 74 20 77 was opened it w
0000C0: 61 73 20 67 69 76 65 6E 20 74 68 65 20 74 79 70 as given the typ
0000D0: 65 20 70 61 72 74 20 20 6F 66 20 20 27 2E 24 24 e part of '.$$
0000E0: 24 27 2E 20 20 54 68 69 73 0D 0A 20 20 20 20 20 $'. This..
0000F0: 20 20 72 6F 75 74 69 6E 65 20 77 69 6C 6C 20 72 routine will r
000100: 65 6E 61 6D 65 20 74 68 65 20 66 69 6C 65 20 74 ename the file t
000110: 6F 20 69 74 73 20 74 72 75 65 20 6E 61 6D 65 20 o its true name
000120: 61 6E 64 20 72 65 6E 61 6D 65 20 61 6E 79 20 20 and rename any
000130: 65 78 69 73 74 69 6E 67 0D 0A 20 20 20 20 20 20 existing..
000140: 20 76 65 72 73 69 6F 6E 20 74 6F 20 68 61 76 65 version to have
000150: 20 61 20 27 2E 42 41 4B 27 20 74 79 70 65 20 70 a '.BAK' type p
000160: 61 72 74 2E 20 54 68 69 73 20 20 65 6E 73 75 72 art. This ensur
000170: 65 73 20 20 74 68 61 74 20 20 61 6E 79 20 20 70 es that any p
000180: 72 65 76 69 6F 75 73 0D 0A 20 20 20 20 20 20 20 revious..
000190: 76 65 72 73 69 6F 6E 20 6F 66 20 74 68 65 20 66 version of the f
0001A0: 69 6C 65 20 69 73 20 61 75 74 6F 6D 61 74 69 63 ile is automatic
0001B0: 61 6C 6C 79 20 6B 65 70 74 20 61 73 20 61 20 20 ally kept as a
0001C0: 62 61 63 6B 75 70 2E 20 20 41 6E 79 20 20 65 78 backup. Any ex
0001D0: 69 73 74 69 6E 67 0D 0A 20 20 20 20 20 20 20 27 isting.. '
0001E0: 2E 42 41 4B 27 20 76 65 72 73 69 6F 6E 20 69 73 .BAK' version is
0001F0: 20 64 65 6C 65 74 65 64 2E 20 49 66 2C 20 77 68 deleted. If, wh
Size : 512 (Real : 512)
000000: 65 6E 20 74 68 65 20 66 69 6C 65 20 77 61 73 20 en the file was
000010: 20 6F 70 65 6E 65 64 2C 20 20 74 68 65 20 20 63 opened, the c
000020: 61 6C 6C 65 72 0D 0A 20 20 20 20 20 20 20 64 69 aller.. di
000030: 64 20 6E 6F 74 20 73 70 65 63 69 66 79 20 74 68 d not specify th
000040: 65 20 74 79 70 65 20 70 61 72 74 20 74 68 65 6E e type part then
000050: 20 20 41 4D 53 44 4F 53 20 20 77 69 6C 6C 20 20 AMSDOS will
000060: 75 73 65 20 20 74 68 65 20 20 74 79 70 65 20 20 use the type
000070: 70 61 72 74 0D 0A 20 20 20 20 20 20 20 27 2E 42 part.. '.B
000080: 41 53 27 20 66 6F 72 20 42 41 53 49 43 20 66 69 AS' for BASIC fi
000090: 6C 65 73 2C 20 27 2E 42 49 4E 27 20 66 6F 72 20 les, '.BIN' for
0000A0: 62 69 6E 61 72 79 20 66 69 6C 65 73 20 61 6E 64 binary files and
0000B0: 20 27 2E 20 27 20 66 6F 72 20 61 6C 6C 20 6F 74 '. ' for all ot
0000C0: 68 65 72 0D 0A 20 20 20 20 20 20 20 66 69 6C 65 her.. file
0000D0: 73 2C 20 61 73 20 73 70 65 63 69 66 69 65 64 20 s, as specified
0000E0: 62 79 20 74 68 65 20 66 69 6C 65 20 74 79 70 65 by the file type
0000F0: 20 66 69 65 6C 64 20 69 6E 20 74 68 65 20 68 65 field in the he
000100: 61 64 65 72 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 ader.........
000110: 20 20 20 20 49 66 20 74 68 65 20 61 63 74 75 61 If the actua
000120: 6C 20 6C 65 6E 67 74 68 20 6F 66 20 74 68 65 20 l length of the
000130: 66 69 6C 65 20 69 73 20 6E 6F 74 20 61 20 6D 75 file is not a mu
000140: 6C 74 69 70 6C 65 20 20 6F 66 20 20 31 32 38 20 ltiple of 128
000150: 20 62 79 74 65 73 20 20 28 61 0D 0A 20 20 20 20 bytes (a..
000160: 20 20 20 43 50 2F 4D 20 72 65 63 6F 72 64 29 20 CP/M record)
000170: 74 68 65 6E 20 61 20 43 50 2F 4D 20 65 6E 64 20 then a CP/M end
000180: 6F 66 20 66 69 6C 65 20 63 68 61 72 61 63 74 65 of file characte
000190: 72 2C 20 23 31 41 2C 20 69 73 20 61 64 64 65 64 r, #1A, is added
0001A0: 20 20 74 6F 20 20 74 68 65 0D 0A 20 20 20 20 20 to the..
0001B0: 20 20 66 69 6C 65 2E 20 54 68 69 73 20 61 64 64 file. This add
0001C0: 69 74 69 6F 6E 61 6C 20 63 68 61 72 61 63 74 65 itional characte
0001D0: 72 20 69 73 20 6E 6F 74 20 72 65 63 6F 72 64 65 r is not recorde
0001E0: 64 20 69 6E 20 74 68 65 20 6C 65 6E 67 74 68 20 d in the length
0001F0: 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 of the..
Size : 512 (Real : 512)
000000: 20 66 69 6C 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 file.........
000010: 20 20 20 20 20 49 66 20 77 72 69 74 69 6E 67 20 If writing
000020: 69 73 20 74 6F 20 62 65 20 61 62 61 6E 64 6F 6E is to be abandon
000030: 65 64 20 74 68 65 20 43 41 53 20 4F 55 54 20 4F ed the CAS OUT O
000040: 50 45 4E 20 20 73 68 6F 75 6C 64 20 20 62 65 20 PEN should be
000050: 20 63 61 6C 6C 65 64 20 20 61 73 0D 0A 20 20 20 called as..
000060: 20 20 20 20 74 68 69 73 20 64 6F 65 73 20 6E 6F this does no
000070: 74 20 77 72 69 74 65 20 61 6E 79 20 6D 6F 72 65 t write any more
000080: 20 64 61 74 61 20 74 6F 20 64 69 73 63 2E 0D 0A data to disc...
000090: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
0000A0: 20 75 73 65 72 20 6D 61 79 20 72 65 63 6C 61 69 user may reclai
0000B0: 6D 20 74 68 65 20 62 75 66 66 65 72 20 70 61 73 m the buffer pas
0000C0: 73 65 64 20 74 6F 20 43 41 53 20 4F 55 54 20 4F sed to CAS OUT O
0000D0: 50 45 4E 20 20 61 66 74 65 72 20 20 63 61 6C 6C PEN after call
0000E0: 69 6E 67 0D 0A 20 20 20 20 20 20 20 74 68 69 73 ing.. this
0000F0: 20 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A 0D 0A 0D routine........
000100: 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 65 ... Relate
000110: 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A d entries:......
000120: 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 .. CAS IN
000130: 43 4C 4F 53 45 20 28 44 49 53 43 29 0D 0A 20 20 CLOSE (DISC)..
000140: 20 20 20 20 20 43 41 53 20 4F 55 54 20 41 42 41 CAS OUT ABA
000150: 4E 44 4F 4E 20 28 44 49 53 43 29 0D 0A 20 20 20 NDON (DISC)..
000160: 20 20 20 20 43 41 53 20 4F 55 54 20 43 4C 4F 53 CAS OUT CLOS
000170: 45 0D 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 E.. CAS OU
000180: 54 20 4F 50 45 4E 20 28 44 49 53 43 29 0D 0A 0D T OPEN (DISC)...
000190: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0001A0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0001B0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
0001C0: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
0001D0: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
0001E0: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 pag
Size : 512 (Real : 512)
000000: 65 20 31 35 2E 31 35 32 0D 0A 0D 0A 0D 0A 0D 0A e 15.152........
000010: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 33 34 ...... 134
000020: 3A 20 43 41 53 20 4F 55 54 20 41 42 41 4E 44 4F : CAS OUT ABANDO
000030: 4E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 N
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 42 #B
000060: 43 39 32 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 C92......
000070: 43 6C 6F 73 65 20 69 6E 20 6F 75 74 70 75 74 20 Close in output
000080: 66 69 6C 65 20 69 6D 6D 65 64 69 61 74 65 6C 79 file immediately
000090: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 ....... Ac
0000A0: 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 tion:......
0000B0: 20 20 41 62 61 6E 64 6F 6E 20 74 68 65 20 20 6F Abandon the o
0000C0: 75 74 70 75 74 20 20 66 69 6C 65 20 20 61 6E 64 utput file and
0000D0: 20 20 6D 61 72 6B 20 20 74 68 65 20 20 77 72 69 mark the wri
0000E0: 74 65 20 20 73 74 72 65 61 6D 20 20 63 6C 6F 73 te stream clos
0000F0: 65 64 2E 20 20 41 6E 79 0D 0A 20 20 20 20 20 20 ed. Any..
000100: 20 75 6E 77 72 69 74 74 65 6E 20 64 61 74 61 20 unwritten data
000110: 69 73 20 64 69 73 63 61 72 64 65 64 20 61 6E 64 is discarded and
000120: 20 6E 6F 74 20 77 72 69 74 74 65 6E 20 74 6F 20 not written to
000130: 74 61 70 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 tape.......
000140: 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F Entry conditio
000150: 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns:......
000160: 4E 6F 20 63 6F 6E 64 69 74 69 6F 6E 73 2E 0D 0A No conditions...
000170: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 .... Exit
000180: 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D conditions:.....
000190: 0A 20 20 20 20 20 20 20 41 46 2C 20 42 43 2C 20 . AF, BC,
0001A0: 44 45 20 61 6E 64 20 48 4C 20 63 6F 72 72 75 70 DE and HL corrup
0001B0: 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 6F t... All o
0001C0: 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 ther registers p
0001D0: 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 reserved.......
0001E0: 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A Notes:....
0001F0: 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 6F .. This ro
Size : 512 (Real : 512)
000000: 75 74 69 6E 65 20 69 6E 20 20 69 6E 74 65 6E 64 utine in intend
000010: 65 64 20 20 66 6F 72 20 20 75 73 65 20 20 61 66 ed for use af
000020: 74 65 72 20 20 61 6E 20 20 65 72 72 6F 72 20 20 ter an error
000030: 6F 72 20 20 69 6E 20 20 73 69 6D 69 6C 61 72 0D or in similar.
000040: 0A 20 20 20 20 20 20 20 63 69 72 63 75 6D 73 74 . circumst
000050: 61 6E 63 65 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ances.........
000060: 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 Related ent
000070: 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ries:......
000080: 20 20 43 41 53 20 49 4E 20 41 42 41 4E 44 4F 4E CAS IN ABANDON
000090: 0D 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 54 .. CAS OUT
0000A0: 20 41 42 41 4E 44 4F 4E 20 28 44 49 53 43 29 0D ABANDON (DISC).
0000B0: 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 54 20 . CAS OUT
0000C0: 43 4C 4F 53 45 0D 0A 20 20 20 20 20 20 20 43 41 CLOSE.. CA
0000D0: 53 20 4F 55 54 20 4F 50 45 4E 0D 0A 0D 0A 0D 0A S OUT OPEN......
0000E0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
0000F0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
000100: 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 AMSTRAD C
000110: 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 PC464/664/6128 F
000120: 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 IRMWARE
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 20 20 70 61 67 65 20 31 35 2E 31 35 33 0D 0A 0D page 15.153...
000150: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
000160: 20 20 31 33 34 3A 20 43 41 53 20 4F 55 54 20 41 134: CAS OUT A
000170: 42 41 4E 44 4F 4E 20 28 44 49 53 43 29 20 20 20 BANDON (DISC)
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 20 20 20 23 42 43 39 32 0D 0A 0D 0A 0D 0A 20 20 #BC92......
0001B0: 20 20 20 20 20 43 6C 6F 73 65 20 69 6E 20 6F 75 Close in ou
0001C0: 74 70 75 74 20 66 69 6C 65 20 69 6D 6D 65 64 69 tput file immedi
0001D0: 61 74 65 6C 79 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 ately.......
0001E0: 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A Action:......
0001F0: 20 20 20 20 20 20 20 41 62 61 6E 64 6F 6E 20 74 Abandon t
Size : 512 (Real : 512)
000000: 68 65 20 20 6F 75 74 70 75 74 20 20 66 69 6C 65 he output file
000010: 20 20 61 6E 64 20 20 6D 61 72 6B 20 20 74 68 65 and mark the
000020: 20 20 77 72 69 74 65 20 20 73 74 72 65 61 6D 20 write stream
000030: 20 63 6C 6F 73 65 64 2E 20 20 41 6E 79 0D 0A 20 closed. Any..
000040: 20 20 20 20 20 20 75 6E 77 72 69 74 74 65 6E 20 unwritten
000050: 64 61 74 61 20 69 73 20 64 69 73 63 61 72 64 65 data is discarde
000060: 64 20 61 6E 64 20 6E 6F 74 20 77 72 69 74 74 65 d and not writte
000070: 6E 20 74 6F 20 64 69 73 63 2E 0D 0A 0D 0A 0D 0A n to disc.......
000080: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
000090: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 ditions:......
0000A0: 20 20 20 20 20 4E 6F 20 63 6F 6E 64 69 74 69 6F No conditio
0000B0: 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ns.......
0000C0: 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A Exit conditions:
0000D0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 46 2C ...... AF,
0000E0: 42 43 2C 44 45 20 61 6E 64 20 48 4C 20 63 6F 72 BC,DE and HL cor
0000F0: 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 41 6C rupt... Al
000100: 6C 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 l other register
000110: 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A s preserved.....
000120: 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 73 3A 0D .. Notes:.
000130: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 ..... This
000140: 20 20 72 6F 75 74 69 6E 65 20 20 69 6E 20 20 69 routine in i
000150: 6E 74 65 6E 64 65 64 20 20 66 6F 72 20 20 75 73 ntended for us
000160: 65 20 20 61 66 74 65 72 20 20 61 6E 20 20 65 72 e after an er
000170: 72 6F 72 20 20 20 6F 72 20 20 20 73 69 6D 69 6C ror or simil
000180: 61 72 0D 0A 20 20 20 20 20 20 20 63 69 72 63 75 ar.. circu
000190: 6D 73 74 61 6E 63 65 73 2E 0D 0A 0D 0A 0D 0A 20 mstances.......
0001A0: 20 20 20 20 20 20 49 66 20 6D 6F 72 65 20 74 68 If more th
0001B0: 61 6E 20 6F 6E 65 20 31 36 4B 20 70 68 79 73 69 an one 16K physi
0001C0: 63 61 6C 20 65 78 74 65 6E 74 20 68 61 73 20 61 cal extent has a
0001D0: 6C 72 65 61 64 79 20 62 65 65 6E 20 77 72 69 74 lready been writ
0001E0: 74 65 6E 20 74 6F 20 20 64 69 73 63 0D 0A 20 20 ten to disc..
0001F0: 20 20 20 20 20 74 68 65 6E 20 74 68 65 20 66 69 then the fi
Size : 512 (Real : 512)
000000: 6C 65 20 77 69 6C 6C 20 61 70 70 65 61 72 20 69 le will appear i
000010: 6E 20 74 68 65 20 64 69 73 63 20 64 69 72 65 63 n the disc direc
000020: 74 6F 72 79 20 77 69 74 68 20 61 20 20 74 79 70 tory with a typ
000030: 65 20 20 70 61 72 74 20 20 6F 66 0D 0A 20 20 20 e part of..
000040: 20 20 20 20 27 2E 24 24 24 27 2E 20 4F 74 68 65 '.$$$'. Othe
000050: 72 77 69 73 65 20 74 68 65 20 66 69 6C 65 20 77 rwise the file w
000060: 69 6C 6C 20 64 69 73 61 70 70 65 61 72 2E 20 54 ill disappear. T
000070: 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 65 his is because e
000080: 61 63 68 20 31 36 4B 20 6F 66 0D 0A 20 20 20 20 ach 16K of..
000090: 20 20 20 61 20 66 69 6C 65 20 72 65 71 75 69 72 a file requir
0000A0: 65 73 20 61 20 64 69 72 65 63 74 6F 72 79 20 65 es a directory e
0000B0: 6E 74 72 79 2E 20 41 20 64 69 72 65 63 74 6F 72 ntry. A director
0000C0: 79 20 65 6E 74 72 79 20 69 73 20 6E 6F 74 20 77 y entry is not w
0000D0: 72 69 74 74 65 6E 20 74 6F 0D 0A 20 20 20 20 20 ritten to..
0000E0: 20 20 64 69 73 63 20 75 6E 74 69 6C 20 74 68 65 disc until the
0000F0: 20 31 36 4B 20 68 61 73 20 62 65 65 6E 20 77 72 16K has been wr
000100: 69 74 74 65 6E 20 6F 72 20 20 61 20 20 66 69 6C itten or a fil
000110: 65 20 20 69 73 20 20 63 6C 6F 73 65 64 20 20 28 e is closed (
000120: 43 41 53 20 20 4F 55 54 0D 0A 20 20 20 20 20 20 CAS OUT..
000130: 20 43 4C 4F 53 45 29 2E 0D 0A 0D 0A 0D 0A 0D 0A CLOSE).........
000140: 20 20 20 20 20 20 20 52 65 6C 61 74 65 64 20 65 Related e
000150: 6E 74 72 69 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 ntries:......
000160: 20 20 20 20 43 41 53 20 49 4E 20 41 42 41 4E 44 CAS IN ABAND
000170: 4F 4E 20 28 44 49 53 43 29 0D 0A 20 20 20 20 20 ON (DISC)..
000180: 20 20 43 41 53 20 4F 55 54 20 41 42 41 4E 44 4F CAS OUT ABANDO
000190: 4E 0D 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 N.. CAS OU
0001A0: 54 20 43 4C 4F 53 45 20 28 44 49 53 43 29 0D 0A T CLOSE (DISC)..
0001B0: 20 20 20 20 20 20 20 43 41 53 20 4F 55 54 20 4F CAS OUT O
0001C0: 50 45 4E 20 28 44 49 53 43 29 0D 0A 0D 0A 0D 0A PEN (DISC)......
0001D0: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ................
0001E0: 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 AMSTRAD C
0001F0: 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 PC464/664/6128 F
Size : 512 (Real : 512)
000000: 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 IRMWARE
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000020: 20 20 70 61 67 65 20 31 35 2E 31 35 34 0D 0A 0D page 15.154...
000030: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
000040: 20 20 31 33 35 3A 20 43 41 53 20 4F 55 54 20 43 135: CAS OUT C
000050: 48 41 52 20 20 20 20 20 20 20 20 20 20 20 20 20 HAR
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 20 20 20 20 20 20 20 20
000080: 20 20 20 23 42 43 39 35 0D 0A 0D 0A 20 20 20 20 #BC95....
000090: 20 20 20 57 72 69 74 65 20 61 20 63 68 61 72 61 Write a chara
0000A0: 63 74 65 72 20 74 6F 20 74 68 65 20 6F 75 74 70 cter to the outp
0000B0: 75 74 20 66 69 6C 65 2E 0D 0A 0D 0A 20 20 20 20 ut file.....
0000C0: 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 Action:....
0000D0: 20 20 20 20 20 41 64 64 20 61 20 63 68 61 72 61 Add a chara
0000E0: 63 74 65 72 20 74 6F 20 74 68 65 20 62 75 66 66 cter to the buff
0000F0: 65 72 20 66 6F 72 20 74 68 65 20 77 72 69 74 65 er for the write
000100: 20 73 74 72 65 61 6D 2E 20 49 66 20 74 68 65 20 stream. If the
000110: 20 62 75 66 66 65 72 20 20 69 73 0D 0A 20 20 20 buffer is..
000120: 20 20 20 20 61 6C 72 65 61 64 79 20 66 75 6C 6C already full
000130: 20 74 68 65 6E 20 69 74 20 69 73 20 77 72 69 74 then it is writ
000140: 74 65 6E 20 74 6F 20 74 61 70 65 20 62 65 66 6F ten to tape befo
000150: 72 65 20 74 68 65 20 20 6E 65 77 20 20 63 68 61 re the new cha
000160: 72 61 63 74 65 72 20 20 69 73 0D 0A 20 20 20 20 racter is..
000170: 20 20 20 69 6E 73 65 72 74 65 64 2E 0D 0A 0D 0A inserted.....
000180: 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E Entry con
000190: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 ditions:....
0001A0: 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 A contains th
0001B0: 65 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 77 e character to w
0001C0: 72 69 74 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 rite.....
0001D0: 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A Exit conditions:
0001E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 .... If th
0001F0: 65 20 63 68 61 72 61 63 74 65 72 20 77 61 73 20 e character was
Size : 512 (Real : 512)
000000: 77 72 69 74 74 65 6E 20 4F 4B 3A 0D 0A 20 20 20 written OK:..
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 Car
000020: 72 79 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 ry true...
000030: 20 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 Zero f
000040: 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 alse...
000050: 20 20 20 20 20 20 20 41 20 63 6F 72 72 75 70 74 A corrupt
000060: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
000070: 68 65 20 66 69 6C 65 20 77 61 73 20 6E 6F 74 20 he file was not
000080: 6F 70 65 6E 20 61 73 20 65 78 70 65 63 74 65 64 open as expected
000090: 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 :..
0000A0: 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D Carry false..
0000B0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000C0: 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 Zero false...
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6E In
0000E0: 20 56 31 2E 31 3A 20 41 20 63 6F 6E 74 61 69 6E V1.1: A contain
0000F0: 73 20 61 6E 20 65 72 72 6F 72 20 6E 75 6D 62 65 s an error numbe
000100: 72 20 28 23 30 45 29 2E 0D 0A 20 20 20 20 20 20 r (#0E)...
000110: 20 20 20 20 20 20 20 20 20 20 49 6E 20 56 31 2E In V1.
000120: 30 3A 20 41 20 63 6F 72 72 75 70 74 2E 0D 0A 0D 0: A corrupt....
000130: 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 75 . If the u
000140: 73 65 72 20 68 69 74 20 65 73 63 61 70 65 3A 0D ser hit escape:.
000150: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000160: 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 20 Carry false...
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A Z
000180: 65 72 6F 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 ero true...
000190: 20 20 20 20 20 20 20 20 20 20 20 49 6E 20 56 31 In V1
0001A0: 2E 31 3A 20 41 20 63 6F 6E 74 61 69 6E 73 20 61 .1: A contains a
0001B0: 6E 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 28 n error number (
0001C0: 23 30 30 29 2E 0D 0A 20 20 20 20 20 20 20 20 20 #00)...
0001D0: 20 20 20 20 20 20 20 49 6E 20 56 31 2E 30 3A 20 In V1.0:
0001E0: 41 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 A corrupt...
0001F0: 20 20 20 41 6C 77 61 79 73 3A 0D 0A 20 20 20 20 Always:..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 41 2C 20 49 A, I
000010: 58 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 X and other flag
000020: 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 s corrupt...
000030: 20 20 20 20 20 20 20 20 20 20 20 20 41 6C 6C 20 All
000040: 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 other registers
000050: 70 72 65 73 65 72 76 65 64 2E 0D 0A 20 20 20 20 preserved...
000060: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 Notes:....
000070: 20 20 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 This routine
000080: 20 63 61 6E 20 72 65 74 75 72 6E 20 74 77 6F 20 can return two
000090: 65 72 72 6F 72 20 6E 75 6D 62 65 72 73 3A 0D 0A error numbers:..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 23 30 30 3A 20 20 20 20 20 20 54 68 65 20 75 73 #00: The us
0000C0: 65 72 20 68 69 74 20 65 73 63 61 70 65 2E 0D 0A er hit escape...
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 23 30 45 3A 20 20 20 20 20 20 54 68 65 20 73 74 #0E: The st
0000F0: 72 65 61 6D 20 69 73 20 6E 6F 74 20 6F 70 65 6E ream is not open
000100: 20 66 6F 72 20 20 77 72 69 74 69 6E 67 20 20 63 for writing c
000110: 68 61 72 61 63 74 65 72 73 20 20 6F 66 0D 0A 20 haracters of..
000120: 20 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 74 68 65 20 75 73 65 the use
000140: 72 20 68 69 74 20 65 73 63 61 70 65 20 70 72 65 r hit escape pre
000150: 76 69 6F 75 73 6C 79 2E 0D 0A 0D 0A 20 20 20 20 viously.....
000160: 20 20 20 49 66 20 74 68 69 73 20 72 6F 75 74 69 If this routi
000170: 6E 65 20 72 65 74 75 72 6E 73 20 74 68 65 20 66 ne returns the f
000180: 69 6C 65 20 6E 6F 74 20 6F 70 65 6E 20 61 73 20 ile not open as
000190: 65 78 70 65 63 74 65 64 20 20 63 6F 6E 64 69 74 expected condit
0001A0: 69 6F 6E 20 20 74 68 65 6E 0D 0A 20 20 20 20 20 ion then..
0001B0: 20 20 65 69 74 68 65 72 20 74 68 65 20 75 73 65 either the use
0001C0: 72 20 68 61 73 20 68 69 74 20 65 73 63 61 70 65 r has hit escape
0001D0: 20 70 72 65 76 69 6F 75 73 6C 79 20 6F 72 20 74 previously or t
0001E0: 68 65 20 66 69 6C 65 20 68 61 73 20 62 65 65 6E he file has been
0001F0: 20 77 72 69 74 74 65 6E 0D 0A 20 20 20 20 20 20 written..
Size : 512 (Real : 512)
000000: 20 75 73 69 6E 67 20 43 41 53 20 4F 55 54 20 44 using CAS OUT D
000010: 49 52 45 43 54 2E 20 49 6E 20 65 69 74 68 65 72 IRECT. In either
000020: 20 63 61 73 65 2C 20 6F 72 20 69 66 20 20 65 73 case, or if es
000030: 63 61 70 65 20 20 69 73 20 20 70 72 65 73 73 65 cape is presse
000040: 64 2C 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 d, the..
000050: 63 68 61 72 61 63 74 65 72 20 73 65 6E 74 20 77 character sent w
000060: 69 6C 6C 20 62 65 20 64 69 73 63 61 72 64 65 64 ill be discarded
000070: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 74 20 69 ..... It i
000080: 73 20 6E 65 63 65 73 73 61 72 79 20 74 6F 20 63 s necessary to c
000090: 61 6C 6C 20 43 41 53 20 4F 55 54 20 43 4C 4F 53 all CAS OUT CLOS
0000A0: 45 20 61 66 74 65 72 20 73 65 6E 64 69 6E 67 20 E after sending
0000B0: 61 6C 6C 20 74 68 65 20 63 68 61 72 61 63 74 65 all the characte
0000C0: 72 73 0D 0A 20 20 20 20 20 20 20 74 6F 20 74 68 rs.. to th
0000D0: 65 20 66 69 6C 65 20 74 6F 20 65 6E 73 75 72 65 e file to ensure
0000E0: 20 74 68 61 74 20 74 68 65 20 6C 61 73 74 20 62 that the last b
0000F0: 6C 6F 63 6B 20 69 73 20 77 72 69 74 74 65 6E 20 lock is written
000100: 74 6F 20 74 68 65 20 74 61 70 65 2E 0D 0A 0D 0A to the tape.....
000110: 20 20 20 20 20 20 20 4F 6E 63 65 20 74 68 65 20 Once the
000120: 72 6F 75 74 69 6E 65 20 68 61 73 20 62 65 65 6E routine has been
000130: 20 63 61 6C 6C 65 64 20 69 74 20 20 69 73 20 20 called it is
000140: 6E 6F 74 20 20 70 6F 73 73 69 62 6C 65 20 20 74 not possible t
000150: 6F 20 20 73 77 69 74 63 68 20 20 74 6F 0D 0A 20 o switch to..
000160: 20 20 20 20 20 20 64 69 72 65 63 74 6C 79 20 77 directly w
000170: 72 69 74 69 6E 67 20 74 68 65 20 66 69 6C 65 2E riting the file.
000180: 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 74 .... Relat
000190: 65 64 20 65 6E 74 72 69 65 73 3A 0D 0A 0D 0A 20 ed entries:....
0001A0: 20 20 20 20 20 20 43 41 53 20 49 4E 20 43 48 41 CAS IN CHA
0001B0: 52 0D 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 R.. CAS OU
0001C0: 54 20 43 48 41 52 20 28 44 49 53 43 29 20 20 20 T CHAR (DISC)
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 43 41 53 20 4F 55 54 20 44 49 52 45 43 54 0D CAS OUT DIRECT.
0001F0: 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 54 20 . CAS OUT
Size : 512 (Real : 512)
000000: 43 4C 4F 53 45 20 20 20 20 20 20 20 20 20 20 20 CLOSE
000010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
000020: 41 53 20 4F 55 54 20 4F 50 45 4E 0D 0A 0D 0A 20 AS OUT OPEN....
000030: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000040: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
000050: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 70 61 67 65 20 31 35 2E 31 35 35 0D 0A 0D 0A page 15.155....
000080: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ..........
000090: 20 31 33 35 3A 20 43 41 53 20 4F 55 54 20 43 48 135: CAS OUT CH
0000A0: 41 52 20 28 44 49 53 43 29 20 20 20 20 20 20 20 AR (DISC)
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 20 20 20 20 20 20 20 20
0000D0: 20 20 23 42 43 39 35 0D 0A 0D 0A 20 20 20 20 20 #BC95....
0000E0: 20 20 57 72 69 74 65 20 61 20 63 68 61 72 61 63 Write a charac
0000F0: 74 65 72 20 74 6F 20 61 6E 20 6F 75 74 70 75 74 ter to an output
000100: 20 66 69 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 file.....
000110: 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 Action:....
000120: 20 20 20 41 64 64 20 61 20 63 68 61 72 61 63 74 Add a charact
000130: 65 72 20 74 6F 20 74 68 65 20 62 75 66 66 65 72 er to the buffer
000140: 20 66 6F 72 20 74 68 65 20 77 72 69 74 65 20 73 for the write s
000150: 74 72 65 61 6D 2E 20 49 66 20 74 68 65 20 20 62 tream. If the b
000160: 75 66 66 65 72 20 20 69 73 0D 0A 20 20 20 20 20 uffer is..
000170: 20 20 61 6C 72 65 61 64 79 20 66 75 6C 6C 20 74 already full t
000180: 68 65 6E 20 69 74 20 69 73 20 77 72 69 74 74 65 hen it is writte
000190: 6E 20 74 6F 20 64 69 73 63 20 62 65 66 6F 72 65 n to disc before
0001A0: 20 74 68 65 20 20 6E 65 77 20 20 63 68 61 72 61 the new chara
0001B0: 63 74 65 72 20 20 69 73 0D 0A 20 20 20 20 20 20 cter is..
0001C0: 20 69 6E 73 65 72 74 65 64 2E 0D 0A 0D 0A 20 20 inserted.....
0001D0: 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 69 Entry condi
0001E0: 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 tions:....
0001F0: 20 41 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 A contains the
Size : 512 (Real : 512)
000000: 63 68 61 72 61 63 74 65 72 20 74 6F 20 77 72 69 character to wri
000010: 74 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 te..... Ex
000020: 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A it conditions:..
000030: 0D 0A 20 20 20 20 20 20 20 49 66 20 74 68 65 20 .. If the
000040: 63 68 61 72 61 63 74 65 72 20 77 61 73 20 77 72 character was wr
000050: 69 74 74 65 6E 20 4F 4B 3A 0D 0A 0D 0A 20 20 20 itten OK:....
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 Car
000070: 72 79 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 ry true...
000080: 20 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 Zero f
000090: 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 alse...
0000A0: 20 20 20 20 20 20 20 41 20 63 6F 72 72 75 70 74 A corrupt
0000B0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
0000C0: 68 65 20 73 74 72 65 61 6D 20 69 73 20 6E 6F 74 he stream is not
0000D0: 20 6F 70 65 6E 20 61 73 20 65 78 70 65 63 74 65 open as expecte
0000E0: 64 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 d:....
0000F0: 20 20 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 Carry fals
000100: 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 e...
000110: 20 20 20 20 5A 65 72 6F 20 66 61 6C 73 65 2E 0D Zero false..
000120: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000130: 20 41 20 63 6F 6E 74 61 69 6E 73 20 61 6E 20 65 A contains an e
000140: 72 72 6F 72 20 6E 75 6D 62 65 72 20 28 23 30 45 rror number (#0E
000150: 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 )..... If
000160: 66 61 69 6C 65 64 20 66 6F 72 20 61 6E 79 20 6F failed for any o
000170: 74 68 65 72 20 72 65 61 73 6F 6E 3A 0D 0A 0D 0A ther reason:....
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 43 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 0D 0A Carry false.....
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 5A 65 72 6F 20 74 72 75 65 2E 0D 0A 20 20 20 20 Zero true...
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 41 20 63 6F A co
0001D0: 6E 74 61 69 6E 73 20 61 6E 20 65 72 72 6F 72 20 ntains an error
0001E0: 6E 75 6D 62 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 number.....
0001F0: 20 20 41 6C 77 61 79 73 3A 0D 0A 0D 0A 20 20 20 Always:....
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 58 20 IX
000010: 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 73 20 and other flags
000020: 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 corrupt...
000030: 20 20 20 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 All ot
000040: 68 65 72 20 72 65 67 69 73 74 65 72 73 20 70 72 her registers pr
000050: 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 eserved.....
000060: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 Notes:....
000070: 20 20 20 20 49 74 20 69 73 20 6E 65 63 65 73 73 It is necess
000080: 61 72 79 20 74 6F 20 63 61 6C 6C 20 43 41 53 20 ary to call CAS
000090: 4F 55 54 20 43 4C 4F 53 45 20 61 66 74 65 72 20 OUT CLOSE after
0000A0: 73 65 6E 64 69 6E 67 20 61 6C 6C 20 74 68 65 20 sending all the
0000B0: 63 68 61 72 61 63 74 65 72 73 0D 0A 20 20 20 20 characters..
0000C0: 20 20 20 74 6F 20 74 68 65 20 66 69 6C 65 20 74 to the file t
0000D0: 6F 20 65 6E 73 75 72 65 20 74 68 61 74 20 74 68 o ensure that th
0000E0: 65 20 66 69 6C 65 20 69 73 20 63 6F 72 72 65 63 e file is correc
0000F0: 74 6C 79 20 77 72 69 74 74 65 6E 20 74 6F 20 64 tly written to d
000100: 69 73 63 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4F isc..... O
000110: 6E 63 65 20 74 68 65 20 72 6F 75 74 69 6E 65 20 nce the routine
000120: 68 61 73 20 62 65 65 6E 20 63 61 6C 6C 65 64 20 has been called
000130: 69 74 20 20 69 73 20 20 6E 6F 74 20 20 70 6F 73 it is not pos
000140: 73 69 62 6C 65 20 20 74 6F 20 20 73 77 69 74 63 sible to switc
000150: 68 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 64 69 h to.. di
000160: 72 65 63 74 6C 79 20 77 72 69 74 69 6E 67 20 74 rectly writing t
000170: 68 65 20 66 69 6C 65 20 28 43 41 53 20 4F 55 54 he file (CAS OUT
000180: 20 44 49 52 45 43 54 29 2E 0D 0A 0D 0A 20 20 20 DIRECT).....
000190: 20 20 20 20 52 65 6C 61 74 65 64 20 65 6E 74 72 Related entr
0001A0: 69 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 43 ies:.... C
0001B0: 41 53 20 49 4E 20 43 48 41 52 20 28 44 49 53 43 AS IN CHAR (DISC
0001C0: 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 ).. CAS OU
0001D0: 54 20 43 48 41 52 0D 0A 20 20 20 20 20 20 20 43 T CHAR.. C
0001E0: 41 53 20 4F 55 54 20 43 4C 4F 53 45 20 28 44 49 AS OUT CLOSE (DI
0001F0: 53 43 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 SC).. CAS
Size : 512 (Real : 512)
000000: 4F 55 54 20 44 49 52 45 43 54 20 28 44 49 53 43 OUT DIRECT (DISC
000010: 29 0D 0A 20 20 20 20 20 20 20 43 41 53 20 4F 55 ).. CAS OU
000020: 54 20 4F 50 45 4E 20 28 44 49 53 43 29 0D 0A 0D T OPEN (DISC)...
000030: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D ....... AM
000040: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
000050: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 /6128 FIRMWARE
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 20 70 61 67 65 20 31 35 page 15
000080: 2E 31 35 36 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A .156............
000090: 0D 0A 20 20 20 20 20 20 20 31 33 36 3A 20 43 41 .. 136: CA
0000A0: 53 20 4F 55 54 20 44 49 52 45 43 54 20 20 20 20 S OUT DIRECT
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 20 20 20 20 20 20 20 20
0000D0: 20 20 20 20 20 20 20 20 20 20 23 42 43 39 38 0D #BC98.
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 57 72 69 74 65 20 ... Write
0000F0: 74 68 65 20 6F 75 74 70 75 74 20 66 69 6C 65 20 the output file
000100: 64 69 72 65 63 74 6C 79 20 66 72 6F 6D 20 73 74 directly from st
000110: 6F 72 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ore..... A
000120: 63 74 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 ction:....
000130: 20 57 72 69 74 65 20 74 68 65 20 63 6F 6E 74 65 Write the conte
000140: 6E 74 73 20 6F 66 20 73 74 6F 72 65 20 64 69 72 nts of store dir
000150: 65 63 74 6C 79 20 6F 75 74 20 74 6F 20 74 68 65 ectly out to the
000160: 20 6F 75 74 70 75 74 20 66 69 6C 65 2E 0D 0A 0D output file....
000170: 0A 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F . Entry co
000180: 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 nditions:....
000190: 20 20 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 HL contains
0001A0: 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 20 74 the address of t
0001B0: 68 65 20 64 61 74 61 20 74 6F 20 77 72 69 74 65 he data to write
0001C0: 2E 0D 0A 20 20 20 20 20 20 20 44 45 20 63 6F 6E ... DE con
0001D0: 74 61 69 6E 73 20 74 68 65 20 6C 65 6E 67 74 68 tains the length
0001E0: 20 6F 66 20 74 68 65 20 64 61 74 61 20 74 6F 20 of the data to
0001F0: 77 72 69 74 65 2E 0D 0A 20 20 20 20 20 20 20 42 write... B
Size : 512 (Real : 512)
000000: 43 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 65 C contains the e
000010: 6E 74 72 79 20 61 64 64 72 65 73 73 20 28 74 6F ntry address (to
000020: 20 67 6F 20 69 6E 74 6F 20 74 68 65 20 68 65 61 go into the hea
000030: 64 65 72 29 2E 0D 0A 20 20 20 20 20 20 20 41 20 der)... A
000040: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 66 69 6C contains the fil
000050: 65 20 74 79 70 65 20 28 74 6F 20 67 6F 20 69 6E e type (to go in
000060: 74 6F 20 74 68 65 20 68 65 61 64 65 72 29 2E 0D to the header)..
000070: 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 ... Exit c
000080: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 onditions:....
000090: 20 20 20 20 20 49 66 20 74 68 65 20 66 69 6C 65 If the file
0000A0: 20 77 61 73 20 77 72 69 74 74 65 6E 20 4F 4B 3A was written OK:
0000B0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000C0: 20 20 43 61 72 72 79 20 74 72 75 65 2E 0D 0A 20 Carry true...
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A Z
0000E0: 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 ero false...
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 41 20 63 6F A co
000100: 72 72 75 70 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 rrupt.....
000110: 20 49 66 20 74 68 65 20 66 69 6C 65 20 77 61 73 If the file was
000120: 20 6E 6F 74 20 6F 70 65 6E 20 61 73 20 65 78 70 not open as exp
000130: 65 63 74 65 64 3A 0D 0A 20 20 20 20 20 20 20 20 ected:..
000140: 20 20 20 20 20 20 20 20 43 61 72 72 79 20 66 61 Carry fa
000150: 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 lse...
000160: 20 20 20 20 20 20 5A 65 72 6F 20 66 61 6C 73 65 Zero false
000170: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000180: 20 20 20 49 6E 20 56 31 2E 31 3A 20 41 20 63 6F In V1.1: A co
000190: 6E 74 61 69 6E 73 20 61 6E 20 65 72 72 6F 72 20 ntains an error
0001A0: 6E 75 6D 62 65 72 20 28 23 30 45 29 2E 0D 0A 20 number (#0E)...
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 I
0001C0: 6E 20 56 31 2E 30 3A 20 61 20 63 6F 72 72 75 70 n V1.0: a corrup
0001D0: 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 t..... If
0001E0: 74 68 65 20 75 73 65 72 20 68 69 74 20 65 73 63 the user hit esc
0001F0: 61 70 65 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 ape:..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 43 61 72 72 79 20 66 61 6C 73 Carry fals
000010: 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 e...
000020: 20 20 20 20 5A 65 72 6F 20 74 72 75 65 2E 0D 0A Zero true...
000030: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000040: 20 20 49 6E 20 56 31 2E 31 3A 20 41 20 63 6F 6E In V1.1: A con
000050: 74 61 69 6E 73 20 61 6E 20 65 72 72 6F 72 20 6E tains an error n
000060: 75 6D 62 65 72 20 28 23 30 30 29 2E 0D 0A 20 20 umber (#00)...
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6E In
000080: 20 56 31 2E 30 3A 20 41 20 63 6F 72 72 75 70 74 V1.0: A corrupt
000090: 2E 0D 0A 20 20 20 20 20 20 20 41 6C 77 61 79 73 ... Always
0000A0: 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 :..
0000B0: 20 20 20 42 43 2C 20 44 45 2C 20 48 4C 2C 20 49 BC, DE, HL, I
0000C0: 58 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 X and other flag
0000D0: 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 s corrupt...
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 41 6C 6C 20 All
0000F0: 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 other registers
000100: 70 72 65 73 65 72 76 65 64 2E 0D 0A 20 20 20 20 preserved...
000110: 20 20 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 Notes:....
000120: 20 20 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 This routine
000130: 20 63 61 6E 20 72 65 74 75 72 6E 20 74 77 6F 20 can return two
000140: 65 72 72 6F 72 20 6E 75 6D 62 65 72 73 3A 0D 0A error numbers:..
000150: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000160: 20 20 23 30 30 3A 20 20 20 20 20 20 54 68 65 20 #00: The
000170: 75 73 65 72 20 68 69 74 20 65 73 63 61 70 65 2E user hit escape.
000180: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000190: 20 20 23 30 45 3A 20 20 20 20 20 20 54 68 65 20 #0E: The
0001A0: 73 74 72 65 61 6D 20 69 73 20 6E 6F 74 20 6E 65 stream is not ne
0001B0: 77 6C 79 20 6F 70 65 6E 65 64 2E 0D 0A 0D 0A 20 wly opened.....
0001C0: 20 20 20 20 20 20 41 66 74 65 72 20 77 72 69 74 After writ
0001D0: 69 6E 67 20 74 68 65 20 66 69 6C 65 20 69 74 20 ing the file it
0001E0: 6D 75 73 74 20 62 65 20 63 6C 6F 73 65 64 20 75 must be closed u
0001F0: 73 69 6E 67 20 43 41 53 20 4F 55 54 20 43 4C 4F sing CAS OUT CLO
Size : 512 (Real : 512)
000000: 53 45 20 74 6F 20 65 6E 73 75 72 65 0D 0A 20 20 SE to ensure..
000010: 20 20 20 20 20 74 68 61 74 20 74 68 65 20 6C 61 that the la
000020: 73 74 20 62 6C 6F 63 6B 20 6F 66 20 74 68 65 20 st block of the
000030: 66 69 6C 65 20 69 73 20 77 72 69 74 74 65 6E 20 file is written
000040: 74 6F 20 74 61 70 65 2E 0D 0A 0D 0A 20 20 20 20 to tape.....
000050: 20 20 20 49 74 20 69 73 20 6E 6F 74 20 70 6F 73 It is not pos
000060: 73 69 62 6C 65 20 20 74 6F 20 20 63 68 61 6E 67 sible to chang
000070: 65 20 20 74 68 65 20 20 6D 65 74 68 6F 64 20 20 e the method
000080: 66 6F 72 20 20 77 72 69 74 69 6E 67 20 20 66 69 for writing fi
000090: 6C 65 73 20 20 66 72 6F 6D 0D 0A 20 20 20 20 20 les from..
0000A0: 20 20 63 68 61 72 61 63 74 65 72 20 6F 75 74 70 character outp
0000B0: 75 74 20 28 75 73 69 6E 67 20 43 41 53 20 4F 55 ut (using CAS OU
0000C0: 54 20 43 48 41 52 29 20 74 6F 20 64 69 72 65 63 T CHAR) to direc
0000D0: 74 20 6F 75 74 70 75 74 20 28 75 73 69 6E 67 20 t output (using
0000E0: 43 41 53 20 20 4F 55 54 0D 0A 20 20 20 20 20 20 CAS OUT..
0000F0: 20 44 49 52 45 43 54 29 20 6F 72 20 76 69 73 61 DIRECT) or visa
000100: 20 76 65 72 73 61 20 6F 6E 63 65 20 74 68 65 20 versa once the
000110: 6D 65 74 68 6F 64 20 20 68 61 73 20 20 62 65 65 method has bee
000120: 6E 20 20 63 68 6F 73 65 6E 2E 20 20 4E 6F 72 20 n chosen. Nor
000130: 20 69 73 20 20 69 74 0D 0A 20 20 20 20 20 20 20 is it..
000140: 70 6F 73 73 69 62 6C 65 20 74 6F 20 64 69 72 65 possible to dire
000150: 63 74 6C 79 20 77 72 69 74 65 20 61 20 66 69 6C ctly write a fil
000160: 65 20 69 6E 20 74 77 6F 20 6F 66 20 6D 6F 72 65 e in two of more
000170: 20 70 61 72 74 73 20 62 79 20 63 61 6C 6C 69 6E parts by callin
000180: 67 20 20 43 41 53 0D 0A 20 20 20 20 20 20 20 4F g CAS.. O
000190: 55 54 20 44 49 52 45 43 54 20 6D 6F 72 65 20 74 UT DIRECT more t
0001A0: 68 61 6E 20 6F 6E 63 65 20 2D 20 74 68 69 73 20 han once - this
0001B0: 77 69 6C 6C 20 77 72 69 74 65 20 63 6F 72 72 75 will write corru
0001C0: 70 74 20 20 64 61 74 61 2E 20 20 41 74 74 65 6D pt data. Attem
0001D0: 70 74 69 6E 67 0D 0A 20 20 20 20 20 20 20 74 6F pting.. to
0001E0: 20 62 72 65 61 6B 20 74 68 65 73 65 20 72 75 6C break these rul
0001F0: 65 73 20 77 69 6C 6C 20 72 65 73 75 6C 74 20 69 es will result i
Size : 512 (Real : 512)
000000: 6E 20 61 20 66 69 6C 65 20 6E 6F 74 20 6F 70 65 n a file not ope
000010: 6E 20 61 73 20 65 78 70 65 63 74 65 64 20 65 72 n as expected er
000020: 72 6F 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 ror..... R
000030: 65 6C 61 74 65 64 20 65 6E 74 72 69 65 73 0D 0A elated entries..
000040: 0D 0A 20 20 20 20 20 20 20 43 41 53 20 49 4E 20 .. CAS IN
000050: 44 49 52 45 43 54 20 20 20 20 20 20 20 20 20 20 DIRECT
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 43 41 53 20 4F 55 54 20 44 49 52 45 43 54 20 28 CAS OUT DIRECT (
000080: 44 49 53 43 29 0D 0A 20 20 20 20 20 20 20 43 41 DISC).. CA
000090: 53 20 4F 55 54 20 43 4C 4F 53 45 20 20 20 20 20 S OUT CLOSE
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 43 41 53 20 4F 55 54 20 4F 50 45 CAS OUT OPE
0000C0: 4E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 N.... AMST
0000D0: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
0000E0: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 FIRMWARE
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000100: 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E 31 page 15.1
000110: 35 37 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 57..............
000120: 20 20 20 20 20 20 20 31 33 36 3A 20 43 41 53 20 136: CAS
000130: 4F 55 54 20 44 49 52 45 43 54 20 28 44 49 53 43 OUT DIRECT (DISC
000140: 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 20 20 20 20 20 23 42 43 39 38 0D 0A 0D #BC98...
000170: 0A 20 20 20 20 20 20 20 57 72 69 74 65 20 74 68 . Write th
000180: 65 20 6F 75 74 70 75 74 20 66 69 6C 65 20 64 69 e output file di
000190: 72 65 63 74 6C 79 20 66 72 6F 6D 20 73 74 6F 72 rectly from stor
0001A0: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 63 74 e..... Act
0001B0: 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 57 ion:.... W
0001C0: 72 69 74 65 20 74 68 65 20 63 6F 6E 74 65 6E 74 rite the content
0001D0: 73 20 6F 66 20 73 74 6F 72 65 20 64 69 72 65 63 s of store direc
0001E0: 74 6C 79 20 6F 75 74 20 74 6F 20 74 68 65 20 6F tly out to the o
0001F0: 75 74 70 75 74 20 66 69 6C 65 2E 0D 0A 0D 0A 20 utput file.....
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
000010: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 20 itions:....
000020: 20 20 48 4C 20 63 6F 6E 74 61 69 6E 73 20 74 68 HL contains th
000030: 65 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 e address of the
000040: 20 64 61 74 61 20 74 6F 20 77 72 69 74 65 20 28 data to write (
000050: 74 6F 20 67 6F 20 69 6E 74 6F 20 74 68 65 20 68 to go into the h
000060: 65 61 64 65 72 29 2E 0D 0A 20 20 20 20 20 20 20 eader)...
000070: 44 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 DE contains the
000080: 6C 65 6E 67 74 68 20 6F 66 20 74 68 65 20 64 61 length of the da
000090: 74 61 20 74 6F 20 77 72 69 74 65 20 28 74 6F 20 ta to write (to
0000A0: 67 6F 20 69 6E 74 6F 20 74 68 65 20 68 65 61 64 go into the head
0000B0: 65 72 29 2E 0D 0A 20 20 20 20 20 20 20 42 43 20 er)... BC
0000C0: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 65 6E 74 contains the ent
0000D0: 72 79 20 61 64 64 72 65 73 73 20 28 74 6F 20 67 ry address (to g
0000E0: 6F 20 69 6E 74 6F 20 74 68 65 20 68 65 61 64 65 o into the heade
0000F0: 72 29 2E 0D 0A 20 20 20 20 20 20 20 41 20 63 6F r)... A co
000100: 6E 74 61 69 6E 73 20 74 68 65 20 66 69 6C 65 20 ntains the file
000110: 74 79 70 65 20 28 74 6F 20 67 6F 20 69 6E 74 6F type (to go into
000120: 20 74 68 65 20 68 65 61 64 65 72 29 2E 0D 0A 0D the header)....
000130: 0A 20 20 20 20 20 20 20 45 78 69 74 20 63 6F 6E . Exit con
000140: 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 20 20 ditions:....
000150: 20 20 20 49 66 20 74 68 65 20 66 69 6C 65 20 77 If the file w
000160: 61 73 20 77 72 69 74 74 65 6E 20 4F 4B 3A 0D 0A as written OK:..
000170: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000180: 20 20 43 61 72 72 79 20 74 72 75 65 2E 0D 0A 20 Carry true...
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A Z
0001A0: 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 ero false...
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 41 20 63 6F A co
0001C0: 72 72 75 70 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 rrupt.....
0001D0: 20 49 66 20 74 68 65 20 73 74 72 65 61 6D 20 69 If the stream i
0001E0: 73 20 6E 6F 74 20 6F 70 65 6E 20 61 73 20 65 78 s not open as ex
0001F0: 70 65 63 74 65 64 3A 0D 0A 0D 0A 20 20 20 20 20 pected:....
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 79 Carry
000010: 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 false...
000020: 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 61 Zero fa
000030: 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 lse...
000040: 20 20 20 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 A contains
000050: 20 61 6E 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 an error number
000060: 20 28 23 30 45 29 2E 0D 0A 0D 0A 20 20 20 20 20 (#0E).....
000070: 20 20 49 66 20 66 61 69 6C 65 64 20 66 6F 72 20 If failed for
000080: 61 6E 79 20 6F 74 68 65 72 20 72 65 61 73 6F 6E any other reason
000090: 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 :..
0000A0: 20 20 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D Carry false..
0000B0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000C0: 20 5A 65 72 6F 20 74 72 75 65 2E 0D 0A 20 20 20 Zero true...
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 63 A c
0000E0: 6F 6E 74 61 69 6E 73 20 61 6E 20 65 72 72 6F 72 ontains an error
0000F0: 20 6E 75 6D 62 65 72 2E 0D 0A 0D 0A 20 20 20 20 number.....
000100: 20 20 20 41 6C 77 61 79 73 3A 0D 0A 0D 0A 20 20 Always:....
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 43 BC
000120: 2C 20 44 45 2C 20 48 4C 2C 20 49 58 20 61 6E 64 , DE, HL, IX and
000130: 20 6F 74 68 65 72 20 66 6C 61 67 73 20 63 6F 72 other flags cor
000140: 72 75 70 74 2E 0D 0A 20 20 20 20 20 20 20 20 20 rupt...
000150: 20 20 20 20 20 20 20 41 6C 6C 20 6F 74 68 65 72 All other
000160: 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 registers prese
000170: 72 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 rved.....
000180: 4E 6F 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 Notes:....
000190: 20 41 66 74 65 72 20 77 72 69 74 69 6E 67 20 74 After writing t
0001A0: 68 65 20 66 69 6C 65 20 69 74 20 6D 75 73 74 20 he file it must
0001B0: 62 65 20 63 6C 6F 73 65 64 20 75 73 69 6E 67 20 be closed using
0001C0: 43 41 53 20 4F 55 54 20 43 4C 4F 53 45 20 74 6F CAS OUT CLOSE to
0001D0: 20 65 6E 73 75 72 65 0D 0A 20 20 20 20 20 20 20 ensure..
0001E0: 74 68 61 74 20 74 68 65 20 66 69 6C 65 20 69 73 that the file is
0001F0: 20 77 72 69 74 74 65 6E 20 74 6F 20 64 69 73 63 written to disc
Size : 512 (Real : 512)
000000: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 74 20 69 ..... It i
000010: 73 20 6E 6F 74 20 70 6F 73 73 69 62 6C 65 20 20 s not possible
000020: 74 6F 20 20 63 68 61 6E 67 65 20 20 74 68 65 20 to change the
000030: 20 6D 65 74 68 6F 64 20 20 66 6F 72 20 20 77 72 method for wr
000040: 69 74 69 6E 67 20 20 66 69 6C 65 73 20 20 66 72 iting files fr
000050: 6F 6D 0D 0A 20 20 20 20 20 20 20 63 68 61 72 61 om.. chara
000060: 63 74 65 72 20 6F 75 74 70 75 74 20 28 75 73 69 cter output (usi
000070: 6E 67 20 43 41 53 20 4F 55 54 20 43 48 41 52 29 ng CAS OUT CHAR)
000080: 20 74 6F 20 64 69 72 65 63 74 20 6F 75 74 70 75 to direct outpu
000090: 74 20 28 75 73 69 6E 67 20 43 41 53 20 20 4F 55 t (using CAS OU
0000A0: 54 0D 0A 20 20 20 20 20 20 20 44 49 52 45 43 54 T.. DIRECT
0000B0: 29 20 6F 72 20 76 69 73 61 20 76 65 72 73 61 20 ) or visa versa
0000C0: 6F 6E 63 65 20 74 68 65 20 6D 65 74 68 6F 64 20 once the method
0000D0: 20 68 61 73 20 20 62 65 65 6E 20 20 63 68 6F 73 has been chos
0000E0: 65 6E 2E 20 20 4E 6F 72 20 20 69 73 20 20 69 74 en. Nor is it
0000F0: 0D 0A 20 20 20 20 20 20 20 70 6F 73 73 69 62 6C .. possibl
000100: 65 20 74 6F 20 64 69 72 65 63 74 6C 79 20 77 72 e to directly wr
000110: 69 74 65 20 61 20 66 69 6C 65 20 69 6E 20 74 77 ite a file in tw
000120: 6F 20 6F 66 20 6D 6F 72 65 20 70 61 72 74 73 20 o of more parts
000130: 62 79 20 63 61 6C 6C 69 6E 67 20 20 43 41 53 0D by calling CAS.
000140: 0A 20 20 20 20 20 20 20 4F 55 54 20 44 49 52 45 . OUT DIRE
000150: 43 54 20 6D 6F 72 65 20 74 68 61 6E 20 6F 6E 63 CT more than onc
000160: 65 20 2D 20 74 68 69 73 20 77 69 6C 6C 20 77 72 e - this will wr
000170: 69 74 65 20 63 6F 72 72 75 70 74 20 64 61 74 61 ite corrupt data
000180: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 65 6C 61 ..... Rela
000190: 74 65 64 20 65 6E 74 72 69 65 73 0D 0A 0D 0A 20 ted entries....
0001A0: 20 20 20 20 20 20 43 41 53 20 49 4E 20 44 49 52 CAS IN DIR
0001B0: 45 43 54 20 28 44 49 53 43 29 0D 0A 20 20 20 20 ECT (DISC)..
0001C0: 20 20 20 43 41 53 20 4F 55 54 20 43 4C 4F 53 45 CAS OUT CLOSE
0001D0: 20 28 44 49 53 43 29 0D 0A 20 20 20 20 20 20 20 (DISC)..
0001E0: 43 41 53 20 4F 55 54 20 44 49 52 45 43 54 0D 0A CAS OUT DIRECT..
0001F0: 20 20 20 20 20 20 20 43 41 53 20 4F 55 54 20 4F CAS OUT O
Size : 512 (Real : 512)
000000: 50 45 4E 20 28 44 49 53 43 29 0D 0A 0D 0A 0D 0A PEN (DISC)......
000010: 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 .. AMSTRAD
000020: 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 CPC464/664/6128
000030: 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 FIRMWARE
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 20 20 20 70 61 67 65 20 31 35 2E 31 35 38 0D page 15.158.
000060: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
000070: 20 20 20 20 31 33 37 3A 20 43 41 53 20 43 41 54 137: CAS CAT
000080: 41 4C 4F 47 20 20 20 20 20 20 20 20 20 20 20 20 ALOG
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 20 20 23 42 43 39 42 0D 0A 0D 0A 0D 0A #BC9B......
0000C0: 20 20 20 20 20 20 20 47 65 6E 65 72 61 74 65 20 Generate
0000D0: 61 20 63 61 74 61 6C 6F 67 75 65 20 66 72 6F 6D a catalogue from
0000E0: 20 74 61 70 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 tape.......
0000F0: 20 20 20 41 63 74 69 6F 6E 3A 0D 0A 0D 0A 0D 0A Action:......
000100: 20 20 20 20 20 20 20 52 65 61 64 20 66 69 6C 65 Read file
000110: 20 62 6C 6F 63 6B 73 20 74 6F 20 63 68 65 63 6B blocks to check
000120: 20 74 68 65 69 72 20 76 61 6C 69 64 69 74 79 20 their validity
000130: 61 6E 64 20 70 72 69 6E 74 20 20 69 6E 66 6F 72 and print infor
000140: 6D 61 74 69 6F 6E 20 20 61 62 6F 75 74 0D 0A 20 mation about..
000150: 20 20 20 20 20 20 74 68 65 6D 20 6F 6E 20 74 68 them on th
000160: 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D 0A 20 e screen.......
000170: 20 20 20 20 20 20 45 6E 74 72 79 20 63 6F 6E 64 Entry cond
000180: 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 itions:......
000190: 20 20 20 20 44 45 20 63 6F 6E 74 61 69 6E 73 20 DE contains
0001A0: 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 20 61 the address of a
0001B0: 20 32 4B 20 62 75 66 66 65 72 20 74 6F 20 75 73 2K buffer to us
0001C0: 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 e....... E
0001D0: 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D xit conditions:.
0001E0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
0001F0: 68 65 20 63 61 74 61 6C 6F 67 69 6E 67 20 77 65 he cataloging we
Size : 512 (Real : 512)
000000: 6E 74 20 4F 4B 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 nt OK:......
000010: 20 20 20 20 20 20 20 20 20 20 20 20 43 61 72 72 Carr
000020: 79 20 74 72 75 65 2E 0D 0A 20 20 20 20 20 20 20 y true...
000030: 20 20 20 20 20 20 20 20 20 5A 65 72 6F 20 66 61 Zero fa
000040: 6C 73 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 lse...
000050: 20 20 20 20 20 20 41 20 63 6F 72 72 75 70 74 2E A corrupt.
000060: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 ...... If
000070: 74 68 65 20 72 65 61 64 20 73 74 72 65 61 6D 20 the read stream
000080: 77 61 73 20 69 6E 20 75 73 65 3A 0D 0A 0D 0A 0D was in use:.....
000090: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000A0: 20 43 61 72 72 79 20 66 61 6C 73 65 2E 0D 0A 20 Carry false...
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5A Z
0000C0: 65 72 6F 20 66 61 6C 73 65 2E 0D 0A 20 20 20 20 ero false...
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 49 6E 20 56 In V
0000E0: 31 2E 31 3A 20 41 20 63 6F 6E 74 61 69 6E 73 20 1.1: A contains
0000F0: 61 6E 20 65 72 72 6F 72 20 6E 75 6D 62 65 72 20 an error number
000100: 28 23 30 45 29 2E 2E 0D 0A 20 20 20 20 20 20 20 (#0E)....
000110: 20 20 20 20 20 20 20 20 20 49 6E 20 56 31 2E 30 In V1.0
000120: 3A 20 41 20 63 6F 72 72 75 70 74 2E 0D 0A 0D 0A : A corrupt.....
000130: 20 20 20 20 20 20 20 41 6C 77 61 79 73 0D 0A 0D Always...
000140: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000150: 20 20 20 42 43 2C 20 44 45 2C 20 48 4C 2C 20 49 BC, DE, HL, I
000160: 58 20 61 6E 64 20 6F 74 68 65 72 20 66 6C 61 67 X and other flag
000170: 73 20 63 6F 72 72 75 70 74 2E 0D 0A 20 20 20 20 s corrupt...
000180: 20 20 20 20 20 20 20 20 20 20 20 20 41 6C 6C 20 All
000190: 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 registers preser
0001A0: 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ved.......
0001B0: 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 Notes:......
0001C0: 20 20 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 This routine
0001D0: 20 63 61 6E 20 6F 6E 6C 79 20 72 65 74 75 72 6E can only return
0001E0: 20 6F 6E 65 20 65 72 72 6F 72 20 6E 75 6D 62 65 one error numbe
0001F0: 72 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 r:......
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 23 30 45 3A 20 20 20 20 #0E:
000010: 20 20 54 68 65 20 73 74 72 65 61 6D 20 69 73 20 The stream is
000020: 61 6C 72 65 61 64 79 20 69 6E 20 75 73 65 2E 0D already in use..
000030: 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 ... This r
000040: 6F 75 74 69 6E 65 20 75 73 65 73 20 74 68 65 20 outine uses the
000050: 72 65 61 64 20 73 74 72 65 61 6D 20 61 6E 64 20 read stream and
000060: 73 6F 20 74 68 65 20 20 73 74 72 65 61 6D 20 20 so the stream
000070: 6D 75 73 74 20 20 62 65 20 20 63 6C 6F 73 65 64 must be closed
000080: 0D 0A 20 20 20 20 20 20 20 77 68 65 6E 20 69 74 .. when it
000090: 20 69 73 20 63 61 6C 6C 65 64 2E 20 54 68 65 20 is called. The
0000A0: 72 65 61 64 20 73 74 72 65 61 6D 20 72 65 6D 61 read stream rema
0000B0: 69 6E 73 20 63 6C 6F 73 65 64 20 20 77 68 65 6E ins closed when
0000C0: 20 20 74 68 69 73 20 20 72 6F 75 74 69 6E 65 0D this routine.
0000D0: 0A 20 20 20 20 20 20 20 65 78 69 74 73 2E 20 54 . exits. T
0000E0: 68 65 20 77 72 69 74 65 20 73 74 72 65 61 6D 20 he write stream
0000F0: 69 73 20 75 6E 61 66 66 65 63 74 65 64 20 62 79 is unaffected by
000100: 20 74 68 69 73 20 72 6F 75 74 69 6E 65 2E 0D 0A this routine...
000110: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 ...... AMS
000120: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
000130: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 FIRMWARE
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 20 20 20 20 20 20 20 20 70 61 67 65 20 31 35 2E page 15.
000160: 31 35 39 0D 0A 1A 61 64 20 74 68 65 20 69 6E 70 159...ad the inp
000170: 75 74 20 66 69 6C 65 20 69 6E 74 6F 20 73 74 6F ut file into sto
000180: 20 20 20 20 20 20 20 20 20 20 20 20 41 6C 6C 20 All
000190: 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 72 registers preser
0001A0: 76 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ved.......
0001B0: 20 4E 6F 74 65 73 3A 0D 0A 0D 0A 0D 0A 20 20 20 Notes:......
0001C0: 20 20 20 20 54 68 69 73 20 72 6F 75 74 69 6E 65 This routine
0001D0: 20 63 61 6E 20 6F 6E 6C 79 20 72 65 74 75 72 6E can only return
0001E0: 20 6F 6E 65 20 65 72 72 6F 72 20 6E 75 6D 62 65 one error numbe
0001F0: 72 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 r:......
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 ................
   
Tous droits réservés. Reproduction sans autorisation interdite. © Kukulcan