Firmware Guide (UK) (Disk 1 face 1) (19xx) [UTILITAIRE].dsk
   
Choose sector :
Size : 512 (Real : 512)
000000: 00 43 48 41 50 2D 31 20 20 D0 31 20 00 00 00 76 .CHAP-1 .1 ...v
000010: 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 00 ................
000020: 00 43 48 41 50 2D 31 20 20 D0 32 20 00 00 00 64 .CHAP-1 .2 ...d
000030: 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 00 00 00 ................
000040: 00 43 48 41 50 2D 32 20 20 D0 31 20 00 00 00 80 .CHAP-2 .1 ....
000050: 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 &'()*+,-./012345
000060: 00 43 48 41 50 2D 32 20 20 D0 31 20 01 00 00 06 .CHAP-2 .1 ....
000070: 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6...............
000080: 00 43 48 41 50 2D 32 20 20 D0 32 20 00 00 00 18 .CHAP-2 .2 ....
000090: 37 38 39 00 00 00 00 00 00 00 00 00 00 00 00 00 789.............
0000A0: 00 43 48 41 50 2D 33 20 20 A0 20 20 00 00 00 7A .CHAP-3 . ...z
0000B0: 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 :;<=>?@ABCDEFGHI
0000C0: 00 43 48 41 50 2D 34 20 20 D0 31 20 00 00 00 80 .CHAP-4 .1 ....
0000D0: 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 JKLMNOPQRSTUVWXY
0000E0: 00 43 48 41 50 2D 34 20 20 D0 31 20 01 00 00 01 .CHAP-4 .1 ....
0000F0: 5A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Z...............
000100: 00 43 48 41 50 2D 34 20 20 D0 32 20 00 00 00 0C .CHAP-4 .2 ....
000110: 5B 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [\..............
000120: 00 43 48 41 50 2D 35 20 20 A0 20 20 00 00 00 73 .CHAP-5 . ...s
000130: 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 00 ]^_`abcdefghijk.
000140: 00 43 48 41 50 2D 36 20 20 A0 20 20 00 00 00 6C .CHAP-6 . ...l
000150: 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 00 00 lmnopqrstuvwxy..
000160: 00 43 48 41 50 2D 37 20 20 A0 20 20 00 00 00 72 .CHAP-7 . ...r
000170: 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 00 z{|}~...........
000180: 00 43 48 41 50 2D 38 20 20 D0 31 20 00 00 00 73 .CHAP-8 .1 ...s
000190: 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 00 ................
0001A0: 00 43 48 41 50 2D 38 20 20 D0 32 20 00 00 00 69 .CHAP-8 .2 ...i
0001B0: 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 00 00 ................
0001C0: 00 43 4F 4E 54 45 4E 54 53 A0 20 20 00 00 00 2D .CONTENTS. ...-
0001D0: 20 21 22 23 24 25 00 00 00 00 00 00 00 00 00 00 !"#$%..........
0001E0: 00 44 49 53 43 20 20 20 20 C2 41 53 00 00 00 02 .DISC .AS....
0001F0: A6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 00 44 55 4D 50 20 20 20 20 C2 C9 4E 00 00 00 09 .DUMP ..N....
000010: A7 A8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000020: 00 50 52 45 46 41 43 45 20 A0 20 20 00 00 00 0D .PREFACE . ....
000030: 1E 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 00 50 54 49 54 4C 45 20 20 C2 41 53 00 00 00 03 .PTITLE .AS....
000050: A9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000060: 00 53 54 41 52 54 20 20 20 C2 C1 53 00 00 00 3C .START ..S...<
000070: AC AD AE AF B0 B1 B2 B3 00 00 00 00 00 00 00 00 ................
000080: 00 54 49 54 4C 45 20 20 20 C2 C9 4E 00 00 00 10 .TITLE ..N....
000090: AA AB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 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 20 20 20 20 20 20 20 31 ........ 1
000010: 20 54 68 65 20 46 69 72 6D 77 61 72 65 0D 0A 20 The Firmware..
000020: 20 20 20 20 20 20 54 68 69 73 20 6D 61 6E 75 61 This manua
000030: 6C 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 l describes the
000040: 66 69 72 6D 77 61 72 65 20 6F 66 20 20 74 68 65 firmware of the
000050: 20 20 41 6D 73 74 72 61 64 20 20 43 50 43 20 20 Amstrad CPC
000060: 34 36 34 2F 36 36 34 2F 36 31 32 38 0D 0A 20 20 464/664/6128..
000070: 20 20 20 20 20 6D 69 63 72 6F 63 6F 6D 70 75 74 microcomput
000080: 65 72 73 2E 20 49 74 20 61 6C 73 6F 20 64 65 73 ers. It also des
000090: 63 72 69 62 65 73 20 74 68 65 20 64 69 73 63 20 cribes the disc
0000A0: 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74 65 6D operating system
0000B0: 73 20 28 43 50 2F 4D 20 61 6E 64 0D 0A 20 20 20 s (CP/M and..
0000C0: 20 20 20 20 41 4D 53 44 4F 53 29 2E 20 49 74 20 AMSDOS). It
0000D0: 64 6F 65 73 20 6E 6F 74 20 64 65 73 63 72 69 62 does not describ
0000E0: 65 20 65 69 74 68 65 72 20 74 68 65 20 42 41 53 e either the BAS
0000F0: 49 43 20 6C 61 6E 67 75 61 67 65 20 73 75 70 70 IC language supp
000100: 6C 69 65 64 20 20 77 69 74 68 0D 0A 20 20 20 20 lied with..
000110: 20 20 20 74 68 65 20 73 79 73 74 65 6D 20 6F 72 the system or
000120: 20 43 50 2F 4D 2E 20 54 68 65 20 6D 61 6E 75 61 CP/M. The manua
000130: 6C 20 64 6F 65 73 20 64 65 73 63 72 69 62 65 20 l does describe
000140: 63 65 72 74 61 69 6E 20 20 61 73 70 65 63 74 73 certain aspects
000150: 20 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 20 of the..
000160: 20 20 42 41 53 49 43 20 77 68 65 72 65 20 74 68 BASIC where th
000170: 65 73 65 20 61 66 66 65 63 74 20 6F 74 68 65 72 ese affect other
000180: 20 70 72 6F 67 72 61 6D 73 20 61 6E 64 20 69 74 programs and it
000190: 20 75 73 65 73 20 42 41 53 49 43 20 20 69 6E 20 uses BASIC in
0001A0: 20 63 65 72 74 61 69 6E 0D 0A 20 20 20 20 20 20 certain..
0001B0: 20 65 78 61 6D 70 6C 65 20 70 72 6F 67 72 61 6D example program
0001C0: 73 20 77 68 65 6E 20 64 65 73 63 72 69 62 69 6E s when describin
0001D0: 67 20 73 6F 6D 65 20 66 65 61 74 75 72 65 73 20 g some features
0001E0: 20 6F 66 20 20 74 68 65 20 20 66 69 72 6D 77 61 of the firmwa
0001F0: 72 65 2E 20 20 49 74 0D 0A 20 20 20 20 20 20 20 re. It..
Size : 512 (Real : 512)
000000: 61 6C 73 6F 20 64 65 73 63 72 69 62 65 73 20 68 also describes h
000010: 6F 77 20 74 6F 20 63 61 6C 6C 20 74 68 65 20 66 ow to call the f
000020: 69 72 6D 77 61 72 65 20 66 72 6F 6D 20 43 50 2F irmware from CP/
000030: 4D 2E 0D 0A 20 20 20 20 20 20 20 54 68 72 65 65 M... Three
000040: 20 76 65 72 73 69 6F 6E 73 20 6F 66 20 74 68 65 versions of the
000050: 20 66 69 72 6D 77 61 72 65 20 61 72 65 20 64 65 firmware are de
000060: 73 63 72 69 62 65 64 2E 20 56 31 2E 30 20 28 6F scribed. V1.0 (o
000070: 6E 20 20 43 50 43 34 36 34 29 2C 20 20 56 31 2E n CPC464), V1.
000080: 31 0D 0A 20 20 20 20 20 20 20 28 6F 6E 20 43 50 1.. (on CP
000090: 43 36 36 34 29 20 61 6E 64 20 20 56 31 2E 32 20 C664) and V1.2
0000A0: 20 28 6F 6E 20 20 43 50 43 36 31 32 38 29 2E 20 (on CPC6128).
0000B0: 20 41 70 61 72 74 20 20 66 72 6F 6D 20 20 73 75 Apart from su
0000C0: 70 70 6F 72 74 20 20 66 6F 72 20 20 62 61 6E 6B pport for bank
0000D0: 0D 0A 20 20 20 20 20 20 20 73 77 69 74 63 68 69 .. switchi
0000E0: 6E 67 20 56 31 2E 31 20 61 6E 64 20 56 31 2E 32 ng V1.1 and V1.2
0000F0: 20 61 72 65 20 69 64 65 6E 74 69 63 61 6C 20 61 are identical a
000100: 6E 64 20 20 61 72 65 20 20 72 65 66 65 72 72 65 nd are referre
000110: 64 20 20 74 6F 20 20 61 73 20 20 56 31 2E 31 0D d to as V1.1.
000120: 0A 20 20 20 20 20 20 20 74 68 72 6F 75 67 68 6F . througho
000130: 75 74 20 74 68 69 73 20 6D 61 6E 75 61 6C 2E 20 ut this manual.
000140: 49 74 20 6D 61 79 20 62 65 20 6E 65 63 65 73 73 It may be necess
000150: 61 72 79 20 66 6F 72 20 61 20 20 70 72 6F 67 72 ary for a progr
000160: 61 6D 20 20 74 6F 20 20 64 65 64 75 63 65 0D 0A am to deduce..
000170: 20 20 20 20 20 20 20 77 68 69 63 68 20 66 69 72 which fir
000180: 6D 77 61 72 65 20 69 73 20 66 69 74 74 65 64 20 mware is fitted
000190: 74 6F 20 74 68 65 20 63 6F 6D 70 75 74 65 72 2C to the computer,
0001A0: 20 61 6E 64 20 74 68 69 73 20 63 61 6E 20 62 65 and this can be
0001B0: 20 61 63 68 69 65 76 65 64 20 20 62 79 0D 0A 20 achieved by..
0001C0: 20 20 20 20 20 20 69 6E 73 70 65 63 74 69 6E 67 inspecting
0001D0: 20 74 68 65 20 6F 6E 2D 62 6F 61 72 64 20 52 4F the on-board RO
0001E0: 4D 27 73 20 76 65 72 73 69 6F 6E 20 6E 75 6D 62 M's version numb
0001F0: 65 72 20 28 61 73 20 64 65 73 63 72 69 62 65 64 er (as described
Size : 512 (Real : 512)
000000: 20 69 6E 20 20 73 65 63 74 69 6F 6E 0D 0A 20 20 in section..
000010: 20 20 20 20 20 31 30 2E 32 29 20 75 73 69 6E 67 10.2) using
000020: 20 4B 4C 20 52 4F 4D 20 50 52 4F 42 45 2E 20 54 KL ROM PROBE. T
000030: 68 69 73 20 77 69 6C 6C 20 72 65 74 75 72 6E 20 his will return
000040: 61 20 30 2C 31 20 6F 72 20 32 20 64 65 70 65 6E a 0,1 or 2 depen
000050: 64 69 6E 67 20 6F 6E 20 74 68 65 0D 0A 20 20 20 ding on the..
000060: 20 20 20 20 76 65 72 73 69 6F 6E 20 6F 66 20 66 version of f
000070: 69 72 6D 77 61 72 65 2E 0D 0A 0D 0A 20 20 20 20 irmware.....
000080: 20 20 20 54 68 65 20 66 69 72 6D 77 61 72 65 20 The firmware
000090: 69 73 20 74 68 65 20 70 72 6F 67 72 61 6D 20 74 is the program t
0000A0: 68 61 74 20 72 65 73 69 64 65 73 20 69 6E 20 74 hat resides in t
0000B0: 68 65 20 6C 6F 77 65 72 20 52 4F 4D 20 61 6E 64 he lower ROM and
0000C0: 20 74 68 65 20 64 69 73 63 0D 0A 20 20 20 20 20 the disc..
0000D0: 20 20 63 6F 6E 74 72 6F 6C 6C 69 6E 67 20 52 4F controlling RO
0000E0: 4D 20 28 73 65 65 20 73 65 63 74 69 6F 6E 20 20 M (see section
0000F0: 32 29 2E 20 20 49 74 73 20 20 66 75 6E 63 74 69 2). Its functi
000100: 6F 6E 20 20 69 73 20 20 74 6F 20 20 63 6F 6E 74 on is to cont
000110: 72 6F 6C 20 20 74 68 65 0D 0A 20 20 20 20 20 20 rol the..
000120: 20 68 61 72 64 77 61 72 65 20 6F 66 20 74 68 65 hardware of the
000130: 20 63 6F 6D 70 75 74 65 72 20 61 6E 64 20 74 6F computer and to
000140: 20 70 72 6F 76 69 64 65 20 75 73 65 66 75 6C 20 provide useful
000150: 20 66 61 63 69 6C 69 74 69 65 73 20 20 66 6F 72 facilities for
000160: 20 20 6F 74 68 65 72 0D 0A 20 20 20 20 20 20 20 other..
000170: 70 72 6F 67 72 61 6D 73 20 74 6F 20 75 73 65 2E programs to use.
000180: 20 54 68 69 73 20 61 76 6F 69 64 73 20 65 76 65 This avoids eve
000190: 72 79 20 70 72 6F 67 72 61 6D 20 77 72 69 74 74 ry program writt
0001A0: 65 6E 20 68 61 76 69 6E 67 20 20 74 6F 20 20 70 en having to p
0001B0: 72 6F 76 69 64 65 0D 0A 20 20 20 20 20 20 20 69 rovide.. i
0001C0: 74 73 20 6F 77 6E 20 66 61 63 69 6C 69 74 69 65 ts own facilitie
0001D0: 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 s..... Thi
0001E0: 73 20 6D 61 6E 75 61 6C 20 69 73 20 65 78 70 65 s manual is expe
0001F0: 63 74 65 64 20 74 6F 20 62 65 20 6F 66 20 69 6E cted to be of in
Size : 512 (Real : 512)
000000: 74 65 72 65 73 74 20 74 6F 20 61 6E 79 6F 6E 65 terest to anyone
000010: 20 77 68 6F 20 77 6F 75 6C 64 20 6C 69 6B 65 20 who would like
000020: 20 74 6F 0D 0A 20 20 20 20 20 20 20 6B 6E 6F 77 to.. know
000030: 20 68 6F 77 20 74 68 65 20 73 79 73 74 65 6D 20 how the system
000040: 77 6F 72 6B 73 2E 20 49 74 20 69 73 20 69 6E 64 works. It is ind
000050: 69 73 70 65 6E 73 61 62 6C 65 20 66 6F 72 20 70 ispensable for p
000060: 72 6F 67 72 61 6D 6D 65 72 73 20 77 72 69 74 69 rogrammers writi
000070: 6E 67 0D 0A 20 20 20 20 20 20 20 6D 61 63 68 69 ng.. machi
000080: 6E 65 20 20 63 6F 64 65 20 20 70 72 6F 67 72 61 ne code progra
000090: 6D 73 2C 20 20 70 61 72 74 69 63 75 6C 61 72 6C ms, particularl
0000A0: 79 20 20 73 79 73 74 65 6D 20 20 70 72 6F 67 72 y system progr
0000B0: 61 6D 73 20 20 28 65 2E 67 2E 20 20 6F 74 68 65 ams (e.g. othe
0000C0: 72 0D 0A 20 20 20 20 20 20 20 6C 61 6E 67 75 61 r.. langua
0000D0: 67 65 73 29 20 61 6E 64 20 67 61 6D 65 73 2E 0D ges) and games..
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 69 6E ... The in
0000F0: 66 6F 72 6D 61 74 69 6F 6E 20 70 72 65 73 65 6E formation presen
000100: 74 65 64 20 63 61 6E 20 62 65 20 65 78 74 72 65 ted can be extre
000110: 6D 65 6C 79 20 20 64 65 74 61 69 6C 65 64 2E 20 mely detailed.
000120: 20 49 74 20 20 63 6F 76 65 72 73 20 20 74 68 65 It covers the
000130: 0D 0A 20 20 20 20 20 20 20 6F 70 65 72 61 74 69 .. operati
000140: 6F 6E 20 6F 66 20 74 68 65 20 66 69 72 6D 77 61 on of the firmwa
000150: 72 65 20 66 72 6F 6D 20 74 68 65 20 20 6C 6F 77 re from the low
000160: 65 73 74 20 20 6C 65 76 65 6C 20 20 28 65 2E 67 est level (e.g
000170: 2E 20 20 64 72 69 76 69 6E 67 20 20 74 68 65 0D . driving the.
000180: 0A 20 20 20 20 20 20 20 73 6F 75 6E 64 20 63 68 . sound ch
000190: 69 70 29 20 74 6F 20 74 68 65 20 68 69 67 68 65 ip) to the highe
0001A0: 73 74 20 6C 65 76 65 6C 20 28 65 2E 67 2E 20 72 st level (e.g. r
0001B0: 75 6E 6E 69 6E 67 20 61 20 71 75 65 75 65 20 6F unning a queue o
0001C0: 66 20 73 6F 75 6E 64 73 29 2E 20 20 49 74 0D 0A f sounds). It..
0001D0: 20 20 20 20 20 20 20 69 73 20 6E 6F 74 20 6E 65 is not ne
0001E0: 63 65 73 73 61 72 79 20 74 6F 20 75 6E 64 65 72 cessary to under
0001F0: 73 74 61 6E 64 20 61 6C 6C 20 74 68 65 20 69 6E stand all the in
Size : 512 (Real : 512)
000000: 66 6F 72 6D 61 74 69 6F 6E 20 67 69 76 65 6E 20 formation given
000010: 74 6F 20 62 65 20 61 62 6C 65 20 74 6F 0D 0A 20 to be able to..
000020: 20 20 20 20 20 20 75 73 65 20 74 68 65 20 66 69 use the fi
000030: 72 6D 77 61 72 65 2C 20 68 6F 77 65 76 65 72 2C rmware, however,
000040: 20 61 20 67 6F 6F 64 20 67 72 61 73 70 20 6F 66 a good grasp of
000050: 20 68 6F 77 20 74 68 65 20 73 79 73 74 65 6D 20 how the system
000060: 20 77 6F 72 6B 73 20 20 77 69 6C 6C 0D 0A 20 20 works will..
000070: 20 20 20 20 20 61 69 64 20 74 68 65 20 20 70 72 aid the pr
000080: 6F 67 72 61 6D 6D 65 72 20 20 69 6E 20 20 73 65 ogrammer in se
000090: 6C 65 63 74 69 6E 67 20 20 74 68 65 20 20 6D 6F lecting the mo
0000A0: 73 74 20 20 61 70 70 72 6F 70 72 69 61 74 65 20 st appropriate
0000B0: 20 6D 65 74 68 6F 64 20 20 6F 66 0D 0A 20 20 20 method of..
0000C0: 20 20 20 20 70 65 72 66 6F 72 6D 69 6E 67 20 61 performing a
0000D0: 20 70 61 72 74 69 63 75 6C 61 72 20 74 61 73 6B particular task
0000E0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 77 6F 20 ..... Two
0000F0: 64 69 73 63 20 6F 70 65 72 61 74 69 6E 67 20 73 disc operating s
000100: 79 73 74 65 6D 73 20 61 72 65 20 70 72 6F 76 69 ystems are provi
000110: 64 65 64 3A 20 41 4D 53 44 4F 53 2C 20 77 68 69 ded: AMSDOS, whi
000120: 63 68 20 20 65 6E 61 62 6C 65 73 20 20 42 41 53 ch enables BAS
000130: 49 43 0D 0A 20 20 20 20 20 20 20 70 72 6F 67 72 IC.. progr
000140: 61 6D 73 20 74 6F 20 75 73 65 20 64 69 73 63 20 ams to use disc
000150: 66 69 6C 65 73 20 69 6E 20 6D 75 63 68 20 74 68 files in much th
000160: 65 20 73 61 6D 65 20 77 61 79 20 61 73 20 63 61 e same way as ca
000170: 73 73 65 74 74 65 20 66 69 6C 65 73 3B 20 61 6E ssette files; an
000180: 64 0D 0A 20 20 20 20 20 20 20 43 50 2F 4D 20 32 d.. CP/M 2
000190: 2E 32 20 74 68 65 20 69 6E 64 75 73 74 72 79 20 .2 the industry
0001A0: 73 74 61 6E 64 61 72 64 20 6F 70 65 72 61 74 69 standard operati
0001B0: 6E 67 20 20 73 79 73 74 65 6D 20 20 28 43 50 2F ng system (CP/
0001C0: 4D 20 20 50 6C 75 73 20 20 69 6E 20 20 74 68 65 M Plus in the
0001D0: 0D 0A 20 20 20 20 20 20 20 43 50 43 36 31 32 38 .. CPC6128
0001E0: 2C 20 62 75 74 20 77 65 20 64 6F 20 6E 6F 74 20 , but we do not
0001F0: 64 69 73 63 75 73 73 20 74 68 65 20 64 69 66 66 discuss the diff
Size : 512 (Real : 512)
000000: 65 72 65 6E 63 65 73 20 62 65 74 77 65 65 6E 20 erences between
000010: 74 68 65 20 74 77 6F 20 69 6E 20 74 68 69 73 0D the two in this.
000020: 0A 20 20 20 20 20 20 20 6D 61 6E 75 61 6C 29 2E . manual).
000030: 20 42 6F 74 68 20 41 4D 53 44 4F 53 20 61 6E 64 Both AMSDOS and
000040: 20 43 50 2F 4D 20 75 73 65 20 74 68 65 20 73 61 CP/M use the sa
000050: 6D 65 20 66 69 6C 65 20 73 74 72 75 63 74 75 72 me file structur
000060: 65 20 61 6E 64 20 6D 61 79 20 72 65 61 64 0D 0A e and may read..
000070: 20 20 20 20 20 20 20 61 6E 64 20 77 72 69 74 65 and write
000080: 20 65 61 63 68 20 6F 74 68 65 72 73 20 66 69 6C each others fil
000090: 65 27 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 43 e's..... C
0000A0: 50 2F 4D 20 69 73 20 69 6E 76 6F 6B 65 64 20 66 P/M is invoked f
0000B0: 72 6F 6D 20 42 41 53 49 43 20 62 79 20 74 79 70 rom BASIC by typ
0000C0: 69 6E 67 20 7C 43 50 4D 2E 20 50 61 72 74 20 6F ing |CPM. Part o
0000D0: 66 20 43 50 2F 4D 20 28 74 68 65 20 20 43 43 50 f CP/M (the CCP
0000E0: 20 20 61 6E 64 0D 0A 20 20 20 20 20 20 20 42 44 and.. BD
0000F0: 4F 53 29 20 69 73 20 6C 6F 61 64 65 64 20 66 72 OS) is loaded fr
000100: 6F 6D 20 74 68 65 20 64 69 73 63 20 69 6E 20 64 om the disc in d
000110: 72 69 76 65 20 41 3A 2E 20 54 68 65 20 43 50 2F rive A:. The CP/
000120: 4D 20 20 42 49 4F 53 20 20 72 65 73 69 64 65 73 M BIOS resides
000130: 20 20 69 6E 0D 0A 20 20 20 20 20 20 20 74 68 65 in.. the
000140: 20 64 69 73 63 20 52 4F 4D 2E 0D 0A 20 20 20 20 disc ROM...
000150: 20 20 20 41 4D 53 44 4F 53 20 69 73 20 65 6E 61 AMSDOS is ena
000160: 62 6C 65 64 20 77 68 65 6E 65 76 65 72 20 42 41 bled whenever BA
000170: 53 49 43 20 69 73 20 66 69 72 73 74 20 75 73 65 SIC is first use
000180: 64 2E 20 54 68 69 73 20 20 69 6E 74 65 72 63 65 d. This interce
000190: 70 74 73 20 20 6D 6F 73 74 0D 0A 20 20 20 20 20 pts most..
0001A0: 20 20 6F 66 20 74 68 65 20 63 61 73 73 65 74 74 of the cassett
0001B0: 65 20 66 69 72 6D 77 61 72 65 20 72 6F 75 74 69 e firmware routi
0001C0: 6E 65 73 20 61 6E 64 20 72 65 64 69 72 65 63 74 nes and redirect
0001D0: 73 20 20 74 68 65 6D 20 20 74 6F 20 20 64 69 73 s them to dis
0001E0: 63 2E 20 20 54 68 75 73 0D 0A 20 20 20 20 20 20 c. Thus..
0001F0: 20 65 78 69 73 74 69 6E 67 20 42 41 53 49 43 20 existing BASIC
Size : 512 (Real : 512)
000000: 70 72 6F 67 72 61 6D 73 20 77 68 69 63 68 20 75 programs which u
000010: 73 65 20 63 61 73 73 65 74 74 65 20 66 69 6C 65 se cassette file
000020: 73 20 63 61 6E 20 20 75 73 65 20 20 64 69 73 63 s can use disc
000030: 20 20 66 69 6C 65 73 0D 0A 20 20 20 20 20 20 20 files..
000040: 77 69 74 68 20 6C 69 74 74 6C 65 20 6F 72 20 6E with little or n
000050: 6F 20 6D 6F 64 69 66 69 63 61 74 69 6F 6E 2E 20 o modification.
000060: 20 41 4D 53 44 4F 53 20 20 61 6C 73 6F 20 20 70 AMSDOS also p
000070: 72 6F 76 69 64 65 73 20 20 61 20 20 6E 75 6D 62 rovides a numb
000080: 65 72 20 20 6F 66 0D 0A 20 20 20 20 20 20 20 65 er of.. e
000090: 78 74 65 72 6E 61 6C 20 63 6F 6D 6D 61 6E 64 73 xternal commands
0000A0: 20 66 6F 72 20 65 72 61 73 69 6E 67 20 61 6E 64 for erasing and
0000B0: 20 72 65 6E 61 6D 69 6E 67 20 66 69 6C 65 73 20 renaming files
0000C0: 61 6E 64 20 20 72 65 64 69 72 65 63 74 69 6E 67 and redirecting
0000D0: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 63 61 the.. ca
0000E0: 73 73 65 74 74 65 20 66 69 72 6D 77 61 72 65 20 ssette firmware
0000F0: 72 6F 75 74 69 6E 65 73 2E 0D 0A 0D 0A 20 20 20 routines.....
000100: 20 20 20 20 50 72 6F 76 69 64 65 64 20 77 69 74 Provided wit
000110: 68 20 74 68 65 20 64 69 73 63 20 73 79 73 74 65 h the disc syste
000120: 6D 20 61 72 65 20 61 20 6E 75 6D 62 65 72 20 20 m are a number
000130: 6F 66 20 20 75 74 69 6C 69 74 79 20 20 70 72 6F of utility pro
000140: 67 72 61 6D 73 20 20 66 6F 72 0D 0A 20 20 20 20 grams for..
000150: 20 20 20 66 6F 72 6D 61 74 74 69 6E 67 20 20 61 formatting a
000160: 6E 64 20 20 63 6F 70 79 69 6E 67 20 20 64 69 73 nd copying dis
000170: 63 73 20 20 61 6E 64 20 20 66 6F 72 20 20 63 68 cs and for ch
000180: 61 6E 67 69 6E 67 20 20 20 76 61 72 69 6F 75 73 anging various
000190: 20 20 20 73 79 73 74 65 6D 0D 0A 20 20 20 20 20 system..
0001A0: 20 20 70 61 72 61 6D 65 74 65 72 73 2E 20 54 68 parameters. Th
0001B0: 65 73 65 20 61 6C 6C 20 72 75 6E 20 75 6E 64 65 ese all run unde
0001C0: 72 20 43 50 2F 4D 2E 0D 0A 0D 0A 20 20 20 20 20 r CP/M.....
0001D0: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
0001E0: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
0001F0: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
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 2E 31 0D 0A 0D 0A 0D 0A 0D 0A page 1.1........
000020: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 2E 31 ...... 1.1
000030: 20 54 68 65 20 48 61 72 64 77 61 72 65 2E 0D 0A The Hardware...
000040: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 64 69 61 .. The dia
000050: 67 72 61 6D 20 6F 6E 20 74 68 65 20 66 6F 6C 6C gram on the foll
000060: 6F 77 69 6E 67 20 70 61 67 65 20 67 69 76 65 73 owing page gives
000070: 20 61 6E 20 69 6E 64 69 63 61 74 69 6F 6E 20 6F an indication o
000080: 66 20 74 68 65 20 64 69 66 66 65 72 65 6E 74 0D f the different.
000090: 0A 20 20 20 20 20 20 20 70 69 65 63 65 73 20 6F . pieces o
0000A0: 66 20 68 61 72 64 77 61 72 65 20 69 6E 20 74 68 f hardware in th
0000B0: 65 20 73 79 73 74 65 6D 20 61 6E 64 20 68 6F 77 e system and how
0000C0: 20 74 68 65 79 20 63 6F 6E 6E 65 63 74 20 74 6F they connect to
0000D0: 20 20 65 61 63 68 20 20 6F 74 68 65 72 2E 0D 0A each other...
0000E0: 20 20 20 20 20 20 20 46 6F 72 20 6D 6F 72 65 20 For more
0000F0: 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 6F 6E 20 68 information on h
000100: 6F 77 20 74 68 65 20 68 61 72 64 77 61 72 65 20 ow the hardware
000110: 77 6F 72 6B 73 20 73 65 65 20 20 41 70 70 65 6E works see Appen
000120: 64 69 78 20 20 58 49 49 20 20 61 6E 64 0D 0A 20 dix XII and..
000130: 20 20 20 20 20 20 74 68 65 20 72 65 6C 65 76 61 the releva
000140: 6E 74 20 6D 61 6E 75 66 61 63 74 75 72 65 72 27 nt manufacturer'
000150: 73 20 64 61 74 61 20 73 68 65 65 74 73 2E 0D 0A s data sheets...
000160: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 53 .... The S
000170: 79 73 74 65 6D 20 63 65 6E 74 72 65 73 20 61 72 ystem centres ar
000180: 6F 75 6E 64 20 74 68 65 20 43 50 55 20 28 43 65 ound the CPU (Ce
000190: 6E 74 72 61 6C 20 50 72 6F 63 65 73 73 69 6E 67 ntral Processing
0001A0: 20 55 6E 69 74 29 20 77 68 69 63 68 20 69 73 20 Unit) which is
0001B0: 61 0D 0A 20 20 20 20 20 20 20 5A 38 30 41 20 6D a.. Z80A m
0001C0: 69 63 72 6F 70 72 6F 63 65 73 73 6F 72 20 77 69 icroprocessor wi
0001D0: 74 68 20 61 20 34 4D 48 7A 20 63 6C 6F 63 6B 2E th a 4MHz clock.
0001E0: 20 4E 65 78 74 20 69 6E 20 69 6D 70 6F 72 74 61 Next in importa
0001F0: 6E 63 65 20 69 73 20 74 68 65 20 20 67 61 74 65 nce is the gate
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 61 72 72 61 79 20 77 .. array w
000010: 68 69 63 68 20 63 6F 6E 74 61 69 6E 73 20 20 6D hich contains m
000020: 69 73 63 65 6C 6C 61 6E 65 6F 75 73 20 20 6C 6F iscellaneous lo
000030: 67 69 63 20 20 74 6F 20 20 63 6F 6E 74 72 6F 6C gic to control
000040: 20 20 6D 75 63 68 20 20 6F 66 20 20 74 68 65 0D much of the.
000050: 0A 20 20 20 20 20 20 20 73 79 73 74 65 6D 2E 20 . system.
000060: 49 6E 20 70 61 72 74 69 63 75 6C 61 72 2C 20 69 In particular, i
000070: 74 20 63 6F 6E 74 72 6F 6C 73 20 69 6E 6B 20 63 t controls ink c
000080: 6F 6C 6F 75 72 73 2C 20 73 63 72 65 65 6E 20 20 olours, screen
000090: 6D 6F 64 65 20 20 61 6E 64 20 20 52 4F 4D 0D 0A mode and ROM..
0000A0: 20 20 20 20 20 20 20 65 6E 61 62 6C 69 6E 67 20 enabling
0000B0: 28 73 65 65 20 73 65 63 74 69 6F 6E 20 31 30 20 (see section 10
0000C0: 61 6E 64 20 61 70 70 65 6E 64 69 78 20 58 49 49 and appendix XII
0000D0: 29 2E 20 49 6E 20 20 63 6F 6E 6A 75 6E 63 74 69 ). In conjuncti
0000E0: 6F 6E 20 20 77 69 74 68 20 20 74 68 65 0D 0A 20 on with the..
0000F0: 20 20 20 20 20 20 43 52 54 43 20 28 43 61 74 68 CRTC (Cath
000100: 6F 64 65 20 52 61 79 20 54 75 62 65 20 43 6F 6E ode Ray Tube Con
000110: 74 72 6F 6C 6C 65 72 29 2C 20 77 68 69 63 68 20 troller), which
000120: 69 73 20 61 20 20 36 38 34 35 20 20 63 68 69 70 is a 6845 chip
000130: 2C 20 20 74 68 65 20 20 67 61 74 65 0D 0A 20 20 , the gate..
000140: 20 20 20 20 20 61 72 72 61 79 20 67 65 6E 65 72 array gener
000150: 61 74 65 20 74 68 65 20 76 69 64 65 6F 20 73 69 ate the video si
000160: 67 6E 61 6C 20 66 6F 72 20 74 68 65 20 6D 6F 6E gnal for the mon
000170: 69 74 6F 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 itor.......
000180: 20 20 54 68 65 20 50 53 47 20 28 50 72 6F 67 72 The PSG (Progr
000190: 61 6D 6D 61 62 6C 65 20 53 6F 75 6E 64 20 47 65 ammable Sound Ge
0001A0: 6E 65 72 61 74 6F 72 29 20 69 73 20 61 6E 20 41 nerator) is an A
0001B0: 59 2D 33 2D 38 39 32 2E 20 54 68 69 73 20 20 63 Y-3-892. This c
0001C0: 68 69 70 20 20 68 61 73 0D 0A 20 20 20 20 20 20 hip has..
0001D0: 20 74 68 72 65 65 20 63 68 61 6E 6E 65 6C 73 20 three channels
0001E0: 6F 66 20 73 6F 75 6E 64 20 67 65 6E 65 72 61 74 of sound generat
0001F0: 6F 72 2C 20 61 20 6E 6F 69 73 65 20 67 65 6E 65 or, a noise gene
Size : 512 (Real : 512)
000000: 72 61 74 6F 72 2C 20 65 6E 76 65 6C 6F 70 65 20 rator, envelope
000010: 63 6F 6E 74 72 6F 6C 0D 0A 20 20 20 20 20 20 20 control..
000020: 66 6F 72 20 65 61 63 68 20 63 68 61 6E 6E 65 6C for each channel
000030: 20 61 6E 64 20 20 61 6E 20 20 49 2F 4F 20 20 70 and an I/O p
000040: 6F 72 74 2E 20 20 54 68 65 20 20 77 61 79 20 20 ort. The way
000050: 74 68 65 20 20 73 6F 75 6E 64 20 20 67 65 6E 65 the sound gene
000060: 72 61 74 69 6E 67 0D 0A 20 20 20 20 20 20 20 68 rating.. h
000070: 61 72 64 77 61 72 65 20 69 73 20 75 73 65 64 20 ardware is used
000080: 69 73 20 64 65 73 63 72 69 62 65 64 20 69 6E 20 is described in
000090: 73 65 63 74 69 6F 6E 20 37 2E 20 54 68 65 20 49 section 7. The I
0000A0: 2F 4F 20 70 6F 72 74 20 69 73 20 20 75 73 65 64 /O port is used
0000B0: 20 20 66 6F 72 0D 0A 20 20 20 20 20 20 20 69 6E for.. in
0000C0: 70 75 74 20 6D 6F 64 65 20 74 6F 20 73 65 6E 73 put mode to sens
0000D0: 65 20 74 68 65 20 73 74 61 74 65 20 6F 66 20 74 e the state of t
0000E0: 68 65 20 6B 65 79 62 6F 61 72 64 20 61 6E 64 20 he keyboard and
0000F0: 6A 6F 79 73 74 69 63 6B 20 73 77 69 74 63 68 65 joystick switche
000100: 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 s....... T
000110: 68 65 20 46 44 43 20 28 46 6C 6F 70 70 79 20 44 he FDC (Floppy D
000120: 69 73 63 20 43 6F 6E 74 72 6F 6C 6C 65 72 29 20 isc Controller)
000130: 69 73 20 61 6E 20 4E 45 43 20 75 50 44 37 36 35 is an NEC uPD765
000140: 41 20 63 68 69 70 2E 20 4F 6E 6C 79 20 74 77 6F A chip. Only two
000150: 20 64 69 73 63 0D 0A 20 20 20 20 20 20 20 64 72 disc.. dr
000160: 69 76 65 73 20 61 72 65 20 73 75 70 70 6F 72 74 ives are support
000170: 65 64 2C 20 73 69 6E 63 65 20 74 68 65 20 55 53 ed, since the US
000180: 31 20 6C 69 6E 65 20 66 72 6F 6D 20 74 68 65 20 1 line from the
000190: 75 50 44 37 36 35 41 20 69 73 20 20 69 67 6E 6F uPD765A is igno
0001A0: 72 65 64 2E 0D 0A 20 20 20 20 20 20 20 54 68 69 red... Thi
0001B0: 73 20 72 65 73 75 6C 74 73 20 69 6E 20 74 68 65 s results in the
0001C0: 20 74 77 6F 20 64 69 73 63 20 64 72 69 76 65 73 two disc drives
0001D0: 20 62 65 69 6E 67 20 61 63 63 65 73 73 65 64 20 being accessed
0001E0: 61 73 20 64 72 69 76 65 73 20 30 20 20 61 6E 64 as drives 0 and
0001F0: 20 20 31 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 1.. and
Size : 512 (Real : 512)
000000: 61 67 61 69 6E 20 61 73 20 32 20 61 6E 64 20 33 again as 2 and 3
000010: 2E 20 54 68 65 20 46 44 43 20 73 75 70 70 6F 72 . The FDC suppor
000020: 74 73 20 62 6F 74 68 20 73 69 6E 67 6C 65 20 20 ts both single
000030: 61 6E 64 20 20 64 6F 75 62 6C 65 20 20 73 69 64 and double sid
000040: 65 64 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 73 ed.. and s
000050: 69 6E 67 6C 65 20 61 6E 64 20 64 6F 75 62 6C 65 ingle and double
000060: 20 64 65 6E 73 69 74 79 20 6D 69 6E 69 2D 66 6C density mini-fl
000070: 6F 70 70 79 20 64 69 73 63 20 64 72 69 76 65 73 oppy disc drives
000080: 2E 20 4E 6F 74 65 20 20 74 68 61 74 20 20 74 68 . Note that th
000090: 65 0D 0A 20 20 20 20 20 20 20 63 6C 6F 63 6B 20 e.. clock
0000A0: 66 72 65 71 75 65 6E 63 79 20 73 75 70 70 6C 69 frequency suppli
0000B0: 65 64 20 74 6F 20 74 68 65 20 75 50 44 37 36 35 ed to the uPD765
0000C0: 41 20 43 4C 4B 20 70 69 6E 20 69 73 20 20 34 4D A CLK pin is 4M
0000D0: 48 7A 20 20 72 61 74 68 65 72 20 20 74 68 61 6E Hz rather than
0000E0: 0D 0A 20 20 20 20 20 20 20 74 68 65 20 38 4D 48 .. the 8MH
0000F0: 7A 20 75 73 65 64 20 77 69 74 68 20 6C 61 72 67 z used with larg
000100: 65 72 20 64 69 73 63 20 64 72 69 76 65 73 2E 0D er disc drives..
000110: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 45 61 63 68 ..... Each
000120: 20 64 69 73 63 20 64 72 69 76 65 20 74 61 6B 65 disc drive take
000130: 73 20 61 20 73 69 6E 67 6C 65 20 33 22 20 66 6C s a single 3" fl
000140: 6F 70 70 79 20 64 69 73 63 2E 20 45 69 74 68 65 oppy disc. Eithe
000150: 72 20 73 69 64 65 20 6F 66 20 74 68 65 20 64 69 r side of the di
000160: 73 63 0D 0A 20 20 20 20 20 20 20 6D 61 79 20 62 sc.. may b
000170: 65 20 75 73 65 64 2C 20 64 65 70 65 6E 64 69 6E e used, dependin
000180: 67 20 6F 6E 20 77 68 69 63 68 20 77 61 79 20 75 g on which way u
000190: 70 20 74 68 65 20 64 69 73 63 20 69 73 20 69 6E p the disc is in
0001A0: 73 65 72 74 65 64 20 20 69 6E 74 6F 20 20 74 68 serted into th
0001B0: 65 0D 0A 20 20 20 20 20 20 20 64 72 69 76 65 2E e.. drive.
0001C0: 20 54 68 65 20 64 69 73 63 20 69 6E 74 65 72 66 The disc interf
0001D0: 61 63 65 20 63 6F 6E 74 61 69 6E 73 20 61 20 31 ace contains a 1
0001E0: 36 4B 20 65 78 70 61 6E 73 69 6F 6E 20 52 4F 4D 6K expansion ROM
0001F0: 2C 20 20 38 4B 20 20 6F 66 20 20 77 68 69 63 68 , 8K of which
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 63 6F 6E 74 61 69 6E .. contain
000010: 73 20 74 68 65 20 64 69 73 63 20 64 72 69 76 69 s the disc drivi
000020: 6E 67 20 73 6F 66 74 77 61 72 65 2C 20 74 68 65 ng software, the
000030: 20 72 65 6D 61 69 6E 64 65 72 20 20 62 65 69 6E remainder bein
000040: 67 20 20 75 73 65 64 20 20 62 79 20 20 44 52 0D g used by DR.
000050: 0A 20 20 20 20 20 20 20 4C 4F 47 4F 2E 0D 0A 0D . LOGO....
000060: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 50 50 ... The PP
000070: 49 20 28 50 61 72 61 6C 6C 65 6C 20 50 65 72 69 I (Parallel Peri
000080: 70 68 65 72 61 6C 20 49 6E 74 65 72 66 61 63 65 pheral Interface
000090: 29 2C 20 77 68 69 63 68 20 69 73 20 20 61 6E 20 ), which is an
0000A0: 20 38 32 35 35 20 20 63 68 69 70 2C 20 20 69 73 8255 chip, is
0000B0: 0D 0A 20 20 20 20 20 20 20 75 73 65 64 20 74 6F .. used to
0000C0: 20 63 6F 6E 74 72 6F 6C 20 74 68 65 20 72 65 6D control the rem
0000D0: 61 69 6E 64 65 72 20 6F 66 20 74 68 65 20 73 79 ainder of the sy
0000E0: 73 74 65 6D 2E 20 49 74 20 68 61 73 20 74 68 72 stem. It has thr
0000F0: 65 65 20 70 6F 72 74 73 2E 20 20 50 6F 72 74 0D ee ports. Port.
000100: 0A 20 20 20 20 20 20 20 43 20 69 73 20 75 73 65 . C is use
000110: 64 20 61 73 20 69 6E 20 6F 75 74 70 75 74 20 70 d as in output p
000120: 6F 72 74 20 74 6F 20 63 6F 6E 74 72 6F 6C 20 74 ort to control t
000130: 68 65 20 63 61 73 73 65 74 74 65 20 72 65 63 6F he cassette reco
000140: 72 64 65 72 20 6D 6F 74 6F 72 2C 20 74 6F 0D 0A rder motor, to..
000150: 20 20 20 20 20 20 20 77 72 69 74 65 20 64 61 74 write dat
000160: 61 20 74 6F 20 74 68 65 20 63 61 73 73 65 74 74 a to the cassett
000170: 65 2C 20 74 6F 20 77 72 69 74 65 20 64 61 74 61 e, to write data
000180: 20 74 6F 20 74 68 65 20 63 61 73 73 65 74 74 65 to the cassette
000190: 2C 20 20 74 6F 20 20 73 74 72 6F 62 65 0D 0A 20 , to strobe..
0001A0: 20 20 20 20 20 20 64 61 74 61 20 69 6E 20 6F 72 data in or
0001B0: 20 6F 75 74 20 6F 66 20 74 68 65 20 50 53 47 20 out of the PSG
0001C0: 61 6E 64 20 74 6F 20 73 65 6C 65 63 74 20 72 6F and to select ro
0001D0: 77 73 20 6F 66 20 74 68 65 20 6B 65 79 62 6F 61 ws of the keyboa
0001E0: 72 64 2E 20 20 50 6F 72 74 20 20 42 0D 0A 20 20 rd. Port B..
0001F0: 20 20 20 20 20 69 73 20 75 73 65 64 20 61 73 20 is used as
Size : 512 (Real : 512)
000000: 61 6E 20 69 6E 70 75 74 20 70 6F 72 74 20 20 74 an input port t
000010: 6F 20 20 73 65 6E 73 65 20 20 74 68 65 20 20 66 o sense the f
000020: 72 61 6D 65 20 20 66 6C 79 62 61 63 6B 20 20 73 rame flyback s
000030: 69 67 6E 61 6C 2C 20 20 74 68 65 0D 0A 20 20 20 ignal, the..
000040: 20 20 20 20 43 65 6E 74 72 6F 6E 69 63 73 20 70 Centronics p
000050: 6F 72 74 20 62 75 73 79 20 73 69 67 6E 61 6C 20 ort busy signal
000060: 61 6E 64 20 76 61 72 69 6F 75 73 20 6F 70 74 69 and various opti
000070: 6F 6E 20 6C 69 6E 6B 73 20 61 6E 64 20 74 6F 20 on links and to
000080: 72 65 61 64 20 20 64 61 74 61 0D 0A 20 20 20 20 read data..
000090: 20 20 20 66 72 6F 6D 20 74 68 65 20 63 61 73 73 from the cass
0000A0: 65 74 74 65 2E 20 50 6F 72 74 20 41 20 69 73 20 ette. Port A is
0000B0: 75 73 65 64 20 74 6F 20 63 6F 6D 6D 75 6E 69 63 used to communic
0000C0: 61 74 65 20 77 69 74 68 20 74 68 65 20 50 53 47 ate with the PSG
0000D0: 20 20 61 6E 64 20 20 69 73 0D 0A 20 20 20 20 20 and is..
0000E0: 20 20 73 65 74 20 69 6E 74 6F 20 69 6E 70 75 74 set into input
0000F0: 20 6F 72 20 6F 75 74 70 75 74 20 6D 6F 64 65 20 or output mode
000100: 61 73 20 72 65 71 75 69 72 65 64 2E 0D 0A 0D 0A as required.....
000110: 0D 0A 20 20 20 20 20 20 20 41 63 63 65 73 73 65 .. Accesse
000120: 73 20 74 6F 20 6D 65 6D 6F 72 79 20 61 72 65 20 s to memory are
000130: 73 79 6E 63 68 72 6F 6E 69 7A 65 64 20 77 69 74 synchronized wit
000140: 68 20 74 68 65 20 76 69 64 65 6F 20 6C 6F 67 69 h the video logi
000150: 63 20 20 2D 20 20 74 68 65 79 20 20 61 72 65 0D c - they are.
000160: 0A 20 20 20 20 20 20 20 63 6F 6E 73 74 72 61 69 . constrai
000170: 6E 65 64 20 74 6F 20 6F 63 63 75 72 20 6F 6E 20 ned to occur on
000180: 6D 69 63 72 6F 73 65 63 6F 6E 64 20 62 6F 75 6E microsecond boun
000190: 64 61 72 69 65 73 2E 20 54 68 69 73 20 68 61 73 daries. This has
0001A0: 20 74 68 65 20 61 66 66 65 63 74 20 6F 66 0D 0A the affect of..
0001B0: 20 20 20 20 20 20 20 73 74 72 65 74 63 68 69 6E stretchin
0001C0: 67 20 65 61 63 68 20 5A 38 30 20 4D 20 63 79 63 g each Z80 M cyc
0001D0: 6C 65 20 28 6D 61 63 68 69 6E 65 20 63 79 63 6C le (machine cycl
0001E0: 65 29 20 74 6F 20 62 65 20 61 20 6D 75 6C 74 69 e) to be a multi
0001F0: 70 6C 65 20 20 6F 66 20 20 34 20 20 54 0D 0A 20 ple of 4 T..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 73 74 61 74 65 73 20 28 63 6C states (cl
000010: 6F 63 6B 20 63 79 63 6C 65 73 29 2E 20 49 6E 20 ock cycles). In
000020: 70 72 61 63 74 69 63 65 20 74 68 69 73 20 61 6C practice this al
000030: 74 65 72 73 20 74 68 65 20 69 6E 73 74 72 75 63 ters the instruc
000040: 74 69 6F 6E 20 20 74 69 6D 69 6E 67 0D 0A 20 20 tion timing..
000050: 20 20 20 20 20 73 6F 20 74 68 61 74 20 74 68 65 so that the
000060: 20 65 66 66 65 63 74 69 76 65 20 63 6C 6F 63 6B effective clock
000070: 20 72 61 74 65 20 69 73 20 61 70 70 72 6F 78 69 rate is approxi
000080: 6D 61 74 65 6C 79 20 33 2E 33 4D 48 7A 2E 0D 0A mately 3.3MHz...
000090: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 ...... AMS
0000A0: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
0000B0: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 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 20 20 20 20 70 61 67 65 20 page
0000E0: 31 2E 32 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 1.2.............
0000F0: 0A 20 20 20 20 20 20 20 20 20 20 5F 5F 5F 5F 5F . _____
000100: 5F 5F 5F 5F 20 20 20 20 20 20 20 20 20 20 5F 5F ____ __
000110: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000120: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000130: 5F 5F 0D 0A 20 20 20 20 20 20 20 20 20 7C 20 20 __.. |
000140: 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 |
000150: 7C 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 7C 3C 2D 2D 0D 0A 20 20 20 20 20 |<--..
000180: 20 20 20 20 7C 20 4D 6F 6E 69 74 6F 72 20 7C 3C | Monitor |<
000190: 2D 2D 2D 2D 2D 2D 2D 7C 20 20 20 20 20 20 20 20 -------|
0001A0: 20 20 20 47 61 74 65 20 41 72 72 61 79 20 20 20 Gate Array
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 |
0001C0: 7C 0D 0A 20 20 20 20 20 20 20 20 20 7C 5F 5F 5F |.. |___
0001D0: 5F 5F 5F 5F 5F 5F 7C 20 20 20 20 20 20 20 20 7C ______| |
0001E0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0001F0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
Size : 512 (Real : 512)
000000: 5F 5F 5F 5F 7C 20 20 20 7C 0D 0A 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 5E 20 20 20 20 20 ^
000030: 20 20 20 20 20 20 20 5E 20 20 20 20 20 20 20 20 ^
000040: 20 20 20 20 20 20 20 20 5E 20 20 20 20 20 20 20 ^
000050: 7C 0D 0A 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 7C 20 20 20 20 20 20 20 20 20 20 20 20 7C | |
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 7C 20 20 20 20 20 20 20 7C 0D 0A 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 7C 20 20 20 20 20 |
0000C0: 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 |
0000D0: 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 |
0000E0: 7C 0D 0A 20 20 20 20 20 20 20 20 20 5F 5F 5F 5F |.. ____
0000F0: 5F 5F 5F 5F 5F 5F 20 20 20 20 20 20 20 20 5F 5F ______ __
000100: 5F 5F 7C 5F 5F 5F 20 20 20 20 20 20 5F 5F 5F 7C __|___ ___|
000110: 5F 5F 5F 5F 5F 20 20 20 20 20 20 20 20 5F 5F 5F _____ ___
000120: 7C 5F 5F 5F 5F 20 20 20 7C 0D 0A 20 20 20 20 20 |____ |..
000130: 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 7C 20 | |
000140: 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 7C 20 | |
000150: 20 20 20 7C 20 20 20 20 20 20 20 20 20 7C 20 20 | |
000160: 20 20 20 20 7C 20 20 20 20 20 20 20 20 7C 20 20 | |
000170: 7C 0D 0A 20 20 20 20 20 20 20 20 7C 20 53 70 65 |.. | Spe
000180: 61 6B 65 72 73 20 7C 20 20 20 20 20 20 7C 20 20 akers | |
000190: 43 52 54 43 20 20 7C 3C 2D 2D 3E 7C 20 20 20 20 CRTC |<-->|
0001A0: 20 20 20 20 20 7C 3C 2D 2D 2D 2D 3E 7C 20 20 20 |<---->|
0001B0: 52 41 4D 20 20 7C 20 20 7C 0D 0A 20 20 20 20 20 RAM | |..
0001C0: 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 20 |__________|
0001D0: 20 20 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 7C 20 |________|
0001E0: 20 20 20 7C 20 20 20 20 20 20 20 20 20 7C 20 20 | |
0001F0: 20 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 7C 20 20 |________|
Size : 512 (Real : 512)
000000: 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 |..
000010: 5E 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ^
000020: 20 7C 20 20 20 20 20 20 20 20 20 7C 20 20 20 43 | | C
000030: 50 55 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 PU |
000040: 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 |..
000050: 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 |
000060: 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 |
000070: 20 20 20 7C 20 20 20 20 20 20 20 20 20 7C 20 20 | |
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 7C 0D 0A 20 20 20 20 20 20 20 20 5F 5F 5F 5F 5F |.. _____
0000A0: 7C 5F 5F 20 20 20 20 20 20 20 20 20 20 5F 5F 5F |__ ___
0000B0: 5F 56 5F 5F 5F 5F 20 20 20 20 20 7C 20 20 20 20 _V____ |
0000C0: 20 20 20 20 20 7C 20 20 20 20 20 20 20 5F 5F 5F | ___
0000D0: 5F 5F 5F 5F 5F 20 20 20 7C 0D 0A 20 20 20 20 20 _____ |..
0000E0: 20 20 7C 20 20 20 20 20 20 20 20 7C 20 20 20 20 | |
0000F0: 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 7C 20 | |
000100: 20 20 20 7C 20 20 20 20 20 20 20 20 20 7C 20 20 | |
000110: 20 20 20 20 7C 20 20 20 20 20 20 20 20 7C 20 20 | |
000120: 7C 0D 0A 20 20 20 20 20 20 20 7C 20 20 50 53 47 |.. | PSG
000130: 20 20 20 7C 3C 2D 2D 2D 2D 2D 2D 3E 7C 20 20 20 |<------>|
000140: 20 20 20 20 20 20 7C 3C 2D 2D 3E 7C 20 20 20 20 |<-->|
000150: 20 20 20 20 20 7C 3C 2D 2D 2D 2D 2D 7C 20 20 52 |<-----| R
000160: 4F 4D 20 20 20 7C 3C 2D 7C 0D 0A 20 20 20 20 20 OM |<-|..
000170: 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 7C 20 20 20 20 |________|
000180: 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 7C 20 | |
000190: 20 20 20 7C 20 20 20 20 20 20 20 20 20 7C 20 20 | |
0001A0: 20 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A |________|..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 5E 20 20 20 20 ^
0001C0: 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 |
0001D0: 20 20 20 7C 20 20 20 20 7C 20 20 20 20 20 20 20 | |
0001E0: 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 |..
0001F0: 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 | |
Size : 512 (Real : 512)
000000: 20 50 50 49 20 20 20 20 7C 20 20 20 20 7C 5F 5F PPI | |__
000010: 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 20 20 20 20 20 20 _______|..
000020: 20 20 5F 5F 5F 7C 5F 5F 5F 5F 5F 5F 20 20 20 20 ___|______
000030: 20 20 20 7C 20 20 20 20 20 20 20 20 20 7C 20 20 | |
000040: 20 20 20 20 20 20 20 7C 20 20 20 5E 5F 5F 5F 5F | ^____
000050: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 0D 0A ______________..
000060: 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 |
000070: 20 20 7C 20 20 20 20 20 20 7C 20 20 20 20 20 20 | |
000080: 20 20 20 7C 20 20 20 20 20 5F 5F 5F 5F 56 5F 5F | ____V__
000090: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 20 20 20 20 ____________
0000A0: 5F 5F 5F 5F 7C 5F 5F 5F 5F 0D 0A 20 20 20 20 20 ____|____..
0000B0: 20 20 7C 20 4B 65 79 62 6F 61 72 64 20 7C 20 20 | Keyboard |
0000C0: 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 7C 20 | |
0000D0: 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 |
0000E0: 20 20 20 20 20 20 20 7C 20 20 7C 20 20 20 20 20 | |
0000F0: 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 7C 20 |.. |
000100: 20 61 6E 64 20 20 20 20 20 7C 3C 2D 2D 2D 2D 3E and |<---->
000110: 7C 20 20 20 20 20 20 20 20 20 7C 3C 2D 2D 3E 7C | |<-->|
000120: 20 20 20 43 65 6E 74 72 6F 6E 69 63 73 20 50 6F Centronics Po
000130: 72 74 20 7C 20 20 7C 20 20 20 46 44 43 20 20 20 rt | | FDC
000140: 7C 0D 0A 20 20 20 20 20 20 20 7C 4A 6F 79 73 74 |.. |Joyst
000150: 69 63 6B 73 20 7C 20 20 20 20 20 20 7C 20 20 20 icks | |
000160: 20 20 20 20 20 20 7C 20 20 20 20 7C 20 20 20 20 | |
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C |
000180: 20 20 7C 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 | |..
000190: 20 20 20 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F |_________
0001A0: 5F 7C 20 20 20 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F _| |_______
0001B0: 5F 5F 7C 20 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F __| |________
0001C0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 20 20 7C 5F ___________| |_
0001D0: 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 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 5E 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 5E 0D 0A ^..
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 5F 5F 5F 5F 56 5F ____V_
000040: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 20 20 20 _____________
000050: 20 20 20 20 20 20 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F __________
000060: 5F 5F 56 5F 0D 0A 20 20 20 20 20 20 20 20 20 20 __V_..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C |
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 7C 20 20 20 20 20 20 20 7C 20 20 20 20 | |
0000A0: 20 20 20 20 20 20 20 20 20 20 7C 0D 0A 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 7C 20 43 61 73 73 65 74 74 65 | Cassette
0000D0: 20 52 65 63 6F 72 64 65 72 20 7C 20 20 20 20 20 Recorder |
0000E0: 20 20 7C 20 20 44 69 73 63 20 44 72 69 76 65 73 | Disc Drives
0000F0: 20 7C 0D 0A 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 7C 5F 5F |__
000110: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000120: 5F 7C 20 20 20 20 20 20 20 7C 5F 5F 5F 5F 5F 5F _| |______
000130: 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 0D 0A 0D 0A 0D ________|.......
000140: 0A 0D 0A 20 20 20 20 20 20 20 31 2E 32 20 54 68 ... 1.2 Th
000150: 65 20 44 69 76 69 73 69 6F 6E 20 6F 66 20 74 68 e Division of th
000160: 65 20 46 69 72 6D 77 61 72 65 2E 0D 0A 0D 0A 0D e Firmware......
000170: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
000180: 46 69 72 6D 77 61 72 65 20 69 73 20 73 70 6C 69 Firmware is spli
000190: 74 20 69 6E 74 6F 20 27 70 61 63 6B 73 27 20 65 t into 'packs' e
0001A0: 61 63 68 20 64 65 61 6C 69 6E 67 20 77 69 74 68 ach dealing with
0001B0: 20 61 20 70 61 72 74 69 63 75 6C 61 72 20 70 61 a particular pa
0001C0: 72 74 0D 0A 20 20 20 20 20 20 20 6F 66 20 74 68 rt.. of th
0001D0: 65 20 73 79 73 74 65 6D 2C 20 75 73 75 61 6C 6C e system, usuall
0001E0: 79 20 61 20 68 61 72 64 77 61 72 65 20 64 65 76 y a hardware dev
0001F0: 69 63 65 2E 20 45 61 63 68 20 70 61 63 6B 20 68 ice. Each pack h
Size : 512 (Real : 512)
000000: 61 73 20 61 20 20 73 65 63 74 69 6F 6E 20 20 6F as a section o
000010: 66 0D 0A 20 20 20 20 20 20 20 74 68 69 73 20 6D f.. this m
000020: 61 6E 75 61 6C 20 64 65 76 6F 74 65 64 20 74 6F anual devoted to
000030: 20 69 74 20 77 68 65 72 65 20 69 74 73 20 6F 70 it where its op
000040: 65 72 61 74 69 6F 6E 20 69 73 20 65 78 70 6C 61 eration is expla
000050: 69 6E 65 64 20 69 6E 20 20 64 65 74 61 69 6C 2E ined in detail.
000060: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ........ T
000070: 68 65 20 73 79 73 74 65 6D 20 63 6F 6D 70 6F 6E he system compon
000080: 65 6E 74 73 20 61 6E 64 20 74 68 65 69 72 20 61 ents and their a
000090: 73 73 6F 63 69 61 74 65 64 20 70 61 63 6B 73 20 ssociated packs
0000A0: 61 72 65 3A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 are:..........
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4B 65 Ke
0000C0: 79 62 6F 61 72 64 3A 20 20 20 20 20 20 20 20 20 yboard:
0000D0: 20 20 4B 65 79 20 4D 61 6E 61 67 65 72 2E 0D 0A Key Manager...
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 53 63 72 65 65 6E 3A 20 20 20 20 20 20 20 20 20 Screen:
000100: 20 20 20 20 54 65 78 74 20 56 44 55 2C 20 47 72 Text VDU, Gr
000110: 61 70 68 69 63 73 20 56 44 55 2C 20 53 63 72 65 aphics VDU, Scre
000120: 65 6E 20 50 61 63 6B 2E 0D 0A 20 20 20 20 20 20 en Pack...
000130: 20 20 20 20 20 20 20 20 20 20 43 61 73 73 65 74 Casset
000140: 74 65 2F 44 69 73 63 3A 20 20 20 20 20 20 43 61 te/Disc: Ca
000150: 73 73 65 74 74 65 20 4D 61 6E 61 67 65 72 2F 41 ssette Manager/A
000160: 4D 53 44 4F 53 2E 0D 0A 20 20 20 20 20 20 20 20 MSDOS...
000170: 20 20 20 20 20 20 20 20 53 6F 75 6E 64 3A 20 20 Sound:
000180: 20 20 20 20 20 20 20 20 20 20 20 20 53 6F 75 6E Soun
000190: 64 20 4D 61 6E 61 67 65 72 2E 0D 0A 20 20 20 20 d Manager...
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 4F 70 65 72 Oper
0001B0: 61 74 69 6E 67 20 53 79 73 74 65 6D 3A 20 20 20 ating System:
0001C0: 4B 65 72 6E 65 6C 2C 20 4D 61 63 68 69 6E 65 20 Kernel, Machine
0001D0: 50 61 63 6B 2C 20 4A 75 6D 70 65 72 2E 0D 0A 0D Pack, Jumper....
0001E0: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D ....... AM
0001F0: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
Size : 512 (Real : 512)
000000: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 /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 2E 33 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 1.3............
000040: 0D 0A 20 20 20 20 20 20 20 61 2E 20 4B 65 79 20 .. a. Key
000050: 4D 61 6E 61 67 65 72 0D 0A 0D 0A 20 20 20 20 20 Manager....
000060: 20 20 54 68 65 20 4B 65 79 20 4D 61 6E 61 67 65 The Key Manage
000070: 72 20 69 73 20 6D 6F 72 65 20 66 75 6C 6C 79 20 r is more fully
000080: 64 65 73 63 72 69 62 65 64 20 69 6E 20 73 65 63 described in sec
000090: 74 69 6F 6E 20 33 2E 20 20 49 74 20 20 64 65 61 tion 3. It dea
0000A0: 6C 73 20 20 77 69 74 68 0D 0A 20 20 20 20 20 20 ls with..
0000B0: 20 73 63 61 6E 6E 69 6E 67 20 74 68 65 20 6B 65 scanning the ke
0000C0: 79 62 6F 61 72 64 2C 20 67 65 6E 65 72 61 74 69 yboard, generati
0000D0: 6E 67 20 63 68 61 72 61 63 74 65 72 73 2C 20 66 ng characters, f
0000E0: 75 6E 63 74 69 6F 6E 20 20 6B 65 79 73 2C 20 20 unction keys,
0000F0: 74 65 73 74 69 6E 67 0D 0A 20 20 20 20 20 20 20 testing..
000100: 66 6F 72 20 62 72 65 61 6B 20 61 6E 64 20 73 63 for break and sc
000110: 61 6E 6E 69 6E 67 20 74 68 65 20 6A 6F 79 73 74 anning the joyst
000120: 69 63 6B 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 icks.......
000130: 20 20 62 2E 20 54 65 78 74 20 56 44 55 0D 0A 0D b. Text VDU...
000140: 0A 20 20 20 20 20 20 20 54 68 65 20 54 65 78 74 . The Text
000150: 20 56 44 55 20 69 73 20 6D 6F 72 65 20 66 75 6C VDU is more ful
000160: 6C 79 20 6F 75 74 6C 69 6E 65 64 20 69 6E 20 73 ly outlined in s
000170: 65 63 74 69 6F 6E 20 34 2E 20 49 74 20 64 65 61 ection 4. It dea
000180: 6C 73 20 77 69 74 68 20 70 75 74 74 69 6E 67 0D ls with putting.
000190: 0A 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 . characte
0001A0: 72 73 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E rs on the screen
0001B0: 2C 20 74 68 65 20 63 75 72 73 6F 72 20 61 6E 64 , the cursor and
0001C0: 20 6F 62 65 79 69 6E 67 20 63 6F 6E 74 72 6F 6C obeying control
0001D0: 20 63 6F 64 65 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 codes.......
0001E0: 20 20 20 20 63 2E 20 47 72 61 70 68 69 63 73 20 c. Graphics
0001F0: 56 44 55 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 VDU.... Th
Size : 512 (Real : 512)
000000: 65 20 47 72 61 70 68 69 63 73 20 56 44 55 20 69 e Graphics VDU i
000010: 73 20 6D 6F 72 65 20 66 75 6C 6C 79 20 70 72 65 s more fully pre
000020: 73 65 6E 74 65 64 20 69 6E 20 73 65 63 74 69 6F sented in sectio
000030: 6E 20 35 2E 20 49 74 20 20 64 65 61 6C 73 20 20 n 5. It deals
000040: 77 69 74 68 0D 0A 20 20 20 20 20 20 20 70 6C 6F with.. plo
000050: 74 74 69 6E 67 20 70 6F 69 6E 74 73 2C 20 74 65 tting points, te
000060: 73 74 69 6E 67 20 70 6F 69 6E 74 73 2C 20 64 72 sting points, dr
000070: 61 77 69 6E 67 20 6C 69 6E 65 73 20 61 6E 64 20 awing lines and
000080: 20 66 69 6C 6C 69 6E 67 20 20 61 72 65 61 73 20 filling areas
000090: 20 6F 6E 0D 0A 20 20 20 20 20 20 20 74 68 65 20 on.. the
0000A0: 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 screen.......
0000B0: 20 20 20 20 64 2E 20 53 63 72 65 65 6E 20 50 61 d. Screen Pa
0000C0: 63 6B 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ck.... The
0000D0: 20 53 63 72 65 65 6E 20 50 61 63 6B 20 69 73 20 Screen Pack is
0000E0: 6D 6F 72 65 20 66 75 6C 6C 79 20 64 65 74 61 69 more fully detai
0000F0: 6C 65 64 20 69 6E 20 73 65 63 74 69 6F 6E 20 36 led in section 6
000100: 2E 20 49 74 20 69 6E 74 65 72 66 61 63 65 73 20 . It interfaces
000110: 74 68 65 0D 0A 20 20 20 20 20 20 20 54 65 78 74 the.. Text
000120: 20 61 6E 64 20 47 72 61 70 68 69 63 73 20 56 44 and Graphics VD
000130: 55 73 20 77 69 74 68 20 74 68 65 20 73 63 72 65 Us with the scre
000140: 65 6E 20 68 61 72 64 77 61 72 65 20 61 6E 64 20 en hardware and
000150: 64 65 61 6C 73 20 77 69 74 68 20 61 73 70 65 63 deals with aspec
000160: 74 73 0D 0A 20 20 20 20 20 20 20 6F 66 20 74 68 ts.. of th
000170: 65 20 73 63 72 65 65 6E 20 74 68 61 74 20 61 66 e screen that af
000180: 66 65 63 74 20 62 6F 74 68 20 6F 66 20 74 68 65 fect both of the
000190: 73 65 20 70 61 63 6B 73 2C 20 73 75 63 68 20 61 se packs, such a
0001A0: 73 20 73 63 72 65 65 6E 20 6D 6F 64 65 20 20 6F s screen mode o
0001B0: 72 0D 0A 20 20 20 20 20 20 20 69 6E 6B 20 63 6F r.. ink co
0001C0: 6C 6F 75 72 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 lours.....
0001D0: 20 65 2E 20 53 6F 75 6E 64 20 4D 61 6E 61 67 65 e. Sound Manage
0001E0: 72 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 r.... The
0001F0: 53 6F 75 6E 64 20 4D 61 6E 61 67 65 72 20 69 73 Sound Manager is
Size : 512 (Real : 512)
000000: 20 6D 6F 72 65 20 66 75 6C 6C 79 20 64 69 73 63 more fully disc
000010: 75 73 73 65 64 20 69 6E 20 73 65 63 74 69 6F 6E ussed in section
000020: 20 37 2E 20 49 74 20 64 65 61 6C 73 20 20 77 69 7. It deals wi
000030: 74 68 0D 0A 20 20 20 20 20 20 20 71 75 65 75 69 th.. queui
000040: 6E 67 2C 20 65 6E 76 65 6C 6F 70 69 6E 67 2C 20 ng, enveloping,
000050: 73 79 6E 63 68 72 6F 6E 69 7A 69 6E 67 20 61 6E synchronizing an
000060: 64 20 67 65 6E 65 72 61 74 69 6E 67 20 73 6F 75 d generating sou
000070: 6E 64 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 66 nds..... f
000080: 2E 20 43 61 73 73 65 74 74 65 20 4D 61 6E 61 67 . Cassette Manag
000090: 65 72 2F 41 4D 53 44 4F 53 0D 0A 0D 0A 20 20 20 er/AMSDOS....
0000A0: 20 20 20 20 54 68 65 20 43 61 73 73 65 74 74 65 The Cassette
0000B0: 20 4D 61 6E 61 67 65 72 20 69 73 20 6D 6F 72 65 Manager is more
0000C0: 20 66 75 6C 6C 79 20 65 78 70 6C 61 69 6E 65 64 fully explained
0000D0: 20 69 6E 20 73 65 63 74 69 6F 6E 20 20 38 2E 20 in section 8.
0000E0: 20 49 74 20 20 64 65 61 6C 73 0D 0A 20 20 20 20 It deals..
0000F0: 20 20 20 77 69 74 68 20 72 65 61 64 69 6E 67 20 with reading
000100: 66 72 6F 6D 20 74 61 70 65 2C 20 77 72 69 74 69 from tape, writi
000110: 6E 67 20 74 6F 20 74 61 70 65 20 61 6E 64 20 63 ng to tape and c
000120: 61 73 73 65 74 74 65 20 6D 6F 74 6F 72 20 63 6F assette motor co
000130: 6E 74 72 6F 6C 2E 0D 0A 0D 0A 20 20 20 20 20 20 ntrol.....
000140: 20 41 4D 53 44 4F 53 20 69 73 20 65 78 70 6C 61 AMSDOS is expla
000150: 69 6E 65 64 20 6D 6F 72 65 20 66 75 6C 6C 79 20 ined more fully
000160: 69 6E 20 73 65 63 74 69 6F 6E 20 39 2E 20 20 49 in section 9. I
000170: 74 20 20 64 65 61 6C 73 20 20 77 69 74 68 20 20 t deals with
000180: 72 65 61 64 69 6E 67 0D 0A 20 20 20 20 20 20 20 reading..
000190: 66 72 6F 6D 20 64 69 73 63 2C 20 77 72 69 74 69 from disc, writi
0001A0: 6E 67 20 74 6F 20 64 69 73 63 20 61 6E 64 20 74 ng to disc and t
0001B0: 68 65 20 64 69 73 63 20 6D 6F 74 6F 72 20 63 6F he disc motor co
0001C0: 6E 74 72 6F 6C 2E 0D 0A 0D 0A 20 20 20 20 20 20 ntrol.....
0001D0: 20 67 2E 20 4B 65 72 6E 65 6C 0D 0A 0D 0A 20 20 g. Kernel....
0001E0: 20 20 20 20 20 54 68 65 20 4B 65 72 6E 65 6C 20 The Kernel
0001F0: 69 73 20 6D 6F 72 65 20 66 75 6C 6C 79 20 64 65 is more fully de
Size : 512 (Real : 512)
000000: 73 63 72 69 62 65 64 20 69 6E 20 73 65 63 74 69 scribed in secti
000010: 6F 6E 73 20 32 2C 20 31 30 2C 20 31 31 20 61 6E ons 2, 10, 11 an
000020: 64 20 31 32 2E 20 49 74 20 69 73 0D 0A 20 20 20 d 12. It is..
000030: 20 20 20 20 74 68 65 20 68 65 61 72 74 20 6F 66 the heart of
000040: 20 74 68 65 20 6F 70 65 72 61 74 69 6E 67 20 73 the operating s
000050: 79 73 74 65 6D 20 61 6E 64 20 64 65 61 6C 73 20 ystem and deals
000060: 77 69 74 68 20 20 69 6E 74 65 72 72 75 70 74 73 with interrupts
000070: 2C 20 20 65 76 65 6E 74 73 2C 0D 0A 20 20 20 20 , events,..
000080: 20 20 20 73 65 6C 65 63 74 69 6E 67 20 52 4F 4D selecting ROM
000090: 73 20 61 6E 64 20 72 75 6E 6E 69 6E 67 20 70 72 s and running pr
0000A0: 6F 67 72 61 6D 73 2E 0D 0A 0D 0A 20 20 20 20 20 ograms.....
0000B0: 20 20 68 2E 20 4D 61 63 68 69 6E 65 20 50 61 63 h. Machine Pac
0000C0: 6B 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 k.... The
0000D0: 4D 61 63 68 69 6E 65 20 50 61 63 6B 20 69 73 20 Machine Pack is
0000E0: 6D 6F 72 65 20 66 75 6C 6C 79 20 64 6F 63 75 6D more fully docum
0000F0: 65 6E 74 65 64 20 69 6E 20 73 65 63 74 69 6F 6E ented in section
000100: 20 31 33 2E 20 49 74 20 64 65 61 6C 73 20 77 69 13. It deals wi
000110: 74 68 0D 0A 20 20 20 20 20 20 20 74 68 65 20 70 th.. the p
000120: 72 69 6E 74 65 72 20 61 6E 64 20 74 68 65 20 6C rinter and the l
000130: 6F 77 20 6C 65 76 65 6C 20 64 72 69 76 69 6E 67 ow level driving
000140: 20 6F 66 20 74 68 65 20 68 61 72 64 77 61 72 65 of the hardware
000150: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 69 2E 20 4A ..... i. J
000160: 75 6D 70 65 72 0D 0A 0D 0A 20 20 20 20 20 20 20 umper....
000170: 4A 75 6D 70 65 72 2C 20 6F 72 20 72 61 74 68 65 Jumper, or rathe
000180: 72 2C 20 74 68 65 20 6D 61 69 6E 20 66 69 72 6D r, the main firm
000190: 77 61 72 65 20 6A 75 6D 70 62 6C 6F 63 6B 20 69 ware jumpblock i
0001A0: 73 20 20 6C 69 73 74 65 64 20 20 69 6E 20 20 73 s listed in s
0001B0: 65 63 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 31 ection.. 1
0001C0: 34 2E 20 54 68 65 20 65 6E 74 72 69 65 73 20 69 4. The entries i
0001D0: 6E 20 74 68 65 20 6A 75 6D 70 62 6C 6F 63 6B 20 n the jumpblock
0001E0: 61 72 65 20 64 65 73 63 72 69 62 65 64 20 69 6E are described in
0001F0: 20 20 64 65 74 61 69 6C 20 20 69 6E 20 20 73 65 detail in se
Size : 512 (Real : 512)
000000: 63 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 31 35 ction.. 15
000010: 2E 20 4A 75 6D 70 65 72 20 73 65 74 73 20 75 70 . Jumper sets up
000020: 20 74 68 65 20 66 69 72 6D 77 61 72 65 20 6A 75 the firmware ju
000030: 6D 70 62 6C 6F 63 6B 2E 0D 0A 0D 0A 0D 0A 0D 0A mpblock.........
000040: 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 AMSTRAD C
000050: 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 PC464/664/6128 F
000060: 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 IRMWARE
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 20 20 20 70 61 67 65 20 31 2E 34 0D 0A 0D page 1.4...
000090: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
0000A0: 20 20 31 2E 33 20 43 6F 6E 74 72 6F 6C 6C 69 6E 1.3 Controllin
0000B0: 67 20 74 68 65 20 46 69 72 6D 77 61 72 65 2E 0D g the Firmware..
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 66 69 ... The fi
0000D0: 72 6D 77 61 72 65 20 69 73 20 63 6F 6E 74 72 6F rmware is contro
0000E0: 6C 6C 65 64 20 62 79 20 20 74 68 65 20 20 75 73 lled by the us
0000F0: 65 72 20 20 63 61 6C 6C 69 6E 67 20 20 70 75 62 er calling pub
000100: 6C 69 73 68 65 64 20 20 72 6F 75 74 69 6E 65 73 lished routines
000110: 0D 0A 20 20 20 20 20 20 20 72 61 74 68 65 72 20 .. rather
000120: 74 68 61 6E 20 62 79 20 74 68 65 20 75 73 65 72 than by the user
000130: 20 73 65 74 74 69 6E 67 20 74 68 65 20 76 61 6C setting the val
000140: 75 65 73 20 6F 66 20 73 79 73 74 65 6D 20 20 76 ues of system v
000150: 61 72 69 61 62 6C 65 73 2E 20 20 54 68 69 73 0D ariables. This.
000160: 0A 20 20 20 20 20 20 20 77 69 6C 6C 20 61 6C 6C . will all
000170: 6F 77 20 74 68 65 20 66 69 72 6D 77 61 72 65 27 ow the firmware'
000180: 73 20 76 61 72 69 61 62 6C 65 20 6C 61 79 6F 75 s variable layou
000190: 74 20 74 6F 20 62 65 20 63 68 61 6E 67 65 64 20 t to be changed
0001A0: 69 6E 20 6D 61 6A 6F 72 20 20 77 61 79 73 0D 0A in major ways..
0001B0: 20 20 20 20 20 20 20 77 69 74 68 6F 75 74 20 74 without t
0001C0: 68 65 20 75 73 65 72 20 62 65 69 6E 67 20 61 66 he user being af
0001D0: 66 65 63 74 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 fected.....
0001E0: 20 20 54 68 65 20 61 64 64 72 65 73 73 65 73 20 The addresses
0001F0: 6F 66 20 74 68 65 20 72 6F 75 74 69 6E 65 73 20 of the routines
Size : 512 (Real : 512)
000000: 74 68 65 20 75 73 65 72 20 20 69 73 20 20 74 6F the user is to
000010: 20 20 63 61 6C 6C 20 20 6E 65 65 64 20 20 74 6F call need to
000020: 20 20 72 65 6D 61 69 6E 0D 0A 20 20 20 20 20 20 remain..
000030: 20 63 6F 6E 73 74 61 6E 74 20 69 66 20 74 68 65 constant if the
000040: 20 20 66 69 72 6D 77 61 72 65 20 20 69 73 20 20 firmware is
000050: 61 6C 74 65 72 65 64 2E 20 20 54 68 69 73 20 20 altered. This
000060: 69 73 20 20 61 63 68 69 65 76 65 64 20 20 62 79 is achieved by
000070: 20 20 75 73 69 6E 67 0D 0A 20 20 20 20 20 20 20 using..
000080: 6A 75 6D 70 62 6C 6F 63 6B 73 20 28 73 65 65 20 jumpblocks (see
000090: 62 65 6C 6F 77 29 2E 0D 0A 0D 0A 20 20 20 20 20 below).....
0000A0: 20 20 54 68 65 20 61 64 76 61 6E 74 61 67 65 20 The advantage
0000B0: 6F 66 20 61 20 72 6F 75 74 69 6E 65 20 69 6E 74 of a routine int
0000C0: 65 72 66 61 63 65 20 69 73 20 74 68 61 74 20 69 erface is that i
0000D0: 74 20 20 61 6C 6C 6F 77 73 20 20 61 20 20 6E 75 t allows a nu
0000E0: 6D 62 65 72 20 20 6F 66 0D 0A 20 20 20 20 20 20 mber of..
0000F0: 20 64 69 66 66 65 72 65 6E 74 20 73 79 73 74 65 different syste
000100: 6D 20 20 76 61 72 69 61 62 6C 65 73 20 20 74 6F m variables to
000110: 20 20 62 65 20 20 61 6C 74 65 72 65 64 20 20 62 be altered b
000120: 79 20 20 74 68 65 20 20 66 69 72 6D 77 61 72 65 y the firmware
000130: 20 20 69 6E 20 20 61 0D 0A 20 20 20 20 20 20 20 in a..
000140: 63 6F 6E 73 69 73 74 65 6E 74 20 77 61 79 20 69 consistent way i
000150: 6E 20 6F 6E 65 20 6F 70 65 72 61 74 69 6F 6E 2E n one operation.
000160: 20 49 66 20 74 68 65 20 73 79 73 74 65 6D 20 76 If the system v
000170: 61 72 69 61 62 6C 65 73 20 68 61 64 20 74 6F 20 ariables had to
000180: 62 65 20 73 65 74 0D 0A 20 20 20 20 20 20 20 62 be set.. b
000190: 79 20 74 68 65 20 75 73 65 72 20 74 68 65 6E 20 y the user then
0001A0: 74 68 65 20 66 69 72 6D 77 61 72 65 20 63 6F 75 the firmware cou
0001B0: 6C 64 20 62 65 20 6C 65 66 74 20 69 6E 20 61 6E ld be left in an
0001C0: 20 69 6E 64 65 74 65 72 6D 69 6E 61 74 65 20 20 indeterminate
0001D0: 73 74 61 74 65 0D 0A 0D 0A 20 20 20 20 20 20 20 state....
0001E0: 69 66 20 73 6F 6D 65 20 76 61 72 69 61 62 6C 65 if some variable
0001F0: 73 20 68 61 64 20 62 65 65 6E 20 73 65 74 20 62 s had been set b
Size : 512 (Real : 512)
000000: 75 74 20 6E 6F 74 20 6F 74 68 65 72 73 2E 20 41 ut not others. A
000010: 6C 73 6F 2C 20 74 68 65 20 72 6F 75 74 69 6E 65 lso, the routine
000020: 20 20 74 79 70 65 0D 0A 20 20 20 20 20 20 20 6F type.. o
000030: 66 20 69 6E 74 65 72 66 61 63 65 20 65 6E 73 75 f interface ensu
000040: 72 65 73 20 74 68 61 74 20 61 6C 6C 20 74 68 65 res that all the
000050: 20 72 65 71 75 69 72 65 64 20 73 69 64 65 20 65 required side e
000060: 66 66 65 63 74 73 20 20 6F 66 20 20 61 20 20 63 ffects of a c
000070: 68 61 6E 67 65 0D 0A 20 20 20 20 20 20 20 61 72 hange.. ar
000080: 65 20 74 61 6B 65 6E 20 63 61 72 65 20 6F 66 20 e taken care of
000090: 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 20 77 69 automatically wi
0000A0: 74 68 6F 75 74 20 74 68 65 20 75 73 65 72 20 62 thout the user b
0000B0: 65 69 6E 67 20 20 74 72 6F 75 62 6C 65 64 20 20 eing troubled
0000C0: 77 69 74 68 0D 0A 20 20 20 20 20 20 20 74 68 65 with.. the
0000D0: 20 64 65 74 61 69 6C 73 2E 20 41 6E 20 65 78 61 details. An exa
0000E0: 6D 70 6C 65 20 6F 66 20 74 68 69 73 20 20 69 73 mple of this is
0000F0: 20 20 63 68 61 6E 67 69 6E 67 20 20 74 68 65 20 changing the
000100: 20 73 63 72 65 65 6E 20 20 6D 6F 64 65 20 20 28 screen mode (
000110: 73 65 65 0D 0A 20 20 20 20 20 20 20 73 65 63 74 see.. sect
000120: 69 6F 6E 20 36 2E 31 29 20 2D 20 63 68 61 6E 67 ion 6.1) - chang
000130: 69 6E 67 20 74 68 65 20 73 69 7A 65 20 6F 66 20 ing the size of
000140: 74 68 65 20 73 63 72 65 65 6E 20 72 65 71 75 69 the screen requi
000150: 72 65 73 20 20 61 20 20 6E 75 6D 62 65 72 20 20 res a number
000160: 6F 66 0D 0A 20 20 20 20 20 20 20 6F 74 68 65 72 of.. other
000170: 20 70 65 6F 70 6C 65 20 74 6F 20 62 65 20 69 6E people to be in
000180: 66 6F 72 6D 65 64 20 6F 66 20 20 74 68 65 20 20 formed of the
000190: 63 68 61 6E 67 65 20 20 73 6F 20 20 74 68 61 74 change so that
0001A0: 20 20 69 6C 6C 65 67 61 6C 20 20 73 63 72 65 65 illegal scree
0001B0: 6E 0D 0A 20 20 20 20 20 20 20 70 6F 73 69 74 69 n.. positi
0001C0: 6F 6E 73 20 61 6E 64 20 69 6E 6B 73 20 61 72 65 ons and inks are
0001D0: 20 6E 6F 74 20 75 73 65 64 2E 0D 0A 0D 0A 20 20 not used.....
0001E0: 20 20 20 20 20 31 2E 34 20 4A 75 6D 70 62 6C 6F 1.4 Jumpblo
0001F0: 63 6B 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 cks.......
Size : 512 (Real : 512)
000000: 20 41 20 6A 75 6D 70 62 6C 6F 63 6B 20 69 73 20 A jumpblock is
000010: 61 20 73 65 72 69 65 73 20 6F 66 20 20 6A 75 6D a series of jum
000020: 70 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 p instructions
000030: 20 70 6C 61 63 65 64 20 20 69 6E 20 20 6D 65 6D placed in mem
000040: 6F 72 79 20 20 61 74 0D 0A 20 20 20 20 20 20 20 ory at..
000050: 77 65 6C 6C 2D 6B 6E 6F 77 6E 20 6C 6F 63 61 74 well-known locat
000060: 69 6F 6E 73 2E 20 54 68 65 20 6A 75 6D 70 73 20 ions. The jumps
000070: 61 72 65 20 74 6F 20 74 68 65 20 20 76 61 72 69 are to the vari
000080: 6F 75 73 20 20 72 6F 75 74 69 6E 65 73 20 20 69 ous routines i
000090: 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 66 n the.. f
0000A0: 69 72 6D 77 61 72 65 20 74 68 61 74 20 74 68 65 irmware that the
0000B0: 20 75 73 65 72 20 6D 69 67 68 74 20 77 61 6E 74 user might want
0000C0: 20 74 6F 20 63 61 6C 6C 2E 20 50 72 6F 67 72 61 to call. Progra
0000D0: 6D 73 20 74 68 61 74 20 6E 65 65 64 20 20 74 6F ms that need to
0000E0: 20 20 75 73 65 0D 0A 20 20 20 20 20 20 20 74 68 use.. th
0000F0: 65 20 66 61 63 69 6C 69 74 69 65 73 20 70 72 6F e facilities pro
000100: 76 69 64 65 64 20 62 79 20 74 68 65 20 72 6F 75 vided by the rou
000110: 74 69 6E 65 73 20 69 6E 20 74 68 65 20 6A 75 6D tines in the jum
000120: 70 62 6C 6F 63 6B 20 20 73 68 6F 75 6C 64 20 20 pblock should
000130: 63 61 6C 6C 0D 0A 20 20 20 20 20 20 20 74 68 65 call.. the
000140: 20 61 70 70 72 6F 70 72 69 61 74 65 20 6A 75 6D appropriate jum
000150: 70 62 6C 6F 63 6B 20 65 6E 74 72 69 65 73 2E 0D pblock entries..
000160: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
000170: 68 65 20 66 69 72 6D 77 61 72 65 20 69 73 20 61 he firmware is a
000180: 6C 74 65 72 65 64 20 74 68 65 6E 20 69 74 20 69 ltered then it i
000190: 73 20 71 75 69 74 65 20 6C 69 6B 65 6C 79 20 74 s quite likely t
0001A0: 68 61 74 20 74 68 65 20 20 61 64 64 72 65 73 73 hat the address
0001B0: 65 73 0D 0A 20 20 20 20 20 20 20 6F 66 20 73 6F es.. of so
0001C0: 6D 65 20 6F 66 20 74 68 65 20 72 6F 75 74 69 6E me of the routin
0001D0: 65 73 20 61 76 61 69 6C 61 62 6C 65 20 74 6F 20 es available to
0001E0: 74 68 65 20 75 73 65 72 20 77 69 6C 6C 20 63 68 the user will ch
0001F0: 61 6E 67 65 2E 20 42 79 20 20 6B 65 65 70 69 6E ange. By keepin
Size : 512 (Real : 512)
000000: 67 0D 0A 20 20 20 20 20 20 20 74 68 65 20 61 64 g.. the ad
000010: 64 72 65 73 73 20 6F 66 20 74 68 65 20 6A 75 6D dress of the jum
000020: 70 62 6C 6F 63 6B 20 63 6F 6E 73 74 61 6E 74 20 pblock constant
000030: 62 75 74 20 61 6C 74 65 72 69 6E 67 20 74 68 65 but altering the
000040: 20 65 6E 74 72 69 65 73 20 69 6E 20 20 74 68 65 entries in the
000050: 0D 0A 20 20 20 20 20 20 20 6A 75 6D 70 62 6C 6F .. jumpblo
000060: 63 6B 20 73 6F 20 74 68 61 74 20 74 68 65 79 20 ck so that they
000070: 6A 75 6D 70 20 74 6F 20 74 68 65 20 6E 65 77 20 jump to the new
000080: 61 64 64 72 65 73 73 65 73 20 6F 66 20 74 68 65 addresses of the
000090: 20 72 6F 75 74 69 6E 65 73 2C 20 20 74 68 65 0D routines, the.
0000A0: 0A 20 20 20 20 20 20 20 63 68 61 6E 67 65 20 69 . change i
0000B0: 73 20 68 69 64 64 65 6E 20 66 72 6F 6D 20 74 68 s hidden from th
0000C0: 65 20 75 73 65 72 20 28 70 72 6F 76 69 64 69 6E e user (providin
0000D0: 67 20 74 68 61 74 20 20 74 68 65 20 20 75 73 65 g that the use
0000E0: 72 20 20 69 73 20 20 63 61 6C 6C 69 6E 67 0D 0A r is calling..
0000F0: 20 20 20 20 20 20 20 72 6F 75 74 69 6E 65 73 20 routines
000100: 20 76 69 61 20 20 74 68 65 20 20 6A 75 6D 70 62 via the jumpb
000110: 6C 6F 63 6B 20 20 61 6E 64 20 20 69 73 20 20 6E lock and is n
000120: 6F 74 20 20 61 63 63 65 73 73 69 6E 67 20 20 74 ot accessing t
000130: 68 65 20 20 20 66 69 72 6D 77 61 72 65 0D 0A 20 he firmware..
000140: 20 20 20 20 20 20 64 69 72 65 63 74 6C 79 29 2E directly).
000150: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 6F 20 ...... To
000160: 6D 61 6B 65 20 74 68 65 20 63 68 61 6E 67 65 20 make the change
000170: 74 6F 20 74 68 65 20 66 69 72 6D 77 61 72 65 20 to the firmware
000180: 63 6F 6D 70 6C 65 74 65 6C 79 20 68 69 64 64 65 completely hidde
000190: 6E 20 66 72 6F 6D 20 74 68 65 20 75 73 65 72 20 n from the user
0001A0: 20 69 74 0D 0A 20 20 20 20 20 20 20 69 73 20 61 it.. is a
0001B0: 6C 73 6F 20 6E 65 63 65 73 73 61 72 79 20 74 6F lso necessary to
0001C0: 20 20 6B 65 65 70 20 20 74 68 65 20 20 65 6E 74 keep the ent
0001D0: 72 79 20 20 61 6E 64 20 20 65 78 69 74 20 20 63 ry and exit c
0001E0: 6F 6E 64 69 74 69 6F 6E 73 20 20 6F 66 20 20 74 onditions of t
0001F0: 68 65 0D 0A 20 20 20 20 20 20 20 72 6F 75 74 69 he.. routi
Size : 512 (Real : 512)
000000: 6E 65 73 20 61 63 63 65 73 73 65 64 20 76 69 61 nes accessed via
000010: 20 74 68 65 20 6A 75 6D 70 62 6C 6F 63 6B 20 63 the jumpblock c
000020: 6F 6E 73 74 61 6E 74 2E 20 54 68 65 20 67 72 65 onstant. The gre
000030: 61 74 65 72 20 70 61 72 74 20 6F 66 20 74 68 69 ater part of thi
000040: 73 0D 0A 20 20 20 20 20 20 20 6D 61 6E 75 61 6C s.. manual
000050: 20 69 73 20 74 61 6B 65 6E 20 75 70 20 77 69 74 is taken up wit
000060: 68 20 74 68 65 20 64 65 74 61 69 6C 65 64 20 65 h the detailed e
000070: 6E 74 72 79 20 61 6E 64 20 20 65 78 69 74 20 20 ntry and exit
000080: 72 65 71 75 69 72 65 6D 65 6E 74 73 20 20 6F 66 requirements of
000090: 0D 0A 20 20 20 20 20 20 20 74 68 65 20 6A 75 6D .. the jum
0000A0: 70 62 6C 6F 63 6B 20 65 6E 74 72 69 65 73 2E 0D pblock entries..
0000B0: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 6A 75 ... The ju
0000C0: 6D 70 62 6C 6F 63 6B 20 69 73 20 70 6C 61 63 65 mpblock is place
0000D0: 64 20 69 6E 20 52 41 4D 20 73 6F 20 74 68 61 74 d in RAM so that
0000E0: 20 74 68 65 20 75 73 65 72 20 63 61 6E 20 61 6C the user can al
0000F0: 74 65 72 20 74 68 65 20 20 65 6E 74 72 69 65 73 ter the entries
000100: 0D 0A 20 20 20 20 20 20 20 69 6E 20 69 74 2E 20 .. in it.
000110: 54 68 69 73 20 61 6C 6C 6F 77 73 20 74 68 65 20 This allows the
000120: 75 73 65 72 20 74 6F 20 74 72 61 70 20 70 61 72 user to trap par
000130: 74 69 63 75 6C 61 72 20 65 6E 74 72 69 65 73 20 ticular entries
000140: 61 6E 64 20 20 73 75 62 73 74 69 74 75 74 65 0D and substitute.
000150: 0A 20 20 20 20 20 20 20 61 20 6E 65 77 20 20 72 . a new r
000160: 6F 75 74 69 6E 65 20 20 74 68 61 74 20 20 77 69 outine that wi
000170: 6C 6C 20 20 72 65 70 6C 61 63 65 20 20 74 68 65 ll replace the
000180: 20 20 73 74 61 6E 64 61 72 64 20 20 66 69 72 6D standard firm
000190: 77 61 72 65 20 20 72 6F 75 74 69 6E 65 2E 0D 0A ware routine...
0001A0: 20 20 20 20 20 20 20 50 72 6F 76 69 64 65 64 20 Provided
0001B0: 74 68 61 74 20 74 68 65 20 6E 65 77 20 72 6F 75 that the new rou
0001C0: 74 69 6E 65 20 6F 62 65 79 73 20 74 68 65 20 65 tine obeys the e
0001D0: 6E 74 72 79 20 61 6E 64 20 65 78 69 74 20 72 65 ntry and exit re
0001E0: 71 75 69 72 65 6D 65 6E 74 73 20 6F 66 0D 0A 20 quirements of..
0001F0: 20 20 20 20 20 20 74 68 65 20 66 69 72 6D 77 61 the firmwa
Size : 512 (Real : 512)
000000: 72 65 20 72 6F 75 74 69 6E 65 2C 20 74 68 65 20 re routine, the
000010: 73 75 62 73 74 69 74 75 74 69 6F 6E 20 77 69 6C substitution wil
000020: 6C 20 6E 6F 74 20 75 70 73 65 74 20 70 72 6F 67 l not upset prog
000030: 72 61 6D 73 20 75 6E 61 77 61 72 65 0D 0A 20 20 rams unaware..
000040: 20 20 20 20 20 6F 66 20 74 68 65 20 63 68 61 6E of the chan
000050: 67 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 ge...........
000060: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
000070: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
000080: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
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 2E 35 0D 0A 1A 6E 75 61 page 1.5...nua
0000B0: 6C 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 l describes the
0000C0: 66 69 72 6D 77 61 72 65 20 6F 66 20 20 74 68 65 firmware of the
0000D0: 20 20 41 6D 73 74 72 61 64 20 20 43 50 43 20 20 Amstrad CPC
0000E0: 34 36 34 2F 36 36 34 2F 36 31 32 38 0D 0A 20 20 464/664/6128..
0000F0: 20 20 20 20 20 6D 69 63 72 6F 63 6F 6D 70 75 74 microcomput
000100: 0D 0A 20 20 20 20 20 20 20 69 6E 20 69 74 2E 20 .. in it.
000110: 54 68 69 73 20 61 6C 6C 6F 77 73 20 74 68 65 20 This allows the
000120: 75 73 65 72 20 74 6F 20 74 72 61 70 20 70 61 72 user to trap par
000130: 74 69 63 75 6C 61 72 20 65 6E 74 72 69 65 73 20 ticular entries
000140: 61 6E 64 20 20 73 75 62 73 74 69 74 75 74 65 0D and substitute.
000150: 0A 20 20 20 20 20 20 20 61 20 6E 65 77 20 20 72 . a new r
000160: 6F 75 74 69 6E 65 20 20 74 68 61 74 20 20 77 69 outine that wi
000170: 6C 6C 20 20 72 65 70 6C 61 63 65 20 20 74 68 65 ll replace the
000180: 20 20 73 74 61 6E 64 61 72 64 20 20 66 69 72 6D standard firm
000190: 77 61 72 65 20 20 72 6F 75 74 69 6E 65 2E 0D 0A ware routine...
0001A0: 20 20 20 20 20 20 20 50 72 6F 76 69 64 65 64 20 Provided
0001B0: 74 68 61 74 20 74 68 65 20 6E 65 77 20 72 6F 75 that the new rou
0001C0: 74 69 6E 65 20 6F 62 65 79 73 20 74 68 65 20 65 tine obeys the e
0001D0: 6E 74 72 79 20 61 6E 64 20 65 78 69 74 20 72 65 ntry and exit re
0001E0: 71 75 69 72 65 6D 65 6E 74 73 20 6F 66 0D 0A 20 quirements of..
0001F0: 20 20 20 20 20 20 74 68 65 20 66 69 72 6D 77 61 the firmwa
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 54 68 65 72 65 20 61 72 65 20 66 6F 75 There are fou
000020: 72 20 6A 75 6D 70 62 6C 6F 63 6B 73 2E 20 54 68 r jumpblocks. Th
000030: 65 73 65 20 61 72 65 20 61 6C 6C 20 6C 69 73 74 ese are all list
000040: 65 64 20 20 69 6E 20 20 73 65 63 74 69 6F 6E 20 ed in section
000050: 20 31 34 2E 20 20 54 68 65 0D 0A 20 20 20 20 20 14. The..
000060: 20 20 66 69 72 73 74 20 61 6E 64 20 6C 61 72 67 first and larg
000070: 65 73 74 20 20 6A 75 6D 70 62 6C 6F 63 6B 20 20 est jumpblock
000080: 69 73 20 20 74 68 65 20 20 6D 61 69 6E 20 20 66 is the main f
000090: 69 72 6D 77 61 72 65 20 20 6A 75 6D 70 62 6C 6F irmware jumpblo
0000A0: 63 6B 20 20 28 73 65 65 0D 0A 20 20 20 20 20 20 ck (see..
0000B0: 20 73 65 63 74 69 6F 6E 73 20 31 34 2E 31 20 61 sections 14.1 a
0000C0: 6E 64 20 31 35 29 2E 20 54 68 69 73 20 61 6C 6C nd 15). This all
0000D0: 6F 77 73 20 74 68 65 20 20 75 73 65 72 20 20 74 ows the user t
0000E0: 6F 20 20 63 61 6C 6C 20 20 6D 6F 73 74 20 20 66 o call most f
0000F0: 69 72 6D 77 61 72 65 0D 0A 20 20 20 20 20 20 20 irmware..
000100: 72 6F 75 74 69 6E 65 73 2E 20 54 68 65 20 73 65 routines. The se
000110: 63 6F 6E 64 20 6A 75 6D 70 62 6C 6F 63 6B 20 20 cond jumpblock
000120: 69 73 20 20 74 68 65 20 20 69 6E 64 69 72 65 63 is the indirec
000130: 74 69 6F 6E 73 20 20 6A 75 6D 70 62 6C 6F 63 6B tions jumpblock
000140: 20 20 28 73 65 65 0D 0A 20 20 20 20 20 20 20 73 (see.. s
000150: 65 63 74 69 6F 6E 73 20 31 34 2E 32 20 61 6E 64 ections 14.2 and
000160: 20 31 36 29 2E 20 54 68 65 20 65 6E 74 72 69 65 16). The entrie
000170: 73 20 69 6E 20 74 68 69 73 20 6A 75 6D 70 62 6C s in this jumpbl
000180: 6F 63 6B 20 61 72 65 20 75 73 65 64 20 20 62 79 ock are used by
000190: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 66 69 the.. fi
0001A0: 72 6D 77 61 72 65 20 61 74 20 6B 65 79 20 6D 6F rmware at key mo
0001B0: 6D 65 6E 74 73 20 69 6E 20 6F 72 64 65 72 20 74 ments in order t
0001C0: 6F 20 61 6C 6C 6F 77 20 74 68 65 20 75 73 65 72 o allow the user
0001D0: 20 74 6F 20 61 6C 74 65 72 20 74 68 65 20 61 63 to alter the ac
0001E0: 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 6F 66 20 tion.. of
0001F0: 74 68 65 20 66 69 72 6D 77 61 72 65 2E 20 54 68 the firmware. Th
Size : 512 (Real : 512)
000000: 65 20 6C 61 73 74 20 74 77 6F 20 6A 75 6D 70 62 e last two jumpb
000010: 6C 6F 63 6B 73 20 61 72 65 20 72 61 74 68 65 72 locks are rather
000020: 20 73 70 65 63 69 61 6C 2E 20 54 68 65 79 20 20 special. They
000030: 61 72 65 0D 0A 20 20 20 20 20 20 20 74 6F 20 64 are.. to d
000040: 6F 20 77 69 74 68 20 74 68 65 20 4B 65 72 6E 65 o with the Kerne
000050: 6C 20 61 6E 64 20 61 6C 6C 6F 77 20 52 4F 4D 73 l and allow ROMs
000060: 20 74 6F 20 62 65 20 20 65 6E 61 62 6C 65 64 20 to be enabled
000070: 20 61 6E 64 20 20 72 6F 75 74 69 6E 65 73 20 20 and routines
000080: 69 6E 0D 0A 20 20 20 20 20 20 20 52 4F 4D 73 20 in.. ROMs
000090: 74 6F 20 62 65 20 63 61 6C 6C 65 64 2E 20 28 53 to be called. (S
0000A0: 65 65 20 73 65 63 74 69 6F 6E 73 20 31 34 2E 33 ee sections 14.3
0000B0: 2C 31 34 2E 34 2C 31 37 20 61 6E 64 20 31 38 29 ,14.4,17 and 18)
0000C0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 ....... Se
0000D0: 63 74 69 6F 6E 20 31 2E 37 20 62 65 6C 6F 77 20 ction 1.7 below
0000E0: 67 69 76 65 73 20 61 6E 20 65 78 61 6D 70 6C 65 gives an example
0000F0: 20 6F 66 20 68 6F 77 20 61 20 6A 75 6D 70 62 6C of how a jumpbl
000100: 6F 63 6B 20 65 6E 74 72 79 20 20 6D 69 67 68 74 ock entry might
000110: 20 20 62 65 0D 0A 20 20 20 20 20 20 20 63 68 61 be.. cha
000120: 6E 67 65 64 20 74 6F 20 61 6C 74 65 72 20 74 68 nged to alter th
000130: 65 20 61 63 74 69 6F 6E 20 6F 66 20 74 68 65 20 e action of the
000140: 66 69 72 6D 77 61 72 65 2E 0D 0A 0D 0A 0D 0A 20 firmware.......
000150: 20 20 20 20 20 20 31 2E 35 20 43 6F 6E 76 65 6E 1.5 Conven
000160: 74 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 tions.....
000170: 20 61 2E 20 4E 6F 74 61 74 69 6F 6E 0D 0A 0D 0A a. Notation....
000180: 20 20 20 20 20 20 20 50 72 6F 63 65 73 73 6F 72 Processor
000190: 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 61 72 instructions ar
0001A0: 65 20 67 65 6E 65 72 61 6C 6C 79 20 72 65 66 65 e generally refe
0001B0: 72 72 65 64 20 74 6F 20 62 79 20 74 68 65 69 72 rred to by their
0001C0: 20 73 74 61 6E 64 61 72 64 20 5A 38 30 0D 0A 20 standard Z80..
0001D0: 20 20 20 20 20 20 6D 6E 65 6D 6F 6E 69 63 73 2E mnemonics.
0001E0: 20 20 54 68 65 20 20 65 78 63 65 70 74 69 6F 6E The exception
0001F0: 73 20 20 74 68 61 74 20 20 70 72 6F 76 65 20 20 s that prove
Size : 512 (Real : 512)
000000: 74 68 65 20 20 72 75 6C 65 20 20 61 72 65 20 20 the rule are
000010: 74 68 65 20 20 72 65 73 74 61 72 74 0D 0A 20 20 the restart..
000020: 20 20 20 20 20 69 6E 73 74 72 75 63 74 69 6F 6E instruction
000030: 73 2E 20 54 68 65 20 6D 6E 65 6D 6F 6E 69 63 73 s. The mnemonics
000040: 20 52 53 54 20 30 2E 2E 52 53 54 20 37 20 61 72 RST 0..RST 7 ar
000050: 65 20 75 73 65 64 20 72 61 74 68 65 72 20 74 68 e used rather th
000060: 61 6E 20 74 68 65 20 6D 6F 72 65 0D 0A 20 20 20 an the more..
000070: 20 20 20 20 75 73 75 61 6C 20 5A 38 30 20 6D 6E usual Z80 mn
000080: 65 6D 6F 6E 69 63 73 20 52 53 54 20 23 30 30 2E emonics RST #00.
000090: 2E 52 53 54 20 23 33 38 2E 0D 0A 0D 0A 0D 0A 20 .RST #38.......
0000A0: 20 20 20 20 20 20 54 68 65 20 72 65 67 69 73 74 The regist
0000B0: 65 72 73 20 61 72 65 20 61 6C 73 6F 20 72 65 66 ers are also ref
0000C0: 65 72 72 65 64 20 74 6F 20 62 79 20 74 68 65 69 erred to by thei
0000D0: 72 20 73 74 61 6E 64 61 72 64 20 20 5A 38 30 20 r standard Z80
0000E0: 20 6E 61 6D 65 73 2E 20 20 54 68 65 0D 0A 20 20 names. The..
0000F0: 20 20 20 20 20 66 6C 61 67 20 72 65 67 69 73 74 flag regist
000100: 65 72 20 61 73 20 61 20 77 68 6F 6C 65 20 69 73 er as a whole is
000110: 20 72 65 66 65 72 72 65 64 20 74 6F 20 61 73 20 referred to as
000120: 46 20 62 75 74 20 74 68 65 20 69 6E 64 69 76 69 F but the indivi
000130: 64 75 61 6C 20 20 66 6C 61 67 73 0D 0A 20 20 20 dual flags..
000140: 20 20 20 20 61 72 65 20 63 61 6C 6C 65 64 20 62 are called b
000150: 79 20 74 68 65 69 72 20 66 75 6C 6C 20 6E 61 6D y their full nam
000160: 65 2C 20 65 2E 67 2E 20 63 61 72 72 79 2E 20 54 e, e.g. carry. T
000170: 68 65 20 66 6C 61 67 73 20 61 72 65 20 20 73 61 he flags are sa
000180: 69 64 20 20 74 6F 20 20 62 65 0D 0A 20 20 20 20 id to be..
000190: 20 20 20 74 72 75 65 20 77 68 65 6E 20 74 68 65 true when the
0001A0: 79 20 61 72 65 20 73 65 74 20 61 6E 64 20 66 61 y are set and fa
0001B0: 6C 73 65 20 77 68 65 6E 20 74 68 65 79 20 61 72 lse when they ar
0001C0: 65 20 63 6C 65 61 72 2E 20 20 54 68 75 73 20 20 e clear. Thus
0001D0: 61 20 20 4A 50 20 20 4E 43 0D 0A 20 20 20 20 20 a JP NC..
0001E0: 20 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 77 6F instruction wo
0001F0: 75 6C 64 20 6A 75 6D 70 20 69 66 20 63 61 72 72 uld jump if carr
Size : 512 (Real : 512)
000000: 79 20 77 61 73 20 66 61 6C 73 65 20 61 6E 64 20 y was false and
000010: 6E 6F 74 20 69 66 20 63 61 72 72 79 20 77 61 73 not if carry was
000020: 20 74 72 75 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 true.......
000030: 20 20 20 48 65 78 61 64 65 63 69 6D 61 6C 20 6E Hexadecimal n
000040: 75 6D 62 65 72 73 20 61 72 65 20 69 6E 64 69 63 umbers are indic
000050: 61 74 65 64 20 62 79 20 70 72 65 66 69 78 69 6E ated by prefixin
000060: 67 20 74 68 65 20 6E 75 6D 62 65 72 20 77 69 74 g the number wit
000070: 68 20 23 2C 20 74 68 75 73 0D 0A 20 20 20 20 20 h #, thus..
000080: 20 20 23 37 46 20 69 73 20 74 68 65 20 6E 75 6D #7F is the num
000090: 62 65 72 20 31 32 37 20 69 6E 20 68 65 78 2E 20 ber 127 in hex.
0000A0: 41 6C 6C 20 6E 75 6D 62 65 72 73 20 6E 6F 74 20 All numbers not
0000B0: 70 72 65 66 69 78 65 64 20 20 62 79 20 20 23 20 prefixed by #
0000C0: 20 61 72 65 20 20 69 6E 0D 0A 20 20 20 20 20 20 are in..
0000D0: 20 64 65 63 69 6D 61 6C 2E 0D 0A 0D 0A 0D 0A 20 decimal.......
0000E0: 20 20 20 20 20 20 4C 61 72 67 65 20 6E 75 6D 62 Large numb
0000F0: 65 72 73 20 61 72 65 20 6F 66 74 65 6E 20 61 62 ers are often ab
000100: 62 72 65 76 69 61 74 65 64 20 62 79 20 77 72 69 breviated by wri
000110: 74 69 6E 67 20 74 68 65 6D 20 61 73 20 61 20 20 ting them as a
000120: 6D 75 6C 74 69 70 6C 65 20 20 6F 66 0D 0A 20 20 multiple of..
000130: 20 20 20 20 20 31 30 32 34 2E 20 46 6F 72 20 65 1024. For e
000140: 78 61 6D 70 6C 65 2C 20 33 32 4B 20 62 79 74 65 xample, 32K byte
000150: 73 20 6D 65 61 6E 73 20 33 32 20 74 69 6D 65 73 s means 32 times
000160: 20 31 30 32 34 20 28 69 2E 65 2E 20 33 32 37 36 1024 (i.e. 3276
000170: 38 29 20 62 79 74 65 73 2E 0D 0A 0D 0A 20 20 20 8) bytes.....
000180: 20 20 20 20 62 2E 20 55 73 61 67 65 0D 0A 0D 0A b. Usage....
000190: 20 20 20 20 20 20 20 52 6F 75 74 69 6E 65 73 2C Routines,
0001A0: 20 77 68 65 72 65 20 70 6F 73 73 69 62 6C 65 2C where possible,
0001B0: 20 74 61 6B 65 20 61 6E 64 20 72 65 74 75 72 6E take and return
0001C0: 20 76 61 6C 75 65 73 20 69 6E 20 20 72 65 67 69 values in regi
0001D0: 73 74 65 72 73 2E 20 20 57 68 65 72 65 0D 0A 20 sters. Where..
0001E0: 20 20 20 20 20 20 6D 6F 72 65 20 69 6E 66 6F 72 more infor
0001F0: 6D 61 74 69 6F 6E 20 74 68 61 6E 20 6D 61 79 20 mation than may
Size : 512 (Real : 512)
000000: 62 65 20 68 65 6C 64 20 69 6E 20 72 65 67 69 73 be held in regis
000010: 74 65 72 73 20 69 73 20 74 6F 20 62 65 20 20 70 ters is to be p
000020: 61 73 73 65 64 20 20 74 6F 20 20 61 0D 0A 20 20 assed to a..
000030: 20 20 20 20 20 72 6F 75 74 69 6E 65 2C 20 74 68 routine, th
000040: 65 20 61 64 64 72 65 73 73 20 6F 66 20 61 20 64 e address of a d
000050: 61 74 61 20 61 72 65 61 20 69 73 20 67 69 76 65 ata area is give
000060: 6E 2E 20 54 68 65 20 6C 6F 63 61 74 69 6F 6E 20 n. The location
000070: 20 69 6E 20 20 6D 65 6D 6F 72 79 0D 0A 20 20 20 in memory..
000080: 20 20 20 20 6F 66 20 74 68 65 73 65 20 64 61 74 of these dat
000090: 61 20 61 72 65 61 73 20 69 73 20 73 6F 6D 65 74 a areas is somet
0000A0: 69 6D 65 73 20 63 72 69 74 69 63 61 6C 2C 20 73 imes critical, s
0000B0: 65 65 20 73 65 63 74 69 6F 6E 20 32 2E 34 2E 0D ee section 2.4..
0000C0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 57 68 65 72 ..... Wher
0000D0: 65 20 61 20 72 6F 75 74 69 6E 65 20 63 61 6E 20 e a routine can
0000E0: 73 75 63 63 65 65 64 20 6F 72 20 66 61 69 6C 20 succeed or fail
0000F0: 74 68 69 73 20 63 6F 6E 64 69 74 69 6F 6E 20 69 this condition i
000100: 73 20 6E 6F 72 6D 61 6C 6C 79 20 20 70 61 73 73 s normally pass
000110: 65 64 0D 0A 20 20 20 20 20 20 20 62 61 63 6B 20 ed.. back
000120: 69 6E 20 74 68 65 20 63 61 72 72 79 20 66 6C 61 in the carry fla
000130: 67 2E 20 43 61 72 72 79 20 74 72 75 65 20 6E 6F g. Carry true no
000140: 72 6D 61 6C 6C 79 20 20 69 6D 70 6C 69 65 73 20 rmally implies
000150: 20 73 75 63 63 65 73 73 2C 20 20 77 68 69 6C 73 success, whils
000160: 74 0D 0A 20 20 20 20 20 20 20 63 61 72 72 79 20 t.. carry
000170: 66 61 6C 73 65 20 6E 6F 72 6D 61 6C 6C 79 20 69 false normally i
000180: 6D 70 6C 69 65 73 20 66 61 69 6C 75 72 65 2E 0D mplies failure..
000190: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
0001A0: 61 6C 74 65 72 6E 61 74 65 20 72 65 67 69 73 74 alternate regist
0001B0: 65 72 20 73 65 74 2C 20 41 46 27 20 42 43 27 20 er set, AF' BC'
0001C0: 44 45 27 20 48 4C 27 2C 20 69 73 20 72 65 73 65 DE' HL', is rese
0001D0: 72 76 65 64 20 20 66 6F 72 20 20 75 73 65 20 20 rved for use
0001E0: 62 79 0D 0A 20 20 20 20 20 20 20 74 68 65 20 73 by.. the s
0001F0: 79 73 74 65 6D 2E 20 54 68 65 20 75 73 65 72 20 ystem. The user
Size : 512 (Real : 512)
000000: 73 68 6F 75 6C 64 20 20 6E 6F 74 20 20 65 78 65 should not exe
000010: 63 75 74 65 20 20 61 6E 20 20 45 58 20 20 41 46 cute an EX AF
000020: 2C 41 46 27 20 20 6F 72 20 20 61 6E 20 20 45 58 ,AF' or an EX
000030: 58 0D 0A 20 20 20 20 20 20 20 69 6E 73 74 72 75 X.. instru
000040: 63 74 69 6F 6E 20 61 73 20 74 68 65 73 65 20 77 ction as these w
000050: 69 6C 6C 20 68 61 76 65 20 75 6E 66 6F 72 74 75 ill have unfortu
000060: 6E 61 74 65 20 63 6F 6E 73 65 71 75 65 6E 63 65 nate consequence
000070: 73 2E 20 28 53 65 65 20 41 70 70 65 6E 64 69 78 s. (See Appendix
000080: 0D 0A 20 20 20 20 20 20 20 58 49 20 66 6F 72 20 .. XI for
000090: 61 20 66 75 6C 6C 20 64 65 73 63 72 69 70 74 69 a full descripti
0000A0: 6F 6E 2E 29 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 on.)......
0000B0: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
0000C0: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
0000D0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
0000F0: 61 67 65 20 31 2E 36 0D 0A 0D 0A 0D 0A 0D 0A 0D age 1.6.........
000100: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 63 2E 20 47 ..... c. G
000110: 65 6E 65 72 61 6C 0D 0A 0D 0A 20 20 20 20 20 20 eneral....
000120: 20 54 68 65 20 6C 6F 67 69 63 61 6C 20 76 61 6C The logical val
000130: 75 65 73 20 74 72 75 65 20 61 6E 64 20 66 61 6C ues true and fal
000140: 73 65 20 61 72 65 20 67 65 6E 65 72 61 6C 6C 79 se are generally
000150: 20 72 65 70 72 65 73 65 6E 74 65 64 20 62 79 20 represented by
000160: 23 46 46 20 61 6E 64 0D 0A 20 20 20 20 20 20 20 #FF and..
000170: 23 30 30 20 72 65 73 70 65 63 74 69 76 65 6C 79 #00 respectively
000180: 2E 20 4F 66 74 65 6E 2C 20 68 6F 77 65 76 65 72 . Often, however
000190: 2C 20 61 6E 79 20 6E 6F 6E 2D 7A 65 72 6F 20 76 , any non-zero v
0001A0: 61 6C 75 65 20 69 73 20 74 61 6B 65 6E 20 74 6F alue is taken to
0001B0: 20 20 6D 65 61 6E 0D 0A 20 20 20 20 20 20 20 74 mean.. t
0001C0: 72 75 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 rue..... T
0001D0: 68 65 20 62 69 74 73 20 69 6E 20 61 20 62 79 74 he bits in a byt
0001E0: 65 20 61 72 65 20 6E 75 6D 62 65 72 65 64 20 30 e are numbered 0
0001F0: 2E 2E 37 2C 20 20 77 69 74 68 20 20 62 69 74 20 ..7, with bit
Size : 512 (Real : 512)
000000: 20 30 20 20 62 65 69 6E 67 20 20 74 68 65 20 20 0 being the
000010: 6C 65 61 73 74 0D 0A 20 20 20 20 20 20 20 73 69 least.. si
000020: 67 6E 69 66 69 63 61 6E 74 20 62 69 74 20 61 6E gnificant bit an
000030: 64 20 62 69 74 20 37 20 62 65 69 6E 67 20 74 68 d bit 7 being th
000040: 65 20 6D 6F 73 74 20 73 69 67 6E 69 66 69 63 61 e most significa
000050: 6E 74 20 62 69 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 nt bit.......
000060: 20 20 20 20 57 68 65 72 65 20 74 77 6F 20 62 79 Where two by
000070: 74 65 20 28 77 6F 72 64 29 20 76 61 6C 75 65 73 te (word) values
000080: 20 61 72 65 20 20 73 74 6F 72 65 64 20 20 28 69 are stored (i
000090: 6E 20 20 74 61 62 6C 65 73 20 20 65 74 63 29 20 n tables etc)
0000A0: 20 74 68 65 79 20 20 61 72 65 0D 0A 20 20 20 20 they are..
0000B0: 20 20 20 61 6C 77 61 79 73 20 73 74 6F 72 65 64 always stored
0000C0: 20 77 69 74 68 20 74 68 65 20 20 6C 65 73 73 20 with the less
0000D0: 20 73 69 67 6E 69 66 69 63 61 6E 74 20 20 62 79 significant by
0000E0: 74 65 20 20 66 69 72 73 74 20 20 61 6E 64 20 20 te first and
0000F0: 74 68 65 20 20 6D 6F 72 65 0D 0A 20 20 20 20 20 the more..
000100: 20 20 73 69 67 6E 69 66 69 63 61 6E 74 20 62 79 significant by
000110: 74 65 20 73 65 63 6F 6E 64 2C 20 75 6E 6C 65 73 te second, unles
000120: 73 20 61 20 73 70 65 63 69 66 69 63 20 69 6E 64 s a specific ind
000130: 69 63 61 74 69 6F 6E 20 74 6F 20 74 68 65 20 20 ication to the
000140: 63 6F 6E 74 72 61 72 79 0D 0A 20 20 20 20 20 20 contrary..
000150: 20 69 73 20 67 69 76 65 6E 2E 20 54 68 69 73 20 is given. This
000160: 69 73 20 69 6E 20 61 63 63 6F 72 64 61 6E 63 65 is in accordance
000170: 20 77 69 74 68 20 74 68 65 20 73 74 61 6E 64 61 with the standa
000180: 72 64 20 77 61 79 20 74 68 65 20 20 5A 38 30 20 rd way the Z80
000190: 20 73 74 6F 72 65 73 0D 0A 20 20 20 20 20 20 20 stores..
0001A0: 77 6F 72 64 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 words.......
0001B0: 20 20 20 54 61 62 6C 65 73 20 61 6E 64 20 74 68 Tables and th
0001C0: 65 20 6C 69 6B 65 20 61 72 65 20 61 6C 77 61 79 e like are alway
0001D0: 73 20 6C 61 69 64 20 6F 75 74 20 77 69 74 68 20 s laid out with
0001E0: 62 79 74 65 20 30 20 20 62 65 69 6E 67 20 20 74 byte 0 being t
0001F0: 68 65 20 20 66 69 72 73 74 0D 0A 20 20 20 20 20 he first..
Size : 512 (Real : 512)
000000: 20 20 62 79 74 65 20 6F 66 20 74 68 65 20 74 61 byte of the ta
000010: 62 6C 65 2E 20 57 68 65 6E 20 74 68 65 20 61 64 ble. When the ad
000020: 64 72 65 73 73 20 6F 66 20 73 75 63 68 20 61 20 dress of such a
000030: 74 61 62 6C 65 20 69 73 20 67 69 76 65 6E 20 20 table is given
000040: 74 68 69 73 20 20 69 73 0D 0A 20 20 20 20 20 20 this is..
000050: 20 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 20 the address of
000060: 62 79 74 65 20 30 20 6F 66 20 74 68 65 20 74 61 byte 0 of the ta
000070: 62 6C 65 20 75 6E 6C 65 73 73 20 6F 74 68 65 72 ble unless other
000080: 77 69 73 65 20 69 6E 64 69 63 61 74 65 64 2E 0D wise indicated..
000090: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 57 68 65 6E ..... When
0000A0: 20 74 68 65 20 63 6F 6D 70 75 74 65 72 20 69 73 the computer is
0000B0: 20 74 75 72 6E 65 64 20 6F 6E 20 28 6F 72 20 77 turned on (or w
0000C0: 68 65 6E 20 69 74 20 20 69 73 20 20 72 65 73 65 hen it is rese
0000D0: 74 29 20 20 69 74 20 20 63 6F 6D 70 6C 65 74 65 t) it complete
0000E0: 6C 79 0D 0A 20 20 20 20 20 20 20 69 6E 69 74 69 ly.. initi
0000F0: 61 6C 69 7A 65 73 20 69 74 73 65 6C 66 20 62 65 alizes itself be
000100: 66 6F 72 65 20 72 75 6E 6E 69 6E 67 20 61 6E 79 fore running any
000110: 20 70 72 6F 67 72 61 6D 2E 20 54 68 69 73 20 69 program. This i
000120: 6E 69 74 69 61 6C 69 7A 61 74 69 6F 6E 20 20 69 nitialization i
000130: 73 0D 0A 20 20 20 20 20 20 20 6B 6E 6F 77 6E 20 s.. known
000140: 61 73 20 65 61 72 6C 79 20 6D 6F 72 6E 69 6E 67 as early morning
000150: 20 73 74 61 72 74 75 70 2C 20 61 62 62 72 65 76 startup, abbrev
000160: 69 61 74 65 64 20 74 6F 20 45 4D 53 20 66 72 6F iated to EMS fro
000170: 6D 20 6E 6F 77 20 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 m now on.......
000180: 20 20 20 20 20 20 31 2E 36 20 52 6F 75 74 69 6E 1.6 Routin
000190: 65 20 44 6F 63 75 6D 65 6E 74 61 74 69 6F 6E 2E e Documentation.
0001A0: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 61 63 68 20 .... Each
0001B0: 72 6F 75 74 69 6E 65 20 64 65 73 63 72 69 62 65 routine describe
0001C0: 64 20 69 6E 20 68 69 73 20 6D 61 6E 75 61 6C 20 d in his manual
0001D0: 68 61 73 20 20 65 6E 74 72 79 20 20 61 6E 64 20 has entry and
0001E0: 20 65 78 69 74 20 20 63 6F 6E 64 69 74 69 6F 6E exit condition
0001F0: 73 0D 0A 20 20 20 20 20 20 20 61 73 73 6F 63 69 s.. associ
Size : 512 (Real : 512)
000000: 61 74 65 64 20 77 69 74 68 20 69 74 2E 20 57 68 ated with it. Wh
000010: 65 72 65 20 74 68 65 72 65 20 61 72 65 20 6F 74 ere there are ot
000020: 68 65 72 20 70 6F 69 6E 74 73 20 6F 66 20 69 6E her points of in
000030: 74 65 72 65 73 74 20 61 62 6F 75 74 20 74 68 65 terest about the
000040: 0D 0A 20 20 20 20 20 20 20 72 6F 75 74 69 6E 65 .. routine
000050: 20 74 68 65 73 65 20 61 72 65 20 6E 6F 72 6D 61 these are norma
000060: 6C 6C 79 20 67 69 76 65 6E 20 69 6E 20 61 20 73 lly given in a s
000070: 65 63 74 69 6F 6E 20 61 66 74 65 72 20 74 68 65 ection after the
000080: 20 65 6E 74 72 79 20 61 6E 64 20 65 78 69 74 0D entry and exit.
000090: 0A 20 20 20 20 20 20 20 63 6F 6E 64 69 74 69 6F . conditio
0000A0: 6E 73 2E 20 53 75 63 68 20 70 6F 69 6E 74 73 20 ns. Such points
0000B0: 69 6E 63 6C 75 64 65 20 77 68 65 74 68 65 72 20 include whether
0000C0: 69 6E 74 65 72 72 75 70 74 73 20 61 72 65 20 65 interrupts are e
0000D0: 6E 61 62 6C 65 64 20 20 61 6E 64 20 20 61 0D 0A nabled and a..
0000E0: 20 20 20 20 20 20 20 66 75 6C 6C 65 72 20 64 65 fuller de
0000F0: 73 63 72 69 70 74 69 6F 6E 20 6F 66 20 74 68 65 scription of the
000100: 20 70 61 72 61 6D 65 74 65 72 73 20 61 6E 64 20 parameters and
000110: 73 69 64 65 20 65 66 66 65 63 74 73 20 6F 66 20 side effects of
000120: 74 68 65 20 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A the routine.....
000130: 0D 0A 20 20 20 20 20 20 20 54 68 65 72 65 20 61 .. There a
000140: 72 65 20 74 77 6F 20 72 65 61 73 6F 6E 73 20 66 re two reasons f
000150: 6F 72 20 70 72 6F 76 69 64 69 6E 67 20 74 68 69 or providing thi
000160: 73 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 2E 20 46 s information. F
000170: 69 72 73 74 6C 79 20 69 74 20 74 65 6C 6C 73 0D irstly it tells.
000180: 0A 20 20 20 20 20 20 20 74 68 65 20 75 73 65 20 . the use
000190: 77 68 61 74 20 77 69 6C 6C 20 68 61 70 70 65 6E what will happen
0001A0: 20 77 68 65 6E 20 74 68 65 20 72 6F 75 74 69 6E when the routin
0001B0: 65 20 69 73 20 63 61 6C 6C 65 64 2E 20 53 65 63 e is called. Sec
0001C0: 6F 6E 64 6C 79 20 69 74 20 74 65 6C 6C 73 0D 0A ondly it tells..
0001D0: 20 20 20 20 20 20 20 74 68 65 20 75 73 65 72 20 the user
0001E0: 77 68 61 74 20 61 20 72 65 70 6C 61 63 65 6D 65 what a replaceme
0001F0: 6E 74 20 72 6F 75 74 69 6E 65 20 69 73 20 65 78 nt routine is ex
Size : 512 (Real : 512)
000000: 70 65 63 74 65 64 20 74 6F 20 64 6F 2E 0D 0A 0D pected to do....
000010: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 65 6E ... The en
000020: 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E 73 20 74 try conditions t
000030: 65 6C 6C 20 74 68 65 20 63 61 6C 6C 65 72 20 6F ell the caller o
000040: 66 20 74 68 65 20 72 6F 75 74 69 6E 65 20 77 68 f the routine wh
000050: 61 74 20 20 74 68 65 20 20 72 6F 75 74 69 6E 65 at the routine
000060: 0D 0A 20 20 20 20 20 20 20 65 78 70 65 63 74 73 .. expects
000070: 20 74 6F 20 62 65 20 20 70 61 73 73 65 64 20 20 to be passed
000080: 74 6F 20 20 69 74 2E 20 20 57 68 65 6E 20 20 63 to it. When c
000090: 61 6C 6C 69 6E 67 20 20 61 20 20 72 6F 75 74 69 alling a routi
0000A0: 6E 65 20 20 61 6C 6C 20 20 76 61 6C 75 65 73 0D ne all values.
0000B0: 0A 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 . specifie
0000C0: 64 20 6D 75 73 74 20 62 65 20 73 75 70 70 6C 69 d must be suppli
0000D0: 65 64 2E 20 56 61 6C 75 65 73 20 6D 61 79 20 6F ed. Values may o
0000E0: 6E 6C 79 20 20 62 65 20 20 6C 65 66 74 20 20 6F nly be left o
0000F0: 75 74 20 20 77 68 65 72 65 20 20 74 68 65 0D 0A ut where the..
000100: 20 20 20 20 20 20 20 72 6F 75 74 69 6E 65 20 64 routine d
000110: 6F 63 75 6D 65 6E 74 73 20 74 68 61 74 20 74 68 ocuments that th
000120: 65 79 20 61 72 65 20 6F 70 74 69 6F 6E 61 6C 2E ey are optional.
000130: 20 57 68 65 6E 20 70 72 6F 76 69 64 69 6E 67 20 When providing
000140: 61 20 72 65 70 6C 61 63 65 6D 65 6E 74 0D 0A 20 a replacement..
000150: 20 20 20 20 20 20 72 6F 75 74 69 6E 65 20 74 6F routine to
000160: 20 66 69 74 20 74 68 69 73 20 69 6E 74 65 72 66 fit this interf
000170: 61 63 65 20 6F 6E 6C 79 20 69 6E 66 6F 72 6D 61 ace only informa
000180: 74 69 6F 6E 20 74 68 61 74 20 69 73 20 20 73 70 tion that is sp
000190: 65 63 69 66 69 65 64 20 20 6D 61 79 0D 0A 20 20 ecified may..
0001A0: 20 20 20 20 20 62 65 20 75 73 65 64 2C 20 61 6C be used, al
0001B0: 74 68 6F 75 67 68 20 6E 6F 74 20 61 6C 6C 20 6F though not all o
0001C0: 66 20 69 74 20 6E 65 65 64 20 62 65 20 75 73 65 f it need be use
0001D0: 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 d....... T
0001E0: 68 65 20 65 78 69 74 20 63 6F 6E 64 69 74 69 6F he exit conditio
0001F0: 6E 73 20 74 65 6C 6C 20 74 68 65 20 63 61 6C 6C ns tell the call
Size : 512 (Real : 512)
000000: 65 72 20 77 68 61 74 20 20 76 61 6C 75 65 73 20 er what values
000010: 20 74 68 65 20 20 72 6F 75 74 69 6E 65 20 20 70 the routine p
000020: 61 73 73 65 73 0D 0A 20 20 20 20 20 20 20 62 61 asses.. ba
000030: 63 6B 20 61 6E 64 20 77 68 69 63 68 20 70 72 6F ck and which pro
000040: 63 65 73 73 6F 72 20 72 65 67 69 73 74 65 72 73 cessor registers
000050: 20 72 65 20 70 72 65 73 65 72 76 65 64 2E 20 20 re preserved.
000060: 52 65 67 69 73 74 65 72 73 20 20 74 68 61 74 20 Registers that
000070: 20 61 72 65 0D 0A 20 20 20 20 20 20 20 64 6F 63 are.. doc
000080: 75 6D 65 6E 74 65 64 20 61 73 20 62 65 69 6E 67 umented as being
000090: 20 63 6F 72 72 75 70 74 65 64 20 6D 61 79 20 62 corrupted may b
0000A0: 65 20 63 68 61 6E 67 65 64 20 62 79 20 20 74 68 e changed by th
0000B0: 65 20 20 72 6F 75 74 69 6E 65 20 20 6F 72 20 20 e routine or
0000C0: 6D 61 79 0D 0A 20 20 20 20 20 20 20 6E 6F 74 2E may.. not.
0000D0: 20 54 68 65 20 75 73 65 72 20 73 68 6F 75 6C 64 The user should
0000E0: 20 6E 6F 74 20 72 65 6C 79 20 6F 6E 20 20 74 68 not rely on th
0000F0: 65 69 72 20 20 63 6F 6E 74 65 6E 74 73 2E 20 20 eir contents.
000100: 57 68 65 6E 20 20 70 72 6F 76 69 64 69 6E 67 20 When providing
000110: 20 61 0D 0A 20 20 20 20 20 20 20 72 6F 75 74 69 a.. routi
000120: 6E 65 20 74 6F 20 66 69 74 20 74 68 69 73 20 69 ne to fit this i
000130: 6E 74 65 72 66 61 63 65 20 69 74 20 69 73 20 65 nterface it is e
000140: 78 74 72 65 6D 65 6C 79 20 69 6D 70 6F 72 74 61 xtremely importa
000150: 6E 74 20 74 68 61 74 20 72 65 67 69 73 74 65 72 nt that register
000160: 73 0D 0A 20 20 20 20 20 20 20 64 6F 63 75 6D 65 s.. docume
000170: 6E 74 65 64 20 61 73 20 62 65 69 6E 67 20 70 72 nted as being pr
000180: 65 73 65 72 76 65 64 20 61 72 65 20 69 6E 64 65 eserved are inde
000190: 65 64 20 70 72 65 73 65 72 76 65 64 20 61 6E 64 ed preserved and
0001A0: 20 74 68 61 74 20 74 68 65 20 76 61 6C 75 65 73 that the values
0001B0: 0D 0A 20 20 20 20 20 20 20 72 65 74 75 72 6E 20 .. return
0001C0: 61 72 65 20 63 6F 6D 70 61 74 69 62 6C 65 20 77 are compatible w
0001D0: 69 74 68 20 74 68 65 20 6F 72 69 67 69 6E 61 6C ith the original
0001E0: 20 72 6F 75 74 69 6E 65 2E 20 43 6F 72 72 75 70 routine. Corrup
0001F0: 74 69 6E 67 20 61 20 72 65 67 69 73 74 65 72 0D ting a register.
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 6F 72 20 6F 6D 69 74 74 . or omitt
000010: 69 6E 67 20 61 20 72 65 73 75 6C 74 20 77 69 6C ing a result wil
000020: 6C 20 75 73 75 61 6C 6C 79 20 63 61 75 73 65 20 l usually cause
000030: 74 68 65 20 73 79 73 74 65 6D 20 74 6F 20 66 61 the system to fa
000040: 69 6C 2C 20 20 6F 66 74 65 6E 20 20 69 6E 0D 0A il, often in..
000050: 20 20 20 20 20 20 20 73 75 62 74 6C 65 20 61 6E subtle an
000060: 64 20 75 6E 65 78 70 65 63 74 65 64 20 77 61 79 d unexpected way
000070: 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 s..... AMS
000080: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
000090: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 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 2E 37 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 1.7.............
0000D0: 0A 20 20 20 20 20 20 20 4F 66 74 65 6E 20 61 20 . Often a
0000E0: 72 6F 75 74 69 6E 65 20 77 69 6C 6C 20 68 61 76 routine will hav
0000F0: 65 20 64 69 66 66 65 72 65 6E 74 20 65 78 69 74 e different exit
000100: 20 63 6F 6E 64 69 74 69 6F 6E 73 20 64 65 70 65 conditions depe
000110: 6E 64 69 6E 67 20 6F 6E 20 20 73 6F 6D 65 0D 0A nding on some..
000120: 20 20 20 20 20 20 20 63 6F 6E 64 69 74 69 6F 6E condition
000130: 20 6F 72 20 6F 74 68 65 72 20 28 75 73 75 61 6C or other (usual
000140: 6C 79 20 77 68 65 74 68 65 72 20 69 74 20 77 6F ly whether it wo
000150: 72 6B 65 64 20 6F 72 20 6E 6F 74 29 2E 20 49 6E rked or not). In
000160: 20 74 68 65 73 65 20 20 63 61 73 65 73 0D 0A 20 these cases..
000170: 20 20 20 20 20 20 74 68 65 20 73 70 65 63 69 66 the specif
000180: 69 63 20 64 69 66 66 65 72 65 6E 63 65 73 20 69 ic differences i
000190: 6E 20 74 68 65 20 65 78 69 74 20 63 6F 6E 64 69 n the exit condi
0001A0: 74 69 6F 6E 73 20 20 61 72 65 20 20 67 69 76 65 tions are give
0001B0: 6E 20 20 66 6F 72 20 20 65 61 63 68 0D 0A 20 20 n for each..
0001C0: 20 20 20 20 20 63 61 73 65 20 61 6E 64 20 61 6C case and al
0001D0: 6C 20 63 6F 6E 64 69 74 69 6F 6E 73 20 74 68 61 l conditions tha
0001E0: 74 20 72 65 6D 61 69 6E 20 74 68 65 20 73 61 6D t remain the sam
0001F0: 65 20 69 72 72 65 73 70 65 63 74 69 76 65 20 6F e irrespective o
Size : 512 (Real : 512)
000000: 66 20 74 68 65 20 20 63 61 73 65 0D 0A 20 20 20 f the case..
000010: 20 20 20 20 61 72 65 20 67 69 76 65 6E 20 69 6E are given in
000020: 20 61 20 73 65 70 61 72 61 74 65 20 73 65 63 74 a separate sect
000030: 69 6F 6E 20 28 6D 61 72 6B 65 64 20 27 61 6C 77 ion (marked 'alw
000040: 61 79 73 27 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 ays').......
000050: 20 20 20 54 68 65 72 65 20 61 72 65 20 61 62 75 There are abu
000060: 6E 64 61 6E 74 20 65 78 61 6D 70 6C 65 73 20 6F ndant examples o
000070: 66 20 72 6F 75 74 69 6E 65 20 69 6E 74 65 72 66 f routine interf
000080: 61 63 65 73 20 69 6E 20 73 65 63 74 69 6F 6E 20 aces in section
000090: 31 35 20 74 6F 20 31 38 2E 0D 0A 0D 0A 0D 0A 20 15 to 18.......
0000A0: 20 20 20 20 20 20 31 2E 37 20 45 78 61 6D 70 6C 1.7 Exampl
0000B0: 65 20 6F 66 20 50 61 74 63 68 69 6E 67 20 61 20 e of Patching a
0000C0: 4A 75 6D 70 62 6C 6F 63 6B 2E 0D 0A 0D 0A 0D 0A Jumpblock.......
0000D0: 20 20 20 20 20 20 20 54 68 65 20 66 6F 6C 6C 6F The follo
0000E0: 77 69 6E 67 20 69 73 20 61 6E 20 65 78 61 6D 70 wing is an examp
0000F0: 6C 65 20 6F 66 20 68 6F 77 20 74 68 65 20 6A 75 le of how the ju
000100: 6D 70 62 6C 6F 63 6B 73 20 6D 61 79 20 62 65 20 mpblocks may be
000110: 75 73 65 64 2E 20 41 74 20 74 68 69 73 0D 0A 20 used. At this..
000120: 20 20 20 20 20 20 73 74 61 67 65 20 6D 61 6E 79 stage many
000130: 20 6F 66 20 74 68 65 20 63 6F 6E 63 65 70 74 73 of the concepts
000140: 20 69 6E 74 72 6F 64 75 63 65 64 20 6D 61 79 20 introduced may
000150: 62 65 20 75 6E 66 61 6D 69 6C 69 61 72 20 74 6F be unfamiliar to
000160: 20 74 68 65 20 72 65 61 64 65 72 2E 0D 0A 20 20 the reader...
000170: 20 20 20 20 20 48 6F 77 65 76 65 72 2C 20 73 69 However, si
000180: 6E 63 65 20 61 6C 74 65 72 69 6E 67 20 20 6A 75 nce altering ju
000190: 6D 70 62 6C 6F 63 6B 73 20 20 69 73 20 20 61 6E mpblocks is an
0001A0: 20 20 69 6D 70 6F 72 74 61 6E 74 20 20 74 65 63 important tec
0001B0: 68 6E 69 71 75 65 20 20 66 6F 72 0D 0A 20 20 20 hnique for..
0001C0: 20 20 20 20 74 61 69 6C 6F 72 69 6E 67 20 74 68 tailoring th
0001D0: 65 20 73 79 73 74 65 6D 20 74 6F 20 61 20 70 61 e system to a pa
0001E0: 72 74 69 63 75 6C 61 72 20 20 70 75 72 70 6F 73 rticular purpos
0001F0: 65 20 20 74 68 65 20 20 65 78 61 6D 70 6C 65 20 e the example
Size : 512 (Real : 512)
000000: 20 69 73 20 20 67 69 76 65 6E 0D 0A 20 20 20 20 is given..
000010: 20 20 20 68 65 72 65 2E 20 4C 61 74 65 72 20 73 here. Later s
000020: 65 63 74 69 6F 6E 73 20 77 69 6C 6C 20 65 78 70 ections will exp
000030: 6C 61 69 6E 20 74 68 65 20 61 63 74 69 6F 6E 73 lain the actions
000040: 20 74 61 6B 65 6E 20 68 65 72 65 2E 0D 0A 0D 0A taken here.....
000050: 0D 0A 20 20 20 20 20 20 20 53 75 70 70 6F 73 65 .. Suppose
000060: 20 61 6E 20 61 73 73 65 6D 62 6C 65 72 20 70 72 an assembler pr
000070: 6F 67 72 61 6D 20 69 73 20 62 65 69 6E 67 20 77 ogram is being w
000080: 72 69 74 74 65 6E 20 74 68 61 74 20 69 73 20 69 ritten that is i
000090: 6E 74 65 6E 64 65 64 20 74 6F 20 20 75 73 65 0D ntended to use.
0000A0: 0A 20 20 20 20 20 20 20 74 68 65 20 70 72 69 6E . the prin
0000B0: 74 65 72 20 77 68 65 6E 20 69 74 20 69 73 20 66 ter when it is f
0000C0: 69 6E 69 73 68 65 64 2E 20 57 68 69 6C 65 20 74 inished. While t
0000D0: 68 69 73 20 70 72 6F 67 72 61 6D 20 69 73 20 20 his program is
0000E0: 62 65 69 6E 67 20 20 77 72 69 74 74 65 6E 0D 0A being written..
0000F0: 20 20 20 20 20 20 20 69 74 20 77 6F 75 6C 64 20 it would
000100: 73 61 76 65 20 74 69 6D 65 20 61 6E 64 20 70 61 save time and pa
000110: 70 65 72 20 69 66 20 74 68 65 20 70 72 6F 67 72 per if the progr
000120: 61 6D 20 63 6F 75 6C 64 20 62 65 20 6D 61 64 65 am could be made
000130: 20 74 6F 20 20 75 73 65 20 20 74 68 65 0D 0A 20 to use the..
000140: 20 20 20 20 20 20 73 63 72 65 65 6E 20 69 6E 73 screen ins
000150: 74 65 61 64 20 6F 66 20 74 68 65 20 70 72 69 6E tead of the prin
000160: 74 65 72 2E 20 48 6F 77 65 76 65 72 2C 20 63 68 ter. However, ch
000170: 61 6E 67 69 6E 67 20 74 68 65 20 70 72 6F 67 72 anging the progr
000180: 61 6D 20 69 74 73 65 6C 66 20 74 6F 0D 0A 20 20 am itself to..
000190: 20 20 20 20 20 75 73 65 20 74 68 65 20 73 63 72 use the scr
0001A0: 65 65 6E 20 63 6F 75 6C 64 20 69 6E 74 72 6F 64 een could introd
0001B0: 75 63 65 20 62 75 67 73 20 77 68 65 6E 20 69 74 uce bugs when it
0001C0: 20 69 73 20 63 68 61 6E 67 65 64 20 62 61 63 6B is changed back
0001D0: 20 20 74 6F 20 20 75 73 69 6E 67 0D 0A 20 20 20 to using..
0001E0: 20 20 20 20 74 68 65 20 70 72 69 6E 74 65 72 2E the printer.
0001F0: 20 57 68 61 74 20 69 73 20 6E 65 65 64 65 64 20 What is needed
Size : 512 (Real : 512)
000000: 69 73 20 61 20 77 61 79 20 6F 66 20 61 6C 74 65 is a way of alte
000010: 72 69 6E 67 20 20 74 68 65 20 20 61 63 74 69 6F ring the actio
000020: 6E 20 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 n of the..
000030: 20 20 20 66 69 72 6D 77 61 72 65 20 74 68 61 74 firmware that
000040: 20 64 72 69 76 65 73 20 74 68 65 20 70 72 69 6E drives the prin
000050: 74 65 72 20 2D 20 61 6E 64 20 74 68 69 73 20 69 ter - and this i
000060: 73 20 77 68 61 74 20 61 20 52 41 4D 20 6A 75 6D s what a RAM jum
000070: 70 62 6C 6F 63 6B 20 69 73 0D 0A 20 20 20 20 20 pblock is..
000080: 20 20 66 6F 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 for.......
000090: 20 20 20 54 68 65 20 74 65 63 68 6E 69 71 75 65 The technique
0000A0: 20 74 68 61 74 20 20 77 69 6C 6C 20 20 62 65 20 that will be
0000B0: 20 75 73 65 64 20 20 74 6F 20 20 27 63 6F 6E 6E used to 'conn
0000C0: 65 63 74 27 20 20 74 68 65 20 20 70 72 69 6E 74 ect' the print
0000D0: 65 72 20 20 74 6F 20 20 61 0D 0A 20 20 20 20 20 er to a..
0000E0: 20 20 70 61 72 74 69 63 75 6C 61 72 20 74 65 78 particular tex
0000F0: 74 20 77 69 6E 64 6F 77 2E 20 54 68 69 73 20 20 t window. This
000100: 63 61 6E 20 20 62 65 20 20 61 63 68 69 65 76 65 can be achieve
000110: 64 20 20 62 79 20 20 77 72 69 74 69 6E 67 20 20 d by writing
000120: 61 20 20 73 68 6F 72 74 0D 0A 20 20 20 20 20 20 a short..
000130: 20 72 6F 75 74 69 6E 65 20 74 6F 20 73 65 6E 64 routine to send
000140: 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 74 the character t
000150: 6F 20 74 68 65 20 73 63 72 65 65 6E 20 61 6E 64 o the screen and
000160: 20 70 61 74 63 68 69 6E 67 20 74 68 65 20 65 6E patching the en
000170: 74 72 79 20 20 69 6E 0D 0A 20 20 20 20 20 20 20 try in..
000180: 74 68 65 20 6A 75 6D 70 62 6C 6F 63 6B 20 66 6F the jumpblock fo
000190: 72 20 73 65 6E 64 69 6E 67 20 63 68 61 72 61 63 r sending charac
0001A0: 74 65 72 73 20 74 6F 20 74 68 65 20 70 72 69 6E ters to the prin
0001B0: 74 65 72 2C 20 4D 43 20 50 52 49 4E 54 20 43 48 ter, MC PRINT CH
0001C0: 41 52 2C 20 73 6F 0D 0A 20 20 20 20 20 20 20 74 AR, so.. t
0001D0: 68 61 74 20 69 74 20 6A 75 6D 70 73 20 74 6F 20 hat it jumps to
0001E0: 74 68 69 73 20 72 6F 75 74 69 6E 65 20 69 6E 73 this routine ins
0001F0: 74 65 61 64 20 6F 66 20 69 74 73 20 6E 6F 72 6D tead of its norm
Size : 512 (Real : 512)
000000: 61 6C 20 72 6F 75 74 69 6E 65 2E 0D 0A 0D 0A 0D al routine......
000010: 0A 20 20 20 20 20 20 20 54 68 65 20 73 75 62 73 . The subs
000020: 74 69 74 75 74 65 20 72 6F 75 74 69 6E 65 20 77 titute routine w
000030: 69 6C 6C 20 68 61 76 65 20 74 6F 20 6F 62 65 79 ill have to obey
000040: 20 74 68 65 20 65 6E 74 72 79 2F 65 78 69 74 20 the entry/exit
000050: 63 6F 6E 64 69 74 69 6F 6E 73 20 66 6F 72 0D 0A conditions for..
000060: 20 20 20 20 20 20 20 4D 43 20 50 52 49 4E 54 20 MC PRINT
000070: 43 48 41 52 2E 20 54 68 65 73 65 20 63 61 6E 20 CHAR. These can
000080: 62 65 20 66 6F 75 6E 64 20 69 6E 20 20 74 68 65 be found in the
000090: 20 20 66 75 6C 6C 20 20 64 65 73 63 72 69 70 74 full descript
0000A0: 69 6F 6E 20 20 6F 66 20 20 74 68 69 73 0D 0A 20 ion of this..
0000B0: 20 20 20 20 20 20 65 6E 74 72 79 20 69 6E 20 73 entry in s
0000C0: 65 63 74 69 6F 6E 20 31 35 2E 20 42 72 69 65 66 ection 15. Brief
0000D0: 6C 79 20 74 68 65 79 20 61 72 65 20 61 73 20 66 ly they are as f
0000E0: 6F 6C 6C 6F 77 73 3A 0D 0A 0D 0A 20 20 20 20 20 ollows:....
0000F0: 20 20 4D 43 20 50 52 49 4E 54 20 43 48 41 52 0D MC PRINT CHAR.
000100: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000110: 20 45 6E 74 72 79 20 63 6F 6E 64 69 74 69 6F 6E Entry condition
000120: 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 s:....
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000140: 41 20 63 6F 6E 74 61 69 6E 73 20 63 68 61 72 61 A contains chara
000150: 63 74 65 72 20 74 6F 20 70 72 69 6E 74 2E 0D 0A cter to print...
000160: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000170: 20 20 45 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E Exit condition
000180: 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 s:....
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001A0: 49 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 If the character
0001B0: 20 77 61 73 20 73 65 6E 74 20 4F 4B 3A 0D 0A 20 was sent OK:..
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 20 43 61 72 72 79 20 74 72 75 65 2E 0D 0A Carry true...
0001F0: 0D 0A 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 49 66 20 74 If t
000010: 68 65 20 70 72 69 6E 74 65 72 20 74 69 6D 65 64 he printer timed
000020: 20 6F 75 74 3A 0D 0A 20 20 20 20 20 20 20 20 20 out:..
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 43 61 72 72 79 Carry
000050: 20 66 61 6C 73 65 2E 0D 0A 0D 0A 20 20 20 20 20 false.....
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 20 20 20 20 20 41 6C 77 61 79 73 3A 0D 0A 0D 0A Always:....
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 41 20 61 6E 64 20 6F 74 68 65 72 20 A and other
0000B0: 66 6C 61 67 73 20 63 6F 72 72 75 70 74 2E 0D 0A flags corrupt...
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 41 6C 6C 20 6F 74 68 65 72 20 72 65 All other re
0000F0: 67 69 73 74 65 72 73 20 70 72 65 73 65 72 76 65 gisters preserve
000100: 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 d..... AMS
000110: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
000120: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 6128 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 20 20 20 20 70 61 67 65 20 page
000150: 31 2E 38 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 1.8.............
000160: 0A 20 20 20 20 20 20 20 54 68 65 20 61 63 74 69 . The acti
000170: 6F 6E 20 6F 66 20 74 68 65 20 73 75 62 73 74 69 on of the substi
000180: 74 75 74 65 20 72 6F 75 74 69 6E 65 20 77 69 6C tute routine wil
000190: 6C 20 20 62 65 20 20 74 6F 20 20 73 65 6C 65 63 l be to selec
0001A0: 74 20 20 74 68 65 20 20 73 63 72 65 65 6E 0D 0A t the screen..
0001B0: 20 20 20 20 20 20 20 73 74 72 65 61 6D 20 74 68 stream th
0001C0: 61 74 20 74 68 65 20 70 72 69 6E 74 65 72 20 6F at the printer o
0001D0: 75 74 70 75 74 20 69 73 20 74 6F 20 61 70 70 65 utput is to appe
0001E0: 61 72 20 6F 6E 2C 20 74 6F 20 70 72 69 6E 74 20 ar on, to print
0001F0: 74 68 65 20 63 68 61 72 61 63 74 65 72 0D 0A 20 the character..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 6F 6E 20 74 68 65 20 73 74 72 on the str
000010: 65 61 6D 20 61 6E 64 20 74 68 65 6E 20 74 6F 20 eam and then to
000020: 20 72 65 73 74 6F 72 65 20 20 74 68 65 20 20 73 restore the s
000030: 74 72 65 61 6D 20 20 74 68 61 74 20 20 77 61 73 tream that was
000040: 20 20 6F 72 69 67 69 6E 61 6C 6C 79 0D 0A 20 20 originally..
000050: 20 20 20 20 20 73 65 6C 65 63 74 65 64 2E 20 54 selected. T
000060: 6F 20 64 6F 20 74 68 69 73 20 74 68 65 20 73 75 o do this the su
000070: 62 73 74 69 74 75 74 65 20 72 6F 75 74 69 6E 65 bstitute routine
000080: 20 20 77 69 6C 6C 20 20 6E 65 65 64 20 20 74 6F will need to
000090: 20 20 63 61 6C 6C 20 20 74 68 65 0D 0A 20 20 20 call the..
0000A0: 20 20 20 20 72 6F 75 74 69 6E 65 73 20 20 54 58 routines TX
0000B0: 54 20 20 53 54 52 20 20 53 45 4C 45 43 54 20 20 T STR SELECT
0000C0: 61 6E 64 20 20 54 58 54 20 20 4F 55 54 50 55 54 and TXT OUTPUT
0000D0: 2E 20 20 4F 6E 63 65 20 20 61 67 61 69 6E 20 20 . Once again
0000E0: 74 68 65 20 20 20 66 75 6C 6C 0D 0A 20 20 20 20 the full..
0000F0: 20 20 20 64 65 73 63 72 69 70 74 69 6F 6E 73 20 descriptions
000100: 6F 66 20 74 68 65 73 65 20 6A 75 6D 70 62 6C 6F of these jumpblo
000110: 63 6B 20 65 6E 74 72 69 65 73 20 63 61 6E 20 62 ck entries can b
000120: 65 20 66 6F 75 6E 64 20 20 69 6E 20 20 73 65 63 e found in sec
000130: 74 69 6F 6E 20 20 31 35 2E 0D 0A 20 20 20 20 20 tion 15...
000140: 20 20 54 68 65 20 65 6E 74 72 79 2F 65 78 69 74 The entry/exit
000150: 20 63 6F 6E 64 69 74 69 6F 6E 73 20 61 72 65 20 conditions are
000160: 61 73 20 66 6F 6C 6C 6F 77 73 3A 0D 0A 0D 0A 0D as follows:.....
000170: 0A 20 20 20 20 20 20 20 54 58 54 20 53 54 52 20 . TXT STR
000180: 53 45 4C 45 43 54 3A 0D 0A 0D 0A 20 20 20 20 20 SELECT:....
000190: 20 20 20 20 20 20 20 20 20 20 20 45 6E 74 72 79 Entry
0001A0: 20 63 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A conditions:....
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 41 20 63 6F 6E 74 A cont
0001D0: 61 69 6E 73 20 74 68 65 20 73 74 72 65 61 6D 20 ains the stream
0001E0: 6E 75 6D 62 65 72 20 74 6F 20 73 65 6C 65 63 74 number to select
0001F0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
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 20 20 20 20 20 20 20 ions:....
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 20 20 20 41 20 63 6F 6E 74 61 69 6E 73 20 70 72 A contains pr
000040: 65 76 69 6F 75 73 6C 79 20 73 65 6C 65 63 74 65 eviously selecte
000050: 64 20 73 74 72 65 61 6D 20 6E 75 6D 62 65 72 2E d stream number.
000060: 0D 0A 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 48 4C 20 61 HL a
000080: 6E 64 20 66 6C 61 67 73 20 63 6F 72 72 75 70 74 nd flags corrupt
000090: 2E 0D 0A 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 41 6C 6C All
0000B0: 20 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 other registers
0000C0: 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D preserved......
0000D0: 0A 0D 0A 20 20 20 20 20 20 20 54 58 54 20 4F 55 ... TXT OU
0000E0: 54 50 55 54 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 TPUT:....
0000F0: 20 20 20 20 20 20 20 20 20 45 6E 74 72 79 20 63 Entry c
000100: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 onditions:....
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 41 20 63 6F 6E 74 61 69 A contai
000130: 6E 73 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 ns character to
000140: 70 72 69 6E 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 print.....
000150: 20 20 20 20 20 20 20 20 20 20 45 78 69 74 20 63 Exit c
000160: 6F 6E 64 69 74 69 6F 6E 73 3A 0D 0A 0D 0A 20 20 onditions:....
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 41 6C 6C 20 72 65 67 69 All regi
000190: 73 74 65 72 73 20 61 6E 64 20 66 6C 61 67 73 20 sters and flags
0001A0: 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 0D 0A preserved.......
0001B0: 20 20 20 20 20 20 20 54 68 65 20 63 6F 64 65 20 The code
0001C0: 66 6F 72 20 74 68 65 20 20 73 75 62 73 74 69 74 for the substit
0001D0: 75 74 65 20 20 72 6F 75 74 69 6E 65 20 20 63 6F ute routine co
0001E0: 75 6C 64 20 20 62 65 20 20 77 72 69 74 74 65 6E uld be written
0001F0: 20 20 61 73 20 20 66 6F 6C 6C 6F 77 73 0D 0A 20 as follows..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 28 73 74 72 65 61 6D 20 37 20 (stream 7
000010: 68 61 73 20 62 65 65 6E 20 63 68 6F 73 65 6E 20 has been chosen
000020: 61 73 20 74 68 65 20 73 74 72 65 61 6D 20 6F 6E as the stream on
000030: 20 77 68 69 63 68 20 70 72 69 6E 74 65 72 20 6F which printer o
000040: 75 74 70 75 74 20 69 73 20 20 74 6F 0D 0A 20 20 utput is to..
000050: 20 20 20 20 20 61 70 70 65 61 72 29 3A 0D 0A 0D appear):...
000060: 0A 20 20 20 20 20 20 20 50 55 53 48 20 48 4C 0D . PUSH HL.
000070: 0A 20 20 20 20 20 20 20 50 55 53 48 20 42 43 0D . PUSH BC.
000080: 0A 20 20 20 20 20 20 20 3B 0D 0A 20 20 20 20 20 . ;..
000090: 20 20 4C 44 20 42 2C 41 20 20 20 20 20 20 20 20 LD B,A
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B ;
0000B0: 53 61 76 65 20 74 68 65 20 63 68 61 72 61 63 74 Save the charact
0000C0: 65 72 20 74 6F 20 70 72 69 6E 74 0D 0A 20 20 20 er to print..
0000D0: 20 20 20 20 3B 0D 0A 20 20 20 20 20 20 20 4C 44 ;.. LD
0000E0: 20 41 2C 37 20 20 20 20 20 20 20 20 20 20 20 20 A,7
0000F0: 20 20 20 20 20 20 20 20 20 20 20 3B 50 72 69 6E ;Prin
000100: 74 65 72 20 73 74 72 65 61 6D 20 6E 75 6D 62 65 ter stream numbe
000110: 72 0D 0A 20 20 20 20 20 20 20 43 41 4C 4C 20 54 r.. CALL T
000120: 58 54 5F 53 54 52 5F 53 45 4C 45 43 54 20 20 20 XT_STR_SELECT
000130: 20 20 20 20 20 20 20 3B 53 65 6C 65 63 74 20 74 ;Select t
000140: 68 65 20 70 72 69 6E 74 65 72 20 73 74 72 65 61 he printer strea
000150: 6D 0D 0A 20 20 20 20 20 20 20 4C 44 20 43 2C 41 m.. LD C,A
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 3B 53 61 76 65 20 74 68 65 ;Save the
000180: 20 6F 72 69 67 69 6E 61 6C 20 73 74 72 65 61 6D original stream
000190: 20 6E 75 6D 62 65 72 0D 0A 20 20 20 20 20 20 20 number..
0001A0: 3B 0D 0A 20 20 20 20 20 20 20 4C 44 20 41 2C 42 ;.. LD A,B
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 3B 47 65 74 20 74 68 65 20 ;Get the
0001D0: 63 68 61 72 61 63 74 65 72 20 61 67 61 69 6E 0D character again.
0001E0: 0A 20 20 20 20 20 20 20 43 41 4C 4C 20 54 58 54 . CALL TXT
0001F0: 5F 4F 55 54 50 55 54 20 20 20 20 20 20 20 20 20 _OUTPUT
Size : 512 (Real : 512)
000000: 20 20 20 20 20 3B 53 65 6E 64 20 69 74 20 74 6F ;Send it to
000010: 20 74 68 65 20 73 63 72 65 65 6E 0D 0A 20 20 20 the screen..
000020: 20 20 20 20 3B 0D 0A 20 20 20 20 20 20 20 4C 44 ;.. LD
000030: 20 41 2C 43 20 20 20 20 20 20 20 20 20 20 20 20 A,C
000040: 20 20 20 20 20 20 20 20 20 20 20 3B 47 65 74 20 ;Get
000050: 74 68 65 20 6F 72 69 67 69 6E 61 6C 20 73 74 72 the original str
000060: 65 61 6D 20 6E 75 6D 62 65 72 0D 0A 20 20 20 20 eam number..
000070: 20 20 20 43 41 4C 4C 20 54 58 54 5F 53 54 52 5F CALL TXT_STR_
000080: 53 45 4C 45 43 54 20 20 20 20 20 20 20 20 20 20 SELECT
000090: 3B 52 65 73 65 6C 65 63 74 20 74 68 65 20 6F 72 ;Reselect the or
0000A0: 69 67 69 6E 61 6C 20 73 74 72 65 61 6D 0D 0A 20 iginal stream..
0000B0: 20 20 20 20 20 20 3B 0D 0A 20 20 20 20 20 20 20 ;..
0000C0: 50 4F 50 20 42 43 0D 0A 20 20 20 20 20 20 20 50 POP BC.. P
0000D0: 4F 50 20 48 4C 0D 0A 20 20 20 20 20 20 20 53 43 OP HL.. SC
0000E0: 46 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 F
0000F0: 20 20 20 20 20 20 20 20 20 20 20 3B 54 68 65 20 ;The
000100: 63 68 61 72 61 63 74 65 72 20 77 61 73 20 73 65 character was se
000110: 6E 74 20 4F 4B 0D 0A 20 20 20 20 20 20 20 52 45 nt OK.. RE
000120: 54 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D T...... 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 20 20 20 70 61 67 65 page
000170: 20 31 2E 39 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 1.9............
000180: 0D 0A 20 20 20 20 20 20 20 4E 6F 74 65 20 74 68 .. Note th
000190: 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 70 6F 69 6E e following poin
0001A0: 74 73 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ts:........
0001B0: 20 20 31 2F 20 4D 43 20 50 52 49 4E 54 20 43 48 1/ MC PRINT CH
0001C0: 41 52 20 70 72 65 73 65 72 76 65 73 20 48 4C 20 AR preserves HL
0001D0: 61 6E 64 20 42 43 2E 20 54 68 65 20 72 6F 75 74 and BC. The rout
0001E0: 69 6E 65 20 61 62 6F 76 65 20 75 73 65 73 20 42 ine above uses B
0001F0: 20 20 61 6E 64 20 20 43 0D 0A 20 20 20 20 20 20 and C..
Size : 512 (Real : 512)
000000: 20 66 6F 72 20 74 65 6D 70 6F 72 61 72 79 20 73 for temporary s
000010: 74 6F 72 61 67 65 20 61 6E 64 20 48 4C 20 69 73 torage and HL is
000020: 20 63 6F 72 72 75 70 74 65 64 20 62 79 20 54 58 corrupted by TX
000030: 54 20 53 54 52 20 53 45 4C 45 43 54 2E 20 48 4C T STR SELECT. HL
000040: 20 61 6E 64 20 42 43 0D 0A 20 20 20 20 20 20 20 and BC..
000050: 61 72 65 20 20 74 68 65 72 65 66 6F 72 65 20 20 are therefore
000060: 70 75 73 68 65 64 20 20 61 6E 64 20 20 70 6F 70 pushed and pop
000070: 70 65 64 20 20 74 6F 20 20 70 72 65 73 65 72 76 ped to preserv
000080: 65 20 20 74 68 65 6D 20 20 74 68 72 6F 75 67 68 e them through
000090: 20 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 73 the.. s
0000A0: 75 62 73 74 69 74 75 74 65 20 72 6F 75 74 69 6E ubstitute routin
0000B0: 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 e.........
0000C0: 20 32 2F 20 4D 43 20 50 52 49 4E 54 20 43 48 41 2/ MC PRINT CHA
0000D0: 52 20 72 65 74 75 72 6E 73 20 61 20 73 75 63 63 R returns a succ
0000E0: 65 73 73 2F 66 61 69 6C 20 69 6E 64 69 63 61 74 ess/fail indicat
0000F0: 69 6F 6E 20 69 6E 20 74 68 65 20 63 61 72 72 79 ion in the carry
000100: 20 20 66 6C 61 67 2E 0D 0A 20 20 20 20 20 20 20 flag...
000110: 53 69 6E 63 65 20 74 68 65 20 72 6F 75 74 69 6E Since the routin
000120: 65 20 61 62 6F 76 65 20 63 61 6E 20 6E 65 76 65 e above can neve
000130: 72 20 66 61 69 6C 20 69 74 20 61 6C 77 61 79 73 r fail it always
000140: 20 73 65 74 73 20 74 68 65 20 20 63 61 72 72 79 sets the carry
000150: 20 20 66 6C 61 67 0D 0A 20 20 20 20 20 20 20 74 flag.. t
000160: 6F 20 69 6E 64 69 63 61 74 65 20 73 75 63 63 65 o indicate succe
000170: 73 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ss.........
000180: 20 20 33 2F 20 54 68 65 20 72 6F 75 74 69 6E 65 3/ The routine
000190: 20 61 62 6F 76 65 20 64 6F 65 73 20 6E 6F 74 20 above does not
0001A0: 63 68 61 6E 67 65 20 77 68 69 63 68 20 74 65 78 change which tex
0001B0: 74 20 73 74 72 65 61 6D 20 69 73 20 73 65 6C 65 t stream is sele
0001C0: 63 74 65 64 2E 20 49 74 0D 0A 20 20 20 20 20 20 cted. It..
0001D0: 20 73 65 6C 65 63 74 73 20 74 68 65 20 73 74 72 selects the str
0001E0: 65 61 6D 20 69 74 20 69 73 20 67 6F 69 6E 67 20 eam it is going
0001F0: 74 6F 20 70 72 69 6E 74 20 6F 6E 20 61 6E 64 20 to print on and
Size : 512 (Real : 512)
000000: 72 65 73 74 6F 72 65 73 20 74 68 65 20 70 72 65 restores the pre
000010: 76 69 6F 75 73 6C 79 0D 0A 20 20 20 20 20 20 20 viously..
000020: 73 65 6C 65 63 74 65 64 20 73 74 72 65 61 6D 20 selected stream
000030: 77 68 65 6E 20 69 74 20 68 61 73 20 70 72 69 6E when it has prin
000040: 74 65 64 20 74 68 65 20 20 63 68 61 72 61 63 74 ted the charact
000050: 65 72 2E 20 20 54 68 65 20 20 66 69 72 6D 77 61 er. The firmwa
000060: 72 65 20 20 69 73 0D 0A 20 20 20 20 20 20 20 77 re is.. w
000070: 72 69 74 74 65 6E 20 69 6E 20 73 75 63 68 20 61 ritten in such a
000080: 20 77 61 79 20 61 73 20 74 6F 20 61 6C 6C 6F 77 way as to allow
000090: 20 72 6F 75 74 69 6E 65 73 20 20 74 6F 20 20 72 routines to r
0000A0: 65 73 74 6F 72 65 20 20 74 68 65 20 20 6F 72 69 estore the ori
0000B0: 67 69 6E 61 6C 0D 0A 20 20 20 20 20 20 20 73 74 ginal.. st
0000C0: 61 74 65 20 77 68 65 6E 20 74 68 65 79 20 66 69 ate when they fi
0000D0: 6E 69 73 68 20 69 66 20 72 65 71 75 69 72 65 64 nish if required
0000E0: 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
0000F0: 54 6F 20 75 73 65 20 74 68 65 20 73 75 62 73 74 To use the subst
000100: 69 74 75 74 65 20 72 6F 75 74 69 6E 65 20 69 74 itute routine it
000110: 20 69 73 20 6E 65 63 65 73 73 61 72 79 20 74 6F is necessary to
000120: 20 70 61 74 63 68 20 69 74 20 69 6E 74 6F 20 20 patch it into
000130: 6D 65 6D 6F 72 79 0D 0A 20 20 20 20 20 20 20 61 memory.. a
000140: 6E 64 20 74 6F 20 63 68 61 6E 67 65 20 74 68 65 nd to change the
000150: 20 6A 75 6D 70 62 6C 6F 63 6B 20 65 6E 74 72 79 jumpblock entry
000160: 20 66 6F 72 20 4D 43 20 50 52 49 4E 54 20 43 48 for MC PRINT CH
000170: 41 52 20 20 74 6F 20 20 6A 75 6D 70 20 20 74 6F AR to jump to
000180: 20 20 69 74 2E 0D 0A 20 20 20 20 20 20 20 41 73 it... As
000190: 73 75 6D 65 20 74 68 61 74 20 73 6F 6D 65 20 6D sume that some m
0001A0: 65 6D 6F 72 79 20 61 74 20 23 41 42 30 30 20 68 emory at #AB00 h
0001B0: 61 73 20 62 65 65 6E 20 72 65 73 65 72 76 65 64 as been reserved
0001C0: 20 66 6F 72 20 74 68 65 20 20 73 75 62 73 74 69 for the substi
0001D0: 74 75 74 65 0D 0A 20 20 20 20 20 20 20 72 6F 75 tute.. rou
0001E0: 74 69 6E 65 20 61 6E 64 20 74 68 61 74 20 74 68 tine and that th
0001F0: 65 20 72 6F 75 74 69 6E 65 20 68 61 73 20 62 65 e routine has be
Size : 512 (Real : 512)
000000: 65 6E 20 20 70 61 74 63 68 65 64 20 20 69 6E 74 en patched int
000010: 6F 20 20 6D 65 6D 6F 72 79 2E 20 20 54 68 65 20 o memory. The
000020: 20 4D 43 0D 0A 20 20 20 20 20 20 20 50 52 49 4E MC.. PRIN
000030: 54 20 43 48 41 52 20 65 6E 74 72 79 20 69 6E 20 T CHAR entry in
000040: 74 68 65 20 6A 75 6D 70 62 6C 6F 63 6B 20 69 73 the jumpblock is
000050: 20 61 74 20 6C 6F 63 61 74 69 6F 6E 20 23 42 44 at location #BD
000060: 32 42 20 28 61 73 20 63 61 6E 20 62 65 20 73 65 2B (as can be se
000070: 65 6E 0D 0A 20 20 20 20 20 20 20 62 79 20 69 6E en.. by in
000080: 73 70 65 63 74 69 6E 67 20 73 65 63 74 69 6F 6E specting section
000090: 20 31 33 2E 20 31 2E 38 29 2E 20 54 68 65 20 74 13. 1.8). The t
0000A0: 68 72 65 65 20 62 79 74 65 73 20 6F 66 20 74 68 hree bytes of th
0000B0: 65 20 65 6E 74 72 79 20 73 68 6F 75 6C 64 20 62 e entry should b
0000C0: 65 0D 0A 20 20 20 20 20 20 20 73 65 74 20 74 6F e.. set to
0000D0: 20 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E the instruction
0000E0: 20 4A 50 20 23 41 42 30 30 20 62 79 20 70 61 74 JP #AB00 by pat
0000F0: 63 68 69 6E 67 20 61 73 20 66 6F 6C 6C 6F 77 73 ching as follows
000100: 3A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 :........
000110: 20 20 20 20 20 20 20 20 20 23 42 44 32 42 20 20 #BD2B
000120: 20 20 20 23 43 33 0D 0A 20 20 20 20 20 20 20 20 #C3..
000130: 20 20 20 20 20 20 20 20 23 42 44 32 43 20 20 20 #BD2C
000140: 20 20 23 30 30 0D 0A 20 20 20 20 20 20 20 20 20 #00..
000150: 20 20 20 20 20 20 20 23 42 44 32 42 20 20 20 20 #BD2B
000160: 20 23 41 42 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 #AB........
000170: 20 20 20 46 72 6F 6D 20 6E 6F 77 20 6F 6E 20 61 From now on a
000180: 6C 6C 20 74 65 78 74 20 73 65 6E 74 20 74 6F 20 ll text sent to
000190: 74 68 65 20 70 72 69 6E 74 65 72 20 77 69 6C 6C the printer will
0001A0: 20 61 70 70 65 61 72 20 6F 6E 20 74 68 65 20 73 appear on the s
0001B0: 63 72 65 65 6E 20 20 6F 6E 0D 0A 20 20 20 20 20 creen on..
0001C0: 20 20 73 74 72 65 61 6D 20 37 2E 20 4F 66 20 63 stream 7. Of c
0001D0: 6F 75 72 73 65 2C 20 73 74 72 65 61 6D 20 37 20 ourse, stream 7
0001E0: 73 68 6F 75 6C 64 20 68 61 76 65 20 69 74 73 20 should have its
0001F0: 77 69 6E 64 6F 77 20 73 65 74 20 20 73 6F 20 20 window set so
Size : 512 (Real : 512)
000000: 74 68 61 74 20 20 69 74 0D 0A 20 20 20 20 20 20 that it..
000010: 20 64 6F 65 73 20 6E 6F 74 20 69 6E 74 65 72 66 does not interf
000020: 65 72 65 20 77 69 74 68 20 61 6E 79 20 6F 74 68 ere with any oth
000030: 65 72 20 73 74 72 65 61 6D 20 75 73 69 6E 67 20 er stream using
000040: 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D the screen......
000050: 0A 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 72 ... This r
000060: 65 64 69 72 65 63 74 69 6F 6E 20 77 69 6C 6C 20 edirection will
000070: 72 65 6D 61 69 6E 20 69 6E 20 66 6F 72 63 65 20 remain in force
000080: 75 6E 74 69 6C 20 20 74 68 65 20 20 6A 75 6D 70 until the jump
000090: 62 6C 6F 63 6B 20 20 65 6E 74 72 79 20 20 69 73 block entry is
0000A0: 0D 0A 20 20 20 20 20 20 20 72 65 73 74 6F 72 65 .. restore
0000B0: 64 2E 20 54 68 69 73 20 63 61 6E 20 62 65 20 61 d. This can be a
0000C0: 63 68 69 65 76 65 64 20 62 79 20 70 61 74 63 68 chieved by patch
0000D0: 69 6E 67 20 74 68 65 20 6A 75 6D 70 62 6C 6F 63 ing the jumpbloc
0000E0: 6B 20 62 61 63 6B 20 61 67 61 69 6E 20 6F 72 0D k back again or.
0000F0: 0A 20 20 20 20 20 20 20 62 79 20 63 61 6C 6C 69 . by calli
000100: 6E 67 20 4A 55 4D 50 20 52 45 53 54 4F 52 45 20 ng JUMP RESTORE
000110: 6F 72 20 62 79 20 63 61 75 73 69 6E 67 20 61 6E or by causing an
000120: 20 45 4D 53 20 20 69 6E 69 74 69 61 6C 69 7A 61 EMS initializa
000130: 74 69 6F 6E 20 20 74 6F 20 20 74 61 6B 65 0D 0A tion to take..
000140: 20 20 20 20 20 20 20 70 6C 61 63 65 20 62 79 20 place by
000150: 72 65 73 65 74 74 69 6E 67 20 74 68 65 20 73 79 resetting the sy
000160: 73 74 65 6D 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D stem............
000170: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D ....... AM
000180: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
000190: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 /6128 FIRMWARE
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 70 61 67 65 20 page
0001C0: 31 2E 31 30 0D 0A 1A 20 73 65 63 74 69 6F 6E 20 1.10... section
0001D0: 20 31 34 2E 20 20 54 68 65 0D 0A 20 20 20 20 20 14. The..
0001E0: 20 20 66 69 72 73 74 20 61 6E 64 20 6C 61 72 67 first and larg
0001F0: 65 73 74 20 20 6A 75 6D 70 62 6C 6F 63 6B 20 20 est jumpblock
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 20 20 20 20 20 20 20 50 ........ P
000010: 72 65 66 61 63 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 reface.........
000020: 20 20 20 20 20 20 54 68 65 20 63 6F 6D 70 75 74 The comput
000030: 65 72 73 20 69 6E 20 74 68 65 20 43 50 43 20 72 ers in the CPC r
000040: 61 6E 67 65 20 20 63 6F 6E 74 61 69 6E 20 20 52 ange contain R
000050: 4F 4D 73 20 20 77 68 69 63 68 20 20 68 6F 6C 64 OMs which hold
000060: 20 20 74 68 65 20 20 42 41 53 49 43 0D 0A 20 20 the BASIC..
000070: 20 20 20 20 20 69 6E 74 65 72 70 72 65 74 65 72 interpreter
000080: 20 61 6E 64 20 74 68 65 20 27 66 69 72 6D 77 61 and the 'firmwa
000090: 72 65 27 2E 20 54 68 65 20 66 69 72 6D 77 61 72 re'. The firmwar
0000A0: 65 20 20 63 6F 6E 73 69 73 74 73 20 20 6F 66 20 e consists of
0000B0: 20 6C 6F 77 20 20 6C 65 76 65 6C 0D 0A 20 20 20 low level..
0000C0: 20 20 20 20 72 6F 75 74 69 6E 65 73 20 72 65 73 routines res
0000D0: 70 6F 6E 73 69 62 6C 65 20 66 6F 72 20 64 72 69 ponsible for dri
0000E0: 76 69 6E 67 20 74 68 65 20 68 61 72 64 77 61 72 ving the hardwar
0000F0: 65 2C 20 20 68 61 6E 64 6C 69 6E 67 20 20 74 68 e, handling th
000100: 65 20 20 73 63 72 65 65 6E 2C 0D 0A 20 20 20 20 e screen,..
000110: 20 20 20 68 61 6E 64 6C 69 6E 67 20 72 65 61 6C handling real
000120: 2D 74 69 6D 65 20 65 76 65 6E 74 73 20 61 6E 64 -time events and
000130: 20 6F 74 68 65 72 20 20 73 69 6D 69 6C 61 72 20 other similar
000140: 20 66 75 6E 63 74 69 6F 6E 73 2E 20 20 54 68 69 functions. Thi
000150: 73 20 20 6D 61 6E 75 61 6C 0D 0A 20 20 20 20 20 s manual..
000160: 20 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 describes the
000170: 66 69 72 6D 77 61 72 65 2E 0D 0A 0D 0A 0D 0A 0D firmware........
000180: 0A 20 20 20 20 20 20 20 54 68 69 73 20 6D 61 6E . This man
000190: 75 61 6C 20 69 73 20 61 70 70 6C 69 63 61 62 6C ual is applicabl
0001A0: 65 20 74 6F 20 74 68 65 20 66 75 6C 6C 20 72 61 e to the full ra
0001B0: 6E 67 65 20 6F 66 20 43 50 43 20 6D 61 63 68 69 nge of CPC machi
0001C0: 6E 65 73 3B 20 34 36 34 2C 20 36 36 34 2C 0D 0A nes; 464, 664,..
0001D0: 20 20 20 20 20 20 20 36 31 32 38 20 61 6E 64 20 6128 and
0001E0: 34 36 34 2B 44 44 49 2D 31 2E 20 54 68 65 20 66 464+DDI-1. The f
0001F0: 69 72 6D 77 61 72 65 20 69 6E 20 74 68 65 73 65 irmware in these
Size : 512 (Real : 512)
000000: 20 6D 61 63 68 69 6E 65 73 20 69 73 20 20 6E 6F machines is no
000010: 74 20 20 69 64 65 6E 74 69 63 61 6C 2E 0D 0A 20 t identical...
000020: 20 20 20 20 20 20 41 6C 6C 20 34 36 34 73 20 63 All 464s c
000030: 6F 6E 74 61 69 6E 20 56 31 2E 30 20 6F 66 20 74 ontain V1.0 of t
000040: 68 65 20 66 69 72 6D 77 61 72 65 2C 20 61 6C 6C he firmware, all
000050: 20 36 36 34 73 20 63 6F 6E 74 61 69 6E 20 56 31 664s contain V1
000060: 2E 31 20 20 61 6E 64 20 20 61 6C 6C 0D 0A 20 20 .1 and all..
000070: 20 20 20 20 20 36 31 32 38 73 20 63 6F 6E 74 61 6128s conta
000080: 69 6E 20 56 31 2E 32 2E 20 41 6C 6C 20 66 69 72 in V1.2. All fir
000090: 6D 77 61 72 65 20 63 61 6C 6C 73 20 61 72 65 20 mware calls are
0000A0: 20 75 70 77 61 72 64 73 20 20 63 6F 6D 70 61 74 upwards compat
0000B0: 69 62 6C 65 2C 20 20 74 68 61 74 0D 0A 20 20 20 ible, that..
0000C0: 20 20 20 20 69 73 2C 20 61 6E 79 20 66 69 72 6D is, any firm
0000D0: 77 61 72 65 20 63 61 6C 6C 20 61 76 61 69 6C 61 ware call availa
0000E0: 62 6C 65 20 69 6E 20 56 31 2E 30 20 69 73 20 61 ble in V1.0 is a
0000F0: 76 61 69 6C 61 62 6C 65 20 69 6E 20 56 31 2E 31 vailable in V1.1
000100: 20 61 6E 64 20 20 56 31 2E 32 0D 0A 20 20 20 20 and V1.2..
000110: 20 20 20 61 6E 64 20 61 6E 79 20 66 69 72 6D 77 and any firmw
000120: 61 72 65 20 63 61 6C 6C 20 61 76 61 69 6C 61 62 are call availab
000130: 6C 65 20 69 6E 20 56 31 2E 31 20 69 73 20 61 76 le in V1.1 is av
000140: 61 69 6C 61 62 6C 65 20 69 6E 20 56 31 2E 32 2E ailable in V1.2.
000150: 20 20 55 70 77 61 72 64 73 0D 0A 20 20 20 20 20 Upwards..
000160: 20 20 63 6F 6D 70 61 74 69 62 69 6C 69 74 79 20 compatibility
000170: 77 69 6C 6C 20 20 62 65 20 20 6D 61 69 6E 74 61 will be mainta
000180: 69 6E 65 64 20 20 69 6E 20 20 61 6E 79 20 20 66 ined in any f
000190: 75 74 75 72 65 20 20 76 65 72 73 69 6F 6E 73 20 uture versions
0001A0: 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 of the..
0001B0: 20 66 69 72 6D 77 61 72 65 2E 0D 0A 0D 0A 0D 0A firmware.......
0001C0: 0D 0A 20 20 20 20 20 20 20 41 73 20 73 74 61 74 .. As stat
0001D0: 65 64 20 61 62 6F 76 65 20 74 68 69 73 20 6D 61 ed above this ma
0001E0: 6E 75 61 6C 20 72 65 6C 61 74 65 73 20 6F 6E 6C nual relates onl
0001F0: 79 20 74 6F 20 74 68 65 20 20 66 69 72 6D 77 61 y to the firmwa
Size : 512 (Real : 512)
000000: 72 65 20 20 73 65 63 74 69 6F 6E 20 20 6F 66 0D re section of.
000010: 0A 20 20 20 20 20 20 20 74 68 65 20 52 4F 4D 73 . the ROMs
000020: 2E 20 4F 74 68 65 72 20 41 4D 53 4F 46 54 20 70 . Other AMSOFT p
000030: 75 62 6C 69 63 61 74 69 6F 6E 73 20 20 64 65 73 ublications des
000040: 63 72 69 62 65 20 20 74 68 65 20 20 42 41 53 49 cribe the BASI
000050: 43 20 20 69 6E 74 65 72 70 72 65 74 65 72 0D 0A C interpreter..
000060: 20 20 20 20 20 20 20 28 74 68 6F 75 67 68 20 6E (though n
000070: 6F 74 20 61 74 20 61 20 73 79 73 74 65 6D 20 6C ot at a system l
000080: 65 76 65 6C 29 20 20 61 6E 64 20 20 74 68 65 20 evel) and the
000090: 20 76 61 72 69 6F 75 73 20 20 69 6D 70 6C 65 6D various implem
0000A0: 65 6E 74 61 74 69 6F 6E 73 20 20 6F 66 0D 0A 20 entations of..
0000B0: 20 20 20 20 20 20 43 50 2F 4D 2E 20 48 6F 77 65 CP/M. Howe
0000C0: 76 65 72 2C 20 74 68 65 20 61 72 65 61 73 20 69 ver, the areas i
0000D0: 6E 20 77 68 69 63 68 20 43 50 2F 4D 20 61 6E 64 n which CP/M and
0000E0: 20 74 68 65 20 66 69 72 6D 77 61 72 65 20 20 69 the firmware i
0000F0: 6E 74 65 72 61 63 74 20 20 61 72 65 0D 0A 20 20 nteract are..
000100: 20 20 20 20 20 63 6F 76 65 72 65 64 20 69 6E 20 covered in
000110: 74 68 69 73 20 6D 61 6E 75 61 6C 2E 20 41 6C 73 this manual. Als
000120: 6F 2C 20 61 72 65 61 73 20 6F 66 20 74 68 65 20 o, areas of the
000130: 66 69 72 6D 77 61 72 65 20 74 68 61 74 20 61 72 firmware that ar
000140: 65 20 20 61 66 66 65 63 74 65 64 0D 0A 20 20 20 e affected..
000150: 20 20 20 20 62 79 20 74 68 65 20 61 64 64 69 74 by the addit
000160: 69 6F 6E 20 6F 66 20 61 20 64 69 73 63 20 69 6E ion of a disc in
000170: 74 65 72 66 61 63 65 20 61 72 65 20 63 6F 76 65 terface are cove
000180: 72 65 64 20 69 6E 20 74 68 69 73 20 6D 61 6E 75 red in this manu
000190: 61 6C 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D al..............
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 0D 0A 0D 0A 0D ................
0001C0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
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: 20 20 20 50 52 45 46 41 43 45 0D 0A 1A 20 20 20 PREFACE...
000020: 20 20 54 68 65 20 63 6F 6D 70 75 74 65 72 73 20 The computers
000030: 69 6E 20 74 68 65 20 43 50 43 20 72 61 6E 67 65 in the CPC range
000040: 20 20 63 6F 6E 74 61 69 6E 20 20 52 4F 4D 73 20 contain ROMs
000050: 20 77 68 69 63 68 20 20 68 6F 6C 64 20 20 74 68 which hold th
000060: 65 20 20 42 41 53 49 43 0D 0A 20 20 20 20 20 20 e BASIC..
000070: 20 69 6E 74 65 72 70 72 65 74 65 72 20 61 6E 64 interpreter and
000080: 65 76 65 6C 29 20 20 61 6E 64 20 20 74 68 65 20 evel) and the
000090: 20 76 61 72 69 6F 75 73 20 20 69 6D 70 6C 65 6D various implem
0000A0: 65 6E 74 61 74 69 6F 6E 73 20 20 6F 66 0D 0A 20 entations of..
0000B0: 20 20 20 20 20 20 43 50 2F 4D 2E 20 48 6F 77 65 CP/M. Howe
0000C0: 76 65 72 2C 20 74 68 65 20 61 72 65 61 73 20 69 ver, the areas i
0000D0: 6E 20 77 68 69 63 68 20 43 50 2F 4D 20 61 6E 64 n which CP/M and
0000E0: 20 74 68 65 20 66 69 72 6D 77 61 72 65 20 20 69 the firmware i
0000F0: 6E 74 65 72 61 63 74 20 20 61 72 65 0D 0A 20 20 nteract are..
000100: 20 20 20 20 20 63 6F 76 65 72 65 64 20 69 6E 20 covered in
000110: 74 68 69 73 20 6D 61 6E 75 61 6C 2E 20 41 6C 73 this manual. Als
000120: 6F 2C 20 61 72 65 61 73 20 6F 66 20 74 68 65 20 o, areas of the
000130: 66 69 72 6D 77 61 72 65 20 74 68 61 74 20 61 72 firmware that ar
000140: 65 20 20 61 66 66 65 63 74 65 64 0D 0A 20 20 20 e affected..
000150: 20 20 20 20 62 79 20 74 68 65 20 61 64 64 69 74 by the addit
000160: 69 6F 6E 20 6F 66 20 61 20 64 69 73 63 20 69 6E ion of a disc in
000170: 74 65 72 66 61 63 65 20 61 72 65 20 63 6F 76 65 terface are cove
000180: 72 65 64 20 69 6E 20 74 68 69 73 20 6D 61 6E 75 red in this manu
000190: 61 6C 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D al..............
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 0D 0A 0D 0A 0D ................
0001C0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
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: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ........ T
000010: 68 65 20 43 6F 6E 74 65 6E 74 73 2E 0D 0A 0D 0A he Contents.....
000020: 0D 0A 0D 0A 20 20 20 20 20 20 20 31 20 54 68 65 .... 1 The
000030: 20 46 69 72 6D 77 61 72 65 2E 0D 0A 0D 0A 0D 0A Firmware.......
000040: 0D 0A 20 20 20 20 20 20 20 31 2E 31 20 20 54 68 .. 1.1 Th
000050: 65 20 48 61 72 64 77 61 72 65 2E 0D 0A 20 20 20 e Hardware...
000060: 20 20 20 20 31 2E 32 20 20 54 68 65 20 44 69 76 1.2 The Div
000070: 69 73 69 6F 6E 20 6F 66 20 74 68 65 20 46 69 72 ision of the Fir
000080: 6D 77 61 72 65 2E 0D 0A 20 20 20 20 20 20 20 31 mware... 1
000090: 2E 33 20 20 43 6F 6E 74 72 6F 6C 6C 69 6E 67 20 .3 Controlling
0000A0: 74 68 65 20 46 69 72 6D 77 61 72 65 2E 0D 0A 20 the Firmware...
0000B0: 20 20 20 20 20 20 31 2E 34 20 20 54 68 65 20 4A 1.4 The J
0000C0: 75 6D 70 62 6C 6F 63 6B 73 2E 0D 0A 20 20 20 20 umpblocks...
0000D0: 20 20 20 31 2E 35 20 20 43 6F 6E 76 65 6E 74 69 1.5 Conventi
0000E0: 6F 6E 73 2E 0D 0A 20 20 20 20 20 20 20 31 2E 36 ons... 1.6
0000F0: 20 20 52 6F 75 74 69 6E 65 20 44 6F 63 75 6D 65 Routine Docume
000100: 6E 74 61 74 69 6F 6E 2E 0D 0A 20 20 20 20 20 20 ntation...
000110: 20 31 2E 37 20 20 45 78 61 6D 70 6C 65 20 6F 66 1.7 Example of
000120: 20 50 61 74 63 68 69 6E 67 20 61 20 4A 75 6D 70 Patching a Jump
000130: 62 6C 6F 63 6B 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 block.........
000140: 20 20 20 20 20 32 20 52 4F 4D 73 2C 20 52 41 4D 2 ROMs, RAM
000150: 20 61 6E 64 20 74 68 65 20 52 65 73 74 61 72 74 and the Restart
000160: 20 49 6E 73 74 72 75 63 74 69 6F 6E 73 2E 0D 0A Instructions...
000170: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 32 2E 31 ...... 2.1
000180: 20 20 4D 65 6D 6F 72 79 20 4D 61 70 2E 0D 0A 20 Memory Map...
000190: 20 20 20 20 20 20 32 2E 32 20 20 52 4F 4D 20 53 2.2 ROM S
0001A0: 65 6C 65 63 74 69 6F 6E 2E 0D 0A 20 20 20 20 20 election...
0001B0: 20 20 32 2E 33 20 20 54 68 65 20 52 65 73 74 61 2.3 The Resta
0001C0: 72 74 20 49 6E 73 74 72 75 63 74 69 6F 6E 73 2E rt Instructions.
0001D0: 0D 0A 20 20 20 20 20 20 20 32 2E 34 20 20 52 41 .. 2.4 RA
0001E0: 4D 20 61 6E 64 20 74 68 65 20 46 69 72 6D 77 61 M and the Firmwa
0001F0: 72 65 2E 0D 0A 20 20 20 20 20 20 20 32 2E 35 20 re... 2.5
Size : 512 (Real : 512)
000000: 20 42 61 6E 6B 20 53 77 69 74 63 68 69 6E 67 2E Bank Switching.
000010: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 33 ........ 3
000020: 20 54 68 65 20 4B 65 79 62 6F 61 72 64 2E 0D 0A The Keyboard...
000030: 0D 0A 0D 0A 20 20 20 20 20 20 20 33 2E 31 20 20 .... 3.1
000040: 4B 65 79 62 6F 61 72 64 20 53 63 61 6E 6E 69 6E Keyboard Scannin
000050: 67 2E 0D 0A 20 20 20 20 20 20 20 33 2E 32 20 20 g... 3.2
000060: 4B 65 79 20 54 72 61 6E 73 6C 61 74 69 6F 6E 2E Key Translation.
000070: 0D 0A 20 20 20 20 20 20 20 33 2E 33 20 20 43 68 .. 3.3 Ch
000080: 61 72 61 63 74 65 72 73 20 66 72 6F 6D 20 74 68 aracters from th
000090: 65 20 4B 65 79 62 6F 61 72 64 2E 0D 0A 20 20 20 e Keyboard...
0000A0: 20 20 20 20 33 2E 34 20 20 53 68 69 66 74 20 61 3.4 Shift a
0000B0: 6E 64 20 43 61 70 73 20 4C 6F 63 6B 2E 0D 0A 20 nd Caps Lock...
0000C0: 20 20 20 20 20 20 33 2E 35 20 20 52 65 70 65 61 3.5 Repea
0000D0: 74 69 6E 67 20 4B 65 79 73 2E 0D 0A 20 20 20 20 ting Keys...
0000E0: 20 20 20 33 2E 36 20 20 42 72 65 61 6B 73 2E 0D 3.6 Breaks..
0000F0: 0A 20 20 20 20 20 20 20 33 2E 37 20 20 46 75 6E . 3.7 Fun
000100: 63 74 69 6F 6E 20 4B 65 79 73 20 61 6E 64 20 45 ction Keys and E
000110: 78 70 61 6E 73 69 6F 6E 20 54 6F 6B 65 6E 73 2E xpansion Tokens.
000120: 0D 0A 20 20 20 20 20 20 20 33 2E 38 20 20 4A 6F .. 3.8 Jo
000130: 79 73 74 69 63 6B 73 2E 0D 0A 0D 0A 0D 0A 0D 0A ysticks.........
000140: 20 20 20 20 20 20 20 34 20 54 68 65 20 54 65 78 4 The Tex
000150: 74 20 56 44 55 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 t VDU.......
000160: 20 20 20 34 2E 31 20 20 54 65 78 74 20 56 44 55 4.1 Text VDU
000170: 20 43 6F 6F 72 64 69 6E 61 74 65 20 53 79 73 74 Coordinate Syst
000180: 65 6D 73 2E 0D 0A 20 20 20 20 20 20 20 34 2E 32 ems... 4.2
000190: 20 20 53 74 72 65 61 6D 73 2E 0D 0A 20 20 20 20 Streams...
0001A0: 20 20 20 34 2E 33 20 20 54 65 78 74 20 50 65 6E 4.3 Text Pen
0001B0: 20 61 6E 64 20 50 61 70 65 72 20 49 6E 6B 73 2E and Paper Inks.
0001C0: 0D 0A 20 20 20 20 20 20 20 34 2E 34 20 20 54 65 .. 4.4 Te
0001D0: 78 74 20 57 69 6E 64 6F 77 73 2E 0D 0A 20 20 20 xt Windows...
0001E0: 20 20 20 20 34 2E 35 20 20 54 68 65 20 43 75 72 4.5 The Cur
0001F0: 72 65 6E 74 20 50 6F 73 69 74 69 6F 6E 20 61 6E rent Position an
Size : 512 (Real : 512)
000000: 64 20 74 68 65 20 43 75 72 73 6F 72 2E 0D 0A 20 d the Cursor...
000010: 20 20 20 20 20 20 34 2E 36 20 20 43 68 61 72 61 4.6 Chara
000020: 63 74 65 72 73 20 61 6E 64 20 4D 61 74 72 69 63 cters and Matric
000030: 65 73 2E 0D 0A 20 20 20 20 20 20 20 34 2E 37 20 es... 4.7
000040: 20 43 68 61 72 61 63 74 65 72 20 4F 75 74 70 75 Character Outpu
000050: 74 20 61 6E 64 20 43 6F 6E 74 72 6F 6C 20 43 6F t and Control Co
000060: 64 65 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 des.........
000070: 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 AMSTRAD CPC46
000080: 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 4/664/6128 FIRMW
000090: 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 ARE
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 C
0000B0: 6F 6E 74 65 6E 74 73 20 31 0D 0A 0D 0A 0D 0A 0D ontents 1.......
0000C0: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ....... Th
0000D0: 65 20 47 72 61 70 68 69 63 73 20 56 44 55 2E 0D e Graphics VDU..
0000E0: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 35 2E ....... 5.
0000F0: 31 20 20 47 72 61 70 68 69 63 73 20 56 44 55 20 1 Graphics VDU
000100: 43 6F 6F 72 64 69 6E 61 74 65 20 53 79 73 74 65 Coordinate Syste
000110: 6D 73 2E 0D 0A 20 20 20 20 20 20 20 35 2E 32 20 ms... 5.2
000120: 20 54 68 65 20 43 75 72 72 65 6E 74 20 47 72 61 The Current Gra
000130: 70 68 69 63 73 20 50 6F 73 69 74 69 6F 6E 2E 0D phics Position..
000140: 0A 20 20 20 20 20 20 20 35 2E 33 20 20 47 72 61 . 5.3 Gra
000150: 70 68 69 63 73 20 50 65 6E 20 61 6E 64 20 50 61 phics Pen and Pa
000160: 70 65 72 20 49 6E 6B 73 2E 0D 0A 20 20 20 20 20 per Inks...
000170: 20 20 35 2E 34 20 20 47 72 61 70 68 69 63 73 20 5.4 Graphics
000180: 57 72 69 74 65 20 4D 6F 64 65 2E 0D 0A 20 20 20 Write Mode...
000190: 20 20 20 20 35 2E 35 20 20 47 72 61 70 68 69 63 5.5 Graphic
0001A0: 73 20 57 69 6E 64 6F 77 2E 0D 0A 20 20 20 20 20 s Window...
0001B0: 20 20 35 2E 36 20 20 57 72 69 74 69 6E 67 20 43 5.6 Writing C
0001C0: 68 61 72 61 63 74 65 72 73 2E 0D 0A 20 20 20 20 haracters...
0001D0: 20 20 20 35 2E 37 20 20 44 72 61 77 69 6E 67 20 5.7 Drawing
0001E0: 4C 69 6E 65 73 2E 0D 0A 20 20 20 20 20 20 20 35 Lines... 5
0001F0: 2E 38 20 20 46 69 6C 6C 69 6E 67 20 41 72 65 61 .8 Filling Area
Size : 512 (Real : 512)
000000: 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 s.........
000010: 20 36 20 54 68 65 20 53 63 72 65 65 6E 2E 0D 0A 6 The Screen...
000020: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 36 2E 31 ...... 6.1
000030: 20 20 53 63 72 65 65 6E 20 4D 6F 64 65 73 2E 0D Screen Modes..
000040: 0A 20 20 20 20 20 20 20 36 2E 32 20 20 49 6E 6B . 6.2 Ink
000050: 73 20 61 6E 64 20 43 6F 6C 6F 75 72 73 2E 0D 0A s and Colours...
000060: 20 20 20 20 20 20 20 36 2E 33 20 20 53 63 72 65 6.3 Scre
000070: 65 6E 20 41 64 64 72 65 73 73 65 73 2E 0D 0A 20 en Addresses...
000080: 20 20 20 20 20 20 36 2E 34 20 20 53 63 72 65 65 6.4 Scree
000090: 6E 20 4D 65 6D 6F 72 79 20 4D 61 70 2E 0D 0A 0D n Memory Map....
0000A0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 37 20 54 68 ..... 7 Th
0000B0: 65 20 53 6F 75 6E 64 20 4D 61 6E 61 67 65 72 2E e Sound Manager.
0000C0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 37 ........ 7
0000D0: 2E 31 20 20 54 68 65 20 53 6F 75 6E 64 20 43 68 .1 The Sound Ch
0000E0: 69 70 2E 0D 0A 20 20 20 20 20 20 20 37 2E 32 20 ip... 7.2
0000F0: 20 54 6F 6E 65 20 50 65 72 69 6F 64 73 20 61 6E Tone Periods an
000100: 64 20 41 6D 70 6C 69 74 75 64 65 73 2E 0D 0A 20 d Amplitudes...
000110: 20 20 20 20 20 20 37 2E 33 20 20 45 6E 76 65 6C 7.3 Envel
000120: 6F 70 69 6E 67 2E 0D 0A 20 20 20 20 20 20 20 37 oping... 7
000130: 2E 34 20 20 53 6F 75 6E 64 20 43 6F 6D 6D 61 6E .4 Sound Comman
000140: 64 73 2E 0D 0A 20 20 20 20 20 20 20 37 2E 35 20 ds... 7.5
000150: 20 53 6F 75 6E 64 20 51 75 65 75 65 73 2E 0D 0A Sound Queues...
000160: 20 20 20 20 20 20 20 37 2E 36 20 20 53 79 6E 63 7.6 Sync
000170: 68 72 6F 6E 69 7A 61 74 69 6F 6E 2E 0D 0A 20 20 hronization...
000180: 20 20 20 20 20 37 2E 37 20 20 48 6F 6C 64 69 6E 7.7 Holdin
000190: 67 20 53 6F 75 6E 64 73 2E 0D 0A 0D 0A 0D 0A 0D g Sounds........
0001A0: 0A 20 20 20 20 20 20 20 38 20 54 68 65 20 43 61 . 8 The Ca
0001B0: 73 73 65 74 74 65 20 4D 61 6E 61 67 65 72 2E 0D ssette Manager..
0001C0: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 38 2E ....... 8.
0001D0: 31 20 20 46 69 6C 65 20 46 6F 72 6D 61 74 2E 0D 1 File Format..
0001E0: 0A 20 20 20 20 20 20 20 38 2E 32 20 20 52 65 63 . 8.2 Rec
0001F0: 6F 72 64 20 46 6F 72 6D 61 74 2E 0D 0A 20 20 20 ord Format...
Size : 512 (Real : 512)
000000: 20 20 20 20 38 2E 33 20 20 42 69 74 20 46 6F 72 8.3 Bit For
000010: 6D 61 74 2E 0D 0A 20 20 20 20 20 20 20 38 2E 34 mat... 8.4
000020: 20 20 54 68 65 20 48 65 61 64 65 72 20 52 65 63 The Header Rec
000030: 6F 72 64 2E 0D 0A 20 20 20 20 20 20 20 38 2E 35 ord... 8.5
000040: 20 20 52 65 61 64 20 61 6E 64 20 57 72 69 74 65 Read and Write
000050: 20 53 70 65 65 64 73 2E 0D 0A 20 20 20 20 20 20 Speeds...
000060: 20 38 2E 36 20 20 43 61 74 61 6C 6F 67 75 69 6E 8.6 Cataloguin
000070: 67 2E 0D 0A 20 20 20 20 20 20 20 38 2E 37 20 20 g... 8.7
000080: 52 65 61 64 69 6E 67 20 46 69 6C 65 73 2E 0D 0A Reading Files...
000090: 20 20 20 20 20 20 20 38 2E 38 20 20 57 72 69 74 8.8 Writ
0000A0: 69 6E 67 20 46 69 6C 65 73 2E 0D 0A 20 20 20 20 ing Files...
0000B0: 20 20 20 38 2E 39 20 20 52 65 61 64 69 6E 67 20 8.9 Reading
0000C0: 61 6E 64 20 57 72 69 74 69 6E 67 20 46 69 6C 65 and Writing File
0000D0: 73 20 53 69 6D 75 6C 74 61 6E 65 6F 75 73 6C 79 s Simultaneously
0000E0: 2E 0D 0A 20 20 20 20 20 20 20 38 2E 31 30 20 46 ... 8.10 F
0000F0: 69 6C 65 6E 61 6D 65 73 2E 0D 0A 20 20 20 20 20 ilenames...
000100: 20 20 38 2E 31 31 20 43 61 73 73 65 74 74 65 20 8.11 Cassette
000110: 4D 61 6E 61 67 65 72 20 4D 65 73 73 61 67 65 73 Manager Messages
000120: 2E 0D 0A 20 20 20 20 20 20 20 38 2E 31 32 20 45 ... 8.12 E
000130: 73 63 61 70 65 20 4B 65 79 0D 0A 20 20 20 20 20 scape Key..
000140: 20 20 38 2E 31 33 20 4C 6F 77 20 4C 65 76 65 6C 8.13 Low Level
000150: 20 43 61 73 73 65 74 74 65 20 44 72 69 76 69 6E Cassette Drivin
000160: 67 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 g....... 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 43 6F 6E 74 65 Conte
0001B0: 6E 74 73 20 32 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D nts 2...........
0001C0: 0A 0D 0A 20 20 20 20 20 20 20 39 20 41 4D 53 44 ... 9 AMSD
0001D0: 4F 53 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 OS........
0001E0: 20 39 2E 31 20 20 46 65 61 74 75 72 65 73 0D 0A 9.1 Features..
0001F0: 20 20 20 20 20 20 20 39 2E 32 20 20 46 69 6C 65 9.2 File
Size : 512 (Real : 512)
000000: 6E 61 6D 65 73 0D 0A 20 20 20 20 20 20 20 39 2E names.. 9.
000010: 33 20 20 46 69 6C 65 20 48 65 61 64 65 72 73 0D 3 File Headers.
000020: 0A 20 20 20 20 20 20 20 39 2E 34 20 20 44 69 73 . 9.4 Dis
000030: 63 20 4F 72 67 61 6E 69 73 61 74 69 6F 6E 0D 0A c Organisation..
000040: 20 20 20 20 20 20 20 39 2E 35 20 20 42 6F 6F 74 9.5 Boot
000050: 20 53 65 63 74 6F 72 0D 0A 20 20 20 20 20 20 20 Sector..
000060: 39 2E 36 20 20 41 4D 53 44 4F 53 20 4D 65 73 73 9.6 AMSDOS Mess
000070: 61 67 65 73 0D 0A 20 20 20 20 20 20 20 39 2E 37 ages.. 9.7
000080: 20 20 42 49 4F 53 20 46 61 63 69 6C 69 74 69 65 BIOS Facilitie
000090: 73 20 41 76 61 69 6C 61 62 6C 65 20 74 6F 20 41 s Available to A
0000A0: 4D 53 44 4F 53 0D 0A 20 20 20 20 20 20 20 39 2E MSDOS.. 9.
0000B0: 38 20 20 53 74 6F 72 65 20 72 65 71 75 69 72 65 8 Store require
0000C0: 6D 65 6E 74 73 0D 0A 20 20 20 20 20 20 20 39 2E ments.. 9.
0000D0: 39 20 20 45 78 74 65 6E 64 65 64 20 44 69 73 63 9 Extended Disc
0000E0: 20 50 61 72 61 6D 65 74 65 72 20 42 6C 6F 63 6B Parameter Block
0000F0: 73 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 s........
000100: 31 30 20 45 78 70 61 6E 73 69 6F 6E 20 52 4F 4D 10 Expansion ROM
000110: 73 2C 20 52 65 73 69 64 65 6E 74 20 53 79 73 74 s, Resident Syst
000120: 65 6D 20 45 78 74 65 6E 73 69 6F 6E 73 20 61 6E em Extensions an
000130: 64 20 52 41 4D 20 50 72 6F 67 72 61 6D 73 0D 0A d RAM Programs..
000140: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 30 2E ...... 10.
000150: 31 20 52 4F 4D 20 41 64 64 72 65 73 73 69 6E 67 1 ROM Addressing
000160: 2E 0D 0A 20 20 20 20 20 20 20 31 30 2E 32 20 54 ... 10.2 T
000170: 68 65 20 46 6F 72 6D 61 74 20 6F 66 20 61 6E 20 he Format of an
000180: 45 78 70 61 6E 73 69 6F 6E 20 52 4F 4D 2E 0D 0A Expansion ROM...
000190: 20 20 20 20 20 20 20 31 30 2E 33 20 46 6F 72 65 10.3 Fore
0001A0: 67 72 6F 75 6E 64 20 52 4F 4D 73 20 61 6E 64 20 ground ROMs and
0001B0: 52 41 4D 20 50 72 6F 67 72 61 6D 73 2E 0D 0A 20 RAM Programs...
0001C0: 20 20 20 20 20 20 31 30 2E 34 20 42 61 63 6B 67 10.4 Backg
0001D0: 72 6F 75 6E 64 20 52 4F 4D 73 2E 0D 0A 20 20 20 round ROMs...
0001E0: 20 20 20 20 31 30 2E 35 20 52 65 73 69 64 65 6E 10.5 Residen
0001F0: 74 20 53 79 73 74 65 6D 20 45 78 74 65 6E 73 69 t System Extensi
Size : 512 (Real : 512)
000000: 6F 6E 73 2E 0D 0A 20 20 20 20 20 20 20 31 30 2E ons... 10.
000010: 36 20 45 78 74 65 72 6E 61 6C 20 43 6F 6D 6D 61 6 External Comma
000020: 6E 64 73 2E 0D 0A 20 20 20 20 20 20 20 31 30 2E nds... 10.
000030: 37 20 45 78 61 6D 70 6C 65 73 2E 0D 0A 0D 0A 0D 7 Examples......
000040: 0A 0D 0A 20 20 20 20 20 20 20 31 31 20 49 6E 74 ... 11 Int
000050: 65 72 72 75 70 74 73 2E 0D 0A 0D 0A 0D 0A 0D 0A errupts.........
000060: 20 20 20 20 20 20 20 31 31 2E 31 20 54 68 65 20 11.1 The
000070: 54 69 6D 65 20 49 6E 74 65 72 72 75 70 74 2E 0D Time Interrupt..
000080: 0A 20 20 20 20 20 20 20 31 31 2E 32 20 45 78 74 . 11.2 Ext
000090: 65 72 6E 61 6C 20 49 6E 74 65 72 72 75 70 74 73 ernal Interrupts
0000A0: 2E 0D 0A 20 20 20 20 20 20 20 31 31 2E 33 20 4E ... 11.3 N
0000B0: 6F 6E 6D 61 73 6B 61 62 6C 65 20 49 6E 74 65 72 onmaskable Inter
0000C0: 72 75 70 74 73 2E 0D 0A 20 20 20 20 20 20 20 31 rupts... 1
0000D0: 31 2E 34 20 49 6E 74 65 72 72 75 70 74 73 20 61 1.4 Interrupts a
0000E0: 6E 64 20 45 76 65 6E 74 73 2E 0D 0A 20 20 20 20 nd Events...
0000F0: 20 20 20 31 31 2E 35 20 49 6E 74 65 72 72 75 70 11.5 Interrup
000100: 74 20 51 75 65 75 65 73 2E 0D 0A 0D 0A 0D 0A 0D t Queues........
000110: 0A 0D 0A 20 20 20 20 20 20 20 31 32 20 45 76 65 ... 12 Eve
000120: 6E 74 73 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 nts........
000130: 20 20 31 32 2E 31 20 45 76 65 6E 74 20 43 6C 61 12.1 Event Cla
000140: 73 73 2E 0D 0A 20 20 20 20 20 20 20 31 32 2E 32 ss... 12.2
000150: 20 45 76 65 6E 74 20 43 6F 75 6E 74 2E 0D 0A 20 Event Count...
000160: 20 20 20 20 20 20 31 32 2E 33 20 45 76 65 6E 74 12.3 Event
000170: 20 52 6F 75 74 69 6E 65 2E 0D 0A 20 20 20 20 20 Routine...
000180: 20 20 31 32 2E 34 20 44 69 73 61 72 6D 69 6E 67 12.4 Disarming
000190: 20 61 6E 64 20 52 65 69 6E 69 74 69 61 6C 69 7A and Reinitializ
0001A0: 69 6E 67 20 45 76 65 6E 74 73 2E 0D 0A 0D 0A 0D ing Events......
0001B0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
0001C0: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
0001D0: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
0001E0: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 43 6F 6E 74 65 6E 74 73 20 33 0D 0A 0D 0A 0D 0A Contents 3......
000010: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 ........ 1
000020: 33 20 54 68 65 20 4D 61 63 68 69 6E 65 20 50 61 3 The Machine Pa
000030: 63 6B 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ck.........
000040: 20 20 31 33 2E 31 20 48 61 72 64 77 61 72 65 20 13.1 Hardware
000050: 49 6E 74 65 72 66 61 63 65 73 2E 0D 0A 20 20 20 Interfaces...
000060: 20 20 20 20 31 33 2E 32 20 54 68 65 20 50 72 69 13.2 The Pri
000070: 6E 74 65 72 2E 0D 0A 20 20 20 20 20 20 20 31 33 nter... 13
000080: 2E 33 20 4C 6F 61 64 69 6E 67 20 61 6E 64 20 52 .3 Loading and R
000090: 75 6E 6E 69 6E 67 20 50 72 6F 67 72 61 6D 73 2E unning Programs.
0000A0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 ........ 1
0000B0: 34 20 46 69 72 6D 77 61 72 65 20 4A 75 6D 70 62 4 Firmware Jumpb
0000C0: 6C 6F 63 6B 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 locks.........
0000D0: 20 20 20 20 20 31 34 2E 31 20 54 68 65 20 4D 61 14.1 The Ma
0000E0: 69 6E 20 4A 75 6D 70 62 6C 6F 63 6B 2E 0D 0A 0D in Jumpblock....
0000F0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 31 34 2E 31 ..... 14.1
000100: 2E 31 20 20 45 6E 74 72 69 65 73 20 74 6F 20 74 .1 Entries to t
000110: 68 65 20 4B 65 79 20 4D 61 6E 61 67 65 72 2E 0D he Key Manager..
000120: 0A 20 20 20 20 20 20 20 31 34 2E 31 2E 32 20 20 . 14.1.2
000130: 45 6E 74 72 69 65 73 20 74 6F 20 74 68 65 20 54 Entries to the T
000140: 65 78 74 20 56 44 55 2E 0D 0A 20 20 20 20 20 20 ext VDU...
000150: 20 31 34 2E 31 2E 33 20 20 45 6E 74 72 69 65 73 14.1.3 Entries
000160: 20 74 6F 20 74 68 65 20 47 72 61 70 68 69 63 73 to the Graphics
000170: 20 56 44 55 2E 0D 0A 20 20 20 20 20 20 20 31 34 VDU... 14
000180: 2E 31 2E 34 20 20 45 6E 74 72 69 65 73 20 74 6F .1.4 Entries to
000190: 20 74 68 65 20 53 63 72 65 65 6E 20 50 61 63 6B the Screen Pack
0001A0: 2E 0D 0A 20 20 20 20 20 20 20 31 34 2E 31 2E 35 ... 14.1.5
0001B0: 20 20 45 6E 74 72 69 65 73 20 74 6F 20 74 68 65 Entries to the
0001C0: 20 43 61 73 73 65 74 74 65 20 4D 61 6E 61 67 65 Cassette Manage
0001D0: 72 2E 0D 0A 20 20 20 20 20 20 20 31 34 2E 31 2E r... 14.1.
0001E0: 36 20 20 45 6E 74 72 69 65 73 20 74 6F 20 74 68 6 Entries to th
0001F0: 65 20 53 6F 75 6E 64 20 4D 61 6E 61 67 65 72 2E e Sound Manager.
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 31 34 2E 31 2E 37 20 .. 14.1.7
000010: 20 45 6E 74 72 69 65 73 20 74 6F 20 74 68 65 20 Entries to the
000020: 4B 65 72 6E 65 6C 2E 0D 0A 20 20 20 20 20 20 20 Kernel...
000030: 31 34 2E 31 2E 38 20 20 45 6E 74 72 69 65 73 20 14.1.8 Entries
000040: 74 6F 20 74 68 65 20 4D 61 63 68 69 6E 65 20 50 to the Machine P
000050: 61 63 6B 2E 0D 0A 20 20 20 20 20 20 20 31 34 2E ack... 14.
000060: 31 2E 39 20 20 45 6E 74 72 69 65 73 20 74 6F 20 1.9 Entries to
000070: 74 68 65 20 4A 75 6D 70 65 72 2E 0D 0A 20 20 20 the Jumper...
000080: 20 20 20 20 31 34 2E 31 2E 31 30 20 46 75 72 74 14.1.10 Furt
000090: 68 65 72 20 45 6E 74 72 69 65 73 2E 0D 0A 0D 0A her Entries.....
0000A0: 0D 0A 0D 0A 20 20 20 20 20 20 20 31 34 2E 32 20 .... 14.2
0000B0: 46 69 72 6D 77 61 72 65 20 49 6E 64 69 72 65 63 Firmware Indirec
0000C0: 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 tions.......
0000D0: 20 20 20 31 34 2E 32 2E 31 20 20 54 65 78 74 20 14.2.1 Text
0000E0: 56 44 55 20 49 6E 64 69 72 65 63 74 69 6F 6E 73 VDU Indirections
0000F0: 2E 0D 0A 20 20 20 20 20 20 20 31 34 2E 32 2E 32 ... 14.2.2
000100: 20 20 47 72 61 70 68 69 63 73 20 56 44 55 20 49 Graphics VDU I
000110: 6E 64 69 72 65 63 74 69 6F 6E 73 2E 0D 0A 20 20 ndirections...
000120: 20 20 20 20 20 31 34 2E 32 2E 33 20 20 53 63 72 14.2.3 Scr
000130: 65 65 6E 20 50 61 63 6B 20 49 6E 64 69 72 65 63 een Pack Indirec
000140: 74 69 6F 6E 73 2E 0D 0A 20 20 20 20 20 20 20 31 tions... 1
000150: 34 2E 32 2E 34 20 20 4B 65 79 62 6F 61 72 64 20 4.2.4 Keyboard
000160: 4D 61 6E 61 67 65 72 20 49 6E 64 69 72 65 63 74 Manager Indirect
000170: 69 6F 6E 73 2E 0D 0A 20 20 20 20 20 20 20 31 34 ions... 14
000180: 2E 32 2E 35 20 20 4D 61 63 68 69 6E 65 20 50 61 .2.5 Machine Pa
000190: 63 6B 20 49 6E 64 69 72 65 63 74 69 6F 6E 73 2E ck Indirections.
0001A0: 0D 0A 20 20 20 20 20 20 20 31 34 2E 32 2E 36 20 .. 14.2.6
0001B0: 20 46 75 72 74 68 65 72 20 49 6E 64 69 72 65 63 Further Indirec
0001C0: 74 69 6F 6E 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 tions.......
0001D0: 20 20 20 31 34 2E 33 20 54 68 65 20 48 69 67 68 14.3 The High
0001E0: 20 4B 65 72 6E 65 6C 20 4A 75 6D 70 62 6C 6F 63 Kernel Jumpbloc
0001F0: 6B 2E 0D 0A 20 20 20 20 20 20 20 31 34 2E 34 20 k... 14.4
Size : 512 (Real : 512)
000000: 54 68 65 20 4C 6F 77 65 72 20 4B 65 72 6E 65 6C The Lower Kernel
000010: 20 4A 75 6D 70 62 6C 6F 63 6B 2E 0D 0A 0D 0A 0D Jumpblock......
000020: 0A 20 20 20 20 20 20 20 31 35 20 54 68 65 20 4D . 15 The M
000030: 61 69 6E 20 46 69 72 6D 77 61 72 65 20 4A 75 6D ain Firmware Jum
000040: 70 62 6C 6F 63 6B 2E 0D 0A 0D 0A 20 20 20 20 20 pblock.....
000050: 20 20 31 36 20 54 68 65 20 46 69 72 6D 77 61 72 16 The Firmwar
000060: 65 20 49 6E 64 69 72 65 63 74 69 6F 6E 73 2E 0D e Indirections..
000070: 0A 0D 0A 20 20 20 20 20 20 20 31 37 20 4B 65 72 ... 17 Ker
000080: 6E 65 6C 20 48 69 67 68 20 45 6E 74 72 69 65 73 nel High Entries
000090: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 31 38 20 4C ..... 18 L
0000A0: 6F 77 20 45 6E 74 72 69 65 73 20 74 6F 20 74 68 ow Entries to th
0000B0: 65 20 4B 65 72 6E 65 6C 2E 0D 0A 0D 0A 20 20 20 e Kernel.....
0000C0: 20 20 20 20 31 39 20 41 4D 53 44 4F 53 20 27 42 19 AMSDOS 'B
0000D0: 49 4F 53 27 20 46 61 63 69 6C 69 74 69 65 73 0D IOS' Facilities.
0000E0: 0A 0D 0A 20 20 20 20 20 20 20 32 30 20 41 4D 53 ... 20 AMS
0000F0: 44 4F 53 20 45 78 74 65 72 6E 61 6C 20 43 6F 6D DOS External Com
000100: 6D 61 6E 64 73 0D 0A 0D 0A 0D 0A 20 20 20 20 20 mands......
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 20 43 6F Co
000150: 6E 74 65 6E 74 73 20 34 0D 0A 0D 0A 0D 0A 0D 0A ntents 4........
000160: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 70 70 ...... App
000170: 65 6E 64 69 63 65 73 0D 0A 0D 0A 0D 0A 20 20 20 endices......
000180: 20 20 20 20 49 20 20 20 20 20 20 20 20 4B 65 79 I Key
000190: 20 4E 75 6D 62 65 72 69 6E 67 2E 0D 0A 0D 0A 0D Numbering......
0001A0: 0A 20 20 20 20 20 20 20 49 49 20 20 20 20 20 20 . II
0001B0: 20 4B 65 79 20 54 72 61 6E 73 6C 61 74 69 6F 6E Key Translation
0001C0: 20 54 61 62 6C 65 73 2E 0D 0A 0D 0A 0D 0A 20 20 Tables.......
0001D0: 20 20 20 20 20 49 49 49 20 20 20 20 20 20 52 65 III Re
0001E0: 70 65 61 74 69 6E 67 20 4B 65 79 73 2E 0D 0A 0D peating Keys....
0001F0: 0A 0D 0A 20 20 20 20 20 20 20 49 56 20 20 20 20 ... IV
Size : 512 (Real : 512)
000000: 20 20 20 46 75 6E 63 74 69 6F 6E 20 4B 65 79 73 Function Keys
000010: 20 61 6E 64 20 45 78 70 61 6E 73 69 6F 6E 20 53 and Expansion S
000020: 74 72 69 6E 67 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 trings.......
000030: 20 20 20 20 56 20 20 20 20 20 20 20 20 49 6E 6B V Ink
000040: 73 20 61 6E 64 20 43 6F 6C 6F 75 72 73 2E 0D 0A s and Colours...
000050: 0D 0A 0D 0A 20 20 20 20 20 20 20 56 49 20 20 20 .... VI
000060: 20 20 20 20 44 69 73 70 6C 61 79 65 64 20 43 68 Displayed Ch
000070: 61 72 61 63 74 65 72 20 53 65 74 2E 0D 0A 0D 0A aracter Set.....
000080: 0D 0A 20 20 20 20 20 20 20 56 49 49 20 20 20 20 .. VII
000090: 20 20 54 65 78 74 20 56 44 55 20 43 6F 6E 74 72 Text VDU Contr
0000A0: 6F 6C 20 43 6F 64 65 73 2E 0D 0A 0D 0A 0D 0A 20 ol Codes.......
0000B0: 20 20 20 20 20 20 56 49 49 49 20 20 20 20 20 4E VIII N
0000C0: 6F 74 65 73 20 61 6E 64 20 54 6F 6E 65 20 50 65 otes and Tone Pe
0000D0: 72 69 6F 64 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 riods.......
0000E0: 20 20 20 49 58 20 20 20 20 20 20 20 54 68 65 20 IX The
0000F0: 50 72 6F 67 72 61 6D 6D 61 62 6C 65 20 53 6F 75 Programmable Sou
000100: 6E 64 20 47 65 6E 65 72 61 74 6F 72 2E 0D 0A 0D nd Generator....
000110: 0A 0D 0A 20 20 20 20 20 20 20 58 20 20 20 20 20 ... X
000120: 20 20 20 4B 65 72 6E 65 6C 20 42 6C 6F 63 6B 20 Kernel Block
000130: 4C 61 79 6F 75 74 73 2E 0D 0A 0D 0A 0D 0A 20 20 Layouts.......
000140: 20 20 20 20 20 58 49 20 20 20 20 20 20 20 54 68 XI Th
000150: 65 20 41 6C 74 65 72 6E 61 74 65 20 52 65 67 69 e Alternate Regi
000160: 73 74 65 72 20 53 65 74 2E 0D 0A 0D 0A 0D 0A 20 ster Set.......
000170: 20 20 20 20 20 20 58 49 49 20 20 20 20 20 20 48 XII H
000180: 61 72 64 77 61 72 65 20 61 6E 64 20 48 61 72 64 ardware and Hard
000190: 77 61 72 65 20 56 61 72 69 61 6E 74 73 0D 0A 0D ware Variants...
0001A0: 0A 0D 0A 20 20 20 20 20 20 20 58 49 49 49 20 20 ... XIII
0001B0: 20 20 20 48 69 6E 74 73 2C 20 54 69 70 73 20 61 Hints, Tips a
0001C0: 6E 64 20 57 6F 72 6B 61 72 6F 75 6E 64 73 2E 0D nd Workarounds..
0001D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 58 49 56 20 ..... XIV
0001E0: 20 20 20 20 20 50 72 69 6E 74 65 72 20 54 72 61 Printer Tra
0001F0: 6E 73 6C 61 74 69 6F 6E 20 54 61 62 6C 65 2E 0D nslation Table..
Size : 512 (Real : 512)
000000: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000010: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000020: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
000030: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000040: 46 49 52 4D 57 41 52 45 20 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 43 6F 6E 74 65 6E 74 73 20 35 0D 0A Contents 5..
000070: 1A 20 6F 66 20 74 68 65 20 46 69 72 6D 77 61 72 . of the Firmwar
000080: 0D 0A 20 20 20 20 20 20 20 56 49 49 20 20 20 20 .. VII
000090: 20 20 54 65 78 74 20 56 44 55 20 43 6F 6E 74 72 Text VDU Contr
0000A0: 6F 6C 20 43 6F 64 65 73 2E 0D 0A 0D 0A 0D 0A 20 ol Codes.......
0000B0: 20 20 20 20 20 20 56 49 49 49 20 20 20 20 20 4E VIII N
0000C0: 6F 74 65 73 20 61 6E 64 20 54 6F 6E 65 20 50 65 otes and Tone Pe
0000D0: 72 69 6F 64 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 riods.......
0000E0: 20 20 20 49 58 20 20 20 20 20 20 20 54 68 65 20 IX The
0000F0: 50 72 6F 67 72 61 6D 6D 61 62 6C 65 20 53 6F 75 Programmable Sou
000100: 6E 64 20 47 65 6E 65 72 61 74 6F 72 2E 0D 0A 0D nd Generator....
000110: 0A 0D 0A 20 20 20 20 20 20 20 58 20 20 20 20 20 ... X
000120: 20 20 20 4B 65 72 6E 65 6C 20 42 6C 6F 63 6B 20 Kernel Block
000130: 4C 61 79 6F 75 74 73 2E 0D 0A 0D 0A 0D 0A 20 20 Layouts.......
000140: 20 20 20 20 20 58 49 20 20 20 20 20 20 20 54 68 XI Th
000150: 65 20 41 6C 74 65 72 6E 61 74 65 20 52 65 67 69 e Alternate Regi
000160: 73 74 65 72 20 53 65 74 2E 0D 0A 0D 0A 0D 0A 20 ster Set.......
000170: 20 20 20 20 20 20 58 49 49 20 20 20 20 20 20 48 XII H
000180: 61 72 64 77 61 72 65 20 61 6E 64 20 48 61 72 64 ardware and Hard
000190: 77 61 72 65 20 56 61 72 69 61 6E 74 73 0D 0A 0D ware Variants...
0001A0: 0A 0D 0A 20 20 20 20 20 20 20 58 49 49 49 20 20 ... XIII
0001B0: 20 20 20 48 69 6E 74 73 2C 20 54 69 70 73 20 61 Hints, Tips a
0001C0: 6E 64 20 57 6F 72 6B 61 72 6F 75 6E 64 73 2E 0D nd Workarounds..
0001D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 58 49 56 20 ..... XIV
0001E0: 20 20 20 20 20 50 72 69 6E 74 65 72 20 54 72 61 Printer Tra
0001F0: 6E 73 6C 61 74 69 6F 6E 20 54 61 62 6C 65 2E 0D nslation Table..
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 32 ........ 2
000010: 20 52 4F 4D 73 2C 20 52 41 4D 20 61 6E 64 20 74 ROMs, RAM and t
000020: 68 65 20 52 65 73 74 61 72 74 20 49 6E 73 74 72 he Restart Instr
000030: 75 63 74 69 6F 6E 73 0D 0A 0D 0A 0D 0A 20 20 20 uctions......
000040: 20 20 20 20 54 68 65 20 73 79 73 74 65 6D 20 68 The system h
000050: 61 73 20 33 32 4B 20 6F 66 20 52 4F 4D 20 61 6E as 32K of ROM an
000060: 64 20 36 34 4B 20 6F 66 20 52 41 4D 20 20 69 6E d 64K of RAM in
000070: 20 20 74 68 65 20 20 5A 38 30 27 73 20 20 36 34 the Z80's 64
000080: 4B 20 20 61 64 64 72 65 73 73 0D 0A 20 20 20 20 K address..
000090: 20 20 20 73 70 61 63 65 2E 20 54 6F 20 61 6C 6C space. To all
0000A0: 6F 77 20 74 68 69 73 20 74 68 65 20 52 4F 4D 20 ow this the ROM
0000B0: 63 61 6E 20 62 65 20 65 6E 61 62 6C 65 64 20 6F can be enabled o
0000C0: 72 20 64 69 73 61 62 6C 65 64 20 20 61 73 20 20 r disabled as
0000D0: 72 65 71 75 69 72 65 64 2E 0D 0A 20 20 20 20 20 required...
0000E0: 20 20 41 64 64 69 74 69 6F 6E 61 6C 20 45 78 70 Additional Exp
0000F0: 61 6E 73 69 6F 6E 20 52 4F 4D 73 20 63 61 6E 20 ansion ROMs can
000100: 20 62 65 20 20 73 65 6C 65 63 74 65 64 20 20 67 be selected g
000110: 69 76 69 6E 67 20 20 75 70 20 20 74 6F 20 20 34 iving up to 4
000120: 31 32 38 4B 20 20 6F 66 0D 0A 20 20 20 20 20 20 128K of..
000130: 20 70 72 6F 67 72 61 6D 20 61 72 65 61 2E 0D 0A program area...
000140: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6C 6C 20 74 .... All t
000150: 68 65 20 5A 38 30 20 72 65 73 74 61 72 74 20 69 he Z80 restart i
000160: 6E 73 74 72 75 63 74 69 6F 6E 73 2C 20 65 78 63 nstructions, exc
000170: 65 70 74 20 66 6F 72 20 6F 6E 65 2C 20 68 61 76 ept for one, hav
000180: 65 20 20 62 65 65 6E 20 20 72 65 73 65 72 76 65 e been reserve
000190: 64 0D 0A 20 20 20 20 20 20 20 66 6F 72 20 73 79 d.. for sy
0001A0: 73 74 65 6D 20 75 73 65 2E 20 52 53 54 20 31 20 stem use. RST 1
0001B0: 74 6F 20 52 53 54 20 35 20 61 72 65 20 75 73 65 to RST 5 are use
0001C0: 64 20 74 6F 20 65 78 74 65 6E 64 20 74 68 65 20 d to extend the
0001D0: 69 6E 73 74 72 75 63 74 69 6F 6E 20 20 73 65 74 instruction set
0001E0: 0D 0A 20 20 20 20 20 20 20 62 79 20 69 6D 70 6C .. by impl
0001F0: 65 6D 65 6E 74 69 6E 67 20 73 70 65 63 69 61 6C ementing special
Size : 512 (Real : 512)
000000: 20 63 61 6C 6C 20 61 6E 64 20 6A 75 6D 70 20 20 call and jump
000010: 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 74 68 instructions th
000020: 61 74 20 20 65 6E 61 62 6C 65 20 20 61 6E 64 0D at enable and.
000030: 0A 20 20 20 20 20 20 20 64 69 73 61 62 6C 65 20 . disable
000040: 52 4F 4D 73 2E 20 52 53 54 20 36 20 69 73 20 61 ROMs. RST 6 is a
000050: 76 61 69 6C 61 62 6C 65 20 74 6F 20 74 68 65 20 vailable to the
000060: 75 73 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 user.....
000070: 32 2E 31 20 4D 65 6D 6F 72 79 20 4D 61 70 2E 0D 2.1 Memory Map..
000080: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
000090: 6D 65 6D 6F 72 79 20 6D 61 70 20 69 73 20 63 6F memory map is co
0000A0: 6D 70 6C 69 63 61 74 65 64 20 62 79 20 74 68 65 mplicated by the
0000B0: 20 66 61 63 74 20 74 68 61 74 20 69 6E 74 6F 20 fact that into
0000C0: 74 68 65 20 5A 38 30 27 73 20 20 61 64 64 72 65 the Z80's addre
0000D0: 73 73 0D 0A 20 20 20 20 20 20 20 73 70 61 63 65 ss.. space
0000E0: 20 6F 66 20 36 34 4B 20 62 79 74 65 73 20 68 61 of 64K bytes ha
0000F0: 73 20 62 65 65 6E 20 73 71 75 65 65 7A 65 64 20 s been squeezed
000100: 36 34 4B 20 62 79 74 65 73 20 6F 66 20 52 41 4D 64K bytes of RAM
000110: 2C 20 20 33 32 4B 20 20 62 79 74 65 73 20 20 6F , 32K bytes o
000120: 66 0D 0A 20 20 20 20 20 20 20 52 4F 4D 20 61 6E f.. ROM an
000130: 64 20 70 72 6F 76 69 73 69 6F 6E 20 66 6F 72 20 d provision for
000140: 52 4F 4D 20 65 78 70 61 6E 73 69 6F 6E 20 20 6F ROM expansion o
000150: 66 20 20 75 70 20 20 74 6F 20 20 32 35 32 2A 31 f up to 252*1
000160: 36 4B 20 20 28 6E 65 61 72 6C 79 20 20 34 4D 29 6K (nearly 4M)
000170: 0D 0A 20 20 20 20 20 20 20 62 79 74 65 73 2E 20 .. bytes.
000180: 54 68 65 20 61 64 64 72 65 73 73 20 73 70 61 63 The address spac
000190: 65 20 69 73 20 64 69 76 69 64 65 64 20 61 73 20 e is divided as
0001A0: 66 6F 6C 6C 6F 77 73 3A 0D 0A 0D 0A 0D 0A 20 20 follows:......
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 64 Ad
0001C0: 64 72 65 73 73 20 20 20 20 20 20 20 20 20 20 52 dress R
0001D0: 41 4D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 AM
0001E0: 20 20 20 20 20 20 20 20 20 52 4F 4D 0D 0A 20 20 ROM..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 31 #1
Size : 512 (Real : 512)
000000: 30 30 30 30 20 20 20 5F 5F 5F 5F 5F 5F 5F 5F 5F 0000 _________
000010: 5F 5F 5F 5F 5F 5F 5F 5F 20 20 20 20 23 31 30 30 ________ #100
000020: 30 30 20 20 20 20 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 00 __________
000030: 5F 5F 5F 5F 5F 5F 5F 0D 0A 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 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000060: 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 |
000070: 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000080: 20 20 7C 0D 0A 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 7C 20 20 |
0000A0: 44 65 66 61 75 6C 74 20 53 63 72 65 65 6E 20 7C Default Screen |
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 |
0000C0: 55 70 70 65 72 20 52 4F 4D 73 20 20 20 20 7C 0D Upper ROMs |.
0000D0: 0A 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 7C 20 20 20 20 20 4D | M
0000F0: 65 6D 6F 72 79 20 20 20 20 20 20 7C 20 20 20 20 emory |
000100: 20 20 20 20 20 20 20 20 7C 20 20 28 62 61 6E 6B | (bank
000110: 20 73 77 69 74 63 68 65 64 29 7C 0D 0A 20 20 20 switched)|..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 23 43 30 #C0
000130: 30 30 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 00 |__________
000140: 5F 5F 5F 5F 5F 5F 5F 7C 20 20 20 23 43 30 30 30 _______| #C000
000150: 20 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F |___________
000160: 5F 5F 5F 5F 5F 5F 7C 0D 0A 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 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000190: 20 20 20 7C 0D 0A 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 7C 20 |
0001B0: 53 74 61 63 6B 2C 20 46 69 72 6D 77 61 72 65 20 Stack, Firmware
0001C0: 7C 0D 0A 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 7C 44 61 74 61 |Data
0001E0: 20 26 20 4A 75 6D 70 62 6C 6F 63 6B 20 7C 0D 0A & Jumpblock |..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 23 42 31 30 30 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F #B100 |_______
000010: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 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 7C 20 20 20 20 20 20 20 20 20 20 |
000040: 20 20 20 20 20 20 20 7C 0D 0A 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 7C 20 46 6F 72 65 67 72 6F 75 6E 64 20 44 | Foreground D
000070: 61 74 61 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 ata |..
000080: 20 20 20 20 20 20 20 23 41 43 30 30 20 20 20 7C #AC00 |
000090: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0000A0: 5F 7C 0D 0A 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 7C 20 20 20 |
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D |.
0000D0: 0A 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 7C 2D 2D 2D 2D 2D 2D |------
0000F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 0D 0A 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 7C 20 42 61 63 6B 67 72 6F 75 | Backgrou
000120: 6E 64 20 44 61 74 61 20 7C 20 7D 20 23 35 30 34 nd Data | } #504
000130: 20 62 79 74 65 73 20 66 6F 72 20 41 4D 53 44 4F bytes for AMSDO
000140: 53 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 S..
000150: 20 20 20 20 20 20 20 20 20 20 20 7C 2D 2D 2D 2D |----
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 0D 0A -------------|..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 23 3F 3F 3F 3F 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F #???? |_______
000190: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 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 7C 20 20 20 20 20 20 20 20 20 20 |
0001C0: 20 20 20 20 20 20 20 7C 0D 0A 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 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 |
0001F0: 20 20 20 20 7C 0D 0A 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 7C |
000010: 20 20 4D 65 6D 6F 72 79 20 50 6F 6F 6C 20 20 20 Memory Pool
000020: 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 |..
000030: 20 20 20 20 23 3F 3F 3F 3F 20 20 20 7C 5F 5F 5F #???? |___
000040: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 20 ______________|
000050: 20 20 23 34 30 30 30 20 20 20 20 5F 5F 5F 5F 5F #4000 _____
000060: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 0D 0A 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 7C 20 20 20 20 20 20 20 20 |
000090: 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 |
0000A0: 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 |
0000B0: 20 20 20 20 20 20 20 20 7C 0D 0A 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 7C 20 42 61 63 6B 67 72 6F 75 6E 64 20 | Background
0000E0: 44 61 74 61 20 7C 20 20 20 20 20 20 20 20 20 20 Data |
0000F0: 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000100: 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 |..
000110: 20 20 20 20 20 20 20 23 3F 3F 3F 3F 20 20 20 7C #???? |
000120: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000130: 5F 7C 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 _| |
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 7C 0D 0A 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 7C 20 20 20 20 |
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 |
000180: 20 20 20 20 20 20 20 20 20 7C 20 20 4C 6F 77 65 | Lowe
000190: 72 20 52 4F 4D 20 20 20 20 20 20 20 7C 0D 0A 20 r ROM |..
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 7C 20 46 6F 72 65 67 72 6F | Foregro
0001C0: 75 6E 64 20 44 61 74 61 20 7C 20 20 20 20 20 20 und Data |
0001D0: 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 |
0001E0: 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 |..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 23 30 30 34 30 #0040
Size : 512 (Real : 512)
000000: 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F |____________
000010: 5F 5F 5F 5F 5F 7C 20 20 20 20 20 20 20 20 20 20 _____|
000020: 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000030: 20 20 20 20 7C 0D 0A 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 7C |
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 7C 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 | |
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 7C 0D 0A 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 7C 20 20 46 69 | Fi
0000A0: 72 6D 77 61 72 65 20 41 72 65 61 20 20 7C 20 20 rmware Area |
0000B0: 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 |
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 |..
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 #
0000E0: 30 30 30 30 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 0000 |________
0000F0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 20 20 20 23 30 30 _________| #00
000100: 30 30 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 00 |__________
000110: 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 0D 0A 0D 0A 0D ________|.......
000120: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
000130: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000140: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 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 32 2E 31 0D 0A page 2.1..
000170: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000180: 20 20 20 54 68 65 20 73 69 7A 65 20 6F 66 20 74 The size of t
000190: 68 65 20 74 77 6F 20 62 61 63 6B 67 72 6F 75 6E he two backgroun
0001A0: 64 20 61 72 65 61 73 20 64 65 70 65 6E 64 20 20 d areas depend
0001B0: 6F 6E 20 20 74 68 65 20 20 62 61 63 6B 67 72 6F on the backgro
0001C0: 75 6E 64 20 20 52 4F 4D 73 0D 0A 20 20 20 20 20 und ROMs..
0001D0: 20 20 66 69 74 74 65 64 20 74 6F 20 74 68 65 20 fitted to the
0001E0: 6D 61 63 68 69 6E 65 20 28 73 65 65 20 73 65 63 machine (see sec
0001F0: 74 69 6F 6E 20 39 29 2E 0D 0A 0D 0A 20 20 20 20 tion 9).....
Size : 512 (Real : 512)
000000: 20 20 20 54 68 65 20 75 70 70 65 72 20 66 6F 72 The upper for
000010: 65 67 72 6F 75 6E 64 20 64 61 74 61 20 61 72 65 eground data are
000020: 61 20 6E 65 65 64 20 6E 6F 74 20 68 61 76 65 20 a need not have
000030: 69 74 73 20 6C 6F 77 65 72 20 62 6F 75 6E 64 20 its lower bound
000040: 61 74 20 20 23 41 43 30 30 0D 0A 20 20 20 20 20 at #AC00..
000050: 20 20 62 75 74 20 74 68 69 73 20 69 73 20 20 74 but this is t
000060: 68 65 20 20 64 65 66 61 75 6C 74 20 20 73 65 74 he default set
000070: 74 69 6E 67 20 20 28 61 73 20 20 75 73 65 64 20 ting (as used
000080: 20 62 79 20 20 42 41 53 49 43 29 2E 20 20 54 68 by BASIC). Th
000090: 65 20 20 6C 6F 77 65 72 0D 0A 20 20 20 20 20 20 e lower..
0000A0: 20 66 6F 72 65 67 72 6F 75 6E 64 20 64 61 74 61 foreground data
0000B0: 20 61 72 65 61 20 6E 65 65 64 20 6F 6E 6C 79 20 area need only
0000C0: 62 65 20 72 65 73 65 72 76 65 64 20 69 66 20 69 be reserved if i
0000D0: 74 20 69 73 20 6E 65 65 64 65 64 20 28 74 68 69 t is needed (thi
0000E0: 73 20 20 61 72 65 61 0D 0A 20 20 20 20 20 20 20 s area..
0000F0: 69 73 20 6E 6F 74 20 75 73 65 64 20 62 79 20 42 is not used by B
000100: 41 53 49 43 20 61 6E 64 20 69 73 20 73 65 74 20 ASIC and is set
000110: 74 6F 20 7A 65 72 6F 20 6C 65 6E 67 74 68 29 2E to zero length).
000120: 20 54 68 65 20 6D 65 6D 6F 72 79 20 70 6F 6F 6C The memory pool
000130: 20 20 6C 65 66 74 0D 0A 20 20 20 20 20 20 20 62 left.. b
000140: 65 74 77 65 65 6E 20 74 68 65 20 62 61 63 6B 67 etween the backg
000150: 72 6F 75 6E 64 20 64 61 74 61 20 61 72 65 61 73 round data areas
000160: 20 69 73 20 61 6C 73 6F 20 66 6F 72 20 74 68 65 is also for the
000170: 20 20 66 6F 72 65 67 72 6F 75 6E 64 20 20 70 72 foreground pr
000180: 6F 67 72 61 6D 0D 0A 20 20 20 20 20 20 20 74 6F ogram.. to
000190: 20 75 73 65 20 28 73 65 65 20 73 65 63 74 69 6F use (see sectio
0001A0: 6E 20 39 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 n 9).....
0001B0: 54 68 65 20 33 32 4B 20 6F 66 20 6F 6E 2D 62 6F The 32K of on-bo
0001C0: 61 72 64 20 52 4F 4D 20 69 73 20 73 70 6C 69 74 ard ROM is split
0001D0: 20 69 6E 74 6F 20 74 77 6F 20 73 65 63 74 69 6F into two sectio
0001E0: 6E 73 20 77 68 69 63 68 20 20 61 72 65 20 20 68 ns which are h
0001F0: 61 6E 64 6C 65 64 0D 0A 20 20 20 20 20 20 20 73 andled.. s
Size : 512 (Real : 512)
000000: 65 70 61 72 61 74 65 6C 79 2E 20 48 65 6E 63 65 eparately. Hence
000010: 66 6F 72 74 68 20 20 74 68 65 73 65 20 20 77 69 forth these wi
000020: 6C 6C 20 20 62 65 20 20 64 69 73 63 75 73 73 65 ll be discusse
000030: 64 20 20 61 73 20 20 69 66 20 20 74 68 65 79 20 d as if they
000040: 20 77 65 72 65 0D 0A 20 20 20 20 20 20 20 73 65 were.. se
000050: 70 61 72 61 74 65 20 52 4F 4D 73 2E 20 54 68 65 parate ROMs. The
000060: 20 66 69 72 6D 77 61 72 65 20 20 72 65 73 69 64 firmware resid
000070: 65 73 20 20 69 6E 20 20 74 68 65 20 20 6C 6F 77 es in the low
000080: 65 72 20 20 52 4F 4D 2E 20 20 54 68 65 20 20 42 er ROM. The B
000090: 41 53 49 43 0D 0A 20 20 20 20 20 20 20 72 65 73 ASIC.. res
0000A0: 69 64 65 73 20 69 6E 20 74 68 65 20 75 70 70 65 ides in the uppe
0000B0: 72 20 52 4F 4D 2E 20 54 68 69 73 20 75 70 70 65 r ROM. This uppe
0000C0: 72 20 52 4F 4D 20 69 73 20 62 61 6E 6B 20 73 77 r ROM is bank sw
0000D0: 69 74 63 68 65 64 20 73 6F 20 20 74 68 61 74 20 itched so that
0000E0: 20 75 70 0D 0A 20 20 20 20 20 20 20 74 6F 20 32 up.. to 2
0000F0: 35 32 20 65 78 70 61 6E 73 69 6F 6E 20 52 4F 4D 52 expansion ROM
000100: 73 20 28 73 65 65 20 73 65 63 74 69 6F 6E 20 39 s (see section 9
000110: 29 20 63 61 6E 20 72 65 70 6C 61 63 65 20 20 69 ) can replace i
000120: 74 20 20 69 6E 20 20 74 68 65 20 20 6D 65 6D 6F t in the memo
000130: 72 79 0D 0A 20 20 20 20 20 20 20 6D 61 70 2E 0D ry.. map..
000140: 0A 0D 0A 20 20 20 20 20 20 20 32 2E 32 20 52 4F ... 2.2 RO
000150: 4D 20 53 65 6C 65 63 74 69 6F 6E 2E 0D 0A 0D 0A M Selection.....
000160: 20 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 There are
000170: 20 74 77 6F 20 6D 65 63 68 61 6E 69 73 6D 73 20 two mechanisms
000180: 66 6F 72 20 73 77 69 74 63 68 69 6E 67 20 52 4F for switching RO
000190: 4D 73 20 69 6E 20 61 6E 64 20 6F 75 74 20 6F 66 Ms in and out of
0001A0: 20 74 68 65 20 20 61 64 64 72 65 73 73 0D 0A 20 the address..
0001B0: 20 20 20 20 20 20 73 70 61 63 65 3A 0D 0A 0D 0A space:....
0001C0: 20 20 20 20 20 20 20 61 2E 20 52 4F 4D 20 53 74 a. ROM St
0001D0: 61 74 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ate.....
0001E0: 20 20 20 54 68 65 20 75 70 70 65 72 20 61 6E 64 The upper and
0001F0: 20 6C 6F 77 65 72 20 52 4F 4D 73 20 6D 61 79 20 lower ROMs may
Size : 512 (Real : 512)
000000: 62 65 20 65 6E 61 62 6C 65 64 20 61 6E 64 20 20 be enabled and
000010: 64 69 73 61 62 6C 65 64 20 20 73 65 70 61 72 61 disabled separa
000020: 74 65 6C 79 2E 0D 0A 20 20 20 20 20 20 20 20 20 tely...
000030: 20 20 57 68 65 6E 20 74 68 65 20 75 70 70 65 72 When the upper
000040: 20 52 4F 4D 20 69 73 20 65 6E 61 62 6C 65 64 20 ROM is enabled
000050: 64 61 74 61 20 20 72 65 61 64 20 20 66 72 6F 6D data read from
000060: 20 20 61 64 64 72 65 73 73 65 73 20 20 62 65 74 addresses bet
000070: 77 65 65 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 ween..
000080: 20 23 43 30 30 30 20 61 6E 64 20 23 46 46 46 46 #C000 and #FFFF
000090: 20 69 73 20 66 65 74 63 68 65 64 20 66 72 6F 6D is fetched from
0000A0: 20 74 68 65 20 52 4F 4D 2E 20 53 69 6D 69 6C 61 the ROM. Simila
0000B0: 72 6C 79 2C 20 77 68 65 6E 20 74 68 65 20 6C 6F rly, when the lo
0000C0: 77 65 72 0D 0A 20 20 20 20 20 20 20 20 20 20 20 wer..
0000D0: 52 4F 4D 20 69 73 20 65 6E 61 62 6C 65 64 20 64 ROM is enabled d
0000E0: 61 74 61 20 72 65 61 64 20 66 6F 72 6D 20 61 64 ata read form ad
0000F0: 64 72 65 73 73 65 73 20 62 65 74 77 65 65 6E 20 dresses between
000100: 23 30 30 30 30 20 61 6E 64 20 23 33 46 46 46 20 #0000 and #3FFF
000110: 69 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 66 is.. f
000120: 65 74 63 68 65 64 20 66 72 6F 6D 20 74 68 65 20 etched from the
000130: 52 4F 4D 2E 20 57 68 65 6E 20 74 68 65 20 52 4F ROM. When the RO
000140: 4D 73 20 61 72 65 20 64 69 73 61 62 6C 65 64 20 Ms are disabled
000150: 64 61 74 61 20 20 69 73 20 20 66 65 74 63 68 65 data is fetche
000160: 64 0D 0A 20 20 20 20 20 20 20 20 20 20 20 66 72 d.. fr
000170: 6F 6D 20 52 41 4D 2E 0D 0A 0D 0A 20 20 20 20 20 om RAM.....
000180: 20 20 20 20 20 20 4E 6F 74 65 20 74 68 61 74 20 Note that
000190: 74 68 65 20 52 4F 4D 20 73 74 61 74 65 20 20 64 the ROM state d
0001A0: 6F 65 73 20 20 6E 6F 74 20 20 61 66 66 65 63 74 oes not affect
0001B0: 20 20 77 72 69 74 69 6E 67 20 20 77 68 69 63 68 writing which
0001C0: 20 20 61 6C 77 61 79 73 0D 0A 20 20 20 20 20 20 always..
0001D0: 20 20 20 20 20 63 68 61 6E 67 65 73 20 74 68 65 changes the
0001E0: 20 63 6F 6E 74 65 6E 74 73 20 6F 66 20 52 41 4D contents of RAM
0001F0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 62 2E 20 52 ..... b. R
Size : 512 (Real : 512)
000000: 4F 4D 20 53 65 6C 65 63 74 2E 0D 0A 0D 0A 0D 0A OM Select.......
000010: 20 20 20 20 20 20 20 20 20 20 20 45 78 70 61 6E Expan
000020: 73 69 6F 6E 20 52 4F 4D 73 20 61 72 65 20 73 75 sion ROMs are su
000030: 70 70 6F 72 74 65 64 20 20 62 79 20 20 73 77 69 pported by swi
000040: 74 63 68 69 6E 67 20 20 74 68 65 20 20 75 70 70 tching the upp
000050: 65 72 20 20 52 4F 4D 20 20 61 72 65 61 0D 0A 20 er ROM area..
000060: 20 20 20 20 20 20 20 20 20 20 62 65 74 77 65 65 betwee
000070: 6E 20 52 4F 4D 73 2E 20 45 78 70 61 6E 73 69 6F n ROMs. Expansio
000080: 6E 20 52 4F 4D 73 20 20 61 72 65 20 20 61 64 64 n ROMs are add
000090: 72 65 73 73 65 64 20 20 62 79 20 20 61 20 20 73 ressed by a s
0000A0: 65 70 61 72 61 74 65 20 20 52 4F 4D 0D 0A 20 20 eparate ROM..
0000B0: 20 20 20 20 20 20 20 20 20 73 65 6C 65 63 74 20 select
0000C0: 61 64 64 72 65 73 73 20 62 79 74 65 20 69 6D 70 address byte imp
0000D0: 6C 65 6D 65 6E 74 65 64 20 69 6E 20 49 2F 4F 20 lemented in I/O
0000E0: 73 70 61 63 65 2E 20 52 4F 4D 20 73 65 6C 65 63 space. ROM selec
0000F0: 74 20 61 64 64 72 65 73 73 65 73 0D 0A 20 20 20 t addresses..
000100: 20 20 20 20 20 20 20 20 61 72 65 20 69 6E 20 74 are in t
000110: 68 65 20 72 61 6E 67 65 20 30 2E 2E 32 35 31 2C he range 0..251,
000120: 20 70 72 6F 76 69 64 69 6E 67 20 66 6F 72 20 75 providing for u
000130: 70 20 74 6F 20 32 35 32 20 65 78 70 61 6E 73 69 p to 252 expansi
000140: 6F 6E 20 52 4F 4D 73 2E 0D 0A 0D 0A 0D 0A 20 20 on ROMs.......
000150: 20 20 20 20 20 20 20 20 20 57 68 65 6E 20 74 68 When th
000160: 65 20 6D 61 63 68 69 6E 65 20 69 73 20 66 69 72 e machine is fir
000170: 73 74 20 74 75 72 6E 65 64 20 6F 6E 20 69 74 20 st turned on it
000180: 73 65 6C 65 63 74 73 20 52 4F 4D 20 7A 65 72 6F selects ROM zero
000190: 2E 20 54 68 69 73 20 77 69 6C 6C 0D 0A 20 20 20 . This will..
0001A0: 20 20 20 20 20 20 20 20 75 73 75 61 6C 6C 79 20 usually
0001B0: 73 65 6C 65 63 74 20 74 68 65 20 6F 6E 20 62 6F select the on bo
0001C0: 61 72 64 20 52 4F 4D 2C 20 20 62 75 74 20 20 61 ard ROM, but a
0001D0: 6E 20 20 65 78 70 61 6E 73 69 6F 6E 20 20 52 4F n expansion RO
0001E0: 4D 20 20 6D 61 79 20 20 62 65 0D 0A 20 20 20 20 M may be..
0001F0: 20 20 20 20 20 20 20 66 69 74 74 65 64 20 61 74 fitted at
Size : 512 (Real : 512)
000000: 20 74 68 69 73 20 61 64 64 72 65 73 73 2C 20 77 this address, w
000010: 68 69 63 68 20 77 69 6C 6C 20 70 72 65 2D 65 6D hich will pre-em
000020: 70 74 20 74 68 65 20 6F 6E 2D 62 6F 61 72 64 20 pt the on-board
000030: 52 4F 4D 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ROM.....
000040: 20 20 20 53 65 65 20 73 65 63 74 69 6F 6E 20 39 See section 9
000050: 20 66 6F 72 20 61 20 64 65 73 63 72 69 70 74 69 for a descripti
000060: 6F 6E 20 6F 66 20 74 68 65 20 75 73 65 20 6F 66 on of the use of
000070: 20 65 78 70 61 6E 73 69 6F 6E 20 52 4F 4D 73 2E expansion ROMs.
000080: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 32 2E 33 ...... 2.3
000090: 20 54 68 65 20 52 65 73 74 61 72 74 20 49 6E 73 The Restart Ins
0000A0: 74 72 75 63 74 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 tructions.....
0000B0: 20 20 20 20 20 54 68 65 20 6B 65 72 6E 65 6C 20 The kernel
0000C0: 73 75 70 70 6F 72 74 73 20 74 68 65 20 73 74 6F supports the sto
0000D0: 72 65 20 6D 61 70 20 69 6E 20 61 20 6E 75 6D 62 re map in a numb
0000E0: 65 72 20 6F 66 20 77 61 79 73 2E 20 49 6E 20 70 er of ways. In p
0000F0: 61 72 74 69 63 75 6C 61 72 20 61 0D 0A 20 20 20 articular a..
000100: 20 20 20 20 76 61 72 69 65 74 79 20 6F 66 20 66 variety of f
000110: 61 63 69 6C 69 74 69 65 73 20 61 72 65 20 20 70 acilities are p
000120: 72 6F 76 69 64 65 64 20 20 74 6F 20 20 68 61 6E rovided to han
000130: 64 6C 65 20 20 73 75 62 72 6F 75 74 69 6E 65 20 dle subroutine
000140: 20 61 64 64 72 65 73 73 65 73 0D 0A 20 20 20 20 addresses..
000150: 20 20 20 65 78 74 65 6E 74 65 64 20 74 6F 20 69 extented to i
000160: 6E 63 6C 75 64 65 20 52 4F 4D 20 73 65 6C 65 63 nclude ROM selec
000170: 74 20 61 6E 64 2F 6F 72 20 52 4F 4D 20 73 74 61 t and/or ROM sta
000180: 74 65 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 2E 20 te information.
000190: 20 53 6F 6D 65 20 20 6F 66 0D 0A 20 20 20 20 20 Some of..
0001A0: 20 20 74 68 65 20 20 72 65 73 74 61 72 74 20 20 the restart
0001B0: 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 20 61 72 instructions ar
0001C0: 65 20 20 75 73 65 64 20 20 74 6F 20 20 61 75 67 e used to aug
0001D0: 6D 65 6E 74 20 20 74 68 65 20 20 65 78 69 73 74 ment the exist
0001E0: 69 6E 67 20 20 5A 38 30 0D 0A 20 20 20 20 20 20 ing Z80..
0001F0: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 73 65 74 instruction set
Size : 512 (Real : 512)
000000: 2E 20 54 68 65 20 6F 74 68 65 72 20 72 65 73 74 . The other rest
000010: 61 72 74 73 20 61 72 65 20 72 65 73 65 72 76 65 arts are reserve
000020: 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 d....... A
000030: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
000040: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/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 20 20 20 20 70 61 67 pag
000070: 65 20 32 2E 32 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D e 2.2...........
000080: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 66 69 ... The fi
000090: 72 6D 77 61 72 65 20 62 65 74 77 65 65 6E 20 23 rmware between #
0000A0: 30 30 30 30 20 61 6E 64 20 23 30 30 33 46 20 69 0000 and #003F i
0000B0: 73 20 73 65 74 20 75 70 20 73 6F 20 20 74 68 61 s set up so tha
0000C0: 74 20 20 74 68 65 20 20 72 65 73 74 61 72 74 73 t the restarts
0000D0: 0D 0A 20 20 20 20 20 20 20 6F 70 65 72 61 74 65 .. operate
0000E0: 20 77 68 61 74 65 76 65 72 20 74 68 65 20 63 75 whatever the cu
0000F0: 72 72 65 6E 74 20 52 4F 4D 20 73 74 61 74 65 20 rrent ROM state
000100: 69 73 2E 20 54 68 65 20 75 73 65 72 20 73 68 6F is. The user sho
000110: 75 6C 64 20 20 6E 6F 74 20 20 61 6C 74 65 72 0D uld not alter.
000120: 0A 20 20 20 20 20 20 20 74 68 65 20 63 6F 6E 74 . the cont
000130: 65 6E 74 73 20 6F 66 20 74 68 69 73 20 61 72 65 ents of this are
000140: 61 20 65 78 63 65 70 74 20 61 73 20 69 6E 64 69 a except as indi
000150: 63 61 74 65 64 20 69 6E 20 73 65 63 74 69 6F 6E cated in section
000160: 20 31 38 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 18..... T
000170: 68 65 20 72 65 73 74 61 72 74 73 20 61 72 65 20 he restarts are
000180: 61 73 20 66 6F 6C 6C 6F 77 73 2E 20 41 20 66 75 as follows. A fu
000190: 6C 6C 65 72 20 64 65 73 63 72 69 70 74 69 6F 6E ller description
0001A0: 20 6F 66 20 20 74 68 65 69 72 20 20 6F 70 65 72 of their oper
0001B0: 61 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 63 61 ation.. ca
0001C0: 6E 20 62 65 20 66 6F 75 6E 64 20 69 6E 20 73 65 n be found in se
0001D0: 63 74 69 6F 6E 20 31 38 2E 0D 0A 0D 0A 20 20 20 ction 18.....
0001E0: 20 20 20 20 61 2E 20 54 68 65 20 45 78 74 65 6E a. The Exten
0001F0: 64 65 64 20 49 6E 73 74 72 75 63 74 69 6F 6E 20 ded Instruction
Size : 512 (Real : 512)
000000: 53 65 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4C Set..... L
000010: 4F 57 20 4A 55 4D 50 20 28 52 53 54 20 31 29 0D OW JUMP (RST 1).
000020: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 52 53 ... RS
000030: 54 20 31 20 6A 75 6D 70 73 20 74 6F 20 61 20 72 T 1 jumps to a r
000040: 6F 75 74 69 6E 65 20 69 6E 20 74 68 65 20 6C 6F outine in the lo
000050: 77 65 72 20 31 36 4B 20 6F 66 20 6D 65 6D 6F 72 wer 16K of memor
000060: 79 2E 20 54 68 65 20 74 77 6F 20 62 79 74 65 73 y. The two bytes
000070: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 66 6F 6C .. fol
000080: 6C 6F 77 69 6E 67 20 74 68 65 20 72 65 73 74 61 lowing the resta
000090: 72 74 20 61 72 65 20 61 73 73 75 6D 65 64 20 74 rt are assumed t
0000A0: 6F 20 62 65 20 61 20 27 6C 6F 77 20 61 64 64 72 o be a 'low addr
0000B0: 65 73 73 27 20 2D 20 73 6F 20 52 53 54 20 31 0D ess' - so RST 1.
0000C0: 0A 20 20 20 20 20 20 20 20 20 20 20 63 61 6E 20 . can
0000D0: 62 65 20 63 6F 6E 73 69 64 65 72 65 64 20 74 6F be considered to
0000E0: 20 62 65 20 61 20 74 68 72 65 65 20 62 79 74 65 be a three byte
0000F0: 20 69 6E 73 74 72 75 63 74 69 6F 6E 2C 20 72 61 instruction, ra
000100: 74 68 65 72 20 6C 69 6B 65 20 61 20 4A 50 0D 0A ther like a JP..
000110: 20 20 20 20 20 20 20 20 20 20 20 69 6E 73 74 72 instr
000120: 75 63 74 69 6F 6E 2E 0D 0A 0D 0A 20 20 20 20 20 uction.....
000130: 20 20 20 20 20 20 54 68 65 20 74 6F 70 20 32 20 The top 2
000140: 62 69 74 73 20 6F 66 20 74 68 65 20 27 6C 6F 77 bits of the 'low
000150: 20 61 64 64 72 65 73 73 27 20 64 65 66 69 6E 65 address' define
000160: 20 74 68 65 20 52 4F 4D 20 20 65 6E 61 62 6C 65 the ROM enable
000170: 2F 64 69 73 61 62 6C 65 0D 0A 20 20 20 20 20 20 /disable..
000180: 20 20 20 20 20 73 74 61 74 65 20 72 65 71 75 69 state requi
000190: 72 65 64 3B 20 74 68 65 20 62 6F 74 74 6F 6D 20 red; the bottom
0001A0: 31 34 20 62 69 74 73 20 67 69 76 65 20 74 68 65 14 bits give the
0001B0: 20 61 63 74 75 61 6C 20 61 64 64 72 65 73 73 20 actual address
0001C0: 28 69 6E 20 74 68 65 0D 0A 20 20 20 20 20 20 20 (in the..
0001D0: 20 20 20 20 72 61 6E 67 65 20 23 30 30 30 30 20 range #0000
0001E0: 74 6F 20 23 33 46 46 46 29 20 74 6F 20 6A 75 6D to #3FFF) to jum
0001F0: 70 20 74 6F 20 6F 6E 63 65 20 74 68 65 20 52 4F p to once the RO
Size : 512 (Real : 512)
000000: 4D 20 20 73 74 61 74 65 20 20 69 73 20 20 73 65 M state is se
000010: 74 20 20 75 70 2E 0D 0A 20 20 20 20 20 20 20 20 t up...
000020: 20 20 20 57 68 65 6E 20 74 68 65 20 72 6F 75 74 When the rout
000030: 69 6E 65 20 72 65 74 75 72 6E 73 20 74 68 65 20 ine returns the
000040: 52 4F 4D 20 73 74 61 74 65 20 69 73 20 72 65 73 ROM state is res
000050: 74 6F 72 65 64 20 74 6F 20 69 74 73 20 6F 72 69 tored to its ori
000060: 67 69 6E 61 6C 0D 0A 20 20 20 20 20 20 20 20 20 ginal..
000070: 20 20 73 65 74 74 69 6E 67 2E 0D 0A 0D 0A 20 20 setting.....
000080: 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 72 The fir
000090: 6D 77 61 72 65 20 6A 75 6D 70 62 6C 6F 63 6B 2C mware jumpblock,
0000A0: 20 74 68 72 6F 75 67 68 20 77 68 69 63 68 20 74 through which t
0000B0: 68 65 20 66 69 72 6D 77 61 72 65 20 72 6F 75 74 he firmware rout
0000C0: 69 6E 65 73 20 73 68 6F 75 6C 64 0D 0A 20 20 20 ines should..
0000D0: 20 20 20 20 20 20 20 20 62 65 20 63 61 6C 6C 65 be calle
0000E0: 64 2C 20 6D 61 6B 65 73 20 65 78 74 65 6E 73 69 d, makes extensi
0000F0: 76 65 20 75 73 65 20 20 6F 66 20 20 4C 4F 57 20 ve use of LOW
000100: 20 4A 55 4D 50 73 2E 20 20 54 68 65 73 65 20 20 JUMPs. These
000110: 4C 4F 57 20 20 4A 55 4D 50 73 0D 0A 20 20 20 20 LOW JUMPs..
000120: 20 20 20 20 20 20 20 72 65 71 75 65 73 74 20 74 request t
000130: 68 65 20 6C 6F 77 65 72 20 52 4F 4D 20 74 6F 20 he lower ROM to
000140: 62 65 20 65 6E 61 62 6C 65 64 2C 20 73 6F 20 74 be enabled, so t
000150: 68 61 74 20 74 68 65 20 6C 6F 77 65 72 20 52 4F hat the lower RO
000160: 4D 20 6D 61 79 20 20 62 65 0D 0A 20 20 20 20 20 M may be..
000170: 20 20 20 20 20 20 64 69 73 61 62 6C 65 64 20 65 disabled e
000180: 78 63 65 70 74 20 77 68 65 6E 20 74 68 65 20 66 xcept when the f
000190: 69 72 6D 77 61 72 65 20 69 73 20 61 63 74 69 76 irmware is activ
0001A0: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 53 49 44 e..... SID
0001B0: 45 20 43 41 4C 4C 20 28 52 53 54 20 32 29 0D 0A E CALL (RST 2)..
0001C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 52 53 54 .. RST
0001D0: 20 32 20 63 61 6C 6C 73 20 61 20 20 72 6F 75 74 2 calls a rout
0001E0: 69 6E 65 20 20 69 6E 20 20 61 6E 20 20 61 73 73 ine in an ass
0001F0: 6F 63 69 61 74 65 64 20 20 52 4F 4D 2E 20 20 49 ociated ROM. I
Size : 512 (Real : 512)
000000: 74 20 20 68 61 73 20 20 61 20 20 76 65 72 79 0D t has a very.
000010: 0A 20 20 20 20 20 20 20 20 20 20 20 73 70 65 63 . spec
000020: 69 61 6C 69 73 65 64 2E 20 41 20 66 6F 72 65 67 ialised. A foreg
000030: 72 6F 75 6E 64 20 70 72 6F 67 72 61 6D 20 28 73 round program (s
000040: 65 65 20 73 65 63 74 69 6F 6E 20 39 29 20 6D 61 ee section 9) ma
000050: 79 20 72 65 71 75 69 72 65 20 6D 6F 72 65 0D 0A y require more..
000060: 20 20 20 20 20 20 20 20 20 20 20 74 68 61 6E 20 than
000070: 31 36 4B 20 6F 66 20 52 4F 4D 2E 20 54 68 65 20 16K of ROM. The
000080: 73 69 64 65 20 63 61 6C 6C 20 6D 65 63 68 61 6E side call mechan
000090: 69 73 6D 20 61 6C 6C 6F 77 73 20 66 6F 72 20 63 ism allows for c
0000A0: 61 6C 6C 73 20 20 62 65 74 77 65 65 6E 0D 0A 20 alls between..
0000B0: 20 20 20 20 20 20 20 20 20 20 74 77 6F 2C 20 74 two, t
0000C0: 68 72 65 65 20 6F 72 20 66 6F 75 72 20 61 73 73 hree or four ass
0000D0: 6F 63 69 61 74 65 64 20 20 52 4F 4D 73 20 20 77 ociated ROMs w
0000E0: 69 74 68 6F 75 74 20 20 72 65 66 65 72 65 6E 63 ithout referenc
0000F0: 65 20 20 74 6F 20 20 74 68 65 69 72 0D 0A 20 20 e to their..
000100: 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6C 20 actual
000110: 52 4F 4D 20 73 65 6C 65 63 74 20 61 64 64 72 65 ROM select addre
000120: 73 73 65 73 2C 20 70 72 6F 76 69 64 65 64 20 74 sses, provided t
000130: 68 61 74 20 74 68 65 20 52 4F 4D 73 20 61 72 65 hat the ROMs are
000140: 20 20 69 6E 73 74 61 6C 6C 65 64 0D 0A 20 20 20 installed..
000150: 20 20 20 20 20 20 20 20 6E 65 78 74 20 74 6F 20 next to
000160: 65 61 63 68 20 6F 74 68 65 72 20 61 6E 64 20 69 each other and i
000170: 6E 20 6F 72 64 65 72 2E 0D 0A 0D 0A 20 20 20 20 n order.....
000180: 20 20 20 20 20 20 20 54 68 65 20 74 77 6F 20 62 The two b
000190: 79 74 65 73 20 66 6F 6C 6C 6F 77 69 6E 67 20 74 ytes following t
0001A0: 68 65 20 72 65 73 74 61 72 74 20 20 69 6E 73 74 he restart inst
0001B0: 72 75 63 74 69 6F 6E 20 20 67 69 76 65 20 20 74 ruction give t
0001C0: 68 65 20 20 27 73 69 64 65 0D 0A 20 20 20 20 20 he 'side..
0001D0: 20 20 20 20 20 20 61 64 64 72 65 73 73 27 20 6F address' o
0001E0: 66 20 74 68 65 20 72 6F 75 74 69 6E 65 20 74 6F f the routine to
0001F0: 20 63 61 6C 6C 20 2D 20 73 6F 20 74 68 65 20 52 call - so the R
Size : 512 (Real : 512)
000000: 53 54 20 32 20 63 61 6E 20 20 62 65 20 20 63 6F ST 2 can be co
000010: 6E 73 69 64 65 72 65 64 0D 0A 20 20 20 20 20 20 nsidered..
000020: 20 20 20 20 20 74 6F 20 62 65 20 61 20 74 68 72 to be a thr
000030: 65 65 20 62 79 74 65 20 69 6E 73 74 72 75 63 74 ee byte instruct
000040: 69 6F 6E 2C 20 72 61 74 68 65 72 20 6C 69 6B 65 ion, rather like
000050: 20 20 61 20 20 43 41 4C 4C 20 20 69 6E 73 74 72 a CALL instr
000060: 75 63 74 69 6F 6E 2E 0D 0A 20 20 20 20 20 20 20 uction...
000070: 20 20 20 20 54 68 65 20 74 6F 70 20 32 20 62 69 The top 2 bi
000080: 74 73 20 6F 66 20 74 68 65 20 27 73 69 64 65 20 ts of the 'side
000090: 61 64 64 72 65 73 73 27 20 73 70 65 63 69 66 79 address' specify
0000A0: 20 20 77 68 69 63 68 20 20 6F 66 20 20 74 68 65 which of the
0000B0: 20 20 66 6F 75 72 0D 0A 20 20 20 20 20 20 20 20 four..
0000C0: 20 20 20 52 4F 4D 73 20 74 6F 20 73 65 6C 65 63 ROMs to selec
0000D0: 74 3B 20 74 68 65 20 62 6F 74 74 6F 6D 20 31 34 t; the bottom 14
0000E0: 20 62 69 74 73 2C 20 77 68 65 6E 20 61 64 64 65 bits, when adde
0000F0: 64 20 74 6F 20 23 43 30 30 30 2C 20 67 69 76 65 d to #C000, give
000100: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 20 20 the..
000110: 20 20 61 63 74 75 61 6C 20 72 6F 75 74 69 6E 65 actual routine
000120: 20 61 64 64 72 65 73 73 2E 20 54 68 65 20 75 70 address. The up
000130: 70 65 72 20 52 4F 4D 20 69 73 20 65 6E 61 62 6C per ROM is enabl
000140: 65 64 2C 20 74 68 65 20 6C 6F 77 65 72 20 52 4F ed, the lower RO
000150: 4D 20 69 73 0D 0A 20 20 20 20 20 20 20 20 20 20 M is..
000160: 20 64 69 73 61 62 6C 65 64 2E 20 42 6F 74 68 20 disabled. Both
000170: 52 4F 4D 20 73 74 61 74 65 20 61 6E 64 20 74 68 ROM state and th
000180: 65 20 52 4F 4D 20 73 65 6C 65 63 74 20 61 72 65 e ROM select are
000190: 20 72 65 73 74 6F 72 65 64 20 74 6F 20 20 74 68 restored to th
0001A0: 65 69 72 0D 0A 20 20 20 20 20 20 20 20 20 20 20 eir..
0001B0: 6F 72 69 67 69 6E 61 6C 20 73 65 74 74 69 6E 67 original setting
0001C0: 73 20 77 68 65 6E 20 74 68 65 20 72 6F 75 74 69 s when the routi
0001D0: 6E 65 20 72 65 74 75 72 6E 73 2E 0D 0A 0D 0A 20 ne returns.....
0001E0: 20 20 20 20 20 20 46 41 52 20 43 41 4C 4C 20 28 FAR CALL (
0001F0: 52 53 54 20 33 29 0D 0A 0D 0A 20 20 20 20 20 20 RST 3)....
Size : 512 (Real : 512)
000000: 20 20 20 20 20 52 53 54 20 33 20 63 61 6C 6C 73 RST 3 calls
000010: 20 61 20 72 6F 75 74 69 6E 65 20 61 6E 79 77 68 a routine anywh
000020: 65 72 65 20 69 6E 20 6D 65 6D 6F 72 79 2C 20 69 ere in memory, i
000030: 6E 20 52 41 4D 20 6F 72 20 20 69 6E 20 20 61 6E n RAM or in an
000040: 79 20 20 52 4F 4D 2E 0D 0A 20 20 20 20 20 20 20 y ROM...
000050: 20 20 20 20 54 68 65 20 74 77 6F 20 62 79 74 65 The two byte
000060: 73 20 66 6F 6C 6C 6F 77 69 6E 67 20 74 68 65 20 s following the
000070: 72 65 73 74 61 72 74 20 61 72 65 20 61 73 73 75 restart are assu
000080: 6D 65 64 20 74 6F 20 62 65 20 74 68 65 20 20 61 med to be the a
000090: 64 64 72 65 73 73 0D 0A 20 20 20 20 20 20 20 20 ddress..
0000A0: 20 20 20 6F 66 20 61 20 27 66 61 72 20 61 64 64 of a 'far add
0000B0: 72 65 73 73 27 2E 20 54 68 65 20 27 66 61 72 20 ress'. The 'far
0000C0: 61 64 64 72 65 73 73 27 20 20 69 73 20 20 61 20 address' is a
0000D0: 20 74 68 72 65 65 20 20 62 79 74 65 20 20 6F 62 three byte ob
0000E0: 6A 65 63 74 2C 0D 0A 20 20 20 20 20 20 20 20 20 ject,..
0000F0: 20 20 77 68 69 63 68 20 74 61 6B 65 73 20 74 68 which takes th
000100: 65 20 66 6F 72 6D 3A 0D 0A 0D 0A 20 20 20 20 20 e form:....
000110: 20 20 20 20 20 20 42 79 74 65 73 20 30 2E 2E 31 Bytes 0..1
000120: 3A 20 20 20 20 20 20 20 41 63 74 75 61 6C 20 61 : Actual a
000130: 64 64 72 65 73 73 20 6F 66 20 72 6F 75 74 69 6E ddress of routin
000140: 65 20 74 6F 20 63 61 6C 6C 2E 0D 0A 20 20 20 20 e to call...
000150: 20 20 20 20 20 20 20 42 79 74 65 20 20 32 3A 20 Byte 2:
000160: 20 20 20 20 20 20 20 20 20 52 4F 4D 20 73 65 6C ROM sel
000170: 65 63 74 2F 73 74 61 74 65 20 72 65 71 75 69 72 ect/state requir
000180: 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 ed.....
000190: 20 20 54 68 65 20 52 4F 4D 20 73 65 6C 65 63 74 The ROM select
0001A0: 2F 73 74 61 74 65 20 62 79 74 65 20 6D 61 79 20 /state byte may
0001B0: 74 61 6B 65 20 74 68 65 20 66 6F 6C 6C 6F 77 69 take the followi
0001C0: 6E 67 20 76 61 6C 75 65 73 3A 0D 0A 20 20 20 20 ng values:..
0001D0: 20 20 20 20 20 20 20 30 2E 2E 32 35 31 3A 20 20 0..251:
0001E0: 20 20 20 20 20 20 20 20 20 53 65 6C 65 63 74 20 Select
0001F0: 74 68 65 20 75 70 70 65 72 20 52 4F 4D 20 61 74 the upper ROM at
Size : 512 (Real : 512)
000000: 20 74 68 69 73 20 52 4F 4D 20 73 65 6C 65 63 74 this ROM select
000010: 20 61 64 64 72 65 73 73 2E 0D 0A 20 20 20 20 20 address...
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 45 6E 61 62 6C 65 20 74 Enable t
000040: 68 65 20 75 70 70 65 72 20 52 4F 4D 2C 20 64 69 he upper ROM, di
000050: 73 61 62 6C 65 20 74 68 65 20 6C 6F 77 65 72 20 sable the lower
000060: 52 4F 4D 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ROM..... A
000070: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
000080: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 FIRMWARE
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 70 61 67 pag
0000B0: 65 20 32 2E 33 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D e 2.3...........
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 32 35 ... 25
0000D0: 32 2E 2E 32 35 35 20 20 20 20 20 20 20 20 20 20 2..255
0000E0: 4E 6F 20 63 68 61 6E 67 65 20 6F 66 20 52 4F 4D No change of ROM
0000F0: 20 73 65 6C 65 63 74 2C 20 65 6E 61 62 6C 65 2F select, enable/
000100: 64 69 73 61 62 6C 65 20 52 4F 4D 73 20 20 61 73 disable ROMs as
000110: 0D 0A 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 66 f
000130: 6F 6C 6C 6F 77 73 3A 0D 0A 0D 0A 20 20 20 20 20 ollows:....
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 32 35 32 3A 20 45 6E 61 252: Ena
000160: 62 6C 65 20 75 70 70 65 72 20 52 4F 4D 2C 20 65 ble upper ROM, e
000170: 6E 61 62 6C 65 20 6C 6F 77 65 72 20 52 4F 4D 2E nable lower ROM.
000180: 0D 0A 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 32 2
0001A0: 35 33 3A 20 45 6E 61 62 6C 65 20 75 70 70 65 72 53: Enable upper
0001B0: 20 52 4F 4D 2C 20 64 69 73 61 62 6C 65 20 6C 6F ROM, disable lo
0001C0: 77 65 72 20 52 4F 4D 2E 0D 0A 20 20 20 20 20 20 wer ROM...
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 32 35 34 3A 20 44 69 73 61 254: Disa
0001F0: 62 6C 65 20 75 70 70 65 72 20 52 4F 4D 2C 20 65 ble upper ROM, e
Size : 512 (Real : 512)
000000: 6E 61 62 6C 65 20 6C 6F 77 65 72 20 52 4F 4D 2E nable lower ROM.
000010: 0D 0A 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 32 2
000030: 35 35 3A 20 44 69 73 61 62 6C 65 20 75 70 70 65 55: Disable uppe
000040: 72 20 52 4F 4D 2C 20 64 69 73 61 62 6C 65 20 6C r ROM, disable l
000050: 6F 77 65 72 20 52 4F 4D 2E 0D 0A 0D 0A 20 20 20 ower ROM.....
000060: 20 20 20 20 20 20 20 20 4E 6F 74 65 20 74 68 61 Note tha
000070: 74 20 74 68 65 20 20 27 66 61 72 20 20 61 64 64 t the 'far add
000080: 72 65 73 73 27 20 20 69 73 20 20 6E 6F 74 20 20 ress' is not
000090: 69 74 73 65 6C 66 20 20 63 6F 6E 74 61 69 6E 65 itself containe
0000A0: 64 20 20 69 6E 20 20 74 68 65 0D 0A 20 20 20 20 d in the..
0000B0: 20 20 20 20 20 20 20 27 69 6E 73 74 72 75 63 74 'instruct
0000C0: 69 6F 6E 27 2C 20 62 75 74 20 69 73 20 70 6F 69 ion', but is poi
0000D0: 6E 74 65 64 20 61 74 2E 20 54 68 69 73 20 69 73 nted at. This is
0000E0: 20 62 65 63 61 75 73 65 20 74 68 65 20 20 52 4F because the RO
0000F0: 4D 20 20 73 65 6C 65 63 74 0D 0A 20 20 20 20 20 M select..
000100: 20 20 20 20 20 20 61 64 64 72 65 73 73 20 77 69 address wi
000110: 6C 6C 20 64 65 70 65 6E 64 20 6F 6E 20 74 68 65 ll depend on the
000120: 20 70 61 72 74 69 63 75 6C 61 72 20 6F 72 64 65 particular orde
000130: 72 20 69 6E 20 77 68 69 63 68 20 74 68 65 20 75 r in which the u
000140: 73 65 72 20 20 68 61 73 0D 0A 20 20 20 20 20 20 ser has..
000150: 20 20 20 20 20 63 68 6F 73 65 6E 20 74 6F 20 69 chosen to i
000160: 6E 73 74 61 6C 6C 20 65 78 70 61 6E 73 69 6F 6E nstall expansion
000170: 20 52 4F 4D 73 20 61 6E 64 20 6D 75 73 74 20 62 ROMs and must b
000180: 65 20 20 65 73 74 61 62 6C 69 73 68 65 64 20 20 e established
000190: 61 74 20 20 72 75 6E 0D 0A 20 20 20 20 20 20 20 at run..
0001A0: 20 20 20 20 74 69 6D 65 2E 0D 0A 0D 0A 20 20 20 time.....
0001B0: 20 20 20 20 20 20 20 20 42 6F 74 68 20 74 68 65 Both the
0001C0: 20 52 4F 4D 20 73 74 61 74 65 20 61 6E 64 20 20 ROM state and
0001D0: 74 68 65 20 20 52 4F 4D 20 20 73 65 6C 65 63 74 the ROM select
0001E0: 20 20 61 72 65 20 20 72 65 73 74 6F 72 65 64 20 are restored
0001F0: 20 74 6F 20 20 74 68 65 69 72 0D 0A 20 20 20 20 to their..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 6F 72 69 67 69 6E 61 6C 20 original
000010: 73 65 74 74 69 6E 67 73 20 77 68 65 6E 20 74 68 settings when th
000020: 65 20 72 6F 75 74 69 6E 65 20 72 65 74 75 72 6E e routine return
000030: 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 41 4D s..... RAM
000040: 20 4C 41 4D 20 28 52 53 54 20 34 29 0D 0A 0D 0A LAM (RST 4)....
000050: 20 20 20 20 20 20 20 20 20 20 20 52 53 54 20 34 RST 4
000060: 20 72 65 61 64 73 20 74 68 65 20 62 79 74 65 73 reads the bytes
000070: 20 66 72 6F 6D 20 52 41 4D 20 61 74 20 74 68 65 from RAM at the
000080: 20 20 61 64 64 72 65 73 73 20 20 67 69 76 65 6E address given
000090: 20 20 62 79 20 20 48 4C 2E 20 20 49 74 0D 0A 20 by HL. It..
0000A0: 20 20 20 20 20 20 20 20 20 20 64 69 73 61 62 6C disabl
0000B0: 65 73 20 20 62 6F 74 68 20 20 52 4F 4D 73 20 20 es both ROMs
0000C0: 62 65 66 6F 72 65 20 20 72 65 61 64 69 6E 67 20 before reading
0000D0: 20 61 6E 64 20 20 72 65 73 74 6F 72 65 73 20 20 and restores
0000E0: 20 74 68 65 20 20 20 73 74 61 74 65 0D 0A 20 20 the state..
0000F0: 20 20 20 20 20 20 20 20 20 61 66 74 65 72 77 61 afterwa
000100: 72 64 73 2E 20 54 68 69 73 20 27 69 6E 73 74 72 rds. This 'instr
000110: 75 63 74 69 6F 6E 27 20 61 76 6F 69 64 73 20 74 uction' avoids t
000120: 68 65 20 75 73 65 72 20 20 68 61 76 69 6E 67 20 he user having
000130: 20 74 6F 20 20 70 75 74 20 20 61 0D 0A 20 20 20 to put a..
000140: 20 20 20 20 20 20 20 20 72 65 61 64 20 72 6F 75 read rou
000150: 74 69 6E 65 20 69 6E 74 6F 20 74 68 65 20 63 65 tine into the ce
000160: 6E 74 72 61 6C 20 33 32 4B 20 6F 66 20 20 52 41 ntral 32K of RA
000170: 4D 20 20 74 6F 20 20 61 63 63 65 73 73 20 20 52 M to access R
000180: 41 4D 20 20 68 69 64 64 65 6E 0D 0A 20 20 20 20 AM hidden..
000190: 20 20 20 20 20 20 20 75 6E 64 65 72 20 61 20 52 under a R
0001A0: 4F 4D 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 OM.....
0001B0: 20 20 57 72 69 74 69 6E 67 20 74 6F 20 61 20 6D Writing to a m
0001C0: 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 20 61 emory location a
0001D0: 6C 77 61 79 73 20 63 68 61 6E 67 65 73 20 74 68 lways changes th
0001E0: 65 20 20 63 6F 6E 74 65 6E 74 73 20 20 6F 66 20 e contents of
0001F0: 20 52 41 4D 0D 0A 20 20 20 20 20 20 20 20 20 20 RAM..
Size : 512 (Real : 512)
000000: 20 77 68 61 74 65 76 65 72 20 74 68 65 20 52 4F whatever the RO
000010: 4D 20 65 6E 61 62 6C 65 20 73 74 61 74 65 2E 0D M enable state..
000020: 0A 0D 0A 20 20 20 20 20 20 20 46 49 52 4D 20 4A ... FIRM J
000030: 55 4D 50 20 28 52 53 54 20 35 29 0D 0A 0D 0A 20 UMP (RST 5)....
000040: 20 20 20 20 20 20 20 20 20 20 52 53 54 20 35 20 RST 5
000050: 74 75 72 6E 73 20 6F 6E 20 74 68 65 20 6C 6F 77 turns on the low
000060: 65 72 20 52 4F 4D 20 61 6E 64 20 6A 75 6D 70 73 er ROM and jumps
000070: 20 74 6F 20 61 20 72 6F 75 74 69 6E 65 2E 20 54 to a routine. T
000080: 68 65 20 74 77 6F 20 62 79 74 65 73 0D 0A 20 20 he two bytes..
000090: 20 20 20 20 20 20 20 20 20 66 6F 6C 6C 6F 77 69 followi
0000A0: 6E 67 20 74 68 65 20 72 65 73 74 61 72 74 20 61 ng the restart a
0000B0: 72 65 20 61 73 73 75 6D 65 64 20 74 6F 20 62 65 re assumed to be
0000C0: 20 74 68 65 20 61 64 64 72 65 73 73 20 74 6F 20 the address to
0000D0: 6A 75 6D 70 20 20 74 6F 20 20 2D 0D 0A 20 20 20 jump to -..
0000E0: 20 20 20 20 20 20 20 20 73 6F 20 52 53 54 20 35 so RST 5
0000F0: 20 63 61 6E 20 62 65 20 63 6F 6E 73 69 64 65 72 can be consider
000100: 65 64 20 74 6F 20 62 65 20 61 20 74 68 72 65 65 ed to be a three
000110: 20 62 79 74 65 20 69 6E 73 74 72 75 63 74 69 6F byte instructio
000120: 6E 2C 20 20 72 61 74 68 65 72 0D 0A 20 20 20 20 n, rather..
000130: 20 20 20 20 20 20 20 6C 69 6B 65 20 61 20 4A 50 like a JP
000140: 20 69 6E 73 74 72 75 63 74 69 6F 6E 2E 20 54 68 instruction. Th
000150: 65 20 6C 6F 77 65 72 20 52 4F 4D 20 69 73 20 65 e lower ROM is e
000160: 6E 61 62 6C 65 64 20 62 65 66 6F 72 65 20 6A 75 nabled before ju
000170: 6D 70 69 6E 67 20 20 74 6F 0D 0A 20 20 20 20 20 mping to..
000180: 20 20 20 20 20 20 74 68 65 20 72 6F 75 74 69 6E the routin
000190: 65 20 61 6E 64 20 69 73 20 64 69 73 61 62 6C 65 e and is disable
0001A0: 64 20 77 68 65 6E 20 74 68 65 20 72 6F 75 74 69 d when the routi
0001B0: 6E 65 20 72 65 74 75 72 6E 73 2E 20 54 68 65 20 ne returns. The
0001C0: 73 74 61 74 65 20 6F 66 0D 0A 20 20 20 20 20 20 state of..
0001D0: 20 20 20 20 20 74 68 65 20 75 70 70 65 72 20 52 the upper R
0001E0: 4F 4D 20 69 73 20 6C 65 66 74 20 75 6E 63 68 61 OM is left uncha
0001F0: 6E 67 65 64 20 74 68 72 6F 75 67 68 6F 75 74 2E nged throughout.
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 20 20 62 2E 20 54 68 .... b. Th
000010: 65 20 4F 74 68 65 72 20 52 65 73 74 61 72 74 73 e Other Restarts
000020: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 52 45 53 45 ..... RESE
000030: 54 20 28 52 53 54 20 30 29 0D 0A 0D 0A 20 20 20 T (RST 0)....
000040: 20 20 20 20 20 20 20 20 52 53 54 20 30 20 72 65 RST 0 re
000050: 73 65 74 73 20 74 68 65 20 73 79 73 74 65 6D 20 sets the system
000060: 61 73 20 69 66 20 74 68 65 20 6D 61 63 68 69 6E as if the machin
000070: 65 20 68 61 73 20 6A 75 73 74 20 62 65 65 6E 20 e has just been
000080: 74 75 72 6E 65 64 20 6F 6E 2E 0D 0A 0D 0A 20 20 turned on.....
000090: 20 20 20 20 20 55 53 45 52 20 52 45 53 54 41 52 USER RESTAR
0000A0: 54 20 28 52 53 54 20 36 29 0D 0A 0D 0A 20 20 20 T (RST 6)....
0000B0: 20 20 20 20 20 20 20 20 52 53 54 20 36 20 69 73 RST 6 is
0000C0: 20 61 76 61 69 6C 61 62 6C 65 20 66 6F 72 20 74 available for t
0000D0: 68 65 20 75 73 65 72 2E 20 49 74 20 63 6F 75 6C he user. It coul
0000E0: 64 20 62 65 20 75 73 65 64 20 20 74 6F 20 20 65 d be used to e
0000F0: 78 74 65 6E 64 20 20 74 68 65 0D 0A 20 20 20 20 xtend the..
000100: 20 20 20 20 20 20 20 69 6E 73 74 72 75 63 74 69 instructi
000110: 6F 6E 20 73 65 74 20 69 6E 20 74 68 65 20 73 61 on set in the sa
000120: 6D 65 20 77 61 79 20 20 74 68 61 74 20 20 6F 74 me way that ot
000130: 68 65 72 20 20 72 65 73 74 61 72 74 73 20 20 68 her restarts h
000140: 61 76 65 20 20 62 65 65 6E 0D 0A 20 20 20 20 20 ave been..
000150: 20 20 20 20 20 20 75 73 65 64 2C 20 6F 72 20 69 used, or i
000160: 74 20 63 6F 75 6C 64 20 62 65 20 75 73 65 64 20 t could be used
000170: 66 6F 72 20 61 6E 6F 74 68 65 72 20 70 75 72 70 for another purp
000180: 6F 73 65 20 73 75 63 68 20 61 73 20 61 20 62 72 ose such as a br
000190: 65 61 6B 70 6F 69 6E 74 0D 0A 20 20 20 20 20 20 eakpoint..
0001A0: 20 20 20 20 20 69 6E 73 74 72 75 63 74 69 6F 6E instruction
0001B0: 20 69 6E 20 61 20 64 65 62 75 67 67 65 72 2E 0D in a debugger..
0001C0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 4C 6F ... Lo
0001D0: 63 61 74 69 6F 6E 73 20 23 30 30 33 30 20 74 6F cations #0030 to
0001E0: 20 23 30 30 33 37 20 69 6E 63 6C 75 73 69 76 65 #0037 inclusive
0001F0: 20 69 6E 20 52 41 4D 20 6D 61 79 20 62 65 20 70 in RAM may be p
Size : 512 (Real : 512)
000000: 61 74 63 68 65 64 20 69 6E 20 20 6F 72 64 65 72 atched in order
000010: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 74 6F 20 .. to
000020: 67 61 69 6E 20 63 6F 6E 74 72 6F 6C 20 6F 66 20 gain control of
000030: 74 68 65 20 72 65 73 74 61 72 74 2E 20 49 66 20 the restart. If
000040: 74 68 65 20 6C 6F 77 65 72 20 52 4F 4D 20 69 73 the lower ROM is
000050: 20 20 65 6E 61 62 6C 65 64 20 20 77 68 65 6E 0D enabled when.
000060: 0A 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 . the
000070: 72 65 73 74 61 72 74 20 69 73 20 65 78 65 63 75 restart is execu
000080: 74 65 64 20 74 68 65 6E 20 74 68 65 20 20 63 6F ted then the co
000090: 64 65 20 20 69 6E 20 20 52 4F 4D 20 20 61 74 20 de in ROM at
0000A0: 20 74 68 69 73 20 20 61 64 64 72 65 73 73 0D 0A this address..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 63 61 75 73 65 cause
0000C0: 73 20 74 68 65 20 52 4F 4D 20 73 74 61 74 65 20 s the ROM state
0000D0: 74 6F 20 62 65 20 73 61 76 65 64 20 69 6E 20 6C to be saved in l
0000E0: 6F 63 61 74 69 6F 6E 20 23 30 30 32 42 2E 20 54 ocation #002B. T
0000F0: 68 65 6E 20 74 68 65 20 6C 6F 77 65 72 0D 0A 20 hen the lower..
000100: 20 20 20 20 20 20 20 20 20 20 52 4F 4D 20 69 73 ROM is
000110: 20 64 69 73 61 62 6C 65 64 20 61 6E 64 20 74 68 disabled and th
000120: 65 20 66 69 72 6D 77 61 72 65 20 6A 75 6D 70 73 e firmware jumps
000130: 20 74 6F 20 6C 6F 63 61 74 69 6F 6E 20 23 30 30 to location #00
000140: 33 30 20 20 69 6E 20 20 52 41 4D 2E 0D 0A 20 20 30 in RAM...
000150: 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 If the
000160: 6C 6F 77 65 72 20 52 4F 4D 20 69 73 20 64 69 73 lower ROM is dis
000170: 61 62 6C 65 64 20 20 74 68 65 6E 20 20 74 68 65 abled then the
000180: 20 20 72 65 73 74 61 72 74 20 20 63 61 6C 6C 73 restart calls
000190: 20 20 23 30 30 33 30 20 20 61 73 0D 0A 20 20 20 #0030 as..
0001A0: 20 20 20 20 20 20 20 20 6E 6F 72 6D 61 6C 20 66 normal f
0001B0: 6F 72 20 74 68 69 73 20 5A 38 30 20 72 65 73 74 or this Z80 rest
0001C0: 61 72 74 20 69 6E 73 74 72 75 63 74 69 6F 6E 2E art instruction.
0001D0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 ...... AMS
0001E0: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
0001F0: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 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 20 70 61 67 65 20 page
000020: 32 2E 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 2.4.............
000030: 0A 20 20 20 20 20 20 20 49 4E 54 45 52 52 55 50 . INTERRUP
000040: 54 20 28 52 53 54 20 37 29 0D 0A 0D 0A 0D 0A 20 T (RST 7)......
000050: 20 20 20 20 20 20 20 20 20 20 52 53 54 20 37 20 RST 7
000060: 69 73 20 72 65 73 65 72 76 65 64 20 66 6F 72 20 is reserved for
000070: 69 6E 74 65 72 72 75 70 74 73 20 28 73 65 65 20 interrupts (see
000080: 73 65 63 74 69 6F 6E 20 31 30 29 2C 20 69 74 20 section 10), it
000090: 6D 75 73 74 20 6E 6F 74 20 20 62 65 0D 0A 20 20 must not be..
0000A0: 20 20 20 20 20 20 20 20 20 65 78 65 63 75 74 65 execute
0000B0: 64 20 62 79 20 61 20 70 72 6F 67 72 61 6D 2E 0D d by a program..
0000C0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 32 2E 34 20 ..... 2.4
0000D0: 52 41 4D 20 61 6E 64 20 74 68 65 20 46 69 72 6D RAM and the Firm
0000E0: 77 61 72 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ware.......
0000F0: 20 20 54 68 65 20 52 4F 4D 20 73 74 61 74 65 20 The ROM state
000100: 73 68 6F 75 6C 64 20 62 65 20 20 74 72 61 6E 73 should be trans
000110: 70 61 72 65 6E 74 20 20 74 6F 20 20 74 68 65 20 parent to the
000120: 20 75 73 65 72 2E 20 20 49 66 20 20 74 68 65 20 user. If the
000130: 20 63 75 72 72 65 6E 74 0D 0A 20 20 20 20 20 20 current..
000140: 20 66 6F 72 65 67 72 6F 75 6E 64 20 70 72 6F 67 foreground prog
000150: 72 61 6D 20 28 73 65 65 20 73 65 63 74 69 6F 6E ram (see section
000160: 20 39 29 20 69 73 20 69 6E 20 52 4F 4D 20 74 68 9) is in ROM th
000170: 65 6E 20 74 68 65 20 6E 6F 72 6D 61 6C 20 52 4F en the normal RO
000180: 4D 20 73 74 61 74 65 0D 0A 20 20 20 20 20 20 20 M state..
000190: 69 73 20 74 6F 20 68 61 76 65 20 74 68 65 20 75 is to have the u
0001A0: 70 70 65 72 20 52 4F 4D 20 65 6E 61 62 6C 65 64 pper ROM enabled
0001B0: 20 61 6E 64 20 74 68 65 20 6C 6F 77 65 72 20 52 and the lower R
0001C0: 4F 4D 20 20 64 69 73 61 62 6C 65 64 2E 20 20 49 OM disabled. I
0001D0: 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 63 f the.. c
0001E0: 75 72 72 65 6E 74 20 66 6F 72 65 67 72 6F 75 6E urrent foregroun
0001F0: 64 20 70 72 6F 67 72 61 6D 20 69 73 20 69 6E 20 d program is in
Size : 512 (Real : 512)
000000: 52 41 4D 20 74 68 65 6E 20 74 68 65 20 6E 6F 72 RAM then the nor
000010: 6D 61 6C 20 73 74 61 74 65 20 69 73 20 74 6F 20 mal state is to
000020: 20 68 61 76 65 0D 0A 20 20 20 20 20 20 20 62 6F have.. bo
000030: 74 68 20 52 4F 4D 73 20 64 69 73 61 62 6C 65 64 th ROMs disabled
000040: 2E 20 54 68 65 73 65 20 73 74 61 74 65 73 20 61 . These states a
000050: 6C 6C 6F 77 20 20 74 68 65 20 20 66 6F 72 65 67 llow the foreg
000060: 72 6F 75 6E 64 20 20 70 72 6F 67 72 61 6D 20 20 round program
000070: 66 72 65 65 0D 0A 20 20 20 20 20 20 20 61 63 63 free.. acc
000080: 65 73 73 20 74 6F 20 74 68 65 20 6D 65 6D 6F 72 ess to the memor
000090: 79 20 70 6F 6F 6C 2E 20 57 68 65 6E 20 61 20 66 y pool. When a f
0000A0: 69 72 6D 77 61 72 65 20 72 6F 75 74 69 6E 65 20 irmware routine
0000B0: 69 73 20 63 61 6C 6C 65 64 20 74 68 65 20 6C 6F is called the lo
0000C0: 77 65 72 0D 0A 20 20 20 20 20 20 20 52 4F 4D 20 wer.. ROM
0000D0: 69 73 20 65 6E 61 62 6C 65 64 20 61 6E 64 20 74 is enabled and t
0000E0: 68 65 20 75 70 70 65 72 20 52 4F 4D 20 69 73 20 he upper ROM is
0000F0: 75 73 75 61 6C 6C 79 20 64 69 73 61 62 6C 65 64 usually disabled
000100: 2E 20 54 68 69 73 20 61 6C 6C 6F 77 73 20 20 74 . This allows t
000110: 68 65 0D 0A 20 20 20 20 20 20 20 66 69 72 6D 77 he.. firmw
000120: 61 72 65 20 66 72 65 65 20 61 63 63 65 73 73 20 are free access
000130: 74 6F 20 74 68 65 20 64 65 66 61 75 6C 74 20 73 to the default s
000140: 63 72 65 65 6E 20 6D 65 6D 6F 72 79 20 20 28 62 creen memory (b
000150: 75 74 20 20 6E 6F 74 20 20 61 6C 6C 20 20 74 68 ut not all th
000160: 65 0D 0A 20 20 20 20 20 20 20 6D 65 6D 6F 72 79 e.. memory
000170: 20 70 6F 6F 6C 29 2E 20 57 68 65 6E 20 74 68 65 pool). When the
000180: 20 66 69 72 6D 77 61 72 65 20 20 72 6F 75 74 69 firmware routi
000190: 6E 65 20 20 72 65 74 75 72 6E 73 20 20 74 68 65 ne returns the
0001A0: 20 20 52 4F 4D 20 20 73 74 61 74 65 20 20 69 73 ROM state is
0001B0: 0D 0A 20 20 20 20 20 20 20 61 75 74 6F 6D 61 74 .. automat
0001C0: 69 63 61 6C 6C 79 20 72 65 73 74 6F 72 65 64 20 ically restored
0001D0: 74 6F 20 77 68 61 74 20 69 74 20 77 61 73 2E 0D to what it was..
0001E0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
0001F0: 63 61 73 65 73 20 77 68 65 72 65 20 74 68 65 20 cases where the
Size : 512 (Real : 512)
000000: 52 4F 4D 20 73 74 61 74 65 20 69 73 20 69 6D 70 ROM state is imp
000010: 6F 72 74 61 6E 74 20 61 72 65 3A 0D 0A 0D 0A 20 ortant are:....
000020: 20 20 20 20 20 20 61 2E 20 53 74 61 63 6B 0D 0A a. Stack..
000030: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 68 .... The h
000040: 61 72 64 77 61 72 65 20 73 74 61 63 6B 20 73 68 ardware stack sh
000050: 6F 75 6C 64 20 6E 65 76 65 72 20 20 62 65 20 20 ould never be
000060: 62 65 6C 6F 77 20 20 23 34 30 30 30 2C 20 20 6F below #4000, o
000070: 74 68 65 72 77 69 73 65 20 20 73 65 72 69 6F 75 therwise seriou
000080: 73 0D 0A 20 20 20 20 20 20 20 63 6F 6E 66 75 73 s.. confus
000090: 69 6F 6E 20 77 69 6C 6C 20 6F 63 63 75 72 20 77 ion will occur w
0000A0: 68 65 6E 20 74 68 65 20 6C 6F 77 65 72 20 52 4F hen the lower RO
0000B0: 4D 20 69 73 20 65 6E 61 62 6C 65 64 20 61 6E 64 M is enabled and
0000C0: 20 20 74 68 65 20 20 73 74 61 63 6B 20 20 69 73 the stack is
0000D0: 0D 0A 20 20 20 20 20 20 20 75 73 65 64 20 2D 20 .. used -
0000E0: 66 6F 72 20 65 78 61 6D 70 6C 65 2C 20 77 68 65 for example, whe
0000F0: 6E 20 69 6E 74 65 72 72 75 70 74 73 20 6F 63 63 n interrupts occ
000100: 75 72 20 6F 72 20 74 68 65 20 66 69 72 6D 77 61 ur or the firmwa
000110: 72 65 20 69 73 20 63 61 6C 6C 65 64 2E 0D 0A 0D re is called....
000120: 0A 0D 0A 20 20 20 20 20 20 20 53 69 6D 69 6C 61 ... Simila
000130: 72 6C 79 2C 20 69 74 20 69 73 20 69 6E 61 64 76 rly, it is inadv
000140: 69 73 61 62 6C 65 20 74 6F 20 73 65 74 20 74 68 isable to set th
000150: 65 20 73 74 61 63 6B 20 61 62 6F 76 65 20 23 43 e stack above #C
000160: 30 30 30 20 75 6E 6C 65 73 73 20 69 74 20 69 73 000 unless it is
000170: 0D 0A 20 20 20 20 20 20 20 63 65 72 74 61 69 6E .. certain
000180: 20 74 68 61 74 20 74 68 65 20 75 70 70 65 72 20 that the upper
000190: 52 4F 4D 20 69 73 20 6E 65 76 65 72 20 65 6E 61 ROM is never ena
0001A0: 62 6C 65 64 20 77 68 65 6E 20 74 68 65 20 73 74 bled when the st
0001B0: 61 63 6B 20 69 73 20 69 6E 20 75 73 65 2E 0D 0A ack is in use...
0001C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 73 .... The s
0001D0: 79 73 74 65 6D 20 70 72 6F 76 69 64 65 73 20 61 ystem provides a
0001E0: 20 73 74 61 63 6B 20 61 72 65 61 20 69 6D 6D 65 stack area imme
0001F0: 64 69 61 74 6C 65 79 20 62 65 6C 6F 77 20 23 43 diatley below #C
Size : 512 (Real : 512)
000000: 30 30 30 20 77 68 69 63 68 20 69 73 20 6F 76 65 000 which is ove
000010: 72 0D 0A 20 20 20 20 20 20 20 32 35 36 20 62 79 r.. 256 by
000020: 74 65 73 20 6C 6F 6E 67 2E 20 54 68 69 73 20 73 tes long. This s
000030: 68 6F 75 6C 64 20 62 65 20 61 64 65 71 75 61 74 hould be adequat
000040: 65 20 66 6F 72 20 6D 6F 73 74 20 70 75 72 70 6F e for most purpo
000050: 73 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 62 ses..... b
000060: 2E 20 43 6F 6D 6D 75 6E 69 63 61 74 69 6F 6E 20 . Communication
000070: 77 69 74 68 20 74 68 65 20 66 69 72 6D 77 61 72 with the firmwar
000080: 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4D 6F 73 e..... Mos
000090: 74 20 66 69 72 6D 77 61 72 65 20 72 6F 75 74 69 t firmware routi
0000A0: 6E 65 73 20 74 61 6B 65 20 74 68 65 69 72 20 70 nes take their p
0000B0: 61 72 61 6D 65 74 65 72 73 20 20 69 6E 20 20 72 arameters in r
0000C0: 65 67 69 73 74 65 72 73 2E 20 20 48 6F 77 65 76 egisters. Howev
0000D0: 65 72 2C 0D 0A 20 20 20 20 20 20 20 73 6F 6D 65 er,.. some
0000E0: 20 75 73 65 20 64 61 74 61 20 61 72 65 61 73 20 use data areas
0000F0: 69 6E 20 20 6D 65 6D 6F 72 79 20 20 74 6F 20 20 in memory to
000100: 70 61 73 73 20 20 69 6E 66 6F 72 6D 61 74 69 6F pass informatio
000110: 6E 2E 20 20 4D 6F 73 74 20 20 66 69 72 6D 77 61 n. Most firmwa
000120: 72 65 0D 0A 20 20 20 20 20 20 20 72 6F 75 74 69 re.. routi
000130: 6E 65 73 20 74 68 61 74 20 75 73 65 20 64 61 74 nes that use dat
000140: 61 20 61 72 65 61 73 20 69 6E 20 6D 65 6D 6F 72 a areas in memor
000150: 79 20 20 72 65 61 64 20 20 74 68 6F 73 65 20 20 y read those
000160: 64 69 72 65 63 74 6C 79 20 20 77 69 74 68 6F 75 directly withou
000170: 74 0D 0A 20 20 20 20 20 20 20 75 73 69 6E 67 20 t.. using
000180: 52 41 4D 20 4C 41 4D 73 20 28 73 65 65 20 61 62 RAM LAMs (see ab
000190: 6F 76 65 29 20 20 6F 72 20 20 74 68 65 20 20 65 ove) or the e
0001A0: 71 75 69 76 61 6C 65 6E 74 2E 20 20 54 68 65 73 quivalent. Thes
0001B0: 65 20 20 72 6F 75 74 69 6E 65 73 20 20 61 72 65 e routines are
0001C0: 0D 0A 20 20 20 20 20 20 20 61 66 66 65 63 74 65 .. affecte
0001D0: 64 20 62 79 20 74 68 65 20 52 4F 4D 20 73 74 61 d by the ROM sta
0001E0: 74 65 20 61 6E 64 20 74 68 65 20 52 4F 4D 20 73 te and the ROM s
0001F0: 65 6C 65 63 74 2E 20 54 68 65 79 20 77 69 6C 6C elect. They will
Size : 512 (Real : 512)
000000: 20 72 65 61 64 20 64 61 74 61 20 66 72 6F 6D 0D read data from.
000010: 0A 20 20 20 20 20 20 20 61 20 52 4F 4D 20 69 66 . a ROM if
000020: 20 74 68 65 20 52 4F 4D 20 69 73 20 65 6E 61 62 the ROM is enab
000030: 6C 65 64 20 20 61 6E 64 20 20 74 68 65 20 20 72 led and the r
000040: 6F 75 74 69 6E 65 20 20 69 73 20 20 67 69 76 65 outine is give
000050: 6E 20 20 61 20 20 73 75 69 74 61 62 6C 65 0D 0A n a suitable..
000060: 20 20 20 20 20 20 20 61 64 64 72 65 73 73 2E 20 address.
000070: 28 4E 6F 74 65 20 74 68 61 74 20 74 68 65 20 6A (Note that the j
000080: 75 6D 70 62 6C 6F 63 6B 20 64 69 73 61 62 6C 65 umpblock disable
000090: 73 20 20 74 68 65 20 20 75 70 70 65 72 20 20 52 s the upper R
0000A0: 4F 4D 20 20 77 68 65 6E 20 20 74 68 65 0D 0A 20 OM when the..
0000B0: 20 20 20 20 20 20 66 69 72 6D 77 61 72 65 20 69 firmware i
0000C0: 73 20 63 61 6C 6C 65 64 29 2E 20 4F 74 68 65 72 s called). Other
0000D0: 20 66 69 72 6D 77 61 72 65 20 72 6F 75 74 69 6E firmware routin
0000E0: 65 73 20 74 68 61 74 20 75 73 65 20 20 64 61 74 es that use dat
0000F0: 61 20 20 61 72 65 61 73 20 20 69 6E 0D 0A 20 20 a areas in..
000100: 20 20 20 20 20 6D 65 6D 6F 72 79 20 61 6C 77 61 memory alwa
000110: 79 73 20 72 65 61 64 20 66 72 6F 6D 20 52 41 4D ys read from RAM
000120: 2E 20 54 68 65 79 20 61 72 65 20 75 6E 61 66 66 . They are unaff
000130: 65 63 74 65 64 20 62 79 20 74 68 65 20 52 4F 4D ected by the ROM
000140: 20 73 74 61 74 65 20 20 61 6E 64 0D 0A 20 20 20 state and..
000150: 20 20 20 20 74 68 65 20 52 4F 4D 20 73 65 6C 65 the ROM sele
000160: 63 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ct.......
000170: 52 6F 75 74 69 6E 65 73 20 74 68 61 74 20 61 6C Routines that al
000180: 77 61 79 73 20 61 63 63 65 73 73 20 52 41 4D 20 ways access RAM
000190: 77 69 6C 6C 20 6D 65 6E 74 69 6F 6E 20 74 68 69 will mention thi
0001A0: 73 20 69 6E 20 20 74 68 65 20 20 64 65 73 63 72 s in the descr
0001B0: 69 70 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 6F iption.. o
0001C0: 66 20 74 68 65 20 72 6F 75 74 69 6E 65 2E 20 4F f the routine. O
0001D0: 74 68 65 72 20 72 6F 75 74 69 6E 65 73 20 6D 61 ther routines ma
0001E0: 79 20 62 65 20 61 73 73 75 6D 65 64 20 74 6F 20 y be assumed to
0001F0: 62 65 20 20 61 66 66 65 63 74 65 64 20 20 62 79 be affected by
Size : 512 (Real : 512)
000000: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 52 4F the.. RO
000010: 4D 20 73 74 61 74 65 2E 20 49 6E 20 70 61 72 74 M state. In part
000020: 69 63 75 6C 61 72 20 74 68 65 20 76 61 72 69 6F icular the vario
000030: 75 73 20 64 61 74 61 20 62 6C 6F 63 6B 73 20 75 us data blocks u
000040: 73 65 64 20 20 62 79 20 20 74 68 65 20 20 4B 65 sed by the Ke
000050: 72 6E 65 6C 0D 0A 20 20 20 20 20 20 20 6D 75 73 rnel.. mus
000060: 74 20 6C 69 65 20 69 6E 20 74 68 65 20 63 65 6E t lie in the cen
000070: 74 72 61 6C 20 33 32 4B 20 6F 66 20 52 41 4D 20 tral 32K of RAM
000080: 66 6F 72 20 74 68 65 20 4B 65 72 6E 65 6C 20 74 for the Kernel t
000090: 6F 20 62 65 20 20 61 62 6C 65 20 20 74 6F 20 20 o be able to
0000A0: 75 73 65 0D 0A 20 20 20 20 20 20 20 74 68 65 6D use.. them
0000B0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 ..... AMST
0000C0: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
0000D0: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 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 32 page 2
000100: 2E 35 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A .5..............
000110: 20 20 20 20 20 20 20 63 2E 20 43 6F 6D 6D 75 6E c. Commun
000120: 69 63 61 74 69 6F 6E 20 62 65 74 77 65 65 6E 20 ication between
000130: 75 70 70 65 72 20 52 4F 4D 73 2E 0D 0A 0D 0A 0D upper ROMs......
000140: 0A 0D 0A 20 20 20 20 20 20 20 50 72 6F 67 72 61 ... Progra
000150: 6D 73 20 69 6E 20 75 70 70 65 72 20 52 4F 4D 73 ms in upper ROMs
000160: 20 6D 61 79 20 63 61 6C 6C 20 72 6F 75 74 69 6E may call routin
000170: 65 73 20 20 69 6E 20 20 6F 74 68 65 72 20 20 52 es in other R
000180: 4F 4D 73 2C 20 20 75 73 69 6E 67 20 20 74 68 65 OMs, using the
000190: 0D 0A 20 20 20 20 20 20 20 76 61 72 69 6F 75 73 .. various
0001A0: 20 4B 65 72 6E 65 6C 20 46 61 63 69 6C 69 74 69 Kernel Faciliti
0001B0: 65 73 2E 20 54 68 65 72 65 20 69 73 20 20 6E 6F es. There is no
0001C0: 20 20 70 72 6F 76 69 73 69 6F 6E 20 20 69 6E 20 provision in
0001D0: 20 74 68 65 20 20 66 69 72 6D 77 61 72 65 2C 0D the firmware,.
0001E0: 0A 20 20 20 20 20 20 20 68 6F 77 65 76 65 72 2C . however,
0001F0: 20 66 6F 72 20 61 20 70 72 6F 67 72 61 6D 20 69 for a program i
Size : 512 (Real : 512)
000000: 6E 20 6F 6E 65 20 52 4F 4D 20 74 6F 20 61 63 63 n one ROM to acc
000010: 65 73 73 20 63 6F 6E 73 74 61 6E 74 73 20 69 6E ess constants in
000020: 20 61 6E 6F 74 68 65 72 2E 0D 0A 0D 0A 0D 0A 0D another........
000030: 0A 20 20 20 20 20 20 20 54 68 65 20 20 6D 61 6A . The maj
000040: 6F 72 69 74 79 20 20 6F 66 20 20 66 69 72 6D 77 ority of firmw
000050: 61 72 65 20 20 72 6F 75 74 69 6E 65 73 20 20 61 are routines a
000060: 72 65 20 20 63 61 6C 6C 65 64 20 20 76 69 61 20 re called via
000070: 20 74 68 65 20 20 66 69 72 6D 77 61 72 65 0D 0A the firmware..
000080: 20 20 20 20 20 20 20 6A 75 6D 70 62 6C 6F 63 6B jumpblock
000090: 2C 20 77 68 69 63 68 20 73 74 61 72 74 73 20 61 , which starts a
0000A0: 74 20 6C 6F 63 61 74 69 6F 6E 20 23 42 42 30 30 t location #BB00
0000B0: 2C 20 69 6E 20 74 68 65 20 66 69 72 6D 77 61 72 , in the firmwar
0000C0: 65 20 20 52 41 4D 20 20 61 72 65 61 2E 0D 0A 0D e RAM area....
0000D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
0000E0: 4B 65 72 6E 65 6C 20 72 6F 75 74 69 6E 65 73 20 Kernel routines
0000F0: 61 73 73 6F 63 69 61 74 65 64 20 77 69 74 68 20 associated with
000100: 74 68 65 20 6D 65 6D 6F 72 79 20 6D 61 70 20 61 the memory map a
000110: 72 65 20 63 61 6C 6C 65 64 20 76 69 61 20 20 6F re called via o
000120: 6E 65 0D 0A 20 20 20 20 20 20 20 6F 72 20 74 77 ne.. or tw
000130: 6F 20 6F 74 68 65 72 20 6A 75 6D 70 62 6C 6F 63 o other jumpbloc
000140: 6B 20 61 72 65 61 73 3A 20 74 68 65 20 4C 4F 57 k areas: the LOW
000150: 20 61 72 65 61 20 62 65 74 77 65 65 6E 20 20 23 area between #
000160: 30 30 30 30 20 20 61 6E 64 20 20 23 30 30 33 46 0000 and #003F
000170: 2C 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 74 68 ,.. and th
000180: 65 20 48 49 47 48 20 61 72 65 61 20 20 73 74 61 e HIGH area sta
000190: 72 74 69 6E 67 20 20 61 74 20 20 23 42 39 30 30 rting at #B900
0001A0: 2E 20 20 41 6C 6C 20 20 6F 66 20 20 74 68 65 73 . All of thes
0001B0: 65 20 20 72 6F 75 74 69 6E 65 73 20 20 61 6E 64 e routines and
0001C0: 0D 0A 20 20 20 20 20 20 20 6A 75 6D 70 62 6C 6F .. jumpblo
0001D0: 63 6B 73 20 61 72 65 20 63 6F 70 69 65 64 20 6F cks are copied o
0001E0: 75 74 20 6F 66 20 74 68 65 20 6C 6F 77 65 72 20 ut of the lower
0001F0: 52 4F 4D 20 69 6E 74 6F 20 74 68 65 20 66 69 72 ROM into the fir
Size : 512 (Real : 512)
000000: 6D 77 61 72 65 20 52 41 4D 20 20 61 72 65 61 0D mware RAM area.
000010: 0A 20 20 20 20 20 20 20 77 68 65 6E 20 74 68 65 . when the
000020: 20 4B 65 72 6E 65 6C 20 69 73 20 69 6E 69 74 69 Kernel is initi
000030: 61 6C 69 7A 65 64 2E 20 54 68 75 73 20 74 68 65 alized. Thus the
000040: 79 20 77 6F 72 6B 20 20 69 6E 64 65 70 65 6E 64 y work independ
000050: 65 6E 74 6C 79 20 20 6F 66 20 20 74 68 65 0D 0A ently of the..
000060: 20 20 20 20 20 20 20 52 4F 4D 20 73 74 61 74 65 ROM state
000070: 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000080: 32 2E 35 20 42 61 6E 6B 20 53 77 69 74 63 68 69 2.5 Bank Switchi
000090: 6E 67 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ng.........
0000A0: 20 20 54 68 65 20 55 4C 41 20 69 6E 20 74 68 65 The ULA in the
0000B0: 20 43 50 43 36 31 32 38 20 69 6E 63 6C 75 64 65 CPC6128 include
0000C0: 73 20 63 69 72 63 75 69 74 72 79 20 66 6F 72 20 s circuitry for
0000D0: 62 61 6E 6B 20 73 77 69 74 63 68 69 6E 67 20 31 bank switching 1
0000E0: 32 38 4B 20 20 52 41 4D 0D 0A 20 20 20 20 20 20 28K RAM..
0000F0: 20 69 6E 74 6F 20 74 68 65 20 36 34 4B 20 6D 65 into the 64K me
000100: 6D 6F 72 79 20 6D 61 70 20 64 65 73 63 72 69 62 mory map describ
000110: 65 64 20 69 6E 20 73 65 63 74 69 6F 6E 20 32 2E ed in section 2.
000120: 31 2E 20 20 54 68 65 20 20 62 61 6E 6B 20 20 73 1. The bank s
000130: 77 69 74 63 68 65 64 0D 0A 20 20 20 20 20 20 20 witched..
000140: 52 41 4D 20 72 65 70 6C 61 63 65 73 20 74 68 65 RAM replaces the
000150: 20 52 41 4D 20 69 6E 20 74 68 65 20 6D 65 6D 6F RAM in the memo
000160: 72 79 20 6D 61 70 20 61 74 20 23 30 30 30 30 2E ry map at #0000.
000170: 2E 23 33 46 46 46 2C 20 20 23 34 30 30 30 2E 2E .#3FFF, #4000..
000180: 23 37 46 46 46 2C 0D 0A 20 20 20 20 20 20 20 23 #7FFF,.. #
000190: 38 30 30 30 2E 2E 23 42 46 46 46 20 61 6E 64 20 8000..#BFFF and
0001A0: 23 43 30 30 30 2E 2E 23 46 46 46 46 2E 20 54 68 #C000..#FFFF. Th
0001B0: 65 20 75 73 65 72 20 63 61 6E 20 73 65 6C 65 63 e user can selec
0001C0: 74 20 61 6E 20 6F 72 67 61 6E 69 7A 61 74 69 6F t an organizatio
0001D0: 6E 20 20 62 79 0D 0A 20 20 20 20 20 20 20 63 61 n by.. ca
0001E0: 6C 6C 69 6E 67 20 4B 4C 20 42 41 4E 4B 20 53 45 lling KL BANK SE
0001F0: 4C 45 43 54 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 LECT.........
Size : 512 (Real : 512)
000000: 20 20 20 20 54 68 65 20 62 6C 6F 63 6B 73 20 61 The blocks a
000010: 76 61 69 6C 61 62 6C 65 20 69 6E 20 65 61 63 68 vailable in each
000020: 20 6F 72 67 61 6E 69 7A 61 74 69 6F 6E 20 61 72 organization ar
000030: 65 20 61 73 20 66 6F 6C 6C 6F 77 73 3A 0D 0A 0D e as follows:...
000040: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000050: 20 20 20 20 20 4F 72 67 61 6E 69 7A 61 74 69 6F Organizatio
000060: 6E 20 20 20 20 20 20 20 20 42 6C 6F 63 6B 20 61 n Block a
000070: 63 63 65 73 73 65 64 20 61 74 20 6D 65 6D 6F 72 ccessed at memor
000080: 79 20 61 64 64 72 65 73 73 0D 0A 20 20 20 20 20 y address..
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: 30 30 30 30 20 20 20 20 20 23 34 30 30 30 20 20 0000 #4000
0000C0: 20 20 20 23 38 30 30 30 20 20 20 20 20 23 43 30 #8000 #C0
0000D0: 30 30 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 00..
0000E0: 20 20 20 20 20 20 20 20 20 30 20 20 20 20 20 20 0
0000F0: 20 20 20 20 20 20 20 20 20 20 30 20 20 20 20 20 0
000100: 20 20 20 20 31 20 20 20 20 20 20 20 20 20 32 20 1 2
000110: 20 20 20 20 20 20 20 20 33 0D 0A 20 20 20 20 20 3..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1
000140: 20 30 20 20 20 20 20 20 20 20 20 31 20 20 20 20 0 1
000150: 20 20 20 20 20 32 20 20 20 20 20 20 20 20 20 37 2 7
000160: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000170: 20 20 20 20 20 20 20 32 20 20 20 20 20 20 20 20 2
000180: 20 20 20 20 20 20 20 20 34 20 20 20 20 20 20 20 4
000190: 20 20 35 20 20 20 20 20 20 20 20 20 36 20 20 20 5 6
0001A0: 20 20 20 20 20 20 37 0D 0A 20 20 20 20 20 20 20 7..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 20 3
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 0
0001D0: 20 20 20 20 20 20 20 20 20 33 20 20 20 20 20 20 3
0001E0: 20 20 20 32 20 20 20 20 20 20 20 20 20 37 0D 0A 2 7..
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 34 20 20 20 20 20 20 20 20 20 20 4
000010: 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 0
000020: 34 20 20 20 20 20 20 20 20 20 32 20 20 20 20 20 4 2
000030: 20 20 20 20 33 0D 0A 20 20 20 20 20 20 20 20 20 3..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 35 20 20 20 5
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 30 20 20 0
000060: 20 20 20 20 20 20 20 35 20 20 20 20 20 20 20 20 5
000070: 20 32 20 20 20 20 20 20 20 20 20 33 0D 0A 20 20 2 3..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 20 20 36 20 20 20 20 20 20 20 20 20 20 20 20 6
0000A0: 20 20 20 20 30 20 20 20 20 20 20 20 20 20 36 20 0 6
0000B0: 20 20 20 20 20 20 20 20 32 20 20 20 20 20 20 20 2
0000C0: 20 20 33 0D 0A 20 20 20 20 20 20 20 20 20 20 20 3..
0000D0: 20 20 20 20 20 20 20 20 20 20 37 20 20 20 20 20 7
0000E0: 20 20 20 20 20 20 20 20 20 20 20 30 20 20 20 20 0
0000F0: 20 20 20 20 20 37 20 20 20 20 20 20 20 20 20 32 7 2
000100: 20 20 20 20 20 20 20 20 20 33 0D 0A 0D 0A 0D 0A 3......
000110: 0D 0A 20 20 20 20 20 20 20 44 75 72 69 6E 67 20 .. During
000120: 45 4D 53 20 20 74 68 65 20 20 43 50 43 36 31 32 EMS the CPC612
000130: 38 20 20 73 65 6C 65 63 74 73 20 20 6F 72 67 61 8 selects orga
000140: 6E 69 7A 61 74 69 6F 6E 20 20 30 20 20 61 6E 64 nization 0 and
000150: 20 20 74 68 69 73 20 20 69 73 20 20 74 68 65 0D this is the.
000160: 0A 20 20 20 20 20 20 20 6F 72 67 61 6E 69 7A 61 . organiza
000170: 74 69 6F 6E 20 6E 6F 72 6D 61 6C 6C 79 20 61 73 tion normally as
000180: 73 6F 63 69 61 74 65 64 20 77 69 74 68 20 74 68 sociated with th
000190: 65 20 66 69 72 6D 77 61 72 65 2E 20 4E 6F 74 65 e firmware. Note
0001A0: 20 74 68 61 74 20 62 6C 6F 63 6B 73 20 30 0D 0A that blocks 0..
0001B0: 20 20 20 20 20 20 20 61 6E 64 20 32 20 63 6F 6E and 2 con
0001C0: 74 61 69 6E 20 66 69 72 6D 77 61 72 65 20 76 61 tain firmware va
0001D0: 72 69 61 62 6C 65 73 2C 20 66 69 72 6D 77 61 72 riables, firmwar
0001E0: 65 20 6A 75 6D 70 62 6C 6F 63 6B 73 20 61 6E 64 e jumpblocks and
0001F0: 20 20 74 68 65 20 20 73 74 61 63 6B 2E 0D 0A 20 the stack...
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 41 6C 6C 20 74 68 65 73 65 20 All these
000010: 6E 65 65 64 20 74 6F 20 62 65 20 69 6E 20 74 68 need to be in th
000020: 65 69 72 20 63 6F 72 72 65 63 74 20 70 6C 61 63 eir correct plac
000030: 65 73 20 66 6F 72 20 74 68 65 20 66 69 72 6D 77 es for the firmw
000040: 61 72 65 20 74 6F 20 72 75 6E 2E 0D 0A 0D 0A 0D are to run......
000050: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
000060: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000070: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 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 70 61 67 65 20 32 2E 36 0D 0A page 2.6..
0000A0: 1A 0D 0A 1A 72 74 20 49 6E 73 74 72 75 63 74 69 ....rt Instructi
0000B0: 6F 6E 73 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ons......
0000C0: 54 68 65 20 73 79 73 74 65 6D 20 68 61 73 20 33 The system has 3
0000D0: 32 4B 20 6F 66 20 52 4F 4D 20 61 6E 64 20 36 34 2K of ROM and 64
0000E0: 4B 20 6F 66 20 52 41 4D 20 20 69 6E 20 20 74 68 K of RAM in th
0000F0: 65 20 20 5A 38 30 27 73 20 20 36 34 4B 20 20 61 e Z80's 64K a
000100: 20 20 20 20 20 20 20 20 20 33 0D 0A 0D 0A 0D 0A 3......
000110: 0D 0A 20 20 20 20 20 20 20 44 75 72 69 6E 67 20 .. During
000120: 45 4D 53 20 20 74 68 65 20 20 43 50 43 36 31 32 EMS the CPC612
000130: 38 20 20 73 65 6C 65 63 74 73 20 20 6F 72 67 61 8 selects orga
000140: 6E 69 7A 61 74 69 6F 6E 20 20 30 20 20 61 6E 64 nization 0 and
000150: 20 20 74 68 69 73 20 20 69 73 20 20 74 68 65 0D this is the.
000160: 0A 20 20 20 20 20 20 20 6F 72 67 61 6E 69 7A 61 . organiza
000170: 74 69 6F 6E 20 6E 6F 72 6D 61 6C 6C 79 20 61 73 tion normally as
000180: 73 6F 63 69 61 74 65 64 20 77 69 74 68 20 74 68 sociated with th
000190: 65 20 66 69 72 6D 77 61 72 65 2E 20 4E 6F 74 65 e firmware. Note
0001A0: 20 74 68 61 74 20 62 6C 6F 63 6B 73 20 30 0D 0A that blocks 0..
0001B0: 20 20 20 20 20 20 20 61 6E 64 20 32 20 63 6F 6E and 2 con
0001C0: 74 61 69 6E 20 66 69 72 6D 77 61 72 65 20 76 61 tain firmware va
0001D0: 72 69 61 62 6C 65 73 2C 20 66 69 72 6D 77 61 72 riables, firmwar
0001E0: 65 20 6A 75 6D 70 62 6C 6F 63 6B 73 20 61 6E 64 e jumpblocks and
0001F0: 20 20 74 68 65 20 20 73 74 61 63 6B 2E 0D 0A 20 the stack...
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 54 68 65 20 64 6F 63 75 6D 65 6E 74 61 The documenta
000020: 74 69 6F 6E 20 66 6F 72 20 61 20 6E 75 6D 62 65 tion for a numbe
000030: 72 20 6F 66 20 20 66 69 72 6D 77 61 72 65 20 20 r of firmware
000040: 72 6F 75 74 69 6E 65 73 20 20 73 70 65 63 69 66 routines specif
000050: 69 65 73 20 20 74 68 61 74 0D 0A 20 20 20 20 20 ies that..
000060: 20 20 64 61 74 61 20 62 6C 6F 63 6B 73 20 70 61 data blocks pa
000070: 73 73 65 64 20 74 6F 20 74 68 65 6D 20 73 68 6F ssed to them sho
000080: 75 6C 64 20 62 65 20 69 6E 20 74 68 65 20 20 63 uld be in the c
000090: 65 6E 74 72 61 6C 20 20 33 32 4B 20 20 6D 65 6D entral 32K mem
0000A0: 6F 72 79 2E 20 20 49 6E 0D 0A 20 20 20 20 20 20 ory. In..
0000B0: 20 6D 6F 73 74 20 63 61 73 65 73 20 69 74 20 64 most cases it d
0000C0: 6F 65 73 20 6E 6F 74 20 6D 61 74 74 65 72 20 20 oes not matter
0000D0: 77 68 69 63 68 20 20 62 6C 6F 63 6B 73 20 20 61 which blocks a
0000E0: 72 65 20 20 73 77 69 74 63 68 65 64 20 20 69 6E re switched in
0000F0: 74 6F 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 to the..
000100: 6D 65 6D 6F 72 79 20 6D 61 70 20 61 74 20 74 68 memory map at th
000110: 65 73 65 20 70 6C 61 63 65 73 2C 20 68 6F 77 65 ese places, howe
000120: 76 65 72 2C 20 74 68 65 20 4B 65 72 6E 65 6C 20 ver, the Kernel
000130: 61 63 63 65 73 73 65 73 20 20 64 61 74 61 20 20 accesses data
000140: 62 6C 6F 63 6B 73 0D 0A 20 20 20 20 20 20 20 70 blocks.. p
000150: 61 73 73 65 64 20 74 6F 20 69 74 20 28 65 2E 67 assed to it (e.g
000160: 2E 20 74 69 63 6B 65 72 20 62 6C 6F 63 6B 73 20 . ticker blocks
000170: 6F 72 20 52 53 58 20 20 63 6F 6D 6D 61 6E 64 20 or RSX command
000180: 20 74 61 62 6C 65 73 29 20 20 61 74 20 20 76 61 tables) at va
000190: 72 69 6F 75 73 0D 0A 20 20 20 20 20 20 20 74 69 rious.. ti
0001A0: 6D 65 73 20 28 65 2E 67 2E 20 64 75 72 69 6E 67 mes (e.g. during
0001B0: 20 69 6E 74 65 72 72 75 70 74 73 20 6F 72 20 20 interrupts or
0001C0: 65 76 65 6E 74 20 20 70 72 6F 63 65 73 73 69 6E event processin
0001D0: 67 29 20 20 61 6E 64 20 20 69 74 20 20 68 61 73 g) and it has
0001E0: 20 20 6E 6F 0D 0A 20 20 20 20 20 20 20 63 6F 6E no.. con
0001F0: 74 72 6F 6C 20 6F 76 65 72 20 74 68 65 20 62 61 trol over the ba
Size : 512 (Real : 512)
000000: 6E 6B 20 73 77 69 74 63 68 69 6E 67 20 61 74 20 nk switching at
000010: 73 75 63 68 20 74 69 6D 65 73 2E 20 49 74 20 69 such times. It i
000020: 73 20 75 70 20 74 6F 20 74 68 65 20 75 73 65 72 s up to the user
000030: 20 74 6F 0D 0A 20 20 20 20 20 20 20 65 6E 73 75 to.. ensu
000040: 72 65 20 74 68 61 74 20 20 74 68 65 20 20 4B 65 re that the Ke
000050: 72 6E 65 6C 20 20 69 73 20 20 6F 6E 6C 79 20 20 rnel is only
000060: 70 61 73 73 65 64 20 20 64 61 74 61 20 20 62 6C passed data bl
000070: 6F 63 6B 73 20 20 74 68 61 74 20 20 72 65 6D 61 ocks that rema
000080: 69 6E 0D 0A 20 20 20 20 20 20 20 61 63 63 65 73 in.. acces
000090: 73 61 62 6C 65 2E 20 54 68 65 20 73 69 6D 70 6C sable. The simpl
0000A0: 65 73 74 20 73 6F 6C 75 74 69 6F 6E 20 74 6F 20 est solution to
0000B0: 74 68 69 73 20 70 72 6F 62 6C 65 6D 20 69 73 20 this problem is
0000C0: 20 74 6F 20 20 65 6E 73 75 72 65 20 20 74 68 61 to ensure tha
0000D0: 74 0D 0A 20 20 20 20 20 20 20 61 6C 6C 20 4B 65 t.. all Ke
0000E0: 72 6E 65 6C 20 64 61 74 61 20 62 6C 6F 63 6B 73 rnel data blocks
0000F0: 20 61 72 65 20 6C 6F 63 61 74 65 64 20 20 69 6E are located in
000100: 20 20 62 6C 6F 63 6B 20 20 32 20 20 28 62 65 74 block 2 (bet
000110: 77 65 65 6E 20 20 23 38 30 30 30 20 20 61 6E 64 ween #8000 and
000120: 0D 0A 20 20 20 20 20 20 20 23 42 46 46 46 29 2E .. #BFFF).
000130: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4F ........ O
000140: 72 67 61 6E 69 7A 61 74 69 6F 6E 73 20 34 2E 2E rganizations 4..
000150: 37 20 61 72 65 20 74 68 65 20 66 69 72 6D 77 61 7 are the firmwa
000160: 72 65 20 20 6F 72 67 61 6E 69 7A 61 74 69 6F 6E re organization
000170: 20 20 77 69 74 68 20 20 61 20 20 6E 65 77 20 20 with a new
000180: 62 6C 6F 63 6B 0D 0A 20 20 20 20 20 20 20 73 77 block.. sw
000190: 69 74 63 68 65 64 20 69 6E 74 6F 20 74 68 65 20 itched into the
0001A0: 6D 65 6D 6F 72 79 20 6D 61 70 20 61 74 20 23 34 memory map at #4
0001B0: 30 30 30 2E 20 54 68 65 73 65 20 6F 72 67 61 6E 000. These organ
0001C0: 69 7A 61 74 69 6F 6E 73 20 63 61 6E 20 62 65 20 izations can be
0001D0: 75 73 65 64 0D 0A 20 20 20 20 20 20 20 74 6F 20 used.. to
0001E0: 61 63 63 65 73 73 20 70 72 6F 67 72 61 6D 73 20 access programs
0001F0: 6F 72 20 64 61 74 61 20 73 74 6F 72 65 64 20 69 or data stored i
Size : 512 (Real : 512)
000000: 6E 20 62 6C 6F 63 6B 73 20 34 2E 2E 37 2E 0D 0A n blocks 4..7...
000010: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4F 72 67 ...... Org
000020: 61 6E 69 7A 61 74 69 6F 6E 73 20 31 2E 2E 32 20 anizations 1..2
000030: 61 72 65 20 75 73 65 64 20 62 79 20 43 50 2F 4D are used by CP/M
000040: 20 50 6C 75 73 20 61 6E 64 20 61 72 65 20 6E 6F Plus and are no
000050: 74 20 20 72 65 61 6C 6C 79 20 20 73 75 69 74 61 t really suita
000060: 62 6C 65 0D 0A 20 20 20 20 20 20 20 66 6F 72 20 ble.. for
000070: 67 65 6E 65 72 61 6C 20 75 73 65 2E 20 49 6E 20 general use. In
000080: 70 61 72 74 69 63 75 6C 61 72 2C 20 69 66 20 6F particular, if o
000090: 72 67 61 6E 69 7A 61 74 69 6F 6E 20 32 20 69 73 rganization 2 is
0000A0: 20 20 73 65 6C 65 63 74 65 64 20 20 69 74 20 20 selected it
0000B0: 69 73 0D 0A 20 20 20 20 20 20 20 6E 65 63 65 73 is.. neces
0000C0: 73 61 72 79 20 74 6F 20 70 61 74 63 68 20 61 20 sary to patch a
0000D0: 70 72 6F 67 61 6D 20 69 6E 74 6F 20 52 41 4D 20 progam into RAM
0000E0: 61 74 20 23 30 30 33 38 20 74 6F 20 63 61 74 63 at #0038 to catc
0000F0: 68 20 69 6E 74 65 72 72 75 70 74 73 20 20 61 6E h interrupts an
000100: 64 0D 0A 20 20 20 20 20 20 20 74 6F 20 62 61 6E d.. to ban
000110: 6B 20 73 77 69 74 63 68 20 62 61 63 6B 20 74 6F k switch back to
000120: 20 61 20 6D 6F 72 65 20 6E 6F 72 6D 61 6C 20 6F a more normal o
000130: 72 67 61 6E 69 7A 61 74 69 6F 6E 20 20 28 65 2E rganization (e.
000140: 67 2E 20 20 6F 72 67 61 6E 69 7A 61 74 69 6F 6E g. organization
000150: 0D 0A 20 20 20 20 20 20 20 31 29 20 74 6F 20 72 .. 1) to r
000160: 75 6E 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 un the standard
000170: 69 6E 74 65 72 72 75 70 74 20 63 6F 64 65 2E 0D interrupt code..
000180: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4F 72 ....... Or
000190: 67 61 6E 69 7A 61 74 69 6F 6E 20 33 20 69 73 20 ganization 3 is
0001A0: 61 6C 73 6F 20 75 73 65 64 20 62 79 20 43 50 2F also used by CP/
0001B0: 4D 20 50 6C 75 73 20 62 75 74 20 69 74 20 69 73 M Plus but it is
0001C0: 20 6F 66 20 20 69 6E 74 65 72 65 73 74 20 20 73 of interest s
0001D0: 69 6E 63 65 0D 0A 20 20 20 20 20 20 20 69 74 20 ince.. it
0001E0: 68 61 73 20 74 68 65 20 52 41 4D 20 75 73 75 61 has the RAM usua
0001F0: 6C 6C 79 20 75 73 65 64 20 66 6F 72 20 74 68 65 lly used for the
Size : 512 (Real : 512)
000000: 20 73 63 72 65 65 6E 20 6C 6F 63 61 74 65 64 20 screen located
000010: 61 74 20 23 34 30 30 30 20 20 77 68 65 72 65 20 at #4000 where
000020: 20 69 74 0D 0A 20 20 20 20 20 20 20 63 61 6E 20 it.. can
000030: 62 65 20 61 63 63 65 73 73 65 64 20 77 69 74 68 be accessed with
000040: 6F 75 74 20 64 69 73 61 62 6C 69 6E 67 20 74 68 out disabling th
000050: 65 20 75 70 70 65 72 20 52 4F 4D 2E 0D 0A 0D 0A e upper ROM.....
000060: 0D 0A 0D 0A 20 20 20 20 20 20 20 42 61 6E 6B 20 .... Bank
000070: 73 77 69 74 63 68 69 6E 67 20 68 61 73 20 6E 6F switching has no
000080: 20 65 66 66 65 63 74 20 6F 6E 20 74 68 65 20 43 effect on the C
000090: 52 54 43 2E 20 42 61 73 65 20 61 64 64 72 65 73 RTC. Base addres
0000A0: 73 65 73 20 23 30 30 30 30 2C 20 23 34 30 30 30 ses #0000, #4000
0000B0: 2C 0D 0A 20 20 20 20 20 20 20 23 38 30 30 30 20 ,.. #8000
0000C0: 61 6E 64 20 23 43 30 30 30 20 63 6F 72 72 65 73 and #C000 corres
0000D0: 70 6F 6E 64 20 74 6F 20 74 68 65 20 73 63 72 65 pond to the scre
0000E0: 65 6E 20 62 65 69 6E 67 20 69 6E 20 62 6C 6F 63 en being in bloc
0000F0: 6B 73 20 30 2C 20 31 2C 20 32 20 61 6E 64 20 33 ks 0, 1, 2 and 3
000100: 0D 0A 20 20 20 20 20 20 20 72 65 73 70 65 63 74 .. respect
000110: 69 76 65 6C 79 2E 20 49 74 20 69 73 20 6E 6F 74 ively. It is not
000120: 20 70 6F 73 73 69 62 6C 65 20 74 6F 20 6C 6F 63 possible to loc
000130: 61 74 65 20 74 68 65 20 73 63 72 65 65 6E 20 69 ate the screen i
000140: 6E 20 62 6C 6F 63 6B 73 20 20 34 2E 2E 37 2E 0D n blocks 4..7..
000150: 0A 20 20 20 20 20 20 20 48 6F 77 65 76 65 72 2C . However,
000160: 20 74 68 65 20 66 69 72 6D 77 61 72 65 20 72 6F the firmware ro
000170: 75 74 69 6E 65 73 20 66 6F 72 20 61 63 63 65 73 utines for acces
000180: 73 69 6E 67 20 20 74 68 65 20 20 73 63 72 65 65 sing the scree
000190: 6E 20 20 6D 65 6D 6F 72 79 20 20 61 72 65 0D 0A n memory are..
0001A0: 20 20 20 20 20 20 20 61 66 66 65 63 74 65 64 20 affected
0001B0: 62 79 20 62 61 6E 6B 20 73 77 69 74 63 68 69 6E by bank switchin
0001C0: 67 2E 20 46 6F 72 20 65 78 61 6D 70 6C 65 2C 20 g. For example,
0001D0: 69 66 20 61 20 62 61 73 65 20 61 64 64 72 65 73 if a base addres
0001E0: 73 20 6F 66 20 23 43 30 30 30 20 69 73 0D 0A 20 s of #C000 is..
0001F0: 20 20 20 20 20 20 73 65 74 20 69 6E 20 6F 72 67 set in org
Size : 512 (Real : 512)
000000: 61 6E 69 7A 61 74 69 6F 6E 20 33 20 74 68 65 6E anization 3 then
000010: 20 74 68 65 20 66 69 72 6D 77 61 72 65 20 77 69 the firmware wi
000020: 6C 6C 20 62 65 20 75 6E 61 62 6C 65 20 74 6F 20 ll be unable to
000030: 20 61 63 63 65 73 73 20 20 74 68 65 0D 0A 20 20 access the..
000040: 20 20 20 20 20 73 63 72 65 65 6E 20 6D 65 6D 6F screen memo
000050: 72 79 20 73 69 6E 63 65 20 62 6C 6F 63 6B 20 31 ry since block 1
000060: 20 69 73 20 6E 6F 74 20 69 6E 20 74 68 65 20 6D is not in the m
000070: 65 6D 6F 72 79 20 6D 61 70 2E 20 28 53 65 65 20 emory map. (See
000080: 73 65 63 74 69 6F 6E 20 36 2E 34 0D 0A 20 20 20 section 6.4..
000090: 20 20 20 20 66 6F 72 20 61 20 66 75 6C 6C 20 64 for a full d
0000A0: 65 73 63 72 69 70 74 69 6F 6E 20 6F 66 20 74 68 escription of th
0000B0: 65 20 73 63 72 65 65 6E 20 6D 65 6D 6F 72 79 20 e screen memory
0000C0: 6D 61 70 29 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 map).........
0000D0: 20 20 20 20 4F 72 67 61 6E 69 7A 61 74 69 6F 6E Organization
0000E0: 73 20 34 2E 2E 37 20 63 61 6E 20 62 65 20 75 73 s 4..7 can be us
0000F0: 65 64 20 74 6F 20 73 65 74 20 75 70 20 61 20 63 ed to set up a c
000100: 6F 6D 70 6C 65 74 65 20 73 63 72 65 65 6E 20 69 omplete screen i
000110: 6E 20 20 6F 6E 65 20 20 67 6F 0D 0A 20 20 20 20 n one go..
000120: 20 20 20 62 79 20 75 73 69 6E 67 20 53 43 52 20 by using SCR
000130: 53 45 54 20 50 4F 53 49 54 49 4F 4E 20 74 6F 20 SET POSITION to
000140: 6D 61 6B 65 20 74 68 65 20 66 69 72 6D 77 61 72 make the firmwar
000150: 65 20 20 77 72 69 74 65 20 20 74 6F 20 20 74 68 e write to th
000160: 65 20 20 6D 65 6D 6F 72 79 0D 0A 20 20 20 20 20 e memory..
000170: 20 20 6C 6F 63 61 74 69 6F 6E 20 61 74 20 23 34 location at #4
000180: 30 30 30 20 77 69 74 68 6F 75 74 20 73 65 6E 64 000 without send
000190: 69 6E 67 20 61 20 6E 65 77 20 62 61 73 65 20 20 ing a new base
0001A0: 61 64 64 72 65 73 73 20 20 74 6F 20 20 74 68 65 address to the
0001B0: 20 20 73 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 screen..
0001C0: 20 68 61 72 64 77 61 72 65 2E 20 54 68 65 6E 2C hardware. Then,
0001D0: 20 77 68 65 6E 20 74 68 65 20 73 63 72 65 65 6E when the screen
0001E0: 20 68 61 73 20 62 65 65 6E 20 20 66 69 6E 69 73 has been finis
0001F0: 68 65 64 2C 20 20 74 68 65 20 20 63 6F 6E 74 65 hed, the conte
Size : 512 (Real : 512)
000000: 6E 74 73 20 20 6F 66 0D 0A 20 20 20 20 20 20 20 nts of..
000010: 74 68 69 73 20 62 6C 6F 63 6B 20 63 61 6E 20 62 this block can b
000020: 65 20 71 75 69 63 6B 6C 79 20 63 6F 70 69 65 64 e quickly copied
000030: 20 69 6E 74 6F 20 74 68 65 20 62 6C 6F 63 6B 20 into the block
000040: 61 63 74 75 61 6C 6C 79 20 62 65 69 6E 67 20 75 actually being u
000050: 73 65 64 20 62 79 0D 0A 20 20 20 20 20 20 20 74 sed by.. t
000060: 68 65 20 43 52 54 43 20 28 75 73 69 6E 67 20 4B he CRTC (using K
000070: 4C 20 44 49 52 20 70 65 72 68 61 70 73 29 2E 20 L DIR perhaps).
000080: 46 6F 72 20 65 78 61 6D 70 6C 65 2C 20 61 20 74 For example, a t
000090: 69 74 6C 65 20 73 63 72 65 65 6E 20 63 6F 75 6C itle screen coul
0000A0: 64 20 20 62 65 0D 0A 20 20 20 20 20 20 20 73 65 d be.. se
0000B0: 74 20 75 70 20 61 6E 64 20 62 61 6E 6B 20 73 77 t up and bank sw
0000C0: 69 74 63 68 65 64 20 6F 75 74 20 6F 66 20 74 68 itched out of th
0000D0: 65 20 77 61 79 20 61 6E 64 20 74 68 65 6E 20 73 e way and then s
0000E0: 77 69 74 63 68 65 64 20 62 61 63 6B 20 69 6E 20 witched back in
0000F0: 20 61 6E 64 0D 0A 20 20 20 20 20 20 20 63 6F 70 and.. cop
000100: 69 65 64 20 61 74 20 61 20 6C 61 74 65 72 20 64 ied at a later d
000110: 61 74 65 20 77 68 65 6E 20 69 74 20 69 73 20 77 ate when it is w
000120: 61 6E 74 65 64 2E 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A anted...........
000130: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
000140: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
000150: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 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 70 61 67 65 20 32 2E page 2.
000180: 37 0D 0A 1A 41 50 2D 32 20 20 24 24 24 FF 00 FF 7...AP-2 $$$...
000190: 20 52 4F 4D 73 2C 20 52 41 4D 20 61 6E 64 20 74 ROMs, RAM and t
0001A0: 68 65 20 52 65 73 74 61 72 74 20 49 6E 73 74 72 he Restart Instr
0001B0: 75 63 74 69 6F 6E 73 0D 0A 0D 0A 0D 0A 20 20 20 uctions......
0001C0: 20 20 20 20 54 68 65 20 73 79 73 74 65 6D 20 68 The system h
0001D0: 61 73 20 33 32 4B 20 6F 66 20 52 4F 4D 20 61 6E as 32K of ROM an
0001E0: 64 20 36 34 4B 20 6F 66 20 52 41 4D 20 20 69 6E d 64K of RAM in
0001F0: 20 20 74 68 65 20 20 5A 38 30 27 73 20 20 36 34 the Z80's 64
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 33 ........ 3
000010: 20 54 68 65 20 4B 65 79 62 6F 61 72 64 2E 0D 0A The Keyboard...
000020: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 4B .... The K
000030: 65 79 20 4D 61 6E 61 67 65 72 20 69 73 20 74 68 ey Manager is th
000040: 65 20 70 61 63 6B 20 61 73 73 6F 63 69 61 74 65 e pack associate
000050: 64 20 20 77 69 74 68 20 20 74 68 65 20 20 6B 65 d with the ke
000060: 79 62 6F 61 72 64 2E 20 20 41 6C 6C 20 20 74 68 yboard. All th
000070: 65 0D 0A 20 20 20 20 20 20 20 61 74 74 72 69 62 e.. attrib
000080: 75 74 65 73 20 6F 66 20 74 68 65 20 6B 65 79 62 utes of the keyb
000090: 6F 61 72 64 20 61 72 65 20 67 65 6E 65 72 61 74 oard are generat
0000A0: 65 64 20 61 6E 64 20 20 63 6F 6E 74 72 6F 6C 6C ed and controll
0000B0: 65 64 20 20 62 79 20 20 74 68 65 20 20 4B 65 79 ed by the Key
0000C0: 0D 0A 20 20 20 20 20 20 20 4D 61 6E 61 67 65 72 .. Manager
0000D0: 2E 20 54 68 65 73 65 20 61 74 74 72 69 62 75 74 . These attribut
0000E0: 65 73 20 69 6E 63 6C 75 64 65 20 20 72 65 70 65 es include repe
0000F0: 61 74 20 20 73 70 65 65 64 2C 20 20 73 68 69 66 at speed, shif
000100: 74 20 20 61 6E 64 20 20 63 6F 6E 74 72 6F 6C 0D t and control.
000110: 0A 20 20 20 20 20 20 20 6B 65 79 73 2C 20 66 75 . keys, fu
000120: 6E 63 74 69 6F 6E 20 6B 65 79 73 20 20 61 6E 64 nction keys and
000130: 20 20 6B 65 79 20 20 74 72 61 6E 73 6C 61 74 69 key translati
000140: 6F 6E 2E 20 20 54 68 65 20 20 6A 6F 79 73 74 69 on. The joysti
000150: 63 6B 73 20 20 61 72 65 20 20 61 6C 73 6F 0D 0A cks are also..
000160: 20 20 20 20 20 20 20 73 63 61 6E 6E 65 64 20 62 scanned b
000170: 79 20 74 68 65 20 4B 65 79 20 4D 61 6E 61 67 65 y the Key Manage
000180: 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 r....... T
000190: 68 65 20 4B 65 79 20 4D 61 6E 61 67 65 72 20 68 he Key Manager h
0001A0: 61 73 20 74 68 72 65 65 20 6C 65 76 65 6C 73 20 as three levels
0001B0: 6F 66 20 6F 70 65 72 61 74 69 6F 6E 2E 20 54 68 of operation. Th
0001C0: 65 20 6C 6F 77 65 73 74 20 6C 65 76 65 6C 20 20 e lowest level
0001D0: 73 63 61 6E 73 0D 0A 20 20 20 20 20 20 20 74 68 scans.. th
0001E0: 65 20 6B 65 79 62 6F 61 72 64 2C 20 74 68 65 20 e keyboard, the
0001F0: 6D 69 64 64 6C 65 20 6C 65 76 65 6C 20 63 6F 6E middle level con
Size : 512 (Real : 512)
000000: 76 65 72 74 73 20 74 68 65 20 20 6B 65 79 20 20 verts the key
000010: 70 72 65 73 73 69 6E 67 73 20 20 69 6E 74 6F 20 pressings into
000020: 20 6B 65 79 0D 0A 20 20 20 20 20 20 20 76 61 6C key.. val
000030: 75 65 73 20 61 6E 64 20 74 68 65 20 74 6F 70 20 ues and the top
000040: 6C 65 76 65 6C 20 63 6F 6E 76 65 72 74 73 20 74 level converts t
000050: 68 65 20 6B 65 79 20 76 61 6C 75 65 73 20 69 6E he key values in
000060: 74 6F 20 63 68 61 72 61 63 74 65 72 73 2E 20 20 to characters.
000070: 54 68 65 0D 0A 20 20 20 20 20 20 20 75 73 65 72 The.. user
000080: 20 6D 61 79 20 61 63 63 65 73 73 20 74 68 65 20 may access the
000090: 4B 65 79 20 4D 61 6E 61 67 65 72 20 61 74 20 77 Key Manager at w
0000A0: 68 69 63 68 65 76 65 72 20 6C 65 76 65 6C 20 69 hichever level i
0000B0: 73 20 6D 6F 73 74 20 61 70 70 72 6F 70 72 69 61 s most appropria
0000C0: 74 65 0D 0A 20 20 20 20 20 20 20 66 6F 72 20 61 te.. for a
0000D0: 20 67 69 76 65 6E 20 70 72 6F 67 72 61 6D 2E 20 given program.
0000E0: 49 74 20 69 73 20 75 73 75 61 6C 6C 79 20 75 6E It is usually un
0000F0: 77 69 73 65 2C 20 68 6F 77 65 76 65 72 2C 20 66 wise, however, f
000100: 6F 72 20 61 20 20 70 72 6F 67 72 61 6D 20 20 74 or a program t
000110: 6F 0D 0A 20 20 20 20 20 20 20 6D 69 78 20 61 63 o.. mix ac
000120: 63 65 73 73 65 73 20 61 74 20 64 69 66 66 65 72 cesses at differ
000130: 65 6E 74 20 6C 65 76 65 6C 73 2E 0D 0A 0D 0A 20 ent levels.....
000140: 20 20 20 20 20 20 33 2E 31 20 4B 65 79 62 6F 61 3.1 Keyboa
000150: 72 64 20 53 63 61 6E 6E 69 6E 67 2E 0D 0A 0D 0A rd Scanning.....
000160: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 20 6B 65 .. The ke
000170: 79 62 6F 61 72 64 20 20 69 73 20 20 63 6F 6D 70 yboard is comp
000180: 6C 65 74 65 6C 79 20 20 73 6F 66 74 77 61 72 65 letely software
000190: 20 20 73 63 61 6E 6E 65 64 2E 20 20 54 68 69 73 scanned. This
0001A0: 20 20 73 63 61 6E 20 20 20 6F 63 63 75 72 73 0D scan occurs.
0001B0: 0A 20 20 20 20 20 20 20 61 75 74 6F 6D 61 74 69 . automati
0001C0: 63 61 6C 6C 79 20 65 76 65 72 79 20 66 69 66 74 cally every fift
0001D0: 69 65 74 68 20 6F 66 20 61 20 20 73 65 63 6F 6E ieth of a secon
0001E0: 64 20 20 28 73 65 65 20 20 4B 4D 20 20 53 43 41 d (see KM SCA
0001F0: 4E 20 20 4B 45 59 53 29 2E 20 20 54 68 65 0D 0A N KEYS). The..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 6B 65 79 62 6F 61 72 64 20 keyboard
000010: 68 61 72 64 77 61 72 65 20 69 73 20 72 65 61 64 hardware is read
000020: 20 61 6E 64 20 61 20 62 69 74 20 6D 61 70 20 6E and a bit map n
000030: 6F 74 69 6E 67 20 77 68 69 63 68 20 6B 65 79 73 oting which keys
000040: 20 61 72 65 20 20 70 72 65 73 73 65 64 0D 0A 20 are pressed..
000050: 20 20 20 20 20 20 69 73 20 63 6F 6E 73 74 72 75 is constru
000060: 63 74 65 64 2E 20 54 68 69 73 20 62 69 74 20 6D cted. This bit m
000070: 61 70 20 69 73 20 61 76 61 69 6C 61 62 6C 65 20 ap is available
000080: 66 6F 72 20 74 65 73 74 69 6E 67 20 69 66 20 73 for testing if s
000090: 70 65 63 69 66 69 63 20 6B 65 79 73 0D 0A 20 20 pecific keys..
0000A0: 20 20 20 20 20 61 72 65 20 70 72 65 73 73 65 64 are pressed
0000B0: 20 28 73 65 65 20 4B 4D 20 54 45 53 54 20 4B 45 (see KM TEST KE
0000C0: 59 29 2E 20 41 73 20 74 68 65 20 62 69 74 20 6D Y). As the bit m
0000D0: 61 70 20 69 73 20 63 6F 6E 73 74 72 75 63 74 65 ap is constructe
0000E0: 64 20 6B 65 79 73 20 74 68 61 74 0D 0A 20 20 20 d keys that..
0000F0: 20 20 20 20 61 72 65 20 6E 65 77 6C 79 20 70 72 are newly pr
000100: 65 73 73 65 64 20 61 72 65 20 20 6E 6F 74 65 64 essed are noted
000110: 20 20 61 6E 64 20 20 6D 61 72 6B 65 72 73 20 20 and markers
000120: 61 72 65 20 20 73 74 6F 72 65 64 20 20 69 6E 20 are stored in
000130: 20 61 20 20 62 75 66 66 65 72 0D 0A 20 20 20 20 a buffer..
000140: 20 20 20 75 6E 74 69 6C 20 6E 65 65 64 65 64 2E until needed.
000150: 20 49 66 20 6E 6F 20 6E 65 77 6C 79 20 70 72 65 If no newly pre
000160: 73 73 65 64 20 6B 65 79 73 20 61 72 65 20 66 6F ssed keys are fo
000170: 75 6E 64 20 20 74 68 65 6E 20 20 74 68 65 20 20 und then the
000180: 6C 61 73 74 20 20 6B 65 79 0D 0A 20 20 20 20 20 last key..
000190: 20 20 70 72 65 73 73 65 64 20 6D 61 79 20 62 65 pressed may be
0001A0: 20 61 6C 6C 6F 77 65 64 20 74 20 72 65 70 65 61 allowed t repea
0001B0: 74 20 69 66 20 20 69 74 20 20 69 73 20 20 73 74 t if it is st
0001C0: 69 6C 6C 20 20 64 6F 77 6E 20 20 28 73 65 65 20 ill down (see
0001D0: 20 73 65 63 74 69 6F 6E 0D 0A 20 20 20 20 20 20 section..
0001E0: 20 33 2E 35 29 2E 20 54 68 65 20 6B 65 79 62 6F 3.5). The keybo
0001F0: 61 72 64 20 69 73 20 27 64 65 62 6F 75 6E 63 65 ard is 'debounce
Size : 512 (Real : 512)
000000: 64 27 20 69 6E 20 20 74 68 61 74 20 20 61 20 20 d' in that a
000010: 6B 65 79 20 20 6D 75 73 74 20 20 62 65 20 20 72 key must be r
000020: 65 6C 65 61 73 65 64 0D 0A 20 20 20 20 20 20 20 eleased..
000030: 66 6F 72 20 74 77 6F 20 63 6F 6E 73 65 63 75 74 for two consecut
000040: 69 76 65 20 73 63 61 6E 73 20 62 65 66 6F 72 65 ive scans before
000050: 20 69 74 20 20 69 73 20 20 6D 61 72 6B 65 64 20 it is marked
000060: 20 61 73 20 20 72 65 6C 65 61 73 65 64 20 20 69 as released i
000070: 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 62 n the.. b
000080: 69 74 20 6D 61 70 2E 20 20 54 68 69 73 20 20 27 it map. This '
000090: 64 65 62 6F 75 6E 63 65 64 27 20 20 68 69 64 65 debounced' hide
0000A0: 73 20 20 6D 75 6C 74 69 70 6C 65 20 20 6F 70 65 s multiple ope
0000B0: 72 61 74 69 6F 6E 73 20 20 6F 66 20 20 74 68 65 rations of the
0000C0: 20 20 6B 65 79 0D 0A 20 20 20 20 20 20 20 73 77 key.. sw
0000D0: 69 74 63 68 20 61 73 20 69 74 20 6F 70 65 6E 73 itch as it opens
0000E0: 20 6F 72 20 63 6C 6F 73 65 73 2E 0D 0A 0D 0A 0D or closes......
0000F0: 0A 20 20 20 20 20 20 20 41 74 20 74 68 69 73 20 . At this
000100: 73 74 61 67 65 20 20 6F 6E 6C 79 20 20 66 6F 75 stage only fou
000110: 72 20 20 6B 65 79 73 20 20 61 72 65 20 20 74 72 r keys are tr
000120: 65 61 74 65 64 20 20 73 70 65 63 69 66 69 63 61 eated specifica
000130: 6C 6C 79 2E 20 20 54 68 65 20 20 74 77 6F 0D 0A lly. The two..
000140: 20 20 20 20 20 20 20 73 68 69 66 74 20 6B 65 79 shift key
000150: 73 20 61 6E 64 20 74 68 65 20 63 6F 6E 74 72 6F s and the contro
000160: 6C 20 6B 65 79 20 20 61 72 65 20 20 6E 6F 74 20 l key are not
000170: 20 73 74 6F 72 65 64 20 20 69 6E 20 20 74 68 65 stored in the
000180: 20 20 6B 65 79 20 20 62 75 66 66 65 72 0D 0A 20 key buffer..
000190: 20 20 20 20 20 20 74 68 65 6D 73 65 6C 76 65 73 themselves
0001A0: 2E 20 49 6E 73 74 65 61 64 2C 20 77 68 65 6E 20 . Instead, when
0001B0: 61 6E 79 20 6F 74 68 65 72 20 6D 61 72 6B 65 72 any other marker
0001C0: 20 69 73 20 20 73 74 6F 72 65 64 20 20 74 68 65 is stored the
0001D0: 20 20 73 74 61 74 65 73 20 20 6F 66 0D 0A 20 20 states of..
0001E0: 20 20 20 20 20 74 68 65 20 73 68 69 66 74 20 61 the shift a
0001F0: 6E 64 20 63 6F 6E 74 72 6F 6C 20 6B 65 79 73 20 nd control keys
Size : 512 (Real : 512)
000000: 61 72 65 20 20 6E 6F 74 65 64 20 20 61 6E 64 20 are noted and
000010: 20 70 75 74 20 20 69 6E 74 6F 20 20 74 68 65 20 put into the
000020: 20 62 75 66 66 65 72 20 20 61 73 0D 0A 20 20 20 buffer as..
000030: 20 20 20 20 77 65 6C 6C 2E 20 54 68 65 20 65 73 well. The es
000040: 63 61 70 65 20 6B 65 79 20 20 67 65 6E 65 72 61 cape key genera
000050: 74 65 73 20 20 61 20 20 6D 61 72 6B 65 72 20 20 tes a marker
000060: 61 73 20 20 6E 6F 72 6D 61 6C 20 20 62 75 74 20 as normal but
000070: 20 6D 61 79 20 20 61 6C 73 6F 0D 0A 20 20 20 20 may also..
000080: 20 20 20 68 61 76 65 20 6F 74 68 65 72 20 20 65 have other e
000090: 66 66 65 63 74 73 20 20 64 65 70 65 6E 64 69 6E ffects dependin
0000A0: 67 20 20 6F 6E 20 20 77 68 65 74 68 65 72 20 20 g on whether
0000B0: 74 68 65 20 20 62 72 65 61 6B 20 20 6D 65 63 68 the break mech
0000C0: 61 6E 69 73 6D 20 20 69 73 0D 0A 20 20 20 20 20 anism is..
0000D0: 20 20 61 72 6D 65 64 20 28 73 65 65 20 73 65 63 armed (see sec
0000E0: 74 69 6F 6E 20 33 2E 36 29 2E 0D 0A 0D 0A 0D 0A tion 3.6).......
0000F0: 20 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 There is
000100: 61 20 70 72 6F 62 6C 65 6D 20 77 69 74 68 20 73 a problem with s
000110: 63 61 6E 6E 69 6E 67 20 74 68 65 20 6B 65 79 62 canning the keyb
000120: 6F 61 72 64 2E 20 49 66 20 74 68 72 65 65 20 20 oard. If three
000130: 6B 65 79 73 20 20 61 74 20 20 74 68 65 0D 0A 20 keys at the..
000140: 20 20 20 20 20 20 63 6F 72 6E 65 72 73 20 6F 66 corners of
000150: 20 61 20 72 65 63 74 61 6E 67 6C 65 20 69 6E 20 a rectangle in
000160: 74 68 65 20 6B 65 79 20 6D 61 74 72 69 78 20 61 the key matrix a
000170: 72 65 20 61 6C 6C 20 70 72 65 73 73 65 64 20 61 re all pressed a
000180: 74 20 20 74 68 65 20 20 73 61 6D 65 0D 0A 20 20 t the same..
000190: 20 20 20 20 20 74 69 6D 65 20 74 68 65 6E 20 74 time then t
0001A0: 68 65 20 6B 65 79 20 61 74 20 74 68 65 20 66 6F he key at the fo
0001B0: 75 72 74 68 20 63 6F 72 6E 65 72 20 61 70 70 65 urth corner appe
0001C0: 61 72 73 20 74 6F 20 62 65 20 70 72 65 73 73 65 ars to be presse
0001D0: 64 20 61 73 20 20 77 65 6C 6C 2E 0D 0A 20 20 20 d as well...
0001E0: 20 20 20 20 54 68 65 72 65 20 69 73 20 6E 6F 20 There is no
0001F0: 77 61 79 20 74 6F 20 61 76 6F 69 64 20 74 68 69 way to avoid thi
Size : 512 (Real : 512)
000000: 73 20 70 72 6F 62 6C 65 6D 20 20 61 73 20 20 69 s problem as i
000010: 74 20 20 69 73 20 20 61 20 20 66 65 61 74 75 72 t is a featur
000020: 65 20 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 e of the..
000030: 20 20 20 6B 65 79 62 6F 61 72 64 20 68 61 72 64 keyboard hard
000040: 77 61 72 65 2E 20 41 6C 6C 20 6B 65 79 20 63 6F ware. All key co
000050: 6D 62 69 6E 61 74 69 6F 6E 73 20 75 73 65 64 20 mbinations used
000060: 62 79 20 74 68 65 20 66 69 72 6D 77 61 72 65 20 by the firmware
000070: 28 61 6E 64 20 20 74 68 65 0D 0A 20 20 20 20 20 (and the..
000080: 20 20 42 41 53 49 43 29 20 68 61 76 65 20 62 65 BASIC) have be
000090: 65 6E 20 65 73 70 65 63 69 61 6C 6C 79 20 64 65 en especially de
0000A0: 73 69 67 6E 65 64 20 74 6F 20 61 76 6F 69 64 20 signed to avoid
0000B0: 74 68 69 73 20 65 66 66 65 63 74 2E 0D 0A 0D 0A this effect.....
0000C0: 20 20 20 20 20 20 20 33 2E 32 20 4B 65 79 20 54 3.2 Key T
0000D0: 72 61 6E 73 6C 61 74 69 6F 6E 2E 0D 0A 0D 0A 20 ranslation.....
0000E0: 20 20 20 20 20 20 57 68 65 6E 20 74 68 65 20 75 When the u
0000F0: 73 65 72 20 61 73 6B 73 20 66 6F 72 20 61 20 6B ser asks for a k
000100: 65 79 20 28 4B 4D 20 57 41 49 54 20 4B 45 59 20 ey (KM WAIT KEY
000110: 6F 72 20 4B 4D 20 52 45 41 44 20 4B 45 59 29 20 or KM READ KEY)
000120: 74 68 65 20 6E 65 78 74 20 6B 65 79 0D 0A 20 20 the next key..
000130: 20 20 20 20 20 70 72 65 73 73 65 64 20 6D 61 72 pressed mar
000140: 6B 65 72 20 69 73 20 72 65 61 64 20 66 72 6F 6D ker is read from
000150: 20 74 68 65 20 6B 65 79 20 62 75 66 66 65 72 2E the key buffer.
000160: 20 54 68 65 20 6D 61 72 6B 65 72 20 69 73 20 63 The marker is c
000170: 6F 6E 76 65 72 74 65 64 20 74 6F 0D 0A 20 20 20 onverted to..
000180: 20 20 20 20 61 20 6B 65 79 20 6E 75 6D 62 65 72 a key number
000190: 20 61 6E 64 20 74 68 69 73 20 69 73 20 6C 6F 6F and this is loo
0001A0: 6B 65 64 20 75 70 20 69 6E 20 6F 6E 65 20 20 6F ked up in one o
0001B0: 66 20 20 74 68 65 20 20 74 68 72 65 65 20 20 74 f the three t
0001C0: 72 61 6E 73 6C 61 74 69 6F 6E 0D 0A 20 20 20 20 ranslation..
0001D0: 20 20 20 74 61 62 6C 65 73 2E 0D 0A 0D 0A 20 20 tables.....
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: 20 20 20 70 61 67 65 20 33 2E 31 0D 0A 0D 0A 0D page 3.1.....
000030: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000040: 57 68 69 63 68 20 74 61 62 6C 65 20 69 73 20 75 Which table is u
000050: 73 65 64 20 64 65 70 65 6E 64 73 20 6F 6E 20 77 sed depends on w
000060: 68 65 74 68 65 72 20 74 68 65 20 73 68 69 66 74 hether the shift
000070: 20 61 6E 64 20 63 6F 6E 74 72 6F 6C 20 6B 65 79 and control key
000080: 73 20 77 65 72 65 0D 0A 20 20 20 20 20 20 20 70 s were.. p
000090: 72 65 73 73 65 64 20 77 68 65 6E 20 74 68 65 20 ressed when the
0000A0: 6B 65 79 20 77 61 73 20 70 72 65 73 73 65 64 2E key was pressed.
0000B0: 20 4F 6E 65 20 74 61 62 6C 65 20 69 73 20 20 75 One table is u
0000C0: 73 65 64 20 20 69 66 20 20 74 68 65 20 20 63 6F sed if the co
0000D0: 6E 74 72 6F 6C 0D 0A 20 20 20 20 20 20 20 6B 65 ntrol.. ke
0000E0: 79 20 77 61 73 20 70 72 65 73 73 65 64 2C 20 61 y was pressed, a
0000F0: 6E 6F 74 68 65 72 20 69 73 20 75 73 65 64 20 20 nother is used
000100: 69 66 20 20 65 69 74 68 65 72 20 20 73 68 69 66 if either shif
000110: 74 20 20 6B 65 79 20 20 77 61 73 20 20 70 72 65 t key was pre
000120: 73 73 65 64 0D 0A 20 20 20 20 20 20 20 62 75 74 ssed.. but
000130: 20 20 63 6F 6E 74 72 6F 6C 20 20 77 61 73 20 20 control was
000140: 6E 6F 74 2C 20 20 74 68 65 20 20 74 68 69 72 64 not, the third
000150: 20 20 69 73 20 20 75 73 65 64 20 20 69 66 20 20 is used if
000160: 6E 65 69 74 68 65 72 20 20 73 68 69 66 74 20 20 neither shift
000170: 6E 6F 72 0D 0A 20 20 20 20 20 20 20 63 6F 6E 74 nor.. cont
000180: 72 6F 6C 20 6B 65 79 73 20 77 65 72 65 20 20 70 rol keys were p
000190: 72 65 73 73 65 64 2E 20 20 54 68 65 20 20 63 6F ressed. The co
0001A0: 6E 74 65 6E 74 73 20 20 6F 66 20 20 74 68 65 73 ntents of thes
0001B0: 65 20 20 74 61 62 6C 65 73 20 20 63 61 6E 20 20 e tables can
0001C0: 62 65 0D 0A 20 20 20 20 20 20 20 61 6C 74 65 72 be.. alter
0001D0: 65 64 20 62 79 20 74 68 65 20 75 73 65 72 20 61 ed by the user a
0001E0: 73 20 72 65 71 75 69 72 65 64 20 28 62 79 20 63 s required (by c
0001F0: 61 6C 6C 69 6E 67 20 4B 4D 20 20 53 45 54 20 20 alling KM SET
Size : 512 (Real : 512)
000000: 43 4F 4E 54 52 4F 4C 2C 20 20 4B 4D 20 20 53 45 CONTROL, KM SE
000010: 54 0D 0A 20 20 20 20 20 20 20 53 48 49 46 54 20 T.. SHIFT
000020: 61 6E 64 20 4B 4D 20 53 45 54 20 54 52 41 4E 53 and KM SET TRANS
000030: 4C 41 54 45 20 72 65 73 70 65 63 74 69 76 65 6C LATE respectivel
000040: 79 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 y)..... Th
000050: 65 20 76 61 6C 75 65 20 65 78 74 72 61 63 74 65 e value extracte
000060: 64 20 66 72 6F 6D 20 74 68 65 20 74 61 62 6C 65 d from the table
000070: 20 6D 61 79 20 62 65 20 61 20 73 79 73 74 65 6D may be a system
000080: 20 74 6F 6B 65 6E 2C 20 61 6E 20 65 78 70 61 6E token, an expan
000090: 73 69 6F 6E 0D 0A 20 20 20 20 20 20 20 74 6F 6B sion.. tok
0000A0: 65 6E 20 6F 72 20 61 20 63 68 61 72 61 63 74 65 en or a characte
0000B0: 72 2E 20 45 78 70 61 6E 73 69 6F 6E 20 74 6F 6B r. Expansion tok
0000C0: 65 6E 73 20 61 6E 64 20 63 68 61 72 61 63 74 65 ens and characte
0000D0: 72 73 20 61 72 65 20 75 73 65 64 20 62 79 20 20 rs are used by
0000E0: 74 68 65 0D 0A 20 20 20 20 20 20 20 74 6F 70 20 the.. top
0000F0: 6C 65 76 65 6C 20 6F 66 20 74 68 65 20 4B 65 79 level of the Key
000100: 20 4D 61 6E 61 67 65 72 20 28 73 65 65 20 33 2E Manager (see 3.
000110: 33 20 62 65 6C 6F 77 29 20 61 6E 20 61 72 65 20 3 below) an are
000120: 70 61 73 73 65 64 20 75 70 20 66 72 6F 6D 20 74 passed up from t
000130: 68 65 0D 0A 20 20 20 20 20 20 20 6D 69 64 64 6C he.. middl
000140: 65 20 6C 65 76 65 6C 20 77 68 65 6E 20 74 68 65 e level when the
000150: 79 20 61 72 65 20 66 6F 75 6E 64 20 69 6E 20 61 y are found in a
000160: 20 74 61 62 6C 65 2E 20 54 68 65 72 65 20 20 61 table. There a
000170: 72 65 20 20 74 68 72 65 65 20 20 73 79 73 74 65 re three syste
000180: 6D 0D 0A 20 20 20 20 20 20 20 74 6F 6B 65 6E 73 m.. tokens
000190: 2C 20 77 68 69 63 68 20 61 72 65 20 6F 62 65 79 , which are obey
0001A0: 65 64 20 69 6D 6D 65 64 69 61 74 65 6C 79 20 74 ed immediately t
0001B0: 68 65 79 20 61 72 65 20 66 6F 75 6E 64 20 69 6E hey are found in
0001C0: 20 61 20 74 61 62 6C 65 2E 20 20 41 66 74 65 72 a table. After
0001D0: 0D 0A 20 20 20 20 20 20 20 6F 62 65 79 69 6E 67 .. obeying
0001E0: 20 74 68 65 20 74 6F 6B 65 6E 20 20 74 68 65 20 the token the
0001F0: 20 6E 65 78 74 20 20 6D 61 72 6B 65 72 20 20 69 next marker i
Size : 512 (Real : 512)
000000: 73 20 20 72 65 61 64 20 20 66 72 6F 6D 20 20 74 s read from t
000010: 68 65 20 20 62 75 66 66 65 72 20 20 61 6E 64 0D he buffer and.
000020: 0A 20 20 20 20 20 20 20 74 72 61 6E 73 6C 61 74 . translat
000030: 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ed..... Th
000040: 65 20 64 65 66 61 75 6C 74 20 74 72 61 6E 73 6C e default transl
000050: 61 74 69 6F 6E 20 74 61 62 6C 65 73 20 61 72 65 ation tables are
000060: 20 64 65 73 63 72 69 62 65 64 20 69 6E 20 41 70 described in Ap
000070: 70 65 6E 64 69 78 20 49 49 2E 0D 0A 0D 0A 20 20 pendix II.....
000080: 20 20 20 20 20 54 68 65 20 69 6D 6D 65 64 69 61 The immedia
000090: 74 65 6C 79 20 6F 62 65 79 65 64 20 53 79 73 74 tely obeyed Syst
0000A0: 65 6D 20 74 6F 6B 65 6E 73 20 61 72 65 3A 0D 0A em tokens are:..
0000B0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000C0: 20 20 61 2E 20 49 67 6E 6F 72 65 20 28 23 46 46 a. Ignore (#FF
0000D0: 29 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
0000E0: 20 20 20 54 68 65 20 6B 65 79 20 70 72 65 73 73 The key press
0000F0: 65 64 20 69 73 20 74 6F 20 62 65 20 69 67 6E 6F ed is to be igno
000100: 72 65 64 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 red...
000110: 20 20 20 20 20 20 62 2E 20 53 68 69 66 74 20 6C b. Shift l
000120: 6F 63 6B 20 28 23 46 45 29 0D 0A 20 20 20 20 20 ock (#FE)..
000130: 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 73 The s
000140: 68 69 66 74 20 6C 6F 63 6B 20 69 73 20 74 6F 20 hift lock is to
000150: 62 65 20 74 6F 67 67 6C 65 64 20 28 74 75 72 6E be toggled (turn
000160: 65 64 20 6F 6E 20 69 66 20 69 74 20 69 73 20 63 ed on if it is c
000170: 75 72 72 65 6E 74 6C 79 0D 0A 20 20 20 20 20 20 urrently..
000180: 20 20 20 20 20 20 20 20 20 20 6F 66 66 20 61 6E off an
000190: 64 20 74 75 72 6E 65 64 20 6F 66 66 20 69 66 20 d turned off if
0001A0: 69 74 20 69 73 20 6F 6E 29 2E 0D 0A 20 20 20 20 it is on)...
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 63 2E 20 43 c. C
0001C0: 61 70 73 20 6C 6F 63 6B 20 28 23 46 44 29 0D 0A aps lock (#FD)..
0001D0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001E0: 20 20 54 68 65 20 63 61 70 73 20 6C 6F 63 6B 20 The caps lock
0001F0: 69 73 20 74 6F 20 62 65 20 74 6F 67 67 6C 65 64 is to be toggled
Size : 512 (Real : 512)
000000: 20 28 74 75 72 6E 65 64 20 6F 6E 20 69 66 20 69 (turned on if i
000010: 74 20 20 69 73 20 20 6F 66 66 20 20 61 6E 64 0D t is off and.
000020: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000030: 20 6F 66 66 20 69 66 20 69 74 20 69 73 20 6F 6E off if it is on
000040: 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 33 2E 33 )..... 3.3
000050: 20 43 68 61 72 61 63 74 65 72 73 20 66 72 6F 6D Characters from
000060: 20 74 68 65 20 4B 65 79 62 6F 61 72 64 2E 0D 0A the Keyboard...
000070: 20 20 20 20 20 20 20 57 68 65 6E 20 74 68 65 20 When the
000080: 75 73 65 72 20 61 73 6B 73 20 74 68 65 20 74 6F user asks the to
000090: 70 20 6C 65 76 65 6C 20 66 6F 72 20 61 20 63 68 p level for a ch
0000A0: 61 72 61 63 74 65 72 20 28 4B 4D 20 57 41 49 54 aracter (KM WAIT
0000B0: 20 43 48 41 52 20 20 6F 72 20 20 4B 4D 0D 0A 20 CHAR or KM..
0000C0: 20 20 20 20 20 20 52 45 41 44 20 43 48 41 52 29 READ CHAR)
0000D0: 20 61 20 6B 65 79 20 69 73 20 66 65 74 63 68 65 a key is fetche
0000E0: 64 20 66 72 6F 6D 20 20 74 68 65 20 20 6D 69 64 d from the mid
0000F0: 64 6C 65 20 20 6C 65 76 65 6C 2E 20 20 49 66 20 dle level. If
000100: 20 74 68 69 73 20 20 69 73 20 20 61 0D 0A 20 20 this is a..
000110: 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 28 character (
000120: 23 30 30 2E 2E 23 37 46 20 6F 72 20 23 41 30 2E #00..#7F or #A0.
000130: 2E 23 46 43 29 20 74 68 65 6E 20 69 74 20 69 73 .#FC) then it is
000140: 20 70 61 73 73 65 64 20 74 6F 20 74 68 65 20 75 passed to the u
000150: 73 65 72 2E 20 49 66 20 20 69 74 0D 0A 20 20 20 ser. If it..
000160: 20 20 20 20 69 73 20 20 6F 6E 65 20 20 6F 66 20 is one of
000170: 20 74 68 65 20 20 33 32 20 20 65 78 70 61 6E 73 the 32 expans
000180: 69 6F 6E 20 20 74 6F 6B 65 6E 73 20 20 28 23 38 ion tokens (#8
000190: 30 2E 2E 23 39 46 29 20 20 74 68 65 6E 20 20 74 0..#9F) then t
0001A0: 68 65 20 20 73 74 72 69 6E 67 0D 0A 20 20 20 20 he string..
0001B0: 20 20 20 61 73 73 6F 63 69 61 74 65 64 20 77 69 associated wi
0001C0: 74 68 20 74 68 65 20 74 6F 6B 65 6E 20 69 73 20 th the token is
0001D0: 6C 6F 6F 6B 65 64 20 75 70 2E 20 54 68 65 20 63 looked up. The c
0001E0: 68 61 72 61 63 74 65 72 73 20 69 6E 20 74 68 69 haracters in thi
0001F0: 73 20 20 73 74 72 69 6E 67 0D 0A 20 20 20 20 20 s string..
Size : 512 (Real : 512)
000000: 20 20 61 72 65 20 70 61 73 73 65 64 20 74 6F 20 are passed to
000010: 74 68 65 20 75 73 65 72 20 6F 6E 65 20 61 74 20 the user one at
000020: 61 20 74 69 6D 65 20 77 69 74 68 20 65 61 63 68 a time with each
000030: 20 72 65 71 75 65 73 74 20 66 6F 72 20 61 20 63 request for a c
000040: 68 61 72 61 63 74 65 72 0D 0A 20 20 20 20 20 20 haracter..
000050: 20 75 6E 74 69 6C 20 74 68 65 20 65 6E 64 20 6F until the end o
000060: 66 20 74 68 65 20 73 74 72 69 6E 67 20 69 73 20 f the string is
000070: 72 65 61 63 68 65 64 2E 0D 0A 0D 0A 20 20 20 20 reached.....
000080: 20 20 20 54 68 65 72 65 20 69 73 20 6F 6E 6C 79 There is only
000090: 20 6F 6E 65 20 63 68 61 72 61 63 74 65 72 20 77 one character w
0000A0: 69 74 68 20 61 20 73 70 65 63 69 61 6C 20 6D 65 ith a special me
0000B0: 61 6E 69 6E 67 20 61 74 20 74 68 69 73 20 6C 65 aning at this le
0000C0: 76 65 6C 2E 20 54 68 69 73 0D 0A 20 20 20 20 20 vel. This..
0000D0: 20 20 69 73 20 63 68 61 72 61 63 74 65 72 20 23 is character #
0000E0: 45 46 20 77 68 69 63 68 20 20 69 73 20 20 70 72 EF which is pr
0000F0: 6F 64 75 63 65 64 20 20 77 68 65 6E 20 20 70 72 oduced when pr
000100: 65 73 73 69 6E 67 20 20 74 68 65 20 20 65 73 63 essing the esc
000110: 61 70 65 20 20 6B 65 79 0D 0A 20 20 20 20 20 20 ape key..
000120: 20 67 65 6E 65 72 61 74 65 73 20 61 20 62 72 65 generates a bre
000130: 61 6B 20 65 76 65 6E 74 20 28 73 65 65 20 73 65 ak event (see se
000140: 63 74 69 6F 6E 20 33 2E 36 29 2E 20 49 74 20 68 ction 3.6). It h
000150: 61 73 20 6E 6F 20 20 65 66 66 65 63 74 73 2C 20 as no effects,
000160: 20 69 74 20 20 69 73 0D 0A 20 20 20 20 20 20 20 it is..
000170: 6D 65 72 65 6C 79 20 61 20 6D 61 72 6B 65 72 20 merely a marker
000180: 66 6F 72 20 74 68 65 20 70 6C 61 63 65 20 69 6E for the place in
000190: 20 74 68 65 20 62 75 66 66 65 72 20 77 68 65 72 the buffer wher
0001A0: 65 20 61 20 20 62 72 65 61 6B 20 20 65 76 65 6E e a break even
0001B0: 74 20 20 77 61 73 0D 0A 20 20 20 20 20 20 20 67 t was.. g
0001C0: 65 6E 65 72 61 74 65 64 2E 20 49 74 20 69 73 20 enerated. It is
0001D0: 69 6E 74 65 6E 64 65 64 20 74 6F 20 62 65 20 75 intended to be u
0001E0: 73 65 64 20 74 6F 20 61 6C 6C 6F 77 20 20 61 6C sed to allow al
0001F0: 6C 20 20 63 68 61 72 61 63 74 65 72 73 20 20 62 l characters b
Size : 512 (Real : 512)
000000: 65 66 6F 72 65 0D 0A 20 20 20 20 20 20 20 74 68 efore.. th
000010: 65 20 62 72 65 61 6B 20 74 6F 20 62 65 20 64 69 e break to be di
000020: 73 63 61 72 64 65 64 2E 20 54 68 69 73 20 63 68 scarded. This ch
000030: 61 72 61 63 74 65 72 20 20 69 73 20 20 6E 6F 74 aracter is not
000040: 20 20 67 65 6E 65 72 61 74 65 64 20 20 62 79 20 generated by
000050: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 74 72 61 the.. tra
000060: 6E 73 6C 61 74 69 6F 6E 20 74 61 62 6C 65 73 20 nslation tables
000070: 61 6E 64 20 74 68 75 73 20 63 61 6E 6E 6F 74 20 and thus cannot
000080: 62 65 20 63 68 61 6E 67 65 64 20 62 79 20 61 6C be changed by al
000090: 74 65 72 69 6E 67 20 74 68 65 6D 2E 0D 0A 0D 0A tering them.....
0000A0: 20 20 20 20 20 20 20 41 20 73 69 6E 67 6C 65 20 A single
0000B0: 27 70 75 74 20 62 61 63 6B 27 20 63 68 61 72 61 'put back' chara
0000C0: 63 74 65 72 20 69 73 20 73 75 70 70 6F 72 74 65 cter is supporte
0000D0: 64 2E 20 57 68 65 6E 20 74 68 65 20 75 73 65 72 d. When the user
0000E0: 20 70 75 74 73 20 62 61 63 6B 20 20 61 0D 0A 20 puts back a..
0000F0: 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 character
000100: 74 68 69 73 20 63 68 61 72 61 63 74 65 72 20 77 this character w
000110: 69 6C 6C 20 62 65 20 72 65 74 75 72 6E 65 64 20 ill be returned
000120: 62 79 20 74 68 65 20 6E 65 78 74 20 63 61 6C 6C by the next call
000130: 20 74 6F 20 74 68 65 20 20 74 6F 70 0D 0A 20 20 to the top..
000140: 20 20 20 20 20 6C 65 76 65 6C 20 6F 66 20 74 68 level of th
000150: 65 20 4B 65 79 20 4D 61 6E 61 67 65 72 2E 20 54 e Key Manager. T
000160: 68 69 73 20 69 73 20 69 6E 74 65 6E 64 65 64 20 his is intended
000170: 66 6F 72 20 75 73 65 20 20 62 79 20 20 70 72 6F for use by pro
000180: 67 72 61 6D 73 20 20 74 68 61 74 0D 0A 20 20 20 grams that..
000190: 20 20 20 20 6E 65 65 64 20 74 6F 20 74 65 73 74 need to test
0001A0: 20 74 68 65 20 6E 65 78 74 20 63 68 61 72 61 63 the next charac
0001B0: 74 65 72 20 74 6F 20 62 65 20 72 65 61 64 20 66 ter to be read f
0001C0: 72 6F 6D 20 74 68 65 20 20 6B 65 79 62 6F 61 72 rom the keyboar
0001D0: 64 20 20 77 69 74 68 6F 75 74 0D 0A 20 20 20 20 d without..
0001E0: 20 20 20 6C 6F 73 69 6E 67 20 69 74 20 28 77 68 losing it (wh
0001F0: 65 6E 20 70 72 6F 63 65 73 73 69 6E 67 20 62 72 en processing br
Size : 512 (Real : 512)
000000: 65 61 6B 73 20 70 65 72 68 61 70 73 29 2E 0D 0A eaks perhaps)...
000010: 0D 0A 20 20 20 20 20 20 20 49 6E 20 56 31 2E 31 .. In V1.1
000020: 20 66 69 72 6D 77 61 72 65 20 69 74 20 69 73 20 firmware it is
000030: 70 6F 73 73 69 62 6C 65 20 74 6F 20 63 61 6C 6C possible to call
000040: 20 4B 4D 20 46 4C 55 53 48 20 74 6F 20 64 69 73 KM FLUSH to dis
000050: 63 61 72 64 20 61 6E 79 20 75 6E 75 73 65 64 0D card any unused.
000060: 0A 20 20 20 20 20 20 20 6F 72 20 75 6E 77 61 6E . or unwan
000070: 74 65 64 20 63 68 61 72 61 63 74 65 72 73 20 73 ted characters s
000080: 6F 20 74 68 61 74 20 73 75 62 73 65 71 75 65 6E o that subsequen
000090: 74 20 63 61 6C 6C 73 20 74 6F 20 4B 4D 20 52 45 t calls to KM RE
0000A0: 41 44 20 43 48 41 52 20 6F 72 20 20 4B 4D 0D 0A AD CHAR or KM..
0000B0: 20 20 20 20 20 20 20 52 45 41 44 20 4B 45 59 20 READ KEY
0000C0: 77 69 6C 6C 20 6E 6F 74 20 72 65 74 75 72 6E 20 will not return
0000D0: 76 61 6C 75 65 73 20 66 72 6F 6D 20 61 20 70 72 values from a pr
0000E0: 65 76 69 6F 75 73 20 69 6E 70 75 74 2E 20 54 68 evious input. Th
0000F0: 65 20 73 61 6D 65 20 65 66 66 65 63 74 0D 0A 20 e same effect..
000100: 20 20 20 20 20 20 63 61 6E 20 62 65 20 61 63 68 can be ach
000110: 69 65 76 65 64 20 69 6E 20 56 31 2E 30 20 46 69 ieved in V1.0 Fi
000120: 72 6D 77 61 72 65 20 62 79 20 72 65 70 65 61 74 rmware by repeat
000130: 65 64 6C 79 20 63 61 6C 6C 69 6E 67 20 20 4B 4D edly calling KM
000140: 20 20 52 45 41 44 20 20 43 48 41 52 0D 0A 20 20 READ CHAR..
000150: 20 20 20 20 20 75 6E 74 69 6C 20 69 74 20 72 65 until it re
000160: 74 75 72 6E 73 20 77 69 74 68 20 63 61 72 72 79 turns with carry
000170: 20 66 61 6C 73 65 20 74 6F 20 69 6E 64 69 63 61 false to indica
000180: 74 65 20 74 68 61 74 20 74 68 65 72 65 20 61 72 te that there ar
000190: 65 20 20 6E 6F 20 20 6D 6F 72 65 0D 0A 20 20 20 e no more..
0001A0: 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 61 characters a
0001B0: 76 61 69 6C 61 62 6C 65 2E 0D 0A 20 20 20 20 20 vailable...
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 20 20 20
Size : 512 (Real : 512)
000000: 70 61 67 65 20 33 2E 32 0D 0A 0D 0A 0D 0A 0D 0A page 3.2........
000010: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 33 2E 34 ...... 3.4
000020: 20 53 68 69 66 74 20 61 6E 64 20 43 61 70 73 20 Shift and Caps
000030: 4C 6F 63 6B 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 Lock.....
000040: 61 2E 20 53 68 69 66 74 20 6C 6F 63 6B 0D 0A 0D a. Shift lock...
000050: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000060: 20 57 68 65 6E 20 20 73 68 69 66 74 20 20 6C 6F When shift lo
000070: 63 6B 20 20 69 73 20 20 65 6E 67 61 67 65 64 20 ck is engaged
000080: 20 74 68 65 6E 20 20 74 68 65 20 20 6B 65 79 73 then the keys
000090: 20 20 70 72 65 73 73 65 64 20 20 61 72 65 0D 0A pressed are..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 74 72 61 6E 73 6C 61 74 65 64 20 61 73 20 69 66 translated as if
0000C0: 20 61 20 73 68 69 66 74 20 6B 65 79 20 69 73 20 a shift key is
0000D0: 70 72 65 73 73 65 64 2E 0D 0A 0D 0A 20 20 20 20 pressed.....
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 The
0000F0: 73 68 69 66 74 20 6C 6F 63 6B 20 69 73 20 74 6F shift lock is to
000100: 67 67 6C 65 64 20 62 79 20 61 20 73 74 72 65 61 ggled by a strea
000110: 6D 20 74 6F 6B 65 6E 20 28 73 65 65 20 20 33 2E m token (see 3.
000120: 32 20 20 61 62 6F 76 65 29 0D 0A 20 20 20 20 20 2 above)..
000130: 20 20 20 20 20 20 20 20 20 20 20 77 68 69 63 68 which
000140: 20 69 73 20 6E 6F 72 6D 61 6C 6C 79 20 67 65 6E is normally gen
000150: 65 72 61 74 65 64 20 62 79 20 70 72 65 73 73 69 erated by pressi
000160: 6E 67 20 43 54 52 4C 20 61 6E 64 20 43 41 50 53 ng CTRL and CAPS
000170: 20 4C 4F 43 4B 2E 0D 0A 0D 0A 20 20 20 20 20 20 LOCK.....
000180: 20 62 2E 20 43 61 70 73 20 6C 6F 63 6B 0D 0A 0D b. Caps lock...
000190: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001A0: 20 57 68 65 6E 20 63 61 70 73 20 6C 6F 63 6B 20 When caps lock
0001B0: 69 73 20 65 6E 67 61 67 65 64 20 20 74 68 65 6E is engaged then
0001C0: 20 20 61 6C 70 68 61 62 65 74 69 63 20 20 63 68 alphabetic ch
0001D0: 61 72 61 63 74 65 72 73 20 20 72 65 61 64 0D 0A aracters read..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 66 72 6F 6D 20 20 74 68 65 20 20 6B 65 79 62 6F from the keybo
Size : 512 (Real : 512)
000000: 61 72 64 20 20 61 72 65 20 20 63 6F 6E 76 65 72 ard are conver
000010: 74 65 64 20 20 74 6F 20 20 74 68 65 69 72 20 20 ted to their
000020: 20 75 70 70 65 72 20 20 20 63 61 73 65 0D 0A 20 upper case..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 e
000040: 71 75 69 76 61 6C 65 6E 74 73 2E 20 54 68 69 73 quivalents. This
000050: 20 63 61 73 65 20 63 6F 6E 76 65 72 73 69 6F 6E case conversion
000060: 20 20 69 73 20 20 61 70 70 6C 69 65 64 20 20 62 is applied b
000070: 65 20 20 65 78 70 61 6E 73 69 6F 6E 0D 0A 20 20 e expansion..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6F to
000090: 6B 65 6E 73 20 61 72 65 20 65 78 70 61 6E 64 65 kens are expande
0000A0: 64 20 61 6E 64 20 73 6F 20 65 78 70 61 6E 73 69 d and so expansi
0000B0: 6F 6E 73 20 61 72 65 20 6E 6F 74 20 63 61 70 69 ons are not capi
0000C0: 74 61 6C 69 73 65 64 2E 0D 0A 0D 0A 20 20 20 20 talised.....
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 The
0000E0: 63 61 70 73 20 6C 6F 63 6B 20 69 73 20 74 6F 67 caps lock is tog
0000F0: 67 6C 65 64 20 62 79 20 61 20 73 79 73 74 65 6D gled by a system
000100: 20 74 6F 6B 65 6E 20 20 28 73 65 65 20 20 33 2E token (see 3.
000110: 32 20 20 61 62 6F 76 65 29 0D 0A 20 20 20 20 20 2 above)..
000120: 20 20 20 20 20 20 20 20 20 20 20 77 68 69 63 68 which
000130: 20 69 73 20 6E 6F 72 6D 61 6C 6C 79 20 67 65 6E is normally gen
000140: 65 72 61 74 65 64 20 62 79 20 70 72 65 73 73 69 erated by pressi
000150: 6E 67 20 20 43 41 50 53 20 20 4C 4F 43 4B 20 20 ng CAPS LOCK
000160: 28 77 69 74 68 6F 75 74 0D 0A 20 20 20 20 20 20 (without..
000170: 20 20 20 20 20 20 20 20 20 20 63 6F 6E 74 72 6F contro
000180: 6C 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 6E l)..... In
000190: 20 56 31 2E 31 20 66 69 72 6D 77 61 72 65 20 69 V1.1 firmware i
0001A0: 74 20 69 73 20 70 6F 73 73 69 62 6C 65 20 74 6F t is possible to
0001B0: 20 73 65 74 20 74 68 65 20 73 74 61 74 65 20 6F set the state o
0001C0: 66 20 74 68 65 20 20 6C 6F 63 6B 73 20 20 61 73 f the locks as
0001D0: 20 20 69 66 0D 0A 20 20 20 20 20 20 20 74 68 65 if.. the
0001E0: 20 53 48 49 46 54 20 6F 72 20 43 41 50 53 20 4C SHIFT or CAPS L
0001F0: 4F 43 4B 20 6B 65 79 73 20 68 61 64 20 62 65 65 OCK keys had bee
Size : 512 (Real : 512)
000000: 6E 20 70 72 65 73 73 65 64 20 62 79 20 63 61 6C n pressed by cal
000010: 6C 69 6E 67 20 4B 4D 20 53 45 54 20 4C 4F 43 4B ling KM SET LOCK
000020: 53 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 33 2E 35 S..... 3.5
000030: 20 52 65 70 65 61 74 69 6E 67 20 6B 65 79 73 2E Repeating keys.
000040: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 72 65 .... There
000050: 20 69 73 20 61 20 74 61 62 6C 65 20 77 68 69 63 is a table whic
000060: 68 20 74 68 65 20 75 73 65 72 20 63 61 6E 20 61 h the user can a
000070: 6C 74 65 72 20 61 73 20 64 65 73 69 72 65 64 2C lter as desired,
000080: 20 20 74 68 61 74 20 20 73 70 65 63 69 66 69 65 that specifie
000090: 73 0D 0A 20 20 20 20 20 20 20 77 68 69 63 68 20 s.. which
0000A0: 6B 65 79 73 20 61 72 65 20 61 6C 6C 6F 77 65 64 keys are allowed
0000B0: 20 74 6F 20 72 65 70 65 61 74 20 77 68 65 6E 20 to repeat when
0000C0: 68 65 6C 64 20 64 6F 77 6E 20 28 73 65 65 20 4B held down (see K
0000D0: 4D 20 20 53 45 54 20 20 52 45 50 45 41 54 29 2E M SET REPEAT).
0000E0: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 64 65 66 .. The def
0000F0: 61 75 6C 74 20 73 65 74 74 69 6E 67 20 66 6F 72 ault setting for
000100: 20 74 68 69 73 20 20 74 61 62 6C 65 20 20 69 73 this table is
000110: 20 20 64 65 73 63 72 69 62 65 64 20 20 69 6E 20 described in
000120: 20 41 70 70 65 6E 64 69 78 20 20 49 49 49 2E 0D Appendix III..
000130: 0A 20 20 20 20 20 20 20 42 72 69 65 66 6C 79 2C . Briefly,
000140: 20 74 68 65 20 64 65 66 61 75 6C 74 20 69 73 20 the default is
000150: 74 6F 20 61 6C 6C 6F 77 20 61 6C 6C 20 6B 65 79 to allow all key
000160: 73 20 74 6F 20 72 65 70 65 61 74 20 20 65 78 63 s to repeat exc
000170: 65 70 74 20 20 74 68 65 20 20 45 53 43 2C 0D 0A ept the ESC,..
000180: 20 20 20 20 20 20 20 54 41 42 20 43 41 50 53 20 TAB CAPS
000190: 4C 4F 43 4B 2C 20 53 48 49 46 54 2C 20 45 4E 54 LOCK, SHIFT, ENT
0001A0: 45 52 20 61 6E 64 20 43 54 52 4C 20 6B 65 79 73 ER and CTRL keys
0001B0: 20 20 61 6E 64 20 20 74 68 65 20 20 31 32 20 20 and the 12
0001C0: 6B 65 79 73 20 20 69 6E 20 20 74 68 65 0D 0A 20 keys in the..
0001D0: 20 20 20 20 20 20 6E 75 6D 65 72 69 63 20 6B 65 numeric ke
0001E0: 79 70 61 64 20 28 74 68 65 20 66 75 6E 63 74 69 ypad (the functi
0001F0: 6F 6E 20 6B 65 79 73 29 2E 0D 0A 0D 0A 20 20 20 on keys).....
Size : 512 (Real : 512)
000000: 20 20 20 20 54 68 65 20 73 70 65 65 64 20 61 74 The speed at
000010: 20 77 68 69 63 68 20 6B 65 79 73 20 72 65 70 65 which keys repe
000020: 61 74 20 61 6E 64 20 74 68 65 20 64 65 6C 61 79 at and the delay
000030: 20 62 65 66 6F 72 65 20 74 68 65 20 20 66 69 72 before the fir
000040: 73 74 20 20 72 65 70 65 61 74 0D 0A 20 20 20 20 st repeat..
000050: 20 20 20 63 61 6E 20 62 65 20 73 65 74 20 62 79 can be set by
000060: 20 74 68 65 20 75 73 65 72 20 28 73 65 65 20 4B the user (see K
000070: 4D 20 53 45 54 20 44 45 4C 41 59 29 2E 20 54 68 M SET DELAY). Th
000080: 65 20 64 65 66 61 75 6C 74 20 73 70 65 65 64 20 e default speed
000090: 20 70 72 6F 64 75 63 65 73 0D 0A 20 20 20 20 20 produces..
0000A0: 20 20 75 70 20 74 6F 20 32 35 20 63 68 61 72 61 up to 25 chara
0000B0: 63 74 65 72 73 20 61 20 73 65 63 6F 6E 64 20 77 cters a second w
0000C0: 69 74 68 20 61 20 30 2E 36 20 73 65 63 6F 6E 64 ith a 0.6 second
0000D0: 20 73 74 61 72 74 20 75 70 20 64 65 6C 61 79 2E start up delay.
0000E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 6B 65 79 .... A key
0000F0: 20 69 73 20 61 6C 6C 6F 77 65 64 20 74 6F 20 72 is allowed to r
000100: 65 70 65 61 74 20 69 66 20 74 68 65 20 66 6F 6C epeat if the fol
000110: 6C 6F 77 69 6E 67 20 63 6F 6E 64 69 74 69 6F 6E lowing condition
000120: 73 20 61 72 65 20 73 61 74 69 73 66 69 65 64 3A s are satisfied:
000130: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000140: 20 20 20 20 31 2F 20 54 68 65 20 61 70 70 72 6F 1/ The appro
000150: 70 72 69 61 74 65 20 74 69 6D 65 20 68 61 73 20 priate time has
000160: 70 61 73 73 65 64 20 73 69 6E 63 65 20 74 68 65 passed since the
000170: 20 20 6B 65 79 20 20 77 61 73 20 20 66 69 72 73 key was firs
000180: 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 t..
000190: 20 20 20 70 72 65 73 73 65 64 20 6F 72 20 69 74 pressed or it
0001A0: 20 6C 61 73 74 20 72 65 70 65 61 74 65 64 2E 0D last repeated..
0001B0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
0001C0: 20 20 20 32 2F 20 54 68 65 20 6B 65 79 20 69 73 2/ The key is
0001D0: 20 73 74 69 6C 6C 20 70 72 65 73 73 65 64 2E 0D still pressed..
0001E0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
0001F0: 20 20 20 33 2F 20 4E 6F 20 6F 74 68 65 72 20 6B 3/ No other k
Size : 512 (Real : 512)
000000: 65 79 20 68 61 73 20 62 65 65 6E 20 70 72 65 73 ey has been pres
000010: 73 65 64 20 20 73 69 6E 63 65 20 20 74 68 65 20 sed since the
000020: 20 6B 65 79 20 20 77 61 73 20 20 66 69 72 73 74 key was first
000030: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000040: 20 20 70 72 65 73 73 65 64 2E 0D 0A 0D 0A 20 20 pressed.....
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 34 2F 4/
000060: 20 54 68 65 20 6B 65 79 20 69 73 20 6D 61 72 6B The key is mark
000070: 65 64 20 61 73 20 20 61 6C 6C 6F 77 65 64 20 20 ed as allowed
000080: 74 6F 20 20 72 65 70 65 61 74 20 20 69 6E 20 20 to repeat in
000090: 74 68 65 20 20 72 65 70 65 61 74 0D 0A 20 20 20 the repeat..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 62 tab
0000B0: 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 le.....
0000C0: 20 20 20 20 20 20 20 35 2F 20 54 68 65 72 65 20 5/ There
0000D0: 61 72 65 20 6E 6F 20 6B 65 79 73 20 73 74 6F 72 are no keys stor
0000E0: 65 64 20 69 6E 20 74 68 65 20 6B 65 79 20 62 75 ed in the key bu
0000F0: 66 66 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 ffer.....
000100: 43 6F 6E 64 69 74 69 6F 6E 20 35 20 61 62 6F 76 Condition 5 abov
000110: 65 20 6D 65 61 6E 73 20 74 68 61 74 20 74 68 65 e means that the
000120: 20 72 65 70 65 61 74 20 73 70 65 65 64 20 61 6E repeat speed an
000130: 64 20 73 74 61 72 74 20 75 70 20 20 64 65 6C 61 d start up dela
000140: 79 20 20 73 65 74 0D 0A 20 20 20 20 20 20 20 74 y set.. t
000150: 68 65 20 6D 61 78 69 6D 75 6D 20 73 70 65 65 64 he maximum speed
000160: 20 61 74 20 77 68 69 63 68 20 61 20 6B 65 79 20 at which a key
000170: 69 73 20 61 6C 6C 6F 77 65 64 20 74 6F 20 72 65 is allowed to re
000180: 70 65 61 74 2E 20 49 66 20 61 20 70 72 6F 67 72 peat. If a progr
000190: 61 6D 20 69 73 0D 0A 20 20 20 20 20 20 20 73 6C am is.. sl
0001A0: 6F 77 20 61 62 6F 75 74 20 72 65 6D 6F 76 69 6E ow about removin
0001B0: 67 20 6B 65 79 73 20 66 72 6F 6D 20 74 68 65 20 g keys from the
0001C0: 62 75 66 66 65 72 20 74 68 65 6E 20 74 68 65 20 buffer then the
0001D0: 67 65 6E 65 72 61 74 69 6F 6E 20 20 6F 66 20 20 generation of
0001E0: 6B 65 79 73 0D 0A 20 20 20 20 20 20 20 77 69 6C keys.. wil
0001F0: 6C 20 61 64 6A 75 73 74 20 69 74 73 65 6C 66 20 l adjust itself
Size : 512 (Real : 512)
000000: 74 6F 20 74 68 69 73 2E 20 54 68 75 73 20 69 74 to this. Thus it
000010: 20 20 69 73 20 20 69 6D 70 6F 73 73 69 62 6C 65 is impossible
000020: 20 20 74 6F 20 20 67 65 74 20 20 61 20 20 6C 61 to get a la
000030: 72 67 65 0D 0A 20 20 20 20 20 20 20 6E 75 6D 62 rge.. numb
000040: 65 72 20 6F 66 20 6B 65 79 73 20 73 74 6F 72 65 er of keys store
000050: 64 20 69 6E 20 74 68 65 20 62 75 66 66 65 72 20 d in the buffer
000060: 73 69 6D 70 6C 79 20 62 79 20 68 6F 6C 64 69 6E simply by holdin
000070: 67 20 61 20 6B 65 79 20 70 72 65 73 73 65 64 2E g a key pressed.
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 20 20 70 61 67 65 20 page
0000D0: 33 2E 33 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 3.3.............
0000E0: 0A 20 20 20 20 20 20 20 33 2E 36 20 42 72 65 61 . 3.6 Brea
0000F0: 6B 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 42 72 ks..... Br
000100: 65 61 6B 73 20 6F 63 63 75 72 20 77 68 65 6E 20 eaks occur when
000110: 74 68 65 20 6B 65 79 62 6F 61 72 64 20 73 63 61 the keyboard sca
000120: 6E 6E 65 72 20 64 65 74 65 63 74 73 20 74 68 61 nner detects tha
000130: 74 20 20 74 68 65 20 20 45 53 43 20 20 6B 65 79 t the ESC key
000140: 20 20 69 73 0D 0A 20 20 20 20 20 20 20 70 72 65 is.. pre
000150: 73 73 65 64 2E 20 57 68 65 6E 20 74 68 65 20 65 ssed. When the e
000160: 73 63 61 70 65 20 6B 65 79 20 69 73 20 66 6F 75 scape key is fou
000170: 6E 64 20 74 6F 20 62 65 20 70 72 65 73 73 65 64 nd to be pressed
000180: 20 74 68 65 20 69 6E 64 69 72 65 63 74 69 6F 6E the indirection
000190: 20 4B 4D 0D 0A 20 20 20 20 20 20 20 54 45 53 54 KM.. TEST
0001A0: 20 42 52 45 41 4B 20 69 73 20 63 61 6C 6C 65 64 BREAK is called
0001B0: 20 74 6F 20 64 65 61 6C 20 77 69 74 68 20 74 68 to deal with th
0001C0: 65 20 62 72 65 61 6B 2E 20 54 68 65 20 64 65 66 e break. The def
0001D0: 61 75 6C 74 20 20 73 65 74 74 69 6E 67 20 20 66 ault setting f
0001E0: 6F 72 0D 0A 20 20 20 20 20 20 20 74 68 69 73 20 or.. this
0001F0: 72 6F 75 74 69 6E 65 20 74 65 73 74 73 20 77 68 routine tests wh
Size : 512 (Real : 512)
000000: 65 74 68 65 72 20 74 68 65 20 53 48 49 46 54 2C ether the SHIFT,
000010: 20 43 54 52 4C 20 61 6E 64 20 45 53 43 20 6B 65 CTRL and ESC ke
000020: 79 73 20 61 6E 64 20 6E 6F 20 20 6F 74 68 65 72 ys and no other
000030: 73 0D 0A 20 20 20 20 20 20 20 61 72 65 20 70 72 s.. are pr
000040: 65 73 73 65 64 2E 20 49 66 20 73 6F 20 74 68 65 essed. If so the
000050: 20 73 79 73 74 65 6D 20 69 73 20 20 72 65 73 65 system is rese
000060: 74 20 20 28 62 79 20 20 65 78 65 63 75 74 69 6E t (by executin
000070: 67 20 20 61 6E 64 20 20 52 53 54 20 20 30 29 2C g and RST 0),
000080: 0D 0A 20 20 20 20 20 20 20 6F 74 68 65 72 77 69 .. otherwi
000090: 73 65 20 74 68 65 20 62 72 65 61 6B 20 6D 65 63 se the break mec
0000A0: 68 61 6E 69 73 6D 20 69 73 20 69 6E 76 6F 6B 65 hanism is invoke
0000B0: 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 d....... I
0000C0: 74 20 74 68 65 20 62 72 65 61 6B 20 6D 65 63 68 t the break mech
0000D0: 61 6E 69 73 6D 20 69 73 20 64 69 73 61 72 6D 65 anism is disarme
0000E0: 64 20 74 68 65 6E 20 6E 6F 20 61 63 74 69 6F 6E d then no action
0000F0: 20 69 73 20 74 61 6B 65 6E 20 6F 74 68 65 72 20 is taken other
000100: 20 74 68 61 6E 0D 0A 20 20 20 20 20 20 20 74 68 than.. th
000110: 65 20 6E 6F 72 6D 61 6C 20 69 6E 73 65 72 74 69 e normal inserti
000120: 6F 6E 20 6F 66 20 74 68 65 20 6D 61 72 6B 65 72 on of the marker
000130: 20 66 6F 72 20 74 68 65 20 65 73 63 61 70 65 20 for the escape
000140: 20 6B 65 79 20 20 69 6E 74 6F 20 20 74 68 65 20 key into the
000150: 20 6B 65 79 0D 0A 20 20 20 20 20 20 20 62 75 66 key.. buf
000160: 66 65 72 2E 20 49 66 20 74 68 65 20 62 72 65 61 fer. If the brea
000170: 6B 20 6D 65 63 68 61 6E 69 73 6D 20 69 73 20 61 k mechanism is a
000180: 72 6D 65 64 20 74 68 65 6E 20 74 77 6F 20 61 64 rmed then two ad
000190: 64 69 74 69 6F 6E 61 6C 20 6F 70 65 72 61 74 69 ditional operati
0001A0: 6F 6E 73 0D 0A 20 20 20 20 20 20 20 74 61 6B 65 ons.. take
0001B0: 20 70 6C 61 63 65 2E 20 46 69 72 73 74 6C 79 2C place. Firstly,
0001C0: 20 61 20 73 70 65 63 69 61 6C 20 6D 61 72 6B 65 a special marke
0001D0: 72 20 69 73 20 70 6C 61 63 65 64 20 69 6E 74 6F r is placed into
0001E0: 20 20 74 68 65 20 20 6B 65 79 20 20 62 75 66 66 the key buff
0001F0: 65 72 0D 0A 20 20 20 20 20 20 20 74 68 61 74 20 er.. that
Size : 512 (Real : 512)
000000: 77 69 6C 6C 20 67 65 6E 65 72 61 74 65 20 63 68 will generate ch
000010: 61 72 61 63 74 65 72 20 23 45 46 20 77 68 65 6E aracter #EF when
000020: 20 69 74 20 69 73 20 66 6F 75 6E 64 20 28 69 72 it is found (ir
000030: 72 65 73 70 65 63 74 69 76 65 20 6F 66 20 74 68 respective of th
000040: 65 0D 0A 20 20 20 20 20 20 20 74 72 61 6E 73 6C e.. transl
000050: 61 74 69 6F 6E 20 74 61 62 6C 65 73 29 2E 20 20 ation tables).
000060: 54 68 69 73 20 20 69 73 20 20 69 6E 74 65 6E 64 This is intend
000070: 65 64 20 20 74 6F 20 20 62 65 20 20 75 73 65 64 ed to be used
000080: 20 20 74 6F 20 20 61 6C 6C 6F 77 20 20 74 68 65 to allow the
000090: 0D 0A 20 20 20 20 20 20 20 63 68 61 72 61 63 74 .. charact
0000A0: 65 72 73 20 77 68 69 63 68 20 77 65 72 65 20 69 ers which were i
0000B0: 6E 20 74 68 65 20 62 75 66 66 65 72 20 62 65 66 n the buffer bef
0000C0: 6F 72 65 20 74 68 65 20 62 72 65 61 6B 20 20 6F ore the break o
0000D0: 63 63 75 72 72 65 64 20 20 74 6F 20 20 62 65 0D ccurred to be.
0000E0: 0A 20 20 20 20 20 20 20 64 69 73 63 61 72 64 65 . discarde
0000F0: 64 2E 20 53 65 63 6F 6E 64 6C 79 2C 20 74 68 65 d. Secondly, the
000100: 20 73 79 6E 63 68 72 6F 6E 6F 75 73 20 62 72 65 synchronous bre
000110: 61 6B 20 65 76 65 6E 74 20 69 73 20 27 6B 69 63 ak event is 'kic
000120: 6B 65 64 27 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ked'.......
000130: 20 20 54 68 65 20 62 72 65 61 6B 20 6D 65 63 68 The break mech
000140: 61 6E 69 73 6D 20 63 61 6E 20 62 65 20 61 72 6D anism can be arm
000150: 65 64 20 6F 72 20 64 69 73 61 72 6D 65 64 20 61 ed or disarmed a
000160: 74 20 61 6E 79 20 74 69 6D 65 20 20 28 62 79 20 t any time (by
000170: 20 63 61 6C 6C 69 6E 67 0D 0A 20 20 20 20 20 20 calling..
000180: 20 4B 4D 20 41 52 4D 20 42 52 45 41 4B 20 6F 72 KM ARM BREAK or
000190: 20 4B 4D 20 44 49 53 41 52 4D 20 42 52 45 41 4B KM DISARM BREAK
0001A0: 29 2E 20 54 68 65 20 64 65 66 61 75 6C 74 20 73 ). The default s
0001B0: 74 61 74 65 20 69 73 20 64 69 73 61 72 6D 65 64 tate is disarmed
0001C0: 2E 20 20 57 68 65 6E 0D 0A 20 20 20 20 20 20 20 . When..
0001D0: 61 20 62 72 65 61 6B 20 69 73 20 64 65 74 65 63 a break is detec
0001E0: 74 65 64 20 74 68 65 20 20 6D 65 63 68 61 6E 69 ted the mechani
0001F0: 73 6D 20 20 69 73 20 20 64 69 73 61 72 6D 65 64 sm is disarmed
Size : 512 (Real : 512)
000000: 20 20 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 20 automatically
000010: 20 77 68 69 63 68 0D 0A 20 20 20 20 20 20 20 70 which.. p
000020: 72 65 76 65 6E 74 73 20 6D 75 6C 74 69 70 6C 65 revents multiple
000030: 20 62 72 65 61 6B 73 20 66 72 6F 6D 20 6F 63 63 breaks from occ
000040: 75 72 72 69 6E 67 2E 0D 0A 0D 0A 0D 0A 20 20 20 urring.......
000050: 20 20 20 20 54 68 65 20 6D 65 74 68 6F 64 20 42 The method B
000060: 41 53 49 43 20 75 73 65 73 20 74 6F 20 68 61 6E ASIC uses to han
000070: 64 6C 65 20 62 72 65 61 6B 73 20 73 68 6F 75 6C dle breaks shoul
000080: 64 20 73 65 72 76 65 20 20 61 73 20 20 61 20 20 d serve as a
000090: 6D 6F 64 65 6C 20 20 66 6F 72 0D 0A 20 20 20 20 model for..
0000A0: 20 20 20 6F 74 68 65 72 20 70 72 6F 67 72 61 6D other program
0000B0: 73 2E 20 42 41 53 49 43 27 73 20 61 63 74 69 6F s. BASIC's actio
0000C0: 6E 20 69 73 20 61 73 20 66 6F 6C 6C 6F 77 73 3A n is as follows:
0000D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
0000E0: 20 20 20 20 54 68 65 20 62 72 65 61 6B 20 6D 65 The break me
0000F0: 63 68 61 6E 69 73 6D 20 69 73 20 61 72 6D 65 64 chanism is armed
000100: 2E 20 41 66 74 65 72 20 20 65 61 63 68 20 20 42 . After each B
000110: 41 53 49 43 20 20 69 6E 73 74 72 75 63 74 69 6F ASIC instructio
000120: 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 n..
000130: 20 20 20 74 68 65 20 73 79 6E 63 68 72 6F 6E 6F the synchrono
000140: 75 73 20 65 76 65 6E 74 20 71 75 65 75 65 20 69 us event queue i
000150: 73 20 70 6F 6C 6C 65 64 20 61 6E 64 20 69 66 20 s polled and if
000160: 61 20 62 72 65 61 6B 20 65 76 65 6E 74 20 69 73 a break event is
000170: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000180: 20 20 66 6F 75 6E 64 20 28 62 65 63 61 75 73 65 found (because
000190: 20 69 74 20 68 61 73 20 62 65 65 6E 20 6B 69 63 it has been kic
0001A0: 6B 65 64 20 20 61 73 20 20 65 78 70 6C 61 69 6E ked as explain
0001B0: 65 64 20 20 61 62 6F 76 65 29 20 20 74 68 65 0D ed above) the.
0001C0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001D0: 20 62 72 65 61 6B 20 65 76 65 6E 74 20 72 6F 75 break event rou
0001E0: 74 69 6E 65 20 69 73 20 72 75 6E 2E 0D 0A 0D 0A tine is run.....
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 54 68 65 20 62 72 65 61 6B 20 65 76 65 6E 74 20 The break event
000010: 72 6F 75 74 69 6E 65 20 73 74 6F 70 73 20 73 6F routine stops so
000020: 75 6E 64 20 67 65 6E 65 72 61 74 69 6F 6E 20 20 und generation
000030: 28 53 4F 55 4E 44 20 20 48 4F 4C 44 29 0D 0A 20 (SOUND HOLD)..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 a
000050: 6E 64 20 74 68 65 6E 20 69 74 20 64 69 73 63 61 nd then it disca
000060: 72 64 73 20 61 6C 6C 20 63 68 61 72 61 63 74 65 rds all characte
000070: 72 73 20 74 79 70 65 64 20 20 62 65 66 6F 72 65 rs typed before
000080: 20 20 74 68 65 20 20 62 72 65 61 6B 0D 0A 20 20 the break..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6F 63 oc
0000A0: 63 75 72 72 65 64 20 62 79 20 72 65 61 64 69 6E curred by readin
0000B0: 67 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6F g characters fro
0000C0: 6D 20 20 74 68 65 20 20 6B 65 79 62 6F 61 72 64 m the keyboard
0000D0: 20 20 28 4B 4D 20 20 52 45 41 44 0D 0A 20 20 20 (KM READ..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 48 41 CHA
0000F0: 52 29 20 75 6E 74 69 6C 20 65 69 74 68 65 72 20 R) until either
000100: 74 68 65 20 62 75 66 66 65 72 20 69 73 20 65 6D the buffer is em
000110: 70 74 79 20 20 6F 72 20 20 74 68 65 20 20 62 72 pty or the br
000120: 65 61 6B 20 20 65 76 65 6E 74 0D 0A 20 20 20 20 eak event..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 6D 61 72 6B mark
000140: 65 72 20 28 63 68 61 72 61 63 74 65 72 20 23 45 er (character #E
000150: 46 29 20 69 73 20 66 6F 75 6E 64 2E 20 42 41 53 F) is found. BAS
000160: 49 43 20 74 68 65 6E 20 74 75 72 6E 73 20 74 68 IC then turns th
000170: 65 20 20 63 75 72 73 6F 72 0D 0A 20 20 20 20 20 e cursor..
000180: 20 20 20 20 20 20 20 20 20 20 20 6F 6E 20 28 54 on (T
000190: 58 54 20 43 55 52 20 4F 4E 29 20 61 6E 64 20 77 XT CUR ON) and w
0001A0: 61 69 74 73 20 66 6F 72 20 74 68 65 20 6E 65 78 aits for the nex
0001B0: 74 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 62 t character to b
0001C0: 65 20 20 74 79 70 65 64 0D 0A 20 20 20 20 20 20 e typed..
0001D0: 20 20 20 20 20 20 20 20 20 20 28 4B 4D 20 57 41 (KM WA
0001E0: 49 54 20 43 48 41 52 29 2E 0D 0A 0D 0A 20 20 20 IT CHAR).....
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 If
Size : 512 (Real : 512)
000000: 74 68 65 20 6E 65 78 74 20 63 68 61 72 61 63 74 the next charact
000010: 65 72 20 69 73 20 74 68 65 20 65 73 63 61 70 65 er is the escape
000020: 20 74 6F 6B 65 6E 20 20 28 63 68 61 72 61 63 74 token (charact
000030: 65 72 20 20 23 46 43 20 20 2D 0D 0A 20 20 20 20 er #FC -..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 the
000050: 64 65 66 61 75 6C 74 20 76 61 6C 75 65 20 67 65 default value ge
000060: 6E 65 72 61 74 65 64 20 62 79 20 74 68 65 20 45 nerated by the E
000070: 53 43 20 6B 65 79 29 20 74 68 65 6E 20 61 20 20 SC key) then a
000080: 66 6C 61 67 20 20 73 65 74 0D 0A 20 20 20 20 20 flag set..
000090: 20 20 20 20 20 20 20 20 20 20 20 74 6F 20 6D 61 to ma
0000A0: 6B 65 20 42 41 53 49 43 20 61 62 61 6E 64 6F 6E ke BASIC abandon
0000B0: 20 65 78 65 63 75 74 69 6F 6E 20 28 6F 72 20 72 execution (or r
0000C0: 75 6E 20 74 68 65 20 75 73 65 72 27 73 20 20 4F un the user's O
0000D0: 4E 20 20 42 52 45 41 4B 0D 0A 20 20 20 20 20 20 N BREAK..
0000E0: 20 20 20 20 20 20 20 20 20 20 47 4F 53 55 42 20 GOSUB
0000F0: 73 75 62 72 6F 75 74 69 6E 65 29 20 61 6E 64 20 subroutine) and
000100: 74 68 65 20 62 72 65 61 6B 20 65 76 65 6E 74 20 the break event
000110: 72 6F 75 74 69 6E 65 20 72 65 74 75 72 6E 73 2E routine returns.
000120: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000130: 20 20 20 20 49 66 20 74 68 65 20 6E 65 78 74 20 If the next
000140: 63 68 61 72 61 63 74 65 72 20 69 73 20 61 6E 79 character is any
000150: 20 63 68 61 72 61 63 74 65 72 20 6F 74 68 65 72 character other
000160: 20 74 68 61 6E 20 65 73 63 61 70 65 20 74 68 65 than escape the
000170: 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 n..
000180: 20 20 20 74 68 65 20 62 72 65 61 6B 20 77 69 6C the break wil
000190: 6C 20 62 65 20 69 67 6E 6F 72 65 64 2E 20 49 66 l be ignored. If
0001A0: 20 69 74 20 69 73 20 61 6E 79 20 63 68 61 72 61 it is any chara
0001B0: 63 74 65 72 20 6F 74 68 65 72 20 20 74 68 61 6E cter other than
0001C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001D0: 20 20 73 70 61 63 65 20 74 68 65 6E 20 74 68 69 space then thi
0001E0: 73 20 69 73 20 27 70 75 74 20 62 61 63 6B 27 20 s is 'put back'
0001F0: 28 4B 4D 20 43 48 41 52 20 20 52 45 54 55 52 4E (KM CHAR RETURN
Size : 512 (Real : 512)
000000: 29 2E 20 20 42 65 66 6F 72 65 20 20 74 68 65 0D ). Before the.
000010: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000020: 20 65 76 65 6E 74 20 72 6F 75 74 69 6E 65 20 72 event routine r
000030: 65 74 75 72 6E 73 20 74 68 65 20 63 75 72 73 6F eturns the curso
000040: 72 20 69 73 20 74 75 72 6E 65 64 20 6F 66 66 20 r is turned off
000050: 28 54 58 54 20 43 55 52 20 4F 46 46 29 2C 0D 0A (TXT CUR OFF),..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 73 6F 75 6E 64 20 67 65 6E 65 72 61 74 69 6F 6E sound generation
000080: 20 69 73 20 72 65 73 74 61 72 74 65 64 20 28 53 is restarted (S
000090: 4F 55 4E 44 20 43 4F 4E 54 49 4E 55 45 29 20 61 OUND CONTINUE) a
0000A0: 6E 64 20 74 68 65 20 20 62 72 65 61 6B 0D 0A 20 nd the break..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6D m
0000C0: 65 63 68 61 6E 69 73 6D 20 69 73 20 72 65 61 72 echanism is rear
0000D0: 6D 65 64 2E 20 42 41 53 49 43 20 74 68 65 6E 20 med. BASIC then
0000E0: 63 6F 6E 74 69 6E 75 65 73 20 61 73 20 69 66 20 continues as if
0000F0: 6E 6F 74 68 69 6E 67 20 20 68 61 64 0D 0A 20 20 nothing had..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 ha
000110: 70 70 65 6E 65 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 ppened.......
000120: 20 20 20 20 57 68 65 6E 20 72 65 61 64 69 6E 67 When reading
000130: 20 6F 72 20 77 72 69 74 69 6E 67 20 66 72 6F 6D or writing from
000140: 20 74 68 65 20 63 61 73 73 65 74 74 65 20 74 68 the cassette th
000150: 65 20 45 53 43 20 6B 65 79 20 69 73 20 68 61 6E e ESC key is han
000160: 64 6C 65 64 20 69 6E 20 20 61 0D 0A 20 20 20 20 dled in a..
000170: 20 20 20 64 69 66 66 65 72 65 6E 74 20 6D 61 6E different man
000180: 6E 65 72 20 77 68 69 63 68 20 69 73 20 64 65 73 ner which is des
000190: 63 72 69 62 65 64 20 69 6E 20 73 65 63 74 69 6F cribed in sectio
0001A0: 6E 20 38 2E 31 32 0D 0A 0D 0A 20 20 20 20 20 20 n 8.12....
0001B0: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
0001C0: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
0001D0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
0001F0: 61 67 65 20 33 2E 34 0D 0A 0D 0A 0D 0A 0D 0A 0D age 3.4.........
Size : 512 (Real : 512)
000000: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 33 2E 37 20 ..... 3.7
000010: 46 75 6E 63 74 69 6F 6E 20 4B 65 79 73 20 61 6E Function Keys an
000020: 64 20 45 78 70 61 6E 73 69 6F 6E 20 54 6F 6B 65 d Expansion Toke
000030: 6E 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ns.........
000040: 20 20 54 68 65 20 4B 65 79 20 4D 61 6E 61 67 65 The Key Manage
000050: 72 20 61 6C 6C 6F 77 73 20 66 6F 72 20 33 32 20 r allows for 32
000060: 65 78 70 61 6E 73 69 6F 6E 20 74 6F 6B 65 6E 73 expansion tokens
000070: 20 28 76 61 6C 75 65 73 20 23 38 30 2E 2E 23 39 (values #80..#9
000080: 46 29 20 77 68 69 63 68 0D 0A 20 20 20 20 20 20 F) which..
000090: 20 6D 61 79 20 62 65 20 70 6C 61 63 65 64 20 69 may be placed i
0000A0: 6E 20 74 68 65 20 6B 65 79 20 74 72 61 6E 73 6C n the key transl
0000B0: 61 74 69 6F 6E 20 74 61 62 6C 65 73 2E 20 45 61 ation tables. Ea
0000C0: 63 68 20 74 6F 6B 65 6E 20 69 73 20 20 61 73 73 ch token is ass
0000D0: 6F 63 69 61 74 65 64 0D 0A 20 20 20 20 20 20 20 ociated..
0000E0: 77 69 74 68 20 61 20 73 74 72 69 6E 67 20 77 68 with a string wh
0000F0: 69 63 68 20 69 73 20 73 74 6F 72 65 64 20 69 6E ich is stored in
000100: 20 74 68 65 20 65 78 70 61 6E 73 69 6F 6E 20 62 the expansion b
000110: 75 66 66 65 72 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 uffer.........
000120: 20 20 20 20 20 57 68 65 6E 20 74 68 65 20 75 73 When the us
000130: 65 72 20 61 73 6B 73 20 74 68 65 20 74 6F 70 20 er asks the top
000140: 6C 65 76 65 6C 20 66 6F 72 20 61 20 63 68 61 72 level for a char
000150: 61 63 74 65 72 20 61 20 6B 65 79 20 69 73 20 66 acter a key is f
000160: 65 74 63 68 65 64 20 66 72 6F 6D 0D 0A 20 20 20 etched from..
000170: 20 20 20 20 74 68 65 20 6D 69 64 64 6C 65 20 6C the middle l
000180: 65 76 65 6C 2E 20 49 66 20 74 68 69 73 20 6B 65 evel. If this ke
000190: 79 20 69 73 20 61 20 63 68 61 72 61 63 74 65 72 y is a character
0001A0: 20 20 69 74 20 20 69 73 20 20 70 61 73 73 65 64 it is passed
0001B0: 20 20 73 74 72 61 69 67 68 74 0D 0A 20 20 20 20 straight..
0001C0: 20 20 20 62 61 63 6B 2E 20 48 6F 77 65 76 65 72 back. However
0001D0: 2C 20 69 66 20 69 74 20 69 73 20 61 6E 20 65 78 , if it is an ex
0001E0: 70 61 6E 73 69 6F 6E 20 74 6F 6B 65 6E 20 74 68 pansion token th
0001F0: 65 6E 20 74 68 65 20 73 74 72 69 6E 67 20 20 61 en the string a
Size : 512 (Real : 512)
000000: 73 73 6F 63 69 61 74 65 64 0D 0A 20 20 20 20 20 ssociated..
000010: 20 20 77 69 74 68 20 74 68 65 20 74 6F 6B 65 6E with the token
000020: 20 69 73 20 6C 6F 6F 6B 65 64 20 75 70 2E 20 54 is looked up. T
000030: 68 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6E he characters in
000040: 20 74 68 69 73 20 73 74 72 69 6E 67 20 61 72 65 this string are
000050: 20 20 70 61 73 73 65 64 0D 0A 20 20 20 20 20 20 passed..
000060: 20 6F 75 74 20 6F 6E 65 20 61 74 20 61 20 74 69 out one at a ti
000070: 6D 65 20 77 69 74 68 20 65 61 63 68 20 72 65 71 me with each req
000080: 75 65 73 74 20 66 6F 72 20 61 20 63 68 61 72 61 uest for a chara
000090: 63 74 65 72 20 75 6E 74 69 6C 20 74 68 65 20 20 cter until the
0000A0: 65 6E 64 20 20 6F 66 0D 0A 20 20 20 20 20 20 20 end of..
0000B0: 74 68 65 20 73 74 72 69 6E 67 20 69 73 20 72 65 the string is re
0000C0: 61 63 68 65 64 2E 20 20 56 61 6C 75 65 73 20 20 ached. Values
0000D0: 23 38 30 2E 2E 23 39 46 20 20 61 6E 64 20 20 23 #80..#9F and #
0000E0: 45 46 2C 20 20 23 46 44 2E 2E 23 46 46 20 20 69 EF, #FD..#FF i
0000F0: 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 65 n the.. e
000100: 78 70 61 6E 73 69 6F 6E 20 73 74 72 69 6E 67 20 xpansion string
000110: 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 63 are treated as c
000120: 68 61 72 61 63 74 65 72 73 20 61 6E 64 20 20 61 haracters and a
000130: 72 65 20 20 6E 6F 74 20 20 65 78 70 61 6E 64 65 re not expande
000140: 64 20 20 6F 72 0D 0A 20 20 20 20 20 20 20 6F 62 d or.. ob
000150: 65 79 65 64 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 eyed.........
000160: 20 20 20 20 54 68 65 20 75 73 65 72 20 6D 61 79 The user may
000170: 20 73 65 74 20 74 68 65 20 73 74 72 69 6E 67 20 set the string
000180: 61 73 73 6F 63 69 61 74 65 64 20 77 69 74 68 20 associated with
000190: 61 6E 20 65 78 70 61 6E 73 69 6F 6E 20 74 6F 6B an expansion tok
0001A0: 65 6E 20 28 73 65 65 20 4B 4D 0D 0A 20 20 20 20 en (see KM..
0001B0: 20 20 20 53 45 54 20 45 58 50 41 4E 44 29 20 61 SET EXPAND) a
0001C0: 6E 64 20 6D 61 79 20 63 61 75 73 65 20 61 6E 79 nd may cause any
0001D0: 20 6B 65 79 20 20 6F 6E 20 20 74 68 65 20 20 6B key on the k
0001E0: 65 79 62 6F 61 72 64 20 20 74 6F 20 20 67 65 6E eyboard to gen
0001F0: 65 72 61 74 65 20 20 61 6E 0D 0A 20 20 20 20 20 erate an..
Size : 512 (Real : 512)
000000: 20 20 65 78 70 61 6E 73 69 6F 6E 20 74 6F 6B 65 expansion toke
000010: 6E 2E 20 54 68 65 20 64 65 66 61 75 6C 74 20 73 n. The default s
000020: 65 74 74 69 6E 67 73 20 66 6F 72 20 74 68 65 20 ettings for the
000030: 65 78 70 61 6E 73 69 6F 6E 20 74 6F 6B 65 6E 73 expansion tokens
000040: 20 61 6E 64 20 74 68 65 0D 0A 20 20 20 20 20 20 and the..
000050: 20 6B 65 79 73 20 77 69 74 68 20 77 68 69 63 68 keys with which
000060: 20 74 68 65 79 20 61 72 65 20 6E 6F 72 6D 61 6C they are normal
000070: 6C 79 20 61 73 73 6F 63 69 61 74 65 64 20 61 72 ly associated ar
000080: 65 20 67 69 76 65 6E 20 69 6E 20 41 70 70 65 6E e given in Appen
000090: 64 69 78 20 49 56 2E 0D 0A 20 20 20 20 20 20 20 dix IV...
0000A0: 54 68 65 20 75 73 65 72 20 6D 61 79 20 61 6C 73 The user may als
0000B0: 6F 20 73 65 74 20 74 68 65 20 73 69 7A 65 20 61 o set the size a
0000C0: 6E 64 20 6C 6F 63 61 74 69 6F 6E 20 6F 66 20 20 nd location of
0000D0: 74 68 65 20 20 65 78 70 61 6E 73 69 6F 6E 20 20 the expansion
0000E0: 62 75 66 66 65 72 0D 0A 20 20 20 20 20 20 20 28 buffer.. (
0000F0: 73 65 65 20 4B 4D 20 45 58 50 20 42 55 46 46 45 see KM EXP BUFFE
000100: 52 29 3B 20 74 68 65 20 64 65 66 61 75 6C 74 20 R); the default
000110: 62 75 66 66 65 72 20 69 73 20 61 74 20 6C 65 61 buffer is at lea
000120: 73 74 20 31 30 30 20 62 79 74 65 73 20 6C 6F 6E st 100 bytes lon
000130: 67 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 g.........
000140: 20 33 2E 38 20 4A 6F 79 73 74 69 63 6B 73 2E 0D 3.8 Joysticks..
000150: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ....... Th
000160: 65 72 65 20 6D 61 79 20 62 65 20 74 77 6F 20 6A ere may be two j
000170: 6F 79 73 74 69 63 6B 73 20 63 6F 6E 6E 65 63 74 oysticks connect
000180: 65 64 20 74 6F 20 74 68 65 20 20 73 79 73 74 65 ed to the syste
000190: 6D 2E 20 20 54 68 65 73 65 20 20 61 72 65 20 20 m. These are
0001A0: 62 6F 74 68 0D 0A 20 20 20 20 20 20 20 73 63 61 both.. sca
0001B0: 6E 6E 65 64 20 69 6E 20 74 68 65 20 73 61 6D 65 nned in the same
0001C0: 20 77 61 79 20 61 73 20 6B 65 79 73 20 6F 6E 20 way as keys on
0001D0: 74 68 65 20 6B 65 79 62 6F 61 72 64 2E 20 20 49 the keyboard. I
0001E0: 6E 64 65 65 64 2C 20 20 74 68 65 20 20 73 65 63 ndeed, the sec
0001F0: 6F 6E 64 0D 0A 20 20 20 20 20 20 20 6A 6F 79 73 ond.. joys
Size : 512 (Real : 512)
000000: 74 69 63 6B 20 6F 63 63 75 70 69 65 73 20 74 68 tick occupies th
000010: 65 20 73 61 6D 65 20 6C 6F 63 61 74 69 6F 6E 73 e same locations
000020: 20 69 6E 20 20 74 68 65 20 20 6B 65 79 20 20 6D in the key m
000030: 61 74 72 69 78 20 20 61 73 20 20 63 65 72 74 61 atrix as certa
000040: 69 6E 0D 0A 20 20 20 20 20 20 20 6F 74 68 65 72 in.. other
000050: 20 6B 65 79 73 20 61 6E 64 20 69 73 20 20 69 6E keys and is in
000060: 64 69 73 74 69 6E 67 75 69 73 68 61 62 6C 65 20 distinguishable
000070: 20 66 72 6F 6D 20 20 74 68 65 6E 2E 20 20 54 68 from then. Th
000080: 65 20 20 73 74 61 74 65 20 20 6F 66 20 20 74 68 e state of th
000090: 65 0D 0A 20 20 20 20 20 20 20 6A 6F 79 73 74 69 e.. joysti
0000A0: 63 6B 20 63 61 6E 20 62 65 20 64 65 74 65 72 6D ck can be determ
0000B0: 69 6E 65 64 20 62 79 20 63 61 6C 6C 69 6E 67 20 ined by calling
0000C0: 74 68 65 20 72 6F 75 74 69 6E 65 20 4B 4D 20 47 the routine KM G
0000D0: 45 54 20 4A 4F 59 53 54 49 43 4B 2E 0D 0A 0D 0A ET JOYSTICK.....
0000E0: 0D 0A 0D 0A 20 20 20 20 20 20 20 42 65 63 61 75 .... Becau
0000F0: 73 65 20 74 68 65 20 6A 6F 79 73 74 69 63 6B 73 se the joysticks
000100: 20 61 72 65 20 73 63 61 6E 6E 65 64 20 6C 69 6B are scanned lik
000110: 65 20 6B 65 79 73 20 74 68 65 20 70 72 65 73 73 e keys the press
000120: 69 6E 67 20 20 6F 66 20 20 6A 6F 79 73 74 69 63 ing of joystic
000130: 6B 0D 0A 20 20 20 20 20 20 20 62 75 74 74 6F 6E k.. button
000140: 73 20 63 61 6E 20 62 65 20 20 64 65 74 65 63 74 s can be detect
000150: 65 64 20 20 6C 69 6B 65 20 20 61 6E 79 20 20 6F ed like any o
000160: 74 68 65 72 20 20 6B 65 79 2E 20 20 46 69 72 73 ther key. Firs
000170: 74 6C 79 2C 20 20 69 6E 64 69 76 69 64 75 61 6C tly, individual
000180: 0D 0A 20 20 20 20 20 20 20 64 69 72 65 63 74 69 .. directi
000190: 6F 6E 20 6F 72 20 62 75 74 74 6F 6E 73 20 63 61 on or buttons ca
0001A0: 6E 20 62 65 20 74 65 73 74 65 64 20 69 6E 20 74 n be tested in t
0001B0: 68 65 20 6B 65 79 20 20 62 69 74 20 20 6D 61 70 he key bit map
0001C0: 20 20 28 73 65 65 20 20 73 65 63 74 69 6F 6E 0D (see section.
0001D0: 0A 20 20 20 20 20 20 20 33 2E 31 29 20 62 79 20 . 3.1) by
0001E0: 63 61 6C 6C 69 6E 67 20 4B 4D 20 54 45 53 54 20 calling KM TEST
0001F0: 4B 45 59 2E 20 53 65 63 6F 6E 64 6C 79 2C 20 74 KEY. Secondly, t
Size : 512 (Real : 512)
000000: 68 65 20 6A 6F 79 73 74 69 63 6B 20 20 62 75 74 he joystick but
000010: 74 6F 6E 73 20 20 67 65 6E 65 72 61 74 65 0D 0A tons generate..
000020: 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 character
000030: 73 20 77 68 65 6E 20 74 68 65 79 20 61 72 65 20 s when they are
000040: 70 72 65 73 73 65 64 20 28 70 72 6F 76 69 64 69 pressed (providi
000050: 6E 67 20 74 68 65 20 74 72 61 6E 73 6C 61 74 69 ng the translati
000060: 6F 6E 20 74 61 62 6C 65 73 20 61 72 65 0D 0A 20 on tables are..
000070: 20 20 20 20 20 20 73 65 74 20 73 75 69 74 61 62 set suitab
000080: 6C 79 29 20 61 6E 64 20 74 68 65 73 65 20 63 68 ly) and these ch
000090: 61 72 61 63 74 65 72 73 20 63 61 6E 20 62 65 20 aracters can be
0000A0: 64 65 74 65 63 74 65 64 2E 20 54 68 65 20 6D 61 detected. The ma
0000B0: 6A 6F 72 20 20 70 72 6F 62 6C 65 6D 0D 0A 20 20 jor problem..
0000C0: 20 20 20 20 20 77 69 74 68 20 74 68 69 73 20 6C with this l
0000D0: 61 74 74 65 72 20 6D 65 74 68 6F 64 20 69 73 20 atter method is
0000E0: 74 68 61 74 20 74 68 65 20 72 61 74 65 20 6F 66 that the rate of
0000F0: 20 67 65 6E 65 72 61 74 69 6F 6E 20 20 6F 66 20 generation of
000100: 20 63 68 61 72 61 63 74 65 72 73 0D 0A 20 20 20 characters..
000110: 20 20 20 20 64 65 70 65 6E 64 73 20 6F 6E 20 68 depends on h
000120: 6F 77 20 66 61 73 74 20 74 68 65 20 6B 65 79 62 ow fast the keyb
000130: 6F 61 72 64 20 69 73 20 73 65 74 20 74 6F 20 72 oard is set to r
000140: 65 70 65 61 74 2E 20 49 66 20 74 68 65 20 72 65 epeat. If the re
000150: 70 65 61 74 20 73 70 65 65 64 0D 0A 20 20 20 20 peat speed..
000160: 20 20 20 69 6E 20 69 6E 63 72 65 61 73 65 64 20 in increased
000170: 74 6F 20 6D 61 6B 65 20 20 74 68 65 20 20 6A 6F to make the jo
000180: 79 73 74 69 63 6B 20 20 6D 6F 72 65 20 20 72 65 ystick more re
000190: 73 70 6F 6E 73 69 76 65 20 20 74 68 65 6E 20 20 sponsive then
0001A0: 74 68 65 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 then the..
0001B0: 20 20 6B 65 79 62 6F 61 72 64 20 6D 61 79 20 62 keyboard may b
0001C0: 65 63 6F 6D 65 20 69 6D 70 6F 73 73 69 62 6C 65 ecome impossible
0001D0: 20 74 6F 20 75 73 65 2E 0D 0A 0D 0A 0D 0A 0D 0A to use.........
0001E0: 20 20 20 20 20 20 20 53 65 65 20 41 70 70 65 6E See Appen
0001F0: 64 69 78 20 49 20 66 6F 72 20 74 68 65 20 6E 75 dix I for the nu
Size : 512 (Real : 512)
000000: 6D 62 65 72 69 6E 67 20 6F 66 20 74 68 65 20 6B mbering of the k
000010: 65 79 73 20 61 6E 64 20 6A 6F 79 73 74 69 63 6B eys and joystick
000020: 20 62 75 74 74 6F 6E 73 20 20 61 6E 64 0D 0A 20 buttons and..
000030: 20 20 20 20 20 20 73 65 65 20 41 70 70 65 6E 64 see Append
000040: 69 78 20 49 49 20 66 6F 72 20 74 68 65 20 64 65 ix II for the de
000050: 66 61 75 6C 74 20 74 72 61 6E 73 6C 61 74 69 6F fault translatio
000060: 6E 20 74 61 62 6C 65 73 2E 0D 0A 0D 0A 0D 0A 20 n tables.......
000070: 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 AMSTRAD CP
000080: 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 C464/664/6128 FI
000090: 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 RMWARE
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 70 61 67 65 20 33 2E 35 0D 0A 1A 74 68 65 20 page 3.5...the
0000C0: 70 61 63 6B 20 61 73 73 6F 63 69 61 74 65 64 20 pack associated
0000D0: 20 77 69 74 68 20 20 74 68 65 20 20 6B 65 79 62 with the keyb
0000E0: 6F 61 72 64 2E 20 20 41 6C 6C 20 20 74 68 65 0D oard. All the.
0000F0: 0A 20 20 20 20 20 20 20 61 74 74 72 69 62 75 74 . attribut
000100: 20 63 68 61 72 61 63 74 65 72 73 0D 0A 20 20 20 characters..
000110: 20 20 20 20 64 65 70 65 6E 64 73 20 6F 6E 20 68 depends on h
000120: 6F 77 20 66 61 73 74 20 74 68 65 20 6B 65 79 62 ow fast the keyb
000130: 6F 61 72 64 20 69 73 20 73 65 74 20 74 6F 20 72 oard is set to r
000140: 65 70 65 61 74 2E 20 49 66 20 74 68 65 20 72 65 epeat. If the re
000150: 70 65 61 74 20 73 70 65 65 64 0D 0A 20 20 20 20 peat speed..
000160: 20 20 20 69 6E 20 69 6E 63 72 65 61 73 65 64 20 in increased
000170: 74 6F 20 6D 61 6B 65 20 20 74 68 65 20 20 6A 6F to make the jo
000180: 79 73 74 69 63 6B 20 20 6D 6F 72 65 20 20 72 65 ystick more re
000190: 73 70 6F 6E 73 69 76 65 20 20 74 68 65 6E 20 20 sponsive then
0001A0: 74 68 65 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 then the..
0001B0: 20 20 6B 65 79 62 6F 61 72 64 20 6D 61 79 20 62 keyboard may b
0001C0: 65 63 6F 6D 65 20 69 6D 70 6F 73 73 69 62 6C 65 ecome impossible
0001D0: 20 74 6F 20 75 73 65 2E 0D 0A 0D 0A 0D 0A 0D 0A to use.........
0001E0: 20 20 20 20 20 20 20 53 65 65 20 41 70 70 65 6E See Appen
0001F0: 64 69 78 20 49 20 66 6F 72 20 74 68 65 20 6E 75 dix I for the nu
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 20 20 20 20 20 20 20 34 ........ 4
000010: 20 54 68 65 20 54 65 78 74 20 56 44 55 2E 0D 0A The Text VDU...
000020: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 54 .... The T
000030: 65 78 74 20 56 44 55 20 69 73 20 20 61 20 20 63 ext VDU is a c
000040: 68 61 72 61 63 74 65 72 20 20 62 61 73 65 64 20 haracter based
000050: 20 73 63 72 65 65 6E 20 20 64 72 69 76 65 72 2E screen driver.
000060: 20 20 49 74 20 20 63 6F 6E 74 72 6F 6C 73 20 20 It controls
000070: 38 0D 0A 20 20 20 20 20 20 20 64 69 66 66 65 72 8.. differ
000080: 65 6E 74 20 73 74 72 65 61 6D 73 20 65 61 63 68 ent streams each
000090: 20 6F 66 20 77 68 69 63 68 20 63 61 6E 20 68 61 of which can ha
0000A0: 76 65 20 61 6E 20 61 72 65 61 20 6F 66 20 20 73 ve an area of s
0000B0: 63 72 65 65 6E 20 20 61 6C 6C 6F 63 61 74 65 64 creen allocated
0000C0: 0D 0A 20 20 20 20 20 20 20 74 6F 20 69 74 20 28 .. to it (
0000D0: 61 20 77 69 6E 64 6F 77 29 2E 20 54 68 65 20 54 a window). The T
0000E0: 65 78 74 20 56 44 55 20 61 6C 6C 6F 77 73 20 63 ext VDU allows c
0000F0: 68 61 72 61 63 74 65 72 73 20 74 6F 20 62 65 20 haracters to be
000100: 77 72 69 74 74 65 6E 20 74 6F 20 20 74 68 65 0D written to the.
000110: 0A 20 20 20 20 20 20 20 73 63 72 65 65 6E 20 61 . screen a
000120: 6E 64 20 72 65 61 64 20 66 72 6F 6D 20 74 68 65 nd read from the
000130: 20 73 63 72 65 65 6E 2E 20 49 74 20 61 6C 73 6F screen. It also
000140: 20 74 72 65 61 74 73 20 20 63 65 72 74 61 69 6E treats certain
000150: 20 20 27 63 68 61 72 61 63 74 65 72 73 27 0D 0A 'characters'..
000160: 20 20 20 20 20 20 20 61 73 20 27 63 6F 6E 74 72 as 'contr
000170: 6F 6C 20 63 6F 64 65 73 27 20 77 68 69 63 68 20 ol codes' which
000180: 63 61 6E 20 68 61 76 65 20 76 61 72 69 6F 75 73 can have various
000190: 20 20 65 66 66 65 63 74 73 2C 20 20 66 72 6F 6D effects, from
0001A0: 20 20 6D 6F 76 69 6E 67 20 20 74 68 65 0D 0A 20 moving the..
0001B0: 20 20 20 20 20 20 63 75 72 73 6F 72 20 74 6F 20 cursor to
0001C0: 73 65 74 74 69 6E 67 20 74 68 65 20 63 6F 6C 6F setting the colo
0001D0: 75 72 20 6F 66 20 61 6E 20 69 6E 6B 2E 0D 0A 0D ur of an ink....
0001E0: 0A 0D 0A 20 20 20 20 20 20 20 34 2E 31 20 54 65 ... 4.1 Te
0001F0: 78 74 20 56 44 55 20 43 6F 6F 72 64 69 6E 61 74 xt VDU Coordinat
Size : 512 (Real : 512)
000000: 65 20 53 79 73 74 65 6D 2E 0D 0A 0D 0A 0D 0A 20 e System.......
000010: 20 20 20 20 20 20 54 68 65 20 54 65 78 74 20 56 The Text V
000020: 44 55 20 75 73 65 73 20 74 77 6F 20 20 63 6F 6F DU uses two coo
000030: 72 64 69 6E 61 74 65 20 20 73 79 73 74 65 6D 73 rdinate systems
000040: 20 20 2D 20 20 6C 6F 67 69 63 61 6C 20 20 61 6E - logical an
000050: 64 20 20 70 68 79 73 69 63 61 6C 2E 0D 0A 20 20 d physical...
000060: 20 20 20 20 20 47 65 6E 65 72 61 6C 6C 79 20 74 Generally t
000070: 68 65 20 75 73 65 72 20 73 70 65 63 69 66 69 65 he user specifie
000080: 73 20 70 6F 73 69 74 69 6F 6E 73 20 74 6F 20 20 s positions to
000090: 74 68 65 20 20 54 65 78 74 20 20 56 44 55 20 20 the Text VDU
0000A0: 69 6E 20 20 6C 6F 67 69 63 61 6C 0D 0A 20 20 20 in logical..
0000B0: 20 20 20 20 63 6F 6F 72 64 69 6E 61 74 65 73 2E coordinates.
0000C0: 20 50 68 79 73 69 63 61 6C 20 63 6F 6F 72 64 69 Physical coordi
0000D0: 6E 61 74 65 73 20 61 72 65 20 75 73 65 64 20 69 nates are used i
0000E0: 6E 74 65 72 6E 61 6C 6C 79 20 61 6E 64 20 6F 63 nternally and oc
0000F0: 63 61 73 69 6F 6E 61 6C 6C 79 0D 0A 20 20 20 20 casionally..
000100: 20 20 20 62 79 20 74 68 65 20 75 73 65 72 20 74 by the user t
000110: 6F 20 73 70 65 63 69 66 79 20 70 6F 73 69 74 69 o specify positi
000120: 6F 6E 73 20 74 6F 20 74 68 65 20 54 65 78 74 20 ons to the Text
000130: 20 56 44 55 2E 20 20 42 6F 74 68 20 20 73 79 73 VDU. Both sys
000140: 74 65 6D 73 20 20 75 73 65 0D 0A 20 20 20 20 20 tems use..
000150: 20 20 73 69 67 6E 65 64 20 38 20 62 69 74 20 6E signed 8 bit n
000160: 75 6D 62 65 72 73 20 61 6E 64 20 77 6F 72 6B 20 umbers and work
000170: 69 6E 20 63 68 61 72 61 63 74 65 72 20 70 6F 73 in character pos
000180: 69 74 69 6F 6E 73 2E 20 20 45 61 63 68 20 20 63 itions. Each c
000190: 68 61 72 61 63 74 65 72 0D 0A 20 20 20 20 20 20 haracter..
0001A0: 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 38 20 70 position is 8 p
0001B0: 69 78 65 6C 73 20 28 64 6F 74 73 29 20 77 69 64 ixels (dots) wid
0001C0: 65 20 61 6E 64 20 38 20 70 69 78 65 6C 73 20 68 e and 8 pixels h
0001D0: 69 67 68 2E 20 20 54 68 69 73 20 20 6D 65 61 6E igh. This mean
0001E0: 73 20 20 74 68 61 74 0D 0A 20 20 20 20 20 20 20 s that..
0001F0: 74 68 65 20 70 6F 73 69 74 69 6F 6E 20 6F 66 20 the position of
Size : 512 (Real : 512)
000000: 61 20 63 6F 6F 72 64 69 6E 61 74 65 20 6F 6E 20 a coordinate on
000010: 74 68 65 20 73 63 72 65 65 6E 20 20 64 65 70 65 the screen depe
000020: 6E 64 73 20 20 75 70 6F 6E 20 20 74 68 65 20 20 nds upon the
000030: 73 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 6D screen.. m
000040: 6F 64 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ode.......
000050: 20 50 68 79 73 69 63 61 6C 20 63 6F 6F 72 64 69 Physical coordi
000060: 6E 61 74 65 73 20 68 61 76 65 20 63 6F 6C 75 6D nates have colum
000070: 6E 73 20 72 75 6E 6E 69 6E 67 20 66 72 6F 6D 20 ns running from
000080: 6C 65 66 74 20 74 6F 20 72 69 67 68 74 20 61 6E left to right an
000090: 64 20 20 72 6F 77 73 0D 0A 20 20 20 20 20 20 20 d rows..
0000A0: 72 75 6E 6E 69 6E 67 20 74 6F 70 20 74 6F 20 62 running top to b
0000B0: 6F 74 74 6F 6D 2E 20 54 68 65 20 63 68 61 72 61 ottom. The chara
0000C0: 63 74 65 72 20 70 6F 73 69 74 69 6F 6E 20 61 74 cter position at
0000D0: 20 74 68 65 20 74 6F 70 20 20 6C 65 66 74 20 20 the top left
0000E0: 63 6F 72 6E 65 72 0D 0A 20 20 20 20 20 20 20 6F corner.. o
0000F0: 66 20 74 68 65 20 73 63 72 65 65 6E 20 69 73 20 f the screen is
000100: 72 6F 77 20 30 2C 20 63 6F 6C 75 6D 6E 20 30 2E row 0, column 0.
000110: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4C 6F 67 ...... Log
000120: 69 63 61 6C 20 63 6F 6F 72 64 69 6E 61 74 65 73 ical coordinates
000130: 20 61 72 65 20 73 69 6D 69 6C 61 72 20 74 6F 20 are similar to
000140: 70 68 79 73 69 63 61 6C 20 20 63 6F 6F 72 64 69 physical coordi
000150: 6E 61 74 65 73 20 20 65 78 63 65 70 74 20 20 74 nates except t
000160: 68 61 74 0D 0A 20 20 20 20 20 20 20 74 68 65 20 hat.. the
000170: 63 68 61 72 61 63 74 65 72 20 70 6F 73 69 74 69 character positi
000180: 6F 6E 20 61 74 20 74 68 65 20 74 6F 70 20 6C 65 on at the top le
000190: 66 74 20 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 ft corner of the
0001A0: 20 20 74 65 78 74 20 20 77 69 6E 64 6F 77 20 20 text window
0001B0: 69 73 0D 0A 20 20 20 20 20 20 20 72 6F 77 20 31 is.. row 1
0001C0: 2C 20 63 6F 6C 75 6D 6E 20 31 2E 0D 0A 0D 0A 0D , column 1......
0001D0: 0A 20 20 20 20 20 20 20 34 2E 32 20 53 74 72 65 . 4.2 Stre
0001E0: 61 6D 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ams.......
0001F0: 20 54 68 65 20 54 65 78 74 20 56 44 55 20 68 61 The Text VDU ha
Size : 512 (Real : 512)
000000: 73 20 66 61 63 69 6C 69 74 69 65 73 20 66 6F 72 s facilities for
000010: 20 68 61 6E 64 6C 69 6E 67 20 75 70 20 74 6F 20 handling up to
000020: 38 20 73 74 72 65 61 6D 73 20 61 74 20 6F 6E 63 8 streams at onc
000030: 65 2E 20 45 61 63 68 0D 0A 20 20 20 20 20 20 20 e. Each..
000040: 73 74 72 65 61 6D 20 68 61 73 20 61 6E 20 69 6E stream has an in
000050: 64 65 70 65 6E 64 65 6E 74 20 73 74 61 74 65 20 dependent state
000060: 28 61 6C 74 68 6F 75 67 68 20 73 6F 6D 65 20 66 (although some f
000070: 61 63 69 6C 69 74 69 65 73 20 20 61 72 65 20 20 acilities are
000080: 73 68 61 72 65 64 0D 0A 20 20 20 20 20 20 20 61 shared.. a
000090: 6E 64 20 74 68 75 73 20 61 66 66 65 63 74 20 61 nd thus affect a
0000A0: 6C 6C 20 73 74 72 65 61 6D 73 20 20 77 68 65 6E ll streams when
0000B0: 20 20 61 6C 74 65 72 65 64 29 2E 20 20 54 68 65 altered). The
0000C0: 20 20 66 65 61 74 75 72 65 73 20 20 74 68 61 74 features that
0000D0: 20 20 61 72 65 0D 0A 20 20 20 20 20 20 20 73 74 are.. st
0000E0: 72 65 61 6D 20 64 65 70 65 6E 64 65 6E 74 20 61 ream dependent a
0000F0: 72 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 re:....
000100: 20 20 20 20 20 20 20 56 44 55 20 65 6E 61 62 6C VDU enabl
000110: 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 e...
000120: 20 20 20 20 43 75 72 73 6F 72 20 65 6E 61 62 6C Cursor enabl
000130: 65 20 28 65 6E 61 62 6C 65 20 6F 72 20 64 69 73 e (enable or dis
000140: 61 62 6C 65 2C 20 6F 6E 20 6F 72 20 6F 66 66 29 able, on or off)
000150: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000160: 20 20 20 43 75 72 73 6F 72 20 70 6F 73 69 74 69 Cursor positi
000170: 6F 6E 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 on...
000180: 20 20 20 20 20 57 69 6E 64 6F 77 20 73 69 7A 65 Window size
000190: 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
0001A0: 20 20 20 50 65 6E 20 61 6E 64 20 70 61 70 65 72 Pen and paper
0001B0: 20 69 6E 6B 73 2E 0D 0A 20 20 20 20 20 20 20 20 inks...
0001C0: 20 20 20 20 20 20 20 20 43 68 61 72 61 63 74 65 Characte
0001D0: 72 20 77 72 69 74 65 20 6D 6F 64 65 20 28 6F 70 r write mode (op
0001E0: 61 71 75 65 20 6F 72 20 74 72 61 6E 73 70 61 72 aque or transpar
0001F0: 65 6E 74 29 2E 0D 0A 20 20 20 20 20 20 20 20 20 ent)...
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 47 72 61 70 68 69 63 73 20 Graphics
000010: 63 68 61 72 61 63 74 65 72 20 77 72 69 74 65 20 character write
000020: 6D 6F 64 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 mode.....
000030: 54 68 65 20 66 65 61 74 75 72 65 73 20 74 68 61 The features tha
000040: 74 20 61 66 66 65 63 74 20 61 6C 6C 20 73 74 72 t affect all str
000050: 65 61 6D 73 20 61 72 65 3A 0D 0A 0D 0A 20 20 20 eams are:....
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 43 68 61 Cha
000070: 72 61 63 74 65 72 20 6D 61 74 72 69 63 65 73 2E racter matrices.
000080: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000090: 20 20 43 6F 6E 74 72 6F 6C 20 63 6F 64 65 20 62 Control code b
0000A0: 75 66 66 65 72 2E 0D 0A 20 20 20 20 20 20 20 20 uffer...
0000B0: 20 20 20 20 20 20 20 20 54 65 78 74 20 56 44 55 Text VDU
0000C0: 20 69 6E 64 69 72 65 63 74 69 6F 6E 73 2E 0D 0A indirections...
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000E0: 53 63 72 65 65 6E 20 6D 6F 64 65 2E 0D 0A 0D 0A Screen mode.....
0000F0: 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 AMSTRAD C
000100: 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 PC464/664/6128 F
000110: 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 IRMWARE
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 34 2E 31 0D 0A 0D page 4.1...
000140: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ...........
000150: 20 20 41 6C 6C 20 74 68 65 73 65 20 66 65 61 74 All these feat
000160: 75 72 65 73 20 61 72 65 20 65 78 70 6C 61 69 6E ures are explain
000170: 65 64 20 69 6E 20 64 65 74 61 69 6C 20 69 6E 20 ed in detail in
000180: 74 68 65 20 73 65 63 74 69 6F 6E 73 20 62 65 6C the sections bel
000190: 6F 77 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 74 ow..... At
0001A0: 20 61 6E 79 20 74 69 6D 65 2C 20 74 68 65 20 73 any time, the s
0001B0: 74 72 65 61 6D 20 77 68 69 63 68 20 69 73 20 63 tream which is c
0001C0: 75 72 72 65 6E 74 6C 79 20 20 73 65 6C 65 63 74 urrently select
0001D0: 65 64 20 20 6D 61 79 20 20 62 65 20 20 63 68 61 ed may be cha
0001E0: 6E 67 65 64 0D 0A 20 20 20 20 20 20 20 77 69 74 nged.. wit
0001F0: 68 6F 75 74 20 61 64 76 65 72 73 65 20 65 66 66 hout adverse eff
Size : 512 (Real : 512)
000000: 65 63 74 73 20 70 72 6F 76 69 64 65 64 20 74 68 ects provided th
000010: 61 74 20 74 68 65 20 63 6F 6E 74 72 6F 6C 20 63 at the control c
000020: 6F 64 65 20 62 75 66 66 65 72 20 20 69 73 20 20 ode buffer is
000030: 6E 6F 74 0D 0A 20 20 20 20 20 20 20 69 6E 20 75 not.. in u
000040: 73 65 20 28 73 65 65 20 73 65 63 74 69 6F 6E 20 se (see section
000050: 34 2E 37 20 66 6F 72 20 66 75 72 74 68 65 72 20 4.7 for further
000060: 65 78 70 6C 61 6E 61 74 69 6F 6E 29 2E 20 41 20 explanation). A
000070: 73 74 72 65 61 6D 20 77 69 6C 6C 20 72 65 6D 61 stream will rema
000080: 69 6E 0D 0A 20 20 20 20 20 20 20 73 65 6C 65 63 in.. selec
000090: 74 65 64 20 75 6E 74 69 6C 20 61 6E 6F 74 68 65 ted until anothe
0000A0: 72 20 73 74 72 65 61 6D 20 69 73 20 73 65 6C 65 r stream is sele
0000B0: 63 74 65 64 2E 20 54 68 69 73 20 6D 65 61 6E 73 cted. This means
0000C0: 20 74 68 61 74 20 20 61 20 20 70 72 6F 67 72 61 that a progra
0000D0: 6D 0D 0A 20 20 20 20 20 20 20 6E 65 65 64 20 6E m.. need n
0000E0: 6F 74 20 6B 6E 6F 77 20 77 68 69 63 68 20 73 74 ot know which st
0000F0: 72 65 61 6D 20 69 74 20 69 73 20 75 73 69 6E 67 ream it is using
000100: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
000110: 64 65 66 61 75 6C 74 20 73 74 72 65 61 6D 2C 20 default stream,
000120: 73 65 6C 65 63 74 65 64 20 61 74 20 45 4D 53 2C selected at EMS,
000130: 20 69 73 20 73 74 72 65 61 6D 20 30 2E 0D 0A 0D is stream 0....
000140: 0A 20 20 20 20 20 20 20 42 41 53 49 43 20 20 65 . BASIC e
000150: 78 74 65 6E 64 73 20 20 74 68 65 20 20 73 74 72 xtends the str
000160: 65 61 6D 20 20 63 6F 6E 63 65 70 74 20 20 74 6F eam concept to
000170: 20 20 69 6E 63 6C 75 64 65 20 20 74 68 65 20 20 include the
000180: 20 70 72 69 6E 74 65 72 20 20 20 61 6E 64 0D 0A printer and..
000190: 20 20 20 20 20 20 20 63 61 73 73 65 74 74 65 2F cassette/
0001A0: 64 69 73 63 20 66 69 6C 65 73 2E 20 54 68 69 73 disc files. This
0001B0: 20 65 78 74 65 6E 73 69 6F 6E 20 69 73 20 6E 6F extension is no
0001C0: 74 20 70 61 72 74 20 6F 66 20 74 68 65 20 66 69 t part of the fi
0001D0: 72 6D 77 61 72 65 2E 0D 0A 0D 0A 20 20 20 20 20 rmware.....
0001E0: 20 20 34 2E 33 20 54 65 78 74 20 50 65 6E 20 61 4.3 Text Pen a
0001F0: 6E 64 20 50 61 70 65 72 20 49 6E 6B 73 2E 0D 0A nd Paper Inks...
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 45 61 63 68 20 73 74 .. Each st
000010: 72 65 61 6D 20 68 61 73 20 61 20 70 65 6E 20 61 ream has a pen a
000020: 6E 64 20 61 20 70 61 70 65 72 20 69 6E 6B 20 61 nd a paper ink a
000030: 73 73 6F 63 69 61 74 65 64 20 77 69 74 68 20 69 ssociated with i
000040: 74 2E 20 54 68 65 20 74 65 78 74 20 70 65 6E 0D t. The text pen.
000050: 0A 20 20 20 20 20 20 20 69 6E 6B 20 69 73 20 75 . ink is u
000060: 73 65 64 20 74 6F 20 73 65 74 20 74 68 65 20 66 sed to set the f
000070: 6F 72 65 67 72 6F 75 6E 64 20 70 69 78 65 6C 73 oreground pixels
000080: 20 69 6E 20 20 63 68 61 72 61 63 74 65 72 73 20 in characters
000090: 20 28 73 65 65 20 20 73 65 63 74 69 6F 6E 0D 0A (see section..
0000A0: 20 20 20 20 20 20 20 34 2E 36 29 2E 20 54 68 65 4.6). The
0000B0: 20 74 65 78 74 20 70 61 70 65 72 20 69 6E 6B 20 text paper ink
0000C0: 69 73 20 75 73 65 64 20 20 74 6F 20 20 73 65 74 is used to set
0000D0: 20 20 74 68 65 20 20 62 61 63 6B 67 72 6F 75 6E the backgroun
0000E0: 64 20 20 70 69 78 65 6C 73 20 20 69 6E 0D 0A 20 d pixels in..
0000F0: 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 characters
000100: 20 61 6E 64 20 74 6F 20 63 6C 65 61 72 20 74 68 and to clear th
000110: 65 20 74 65 78 74 20 77 69 6E 64 6F 77 2E 0D 0A e text window...
000120: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 70 65 6E .. The pen
000130: 73 20 61 6E 64 20 70 61 70 65 72 73 20 63 61 6E s and papers can
000140: 20 62 65 20 73 65 74 20 74 6F 20 61 6E 79 20 69 be set to any i
000150: 6E 6B 20 74 68 61 74 20 69 73 20 76 61 6C 69 64 nk that is valid
000160: 20 69 6E 20 74 68 65 20 63 75 72 72 65 6E 74 0D in the current.
000170: 0A 20 20 20 20 20 20 20 73 63 72 65 65 6E 20 6D . screen m
000180: 6F 64 65 20 28 73 65 65 20 73 65 63 74 69 6F 6E ode (see section
000190: 20 36 2E 31 29 2E 20 54 68 65 20 64 65 66 61 75 6.1). The defau
0001A0: 6C 74 20 73 65 74 74 69 6E 67 20 66 6F 72 20 20 lt setting for
0001B0: 61 20 20 73 74 72 65 61 6D 20 20 68 61 73 0D 0A a stream has..
0001C0: 20 20 20 20 20 20 20 74 68 65 20 70 61 70 65 72 the paper
0001D0: 20 73 65 74 20 74 6F 20 69 6E 6B 20 30 20 61 6E set to ink 0 an
0001E0: 64 20 74 68 65 20 70 65 6E 20 73 65 74 20 74 6F d the pen set to
0001F0: 20 69 6E 6B 20 31 2E 20 20 43 68 61 6E 67 69 6E ink 1. Changin
Size : 512 (Real : 512)
000000: 67 20 20 61 20 20 70 65 6E 20 20 6F 72 0D 0A 20 g a pen or..
000010: 20 20 20 20 20 20 70 61 70 65 72 20 69 6E 6B 20 paper ink
000020: 64 6F 65 73 20 6E 6F 74 20 63 68 61 6E 67 65 20 does not change
000030: 74 68 65 20 73 63 72 65 65 6E 3B 20 69 74 20 6D the screen; it m
000040: 65 72 65 6C 79 20 61 6C 74 65 72 73 20 68 6F 77 erely alters how
000050: 20 20 63 68 61 72 61 63 74 65 72 73 0D 0A 20 20 characters..
000060: 20 20 20 20 20 77 69 6C 6C 20 62 65 20 77 72 69 will be wri
000070: 74 74 65 6E 20 69 6E 20 74 68 65 20 66 75 74 75 tten in the futu
000080: 72 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 34 2E re..... 4.
000090: 34 20 54 65 78 74 20 57 69 6E 64 6F 77 73 2E 0D 4 Text Windows..
0000A0: 0A 20 20 20 20 20 20 20 45 61 63 68 20 73 74 72 . Each str
0000B0: 65 61 6D 20 20 68 61 73 20 20 61 20 20 74 65 78 eam has a tex
0000C0: 74 20 20 77 69 6E 64 6F 77 20 20 61 73 73 6F 63 t window assoc
0000D0: 69 61 74 65 64 20 20 77 69 74 68 20 20 69 74 2E iated with it.
0000E0: 20 20 54 68 69 73 20 20 77 69 6E 64 6F 77 0D 0A This window..
0000F0: 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 73 specifies
000100: 20 74 68 65 20 61 72 65 61 20 6F 66 20 74 68 65 the area of the
000110: 20 73 63 72 65 65 6E 20 77 68 65 72 65 20 20 74 screen where t
000120: 68 65 20 20 73 74 72 65 61 6D 20 20 69 73 20 20 he stream is
000130: 70 65 72 6D 69 74 74 65 64 20 20 74 6F 0D 0A 20 permitted to..
000140: 20 20 20 20 20 20 77 72 69 74 65 20 63 68 61 72 write char
000150: 61 63 74 65 72 73 2E 20 54 68 69 73 20 20 61 6C acters. This al
000160: 6C 6F 77 73 20 20 64 69 66 66 65 72 65 6E 74 20 lows different
000170: 20 73 74 72 65 61 6D 73 20 20 74 6F 20 20 75 73 streams to us
000180: 65 20 20 64 69 66 66 65 72 65 6E 74 0D 0A 20 20 e different..
000190: 20 20 20 20 20 70 6F 72 74 69 6F 6E 73 20 6F 66 portions of
0001A0: 20 74 68 65 20 73 63 72 65 65 6E 20 77 69 74 68 the screen with
0001B0: 6F 75 74 20 69 6E 74 65 72 66 65 72 69 6E 67 20 out interfering
0001C0: 77 69 74 68 20 65 61 63 68 20 6F 74 68 65 72 2E with each other.
0001D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 57 69 6E 64 6F .... Windo
0001E0: 77 73 20 61 72 65 20 74 72 69 6D 6D 65 64 20 73 ws are trimmed s
0001F0: 6F 20 74 68 61 74 20 74 68 65 79 20 66 69 74 20 o that they fit
Size : 512 (Real : 512)
000000: 77 69 74 68 69 6E 20 74 68 65 20 63 75 72 72 65 within the curre
000010: 6E 74 20 73 63 72 65 65 6E 20 20 28 77 68 6F 73 nt screen (whos
000020: 65 0D 0A 20 20 20 20 20 20 20 73 69 7A 65 20 76 e.. size v
000030: 61 72 69 65 73 20 77 69 74 68 20 74 68 65 20 73 aries with the s
000040: 63 72 65 65 6E 20 6D 6F 64 65 2C 20 73 65 65 20 creen mode, see
000050: 73 65 63 74 69 6F 6E 20 36 2E 31 29 2E 20 54 68 section 6.1). Th
000060: 65 20 73 6D 61 6C 6C 65 73 74 20 20 73 69 7A 65 e smallest size
000070: 0D 0A 20 20 20 20 20 20 20 61 20 77 69 6E 64 6F .. a windo
000080: 77 20 61 6C 6C 6F 77 65 64 20 69 73 20 31 20 63 w allowed is 1 c
000090: 68 61 72 61 63 74 65 72 20 77 69 64 65 20 61 6E haracter wide an
0000A0: 64 20 31 20 63 68 61 72 61 63 74 65 72 20 68 69 d 1 character hi
0000B0: 67 68 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 42 65 gh..... Be
0000C0: 66 6F 72 65 20 77 72 69 74 69 6E 67 20 74 6F 20 fore writing to
0000D0: 74 68 65 20 73 63 72 65 65 6E 20 74 68 65 20 70 the screen the p
0000E0: 6F 73 69 74 69 6F 6E 20 74 6F 20 77 72 69 74 65 osition to write
0000F0: 20 69 73 20 20 66 6F 72 63 65 64 20 20 74 6F 20 is forced to
000100: 20 6C 69 65 0D 0A 20 20 20 20 20 20 20 69 6E 73 lie.. ins
000110: 69 64 65 20 74 68 65 20 77 69 6E 64 6F 77 20 28 ide the window (
000120: 73 65 65 20 73 65 63 74 69 6F 6E 20 34 2E 35 20 see section 4.5
000130: 62 65 6C 6F 77 29 2E 20 54 68 69 73 20 6D 61 79 below). This may
000140: 20 63 61 75 73 65 20 20 74 68 65 20 20 77 69 6E cause the win
000150: 64 6F 77 0D 0A 20 20 20 20 20 20 20 74 6F 20 72 dow.. to r
000160: 6F 6C 6C 2E 20 4F 74 68 65 72 20 6F 70 65 72 61 oll. Other opera
000170: 74 69 6F 6E 73 2C 20 73 75 63 68 20 61 73 20 6F tions, such as o
000180: 62 65 79 69 6E 67 20 63 65 72 74 61 69 6E 20 63 beying certain c
000190: 6F 6E 74 72 6F 6C 20 63 6F 64 65 73 20 20 61 6C ontrol codes al
0001A0: 73 6F 0D 0A 20 20 20 20 20 20 20 63 61 75 73 65 so.. cause
0001B0: 20 74 68 65 20 77 72 69 74 65 20 70 6F 73 69 74 the write posit
0001C0: 69 6F 6E 20 74 6F 20 62 65 20 66 6F 72 63 65 64 ion to be forced
0001D0: 20 69 6E 73 69 64 65 20 74 68 65 20 77 69 6E 64 inside the wind
0001E0: 6F 77 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 ow..... A
0001F0: 74 65 78 74 20 77 69 6E 64 6F 77 20 77 68 69 63 text window whic
Size : 512 (Real : 512)
000000: 68 20 64 6F 65 73 20 6E 6F 74 20 63 6F 76 65 72 h does not cover
000010: 20 74 68 65 20 77 68 6F 6C 65 20 73 63 72 65 65 the whole scree
000020: 6E 20 69 73 20 72 6F 6C 6C 65 64 20 20 62 79 20 n is rolled by
000030: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 66 69 72 the.. fir
000040: 6D 77 61 72 65 20 63 6F 70 79 69 6E 67 20 61 72 mware copying ar
000050: 65 61 73 20 6F 66 20 73 63 72 65 65 6E 20 6D 65 eas of screen me
000060: 6D 6F 72 79 20 61 72 6F 75 6E 64 2E 20 54 68 65 mory around. The
000070: 72 65 20 69 73 20 6E 6F 20 20 61 6C 74 65 72 6E re is no altern
000080: 61 74 65 0D 0A 20 20 20 20 20 20 20 6D 65 74 68 ate.. meth
000090: 6F 64 20 61 76 61 69 6C 61 62 6C 65 2E 20 54 68 od available. Th
0000A0: 69 73 20 6D 61 6B 65 73 20 72 6F 6C 6C 69 6E 67 is makes rolling
0000B0: 20 6C 61 72 67 65 20 77 69 6E 64 6F 77 73 20 61 large windows a
0000C0: 20 66 61 69 72 6C 79 20 20 63 6F 6E 73 75 6D 69 fairly consumi
0000D0: 6E 67 0D 0A 20 20 20 20 20 20 20 70 72 6F 63 65 ng.. proce
0000E0: 73 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 ss..... A
0000F0: 74 65 78 74 20 77 69 6E 64 6F 77 20 77 68 69 63 text window whic
000100: 68 20 63 6F 76 65 72 73 20 74 68 65 20 77 68 6F h covers the who
000110: 6C 65 20 73 63 72 65 65 6E 20 69 73 20 20 72 6F le screen is ro
000120: 6C 6C 65 64 20 20 62 79 20 20 75 73 69 6E 67 20 lled by using
000130: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 68 61 72 the.. har
000140: 64 77 61 72 65 20 72 61 74 68 65 72 20 74 68 61 dware rather tha
000150: 6E 20 63 6F 70 79 69 6E 67 20 61 72 65 61 73 20 n copying areas
000160: 6F 66 20 6D 65 6D 6F 72 79 2E 20 54 68 65 20 6F of memory. The o
000170: 66 66 73 65 74 20 6F 66 20 74 68 65 20 20 73 74 ffset of the st
000180: 61 72 74 0D 0A 20 20 20 20 20 20 20 6F 66 20 74 art.. of t
000190: 68 65 20 73 63 72 65 65 6E 20 69 6E 20 74 68 65 he screen in the
0001A0: 20 73 63 72 65 65 6E 20 6D 65 6D 6F 72 79 20 63 screen memory c
0001B0: 61 6E 20 62 65 20 73 65 74 20 28 73 65 65 20 20 an be set (see
0001C0: 73 65 63 74 69 6F 6E 20 20 36 2E 34 29 2E 20 20 section 6.4).
0001D0: 42 79 0D 0A 20 20 20 20 20 20 20 63 68 61 6E 67 By.. chang
0001E0: 69 6E 67 20 74 68 69 73 20 6F 66 66 73 65 74 20 ing this offset
0001F0: 62 79 20 2B 38 30 20 6F 72 20 2D 38 30 20 74 68 by +80 or -80 th
Size : 512 (Real : 512)
000000: 65 20 77 68 6F 6C 65 20 73 63 72 65 65 6E 20 63 e whole screen c
000010: 61 6E 20 62 65 20 20 72 6F 6C 6C 65 64 20 20 75 an be rolled u
000020: 70 0D 0A 20 20 20 20 20 20 20 6F 72 20 64 6F 77 p.. or dow
000030: 6E 20 62 79 20 61 20 6C 69 6E 65 20 6F 66 20 63 n by a line of c
000040: 68 61 72 61 63 74 65 72 73 2E 0D 0A 0D 0A 20 20 haracters.....
000050: 20 20 20 20 20 49 74 20 69 73 20 6F 62 76 69 6F It is obvio
000060: 75 73 6C 79 20 61 20 67 6F 6F 64 20 69 64 65 61 usly a good idea
000070: 20 74 6F 20 70 72 65 76 65 6E 74 20 77 69 6E 64 to prevent wind
000080: 6F 77 73 20 20 74 68 61 74 20 20 61 72 65 20 20 ows that are
000090: 62 65 69 6E 67 20 20 75 73 65 64 0D 0A 20 20 20 being used..
0000A0: 20 20 20 20 66 72 6F 6D 20 6F 76 65 72 6C 61 70 from overlap
0000B0: 70 69 6E 67 2E 20 49 66 20 74 68 65 79 20 61 72 ping. If they ar
0000C0: 65 20 61 6C 6C 6F 77 65 64 20 74 6F 20 6F 76 65 e allowed to ove
0000D0: 72 6C 61 70 20 74 68 65 6E 20 74 68 65 20 20 70 rlap then the p
0000E0: 6F 72 74 69 6F 6E 20 20 69 6E 0D 0A 20 20 20 20 ortion in..
0000F0: 20 20 20 6D 75 6C 74 69 70 6C 65 20 75 73 65 20 multiple use
000100: 77 69 6C 6C 20 6D 65 72 65 6C 79 20 63 6F 6E 74 will merely cont
000110: 61 69 6E 20 77 68 61 74 65 76 65 72 20 20 77 61 ain whatever wa
000120: 73 20 20 77 72 69 74 74 65 6E 20 20 74 6F 20 20 s written to
000130: 69 74 20 20 6C 61 73 74 2E 0D 0A 20 20 20 20 20 it last...
000140: 20 20 54 68 65 72 65 20 69 73 20 6E 6F 20 70 72 There is no pr
000150: 65 63 65 64 65 6E 63 65 20 6F 66 20 77 69 6E 64 ecedence of wind
000160: 6F 77 73 20 6F 6E 65 20 6F 76 65 72 20 61 6E 6F ows one over ano
000170: 74 68 65 72 2E 20 41 20 77 69 6E 64 6F 77 20 6F ther. A window o
000180: 63 63 75 70 79 69 6E 67 0D 0A 20 20 20 20 20 20 ccupying..
000190: 20 74 68 65 20 77 68 6F 6C 65 20 73 63 72 65 65 the whole scree
0001A0: 6E 20 77 69 6C 6C 20 6F 76 65 72 6C 61 70 20 74 n will overlap t
0001B0: 68 65 20 6F 74 68 65 72 20 77 69 6E 64 6F 77 20 he other window
0001C0: 61 6E 64 20 73 6F 20 69 66 20 20 74 68 69 73 20 and so if this
0001D0: 20 77 69 6E 64 6F 77 0D 0A 20 20 20 20 20 20 20 window..
0001E0: 69 73 20 72 6F 6C 6C 65 64 20 69 74 20 77 69 6C is rolled it wil
0001F0: 6C 20 6D 6F 76 65 20 74 68 65 20 63 6F 6E 74 65 l move the conte
Size : 512 (Real : 512)
000000: 6E 74 73 20 6F 66 20 74 68 65 20 6F 74 68 65 72 nts of the other
000010: 20 77 69 6E 64 6F 77 73 2E 0D 0A 0D 0A 20 20 20 windows.....
000020: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
000030: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
000040: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
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 34 2E 32 0D 0A 0D 0A 0D 0A page 4.2......
000070: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ........ T
000080: 68 65 20 64 65 66 61 75 6C 74 20 77 69 6E 64 6F he default windo
000090: 77 73 2C 20 73 65 74 20 75 70 20 61 74 20 45 4D ws, set up at EM
0000A0: 53 20 61 6E 64 20 20 61 66 74 65 72 20 20 63 68 S and after ch
0000B0: 61 6E 67 69 6E 67 20 20 73 63 72 65 65 6E 20 20 anging screen
0000C0: 6D 6F 64 65 2C 0D 0A 20 20 20 20 20 20 20 63 6F mode,.. co
0000D0: 76 65 72 20 74 68 65 20 77 68 6F 6C 65 20 73 63 ver the whole sc
0000E0: 72 65 65 6E 2E 20 41 6C 6C 20 65 69 67 68 74 20 reen. All eight
0000F0: 77 69 6E 64 6F 77 73 20 6F 76 65 72 6C 61 70 2E windows overlap.
000100: 0D 0A 0D 0A 20 20 20 20 20 20 20 34 2E 35 20 54 .... 4.5 T
000110: 68 65 20 43 75 72 72 65 6E 74 20 70 6F 73 69 74 he Current posit
000120: 69 6F 6E 20 61 6E 64 20 74 68 65 20 43 75 72 73 ion and the Curs
000130: 6F 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 61 or..... Ea
000140: 63 68 20 73 74 72 65 61 6D 20 68 61 73 20 61 20 ch stream has a
000150: 63 75 72 72 65 6E 74 20 70 6F 73 69 74 69 6F 6E current position
000160: 20 61 73 73 6F 63 69 61 74 65 64 20 77 69 74 68 associated with
000170: 20 69 74 2E 20 54 68 69 73 20 20 69 73 20 20 77 it. This is w
000180: 68 65 72 65 0D 0A 20 20 20 20 20 20 20 74 68 65 here.. the
000190: 20 6E 65 78 74 20 63 68 61 72 61 63 74 65 72 20 next character
0001A0: 74 6F 20 62 65 20 70 72 69 6E 74 65 64 20 6F 6E to be printed on
0001B0: 20 20 74 68 65 20 20 73 63 72 65 65 6E 20 20 69 the screen i
0001C0: 73 20 20 65 78 70 65 63 74 65 64 20 20 74 6F 20 s expected to
0001D0: 20 62 65 0D 0A 20 20 20 20 20 20 20 70 6C 61 63 be.. plac
0001E0: 65 64 2E 20 48 6F 77 65 76 65 72 2C 20 69 66 2C ed. However, if,
0001F0: 20 77 68 65 6E 20 61 20 63 68 61 72 61 63 74 65 when a characte
Size : 512 (Real : 512)
000000: 72 20 69 73 20 74 6F 20 62 65 20 20 70 72 69 6E r is to be prin
000010: 74 65 64 2C 20 20 74 68 65 20 20 63 75 72 72 65 ted, the curre
000020: 6E 74 0D 0A 0D 0A 20 20 20 20 20 20 20 70 6F 73 nt.... pos
000030: 69 74 69 6F 6E 20 69 73 20 66 6F 75 6E 64 20 74 ition is found t
000040: 6F 20 6C 69 65 20 6F 75 74 73 69 64 65 20 74 68 o lie outside th
000050: 65 20 74 65 78 74 20 77 69 6E 64 6F 77 20 20 74 e text window t
000060: 68 65 6E 20 20 69 74 20 20 69 73 20 20 66 6F 72 hen it is for
000070: 63 65 64 0D 0A 20 20 20 20 20 20 20 69 6E 73 69 ced.. insi
000080: 64 65 2E 20 54 68 65 20 66 6F 6C 6C 6F 77 69 6E de. The followin
000090: 67 20 73 74 65 70 73 20 61 72 65 20 61 70 70 6C g steps are appl
0000A0: 69 65 64 20 69 6E 20 74 75 72 6E 20 74 6F 20 66 ied in turn to f
0000B0: 6F 72 63 65 20 20 74 68 65 20 20 63 75 72 72 65 orce the curre
0000C0: 6E 74 0D 0A 20 20 20 20 20 20 20 70 6F 73 69 74 nt.. posit
0000D0: 69 6F 6E 20 69 6E 73 69 64 65 20 74 68 65 20 77 ion inside the w
0000E0: 69 6E 64 6F 77 3A 0D 0A 0D 0A 20 20 20 20 20 20 indow:....
0000F0: 20 20 20 20 20 20 20 20 20 20 31 2F 20 49 66 20 1/ If
000100: 74 68 65 20 63 75 72 72 65 6E 74 20 70 6F 73 69 the current posi
000110: 74 69 6F 6E 20 69 73 20 6C 65 66 74 20 6F 66 20 tion is left of
000120: 74 68 65 20 65 64 67 65 20 6F 66 20 74 68 65 20 the edge of the
000130: 20 77 69 6E 64 6F 77 0D 0A 20 20 20 20 20 20 20 window..
000140: 20 20 20 20 20 20 20 20 20 74 68 65 6E 20 69 74 then it
000150: 20 69 73 20 6D 6F 76 65 64 20 74 6F 20 74 68 65 is moved to the
000160: 20 72 69 67 68 74 20 65 64 67 65 20 6F 66 20 74 right edge of t
000170: 68 65 20 77 69 6E 64 6F 77 20 61 6E 64 20 20 75 he window and u
000180: 70 20 20 6F 6E 65 0D 0A 20 20 20 20 20 20 20 20 p one..
000190: 20 20 20 20 20 20 20 20 6C 69 6E 65 2E 0D 0A 0D line....
0001A0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001B0: 20 32 2F 20 49 66 20 74 68 65 20 63 75 72 72 65 2/ If the curre
0001C0: 6E 74 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 72 nt position is r
0001D0: 69 67 68 74 20 6F 66 20 74 68 65 20 72 69 67 68 ight of the righ
0001E0: 74 20 65 64 67 65 20 6F 66 20 20 74 68 65 0D 0A t edge of the..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Size : 512 (Real : 512)
000000: 77 69 6E 64 6F 77 20 74 68 65 6E 20 69 74 20 69 window then it i
000010: 73 20 6D 6F 76 65 64 20 74 6F 20 74 68 65 20 6C s moved to the l
000020: 65 66 74 20 65 64 67 65 20 6F 66 20 20 74 68 65 eft edge of the
000030: 20 20 77 69 6E 64 6F 77 20 20 61 6E 64 0D 0A 20 window and..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 d
000050: 6F 77 6E 20 6F 6E 65 20 6C 69 6E 65 2E 0D 0A 0D own one line....
000060: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000070: 20 33 2F 20 49 66 20 74 68 65 20 63 75 72 72 65 3/ If the curre
000080: 6E 74 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 6E nt position is n
000090: 6F 77 20 61 62 6F 76 65 20 74 68 65 20 74 6F 70 ow above the top
0000A0: 20 6C 69 6E 65 20 20 6F 66 20 20 74 68 65 0D 0A line of the..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 77 69 6E 64 6F 77 20 74 68 65 6E 20 69 74 20 69 window then it i
0000D0: 73 20 6D 6F 76 65 64 20 74 6F 20 74 68 65 20 74 s moved to the t
0000E0: 6F 70 20 6C 69 6E 65 20 6F 66 20 74 68 65 20 77 op line of the w
0000F0: 69 6E 64 6F 77 20 61 6E 64 20 74 68 65 0D 0A 20 indow and the..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 c
000110: 6F 6E 74 65 6E 74 73 20 6F 66 20 74 68 65 20 77 ontents of the w
000120: 69 6E 64 6F 77 20 61 72 65 20 72 6F 6C 6C 65 64 indow are rolled
000130: 20 64 6F 77 6E 20 6F 6E 65 20 6C 69 6E 65 2E 0D down one line..
000140: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000150: 20 20 20 34 2F 20 49 66 20 74 68 65 20 63 75 72 4/ If the cur
000160: 72 65 6E 74 20 70 6F 73 69 74 69 6F 6E 20 69 73 rent position is
000170: 20 6E 6F 77 20 62 65 6C 6F 77 20 74 68 65 20 20 now below the
000180: 62 6F 74 74 6F 6D 20 20 6C 69 6E 65 20 20 6F 66 bottom line of
000190: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001A0: 20 20 74 68 65 20 77 69 6E 64 6F 77 20 74 68 65 the window the
0001B0: 6E 20 69 74 20 69 73 20 6D 6F 76 65 64 20 74 6F n it is moved to
0001C0: 20 74 68 65 20 62 6F 74 74 6F 6D 20 6C 69 6E 65 the bottom line
0001D0: 20 6F 66 20 74 68 65 20 20 77 69 6E 64 6F 77 0D of the window.
0001E0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001F0: 20 61 6E 64 20 74 68 65 20 63 6F 6E 74 65 6E 74 and the content
Size : 512 (Real : 512)
000000: 73 20 6F 66 20 74 68 65 20 77 69 6E 64 6F 77 20 s of the window
000010: 61 72 65 20 72 6F 6C 6C 65 64 20 75 70 20 6F 6E are rolled up on
000020: 65 20 6C 69 6E 65 2E 0D 0A 0D 0A 20 20 20 20 20 e line.....
000030: 20 20 57 68 65 6E 20 74 68 65 20 63 75 72 73 6F When the curso
000040: 72 20 69 73 20 65 6E 61 62 6C 65 64 2C 20 74 68 r is enabled, th
000050: 65 20 63 75 72 72 65 6E 74 20 20 70 6F 73 69 74 e current posit
000060: 69 6F 6E 20 20 69 73 20 20 6D 61 72 6B 65 64 20 ion is marked
000070: 20 62 79 20 20 74 68 65 0D 0A 20 20 20 20 20 20 by the..
000080: 20 63 75 72 73 6F 72 20 62 6C 6F 62 2E 20 48 6F cursor blob. Ho
000090: 77 65 76 65 72 2C 20 62 65 66 6F 72 65 20 70 6C wever, before pl
0000A0: 61 63 69 6E 67 20 74 68 65 20 63 75 72 73 6F 72 acing the cursor
0000B0: 20 62 6C 6F 62 20 20 6F 6E 20 20 74 68 65 20 20 blob on the
0000C0: 73 63 72 65 65 6E 2C 0D 0A 20 20 20 20 20 20 20 screen,..
0000D0: 74 68 65 20 63 75 72 72 65 6E 74 20 70 6F 73 69 the current posi
0000E0: 74 69 6F 6E 20 69 73 20 66 6F 72 63 65 64 20 74 tion is forced t
0000F0: 6F 20 6C 69 65 20 69 6E 73 69 64 65 20 74 68 65 o lie inside the
000100: 20 63 75 72 72 65 6E 74 20 20 77 69 6E 64 6F 77 current window
000110: 20 20 6A 75 73 74 0D 0A 20 20 20 20 20 20 20 61 just.. a
000120: 73 20 69 74 20 69 73 20 62 65 66 6F 72 65 20 61 s it is before a
000130: 20 63 68 61 72 61 63 74 65 72 20 69 73 20 70 6C character is pl
000140: 61 63 65 64 20 6F 6E 20 74 68 65 20 73 63 72 65 aced on the scre
000150: 65 6E 2E 20 20 54 68 69 73 20 20 6D 61 79 20 20 en. This may
000160: 63 61 75 73 65 0D 0A 20 20 20 20 20 20 20 74 68 cause.. th
000170: 65 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 69 e current positi
000180: 6F 6E 20 74 6F 20 6D 6F 76 65 2E 0D 0A 0D 0A 20 on to move.....
000190: 20 20 20 20 20 20 49 66 20 74 68 65 20 63 75 72 If the cur
0001A0: 73 6F 72 20 69 73 20 64 69 73 61 62 6C 65 64 20 sor is disabled
0001B0: 74 68 65 6E 20 74 68 65 20 63 75 72 72 65 6E 74 then the current
0001C0: 20 70 6F 73 69 74 69 6F 6E 20 20 6D 61 79 20 20 position may
0001D0: 6C 69 65 20 20 6F 75 74 73 69 64 65 0D 0A 20 20 lie outside..
0001E0: 20 20 20 20 20 74 68 65 20 77 69 6E 64 6F 77 20 the window
0001F0: 61 6E 64 20 69 74 20 77 69 6C 6C 20 6E 6F 74 20 and it will not
Size : 512 (Real : 512)
000000: 62 65 20 66 6F 72 63 65 64 20 20 69 6E 73 69 64 be forced insid
000010: 65 20 20 74 68 65 20 20 77 69 6E 64 6F 77 20 20 e the window
000020: 75 6E 74 69 6C 2C 20 20 66 6F 72 0D 0A 20 20 20 until, for..
000030: 20 20 20 20 65 78 61 6D 70 6C 65 2C 20 61 20 63 example, a c
000040: 68 61 72 61 63 74 65 72 20 69 73 20 70 72 69 6E haracter is prin
000050: 74 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ted..... T
000060: 68 65 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 he current posit
000070: 69 6F 6E 20 63 61 6E 20 62 65 20 20 63 68 61 6E ion can be chan
000080: 67 65 64 20 20 64 69 72 65 63 74 6C 79 20 20 28 ged directly (
000090: 62 79 20 20 63 61 6C 6C 69 6E 67 20 20 54 58 54 by calling TXT
0000A0: 20 20 53 45 54 0D 0A 20 20 20 20 20 20 20 43 55 SET.. CU
0000B0: 52 53 4F 52 2C 20 54 58 54 20 53 45 54 20 52 4F RSOR, TXT SET RO
0000C0: 57 20 6F 72 20 54 58 54 20 53 45 54 20 43 4F 4C W or TXT SET COL
0000D0: 55 4D 4E 29 20 6F 72 20 62 79 20 73 65 6E 64 69 UMN) or by sendi
0000E0: 6E 67 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 73 ng control codes
0000F0: 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 74 68 65 to.. the
000100: 20 54 65 78 74 20 56 44 55 2E 20 54 68 65 20 6C Text VDU. The l
000110: 6F 63 61 74 69 6F 6E 20 74 68 65 20 63 75 72 72 ocation the curr
000120: 65 6E 74 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 ent position is
000130: 20 6D 6F 76 65 64 20 20 74 6F 20 20 69 73 20 20 moved to is
000140: 6E 6F 74 0D 0A 20 20 20 20 20 20 20 66 6F 72 63 not.. forc
000150: 65 64 20 69 6E 73 69 64 65 20 74 68 65 20 77 69 ed inside the wi
000160: 6E 64 6F 77 20 69 6D 6D 65 64 69 61 74 65 6C 79 ndow immediately
000170: 2C 20 62 75 74 20 6F 6E 6C 79 20 77 68 65 6E 20 , but only when
000180: 74 68 65 20 77 69 6E 64 6F 77 20 20 69 73 20 20 the window is
000190: 74 6F 0D 0A 20 20 20 20 20 20 20 62 65 20 77 72 to.. be wr
0001A0: 69 74 74 65 6E 20 74 6F 2C 20 61 73 20 64 65 73 itten to, as des
0001B0: 63 72 69 62 65 64 20 61 62 6F 76 65 2E 20 54 68 cribed above. Th
0001C0: 69 73 20 61 6C 6C 6F 77 73 20 74 68 65 20 63 75 is allows the cu
0001D0: 72 72 65 6E 74 20 70 6F 73 69 74 69 6F 6E 20 74 rrent position t
0001E0: 6F 0D 0A 20 20 20 20 20 20 20 62 65 20 63 68 61 o.. be cha
0001F0: 6E 67 65 64 20 62 79 20 6D 6F 76 69 6E 67 20 76 nged by moving v
Size : 512 (Real : 512)
000000: 69 61 20 61 20 70 6F 73 69 74 69 6F 6E 20 6F 75 ia a position ou
000010: 74 73 69 64 65 20 74 68 65 20 77 69 6E 64 6F 77 tside the window
000020: 2C 20 69 66 20 72 65 71 75 69 72 65 64 2E 0D 0A , if required...
000030: 0D 0A 20 20 20 20 20 20 20 54 68 65 72 65 20 61 .. There a
000040: 72 65 20 74 77 6F 20 77 61 79 73 20 74 6F 20 64 re two ways to d
000050: 69 73 61 62 6C 65 20 74 68 65 20 63 75 72 73 6F isable the curso
000060: 72 20 61 6E 64 20 70 72 65 76 65 6E 74 20 74 68 r and prevent th
000070: 65 20 20 63 75 72 73 6F 72 20 20 62 6C 6F 62 0D e cursor blob.
000080: 0A 20 20 20 20 20 20 20 66 72 6F 6D 20 61 70 70 . from app
000090: 65 61 72 69 6E 67 20 6F 6E 20 74 68 65 20 73 63 earing on the sc
0000A0: 72 65 65 6E 2E 20 54 68 65 20 66 69 72 73 74 2C reen. The first,
0000B0: 20 63 75 72 73 6F 72 20 20 6F 6E 2F 6F 66 66 2C cursor on/off,
0000C0: 20 20 69 73 20 20 69 6E 74 65 6E 64 65 64 0D 0A is intended..
0000D0: 20 20 20 20 20 20 20 66 6F 72 20 75 73 65 20 62 for use b
0000E0: 79 20 73 79 73 74 65 6D 73 20 70 72 6F 67 72 61 y systems progra
0000F0: 6D 73 2E 20 54 68 69 73 20 69 73 20 75 73 65 64 ms. This is used
000100: 20 69 6E 20 42 41 53 49 43 2C 20 20 66 6F 72 20 in BASIC, for
000110: 20 65 78 61 6D 70 6C 65 2C 20 20 74 6F 0D 0A 20 example, to..
000120: 20 20 20 20 20 20 68 69 64 65 20 20 74 68 65 20 hide the
000130: 20 63 75 72 73 6F 72 20 20 75 6E 6C 65 73 73 20 cursor unless
000140: 20 69 6E 70 75 74 20 20 69 73 20 20 65 78 70 65 input is expe
000150: 63 74 65 64 2E 20 20 54 68 65 20 20 73 65 63 6F cted. The seco
000160: 6E 64 2C 20 20 20 63 75 72 73 6F 72 0D 0A 20 20 nd, cursor..
000170: 20 20 20 20 20 65 6E 61 62 6C 65 2F 64 69 73 61 enable/disa
000180: 62 6C 65 2C 20 69 73 20 69 6E 74 65 6E 64 65 64 ble, is intended
000190: 20 66 6F 72 20 75 73 65 20 62 79 20 74 68 65 20 for use by the
0001A0: 75 73 65 72 2E 20 54 68 65 20 63 75 72 73 6F 72 user. The cursor
0001B0: 20 62 6C 6F 62 20 20 77 69 6C 6C 0D 0A 20 20 20 blob will..
0001C0: 20 20 20 20 6F 6E 6C 79 20 62 65 20 70 6C 61 63 only be plac
0001D0: 65 64 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E ed on the screen
0001E0: 20 69 66 20 69 74 20 69 73 20 62 6F 74 68 20 6F if it is both o
0001F0: 6E 20 61 6E 64 20 65 6E 61 62 6C 65 64 2E 0D 0A n and enabled...
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 20 20 49 6E 20 20 56 .... In V
000010: 31 2E 31 20 20 66 69 72 6D 77 61 72 65 20 20 69 1.1 firmware i
000020: 74 20 20 69 73 20 20 70 6F 73 73 69 62 6C 65 20 t is possible
000030: 20 74 6F 20 20 20 69 6E 74 65 72 72 6F 67 61 74 to interrogat
000040: 65 20 20 20 74 68 65 20 20 20 63 75 72 72 65 6E e the curren
000050: 74 0D 0A 20 20 20 20 20 20 20 65 6E 61 62 6C 65 t.. enable
000060: 2F 64 69 73 61 62 6C 65 20 73 74 61 74 65 73 20 /disable states
000070: 6F 66 20 74 68 65 20 56 44 55 20 61 6E 64 20 63 of the VDU and c
000080: 75 72 73 6F 72 20 20 66 6F 72 20 20 74 68 65 20 ursor for the
000090: 20 63 75 72 72 65 6E 74 20 20 73 74 72 65 61 6D current stream
0000A0: 0D 0A 20 20 20 20 20 20 20 75 73 69 6E 67 20 54 .. using T
0000B0: 58 54 20 41 53 4B 20 53 54 41 54 45 2E 0D 0A 0D XT ASK STATE....
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 ... AMSTRA
0000D0: 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 D CPC464/664/612
0000E0: 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 8 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 20 70 61 67 65 20 34 2E 33 page 4.3
000110: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000120: 20 20 20 54 68 65 20 63 75 72 73 6F 72 20 62 6C The cursor bl
000130: 6F 62 20 69 73 20 6E 6F 72 6D 61 6C 6C 79 20 61 ob is normally a
000140: 6E 20 69 6E 76 65 72 73 65 20 70 61 74 63 68 2E n inverse patch.
000150: 20 20 54 68 65 20 20 63 68 61 72 61 63 74 65 72 The character
000160: 20 20 61 74 20 20 74 68 65 0D 0A 20 20 20 20 20 at the..
000170: 20 20 63 75 72 73 6F 72 20 70 6F 73 69 74 69 6F cursor positio
000180: 6E 20 69 73 20 64 69 73 70 6C 61 79 65 64 20 77 n is displayed w
000190: 69 74 68 20 74 68 65 20 74 65 78 74 20 70 65 6E ith the text pen
0001A0: 20 61 6E 64 20 70 61 70 65 72 20 69 6E 6B 20 72 and paper ink r
0001B0: 65 76 65 72 73 65 64 2E 0D 0A 20 20 20 20 20 20 eversed...
0001C0: 20 54 68 69 73 20 6D 61 6B 65 73 20 69 74 20 65 This makes it e
0001D0: 61 73 79 20 74 6F 20 72 65 73 74 6F 72 65 20 20 asy to restore
0001E0: 74 68 65 20 20 6F 72 69 67 69 6E 61 6C 20 20 66 the original f
0001F0: 6F 72 6D 20 20 6F 66 20 20 74 68 65 20 20 63 68 orm of the ch
Size : 512 (Real : 512)
000000: 61 72 61 63 74 65 72 0D 0A 20 20 20 20 20 20 20 aracter..
000010: 70 6F 73 69 74 69 6F 6E 20 69 66 20 74 68 65 20 position if the
000020: 63 75 72 73 6F 72 20 69 73 20 6D 6F 76 65 64 2E cursor is moved.
000030: 20 49 74 20 69 73 20 70 6F 73 73 69 62 6C 65 20 It is possible
000040: 66 6F 72 20 74 68 65 20 75 73 65 72 20 74 6F 20 for the user to
000050: 20 61 6C 74 65 72 0D 0A 20 20 20 20 20 20 20 74 alter.. t
000060: 68 65 20 66 6F 72 6D 20 6F 66 20 74 68 65 20 63 he form of the c
000070: 75 72 73 6F 72 20 62 6C 6F 62 2C 20 69 66 20 72 ursor blob, if r
000080: 65 71 75 69 72 65 64 2C 20 62 79 20 63 68 61 6E equired, by chan
000090: 67 69 6E 67 20 74 68 65 20 69 6E 64 69 72 65 63 ging the indirec
0000A0: 74 69 6F 6E 73 0D 0A 20 20 20 20 20 20 20 54 58 tions.. TX
0000B0: 54 20 44 52 41 57 20 43 55 52 53 4F 52 20 61 6E T DRAW CURSOR an
0000C0: 64 20 54 58 54 20 55 4E 44 52 41 57 20 43 55 52 d TXT UNDRAW CUR
0000D0: 53 4F 52 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 34 SOR..... 4
0000E0: 2E 36 20 43 68 61 72 61 63 74 65 72 73 20 61 6E .6 Characters an
0000F0: 64 20 4D 61 74 72 69 63 65 73 2E 0D 0A 20 20 20 d Matrices...
000100: 20 20 20 20 41 20 63 68 61 72 61 63 74 65 72 20 A character
000110: 69 73 20 64 69 73 70 6C 61 79 65 64 20 6F 6E 20 is displayed on
000120: 74 68 65 20 73 63 72 65 65 6E 20 69 6E 20 61 6E the screen in an
000130: 20 61 72 65 61 20 38 20 20 70 69 78 65 6C 73 20 area 8 pixels
000140: 20 28 64 6F 74 73 20 20 6F 6E 0D 0A 20 20 20 20 (dots on..
000150: 20 20 20 74 68 65 20 6D 6F 6E 69 74 6F 72 29 20 the monitor)
000160: 77 69 64 65 20 61 6E 64 20 38 20 20 70 69 78 65 wide and 8 pixe
000170: 6C 73 20 20 68 69 67 68 2E 20 20 54 68 75 73 20 ls high. Thus
000180: 20 74 68 65 20 20 6D 61 78 69 6D 75 6D 20 20 6E the maximum n
000190: 75 6D 62 65 72 20 20 6F 66 0D 0A 20 20 20 20 20 umber of..
0001A0: 20 20 63 68 61 72 61 63 74 65 72 73 20 6F 6E 20 characters on
0001B0: 74 68 65 20 73 63 72 65 65 6E 20 64 65 70 65 6E the screen depen
0001C0: 64 73 20 75 70 6F 6E 20 74 68 65 20 73 63 72 65 ds upon the scre
0001D0: 65 6E 20 6D 6F 64 65 2C 20 28 73 65 65 20 73 65 en mode, (see se
0001E0: 63 74 69 6F 6E 20 36 2E 0D 0A 20 20 20 20 20 20 ction 6...
0001F0: 20 31 29 2E 20 45 61 63 68 20 63 68 61 72 61 63 1). Each charac
Size : 512 (Real : 512)
000000: 74 65 72 20 68 61 73 20 61 20 20 6D 61 74 72 69 ter has a matri
000010: 78 20 20 77 68 69 63 68 20 20 69 73 20 20 61 6E x which is an
000020: 20 20 38 20 20 62 79 74 65 20 20 76 65 63 74 6F 8 byte vecto
000030: 72 20 20 74 68 61 74 0D 0A 20 20 20 20 20 20 20 r that..
000040: 73 70 65 63 69 66 69 65 73 20 74 68 65 20 73 68 specifies the sh
000050: 61 70 65 20 6F 66 20 74 68 65 20 63 68 61 72 61 ape of the chara
000060: 63 74 65 72 2E 20 54 68 65 20 66 69 72 73 74 20 cter. The first
000070: 62 79 74 65 20 20 6F 66 20 20 74 68 65 20 20 20 byte of the
000080: 76 65 63 74 6F 72 0D 0A 20 20 20 20 20 20 20 72 vector.. r
000090: 65 66 65 72 73 20 74 6F 20 74 68 65 20 74 6F 70 efers to the top
0000A0: 20 6C 69 6E 65 20 6F 66 20 74 68 65 20 63 68 61 line of the cha
0000B0: 72 61 63 74 65 72 20 20 61 6E 64 20 20 74 68 65 racter and the
0000C0: 20 20 6C 61 73 74 20 20 62 79 74 65 20 20 74 6F last byte to
0000D0: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 62 6F the.. bo
0000E0: 74 74 6F 6D 20 6C 69 6E 65 20 6F 66 20 74 68 65 ttom line of the
0000F0: 20 63 68 61 72 61 63 74 65 72 2E 20 54 68 65 20 character. The
000100: 6D 6F 73 74 20 73 69 67 6E 69 66 69 63 61 6E 74 most significant
000110: 20 62 69 74 20 6F 66 20 20 61 20 20 62 79 74 65 bit of a byte
000120: 20 20 69 6E 0D 0A 20 20 20 20 20 20 20 74 68 65 in.. the
000130: 20 76 65 63 74 6F 72 20 72 65 66 65 72 73 20 74 vector refers t
000140: 6F 20 74 68 65 20 6C 65 66 74 6D 6F 73 74 20 70 o the leftmost p
000150: 69 78 65 6C 20 6F 6E 20 61 20 6C 69 6E 65 20 6F ixel on a line o
000160: 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 f the character
000170: 61 6E 64 0D 0A 20 20 20 20 20 20 20 74 68 65 20 and.. the
000180: 6C 65 61 73 74 20 73 69 67 6E 69 66 69 63 61 6E least significan
000190: 74 20 62 69 74 20 72 65 66 65 72 73 20 74 6F 20 t bit refers to
0001A0: 74 68 65 20 72 69 67 68 74 6D 6F 73 74 20 70 69 the rightmost pi
0001B0: 78 65 6C 20 6F 6E 20 61 20 20 6C 69 6E 65 20 20 xel on a line
0001C0: 6F 66 0D 0A 20 20 20 20 20 20 20 74 68 65 20 63 of.. the c
0001D0: 68 61 72 61 63 74 65 72 2E 20 49 66 20 61 20 62 haracter. If a b
0001E0: 69 74 20 69 6E 20 74 68 65 20 6D 61 74 72 69 78 it in the matrix
0001F0: 20 69 73 20 73 65 74 20 74 68 65 6E 20 74 68 65 is set then the
Size : 512 (Real : 512)
000000: 20 70 69 78 65 6C 20 69 73 20 69 6E 20 20 74 68 pixel is in th
000010: 65 0D 0A 20 20 20 20 20 20 20 66 6F 72 65 67 72 e.. foregr
000020: 6F 75 6E 64 2E 20 49 66 20 61 20 62 69 74 20 69 ound. If a bit i
000030: 73 20 63 6C 65 61 72 20 74 68 65 6E 20 74 68 65 s clear then the
000040: 20 70 69 78 65 6C 20 69 73 20 69 6E 20 74 68 65 pixel is in the
000050: 20 62 61 63 6B 67 72 6F 75 6E 64 2E 0D 0A 0D 0A background.....
000060: 20 20 20 20 20 20 20 41 20 66 6F 72 65 67 72 6F A foregro
000070: 75 6E 64 20 70 69 78 65 6C 20 69 6E 20 74 68 65 und pixel in the
000080: 20 63 68 61 72 61 63 74 65 72 20 69 73 20 61 6C character is al
000090: 77 61 79 73 20 73 65 74 20 74 6F 20 74 68 65 20 ways set to the
0000A0: 70 65 6E 20 69 6E 6B 2E 20 20 54 68 65 0D 0A 20 pen ink. The..
0000B0: 20 20 20 20 20 20 74 72 65 61 74 6D 65 6E 74 20 treatment
0000C0: 6F 66 20 61 20 62 61 63 6B 67 72 6F 75 6E 64 20 of a background
0000D0: 70 69 78 65 6C 20 64 65 70 65 6E 64 73 20 6F 6E pixel depends on
0000E0: 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 77 the character w
0000F0: 72 69 74 65 20 6D 6F 64 65 20 6F 66 0D 0A 20 20 rite mode of..
000100: 20 20 20 20 20 74 68 65 20 56 44 55 2E 20 49 6E the VDU. In
000110: 20 74 68 65 20 64 65 66 61 75 6C 74 20 6D 6F 64 the default mod
000120: 65 2C 20 6F 70 61 71 75 65 20 6D 6F 64 65 2C 20 e, opaque mode,
000130: 62 61 63 6B 67 72 6F 75 6E 64 20 70 69 78 65 6C background pixel
000140: 73 20 20 61 72 65 20 20 73 65 74 0D 0A 20 20 20 s are set..
000150: 20 20 20 20 74 6F 20 74 68 65 20 70 61 70 65 72 to the paper
000160: 20 69 6E 6B 2E 20 54 68 65 72 65 20 69 73 20 61 ink. There is a
000170: 6E 6F 74 68 65 72 20 6D 6F 64 65 2C 20 74 72 61 nother mode, tra
000180: 6E 73 70 61 72 65 6E 74 20 20 6D 6F 64 65 2C 20 nsparent mode,
000190: 20 69 6E 20 20 77 68 69 63 68 0D 0A 20 20 20 20 in which..
0001A0: 20 20 20 74 68 65 20 62 61 63 6B 67 72 6F 75 6E the backgroun
0001B0: 64 20 70 69 78 65 6C 73 20 61 72 65 20 6E 6F 74 d pixels are not
0001C0: 20 61 6C 74 65 72 65 64 2E 20 54 68 75 73 20 69 altered. Thus i
0001D0: 6E 20 74 72 61 6E 73 70 61 72 65 6E 74 20 20 6D n transparent m
0001E0: 6F 64 65 2C 20 20 74 68 65 0D 0A 20 20 20 20 20 ode, the..
0001F0: 20 20 63 68 61 72 61 63 74 65 72 20 69 73 20 77 character is w
Size : 512 (Real : 512)
000000: 72 69 74 74 65 6E 20 6F 76 65 72 20 74 68 65 20 ritten over the
000010: 74 6F 70 20 20 6F 66 20 20 74 68 65 20 20 63 75 top of the cu
000020: 72 72 65 6E 74 20 20 63 6F 6E 74 65 6E 74 73 20 rrent contents
000030: 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 of the..
000040: 20 73 63 72 65 65 6E 2E 20 54 68 69 73 20 69 73 screen. This is
000050: 20 75 73 65 66 75 6C 20 66 6F 72 20 61 6E 6E 6F useful for anno
000060: 74 61 74 69 6E 67 20 70 69 63 74 75 72 65 73 20 tating pictures
000070: 6F 72 20 67 65 6E 65 72 61 74 69 6E 67 20 63 6F or generating co
000080: 6D 70 6F 73 69 74 65 0D 0A 20 20 20 20 20 20 20 mposite..
000090: 63 68 61 72 61 63 74 65 72 73 2E 0D 0A 0D 0A 20 characters.....
0000A0: 20 20 20 20 20 20 54 68 65 20 54 65 78 74 20 56 The Text V
0000B0: 44 55 20 69 73 20 63 61 70 61 62 6C 65 20 6F 66 DU is capable of
0000C0: 20 70 72 69 6E 74 69 6E 67 20 32 35 36 20 64 69 printing 256 di
0000D0: 66 66 65 72 65 6E 74 20 63 68 61 72 61 63 74 65 fferent characte
0000E0: 72 73 2C 20 61 6C 74 68 6F 75 67 68 0D 0A 20 20 rs, although..
0000F0: 20 20 20 20 20 73 70 65 63 69 61 6C 20 65 66 66 special eff
000100: 6F 72 74 20 69 73 20 72 65 71 75 69 72 65 64 20 ort is required
000110: 74 6F 20 70 72 69 6E 74 20 74 68 65 20 66 69 72 to print the fir
000120: 73 74 20 33 32 20 63 68 61 72 61 63 74 65 72 73 st 32 characters
000130: 20 77 68 69 63 68 20 20 61 72 65 0D 0A 20 20 20 which are..
000140: 20 20 20 20 75 73 75 61 6C 6C 79 20 69 6E 74 65 usually inte
000150: 72 70 72 65 74 65 64 20 61 73 20 63 6F 6E 74 72 rpreted as contr
000160: 6F 6C 20 63 6F 64 65 73 2E 20 54 68 65 20 6D 61 ol codes. The ma
000170: 74 72 69 63 65 73 20 66 6F 72 20 74 68 65 20 20 trices for the
000180: 63 68 61 72 61 63 74 65 72 73 0D 0A 20 20 20 20 characters..
000190: 20 20 20 61 72 65 20 6E 6F 72 6D 61 6C 6C 79 20 are normally
0001A0: 73 74 6F 72 65 64 20 69 6E 20 74 68 65 20 52 4F stored in the RO
0001B0: 4D 20 62 75 74 20 74 68 65 20 75 73 65 72 20 6D M but the user m
0001C0: 61 79 20 61 72 72 61 6E 67 65 20 66 6F 72 20 61 ay arrange for a
0001D0: 6E 79 20 6E 75 6D 62 65 72 0D 0A 20 20 20 20 20 ny number..
0001E0: 20 20 6F 66 20 74 68 65 20 63 68 61 72 61 63 74 of the charact
0001F0: 65 72 73 20 74 6F 20 68 61 76 65 20 6D 61 74 72 ers to have matr
Size : 512 (Real : 512)
000000: 69 63 65 73 20 73 74 6F 72 65 64 20 69 6E 20 52 ices stored in R
000010: 41 4D 20 77 68 65 72 65 20 74 68 65 79 20 20 6D AM where they m
000020: 61 79 20 20 74 68 65 6E 0D 0A 20 20 20 20 20 20 ay then..
000030: 20 62 65 20 61 6C 74 65 72 65 64 2E 20 54 68 65 be altered. The
000040: 20 64 65 66 61 75 6C 74 20 73 65 74 74 69 6E 67 default setting
000050: 2C 20 61 74 20 45 4D 53 2C 20 69 73 20 74 6F 20 , at EMS, is to
000060: 68 61 76 65 20 61 6C 6C 20 20 74 68 65 20 20 6D have all the m
000070: 61 74 72 69 63 65 73 0D 0A 20 20 20 20 20 20 20 atrices..
000080: 69 6E 20 52 4F 4D 2E 20 28 42 41 53 49 43 20 74 in ROM. (BASIC t
000090: 61 6B 65 73 20 73 70 65 63 69 61 6C 20 61 63 74 akes special act
0000A0: 69 6F 6E 20 64 75 72 69 6E 67 20 69 74 73 20 6F ion during its o
0000B0: 77 6E 20 20 69 6E 69 74 69 61 6C 69 7A 61 74 69 wn initializati
0000C0: 6F 6E 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 63 on to.. c
0000D0: 72 65 61 74 65 20 31 36 20 27 75 73 65 72 20 64 reate 16 'user d
0000E0: 65 66 69 6E 65 64 27 20 20 6D 61 74 72 69 63 65 efined' matrice
0000F0: 73 2E 29 20 20 54 68 65 20 20 64 65 66 61 75 6C s.) The defaul
000100: 74 20 20 63 68 61 72 61 63 74 65 72 20 20 73 65 t character se
000110: 74 20 20 69 73 0D 0A 20 20 20 20 20 20 20 64 65 t is.. de
000120: 73 63 72 69 62 65 64 20 69 6E 20 41 70 70 65 6E scribed in Appen
000130: 64 69 78 20 56 31 2E 0D 0A 0D 0A 20 20 20 20 20 dix V1.....
000140: 20 20 57 68 65 6E 20 74 68 65 20 75 73 65 72 20 When the user
000150: 73 65 74 73 20 75 70 20 61 20 74 61 62 6C 65 20 sets up a table
000160: 6F 66 20 75 73 65 72 20 64 65 66 69 6E 65 64 20 of user defined
000170: 6D 61 74 72 69 63 65 73 2C 20 62 79 20 63 61 6C matrices, by cal
000180: 6C 69 6E 67 20 54 58 54 0D 0A 20 20 20 20 20 20 ling TXT..
000190: 20 53 45 54 20 4D 20 54 41 42 4C 45 2C 20 69 74 SET M TABLE, it
0001A0: 20 69 73 20 20 69 6E 69 74 69 61 6C 69 7A 65 64 is initialized
0001B0: 20 20 77 69 74 68 20 20 74 68 65 20 20 63 75 72 with the cur
0001C0: 72 65 6E 74 20 20 73 65 74 74 69 6E 67 73 20 20 rent settings
0001D0: 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 of the..
0001E0: 6D 61 74 72 69 63 65 73 20 66 72 6F 6D 20 52 4F matrices from RO
0001F0: 4D 20 6F 72 20 52 41 4D 2E 20 54 68 69 73 20 6D M or RAM. This m
Size : 512 (Real : 512)
000000: 65 61 6E 73 20 74 68 61 74 20 65 78 74 65 6E 64 eans that extend
000010: 69 6E 67 20 20 74 68 61 74 20 20 74 61 62 6C 65 ing that table
000020: 20 20 64 6F 65 73 0D 0A 20 20 20 20 20 20 20 6E does.. n
000030: 6F 74 20 61 6C 74 65 72 20 74 68 65 20 20 63 75 ot alter the cu
000040: 72 72 65 6E 74 20 20 6D 61 74 72 69 63 65 73 2E rrent matrices.
000050: 20 20 43 6F 6E 74 72 61 63 74 69 6E 67 20 20 74 Contracting t
000060: 68 65 20 20 74 61 62 6C 65 20 20 77 69 6C 6C 20 he table will
000070: 20 6D 61 6B 65 0D 0A 20 20 20 20 20 20 20 74 68 make.. th
000080: 65 20 63 68 61 72 61 63 74 65 72 73 20 6C 6F 73 e characters los
000090: 74 20 72 65 76 65 72 74 20 74 6F 20 74 68 65 69 t revert to thei
0000A0: 72 20 64 65 66 61 75 6C 74 20 6D 61 74 72 69 63 r default matric
0000B0: 65 20 69 6E 20 52 4F 4D 2E 0D 0A 0D 0A 20 20 20 e in ROM.....
0000C0: 20 20 20 20 57 68 65 6E 20 63 68 61 72 61 63 74 When charact
0000D0: 65 72 73 20 61 72 65 20 72 65 61 64 20 66 72 6F ers are read fro
0000E0: 6D 20 74 68 65 20 73 63 72 65 65 6E 20 28 62 79 m the screen (by
0000F0: 20 63 61 6C 6C 69 6E 67 20 28 54 58 54 20 52 44 calling (TXT RD
000100: 20 43 48 41 52 29 20 74 68 65 0D 0A 20 20 20 20 CHAR) the..
000110: 20 20 20 70 69 78 65 6C 73 20 6F 6E 20 74 68 65 pixels on the
000120: 20 73 63 72 65 65 6E 20 61 72 65 20 63 6F 6E 76 screen are conv
000130: 65 72 74 65 64 20 74 6F 20 74 68 65 20 66 6F 72 erted to the for
000140: 6D 20 6F 66 20 61 20 20 6D 61 74 72 69 78 2E 20 m of a matrix.
000150: 20 54 68 69 73 20 20 69 73 0D 0A 20 20 20 20 20 This is..
000160: 20 20 63 6F 6D 70 61 72 65 64 20 77 69 74 68 20 compared with
000170: 74 68 65 20 63 75 72 72 65 6E 74 20 63 68 61 72 the current char
000180: 61 63 74 65 72 20 6D 61 74 72 69 63 65 73 20 74 acter matrices t
000190: 6F 20 66 69 6E 64 20 20 77 68 69 63 68 20 20 63 o find which c
0001A0: 68 61 72 61 63 74 65 72 0D 0A 20 20 20 20 20 20 haracter..
0001B0: 20 69 74 20 69 73 2E 20 54 68 69 73 20 6D 65 61 it is. This mea
0001C0: 6E 73 20 74 68 61 74 20 63 68 61 6E 67 69 6E 67 ns that changing
0001D0: 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6D the character m
0001E0: 61 74 72 69 63 65 73 20 6F 72 20 61 6C 74 65 72 atrices or alter
0001F0: 69 6E 67 20 74 68 65 0D 0A 20 20 20 20 20 20 20 ing the..
Size : 512 (Real : 512)
000000: 73 63 72 65 65 6E 20 6D 61 79 20 6D 61 6B 65 20 screen may make
000010: 61 20 63 68 61 72 61 63 74 65 72 20 75 6E 72 65 a character unre
000020: 63 6F 67 6E 69 73 61 62 6C 65 2C 20 20 69 6E 20 cognisable, in
000030: 20 70 61 72 74 69 63 75 6C 61 72 2C 20 20 63 68 particular, ch
000040: 61 6E 67 69 6E 67 0D 0A 20 20 20 20 20 20 20 74 anging.. t
000050: 68 65 20 70 65 6E 20 6F 72 20 70 61 70 65 72 20 he pen or paper
000060: 69 6E 6B 20 20 63 61 6E 20 20 63 61 75 73 65 20 ink can cause
000070: 20 63 6F 6E 66 75 73 69 6F 6E 2E 20 20 55 73 75 confusion. Usu
000080: 61 6C 6C 79 20 20 74 68 65 73 65 20 20 70 72 6F ally these pro
000090: 62 6C 65 6D 73 0D 0A 20 20 20 20 20 20 20 72 65 blems.. re
0000A0: 73 75 6C 74 20 69 6E 20 74 68 65 20 63 68 61 72 sult in the char
0000B0: 61 63 74 65 72 20 61 70 70 65 61 72 69 6E 67 20 acter appearing
0000C0: 74 6F 20 62 65 20 61 20 73 70 61 63 65 20 28 63 to be a space (c
0000D0: 68 61 72 61 63 74 65 72 20 23 32 30 29 20 61 6E haracter #20) an
0000E0: 64 20 73 6F 0D 0A 20 20 20 20 20 20 20 73 70 65 d so.. spe
0000F0: 63 69 61 6C 20 70 72 65 63 61 75 74 69 6F 6E 73 cial precautions
000100: 20 61 72 65 20 74 61 6B 65 6E 20 74 6F 20 61 76 are taken to av
000110: 6F 69 64 20 67 65 6E 65 72 61 74 69 6E 67 20 73 oid generating s
000120: 70 61 63 65 73 20 2D 20 61 66 74 65 72 20 20 73 paces - after s
000130: 6F 6D 65 0D 0A 20 20 20 20 20 20 20 69 6E 6B 20 ome.. ink
000140: 63 68 61 6E 67 65 73 20 72 65 61 6C 20 73 70 61 changes real spa
000150: 63 65 73 20 6D 61 79 20 62 65 20 72 65 61 64 20 ces may be read
000160: 61 73 20 62 6C 6F 63 6B 20 67 72 61 70 68 69 63 as block graphic
000170: 73 20 20 63 68 61 72 61 63 74 65 72 73 20 20 23 s characters #
000180: 38 30 0D 0A 20 20 20 20 20 20 20 6F 72 20 23 38 80.. or #8
000190: 46 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 6F 20 F..... To
0001A0: 61 6C 6C 6F 77 20 74 68 65 20 75 73 65 72 20 74 allow the user t
0001B0: 6F 20 63 68 61 6E 67 65 20 68 6F 77 20 63 68 61 o change how cha
0001C0: 72 61 63 74 65 72 73 20 61 72 65 20 20 77 72 69 racters are wri
0001D0: 74 74 65 6E 20 20 74 6F 20 20 61 6E 64 20 20 72 tten to and r
0001E0: 65 61 64 0D 0A 20 20 20 20 20 20 20 66 72 6F 6D ead.. from
0001F0: 20 74 68 65 20 73 63 72 65 65 6E 2C 20 74 68 65 the screen, the
Size : 512 (Real : 512)
000000: 20 69 6E 64 69 72 65 63 74 69 6F 6E 73 20 54 58 indirections TX
000010: 54 20 57 52 49 54 45 20 43 48 41 52 20 61 6E 64 T WRITE CHAR and
000020: 20 54 58 54 20 20 55 4E 57 52 49 54 45 20 20 61 TXT UNWRITE a
000030: 72 65 0D 0A 20 20 20 20 20 20 20 70 72 6F 76 69 re.. provi
000040: 64 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ded..... 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 20 20 70 61 67 pag
000090: 65 20 34 2E 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D e 4.4...........
0000A0: 0A 0D 0A 20 20 20 20 20 20 20 34 2E 37 20 43 68 ... 4.7 Ch
0000B0: 61 72 61 63 74 65 72 20 4F 75 74 70 75 74 20 61 aracter Output a
0000C0: 6E 64 20 43 6F 6E 74 72 6F 6C 20 43 6F 64 65 73 nd Control Codes
0000D0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
0000E0: 6D 61 69 6E 20 63 68 61 72 61 63 74 65 72 20 6F main character o
0000F0: 75 74 70 75 74 20 72 6F 75 74 69 6E 65 20 66 6F utput routine fo
000100: 72 20 74 68 65 20 54 65 78 74 20 56 44 55 20 69 r the Text VDU i
000110: 73 20 54 58 54 20 4F 55 54 50 55 54 2E 20 54 68 s TXT OUTPUT. Th
000120: 69 73 0D 0A 20 20 20 20 20 20 20 6F 62 65 79 73 is.. obeys
000130: 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 73 20 28 control codes (
000140: 63 68 61 72 61 63 74 65 72 20 30 2E 2E 33 31 29 character 0..31)
000150: 20 61 6E 64 20 70 72 69 6E 74 73 20 61 6C 6C 20 and prints all
000160: 6F 74 68 65 72 20 63 68 61 72 61 63 74 65 72 73 other characters
000170: 2E 0D 0A 20 20 20 20 20 20 20 43 68 61 72 61 63 ... Charac
000180: 74 65 72 73 20 20 73 65 6E 74 20 20 74 6F 20 20 ters sent to
000190: 54 58 54 20 20 4F 55 54 50 55 54 20 20 70 61 73 TXT OUTPUT pas
0001A0: 73 20 20 74 68 72 6F 75 67 68 20 20 76 61 72 69 s through vari
0001B0: 6F 75 73 20 20 6C 65 76 65 6C 73 20 20 20 6F 66 ous levels of
0001C0: 0D 0A 20 20 20 20 20 20 20 69 6E 64 69 72 65 63 .. indirec
0001D0: 74 69 6F 6E 20 61 6E 64 20 63 61 6E 20 62 65 20 tion and can be
0001E0: 64 65 6C 74 20 77 69 74 68 20 62 79 20 76 61 72 delt with by var
0001F0: 69 6F 75 73 20 6F 75 74 70 75 74 20 72 6F 75 74 ious output rout
Size : 512 (Real : 512)
000000: 69 6E 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 ines.....
000010: 54 58 54 20 4F 55 54 50 55 54 20 75 73 65 73 20 TXT OUTPUT uses
000020: 74 68 65 20 54 58 54 20 4F 55 54 20 41 43 54 49 the TXT OUT ACTI
000030: 4F 4E 20 69 6E 64 69 72 65 63 74 69 6F 6E 20 74 ON indirection t
000040: 6F 20 73 6F 72 74 20 6F 75 74 20 77 68 65 74 68 o sort out wheth
000050: 65 72 20 74 68 65 0D 0A 20 20 20 20 20 20 20 63 er the.. c
000060: 68 61 72 61 63 74 65 72 20 69 73 20 61 20 70 72 haracter is a pr
000070: 69 6E 74 69 6E 67 20 63 68 61 72 61 63 74 65 72 inting character
000080: 2C 20 69 73 20 61 20 63 6F 6E 74 72 6F 6C 20 63 , is a control c
000090: 6F 64 65 20 74 6F 20 62 65 20 20 6F 62 65 79 65 ode to be obeye
0000A0: 64 20 20 6F 72 0D 0A 20 20 20 20 20 20 20 69 73 d or.. is
0000B0: 20 74 68 65 20 70 61 72 61 6D 65 74 65 72 20 6F the parameter o
0000C0: 66 20 61 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 f a control code
0000D0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 58 54 20 ..... TXT
0000E0: 4F 55 54 20 41 43 54 49 4F 4E 20 6E 6F 72 6D 61 OUT ACTION norma
0000F0: 6C 6C 79 20 63 61 6C 6C 73 20 54 58 54 20 57 52 lly calls TXT WR
000100: 49 54 45 20 43 48 41 52 20 74 6F 20 20 70 72 69 ITE CHAR to pri
000110: 6E 74 20 20 63 68 61 72 61 63 74 65 72 73 20 20 nt characters
000120: 6F 6E 0D 0A 20 20 20 20 20 20 20 74 68 65 20 73 on.. the s
000130: 63 72 65 65 6E 2E 20 48 6F 77 65 76 65 72 2C 20 creen. However,
000140: 69 66 20 74 68 65 20 67 72 61 70 68 69 63 73 20 if the graphics
000150: 63 68 61 72 61 63 74 65 72 20 77 72 69 74 65 20 character write
000160: 6D 6F 64 65 20 69 73 20 20 73 65 6C 65 63 74 65 mode is selecte
000170: 64 0D 0A 20 20 20 20 20 20 20 74 68 65 6E 20 63 d.. then c
000180: 68 61 72 61 63 74 65 72 73 20 61 72 65 20 70 72 haracters are pr
000190: 69 6E 74 65 64 20 75 73 69 6E 67 20 74 68 65 20 inted using the
0001A0: 20 47 72 61 70 68 69 63 73 20 20 56 44 55 20 20 Graphics VDU
0001B0: 63 68 61 72 61 63 74 65 72 20 20 77 72 69 74 65 character write
0001C0: 0D 0A 20 20 20 20 20 20 20 72 6F 75 74 69 6E 65 .. routine
0001D0: 20 28 73 65 65 20 35 2E 36 20 62 65 6C 6F 77 2E (see 5.6 below.
0001E0: 29 20 54 68 69 73 20 6D 6F 64 65 20 63 61 6E 20 ) This mode can
0001F0: 62 65 20 73 65 6C 65 63 74 65 64 20 6F 6E 20 61 be selected on a
Size : 512 (Real : 512)
000000: 20 20 63 68 61 72 61 63 74 65 72 20 20 62 79 0D character by.
000010: 0A 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 . characte
000020: 72 20 62 61 73 69 73 20 75 73 69 6E 67 20 61 20 r basis using a
000030: 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 20 6F 72 20 control code or
000040: 6F 6E 20 61 6C 6C 20 20 63 68 61 72 61 63 74 65 on all characte
000050: 72 73 20 20 73 65 6E 74 20 20 28 73 65 65 0D 0A rs sent (see..
000060: 20 20 20 20 20 20 20 54 58 54 20 53 45 54 20 47 TXT SET G
000070: 52 41 50 48 49 43 29 2E 20 20 57 68 65 6E 20 20 RAPHIC). When
000080: 67 72 61 70 68 69 63 20 20 63 68 61 72 61 63 74 graphic charact
000090: 65 72 20 20 77 72 69 74 65 20 20 6D 6F 64 65 20 er write mode
0000A0: 20 69 73 20 20 73 65 6C 65 63 74 65 64 0D 0A 20 is selected..
0000B0: 20 20 20 20 20 20 63 6F 6E 74 72 6F 6C 20 63 6F control co
0000C0: 64 65 73 20 61 72 65 20 6E 6F 74 20 6F 62 65 79 des are not obey
0000D0: 65 64 20 62 75 74 20 61 72 65 20 70 72 69 6E 74 ed but are print
0000E0: 65 64 20 62 79 20 74 68 65 20 20 67 72 61 70 68 ed by the graph
0000F0: 69 63 73 20 20 72 6F 75 74 69 6E 65 0D 0A 20 20 ics routine..
000100: 20 20 20 20 20 69 6E 73 74 65 61 64 2E 0D 0A 20 instead...
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 T
000120: 58 54 20 4F 55 54 20 41 43 54 49 4F 4E 20 64 65 XT OUT ACTION de
000130: 61 6C 73 20 77 69 74 68 20 61 20 63 6F 6E 74 72 als with a contr
000140: 6F 6C 20 20 63 6F 64 65 20 20 69 6E 20 20 74 68 ol code in th
000150: 65 20 20 66 6F 6C 6C 6F 77 69 6E 67 0D 0A 20 20 e following..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6D 61 ma
000170: 6E 6E 65 72 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 nner:....
000180: 20 20 20 20 20 20 20 20 20 31 2F 20 54 68 65 20 1/ The
000190: 63 6F 64 65 20 69 73 20 73 74 6F 72 65 64 20 20 code is stored
0001A0: 61 74 20 20 74 68 65 20 20 73 74 61 72 74 20 20 at the start
0001B0: 6F 66 20 20 74 68 65 20 20 63 6F 6E 74 72 6F 6C of the control
0001C0: 20 20 63 6F 64 65 0D 0A 20 20 20 20 20 20 20 20 code..
0001D0: 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2E 0D buffer..
0001E0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001F0: 20 32 2F 20 54 68 65 20 63 6F 64 65 20 69 73 20 2/ The code is
Size : 512 (Real : 512)
000000: 6C 6F 6F 6B 65 64 20 75 70 20 69 6E 20 74 68 65 looked up in the
000010: 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 20 20 74 control code t
000020: 61 62 6C 65 20 20 74 6F 20 20 66 69 6E 64 0D 0A able to find..
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 6F 75 74 20 68 6F 77 20 6D 61 6E 79 20 70 61 72 out how many par
000050: 61 6D 65 74 65 72 73 20 69 74 20 72 65 71 75 69 ameters it requi
000060: 72 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 res.....
000070: 20 20 20 20 20 20 20 20 33 2F 20 49 66 20 6E 6F 3/ If no
000080: 20 70 61 72 61 6D 65 74 65 72 73 20 61 72 65 20 parameters are
000090: 72 65 71 75 69 72 65 64 20 67 6F 20 64 69 72 65 required go dire
0000A0: 63 74 6C 79 20 74 6F 20 73 74 65 70 20 35 2E 0D ctly to step 5..
0000B0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
0000C0: 20 20 20 34 2F 20 49 66 20 6F 6E 65 20 6F 72 20 4/ If one or
0000D0: 6D 6F 72 65 20 70 61 72 61 6D 65 74 65 72 73 20 more parameters
0000E0: 61 72 65 20 72 65 71 75 69 72 65 64 20 74 68 65 are required the
0000F0: 20 54 58 54 20 4F 55 54 20 20 41 43 54 49 4F 4E TXT OUT ACTION
000100: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000110: 20 20 72 65 74 75 72 6E 73 20 62 75 74 20 74 68 returns but th
000120: 65 20 6E 65 78 74 20 63 68 61 72 61 63 74 65 72 e next character
000130: 73 20 73 65 6E 74 20 74 6F 20 69 74 20 61 72 65 s sent to it are
000140: 20 61 64 64 65 64 20 20 74 6F 20 20 74 68 65 0D added to the.
000150: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000160: 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 20 62 75 control code bu
000170: 66 66 65 72 20 72 61 74 68 65 72 20 74 68 61 6E ffer rather than
000180: 20 62 65 69 6E 67 20 70 72 69 6E 74 65 64 20 6F being printed o
000190: 72 20 6F 62 65 79 65 64 2E 20 54 68 69 73 0D 0A r obeyed. This..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 63 6F 6E 74 69 6E 75 65 73 20 75 6E 74 69 6C 20 continues until
0001C0: 73 75 66 66 69 63 69 65 6E 74 20 20 70 61 72 61 sufficient para
0001D0: 6D 65 74 65 72 20 20 63 68 61 72 61 63 74 65 72 meter character
0001E0: 73 20 20 68 61 76 65 20 20 62 65 65 6E 0D 0A 20 s have been..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 r
Size : 512 (Real : 512)
000000: 65 63 65 69 76 65 64 2E 0D 0A 0D 0A 20 20 20 20 eceived.....
000010: 20 20 20 20 20 20 20 20 20 20 20 20 35 2F 20 54 5/ T
000020: 68 65 20 63 6F 64 65 20 69 73 20 6C 6F 6F 6B 65 he code is looke
000030: 64 20 75 70 20 69 6E 20 74 68 65 20 63 6F 6E 74 d up in the cont
000040: 72 6F 6C 20 63 6F 64 65 20 74 61 62 6C 65 20 74 rol code table t
000050: 6F 20 67 65 74 20 74 68 65 0D 0A 20 20 20 20 20 o get the..
000060: 20 20 20 20 20 20 20 20 20 20 20 61 64 64 72 65 addre
000070: 73 73 20 6F 66 20 74 68 65 20 72 6F 75 74 69 6E ss of the routin
000080: 65 20 74 6F 20 63 61 6C 6C 20 74 6F 20 70 65 72 e to call to per
000090: 66 6F 72 6D 20 20 74 68 65 20 20 63 6F 6E 74 72 form the contr
0000A0: 6F 6C 20 20 63 6F 64 65 0D 0A 20 20 20 20 20 20 ol code..
0000B0: 20 20 20 20 20 20 20 20 20 20 61 6E 64 20 74 68 and th
0000C0: 69 73 20 72 6F 75 74 69 6E 65 20 69 73 20 74 68 is routine is th
0000D0: 65 6E 20 65 78 65 63 75 74 65 64 2E 0D 0A 0D 0A en executed.....
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 36 2F 20 20 54 68 65 20 20 63 6F 6E 74 72 6F 6C 6/ The control
000100: 20 20 63 6F 64 65 20 20 62 75 66 66 65 72 20 20 code buffer
000110: 69 73 20 20 64 69 73 63 61 72 64 65 64 20 20 61 is discarded a
000120: 6E 64 20 20 74 68 65 20 20 6E 65 78 74 0D 0A 20 nd the next..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 c
000140: 68 61 72 61 63 74 65 72 20 73 65 6E 74 20 6D 61 haracter sent ma
000150: 79 20 62 65 20 70 72 69 6E 74 65 64 20 6F 72 20 y be printed or
000160: 6D 61 79 20 62 65 20 74 68 65 20 73 74 61 72 74 may be the start
000170: 20 20 6F 66 20 20 61 20 20 6E 65 77 0D 0A 20 20 of a new..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6F co
000190: 6E 74 72 6F 6C 20 63 6F 64 65 20 73 65 71 75 65 ntrol code seque
0001A0: 6E 63 65 2E 0D 0A 20 20 20 20 20 20 20 54 68 65 nce... The
0001B0: 20 75 73 65 72 20 63 61 6E 20 63 68 61 6E 67 65 user can change
0001C0: 20 74 68 65 20 6F 70 65 72 61 74 69 6F 6E 20 6F the operation o
0001D0: 66 20 61 20 63 6F 6E 74 72 6F 6C 20 20 63 6F 64 f a control cod
0001E0: 65 20 20 79 20 20 63 68 61 6E 67 69 6E 67 20 20 e y changing
0001F0: 74 68 65 0D 0A 20 20 20 20 20 20 20 65 6E 74 72 the.. entr
Size : 512 (Real : 512)
000000: 79 20 66 6F 72 20 69 74 20 69 6E 20 74 68 65 20 y for it in the
000010: 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 20 74 61 62 control code tab
000020: 6C 65 20 28 73 65 65 20 54 58 54 20 20 47 45 54 le (see TXT GET
000030: 20 20 43 4F 4E 54 52 4F 4C 53 29 2E 20 20 54 68 CONTROLS). Th
000040: 69 73 0D 0A 20 20 20 20 20 20 20 63 6F 6E 74 61 is.. conta
000050: 69 6E 73 20 61 20 33 20 62 79 74 65 20 65 6E 74 ins a 3 byte ent
000060: 72 79 20 66 6F 72 20 20 65 61 63 68 20 20 63 6F ry for each co
000070: 64 65 20 20 61 6E 64 20 20 65 6E 74 72 69 65 73 de and entries
000080: 20 20 61 72 65 20 20 73 74 6F 72 65 64 20 20 69 are stored i
000090: 6E 0D 0A 20 20 20 20 20 20 20 61 73 63 65 6E 64 n.. ascend
0000A0: 69 6E 67 20 6F 72 64 65 72 20 28 69 2E 65 2E 20 ing order (i.e.
0000B0: 74 68 65 20 65 6E 74 72 79 20 66 6F 72 20 23 30 the entry for #0
0000C0: 30 20 66 69 72 73 74 2C 20 23 30 31 20 6E 65 78 0 first, #01 nex
0000D0: 74 20 61 6E 64 20 73 6F 20 6F 6E 29 2E 0D 0A 0D t and so on)....
0000E0: 0A 20 20 20 20 20 20 20 42 69 74 73 20 30 2E 2E . Bits 0..
0000F0: 33 20 6F 66 20 74 68 65 20 66 69 72 73 74 20 62 3 of the first b
000100: 79 74 65 20 6F 66 20 65 61 63 68 20 20 65 6E 74 yte of each ent
000110: 72 79 20 20 73 70 65 63 69 66 69 65 73 20 20 74 ry specifies t
000120: 68 65 20 20 6E 75 6D 62 65 72 20 20 6F 66 0D 0A he number of..
000130: 20 20 20 20 20 20 20 70 61 72 61 6D 65 74 65 72 parameter
000140: 73 20 72 65 71 75 69 72 65 64 2E 20 54 68 69 73 s required. This
000150: 20 6D 75 73 74 20 6C 69 65 20 69 6E 20 74 68 65 must lie in the
000160: 20 72 61 6E 67 65 20 30 2E 2E 39 20 20 61 73 20 range 0..9 as
000170: 20 74 68 65 20 20 63 6F 6E 74 72 6F 6C 0D 0A 20 the control..
000180: 20 20 20 20 20 20 63 6F 64 65 20 62 75 66 66 65 code buffe
000190: 72 20 69 73 20 6F 6E 6C 79 20 63 61 70 61 62 6C r is only capabl
0001A0: 65 20 6F 66 20 73 74 6F 72 69 6E 67 20 75 70 20 e of storing up
0001B0: 74 6F 20 39 20 70 61 72 61 6D 65 74 65 72 73 2E to 9 parameters.
0001C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 49 6E 20 56 31 .... In V1
0001D0: 2E 31 20 66 69 72 6D 77 61 72 65 20 62 69 74 20 .1 firmware bit
0001E0: 37 20 73 70 65 63 69 66 69 65 73 20 77 68 65 74 7 specifies whet
0001F0: 68 65 72 20 74 68 65 20 63 6F 64 65 20 69 73 20 her the code is
Size : 512 (Real : 512)
000000: 61 66 66 65 63 74 65 64 20 77 68 65 6E 20 74 68 affected when th
000010: 65 0D 0A 20 20 20 20 20 20 20 56 44 55 20 69 73 e.. VDU is
000020: 20 64 69 73 61 62 6C 65 64 2E 20 49 66 20 62 69 disabled. If bi
000030: 74 20 37 20 69 73 20 73 65 74 20 74 68 65 6E 20 t 7 is set then
000040: 74 68 65 20 63 6F 64 65 20 69 73 20 74 6F 20 62 the code is to b
000050: 65 20 20 69 67 6E 6F 72 65 64 20 20 77 68 65 6E e ignored when
000060: 0D 0A 20 20 20 20 20 20 20 74 68 65 20 56 44 55 .. the VDU
000070: 20 69 73 20 64 69 73 61 62 6C 65 64 20 6F 74 68 is disabled oth
000080: 65 72 77 69 73 65 20 69 74 20 69 73 20 74 6F 20 erwise it is to
000090: 62 65 20 6F 62 65 79 65 64 2E 0D 0A 20 20 20 20 be obeyed...
0000A0: 20 20 20 54 68 65 20 73 65 63 6F 6E 64 20 61 6E The second an
0000B0: 64 20 74 68 69 72 64 20 62 79 74 65 73 20 61 72 d third bytes ar
0000C0: 65 20 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 e the address of
0000D0: 20 74 68 65 20 72 6F 75 74 69 6E 65 20 74 6F 20 the routine to
0000E0: 20 63 61 6C 6C 20 20 74 6F 0D 0A 20 20 20 20 20 call to..
0000F0: 20 20 6F 62 65 79 20 74 68 65 20 63 6F 64 65 2E obey the code.
000100: 20 54 68 69 73 20 72 6F 75 74 69 6E 65 20 73 68 This routine sh
000110: 6F 75 6C 64 20 6C 69 65 20 69 6E 20 74 68 65 20 ould lie in the
000120: 63 65 6E 74 72 61 6C 20 33 32 4B 20 6F 66 20 52 central 32K of R
000130: 41 4D 20 6F 72 20 69 6E 0D 0A 20 20 20 20 20 20 AM or in..
000140: 20 74 68 65 20 6C 6F 77 65 72 20 52 4F 4D 20 28 the lower ROM (
000150: 77 68 69 63 68 20 77 69 6C 6C 20 20 62 65 20 20 which will be
000160: 65 6E 61 62 6C 65 64 29 2E 20 20 49 74 20 20 73 enabled). It s
000170: 68 6F 75 6C 64 20 20 63 6F 6E 66 6F 72 6D 20 20 hould conform
000180: 74 6F 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 to the..
000190: 66 6F 6C 6C 6F 77 69 6E 67 20 65 6E 74 72 79 2F following entry/
0001A0: 65 78 69 74 20 63 6F 6E 64 69 74 69 6F 6E 73 3A exit conditions:
0001B0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
0001C0: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
0001D0: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 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 34 2E page 4.
Size : 512 (Real : 512)
000000: 35 0D 0A 1A 41 50 2D 34 20 20 24 24 24 FF 00 FF 5...AP-4 $$$...
000010: 20 54 65 78 74 20 56 44 55 2E 0D 0A 0D 0A 0D 0A Text VDU.......
000020: 20 20 20 20 20 20 20 54 68 65 20 54 65 78 74 20 The Text
000030: 56 44 55 20 69 73 20 20 61 20 20 63 68 61 72 61 VDU is a chara
000040: 63 74 65 72 20 20 62 61 73 65 64 20 20 73 63 72 cter based scr
000050: 65 65 6E 20 20 64 72 69 76 65 72 2E 20 20 49 74 een driver. It
000060: 20 20 63 6F 6E 74 72 6F 6C 73 20 20 38 0D 0A 20 controls 8..
000070: 20 20 20 20 20 20 64 69 66 66 65 72 65 6E 74 20 different
000080: 00 43 48 41 50 2D 32 20 20 50 31 20 00 00 00 80 .CHAP-2 P1 ....
000090: 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 &'()*+,-./012345
0000A0: 00 43 48 41 50 2D 32 20 20 50 31 20 01 00 00 06 .CHAP-2 P1 ....
0000B0: 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6...............
0000C0: 00 43 48 41 50 2D 32 20 20 50 32 20 00 00 00 18 .CHAP-2 P2 ....
0000D0: 37 38 39 00 00 00 00 00 00 00 00 00 00 00 00 00 789.............
0000E0: 00 43 48 41 50 2D 33 20 20 20 20 20 00 00 00 7A .CHAP-3 ...z
0000F0: 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 :;<=>?@ABCDEFGHI
000100: 00 43 48 41 50 2D 34 20 20 24 24 24 00 00 00 80 .CHAP-4 $$$....
000110: 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 JKLMNOPQRSTUVWXY
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 45 6E 74 72 79 3A 0D 0A 0D 0A 0D 0A 20 Entry:......
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 A
000030: 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 6C 61 contains the la
000040: 73 74 20 63 68 61 72 61 63 74 65 72 20 61 64 64 st character add
000050: 65 64 20 74 6F 20 74 68 65 20 62 75 66 66 65 72 ed to the buffer
000060: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 .......
000070: 20 20 20 20 20 20 20 42 20 63 6F 6E 74 61 69 6E B contain
000080: 73 20 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 20 s the number of
000090: 63 68 61 72 61 63 74 65 72 73 20 69 6E 20 74 68 characters in th
0000A0: 65 20 62 75 66 66 65 72 20 20 28 69 6E 63 6C 75 e buffer (inclu
0000B0: 64 69 6E 67 0D 0A 20 20 20 20 20 20 20 20 20 20 ding..
0000C0: 20 20 20 20 20 20 74 68 65 20 63 6F 6E 74 72 6F the contro
0000D0: 6C 20 63 6F 64 65 29 2E 0D 0A 0D 0A 0D 0A 20 20 l code).......
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 20 C
0000F0: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 73 61 6D contains the sam
000100: 65 20 61 73 20 41 2E 0D 0A 0D 0A 0D 0A 20 20 20 e as A.......
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 48 4C 20 HL
000120: 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 61 64 64 contains the add
000130: 72 65 73 73 20 6F 66 20 74 68 65 20 63 6F 6E 74 ress of the cont
000140: 72 6F 6C 20 63 6F 64 65 20 62 75 66 66 65 72 20 rol code buffer
000150: 28 70 6F 69 6E 74 73 20 61 74 0D 0A 20 20 20 20 (points at..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 the
000170: 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 29 2E 0D 0A control code)...
000180: 0D 0A 0D 0A 20 20 20 20 20 20 20 45 78 69 74 3A .... Exit:
000190: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
0001A0: 20 20 20 20 41 46 2C 42 43 2C 44 45 20 61 6E 64 AF,BC,DE and
0001B0: 20 48 4C 20 63 6F 72 72 75 70 74 2E 0D 0A 0D 0A HL corrupt.....
0001C0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001D0: 20 20 41 6C 6C 20 6F 74 68 65 72 20 72 65 67 69 All other regi
0001E0: 73 74 65 72 73 20 70 72 65 73 65 72 76 65 64 2E sters preserved.
0001F0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 ...... The
Size : 512 (Real : 512)
000000: 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 20 62 75 control code bu
000010: 66 66 65 72 20 69 73 20 73 68 61 72 65 64 20 62 ffer is shared b
000020: 65 74 77 65 65 6E 20 61 6C 6C 20 73 74 72 65 61 etween all strea
000030: 6D 73 2E 20 41 20 63 6F 6E 74 72 6F 6C 20 20 63 ms. A control c
000040: 6F 64 65 0D 0A 20 20 20 20 20 20 20 73 65 71 75 ode.. sequ
000050: 65 6E 63 65 20 73 68 6F 75 6C 64 20 62 65 20 63 ence should be c
000060: 6F 6D 70 6C 65 74 65 64 20 62 65 66 6F 72 65 20 ompleted before
000070: 20 61 20 20 73 74 72 65 61 6D 20 20 69 73 20 20 a stream is
000080: 63 68 61 6E 67 65 64 20 20 6F 74 68 65 72 77 69 changed otherwi
000090: 73 65 0D 0A 20 20 20 20 20 20 20 75 6E 65 78 70 se.. unexp
0000A0: 65 63 74 65 64 20 65 66 66 65 63 74 73 20 6D 61 ected effects ma
0000B0: 79 20 6F 63 63 75 72 2E 0D 0A 0D 0A 0D 0A 0D 0A y occur.........
0000C0: 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 75 The defau
0000D0: 6C 74 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 20 lt control code
0000E0: 61 63 74 69 6F 6E 73 2C 20 73 65 74 20 61 74 20 actions, set at
0000F0: 45 4D 53 20 61 6E 64 20 20 77 68 65 6E 20 20 54 EMS and when T
000100: 58 54 20 20 52 45 53 45 54 20 20 69 73 0D 0A 20 XT RESET is..
000110: 20 20 20 20 20 20 63 61 6C 6C 65 64 2C 20 61 72 called, ar
000120: 65 20 64 65 73 63 72 69 62 65 64 20 69 6E 20 41 e described in A
000130: 70 70 65 6E 64 69 78 20 56 49 49 2E 0D 0A 0D 0A ppendix VII.....
000140: 0D 0A 0D 0A 20 20 20 20 20 20 20 49 74 20 69 73 .... It is
000150: 20 70 6F 73 73 69 62 6C 65 20 74 6F 20 64 69 73 possible to dis
000160: 61 62 6C 65 20 74 68 65 20 74 65 78 74 20 73 74 able the text st
000170: 72 65 61 6D 20 62 79 20 63 61 6C 6C 69 6E 67 20 ream by calling
000180: 54 58 54 20 56 44 55 20 20 44 49 53 41 42 4C 45 TXT VDU DISABLE
000190: 2E 0D 0A 20 20 20 20 20 20 20 57 68 65 6E 20 64 ... When d
0001A0: 69 73 61 62 6C 65 64 20 74 68 65 20 73 74 72 65 isabled the stre
0001B0: 61 6D 20 77 69 6C 6C 20 6E 6F 74 20 77 72 69 74 am will not writ
0001C0: 65 20 61 6E 79 20 63 68 61 72 61 63 74 65 72 73 e any characters
0001D0: 20 74 6F 20 20 74 68 65 20 20 73 63 72 65 65 6E to the screen
0001E0: 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 69 6E 20 .. and in
0001F0: 56 31 2E 31 20 66 69 72 6D 77 61 72 65 20 63 6F V1.1 firmware co
Size : 512 (Real : 512)
000000: 6E 74 72 6F 6C 20 63 6F 64 65 73 20 6D 61 79 20 ntrol codes may
000010: 6E 6F 74 20 20 62 65 20 20 6F 62 65 79 65 64 20 not be obeyed
000020: 20 28 61 73 20 20 64 65 73 63 72 69 62 65 64 0D (as described.
000030: 0A 20 20 20 20 20 20 20 61 62 6F 76 65 29 2E 20 . above).
000040: 4E 6F 72 6D 61 6C 20 6F 70 65 72 61 74 69 6F 6E Normal operation
000050: 20 63 61 6E 20 62 65 20 72 65 73 74 6F 72 65 64 can be restored
000060: 20 62 79 20 63 61 6C 6C 20 54 58 54 20 56 44 55 by call TXT VDU
000070: 20 45 4E 41 42 4C 45 2E 20 4E 6F 74 65 2C 0D 0A ENABLE. Note,..
000080: 20 20 20 20 20 20 20 68 6F 77 65 76 65 72 2C 20 however,
000090: 74 68 61 74 20 63 61 6C 6C 69 6E 67 20 74 68 65 that calling the
0000A0: 73 65 20 20 72 6F 75 74 69 6E 65 73 20 20 77 69 se routines wi
0000B0: 6C 6C 20 20 65 6D 70 74 79 20 20 74 68 65 20 20 ll empty the
0000C0: 63 6F 6E 74 72 6F 6C 20 20 63 6F 64 65 0D 0A 20 control code..
0000D0: 20 20 20 20 20 20 62 75 66 66 65 72 2E 20 54 68 buffer. Th
0000E0: 69 73 20 65 66 66 65 63 74 20 6D 61 79 20 62 65 is effect may be
0000F0: 20 75 73 65 64 20 74 6F 20 61 76 6F 69 64 20 70 used to avoid p
000100: 72 6F 62 6C 65 6D 73 20 77 68 65 6E 20 20 74 68 roblems when th
000110: 65 20 20 73 74 61 74 65 20 20 6F 66 0D 0A 20 20 e state of..
000120: 20 20 20 20 20 74 68 65 20 20 63 6F 6E 74 72 6F the contro
000130: 6C 20 20 62 75 66 66 65 72 20 20 69 73 20 20 75 l buffer is u
000140: 6E 6B 6E 6F 77 6E 20 20 28 77 68 65 6E 20 20 70 nknown (when p
000150: 72 69 6E 74 69 6E 67 20 20 61 6E 20 20 65 72 72 rinting an err
000160: 6F 72 20 20 6D 65 73 73 61 67 65 0D 0A 20 20 20 or message..
000170: 20 20 20 20 70 65 72 68 61 70 73 29 2E 0D 0A 0D perhaps)....
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 20
0001E0: 20 20 70 61 67 65 20 34 2E 36 0D 0A 1A 0D 0A 20 page 4.6.....
0001F0: 20 20 20 20 20 20 64 69 66 66 65 72 65 6E 74 20 different
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 20 20 20 20 20 20 20 35 ........ 5
000010: 20 54 68 65 20 47 72 61 70 68 69 63 73 20 56 44 The Graphics VD
000020: 55 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 U....... T
000030: 68 65 20 47 72 61 70 68 69 63 73 20 56 44 55 20 he Graphics VDU
000040: 61 6C 6C 6F 77 73 20 69 6E 64 69 76 69 64 75 61 allows individua
000050: 6C 20 70 69 78 65 6C 73 20 28 64 6F 74 73 29 20 l pixels (dots)
000060: 74 6F 20 62 65 20 73 65 74 20 20 6F 72 20 20 74 to be set or t
000070: 65 73 74 65 64 0D 0A 20 20 20 20 20 20 20 61 6E ested.. an
000080: 64 20 6C 69 6E 65 73 20 74 6F 20 62 65 20 64 72 d lines to be dr
000090: 61 77 6E 2E 20 54 68 65 20 70 6C 6F 74 74 69 6E awn. The plottin
0000A0: 67 20 74 61 6B 65 73 20 70 6C 61 63 65 20 20 6F g takes place o
0000B0: 6E 20 20 61 6E 20 20 69 64 65 61 6C 20 20 73 63 n an ideal sc
0000C0: 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 74 68 61 reen.. tha
0000D0: 74 20 69 73 20 61 6C 77 61 79 73 20 36 34 30 20 t is always 640
0000E0: 70 6F 69 6E 74 73 20 77 69 64 65 20 61 6E 64 20 points wide and
0000F0: 34 30 30 20 70 6F 69 6E 74 73 20 68 69 67 68 2E 400 points high.
000100: 20 20 54 68 69 73 20 20 6D 65 61 6E 73 20 20 74 This means t
000110: 68 61 74 0D 0A 20 20 20 20 20 20 20 6D 6F 72 65 hat.. more
000120: 20 74 68 61 6E 20 6F 6E 65 20 70 6F 69 6E 74 20 than one point
000130: 6F 6E 20 74 68 65 20 69 64 65 61 6C 20 73 63 72 on the ideal scr
000140: 65 65 6E 20 77 69 6C 6C 20 20 6D 61 70 20 20 6F een will map o
000150: 6E 74 6F 20 20 61 20 20 70 61 72 74 69 63 75 6C nto a particul
000160: 61 72 0D 0A 20 20 20 20 20 20 20 70 69 78 65 6C ar.. pixel
000170: 20 6F 6E 20 74 68 65 20 72 65 61 6C 20 73 63 72 on the real scr
000180: 65 65 6E 2E 20 54 68 65 20 77 69 64 74 68 20 6F een. The width o
000190: 66 20 74 68 65 20 69 64 65 61 6C 20 73 63 72 65 f the ideal scre
0001A0: 65 6E 20 20 28 36 34 30 20 20 70 6F 69 6E 74 73 en (640 points
0001B0: 29 0D 0A 20 20 20 20 20 20 20 69 73 20 63 68 6F ).. is cho
0001C0: 73 65 6E 20 74 6F 20 62 65 20 74 68 65 20 68 6F sen to be the ho
0001D0: 72 69 7A 6F 6E 74 61 6C 20 6E 75 6D 62 65 72 20 rizontal number
0001E0: 6F 66 20 70 69 78 65 6C 73 20 6F 6E 20 74 68 65 of pixels on the
0001F0: 20 73 63 72 65 65 6E 20 20 69 6E 20 20 74 68 65 screen in the
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 68 69 67 68 65 73 74 .. highest
000010: 20 72 65 73 6F 6C 75 74 69 6F 6E 20 6D 6F 64 65 resolution mode
000020: 20 28 6D 6F 64 65 20 32 29 2E 20 54 68 65 20 68 (mode 2). The h
000030: 65 69 67 68 74 20 6F 66 20 74 68 65 20 69 64 65 eight of the ide
000040: 61 6C 20 73 63 72 65 65 6E 20 20 28 34 30 30 0D al screen (400.
000050: 0A 20 20 20 20 20 20 20 70 6F 69 6E 74 73 29 20 . points)
000060: 69 73 20 63 68 6F 73 65 6E 20 74 6F 20 62 65 20 is chosen to be
000070: 74 77 69 63 65 20 74 68 65 20 76 65 72 74 69 63 twice the vertic
000080: 61 6C 20 6E 75 6D 62 65 72 20 20 6F 66 20 20 70 al number of p
000090: 69 78 65 6C 73 20 20 6F 6E 20 20 74 68 65 0D 0A ixels on the..
0000A0: 20 20 20 20 20 20 20 73 63 72 65 65 6E 20 69 6E screen in
0000B0: 20 61 6C 6C 20 6D 6F 64 65 73 2E 20 54 68 69 73 all modes. This
0000C0: 20 65 6E 73 75 72 65 73 20 74 68 61 74 20 74 68 ensures that th
0000D0: 65 20 61 73 70 65 63 74 20 72 61 74 69 6F 20 6F e aspect ratio o
0000E0: 66 20 74 68 65 20 20 73 63 72 65 65 6E 0D 0A 20 f the screen..
0000F0: 20 20 20 20 20 20 69 73 20 20 61 70 70 72 6F 78 is approx
000100: 69 6D 61 74 65 6C 79 20 20 75 6E 69 74 79 2C 20 imately unity,
000110: 20 69 2E 65 2E 20 20 61 20 20 63 69 72 63 6C 65 i.e. a circle
000120: 20 20 6C 6F 6F 6B 73 20 20 63 69 72 63 75 6C 61 looks circula
000130: 72 20 20 61 6E 64 20 20 20 6E 6F 74 0D 0A 20 20 r and not..
000140: 20 20 20 20 20 65 6C 6C 69 70 74 69 63 61 6C 2E elliptical.
000150: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 35 2E 31 ...... 5.1
000160: 20 47 72 61 70 68 69 63 73 20 56 44 55 20 43 6F Graphics VDU Co
000170: 6F 72 64 69 6E 61 74 65 20 53 79 73 74 65 6D 73 ordinate Systems
000180: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
000190: 47 72 61 70 68 69 63 73 20 20 56 44 55 20 20 75 Graphics VDU u
0001A0: 73 65 73 20 20 34 20 20 63 6F 6F 72 64 69 6E 61 ses 4 coordina
0001B0: 74 65 20 20 73 79 73 74 65 6D 73 2E 20 20 54 68 te systems. Th
0001C0: 65 20 20 75 73 65 72 20 20 73 70 65 63 69 66 69 e user specifi
0001D0: 65 73 0D 0A 20 20 20 20 20 20 20 70 6F 73 69 74 es.. posit
0001E0: 69 6F 6E 73 20 69 6E 20 75 73 65 72 20 63 6F 6F ions in user coo
0001F0: 72 64 69 6E 61 74 65 73 20 6F 72 20 72 65 6C 61 rdinates or rela
Size : 512 (Real : 512)
000000: 74 69 76 65 20 63 6F 6F 72 64 69 6E 61 74 65 73 tive coordinates
000010: 20 6F 72 20 20 6F 63 63 61 73 69 6F 6E 61 6C 6C or occasionall
000020: 79 0D 0A 20 20 20 20 20 20 20 69 6E 20 20 73 74 y.. in st
000030: 61 6E 64 61 72 64 20 20 63 6F 6F 72 64 69 6E 61 andard coordina
000040: 74 65 73 2E 20 20 49 6E 74 65 72 6E 61 6C 6C 79 tes. Internally
000050: 20 20 74 68 65 20 20 47 72 61 70 68 69 63 73 20 the Graphics
000060: 20 56 44 55 20 20 75 73 65 73 20 20 62 61 73 65 VDU uses base
000070: 0D 0A 20 20 20 20 20 20 20 63 6F 6F 72 64 69 6E .. coordin
000080: 61 74 65 73 20 28 6F 72 20 6F 63 63 61 73 69 6F ates (or occasio
000090: 6E 61 6C 6C 79 20 73 74 61 6E 64 61 72 64 20 63 nally standard c
0000A0: 6F 6F 72 64 69 6E 61 74 65 73 29 2E 0D 0A 0D 0A oordinates).....
0000B0: 20 20 20 20 20 20 20 55 73 65 72 20 63 6F 6F 72 User coor
0000C0: 64 69 6E 61 74 65 73 2C 20 72 65 6C 61 74 69 76 dinates, relativ
0000D0: 65 20 63 6F 6F 72 64 69 6E 61 74 65 73 2C 20 61 e coordinates, a
0000E0: 6E 64 20 73 74 61 6E 64 61 72 64 20 20 63 6F 6F nd standard coo
0000F0: 72 64 69 6E 61 74 65 73 20 20 61 72 65 0D 0A 20 rdinates are..
000100: 20 20 20 20 20 20 61 6C 6C 20 76 65 72 79 20 73 all very s
000110: 69 6D 69 6C 61 72 2E 20 54 68 65 79 20 61 6C 6C imilar. They all
000120: 20 75 73 65 20 31 36 20 62 69 74 20 6E 75 6D 62 use 16 bit numb
000130: 65 72 73 20 61 6E 64 20 77 6F 72 6B 20 6F 6E 20 ers and work on
000140: 70 6F 69 6E 74 73 20 20 77 69 74 68 0D 0A 20 20 points with..
000150: 20 20 20 20 20 58 2D 63 6F 6F 72 64 69 6E 61 74 X-coordinat
000160: 65 73 20 72 75 6E 6E 69 6E 67 20 6C 65 66 74 20 es running left
000170: 74 6F 20 72 69 67 68 74 20 61 6E 64 20 59 2D 63 to right and Y-c
000180: 6F 6F 72 64 69 6E 61 74 65 73 20 20 72 75 6E 6E oordinates runn
000190: 69 6E 67 20 20 62 6F 74 74 6F 6D 0D 0A 20 20 20 ing bottom..
0001A0: 20 20 20 20 74 6F 20 74 6F 70 2E 20 54 68 65 20 to top. The
0001B0: 73 63 72 65 65 6E 20 69 73 20 61 6C 77 61 79 73 screen is always
0001C0: 20 34 30 30 20 20 70 6F 69 6E 74 73 20 20 68 69 400 points hi
0001D0: 67 68 20 20 61 6E 64 20 20 36 34 30 20 20 70 6F gh and 640 po
0001E0: 69 6E 74 73 20 20 77 69 64 65 0D 0A 20 20 20 20 ints wide..
0001F0: 20 20 20 77 68 61 74 65 76 65 72 20 74 68 65 20 whatever the
Size : 512 (Real : 512)
000000: 73 63 72 65 65 6E 20 6D 6F 64 65 2E 20 54 68 69 screen mode. Thi
000010: 73 20 6D 65 61 6E 73 20 74 68 61 74 20 61 20 70 s means that a p
000020: 69 78 65 6C 20 28 64 6F 74 20 6F 6E 20 74 68 65 ixel (dot on the
000030: 20 20 73 63 72 65 65 6E 29 0D 0A 20 20 20 20 20 screen)..
000040: 20 20 69 73 20 6D 61 70 70 65 64 20 6F 6E 74 6F is mapped onto
000050: 20 62 79 20 38 20 70 6F 69 6E 74 73 20 69 6E 20 by 8 points in
000060: 6D 6F 64 65 20 30 2C 20 34 20 70 6F 69 6E 74 73 mode 0, 4 points
000070: 20 69 6E 20 6D 6F 64 65 20 31 20 61 6E 64 20 32 in mode 1 and 2
000080: 20 20 70 6F 69 6E 74 73 0D 0A 20 20 20 20 20 20 points..
000090: 20 69 6E 20 6D 6F 64 65 20 32 2E 20 54 68 65 20 in mode 2. The
0000A0: 6F 72 69 67 69 6E 20 28 63 6F 6F 72 64 69 6E 61 origin (coordina
0000B0: 74 65 20 28 30 2C 30 29 29 20 6F 66 20 74 68 65 te (0,0)) of the
0000C0: 73 65 20 73 79 73 74 65 6D 73 20 76 61 72 79 3A se systems vary:
0000D0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 ......
0000E0: 20 20 20 20 20 20 49 6E 20 73 74 61 6E 64 61 72 In standar
0000F0: 64 20 63 6F 6F 72 64 69 6E 61 74 65 73 20 74 68 d coordinates th
000100: 65 20 6F 72 69 67 69 6E 20 69 73 20 74 68 65 20 e origin is the
000110: 70 6F 69 6E 74 20 61 74 20 74 68 65 20 62 6F 74 point at the bot
000120: 74 6F 6D 0D 0A 20 20 20 20 20 20 20 20 20 20 20 tom..
000130: 20 20 20 20 20 6C 65 66 74 20 63 6F 72 6E 65 72 left corner
000140: 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 2E 0D of the screen..
000150: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 ...
000160: 20 20 20 54 68 65 20 6F 72 69 67 69 6E 20 6F 66 The origin of
000170: 20 75 73 65 72 20 63 6F 6F 72 64 69 6E 61 74 65 user coordinate
000180: 73 20 63 61 6E 20 62 65 20 73 65 74 20 62 79 20 s can be set by
000190: 20 74 68 65 20 20 75 73 65 72 2E 20 20 54 68 65 the user. The
0001A0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0001B0: 20 20 64 65 66 61 75 6C 74 20 6F 72 69 67 69 6E default origin
0001C0: 20 69 73 20 61 74 20 74 68 65 20 62 6F 74 74 6F is at the botto
0001D0: 6D 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 20 6F m left corner o
0001E0: 66 20 20 74 68 65 20 20 73 63 72 65 65 6E 2E 0D f the screen..
0001F0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
Size : 512 (Real : 512)
000000: 20 54 68 69 73 20 6D 61 6B 65 20 74 68 65 20 20 This make the
000010: 64 65 66 61 75 6C 74 20 20 75 73 65 72 20 20 63 default user c
000020: 6F 6F 72 64 69 6E 61 74 65 73 20 20 74 68 65 20 oordinates the
000030: 20 73 61 6D 65 20 20 61 73 20 20 74 68 65 0D 0A same as the..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 73 74 61 6E 64 61 72 64 20 63 6F 6F 72 64 69 6E standard coordin
000060: 61 74 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 ates.....
000070: 20 20 20 20 20 20 20 20 20 54 68 65 20 6F 72 69 The ori
000080: 67 69 6E 20 6F 66 20 72 65 6C 61 74 69 76 65 20 gin of relative
000090: 63 6F 6F 72 64 69 6E 61 74 65 73 20 69 73 20 20 coordinates is
0000A0: 74 68 65 20 20 63 75 72 72 65 6E 74 20 20 70 6F the current po
0000B0: 73 69 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 20 sition..
0000C0: 20 20 20 20 20 20 20 20 28 73 65 65 20 35 2E 32 (see 5.2
0000D0: 20 62 65 6C 6F 77 29 2E 20 54 68 69 73 20 20 61 below). This a
0000E0: 6C 6C 6F 77 73 20 20 70 6C 6F 74 74 69 6E 67 20 llows plotting
0000F0: 20 74 6F 20 20 62 65 20 20 63 61 72 72 69 65 64 to be carried
000100: 20 20 6F 75 74 0D 0A 20 20 20 20 20 20 20 20 20 out..
000110: 20 20 20 20 20 20 20 69 6E 64 65 70 65 6E 64 65 independe
000120: 6E 74 6C 79 20 6F 66 20 74 68 65 20 70 6F 73 69 ntly of the posi
000130: 74 69 6F 6E 20 6F 6E 20 74 68 65 20 73 63 72 65 tion on the scre
000140: 65 6E 20 61 6E 64 20 69 73 20 75 73 65 66 75 6C en and is useful
000150: 20 20 69 66 0D 0A 20 20 20 20 20 20 20 20 20 20 if..
000160: 20 20 20 20 20 20 61 20 70 61 72 74 69 63 75 6C a particul
000170: 61 72 20 73 68 61 70 65 20 69 73 20 74 6F 20 62 ar shape is to b
000180: 65 20 72 65 70 65 61 74 65 64 20 6F 6E 20 74 68 e repeated on th
000190: 65 20 73 63 72 65 65 6E 20 20 61 20 20 6E 75 6D e screen a num
0001A0: 62 65 72 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ber..
0001B0: 20 20 20 20 20 6F 66 20 74 69 6D 65 73 20 6F 72 of times or
0001C0: 20 69 66 20 69 74 20 20 69 73 20 20 69 6E 63 6F if it is inco
0001D0: 6E 76 65 6E 69 65 6E 74 20 20 74 6F 20 20 6B 65 nvenient to ke
0001E0: 65 70 20 20 74 72 61 63 6B 20 20 6F 66 20 20 74 ep track of t
0001F0: 68 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 he..
Size : 512 (Real : 512)
000000: 20 20 20 20 63 75 72 72 65 6E 74 20 6C 6F 63 61 current loca
000010: 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 tion.......
000020: 20 20 42 61 73 65 20 63 6F 6F 72 64 69 6E 61 74 Base coordinat
000030: 65 73 20 61 72 65 20 61 20 70 68 79 73 69 63 61 es are a physica
000040: 6C 20 63 6F 6F 72 64 69 6E 61 74 65 20 20 73 79 l coordinate sy
000050: 73 74 65 6D 20 20 77 68 69 63 68 20 20 64 65 61 stem which dea
000060: 6C 73 20 20 77 69 74 68 0D 0A 20 20 20 20 20 20 ls with..
000070: 20 70 69 78 65 6C 73 2E 20 58 2D 63 6F 6F 72 64 pixels. X-coord
000080: 69 6E 61 74 65 73 20 72 75 6E 20 6C 65 66 74 20 inates run left
000090: 74 6F 20 72 69 67 68 74 20 61 6E 64 20 59 2D 63 to right and Y-c
0000A0: 6F 6F 72 64 69 6E 61 74 65 73 20 20 72 75 6E 20 oordinates run
0000B0: 20 62 6F 74 74 6F 6D 0D 0A 20 20 20 20 20 20 20 bottom..
0000C0: 74 6F 20 74 6F 70 2E 20 50 69 78 65 6C 20 28 30 to top. Pixel (0
0000D0: 2C 30 29 20 69 73 20 74 68 65 20 70 69 78 65 6C ,0) is the pixel
0000E0: 20 61 74 20 74 68 65 20 20 62 6F 74 74 6F 6D 20 at the bottom
0000F0: 20 6C 65 66 74 20 20 63 6F 72 6E 65 72 20 20 6F left corner o
000100: 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 73 f the.. s
000110: 63 72 65 65 6E 2E 20 42 65 63 61 75 73 65 20 74 creen. Because t
000120: 68 69 73 20 63 6F 6F 72 64 69 6E 61 74 65 20 73 his coordinate s
000130: 79 73 74 65 6D 20 77 6F 72 6B 73 20 69 6E 20 70 ystem works in p
000140: 69 78 65 6C 73 20 74 68 65 20 63 6F 6F 72 64 69 ixels the coordi
000150: 6E 61 74 65 73 0D 0A 20 20 20 20 20 20 20 6F 66 nates.. of
000160: 20 20 70 6F 73 69 74 69 6F 6E 73 20 20 6F 6E 20 positions on
000170: 20 74 68 65 20 20 73 63 72 65 65 6E 20 20 64 65 the screen de
000180: 70 65 6E 64 20 20 75 70 6F 6E 20 20 74 68 65 20 pend upon the
000190: 20 73 63 72 65 65 6E 20 20 6D 6F 64 65 2E 20 20 screen mode.
0001A0: 42 61 73 65 0D 0A 20 20 20 20 20 20 20 63 6F 6F Base.. coo
0001B0: 72 64 69 6E 61 74 65 73 20 61 72 65 20 75 6E 73 rdinates are uns
0001C0: 69 67 6E 65 64 20 31 36 20 62 69 74 20 20 6E 75 igned 16 bit nu
0001D0: 6D 62 65 72 73 20 20 61 6E 64 20 20 6F 6E 6C 79 mbers and only
0001E0: 20 20 63 6F 6F 72 64 69 6E 61 74 65 73 20 20 74 coordinates t
0001F0: 68 61 74 0D 0A 20 20 20 20 20 20 20 72 65 66 65 hat.. refe
Size : 512 (Real : 512)
000000: 72 20 74 6F 20 61 20 70 69 78 65 6C 20 6F 6E 20 r to a pixel on
000010: 74 68 65 20 73 63 72 65 65 6E 20 61 72 65 20 76 the screen are v
000020: 61 6C 69 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 alid.......
000030: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
000040: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
000050: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 70 61 67 65 20 35 2E 31 0D 0A 0D 0A 0D 0A 0D 0A page 5.1........
000080: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 47 72 61 ...... Gra
000090: 70 68 69 63 73 20 20 72 6F 75 74 69 6E 65 73 20 phics routines
0000A0: 20 63 6F 6E 76 65 72 74 20 20 66 72 6F 6D 20 20 convert from
0000B0: 20 72 65 6C 61 74 69 76 65 20 20 20 63 6F 6F 72 relative coor
0000C0: 64 69 6E 61 74 65 73 20 20 20 74 6F 20 20 20 75 dinates to u
0000D0: 73 65 72 0D 0A 20 20 20 20 20 20 20 63 6F 6F 72 ser.. coor
0000E0: 64 69 6E 61 74 65 73 2C 20 69 66 20 6E 65 63 65 dinates, if nece
0000F0: 73 73 61 72 79 2C 20 61 6E 64 20 74 68 65 6E 20 ssary, and then
000100: 20 66 72 6F 6D 20 20 75 73 65 72 20 20 63 6F 6F from user coo
000110: 72 64 69 6E 61 74 65 73 20 20 74 6F 20 20 62 61 rdinates to ba
000120: 73 65 0D 0A 20 20 20 20 20 20 20 63 6F 6F 72 64 se.. coord
000130: 69 6E 61 74 65 73 20 62 65 66 6F 72 65 20 61 63 inates before ac
000140: 63 65 73 73 69 6E 67 20 74 68 65 20 70 68 79 73 cessing the phys
000150: 69 63 61 6C 20 73 63 72 65 65 6E 2E 20 20 44 75 ical screen. Du
000160: 72 69 6E 67 20 20 74 68 65 20 20 6C 61 74 74 65 ring the latte
000170: 72 0D 0A 20 20 20 20 20 20 20 63 6F 6E 76 65 72 r.. conver
000180: 73 69 6F 6E 20 74 68 65 72 65 20 69 73 20 61 20 sion there is a
000190: 6C 6F 73 73 20 6F 66 20 20 61 63 63 75 72 61 63 loss of accurac
0001A0: 79 20 20 62 65 63 61 75 73 65 20 20 6F 66 20 20 y because of
0001B0: 74 68 65 20 20 6D 61 70 70 69 6E 67 20 20 6F 66 the mapping of
0001C0: 0D 0A 20 20 20 20 20 20 20 6D 75 6C 74 69 70 6C .. multipl
0001D0: 65 20 70 6F 69 6E 74 73 20 6F 6E 74 6F 20 61 20 e points onto a
0001E0: 73 69 6E 67 6C 65 20 70 69 78 65 6C 2E 20 54 68 single pixel. Th
0001F0: 69 73 20 63 6F 75 6C 64 20 6D 61 6B 65 20 73 68 is could make sh
Size : 512 (Real : 512)
000000: 61 70 65 73 20 20 64 72 61 77 6E 20 20 6F 6E 0D apes drawn on.
000010: 0A 20 20 20 20 20 20 20 74 68 65 20 73 63 72 65 . the scre
000020: 65 6E 20 61 70 70 65 61 72 20 61 73 79 6D 6D 65 en appear asymme
000030: 74 72 69 63 61 6C 20 28 70 61 72 74 69 63 75 6C trical (particul
000040: 61 72 6C 79 20 63 69 72 63 6C 65 73 29 20 62 75 arly circles) bu
000050: 74 20 74 68 65 20 47 72 61 70 68 69 63 73 0D 0A t the Graphics..
000060: 20 20 20 20 20 20 20 56 44 55 20 61 76 6F 69 64 VDU avoid
000070: 73 20 74 68 69 73 20 62 79 20 72 6F 75 6E 64 69 s this by roundi
000080: 6E 67 20 74 68 65 20 63 6F 6F 72 64 69 6E 61 74 ng the coordinat
000090: 65 73 20 74 6F 77 61 72 64 73 20 74 68 65 20 20 es towards the
0000A0: 75 73 65 72 20 20 6F 72 69 67 69 6E 2E 0D 0A 0D user origin....
0000B0: 0A 20 20 20 20 20 20 20 54 68 75 73 20 73 79 6D . Thus sym
0000C0: 6D 65 74 72 69 63 61 6C 20 73 68 61 70 65 73 20 metrical shapes
0000D0: 73 68 6F 75 6C 64 20 62 65 20 64 72 61 77 6E 20 should be drawn
0000E0: 73 79 6D 6D 65 74 72 69 63 61 6C 6C 79 20 61 62 symmetrically ab
0000F0: 6F 75 74 20 20 74 68 65 20 20 75 73 65 72 0D 0A out the user..
000100: 20 20 20 20 20 20 20 6F 72 69 67 69 6E 20 74 6F origin to
000110: 20 74 61 6B 65 20 61 64 76 61 6E 74 61 67 65 20 take advantage
000120: 6F 66 20 74 68 65 20 72 6F 75 6E 64 69 6E 67 2E of the rounding.
000130: 20 49 66 20 74 68 65 20 73 68 61 70 65 20 69 73 If the shape is
000140: 20 6E 6F 74 20 20 63 65 6E 74 72 65 64 0D 0A 20 not centred..
000150: 20 20 20 20 20 20 6F 6E 20 74 68 65 20 75 73 65 on the use
000160: 72 20 6F 72 69 67 69 6E 20 74 68 65 6E 20 74 68 r origin then th
000170: 65 20 61 73 79 6D 6D 65 74 72 79 20 6D 61 79 20 e asymmetry may
000180: 72 65 61 70 70 65 61 72 2E 0D 0A 0D 0A 20 20 20 reappear.....
000190: 20 20 20 20 49 6E 20 56 31 2E 31 20 66 69 72 6D In V1.1 firm
0001A0: 77 61 72 65 20 69 74 20 69 73 20 70 6F 73 73 69 ware it is possi
0001B0: 62 6C 65 20 74 6F 20 63 61 6C 6C 20 47 52 41 20 ble to call GRA
0001C0: 46 52 4F 4D 20 55 53 45 52 20 74 6F 20 63 6F 6E FROM USER to con
0001D0: 76 65 72 74 20 20 66 72 6F 6D 0D 0A 20 20 20 20 vert from..
0001E0: 20 20 20 75 73 65 72 20 74 6F 20 62 61 73 65 20 user to base
0001F0: 63 6F 6F 72 64 69 6E 61 74 65 73 20 2D 20 74 68 coordinates - th
Size : 512 (Real : 512)
000000: 69 73 20 77 69 6C 6C 20 6D 61 6B 65 20 75 73 69 is will make usi
000010: 6E 67 20 72 6F 75 74 69 6E 65 73 20 69 6E 20 74 ng routines in t
000020: 68 65 20 20 6C 6F 77 65 72 0D 0A 20 20 20 20 20 he lower..
000030: 20 20 6C 65 76 65 6C 20 73 63 72 65 65 6E 20 70 level screen p
000040: 61 63 6B 20 65 61 73 69 65 72 20 28 65 2E 67 2E ack easier (e.g.
000050: 20 53 43 52 20 44 4F 54 20 50 4F 53 49 54 49 4F SCR DOT POSITIO
000060: 4E 2C 20 53 43 52 20 20 48 4F 52 49 5A 4F 4E 54 N, SCR HORIZONT
000070: 41 4C 2C 20 20 53 43 52 0D 0A 20 20 20 20 20 20 AL, SCR..
000080: 20 56 45 52 54 49 43 41 4C 29 2E 0D 0A 0D 0A 20 VERTICAL).....
000090: 20 20 20 20 20 20 35 2E 32 20 54 68 65 20 43 75 5.2 The Cu
0000A0: 72 72 65 6E 74 20 47 72 61 70 68 69 63 73 20 50 rrent Graphics P
0000B0: 6F 73 69 74 69 6F 6E 2E 0D 0A 0D 0A 20 20 20 20 osition.....
0000C0: 20 20 20 54 68 65 20 20 47 72 61 70 68 69 63 73 The Graphics
0000D0: 20 20 56 44 55 20 20 73 74 6F 72 65 73 20 20 61 VDU stores a
0000E0: 20 20 63 75 72 72 65 6E 74 20 20 70 6F 73 69 74 current posit
0000F0: 69 6F 6E 2E 20 20 54 68 69 73 20 20 69 73 20 20 ion. This is
000100: 74 68 65 20 20 75 73 65 72 0D 0A 20 20 20 20 20 the user..
000110: 20 20 63 6F 6F 72 64 69 6E 61 74 65 20 6F 66 20 coordinate of
000120: 74 68 65 20 6C 61 73 74 20 70 6F 69 6E 74 20 73 the last point s
000130: 70 65 63 69 66 69 65 64 20 74 6F 20 74 68 65 20 pecified to the
000140: 20 47 72 61 70 68 69 63 73 20 20 56 44 55 20 20 Graphics VDU
000150: 28 6F 72 20 20 74 68 65 0D 0A 20 20 20 20 20 20 (or the..
000160: 20 6F 72 69 67 69 6E 20 61 66 74 65 72 20 63 6C origin after cl
000170: 65 61 72 69 6E 67 20 74 68 65 20 67 72 61 70 68 earing the graph
000180: 69 63 73 20 77 69 6E 64 6F 77 29 2E 20 20 54 68 ics window). Th
000190: 65 20 20 6F 72 69 67 69 6E 20 20 6F 66 20 20 72 e origin of r
0001A0: 65 6C 61 74 69 76 65 0D 0A 20 20 20 20 20 20 20 elative..
0001B0: 63 6F 6F 72 64 69 6E 61 74 65 73 20 20 69 73 20 coordinates is
0001C0: 20 73 70 65 63 69 66 69 65 64 20 20 74 6F 20 20 specified to
0001D0: 62 65 20 20 61 74 20 20 74 68 69 73 20 20 70 6F be at this po
0001E0: 69 6E 74 2C 20 20 20 74 68 75 73 20 20 20 72 65 int, thus re
0001F0: 6C 61 74 69 76 65 0D 0A 20 20 20 20 20 20 20 63 lative.. c
Size : 512 (Real : 512)
000000: 6F 6F 72 64 69 6E 61 74 65 73 20 61 72 65 20 61 oordinates are a
000010: 6E 20 6F 66 66 73 65 74 20 66 72 6F 6D 20 74 68 n offset from th
000020: 65 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 69 e current positi
000030: 6F 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 57 68 on..... Wh
000040: 65 6E 20 64 72 61 77 69 6E 67 20 61 20 6C 69 6E en drawing a lin
000050: 65 20 6F 6E 65 20 65 6E 64 20 69 73 20 61 74 20 e one end is at
000060: 74 68 65 20 20 70 6F 73 69 74 69 6F 6E 20 20 73 the position s
000070: 70 65 63 69 66 69 65 64 20 20 77 68 69 6C 65 20 pecified while
000080: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 6F 74 68 the.. oth
000090: 65 72 20 65 6E 64 20 20 69 73 20 20 61 74 20 20 er end is at
0000A0: 74 68 65 20 20 63 75 72 72 65 6E 74 20 20 67 72 the current gr
0000B0: 61 70 68 69 63 73 20 20 70 6F 73 69 74 69 6F 6E aphics position
0000C0: 2E 20 20 57 68 65 6E 20 20 64 72 61 77 69 6E 67 . When drawing
0000D0: 20 20 61 0D 0A 20 20 20 20 20 20 20 63 68 61 72 a.. char
0000E0: 61 63 74 65 72 20 6F 6E 20 74 68 65 20 73 63 72 acter on the scr
0000F0: 65 65 6E 20 75 73 69 6E 67 20 74 68 65 20 67 72 een using the gr
000100: 61 70 68 69 63 73 20 63 68 61 72 61 63 74 65 72 aphics character
000110: 20 77 72 69 74 65 20 72 6F 75 74 69 6E 65 20 74 write routine t
000120: 68 65 0D 0A 20 20 20 20 20 20 20 63 68 61 72 61 he.. chara
000130: 63 74 65 72 20 69 73 20 70 6C 61 63 65 64 20 77 cter is placed w
000140: 69 74 68 20 74 68 65 20 63 75 72 72 65 6E 74 20 ith the current
000150: 67 72 61 70 68 69 63 73 20 20 20 70 6F 73 69 74 graphics posit
000160: 69 6F 6E 20 20 20 62 65 69 6E 67 20 20 20 74 68 ion being th
000170: 65 0D 0A 20 20 20 20 20 20 20 74 6F 70 20 6C 65 e.. top le
000180: 66 74 20 63 6F 72 6E 65 72 20 6F 66 20 74 68 65 ft corner of the
000190: 20 63 68 61 72 61 63 74 65 72 2E 0D 0A 0D 0A 20 character.....
0001A0: 20 20 20 20 20 20 41 66 74 65 72 20 70 6C 6F 74 After plot
0001B0: 74 69 6E 67 20 6F 72 20 74 65 73 74 69 6E 67 20 ting or testing
0001C0: 61 20 20 70 6F 69 6E 74 20 20 6F 72 20 20 64 72 a point or dr
0001D0: 61 77 69 6E 67 20 20 61 20 20 6C 69 6E 65 20 20 awing a line
0001E0: 74 68 65 20 20 63 75 72 72 65 6E 74 0D 0A 20 20 the current..
0001F0: 20 20 20 20 20 70 6F 73 69 74 69 6F 6E 20 69 73 position is
Size : 512 (Real : 512)
000000: 20 6D 6F 76 65 64 20 74 6F 20 74 68 65 20 70 6F moved to the po
000010: 73 69 74 69 6F 6E 20 73 70 65 63 69 66 69 65 64 sition specified
000020: 2E 20 41 66 74 65 72 20 77 72 69 74 69 6E 67 20 . After writing
000030: 61 20 63 68 61 72 61 63 74 65 72 0D 0A 20 20 20 a character..
000040: 20 20 20 20 74 68 65 20 63 75 72 72 65 6E 74 20 the current
000050: 67 72 61 70 68 69 63 73 20 70 6F 73 69 74 69 6F graphics positio
000060: 6E 20 69 73 20 6D 6F 76 65 64 20 20 72 69 67 68 n is moved righ
000070: 74 20 20 62 79 20 20 74 68 65 20 20 77 69 64 74 t by the widt
000080: 68 20 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 h of the..
000090: 20 20 20 63 68 61 72 61 63 74 65 72 20 72 65 61 character rea
0000A0: 64 79 20 66 6F 72 20 74 68 65 20 6E 65 78 74 20 dy for the next
0000B0: 63 68 61 72 61 63 74 65 72 20 74 6F 20 62 65 20 character to be
0000C0: 77 72 69 74 74 65 6E 2E 0D 0A 0D 0A 20 20 20 20 written.....
0000D0: 20 20 20 35 2E 33 20 47 72 61 70 68 69 63 73 20 5.3 Graphics
0000E0: 50 65 6E 20 61 6E 64 20 50 61 70 65 72 20 49 6E Pen and Paper In
0000F0: 6B 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 ks.......
000100: 54 68 65 20 47 72 61 70 68 69 63 73 20 56 44 55 The Graphics VDU
000110: 20 68 61 73 20 61 20 70 65 6E 20 28 66 6F 72 65 has a pen (fore
000120: 67 72 6F 75 6E 64 29 20 69 6E 6B 20 61 6E 64 20 ground) ink and
000130: 61 20 20 70 61 70 65 72 20 20 28 62 61 63 6B 67 a paper (backg
000140: 72 6F 75 6E 64 29 0D 0A 20 20 20 20 20 20 20 69 round).. i
000150: 6E 6B 2E 20 54 68 65 20 67 72 61 70 68 69 63 73 nk. The graphics
000160: 20 70 65 6E 20 69 6E 6B 20 69 73 20 75 73 65 64 pen ink is used
000170: 20 74 6F 20 70 6C 6F 74 20 70 69 78 65 6C 73 20 to plot pixels
000180: 61 6E 64 20 74 6F 20 73 65 74 20 66 6F 72 65 67 and to set foreg
000190: 72 6F 75 6E 64 0D 0A 20 20 20 20 20 20 20 70 69 round.. pi
0001A0: 78 65 6C 73 20 77 68 65 6E 20 77 72 69 74 69 6E xels when writin
0001B0: 67 20 63 68 61 72 61 63 74 65 72 73 20 28 73 65 g characters (se
0001C0: 65 20 35 2E 36 20 62 65 6C 6F 77 29 20 61 6E 64 e 5.6 below) and
0001D0: 20 64 72 61 77 69 6E 67 20 6C 69 6E 65 73 20 20 drawing lines
0001E0: 28 73 65 65 0D 0A 20 20 20 20 20 20 20 35 2E 37 (see.. 5.7
0001F0: 20 62 65 6C 6F 77 29 2E 20 54 68 65 20 67 72 61 below). The gra
Size : 512 (Real : 512)
000000: 70 68 69 63 73 20 70 61 70 65 72 20 69 6E 6B 20 phics paper ink
000010: 20 69 73 20 20 75 73 65 64 20 20 74 6F 20 20 63 is used to c
000020: 6C 65 61 72 20 20 74 68 65 20 20 67 72 61 70 68 lear the graph
000030: 69 63 73 0D 0A 20 20 20 20 20 20 20 77 69 6E 64 ics.. wind
000040: 6F 77 20 61 6E 64 20 74 6F 20 73 65 74 20 62 61 ow and to set ba
000050: 63 6B 67 72 6F 75 6E 64 20 70 69 78 65 6C 73 20 ckground pixels
000060: 77 68 65 6E 20 77 72 69 74 69 6E 67 20 63 68 61 when writing cha
000070: 72 61 63 74 65 72 73 20 6F 72 20 64 72 61 77 69 racters or drawi
000080: 6E 67 0D 0A 20 20 20 20 20 20 20 6C 69 6E 65 73 ng.. lines
000090: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
0000A0: 70 65 6E 20 61 6E 64 20 70 61 70 65 72 20 63 61 pen and paper ca
0000B0: 6E 20 62 65 20 73 65 74 20 74 6F 20 61 6E 79 20 n be set to any
0000C0: 69 6E 6B 20 76 61 6C 69 64 20 69 6E 20 20 74 68 ink valid in th
0000D0: 65 20 20 63 75 72 72 65 6E 74 20 20 73 63 72 65 e current scre
0000E0: 65 6E 0D 0A 20 20 20 20 20 20 20 6D 6F 64 65 20 en.. mode
0000F0: 28 73 65 65 20 73 65 63 74 69 6F 6E 20 36 2E 32 (see section 6.2
000100: 29 2E 20 54 68 65 20 64 65 66 61 75 6C 74 20 68 ). The default h
000110: 61 73 20 74 68 65 20 70 61 70 65 72 20 73 65 74 as the paper set
000120: 20 74 6F 20 69 6E 6B 20 30 20 61 6E 64 20 74 68 to ink 0 and th
000130: 65 0D 0A 20 20 20 20 20 20 20 70 65 6E 20 73 65 e.. pen se
000140: 74 20 74 6F 20 69 6E 6B 20 31 2E 20 43 68 61 6E t to ink 1. Chan
000150: 67 69 6E 67 20 74 68 65 20 70 65 6E 20 6F 72 20 ging the pen or
000160: 70 61 70 65 72 20 69 6E 6B 20 64 6F 65 73 20 20 paper ink does
000170: 6E 6F 74 20 20 63 68 61 6E 67 65 20 20 74 68 65 not change the
000180: 0D 0A 20 20 20 20 20 20 20 73 63 72 65 65 6E 20 .. screen
000190: 69 74 20 6D 65 72 65 6C 79 20 61 6C 74 65 72 73 it merely alters
0001A0: 20 68 6F 77 20 74 68 65 20 70 69 78 65 6C 73 20 how the pixels
0001B0: 77 69 6C 6C 20 62 65 20 77 72 69 74 74 65 6E 20 will be written
0001C0: 69 6E 20 74 68 65 20 66 75 74 75 72 65 2E 0D 0A in the future...
0001D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 35 2E 34 20 47 .... 5.4 G
0001E0: 72 61 70 68 69 63 73 20 57 72 69 74 65 20 4D 6F raphics Write Mo
0001F0: 64 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 50 69 de..... Pi
Size : 512 (Real : 512)
000000: 78 65 6C 73 20 70 6C 6F 74 74 65 64 20 62 79 20 xels plotted by
000010: 74 68 65 20 47 72 61 70 68 69 63 73 20 20 56 44 the Graphics VD
000020: 55 20 20 61 72 65 20 20 70 6C 6F 74 74 65 64 20 U are plotted
000030: 20 75 73 69 6E 67 20 20 74 68 65 20 20 63 75 72 using the cur
000040: 72 65 6E 74 0D 0A 20 20 20 20 20 20 20 67 72 61 rent.. gra
000050: 70 68 69 63 73 20 77 72 69 74 65 20 20 6D 6F 64 phics write mod
000060: 65 2E 20 20 54 68 69 73 20 20 73 70 65 63 69 66 e. This specif
000070: 69 65 73 20 20 68 6F 77 20 20 74 68 65 20 20 69 ies how the i
000080: 6E 6B 20 20 74 6F 20 20 62 65 20 20 70 6C 6F 74 nk to be plot
000090: 74 65 64 0D 0A 20 20 20 20 20 20 20 69 6E 74 65 ted.. inte
0000A0: 72 61 63 74 73 20 77 69 74 68 20 74 68 65 20 69 racts with the i
0000B0: 6E 6B 20 61 20 70 69 78 65 6C 20 69 73 20 63 75 nk a pixel is cu
0000C0: 72 72 65 6E 74 6C 79 20 73 65 74 20 74 6F 2E 0D rrently set to..
0000D0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 ..... AMST
0000E0: 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 RAD CPC464/664/6
0000F0: 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 128 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 70 61 67 65 20 35 page 5
000120: 2E 32 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A .2..............
000130: 20 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 There are
000140: 20 66 6F 75 72 20 77 72 69 74 65 20 6D 6F 64 65 four write mode
000150: 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 s:....
000160: 20 20 20 20 20 20 30 3A 46 4F 52 43 45 3A 20 20 0:FORCE:
000170: 20 20 20 20 20 20 20 20 20 20 4E 45 57 20 3D 20 NEW =
000180: 49 4E 4B 0D 0A 20 20 20 20 20 20 20 20 20 20 20 INK..
000190: 20 20 20 20 20 31 3A 45 58 43 4C 55 53 49 56 45 1:EXCLUSIVE
0001A0: 2D 4F 52 3A 20 20 20 20 20 4E 45 57 20 3D 20 49 -OR: NEW = I
0001B0: 4E 4B 20 78 6F 72 20 4F 4C 44 0D 0A 20 20 20 20 NK xor OLD..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 32 3A 41 4E 2:AN
0001D0: 44 3A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 D:
0001E0: 4E 45 57 20 3D 20 49 4E 4B 20 61 6E 64 20 4F 4C NEW = INK and OL
0001F0: 44 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 D..
Size : 512 (Real : 512)
000000: 20 20 20 33 3A 4F 52 3A 20 20 20 20 20 20 20 20 3:OR:
000010: 20 20 20 20 20 20 20 4E 45 57 20 3D 20 49 4E 4B NEW = INK
000020: 20 6F 72 20 4F 4C 44 0D 0A 0D 0A 20 20 20 20 20 or OLD....
000030: 20 20 20 20 20 20 20 20 20 20 20 4E 45 57 20 69 NEW i
000040: 73 20 74 68 65 20 69 6E 6B 20 74 68 61 74 20 74 s the ink that t
000050: 68 65 20 70 69 78 65 6C 73 20 77 69 6C 6C 20 62 he pixels will b
000060: 65 20 73 65 74 20 74 6F 2E 0D 0A 20 20 20 20 20 e set to...
000070: 20 20 20 20 20 20 20 20 20 20 20 4F 4C 44 20 69 OLD i
000080: 73 20 74 68 65 20 69 6E 6B 20 74 68 61 74 20 74 s the ink that t
000090: 68 65 20 70 69 78 65 6C 20 69 73 20 63 75 72 72 he pixel is curr
0000A0: 65 6E 74 6C 79 20 73 65 74 20 74 6F 2E 0D 0A 20 ently set to...
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 I
0000C0: 4E 4B 20 69 73 20 74 68 65 20 69 6E 6B 20 74 68 NK is the ink th
0000D0: 61 74 20 69 73 20 74 6F 20 62 65 20 70 6C 6F 74 at is to be plot
0000E0: 74 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ted..... T
0000F0: 68 65 20 64 65 66 61 75 6C 74 20 47 72 61 70 68 he default Graph
000100: 69 63 73 20 77 72 69 74 65 20 6D 6F 64 65 20 69 ics write mode i
000110: 73 20 46 4F 52 43 45 20 6D 6F 64 65 2E 20 20 54 s FORCE mode. T
000120: 68 65 20 20 54 65 78 74 20 20 56 44 55 20 20 61 he Text VDU a
000130: 6C 77 61 79 73 0D 0A 20 20 20 20 20 20 20 73 65 lways.. se
000140: 74 73 20 70 69 78 65 6C 73 20 61 73 20 69 66 20 ts pixels as if
000150: 69 74 20 69 73 20 6F 70 65 72 61 74 69 6E 67 20 it is operating
000160: 69 6E 20 20 74 68 69 73 20 20 6D 6F 64 65 2E 20 in this mode.
000170: 20 41 6C 73 6F 20 20 74 68 65 20 20 67 72 61 70 Also the grap
000180: 68 69 63 73 0D 0A 20 20 20 20 20 20 20 77 69 6E hics.. win
000190: 64 6F 77 20 69 73 20 63 6C 65 61 72 65 64 20 62 dow is cleared b
0001A0: 79 20 77 72 69 74 69 6E 67 20 69 6E 20 46 4F 52 y writing in FOR
0001B0: 43 45 20 6D 6F 64 65 20 69 72 72 65 73 70 65 63 CE mode irrespec
0001C0: 74 69 76 65 20 6F 66 20 74 68 65 20 20 61 63 74 tive of the act
0001D0: 75 61 6C 0D 0A 20 20 20 20 20 20 20 77 72 69 74 ual.. writ
0001E0: 65 20 6D 6F 64 65 2E 0D 0A 0D 0A 20 20 20 20 20 e mode.....
0001F0: 20 20 50 72 6F 76 69 64 65 64 20 74 68 61 74 20 Provided that
Size : 512 (Real : 512)
000000: 73 75 69 74 61 62 6C 65 20 69 6E 6B 20 73 65 74 suitable ink set
000010: 74 69 6E 67 73 20 61 72 65 20 63 68 6F 73 65 6E tings are chosen
000020: 2C 20 41 4E 44 20 6D 6F 64 65 20 61 6E 64 20 20 , AND mode and
000030: 4F 52 20 20 6D 6F 64 65 0D 0A 20 20 20 20 20 20 OR mode..
000040: 20 61 6C 6C 6F 77 20 70 61 72 74 69 63 75 6C 61 allow particula
000050: 72 20 62 69 74 73 20 69 6E 20 70 69 78 65 6C 20 r bits in pixel
000060: 74 6F 20 62 65 20 63 6C 65 61 72 65 64 20 6F 72 to be cleared or
000070: 20 73 65 74 2E 20 54 68 69 73 20 20 61 6C 6C 6F set. This allo
000080: 77 73 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 ws the..
000090: 47 72 61 70 68 69 63 73 20 56 44 55 20 74 6F 20 Graphics VDU to
0000A0: 77 72 69 74 65 20 69 6E 20 27 62 69 74 20 70 6C write in 'bit pl
0000B0: 61 6E 65 73 27 20 61 6E 64 20 62 79 20 63 68 6F anes' and by cho
0000C0: 6F 73 69 6E 67 20 74 68 65 20 20 63 6F 6C 6F 75 osing the colou
0000D0: 72 73 20 20 6F 66 0D 0A 20 20 20 20 20 20 20 74 rs of.. t
0000E0: 68 65 20 69 6E 6B 73 20 63 61 72 65 66 75 6C 6C he inks carefull
0000F0: 79 20 6F 76 65 72 6C 61 70 70 69 6E 67 20 73 68 y overlapping sh
000100: 61 70 65 73 20 63 61 6E 20 62 65 20 64 72 61 77 apes can be draw
000110: 6E 20 20 61 6E 64 20 20 61 75 74 6F 6D 61 74 69 n and automati
000120: 63 61 6C 6C 79 0D 0A 20 20 20 20 20 20 20 68 69 cally.. hi
000130: 64 64 65 6E 20 62 65 68 69 6E 64 20 6F 6E 65 20 dden behind one
000140: 61 6E 6F 74 68 65 72 2E 0D 0A 0D 0A 20 20 20 20 another.....
000150: 20 20 20 49 66 20 74 68 65 20 69 6E 6B 73 20 61 If the inks a
000160: 72 65 20 63 68 6F 73 65 6E 20 73 75 69 74 61 62 re chosen suitab
000170: 6C 79 2C 20 45 58 43 4C 55 53 49 56 45 2D 4F 52 ly, EXCLUSIVE-OR
000180: 20 6D 6F 64 65 20 63 61 6E 20 62 65 20 75 73 65 mode can be use
000190: 64 20 74 6F 20 70 6C 6F 74 0D 0A 20 20 20 20 20 d to plot..
0001A0: 20 20 6F 76 65 72 20 74 68 65 20 63 75 72 72 65 over the curre
0001B0: 6E 74 20 63 6F 6E 74 65 6E 74 73 20 6F 66 20 74 nt contents of t
0001C0: 68 65 20 73 63 72 65 65 6E 2E 20 49 74 20 69 73 he screen. It is
0001D0: 20 61 6C 73 6F 20 75 73 65 66 75 6C 20 20 62 65 also useful be
0001E0: 63 61 75 73 65 20 20 61 0D 0A 20 20 20 20 20 20 cause a..
0001F0: 20 73 68 61 70 65 20 20 63 61 6E 20 20 62 65 20 shape can be
Size : 512 (Real : 512)
000000: 20 72 65 6D 6F 76 65 64 20 20 66 72 6F 6D 20 20 removed from
000010: 74 68 65 20 20 73 63 72 65 65 6E 20 20 62 79 20 the screen by
000020: 20 72 65 64 72 61 77 69 6E 67 20 20 20 69 74 20 redrawing it
000030: 20 20 73 69 6E 63 65 0D 0A 20 20 20 20 20 20 20 since..
000040: 65 78 63 6C 75 73 69 76 65 2D 6F 72 69 6E 67 20 exclusive-oring
000050: 77 69 74 68 20 74 68 65 20 73 61 6D 65 20 69 6E with the same in
000060: 6B 20 74 77 69 63 65 20 72 65 73 74 6F 72 65 73 k twice restores
000070: 20 74 68 65 20 6F 72 69 67 69 6E 61 6C 20 20 73 the original s
000080: 65 74 74 69 6E 67 0D 0A 20 20 20 20 20 20 20 6F etting.. o
000090: 66 20 74 68 65 20 70 69 78 65 6C 2E 0D 0A 0D 0A f the pixel.....
0000A0: 20 20 20 20 20 20 20 54 68 65 20 67 72 61 70 68 The graph
0000B0: 69 63 73 20 77 72 69 74 65 20 6D 6F 64 65 20 6D ics write mode m
0000C0: 61 79 20 62 65 20 73 65 74 20 62 79 20 63 61 6C ay be set by cal
0000D0: 6C 69 6E 67 20 53 43 52 20 41 43 43 45 53 53 20 ling SCR ACCESS
0000E0: 6F 72 20 62 79 20 75 73 69 6E 67 20 61 0D 0A 20 or by using a..
0000F0: 20 20 20 20 20 20 63 6F 6E 74 72 6F 6C 20 63 6F control co
000100: 64 65 20 28 73 65 65 20 41 70 70 65 6E 64 69 78 de (see Appendix
000110: 20 56 49 49 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 VII).....
000120: 20 35 2E 35 20 47 72 61 70 68 69 63 73 20 57 69 5.5 Graphics Wi
000130: 6E 64 6F 77 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 ndow.....
000140: 54 68 65 20 47 72 61 70 68 69 63 73 20 56 44 55 The Graphics VDU
000150: 20 61 6C 6C 6F 77 73 20 61 20 73 69 6E 67 6C 65 allows a single
000160: 20 77 69 6E 64 6F 77 20 74 6F 20 62 65 20 73 70 window to be sp
000170: 65 63 69 66 69 65 64 2E 20 20 54 68 69 73 20 20 ecified. This
000180: 61 6C 6C 6F 77 73 0D 0A 20 20 20 20 20 20 20 74 allows.. t
000190: 68 65 20 75 73 65 72 20 20 74 6F 20 20 6D 69 78 he user to mix
0001A0: 20 20 74 65 78 74 20 20 61 6E 64 20 20 67 72 61 text and gra
0001B0: 70 68 69 63 73 20 20 6F 6E 20 20 74 68 65 20 20 phics on the
0001C0: 73 63 72 65 65 6E 20 20 77 69 74 68 6F 75 74 20 screen without
0001D0: 20 74 68 65 6D 0D 0A 20 20 20 20 20 20 20 69 6E them.. in
0001E0: 74 65 72 66 65 72 69 6E 67 20 77 69 74 68 20 65 terfering with e
0001F0: 61 63 68 20 6F 74 68 65 72 2E 20 20 49 66 20 20 ach other. If
Size : 512 (Real : 512)
000000: 74 68 65 20 20 74 65 78 74 20 20 77 69 6E 64 6F the text windo
000010: 77 73 20 20 61 72 65 20 20 61 6C 6C 6F 77 65 64 ws are allowed
000020: 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 6F 76 65 to.. ove
000030: 72 6C 61 70 20 74 68 65 20 67 72 61 70 68 69 63 rlap the graphic
000040: 73 20 77 69 6E 64 6F 77 20 74 68 65 6E 20 74 68 s window then th
000050: 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 20 74 68 e contents of th
000060: 65 20 20 67 72 61 70 68 69 63 73 20 20 77 69 6E e graphics win
000070: 64 6F 77 0D 0A 20 20 20 20 20 20 20 77 69 6C 6C dow.. will
000080: 20 62 65 20 6D 6F 76 65 64 20 77 68 65 6E 20 74 be moved when t
000090: 68 65 20 74 65 78 74 20 77 69 6E 64 6F 77 73 20 he text windows
0000A0: 61 72 65 20 72 6F 6C 6C 65 64 2E 20 20 54 68 65 are rolled. The
0000B0: 20 20 67 72 61 70 68 69 63 73 20 20 77 69 6E 64 graphics wind
0000C0: 6F 77 0D 0A 20 20 20 20 20 20 20 63 61 6E 6E 6F ow.. canno
0000D0: 74 20 62 65 20 72 6F 6C 6C 65 64 2E 0D 0A 0D 0A t be rolled.....
0000E0: 20 20 20 20 20 20 20 57 68 65 6E 20 70 6C 6F 74 When plot
0000F0: 74 69 6E 67 20 70 6F 69 6E 74 2C 20 64 72 61 77 ting point, draw
000100: 69 6E 67 20 6C 69 6E 65 73 20 20 6F 72 20 20 77 ing lines or w
000110: 72 69 74 69 6E 67 20 20 63 68 61 72 61 63 74 65 riting characte
000120: 72 73 20 20 6E 6F 20 20 70 69 78 65 6C 0D 0A 20 rs no pixel..
000130: 20 20 20 20 20 20 6F 75 74 73 69 64 65 20 74 68 outside th
000140: 65 20 67 72 61 70 68 69 63 73 20 77 69 6E 64 6F e graphics windo
000150: 77 20 69 73 20 65 76 65 72 20 77 72 69 74 74 65 w is ever writte
000160: 6E 2E 20 55 6E 6C 69 6B 65 20 74 68 65 20 20 74 n. Unlike the t
000170: 65 78 74 20 20 77 69 6E 64 6F 77 73 0D 0A 20 20 ext windows..
000180: 20 20 20 20 20 6E 6F 20 61 63 74 69 6F 6E 20 69 no action i
000190: 73 20 74 61 6B 65 6E 20 74 6F 20 66 6F 72 63 65 s taken to force
0001A0: 20 20 61 20 20 70 6F 69 6E 74 20 20 69 6E 73 69 a point insi
0001B0: 64 65 20 20 74 68 65 20 20 77 69 6E 64 6F 77 20 de the window
0001C0: 20 2D 20 20 61 63 74 69 6F 6E 73 0D 0A 20 20 20 - actions..
0001D0: 20 20 20 20 6F 75 74 73 69 64 65 20 74 68 65 20 outside the
0001E0: 77 69 6E 64 6F 77 20 77 69 6C 6C 20 62 65 20 20 window will be
0001F0: 6C 6F 73 74 2E 20 20 43 6F 6E 76 65 72 73 65 6C lost. Conversel
Size : 512 (Real : 512)
000000: 79 2C 20 20 77 68 65 6E 20 20 74 65 73 74 69 6E y, when testin
000010: 67 20 20 70 6F 69 6E 74 73 2C 0D 0A 20 20 20 20 g points,..
000020: 20 20 20 70 6F 69 6E 74 73 20 6F 75 74 73 69 64 points outsid
000030: 65 20 74 68 65 20 77 69 6E 64 6F 77 20 61 72 65 e the window are
000040: 20 61 6C 6C 20 64 65 65 6D 65 64 20 74 6F 20 20 all deemed to
000050: 62 65 20 20 73 65 74 20 20 74 6F 20 20 74 68 65 be set to the
000060: 20 20 63 75 72 72 65 6E 74 0D 0A 20 20 20 20 20 current..
000070: 20 20 67 72 61 70 68 69 63 73 20 70 61 70 65 72 graphics paper
000080: 20 69 6E 6B 2E 20 50 6F 69 6E 74 73 20 69 6E 73 ink. Points ins
000090: 69 64 65 20 74 68 65 20 77 69 6E 64 6F 77 20 61 ide the window a
0000A0: 72 65 20 77 72 69 74 74 65 6E 20 61 6E 64 20 20 re written and
0000B0: 72 65 61 64 20 20 61 73 0D 0A 20 20 20 20 20 20 read as..
0000C0: 20 65 78 70 65 63 74 65 64 2E 0D 0A 0D 0A 20 20 expected.....
0000D0: 20 20 20 20 20 54 68 65 20 67 72 61 70 68 69 63 The graphic
0000E0: 73 20 77 69 6E 64 6F 77 20 69 73 20 72 65 6C 61 s window is rela
0000F0: 74 65 64 20 74 6F 20 61 20 73 70 65 63 69 66 69 ted to a specifi
000100: 63 20 61 72 65 61 20 6F 66 20 20 74 68 65 20 20 c area of the
000110: 73 63 72 65 65 6E 20 20 61 6E 64 0D 0A 20 20 20 screen and..
000120: 20 20 20 20 6E 6F 74 20 74 6F 20 74 68 65 20 75 not to the u
000130: 73 65 72 20 63 6F 6F 72 64 69 6E 61 74 65 20 73 ser coordinate s
000140: 79 73 74 65 6D 2E 20 54 68 75 73 2C 20 63 68 61 ystem. Thus, cha
000150: 6E 67 69 6E 67 20 74 68 65 20 20 6F 72 69 67 69 nging the origi
000160: 6E 20 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 n of the..
000170: 20 20 20 75 73 65 72 20 63 6F 6F 72 64 69 6E 61 user coordina
000180: 74 65 20 73 79 73 74 65 6D 20 77 69 6C 6C 20 6E te system will n
000190: 6F 74 20 6D 6F 76 65 20 74 68 65 20 6C 6F 63 61 ot move the loca
0001A0: 74 69 6F 6E 20 6F 66 20 74 68 65 20 77 69 6E 64 tion of the wind
0001B0: 6F 77 20 6F 6E 20 74 68 65 0D 0A 20 20 20 20 20 ow on the..
0001C0: 20 20 73 63 72 65 65 6E 20 61 6C 74 68 6F 75 67 screen althoug
0001D0: 68 20 69 74 20 64 6F 65 73 20 63 68 61 6E 67 65 h it does change
0001E0: 20 74 68 65 20 75 73 65 72 20 63 6F 6F 72 64 69 the user coordi
0001F0: 6E 61 74 65 73 20 6F 66 20 70 6F 69 6E 74 73 20 nates of points
Size : 512 (Real : 512)
000000: 20 69 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 in the..
000010: 20 77 69 6E 64 6F 77 2E 0D 0A 0D 0A 20 20 20 20 window.....
000020: 20 20 20 54 68 65 20 64 65 66 61 75 6C 74 20 67 The default g
000030: 72 61 70 68 69 63 73 20 77 69 6E 64 6F 77 2C 20 raphics window,
000040: 73 65 74 20 61 74 20 20 45 4D 53 20 20 61 6E 64 set at EMS and
000050: 20 20 61 66 74 65 72 20 20 63 68 61 6E 67 69 6E after changin
000060: 67 20 20 73 63 72 65 65 6E 0D 0A 20 20 20 20 20 g screen..
000070: 20 20 6D 6F 64 65 2C 20 63 6F 76 65 72 73 20 74 mode, covers t
000080: 68 65 20 77 68 6F 6C 65 20 73 63 72 65 65 6E 2E he whole screen.
000090: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ........ A
0000A0: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
0000B0: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/6128 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 20 20 20 20 20 20 70 61 67 pag
0000E0: 65 20 35 2E 33 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D e 5.3...........
0000F0: 0A 0D 0A 20 20 20 20 20 20 20 35 2E 36 20 57 72 ... 5.6 Wr
000100: 69 74 69 6E 67 20 43 68 61 72 61 63 74 65 72 73 iting Characters
000110: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
000120: 47 72 61 70 68 69 63 73 20 56 44 55 20 77 72 69 Graphics VDU wri
000130: 74 65 20 63 68 61 72 61 63 74 65 72 20 72 6F 75 te character rou
000140: 74 69 6E 65 20 64 72 61 77 73 20 61 20 20 63 68 tine draws a ch
000150: 61 72 61 63 74 65 72 20 20 77 69 74 68 20 20 74 aracter with t
000160: 68 65 0D 0A 20 20 20 20 20 20 20 63 75 72 72 65 he.. curre
000170: 6E 74 20 67 72 61 70 68 69 63 73 20 70 6F 73 69 nt graphics posi
000180: 74 69 6F 6E 20 61 74 20 74 68 65 20 74 6F 70 20 tion at the top
000190: 6C 65 66 74 20 63 6F 72 6E 65 72 20 6F 66 20 74 left corner of t
0001A0: 68 65 20 63 68 61 72 61 63 74 65 72 2E 20 54 68 he character. Th
0001B0: 65 0D 0A 20 20 20 20 20 20 20 63 75 72 72 65 6E e.. curren
0001C0: 74 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 6D 6F t position is mo
0001D0: 76 65 64 20 72 69 67 68 74 20 62 79 20 77 69 64 ved right by wid
0001E0: 74 68 20 6F 66 20 61 20 63 68 61 72 61 63 74 65 th of a characte
0001F0: 72 20 69 6E 20 74 68 65 20 63 75 72 72 65 6E 74 r in the current
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 73 63 72 65 65 6E 20 .. screen
000010: 6D 6F 64 65 2E 20 54 68 65 20 64 69 73 74 61 6E mode. The distan
000020: 63 65 20 6D 6F 76 65 64 20 76 61 72 69 65 73 3B ce moved varies;
000030: 20 69 6E 20 6D 6F 64 65 20 30 20 69 74 20 69 73 in mode 0 it is
000040: 20 33 32 20 70 6F 69 6E 74 73 3B 20 20 69 6E 0D 32 points; in.
000050: 0A 20 20 20 20 20 20 20 6D 6F 64 65 20 31 2C 20 . mode 1,
000060: 31 36 20 70 6F 69 6E 74 73 3B 20 61 6E 64 20 69 16 points; and i
000070: 6E 20 6D 6F 64 65 20 32 2C 20 38 20 70 6F 69 6E n mode 2, 8 poin
000080: 74 73 2E 20 43 6F 6E 74 72 6F 6C 20 63 6F 64 65 ts. Control code
000090: 73 2C 20 20 63 68 61 72 61 63 74 65 72 73 0D 0A s, characters..
0000A0: 20 20 20 20 20 20 20 30 2E 2E 33 31 2C 20 61 72 0..31, ar
0000B0: 65 20 70 72 69 6E 74 65 64 20 61 6E 64 20 61 72 e printed and ar
0000C0: 65 20 6E 6F 74 20 6F 62 65 79 65 64 2E 0D 0A 0D e not obeyed....
0000D0: 0A 20 20 20 20 20 20 20 49 6E 20 56 31 2E 30 20 . In V1.0
0000E0: 66 69 72 6D 77 61 72 65 20 74 68 65 20 63 68 61 firmware the cha
0000F0: 72 61 63 74 65 72 20 69 73 20 61 6C 77 61 79 73 racter is always
000100: 20 77 72 69 74 74 65 6E 20 6F 70 61 71 75 65 6C written opaquel
000110: 79 20 69 72 72 65 73 70 65 63 74 69 76 65 0D 0A y irrespective..
000120: 20 20 20 20 20 20 20 6F 66 20 77 68 61 74 20 6D of what m
000130: 6F 64 65 20 74 68 65 20 54 65 78 74 20 56 44 55 ode the Text VDU
000140: 20 69 73 20 20 75 73 69 6E 67 20 20 74 6F 20 20 is using to
000150: 77 72 69 74 65 20 20 63 68 61 72 61 63 74 65 72 write character
000160: 73 2C 20 20 69 2E 65 2E 20 20 54 68 65 0D 0A 20 s, i.e. The..
000170: 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 character
000180: 62 61 63 6B 67 72 6F 75 6E 64 20 20 69 73 20 20 background is
000190: 73 65 74 20 20 74 6F 20 20 74 68 65 20 20 67 72 set to the gr
0001A0: 61 70 68 69 63 73 20 20 70 61 70 65 72 20 20 69 aphics paper i
0001B0: 6E 6B 20 20 61 6E 64 20 20 74 68 65 0D 0A 20 20 nk and the..
0001C0: 20 20 20 20 20 66 6F 72 65 67 72 6F 75 6E 64 20 foreground
0001D0: 69 73 20 73 65 74 20 74 6F 20 20 74 68 65 20 20 is set to the
0001E0: 67 72 61 70 68 69 63 73 20 20 70 65 6E 20 20 69 graphics pen i
0001F0: 6E 6B 2E 20 20 48 6F 77 65 76 65 72 2C 20 20 74 nk. However, t
Size : 512 (Real : 512)
000000: 68 65 20 20 63 75 72 72 65 6E 74 0D 0A 20 20 20 he current..
000010: 20 20 20 20 67 72 61 70 68 69 63 73 20 77 72 69 graphics wri
000020: 74 65 20 6D 6F 64 65 20 69 73 20 75 73 65 64 20 te mode is used
000030: 74 6F 20 70 6C 6F 74 20 74 68 65 20 70 69 78 65 to plot the pixe
000040: 6C 73 20 69 6E 20 74 68 65 20 20 63 68 61 72 61 ls in the chara
000050: 63 74 65 72 20 20 28 73 65 65 0D 0A 20 20 20 20 cter (see..
000060: 20 20 20 35 2E 34 20 61 62 6F 76 65 29 2E 0D 0A 5.4 above)...
000070: 0D 0A 20 20 20 20 20 20 20 49 6E 20 74 68 65 20 .. In the
000080: 56 31 2E 31 20 66 69 72 6D 77 61 72 65 20 74 68 V1.1 firmware th
000090: 65 20 66 6F 72 65 67 72 6F 75 6E 64 20 74 6F 20 e foreground to
0000A0: 74 68 65 20 63 68 61 72 61 63 74 65 72 20 69 73 the character is
0000B0: 20 61 6C 77 61 79 73 20 77 72 69 74 74 65 6E 0D always written.
0000C0: 0A 20 20 20 20 20 20 20 69 6E 20 74 68 65 20 67 . in the g
0000D0: 72 61 70 68 69 63 73 20 70 65 6E 20 69 6E 6B 20 raphics pen ink
0000E0: 75 73 69 6E 67 20 74 68 65 20 63 75 72 72 65 6E using the curren
0000F0: 74 20 67 72 61 70 68 69 63 73 20 77 72 69 74 65 t graphics write
000100: 20 6D 6F 64 65 2E 20 48 6F 77 20 74 68 65 0D 0A mode. How the..
000110: 20 20 20 20 20 20 20 62 61 63 6B 67 72 6F 75 6E backgroun
000120: 64 20 74 6F 20 74 68 65 20 63 68 61 72 61 63 74 d to the charact
000130: 65 72 20 69 73 20 77 72 69 74 74 65 6E 20 64 65 er is written de
000140: 70 65 6E 64 73 20 6F 6E 20 74 68 65 20 62 61 63 pends on the bac
000150: 6B 67 72 6F 75 6E 64 20 77 72 69 74 65 0D 0A 20 kground write..
000160: 20 20 20 20 20 20 6D 6F 64 65 20 73 65 74 20 62 mode set b
000170: 79 20 63 61 6C 6C 69 6E 67 20 47 52 41 20 53 45 y calling GRA SE
000180: 54 20 42 41 43 4B 2E 20 49 66 20 74 68 65 20 20 T BACK. If the
000190: 62 61 63 6B 67 72 6F 75 6E 64 20 20 6D 6F 64 65 background mode
0001A0: 20 20 69 73 20 20 6F 70 61 71 75 65 0D 0A 20 20 is opaque..
0001B0: 20 20 20 20 20 74 68 65 6E 20 74 68 65 20 62 61 then the ba
0001C0: 63 6B 67 72 6F 75 6E 64 20 74 6F 20 74 68 65 20 ckground to the
0001D0: 63 68 61 72 61 63 74 65 72 20 69 73 20 77 72 69 character is wri
0001E0: 74 74 65 6E 20 69 6E 20 74 68 65 20 67 72 61 70 tten in the grap
0001F0: 68 69 63 73 20 20 70 61 70 65 72 0D 0A 20 20 20 hics paper..
Size : 512 (Real : 512)
000000: 20 20 20 20 69 6E 6B 20 75 73 69 6E 67 20 74 68 ink using th
000010: 65 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 69 e current graphi
000020: 63 73 20 77 72 69 74 65 20 6D 6F 64 65 2E 20 49 cs write mode. I
000030: 66 20 74 68 65 20 62 61 63 6B 67 72 6F 75 6E 64 f the background
000040: 20 20 6D 6F 64 65 20 20 69 73 0D 0A 20 20 20 20 mode is..
000050: 20 20 20 74 72 61 6E 73 70 61 72 65 6E 74 20 74 transparent t
000060: 68 65 6E 20 74 68 65 20 62 61 63 6B 67 72 6F 75 hen the backgrou
000070: 6E 64 20 70 69 78 65 6C 73 20 61 72 65 20 6E 6F nd pixels are no
000080: 74 20 20 70 6C 6F 74 74 65 64 20 20 61 74 20 20 t plotted at
000090: 61 6C 6C 2C 20 20 74 68 65 0D 0A 20 20 20 20 20 all, the..
0000A0: 20 20 63 75 72 72 65 6E 74 20 73 65 74 74 69 6E current settin
0000B0: 67 73 20 6F 66 20 74 68 65 73 65 20 70 69 78 65 gs of these pixe
0000C0: 6C 73 20 61 72 65 20 6C 65 66 74 20 75 6E 63 68 ls are left unch
0000D0: 61 6E 67 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 anged.....
0000E0: 20 35 2E 37 20 44 72 61 77 69 6E 67 20 4C 69 6E 5.7 Drawing Lin
0000F0: 65 73 20 28 4F 6E 6C 79 20 61 70 70 6C 69 63 61 es (Only applica
000100: 62 6C 65 20 74 6F 20 56 31 2E 31 20 66 69 72 6D ble to V1.1 firm
000110: 77 61 72 65 29 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ware)......
000120: 20 20 54 68 65 20 47 72 61 70 68 69 63 73 20 56 The Graphics V
000130: 44 55 20 68 61 73 20 61 20 6E 75 6D 62 65 72 20 DU has a number
000140: 6F 66 20 6F 70 74 69 6F 6E 73 20 20 74 68 61 74 of options that
000150: 20 20 61 66 66 65 63 74 20 20 74 68 65 20 20 77 affect the w
000160: 61 79 20 20 74 68 61 74 0D 0A 20 20 20 20 20 20 ay that..
000170: 20 6C 69 6E 65 73 20 61 72 65 20 64 72 61 77 6E lines are drawn
000180: 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 2E 20 on the screen.
000190: 20 54 68 65 73 65 20 20 69 6E 63 6C 75 64 65 20 These include
0001A0: 20 74 68 65 20 20 62 61 63 6B 67 72 6F 75 6E 64 the background
0001B0: 20 20 77 72 69 74 65 0D 0A 20 20 20 20 20 20 20 write..
0001C0: 6D 6F 64 65 2C 20 74 68 65 20 66 69 72 73 74 20 mode, the first
0001D0: 70 6F 69 6E 74 20 6D 6F 64 65 2C 20 74 68 65 20 point mode, the
0001E0: 6C 69 6E 65 20 6D 61 73 6B 20 61 6E 64 20 74 68 line mask and th
0001F0: 65 20 67 72 61 70 68 69 63 73 20 77 72 69 74 65 e graphics write
Size : 512 (Real : 512)
000000: 20 6D 6F 64 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 mode.......
000010: 20 20 20 54 68 65 20 6C 69 6E 65 20 6D 61 73 6B The line mask
000020: 20 69 73 20 61 6E 20 20 38 20 20 62 69 74 2C 20 is an 8 bit,
000030: 20 62 69 74 20 20 73 69 67 6E 69 66 69 63 61 6E bit significan
000040: 74 20 20 76 61 6C 75 65 20 20 74 68 61 74 20 20 t value that
000050: 73 70 65 63 69 66 69 65 73 0D 0A 20 20 20 20 20 specifies..
000060: 20 20 77 68 65 74 68 65 72 20 70 69 78 65 6C 73 whether pixels
000070: 20 6F 6E 20 74 68 65 20 6C 69 6E 65 20 61 72 65 on the line are
000080: 20 66 6F 72 65 67 72 6F 75 6E 64 20 6F 72 20 62 foreground or b
000090: 61 63 6B 67 72 6F 75 6E 64 2E 20 49 66 20 74 68 ackground. If th
0000A0: 65 20 62 69 74 20 6F 66 0D 0A 20 20 20 20 20 20 e bit of..
0000B0: 20 74 68 65 20 6D 61 73 6B 20 63 6F 72 72 65 73 the mask corres
0000C0: 70 6F 6E 64 69 6E 67 20 74 6F 20 61 20 70 69 78 ponding to a pix
0000D0: 65 6C 20 69 73 20 6F 6E 65 20 74 68 65 6E 20 74 el is one then t
0000E0: 68 65 20 70 69 78 65 6C 20 69 73 20 66 6F 72 65 he pixel is fore
0000F0: 67 72 6F 75 6E 64 2E 0D 0A 20 20 20 20 20 20 20 ground...
000100: 49 66 20 74 68 65 20 62 69 74 20 69 73 20 7A 65 If the bit is ze
000110: 72 6F 20 74 68 65 6E 20 74 68 65 20 70 69 78 65 ro then the pixe
000120: 6C 20 69 73 20 20 62 61 63 6B 67 72 6F 75 6E 64 l is background
000130: 2E 20 20 54 68 65 20 20 6D 61 73 6B 20 20 69 73 . The mask is
000140: 20 20 75 73 65 64 0D 0A 20 20 20 20 20 20 20 72 used.. r
000150: 65 70 65 61 74 65 64 6C 79 20 61 6C 6F 6E 67 20 epeatedly along
000160: 74 68 65 20 6C 65 6E 67 74 68 20 6F 66 20 74 68 the length of th
000170: 65 20 20 6C 69 6E 65 2E 20 20 69 2E 65 2E 20 20 e line. i.e.
000180: 42 69 74 20 20 37 20 20 6F 66 20 20 74 68 65 20 Bit 7 of the
000190: 20 6D 61 73 6B 0D 0A 20 20 20 20 20 20 20 63 6F mask.. co
0001A0: 72 72 65 73 70 6F 6E 64 73 20 74 6F 20 70 69 78 rresponds to pix
0001B0: 65 6C 73 20 31 2C 20 39 2C 20 31 37 2C 20 2E 2E els 1, 9, 17, ..
0001C0: 2E 20 6F 66 20 74 68 65 20 6C 69 6E 65 2C 20 62 . of the line, b
0001D0: 69 74 20 36 20 20 74 6F 20 20 70 69 78 65 6C 73 it 6 to pixels
0001E0: 20 20 32 2C 0D 0A 20 20 20 20 20 20 20 31 30 2C 2,.. 10,
0001F0: 20 31 38 2C 20 2E 2E 2E 20 65 74 63 2E 0D 0A 0D 18, ... etc....
Size : 512 (Real : 512)
000000: 0A 0D 0A 20 20 20 20 20 20 20 46 6F 72 65 67 72 ... Foregr
000010: 6F 75 6E 64 20 70 69 78 65 6C 73 20 6F 66 20 61 ound pixels of a
000020: 20 6C 69 6E 65 20 61 72 65 20 70 6C 6F 74 74 65 line are plotte
000030: 64 20 69 6E 20 74 68 65 20 67 72 61 70 68 69 63 d in the graphic
000040: 73 20 20 70 65 6E 20 20 61 6E 64 20 20 69 6E 6B s pen and ink
000050: 0D 0A 20 20 20 20 20 20 20 75 73 69 6E 67 20 74 .. using t
000060: 68 65 20 67 72 61 70 68 69 63 73 20 77 72 69 74 he graphics writ
000070: 65 20 20 6D 6F 64 65 2E 20 20 48 6F 77 20 20 62 e mode. How b
000080: 61 63 6B 67 72 6F 75 6E 64 20 20 70 69 78 65 6C ackground pixel
000090: 73 20 20 61 72 65 20 20 70 6C 6F 74 74 65 64 0D s are plotted.
0000A0: 0A 20 20 20 20 20 20 20 64 65 70 65 6E 64 73 20 . depends
0000B0: 75 70 6F 6E 20 74 68 65 20 62 61 63 6B 67 72 6F upon the backgro
0000C0: 75 6E 64 20 77 72 69 74 65 20 6D 6F 64 65 2E 20 und write mode.
0000D0: 20 49 66 20 20 74 68 65 20 20 62 61 63 6B 67 72 If the backgr
0000E0: 6F 75 6E 64 20 20 6D 6F 64 65 20 20 69 73 0D 0A ound mode is..
0000F0: 20 20 20 20 20 20 20 6F 70 61 71 75 65 20 74 68 opaque th
000100: 65 6E 20 74 68 65 20 62 61 63 6B 67 72 6F 75 6E en the backgroun
000110: 64 20 70 69 78 65 6C 73 20 61 72 65 20 70 6C 6F d pixels are plo
000120: 74 74 65 64 20 69 6E 20 20 74 68 65 20 20 67 72 tted in the gr
000130: 61 70 68 69 63 73 20 20 70 61 70 65 72 0D 0A 20 aphics paper..
000140: 20 20 20 20 20 20 69 6E 6B 20 20 75 73 69 6E 67 ink using
000150: 20 20 74 68 65 20 20 67 72 61 70 68 69 63 73 20 the graphics
000160: 20 77 72 69 74 65 20 20 6D 6F 64 65 2E 20 20 49 write mode. I
000170: 66 20 20 74 68 65 20 20 62 61 63 6B 67 72 6F 75 f the backgrou
000180: 6E 64 20 20 6D 6F 64 65 20 20 69 73 0D 0A 20 20 nd mode is..
000190: 20 20 20 20 20 74 72 61 6E 73 70 61 72 65 6E 74 transparent
0001A0: 20 74 68 65 6E 20 74 68 65 20 70 69 78 65 6C 73 then the pixels
0001B0: 20 20 61 72 65 20 20 6E 6F 74 20 20 70 6C 6F 74 are not plot
0001C0: 74 65 64 20 20 61 74 20 20 61 6C 6C 2C 20 20 74 ted at all, t
0001D0: 68 65 20 20 63 75 72 72 65 6E 74 0D 0A 20 20 20 he current..
0001E0: 20 20 20 20 73 65 74 74 69 6E 67 73 20 6F 66 20 settings of
0001F0: 74 68 65 20 70 69 78 65 6C 73 20 61 72 65 20 6C the pixels are l
Size : 512 (Real : 512)
000000: 65 66 74 20 75 6E 63 68 61 6E 67 65 64 2E 0D 0A eft unchanged...
000010: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 66 .... The f
000020: 69 72 73 74 20 70 6F 69 6E 74 20 6D 6F 64 65 20 irst point mode
000030: 20 73 70 65 63 69 66 69 65 73 20 20 77 68 65 74 specifies whet
000040: 68 65 72 20 20 74 68 65 20 20 70 69 78 65 6C 20 her the pixel
000050: 20 61 74 20 20 74 68 65 20 20 63 75 72 72 65 6E at the curren
000060: 74 0D 0A 20 20 20 20 20 20 20 67 72 61 70 68 69 t.. graphi
000070: 63 73 20 70 6F 73 69 74 69 6F 6E 20 69 73 20 74 cs position is t
000080: 6F 20 62 65 20 69 6E 63 6C 75 64 65 20 69 6E 20 o be include in
000090: 74 68 65 20 6C 69 6E 65 20 6F 72 20 20 6E 6F 74 the line or not
0000A0: 2E 20 20 4E 6F 74 20 20 70 6C 6F 74 74 69 6E 67 . Not plotting
0000B0: 0D 0A 20 20 20 20 20 20 20 74 68 65 20 66 69 72 .. the fir
0000C0: 73 74 20 70 69 78 65 6C 20 6F 66 20 61 20 6C 69 st pixel of a li
0000D0: 6E 65 20 69 73 20 70 61 72 74 69 63 75 6C 61 72 ne is particular
0000E0: 6C 79 20 20 75 73 65 66 75 6C 20 20 66 6F 72 20 ly useful for
0000F0: 20 64 72 61 77 69 6E 67 20 20 6C 69 6E 65 73 0D drawing lines.
000100: 0A 20 20 20 20 20 20 20 77 68 65 6E 20 74 68 65 . when the
000110: 20 67 72 61 70 68 69 63 73 20 77 72 69 74 65 20 graphics write
000120: 6D 6F 64 65 20 69 73 20 58 4F 52 2E 20 46 6F 72 mode is XOR. For
000130: 20 69 6E 73 74 61 6E 63 65 2C 20 74 68 65 20 20 instance, the
000140: 63 6F 72 6E 65 72 20 20 70 69 78 65 6C 73 0D 0A corner pixels..
000150: 20 20 20 20 20 20 20 6F 66 20 61 20 62 6F 78 20 of a box
000160: 77 69 6C 6C 20 62 65 20 70 6C 6F 74 74 65 64 20 will be plotted
000170: 74 77 69 63 65 20 20 69 66 20 20 74 68 65 20 20 twice if the
000180: 66 69 72 73 74 20 20 70 69 78 65 6C 73 20 20 6F first pixels o
000190: 66 20 20 6C 69 6E 65 73 20 20 61 72 65 0D 0A 20 f lines are..
0001A0: 20 20 20 20 20 20 70 6C 6F 74 74 65 64 20 61 6E plotted an
0001B0: 64 20 74 68 69 73 20 77 69 6C 6C 20 72 65 73 75 d this will resu
0001C0: 6C 74 20 69 6E 20 74 68 65 73 65 20 70 69 78 65 lt in these pixe
0001D0: 6C 73 20 20 6E 6F 74 20 20 62 65 69 6E 67 20 20 ls not being
0001E0: 73 65 74 20 20 69 6E 20 20 58 4F 52 0D 0A 20 20 set in XOR..
0001F0: 20 20 20 20 20 6D 6F 64 65 2E 0D 0A 0D 0A 20 20 mode.....
Size : 512 (Real : 512)
000000: 20 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 AMSTRAD CPC
000010: 34 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 464/664/6128 FIR
000020: 4D 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 MWARE
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 35 2E 34 0D 0A 0D 0A 0D page 5.4.....
000050: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000060: 35 2E 38 20 46 69 6C 6C 69 6E 67 20 41 72 65 61 5.8 Filling Area
000070: 73 20 28 4F 6E 6C 79 20 61 70 70 6C 69 63 61 62 s (Only applicab
000080: 6C 65 20 74 6F 20 56 31 2E 31 20 66 69 72 6D 77 le to V1.1 firmw
000090: 61 72 65 29 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 are)........
0000A0: 20 20 20 54 68 65 20 47 72 61 70 68 69 63 73 20 The Graphics
0000B0: 56 44 55 20 70 72 6F 76 69 64 65 73 20 61 20 67 VDU provides a g
0000C0: 65 6E 65 72 61 6C 69 73 65 64 20 61 72 65 61 20 eneralised area
0000D0: 66 69 6C 6C 20 20 72 6F 75 74 69 6E 65 2E 20 20 fill routine.
0000E0: 54 68 65 20 20 75 73 65 72 0D 0A 20 20 20 20 20 The user..
0000F0: 20 20 64 72 61 77 73 20 74 68 65 20 6F 75 74 6C draws the outl
000100: 69 6E 65 20 6F 66 20 74 68 65 20 61 72 65 61 20 ine of the area
000110: 74 6F 20 62 65 20 66 69 6C 6C 65 64 20 20 75 73 to be filled us
000120: 69 6E 67 20 20 74 68 65 20 20 73 74 61 6E 64 61 ing the standa
000130: 72 64 20 20 6C 69 6E 65 0D 0A 20 20 20 20 20 20 rd line..
000140: 20 64 72 61 77 69 6E 67 20 61 6E 64 20 20 70 69 drawing and pi
000150: 78 65 6C 20 20 70 6C 6F 74 74 69 6E 67 20 20 72 xel plotting r
000160: 6F 75 74 69 6E 65 73 20 20 61 6E 64 20 20 74 68 outines and th
000170: 65 6E 20 20 6D 6F 76 65 73 20 20 74 68 65 20 20 en moves the
000180: 63 75 72 72 65 6E 74 0D 0A 20 20 20 20 20 20 20 current..
000190: 70 6F 73 69 74 69 6F 6E 20 74 6F 20 61 6E 79 20 position to any
0001A0: 70 69 78 65 6C 20 69 6E 73 69 64 65 20 74 68 65 pixel inside the
0001B0: 20 61 72 65 61 20 61 6E 64 20 63 61 6C 6C 73 20 area and calls
0001C0: 74 68 65 20 66 69 6C 6C 20 72 6F 75 74 69 6E 65 the fill routine
0001D0: 2C 20 20 47 52 41 0D 0A 20 20 20 20 20 20 20 46 , GRA.. F
0001E0: 49 4C 4C 2E 20 54 68 69 73 20 77 69 6C 6C 20 73 ILL. This will s
0001F0: 65 74 20 61 6C 6C 20 20 70 69 78 65 6C 73 20 20 et all pixels
Size : 512 (Real : 512)
000000: 69 6E 73 69 64 65 20 20 74 68 65 20 20 61 72 65 inside the are
000010: 61 20 20 74 6F 20 20 74 68 65 20 20 66 69 6C 6C a to the fill
000020: 20 20 69 6E 6B 0D 0A 20 20 20 20 20 20 20 69 72 ink.. ir
000030: 72 65 73 70 65 63 74 69 76 65 20 6F 66 20 77 68 respective of wh
000040: 61 74 20 74 68 65 20 63 75 72 72 65 6E 74 20 67 at the current g
000050: 72 61 70 68 69 63 73 20 77 72 69 74 65 20 6D 6F raphics write mo
000060: 64 65 20 69 73 20 73 65 74 20 74 6F 2E 20 20 28 de is set to. (
000070: 69 2E 65 2E 0D 0A 20 20 20 20 20 20 20 47 52 41 i.e... GRA
000080: 20 46 49 4C 4C 20 61 6C 77 61 79 73 20 77 6F 72 FILL always wor
000090: 6B 73 20 61 73 20 69 66 20 46 4F 52 43 45 20 6D ks as if FORCE m
0000A0: 6F 64 65 20 77 61 73 20 73 65 6C 65 63 74 65 64 ode was selected
0000B0: 29 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ).........
0000C0: 20 54 68 65 20 66 69 6C 6C 20 72 6F 75 74 69 6E The fill routin
0000D0: 65 20 72 65 63 6F 67 6E 69 73 65 73 20 70 69 78 e recognises pix
0000E0: 65 6C 73 20 6D 61 6B 69 6E 67 20 75 70 20 74 68 els making up th
0000F0: 65 20 65 64 67 65 20 6F 66 20 74 68 65 20 20 61 e edge of the a
000100: 72 65 61 20 20 62 79 0D 0A 20 20 20 20 20 20 20 rea by..
000110: 74 68 65 20 69 6E 6B 20 74 68 61 74 20 74 68 65 the ink that the
000120: 79 20 61 72 65 20 73 65 74 20 74 6F 2E 20 41 6C y are set to. Al
000130: 6C 20 70 69 78 65 6C 73 20 73 65 74 20 20 74 6F l pixels set to
000140: 20 20 65 69 74 68 65 72 20 20 74 68 65 20 20 63 either the c
000150: 75 72 72 65 6E 74 0D 0A 20 20 20 20 20 20 20 67 urrent.. g
000160: 72 61 70 68 69 63 73 20 70 65 6E 20 69 6E 6B 20 raphics pen ink
000170: 6F 72 20 74 68 65 20 69 6E 6B 20 74 68 61 74 20 or the ink that
000180: 69 73 20 62 65 69 6E 67 20 75 73 65 64 20 74 6F is being used to
000190: 20 66 69 6C 6C 20 74 68 65 20 20 61 72 65 61 20 fill the area
0001A0: 20 77 69 74 68 0D 0A 20 20 20 20 20 20 20 61 72 with.. ar
0001B0: 65 20 74 72 65 61 74 65 64 20 61 73 20 65 64 67 e treated as edg
0001C0: 65 20 70 69 78 65 6C 73 2E 20 28 54 68 65 73 65 e pixels. (These
0001D0: 20 74 77 6F 20 69 6E 6B 73 20 6D 61 79 20 20 62 two inks may b
0001E0: 65 20 20 74 68 65 20 20 73 61 6D 65 29 2E 20 20 e the same).
0001F0: 45 64 67 65 0D 0A 20 20 20 20 20 20 20 70 69 78 Edge.. pix
Size : 512 (Real : 512)
000000: 65 6C 73 20 6E 65 65 64 20 6F 6E 6C 79 20 6C 69 els need only li
000010: 65 20 64 69 61 67 6F 6E 61 6C 6C 79 20 61 64 6A e diagonally adj
000020: 61 63 65 6E 74 20 74 6F 20 20 65 61 63 68 20 20 acent to each
000030: 6F 74 68 65 72 2C 20 20 69 74 20 20 69 73 20 20 other, it is
000040: 6E 6F 74 0D 0A 20 20 20 20 20 20 20 6E 65 63 65 not.. nece
000050: 73 73 61 72 79 20 66 6F 72 20 74 68 65 6D 20 74 ssary for them t
000060: 6F 20 62 65 20 6F 72 74 68 6F 67 6F 6E 61 6C 6C o be orthogonall
000070: 79 20 61 64 6A 61 63 65 6E 74 2E 20 4F 66 20 63 y adjacent. Of c
000080: 6F 75 72 73 65 2C 20 74 68 65 20 65 64 67 65 20 ourse, the edge
000090: 6F 66 0D 0A 20 20 20 20 20 20 20 74 68 65 20 67 of.. the g
0000A0: 72 61 70 68 69 63 73 20 77 69 6E 64 6F 77 20 61 raphics window a
0000B0: 72 65 20 61 6C 73 6F 20 74 72 65 61 74 65 64 20 re also treated
0000C0: 61 73 20 65 64 67 65 73 20 6F 66 20 74 68 65 20 as edges of the
0000D0: 61 72 65 61 20 74 6F 20 66 69 6C 6C 20 20 61 6E area to fill an
0000E0: 64 0D 0A 20 20 20 20 20 20 20 73 6F 20 70 69 78 d.. so pix
0000F0: 65 6C 73 20 6F 75 74 73 69 64 65 20 74 68 65 20 els outside the
000100: 67 72 61 70 68 69 63 73 20 77 69 6E 64 6F 77 20 graphics window
000110: 77 69 6C 6C 20 62 65 20 61 66 66 65 63 74 65 64 will be affected
000120: 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
000130: 47 52 41 20 20 46 49 4C 4C 20 20 75 73 65 73 20 GRA FILL uses
000140: 20 61 20 20 62 75 66 66 65 72 20 20 73 75 70 70 a buffer supp
000150: 6C 69 65 64 20 20 62 79 20 20 74 68 65 20 20 75 lied by the u
000160: 73 65 72 20 20 66 6F 72 20 20 73 74 6F 72 69 6E ser for storin
000170: 67 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 69 g the.. i
000180: 6E 66 6F 72 6D 61 74 69 6F 6E 2E 20 54 68 65 20 nformation. The
000190: 6D 6F 72 65 20 63 6F 6D 70 6C 69 63 61 74 65 64 more complicated
0001A0: 20 74 68 65 20 61 72 65 61 20 74 68 65 20 6C 6F the area the lo
0001B0: 6E 67 65 72 20 74 68 65 20 62 75 66 66 65 72 20 nger the buffer
0001C0: 20 77 69 6C 6C 0D 0A 20 20 20 20 20 20 20 6E 65 will.. ne
0001D0: 65 64 20 62 65 2E 20 49 66 20 74 68 65 20 73 75 ed be. If the su
0001E0: 70 70 6C 69 65 64 20 62 75 66 66 65 72 20 69 73 pplied buffer is
0001F0: 20 74 6F 6F 20 73 68 6F 72 74 20 74 68 65 6E 20 too short then
Size : 512 (Real : 512)
000000: 70 61 72 74 73 20 20 6F 66 20 20 74 68 65 20 20 parts of the
000010: 61 72 65 61 0D 0A 20 20 20 20 20 20 20 77 69 6C area.. wil
000020: 6C 20 62 65 20 69 67 6E 6F 72 65 64 20 61 6E 64 l be ignored and
000030: 20 77 69 6C 6C 20 6E 6F 74 20 62 65 20 66 69 6C will not be fil
000040: 6C 65 64 2E 20 42 79 20 20 73 75 70 70 6C 79 69 led. By supplyi
000050: 6E 67 20 20 61 20 20 6C 6F 6E 67 20 20 65 6E 6F ng a long eno
000060: 75 67 68 0D 0A 20 20 20 20 20 20 20 62 75 66 66 ugh.. buff
000070: 65 72 20 61 6E 79 20 61 72 62 69 74 72 61 72 79 er any arbitrary
000080: 20 63 6F 6D 70 6C 69 63 61 74 65 64 20 73 68 61 complicated sha
000090: 70 65 20 6D 61 79 20 62 65 20 66 69 6C 6C 65 64 pe may be filled
0000A0: 2E 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 20 20 20 .............
0000E0: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
0000F0: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
000100: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 70 61 67 65 20 35 2E 35 0D 0A 1A 65 20 47 page 5.5...e G
000130: 72 61 70 68 69 63 73 20 56 44 55 20 61 6C 6C 6F raphics VDU allo
000140: 77 73 20 69 6E 64 69 76 69 64 75 61 6C 20 70 69 ws individual pi
000150: 78 65 6C 73 20 28 64 6F 74 73 29 20 74 6F 20 62 xels (dots) to b
000160: 65 20 73 65 74 20 20 6F 72 20 20 74 65 73 74 65 e set or teste
000170: 64 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 6C 69 d.. and li
000180: 6E 66 6F 72 6D 61 74 69 6F 6E 2E 20 54 68 65 20 nformation. The
000190: 6D 6F 72 65 20 63 6F 6D 70 6C 69 63 61 74 65 64 more complicated
0001A0: 20 74 68 65 20 61 72 65 61 20 74 68 65 20 6C 6F the area the lo
0001B0: 6E 67 65 72 20 74 68 65 20 62 75 66 66 65 72 20 nger the buffer
0001C0: 20 77 69 6C 6C 0D 0A 20 20 20 20 20 20 20 6E 65 will.. ne
0001D0: 65 64 20 62 65 2E 20 49 66 20 74 68 65 20 73 75 ed be. If the su
0001E0: 70 70 6C 69 65 64 20 62 75 66 66 65 72 20 69 73 pplied buffer is
0001F0: 20 74 6F 6F 20 73 68 6F 72 74 20 74 68 65 6E 20 too short then
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 20 20 20 20 20 20 20 36 ........ 6
000010: 20 54 68 65 20 53 63 72 65 65 6E 20 50 61 63 6B The Screen Pack
000020: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 ..... The
000030: 53 63 72 65 65 6E 20 50 61 63 6B 20 69 73 20 75 Screen Pack is u
000040: 73 65 64 20 62 79 20 74 68 65 20 54 65 78 74 20 sed by the Text
000050: 61 6E 64 20 47 72 61 70 68 69 63 73 20 56 44 55 and Graphics VDU
000060: 73 20 20 74 6F 20 20 61 63 63 65 73 73 20 20 74 s to access t
000070: 68 65 0D 0A 20 20 20 20 20 20 20 68 61 72 64 77 he.. hardw
000080: 61 72 65 20 6F 66 20 74 68 65 20 73 63 72 65 65 are of the scree
000090: 6E 2E 20 49 74 20 61 6C 73 6F 20 63 6F 6E 74 72 n. It also contr
0000A0: 6F 6C 73 20 74 68 65 20 66 65 61 74 75 72 65 73 ols the features
0000B0: 20 20 6F 66 20 20 74 68 65 20 20 73 63 72 65 65 of the scree
0000C0: 6E 0D 0A 20 20 20 20 20 20 20 74 68 61 74 20 61 n.. that a
0000D0: 66 66 65 63 74 20 62 6F 74 68 20 74 68 65 20 54 ffect both the T
0000E0: 65 78 74 20 56 44 55 20 61 6E 64 20 47 72 61 70 ext VDU and Grap
0000F0: 68 69 63 73 20 56 44 55 2C 20 73 75 63 68 20 61 hics VDU, such a
000100: 73 20 77 68 61 74 20 6D 6F 64 65 20 20 74 68 65 s what mode the
000110: 0D 0A 20 20 20 20 20 20 20 73 63 72 65 65 6E 20 .. screen
000120: 69 73 20 69 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 is in.....
000130: 20 36 2E 31 20 53 63 72 65 65 6E 20 4D 6F 64 65 6.1 Screen Mode
000140: 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 s....... T
000150: 68 65 20 73 63 72 65 65 6E 20 68 61 73 20 74 68 he screen has th
000160: 72 65 65 20 6D 6F 64 65 73 20 6F 66 20 6F 70 65 ree modes of ope
000170: 72 61 74 69 6F 6E 2C 20 6E 75 6D 62 65 72 65 64 ration, numbered
000180: 20 20 30 2C 20 20 31 20 20 61 6E 64 20 20 32 2E 0, 1 and 2.
000190: 20 20 54 68 65 0D 0A 20 20 20 20 20 20 20 6D 6F The.. mo
0001A0: 64 65 73 20 68 61 76 65 20 64 69 66 66 65 72 65 des have differe
0001B0: 6E 74 20 72 65 73 6F 6C 75 74 69 6F 6E 73 20 61 nt resolutions a
0001C0: 6E 64 20 64 69 73 70 6C 61 79 20 64 69 66 66 65 nd display diffe
0001D0: 72 65 6E 74 20 6E 75 6D 62 65 72 73 20 6F 66 20 rent numbers of
0001E0: 69 6E 6B 73 0D 0A 20 20 20 20 20 20 20 6F 6E 20 inks.. on
0001F0: 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A 0D the screen......
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 41 6C 6C 20 6D 6F 64 65 . All mode
000010: 73 20 68 61 76 65 20 61 20 76 65 72 74 69 63 61 s have a vertica
000020: 6C 20 72 65 73 6F 6C 75 74 69 6F 6E 20 6F 66 20 l resolution of
000030: 32 30 30 20 70 69 78 65 6C 73 20 20 28 70 69 63 200 pixels (pic
000040: 74 75 72 65 20 20 65 6C 65 6D 65 6E 74 73 0D 0A ture elements..
000050: 20 20 20 20 20 20 20 6F 72 20 64 6F 74 73 20 6F or dots o
000060: 6E 20 74 68 65 20 73 63 72 65 65 6E 29 2E 20 54 n the screen). T
000070: 68 65 20 20 68 6F 72 69 7A 6F 6E 74 61 6C 20 20 he horizontal
000080: 72 65 73 6F 6C 75 74 69 6F 6E 20 20 76 61 72 69 resolution vari
000090: 65 73 20 20 66 72 6F 6D 20 20 31 36 30 0D 0A 20 es from 160..
0000A0: 20 20 20 20 20 20 70 69 78 65 6C 73 20 74 6F 20 pixels to
0000B0: 36 34 30 20 70 69 78 65 6C 73 2E 20 41 73 20 65 640 pixels. As e
0000C0: 61 63 68 20 63 68 61 72 61 63 74 65 72 20 69 73 ach character is
0000D0: 20 38 20 70 69 78 65 6C 73 20 62 79 20 20 38 20 8 pixels by 8
0000E0: 20 70 69 78 65 6C 73 20 20 74 68 65 0D 0A 20 20 pixels the..
0000F0: 20 20 20 20 20 6E 75 6D 62 65 72 20 6F 66 20 63 number of c
000100: 68 61 72 61 63 74 65 72 73 20 61 63 72 6F 73 73 haracters across
000110: 20 74 68 65 20 73 63 72 65 65 6E 20 76 61 72 69 the screen vari
000120: 65 73 20 77 69 74 68 20 74 68 65 20 6D 6F 64 65 es with the mode
000130: 20 2D 20 66 72 6F 6D 20 20 32 30 0D 0A 20 20 20 - from 20..
000140: 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 74 characters t
000150: 6F 20 38 30 20 63 68 61 72 61 63 74 65 72 73 2E o 80 characters.
000160: 20 54 68 65 20 73 63 72 65 65 6E 20 69 73 20 61 The screen is a
000170: 6C 77 61 79 73 20 32 35 20 63 68 61 72 61 63 74 lways 25 charact
000180: 65 72 73 20 68 69 67 68 2E 0D 0A 0D 0A 0D 0A 20 ers high.......
000190: 20 20 20 20 20 20 54 68 65 20 6E 75 6D 62 65 72 The number
0001A0: 20 6F 66 20 69 6E 6B 73 20 74 68 61 74 20 63 61 of inks that ca
0001B0: 6E 20 62 65 20 64 69 73 70 6C 61 79 65 64 20 6F n be displayed o
0001C0: 6E 20 74 68 65 20 73 63 72 65 65 6E 20 76 61 72 n the screen var
0001D0: 69 65 73 20 77 69 74 68 20 74 68 65 0D 0A 20 20 ies with the..
0001E0: 20 20 20 20 20 73 63 72 65 65 6E 20 72 65 73 6F screen reso
0001F0: 6C 75 74 69 6F 6E 2E 20 57 68 65 6E 20 74 68 65 lution. When the
Size : 512 (Real : 512)
000000: 20 73 63 72 65 65 6E 20 69 73 20 36 34 30 20 70 screen is 640 p
000010: 69 78 65 6C 73 20 77 69 64 65 20 6F 6E 6C 79 20 ixels wide only
000020: 32 20 69 6E 6B 73 20 20 63 61 6E 0D 0A 20 20 20 2 inks can..
000030: 20 20 20 20 62 65 20 64 69 73 70 6C 61 79 65 64 be displayed
000040: 2C 20 77 68 65 6E 20 74 68 65 20 73 63 72 65 65 , when the scree
000050: 6E 20 20 69 73 20 20 33 32 30 20 20 70 69 78 65 n is 320 pixe
000060: 6C 73 20 20 77 69 64 65 20 20 34 20 20 69 6E 6B ls wide 4 ink
000070: 73 20 20 63 61 6E 20 20 62 65 0D 0A 20 20 20 20 s can be..
000080: 20 20 20 64 69 73 70 6C 61 79 65 64 20 61 6E 64 displayed and
000090: 20 77 68 65 6E 20 74 68 65 20 73 63 72 65 65 6E when the screen
0000A0: 20 69 73 20 20 31 36 30 20 20 70 69 78 65 6C 73 is 160 pixels
0000B0: 20 20 77 69 64 65 20 20 31 36 20 20 69 6E 6B 73 wide 16 inks
0000C0: 20 20 63 61 6E 20 20 62 65 0D 0A 20 20 20 20 20 can be..
0000D0: 20 20 64 69 73 70 6C 61 79 65 64 2E 0D 0A 0D 0A displayed.....
0000E0: 0D 0A 20 20 20 20 20 20 20 49 6E 20 73 75 6D 6D .. In summ
0000F0: 61 72 79 2C 20 74 68 65 20 6D 6F 64 65 73 20 61 ary, the modes a
000100: 72 65 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 re:....
000110: 20 20 20 20 20 4D 6F 64 65 20 20 20 20 20 20 20 Mode
000120: 20 50 69 78 65 6C 20 73 69 7A 65 20 20 20 20 20 Pixel size
000130: 20 20 20 20 20 43 68 61 72 61 63 74 65 72 20 73 Character s
000140: 69 7A 65 20 20 20 20 20 20 49 6E 6B 73 0D 0A 20 ize Inks..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 0
000160: 20 20 20 20 20 20 20 20 20 31 36 30 20 78 20 32 160 x 2
000170: 30 30 20 20 20 20 20 20 20 20 20 20 20 32 30 20 00 20
000180: 78 20 32 35 20 20 20 20 20 20 20 20 20 20 20 20 x 25
000190: 20 31 36 0D 0A 20 20 20 20 20 20 20 20 20 20 20 16..
0001A0: 20 20 20 20 20 31 20 20 20 20 20 20 20 20 20 33 1 3
0001B0: 32 30 20 78 20 32 30 30 20 20 20 20 20 20 20 20 20 x 200
0001C0: 20 20 20 34 30 20 78 20 32 35 20 20 20 20 20 20 40 x 25
0001D0: 20 20 20 20 20 20 20 34 0D 0A 20 20 20 20 20 20 4..
0001E0: 20 20 20 20 20 20 20 20 20 20 32 20 20 20 20 20 2
0001F0: 20 20 20 20 36 34 30 20 78 20 32 30 30 20 20 20 640 x 200
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 38 30 20 78 20 32 35 20 80 x 25
000010: 20 20 20 20 20 20 20 20 20 20 20 20 32 0D 0A 0D 2...
000020: 0A 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 . The defa
000030: 75 6C 74 20 73 63 72 65 65 6E 20 6D 6F 64 65 2C ult screen mode,
000040: 20 73 65 74 20 61 74 20 45 4D 53 2C 20 69 73 20 set at EMS, is
000050: 6D 6F 64 65 20 31 2E 0D 0A 0D 0A 0D 0A 20 20 20 mode 1.......
000060: 20 20 20 20 54 68 65 20 73 63 72 65 65 6E 20 6D The screen m
000070: 6F 64 65 20 69 73 20 73 65 74 20 62 79 20 63 61 ode is set by ca
000080: 6C 6C 69 6E 67 20 53 43 52 20 53 45 54 20 4D 4F lling SCR SET MO
000090: 44 45 20 77 68 69 63 68 20 20 61 6C 73 6F 20 20 DE which also
0000A0: 68 61 73 20 20 6F 74 68 65 72 0D 0A 20 20 20 20 has other..
0000B0: 20 20 20 65 66 66 65 63 74 73 2E 0D 0A 0D 0A 20 effects.....
0000C0: 20 20 20 20 20 20 46 69 72 73 74 6C 79 2C 20 74 Firstly, t
0000D0: 68 65 20 73 63 72 65 65 6E 20 69 73 20 63 6C 65 he screen is cle
0000E0: 61 72 65 64 20 74 6F 20 69 6E 6B 20 30 2E 20 49 ared to ink 0. I
0000F0: 66 20 74 65 78 74 20 20 61 6E 64 20 20 67 72 61 f text and gra
000100: 70 68 69 63 73 20 20 70 61 70 65 72 0D 0A 20 20 phics paper..
000110: 20 20 20 20 20 69 6E 6B 73 20 61 72 65 20 6E 6F inks are no
000120: 74 20 73 65 74 20 74 6F 20 69 6E 6B 20 30 20 74 t set to ink 0 t
000130: 68 65 6E 20 74 68 69 73 20 77 69 6C 6C 20 62 65 hen this will be
000140: 63 6F 6D 65 20 61 70 70 61 72 65 6E 74 20 6F 6E come apparent on
000150: 20 74 68 65 20 73 63 72 65 65 6E 0D 0A 20 20 20 the screen..
000160: 20 20 20 20 77 68 65 6E 20 63 68 61 72 61 63 74 when charact
000170: 65 72 73 20 61 72 65 20 77 72 69 74 74 65 6E 20 ers are written
000180: 6F 72 20 77 69 6E 64 6F 77 73 20 61 72 65 20 63 or windows are c
000190: 6C 65 61 72 65 64 2E 20 49 66 20 74 68 65 20 75 leared. If the u
0001A0: 73 65 72 20 77 69 73 68 65 73 0D 0A 20 20 20 20 ser wishes..
0001B0: 20 20 20 74 6F 20 61 6C 74 65 72 20 74 68 69 73 to alter this
0001C0: 20 73 63 72 65 65 6E 20 63 6C 65 61 72 69 6E 67 screen clearing
0001D0: 20 6F 70 65 72 61 74 69 6F 6E 20 66 6F 72 20 73 operation for s
0001E0: 6F 6D 65 20 72 65 61 73 6F 6E 20 74 68 65 6E 20 ome reason then
0001F0: 69 74 20 6D 61 79 20 62 65 0D 0A 20 20 20 20 20 it may be..
Size : 512 (Real : 512)
000000: 20 20 69 6E 74 65 72 63 65 70 74 65 64 20 61 74 intercepted at
000010: 20 74 68 65 20 53 43 52 20 4D 4F 44 45 20 43 4C the SCR MODE CL
000020: 45 41 52 20 69 6E 64 69 72 65 63 74 69 6F 6E 2E EAR indirection.
000030: 0D 0A 0D 0A 20 20 20 20 20 20 20 53 65 63 6F 6E .... Secon
000040: 64 6C 79 2C 20 74 68 65 20 54 65 78 74 20 61 6E dly, the Text an
000050: 64 20 47 72 61 70 68 69 63 73 20 56 44 55 73 20 d Graphics VDUs
000060: 61 72 65 20 73 65 74 20 69 6E 74 6F 20 73 74 61 are set into sta
000070: 6E 64 61 72 64 20 73 74 61 74 65 73 2E 20 54 68 ndard states. Th
000080: 65 0D 0A 20 20 20 20 20 20 20 77 69 6E 64 6F 77 e.. window
000090: 73 20 61 72 65 20 61 6C 6C 20 73 65 74 20 74 6F s are all set to
0000A0: 20 63 6F 76 65 72 20 74 68 65 20 77 68 6F 6C 65 cover the whole
0000B0: 20 73 63 72 65 65 6E 2E 20 49 66 20 74 68 65 20 screen. If the
0000C0: 20 70 65 6E 20 20 61 6E 64 20 20 70 61 70 65 72 pen and paper
0000D0: 0D 0A 20 20 20 20 20 20 20 69 6E 6B 73 20 61 72 .. inks ar
0000E0: 65 20 6F 75 74 20 6F 66 20 72 61 6E 67 65 20 66 e out of range f
0000F0: 6F 72 20 74 68 65 20 6E 65 77 20 6D 6F 64 65 20 or the new mode
000100: 74 68 65 6E 20 74 68 65 79 20 61 72 65 20 6D 61 then they are ma
000110: 73 6B 65 64 20 28 77 69 74 68 20 20 23 30 31 0D sked (with #01.
000120: 0A 20 20 20 20 20 20 20 6F 72 20 23 30 33 29 20 . or #03)
000130: 74 6F 20 62 72 69 6E 67 20 74 68 65 6D 20 69 6E to bring them in
000140: 74 6F 20 72 61 6E 67 65 2E 20 54 68 65 20 63 75 to range. The cu
000150: 72 72 65 6E 74 20 74 65 78 74 20 70 6F 73 69 74 rrent text posit
000160: 69 6F 6E 73 20 61 72 65 20 6D 6F 76 65 64 0D 0A ions are moved..
000170: 20 20 20 20 20 20 20 74 6F 20 74 68 65 20 74 6F to the to
000180: 70 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 6F 66 p left corner of
000190: 20 74 68 65 20 73 63 72 65 65 6E 20 61 6E 64 20 the screen and
0001A0: 74 68 65 20 74 65 78 74 20 63 75 72 73 6F 72 73 the text cursors
0001B0: 20 20 61 72 65 20 20 74 75 72 6E 65 64 0D 0A 20 are turned..
0001C0: 20 20 20 20 20 20 6F 66 66 20 28 73 65 65 20 54 off (see T
0001D0: 58 54 20 43 55 52 20 4F 46 46 29 2E 20 54 68 65 XT CUR OFF). The
0001E0: 20 63 75 72 72 65 6E 74 20 20 67 72 61 70 68 69 current graphi
0001F0: 63 73 20 20 70 6F 73 69 74 69 6F 6E 20 20 61 6E cs position an
Size : 512 (Real : 512)
000000: 64 20 20 74 68 65 20 20 75 73 65 72 0D 0A 20 20 d the user..
000010: 20 20 20 20 20 6F 72 69 67 69 6E 20 61 72 65 20 origin are
000020: 6D 6F 76 65 64 20 74 6F 20 74 68 65 20 62 6F 74 moved to the bot
000030: 74 6F 6D 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 tom left corner
000040: 6F 66 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A of the screen...
000050: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 .... AMSTR
000060: 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 AD CPC464/664/61
000070: 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 28 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 70 61 67 65 20 36 2E page 6.
0000A0: 31 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 1..............
0000B0: 20 20 20 20 20 20 36 2E 32 20 49 6E 6B 73 20 61 6.2 Inks a
0000C0: 6E 64 20 43 6F 6C 6F 75 72 73 2E 0D 0A 0D 0A 20 nd Colours.....
0000D0: 20 20 20 20 20 20 54 68 65 20 76 61 72 69 6F 75 The variou
0000E0: 73 20 73 63 72 65 65 6E 20 6D 6F 64 65 73 20 61 s screen modes a
0000F0: 6C 6C 6F 77 20 70 69 78 65 6C 73 20 28 64 6F 74 llow pixels (dot
000100: 73 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 29 s on the screen)
000110: 20 74 6F 20 20 62 65 20 20 73 65 74 0D 0A 20 20 to be set..
000120: 20 20 20 20 20 74 6F 20 64 69 66 66 65 72 65 6E to differen
000130: 74 20 6E 75 6D 62 65 72 73 20 6F 66 20 69 6E 6B t numbers of ink
000140: 73 20 61 73 20 66 6F 6C 6C 6F 77 73 3A 0D 0A 0D s as follows:...
000150: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000160: 20 4D 6F 64 65 20 30 3A 20 20 20 20 20 20 20 20 Mode 0:
000170: 20 20 20 20 20 31 36 20 69 6E 6B 73 2C 20 30 2E 16 inks, 0.
000180: 2E 31 35 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .15..
000190: 20 20 20 20 20 4D 6F 64 65 20 31 3A 20 20 20 20 Mode 1:
0001A0: 20 20 20 20 20 20 20 20 20 20 34 20 69 6E 6B 73 4 inks
0001B0: 2C 20 30 2E 2E 33 0D 0A 20 20 20 20 20 20 20 20 , 0..3..
0001C0: 20 20 20 20 20 20 20 20 4D 6F 64 65 20 32 3A 20 Mode 2:
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 32 20 69 2 i
0001E0: 6E 6B 73 2C 20 30 2E 2E 31 0D 0A 0D 0A 20 20 20 nks, 0..1....
0001F0: 20 20 20 20 48 6F 77 20 74 68 65 20 69 6E 6B 20 How the ink
Size : 512 (Real : 512)
000000: 66 6F 72 20 61 20 70 69 78 65 6C 20 69 73 20 65 for a pixel is e
000010: 6E 63 6F 64 65 64 20 69 6E 74 6F 20 61 20 62 79 ncoded into a by
000020: 74 65 20 20 6F 66 20 20 73 63 72 65 65 6E 20 20 te of screen
000030: 6D 65 6D 6F 72 79 20 20 69 73 0D 0A 20 20 20 20 memory is..
000040: 20 20 20 64 65 73 63 72 69 62 65 64 20 69 6E 20 described in
000050: 73 65 63 74 69 6F 6E 20 36 2E 34 2E 20 54 68 65 section 6.4. The
000060: 20 69 6E 6B 20 74 68 61 74 20 61 20 70 69 78 65 ink that a pixe
000070: 6C 20 69 73 20 20 73 65 74 20 20 74 6F 20 20 64 l is set to d
000080: 65 74 65 72 6D 69 6E 65 73 0D 0A 20 20 20 20 20 etermines..
000090: 20 20 77 68 61 74 20 63 6F 6C 6F 75 72 20 74 68 what colour th
0000A0: 65 20 70 69 78 65 6C 20 69 73 20 64 69 73 70 6C e pixel is displ
0000B0: 61 79 65 64 20 69 6E 2E 20 48 6F 77 65 76 65 72 ayed in. However
0000C0: 2C 20 74 68 65 20 63 6F 6C 6F 75 72 20 20 61 73 , the colour as
0000D0: 73 6F 63 69 61 74 65 64 0D 0A 20 20 20 20 20 20 sociated..
0000E0: 20 77 69 74 68 20 61 6E 20 69 6E 6B 20 69 73 20 with an ink is
0000F0: 6E 6F 74 20 66 69 78 65 64 2C 20 69 74 20 63 61 not fixed, it ca
000100: 6E 20 62 65 20 63 68 61 6E 67 65 64 2E 0D 0A 0D n be changed....
000110: 0A 20 20 20 20 20 20 20 54 68 65 72 65 20 61 72 . There ar
000120: 65 20 32 37 20 63 6F 6C 6F 75 72 73 20 61 76 61 e 27 colours ava
000130: 69 6C 61 62 6C 65 2E 20 45 61 63 68 20 69 6E 6B ilable. Each ink
000140: 20 6D 61 79 20 62 65 20 73 65 74 20 74 6F 20 20 may be set to
000150: 61 6E 79 20 20 6F 66 20 20 74 68 65 73 65 0D 0A any of these..
000160: 20 20 20 20 20 20 20 63 6F 6C 6F 75 72 73 2E 20 colours.
000170: 54 68 65 20 62 6F 72 64 65 72 20 74 6F 20 74 68 The border to th
000180: 65 20 73 63 72 65 65 6E 20 61 63 74 73 20 6D 75 e screen acts mu
000190: 63 68 20 6C 69 6B 65 20 61 6E 20 69 6E 6B 20 61 ch like an ink a
0001A0: 6E 64 20 20 63 61 6E 20 20 68 61 76 65 0D 0A 20 nd can have..
0001B0: 20 20 20 20 20 20 69 74 73 20 63 6F 6C 6F 75 72 its colour
0001C0: 20 73 70 65 63 69 66 69 65 64 20 61 73 20 77 65 specified as we
0001D0: 6C 6C 2E 20 54 68 65 20 64 69 73 70 6C 61 79 20 ll. The display
0001E0: 20 68 61 72 64 77 61 72 65 20 20 66 65 74 63 68 hardware fetch
0001F0: 65 73 20 20 74 68 65 20 20 69 6E 6B 0D 0A 20 20 es the ink..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 76 61 6C 75 65 20 66 72 6F 6D 20 value from
000010: 74 68 65 20 73 63 72 65 65 6E 20 6D 65 6D 6F 72 the screen memor
000020: 79 20 66 6F 72 20 65 61 63 68 20 70 69 78 65 6C y for each pixel
000030: 20 61 73 20 69 74 20 69 73 20 20 64 69 73 70 6C as it is displ
000040: 61 79 65 64 2E 20 20 54 68 69 73 0D 0A 20 20 20 ayed. This..
000050: 20 20 20 20 69 6E 6B 20 76 61 6C 75 65 20 69 73 ink value is
000060: 20 75 73 65 64 20 74 6F 20 61 63 63 65 73 73 20 used to access
000070: 61 20 73 6D 61 6C 6C 20 61 72 65 61 20 6F 66 20 a small area of
000080: 52 41 4D 20 69 6E 73 69 64 65 20 74 68 65 20 67 RAM inside the g
000090: 61 74 65 20 20 61 72 72 61 79 0D 0A 20 20 20 20 ate array..
0000A0: 20 20 20 63 61 6C 6C 65 64 20 74 68 65 20 27 70 called the 'p
0000B0: 61 6C 65 74 74 65 27 2E 20 54 68 65 20 70 61 6C alette'. The pal
0000C0: 65 74 74 65 20 63 6F 6E 74 61 69 6E 73 20 74 68 ette contains th
0000D0: 65 20 61 63 74 75 61 6C 20 63 6F 6C 6F 75 72 20 e actual colour
0000E0: 77 68 69 63 68 20 20 69 73 0D 0A 20 20 20 20 20 which is..
0000F0: 20 20 74 6F 20 62 65 20 64 69 73 70 6C 61 79 65 to be displaye
000100: 64 20 62 79 20 74 68 65 20 20 6D 6F 6E 69 74 6F d by the monito
000110: 72 20 20 66 6F 72 20 20 74 68 61 74 20 20 70 61 r for that pa
000120: 72 74 69 63 75 6C 61 72 20 20 69 6E 6B 2E 20 20 rticular ink.
000130: 43 68 61 6E 67 69 6E 67 0D 0A 20 20 20 20 20 20 Changing..
000140: 20 65 6E 74 72 69 65 73 20 69 6E 20 74 68 65 20 entries in the
000150: 70 61 6C 65 74 74 65 20 74 68 75 73 20 63 61 75 palette thus cau
000160: 73 65 73 20 61 6C 6C 20 20 70 69 78 65 6C 73 20 ses all pixels
000170: 20 73 65 74 20 20 74 6F 20 20 74 68 61 74 20 20 set to that
000180: 69 6E 6B 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 ink to..
000190: 63 68 61 6E 67 65 20 63 6F 6C 6F 75 72 20 77 68 change colour wh
0001A0: 65 6E 20 74 68 65 79 20 61 72 65 20 6E 65 78 74 en they are next
0001B0: 20 64 69 73 70 6C 61 79 65 64 20 28 69 2E 65 2E displayed (i.e.
0001C0: 20 77 69 74 68 69 6E 20 20 31 2F 35 30 74 68 20 within 1/50th
0001D0: 20 6F 66 20 20 61 0D 0A 20 20 20 20 20 20 20 73 of a.. s
0001E0: 65 63 6F 6E 64 20 6F 72 20 73 6F 29 2E 0D 0A 0D econd or so)....
0001F0: 0A 20 20 20 20 20 20 20 49 6E 20 66 61 63 74 20 . In fact
Size : 512 (Real : 512)
000000: 74 68 65 20 53 63 72 65 65 6E 20 50 61 63 6B 20 the Screen Pack
000010: 61 6C 6C 6F 77 73 20 74 77 6F 20 63 6F 6C 6F 75 allows two colou
000020: 72 73 20 74 6F 20 62 65 20 20 61 73 73 6F 63 69 rs to be associ
000030: 61 74 65 64 20 20 77 69 74 68 20 20 61 6E 0D 0A ated with an..
000040: 20 20 20 20 20 20 20 69 6E 6B 20 28 6F 72 20 74 ink (or t
000050: 68 65 20 62 6F 72 64 65 72 29 2E 20 54 68 65 73 he border). Thes
000060: 65 20 61 72 65 20 6C 6F 61 64 65 64 20 20 69 6E e are loaded in
000070: 74 6F 20 20 74 68 65 20 20 70 61 6C 65 74 74 65 to the palette
000080: 20 20 61 6C 74 65 72 6E 61 74 65 6C 79 0D 0A 20 alternately..
000090: 20 20 20 20 20 20 75 6E 64 65 72 20 73 6F 66 74 under soft
0000A0: 77 61 72 65 20 63 6F 6E 74 72 6F 6C 2E 20 49 66 ware control. If
0000B0: 20 74 68 65 20 74 77 6F 20 63 6F 6C 6F 75 72 73 the two colours
0000C0: 20 61 73 73 6F 63 69 61 74 65 64 20 77 69 74 68 associated with
0000D0: 20 61 6E 20 69 6E 6B 20 20 61 72 65 0D 0A 20 20 an ink are..
0000E0: 20 20 20 20 20 64 69 66 66 65 72 65 6E 74 20 74 different t
0000F0: 68 65 6E 20 74 68 65 20 69 6E 6B 20 77 69 6C 6C hen the ink will
000100: 20 66 6C 61 73 68 2C 20 69 66 20 74 68 65 20 63 flash, if the c
000110: 6F 6C 6F 75 72 73 20 61 72 65 20 20 74 68 65 20 olours are the
000120: 20 73 61 6D 65 20 20 74 68 65 6E 0D 0A 20 20 20 same then..
000130: 20 20 20 20 74 68 65 20 69 6E 6B 20 77 69 6C 6C the ink will
000140: 20 62 65 20 73 74 65 61 64 79 2E 20 54 68 65 20 be steady. The
000150: 75 73 65 72 20 63 61 6E 20 63 68 61 6E 67 65 20 user can change
000160: 74 68 65 20 72 61 74 65 20 20 6F 66 20 20 61 6C the rate of al
000170: 74 65 72 6E 61 74 69 6F 6E 2C 0D 0A 20 20 20 20 ternation,..
000180: 20 20 20 66 72 6F 6D 20 74 68 65 20 64 65 66 61 from the defa
000190: 75 6C 74 20 6F 66 20 35 20 63 79 63 6C 65 73 20 ult of 5 cycles
0001A0: 70 65 72 20 73 65 63 6F 6E 64 2C 20 20 69 66 20 per second, if
0001B0: 20 72 65 71 75 69 72 65 64 20 20 28 73 65 65 20 required (see
0001C0: 20 53 43 52 20 20 53 45 54 0D 0A 20 20 20 20 20 SCR SET..
0001D0: 20 20 46 4C 41 53 48 49 4E 47 29 2E 0D 0A 0D 0A FLASHING).....
0001E0: 20 20 20 20 20 20 20 57 68 65 6E 20 20 73 70 65 When spe
0001F0: 63 69 66 79 69 6E 67 20 20 63 6F 6C 6F 75 72 73 cifying colours
Size : 512 (Real : 512)
000000: 20 20 74 68 65 20 20 53 63 72 65 65 6E 20 20 50 the Screen P
000010: 61 63 6B 20 20 75 73 65 73 20 20 61 6E 20 20 6F ack uses an o
000020: 72 64 65 72 69 6E 67 20 20 74 68 61 74 0D 0A 20 rdering that..
000030: 20 20 20 20 20 20 63 6F 72 72 65 73 70 6F 6E 64 correspond
000040: 73 20 74 6F 20 61 20 67 72 65 79 20 73 63 61 6C s to a grey scal
000050: 65 20 6F 6E 20 61 20 6D 6F 6E 6F 63 68 72 6F 6D e on a monochrom
000060: 65 20 6D 6F 6E 69 74 6F 72 2E 20 20 54 68 69 73 e monitor. This
000070: 20 20 72 75 6E 73 20 20 66 72 6F 6D 0D 0A 20 20 runs from..
000080: 20 20 20 20 20 74 68 65 20 64 61 72 6B 65 73 74 the darkest
000090: 20 63 6F 6C 6F 75 72 20 28 62 6C 61 63 6B 29 2C colour (black),
0000A0: 20 63 6F 6C 6F 75 72 20 30 2C 20 74 6F 20 74 68 colour 0, to th
0000B0: 65 20 62 72 69 67 68 74 65 73 74 20 63 6F 6C 6F e brightest colo
0000C0: 75 72 20 20 28 62 72 69 67 68 74 0D 0A 20 20 20 ur (bright..
0000D0: 20 20 20 20 77 68 69 74 65 29 2C 20 63 6F 6C 6F white), colo
0000E0: 75 72 20 32 36 2E 20 54 68 65 20 63 6F 6C 6F 75 ur 26. The colou
0000F0: 72 73 20 64 6F 20 6E 6F 74 20 61 70 70 65 61 72 rs do not appear
000100: 20 74 6F 20 20 68 61 76 65 20 20 61 6E 79 20 20 to have any
000110: 70 61 72 74 69 63 75 6C 61 72 0D 0A 20 20 20 20 particular..
000120: 20 20 20 6F 72 64 65 72 69 6E 67 20 77 68 65 6E ordering when
000130: 20 76 69 65 77 65 64 20 6F 6E 20 61 20 63 6F 6C viewed on a col
000140: 6F 75 72 20 6D 6F 6E 69 74 6F 72 2E 0D 0A 0D 0A our monitor.....
000150: 20 20 20 20 20 20 20 54 68 65 20 70 61 6C 65 74 The palet
000160: 74 65 20 75 73 65 73 20 61 20 64 69 66 66 65 72 te uses a differ
000170: 65 6E 74 20 28 61 6E 64 20 20 61 70 70 61 72 65 ent (and appare
000180: 6E 74 6C 79 20 20 6E 6F 6E 73 65 6E 73 69 63 61 ntly nonsensica
000190: 6C 29 20 20 6E 75 6D 62 65 72 69 6E 67 0D 0A 20 l) numbering..
0001A0: 20 20 20 20 20 20 73 63 68 65 6D 65 20 66 6F 72 scheme for
0001B0: 20 74 68 65 20 63 6F 6C 6F 75 72 73 2E 20 54 68 the colours. Th
0001C0: 65 20 53 63 72 65 65 6E 20 50 61 63 6B 20 61 75 e Screen Pack au
0001D0: 74 6F 6D 61 74 69 63 61 6C 6C 79 20 20 74 72 61 tomatically tra
0001E0: 6E 73 6C 61 74 65 73 20 20 74 68 65 0D 0A 20 20 nslates the..
0001F0: 20 20 20 20 20 67 72 65 79 20 20 73 63 61 6C 65 grey scale
Size : 512 (Real : 512)
000000: 20 20 6E 75 6D 62 65 72 20 20 74 6F 20 20 74 68 number to th
000010: 65 20 20 68 61 72 64 77 61 72 65 20 20 6E 75 6D e hardware num
000020: 62 65 72 20 20 61 6E 64 20 20 76 69 63 65 20 20 ber and vice
000030: 76 65 72 73 61 20 20 77 68 65 6E 0D 0A 20 20 20 versa when..
000040: 20 20 20 20 61 70 70 72 6F 70 72 69 61 74 65 2E appropriate.
000050: 20 55 6E 6C 65 73 73 20 74 68 65 20 75 73 65 72 Unless the user
000060: 20 69 73 20 20 64 72 69 76 69 6E 67 20 20 74 68 is driving th
000070: 65 20 20 68 61 72 64 77 61 72 65 20 20 64 69 72 e hardware dir
000080: 65 63 74 6C 79 20 20 74 68 65 0D 0A 20 20 20 20 ectly the..
000090: 20 20 20 68 61 72 64 77 61 72 65 20 6E 75 6D 62 hardware numb
0000A0: 65 72 73 20 77 69 6C 6C 20 6E 65 76 65 72 20 62 ers will never b
0000B0: 65 20 65 6E 63 6F 75 6E 74 65 72 65 64 2E 0D 0A e encountered...
0000C0: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 64 65 66 .. The def
0000D0: 61 75 6C 74 20 73 65 74 74 69 6E 67 73 20 66 6F ault settings fo
0000E0: 72 20 74 68 65 20 63 6F 6C 6F 75 72 20 6F 66 20 r the colour of
0000F0: 65 61 63 68 20 69 6E 6B 20 61 6E 64 20 61 20 6C each ink and a l
000100: 69 73 74 20 6F 66 20 20 74 68 65 20 20 32 37 0D ist of the 27.
000110: 0A 20 20 20 20 20 20 20 63 6F 6C 6F 75 72 73 20 . colours
000120: 61 76 61 69 6C 61 62 6C 65 20 61 72 65 20 67 69 available are gi
000130: 76 65 6E 20 69 6E 20 41 70 70 65 6E 64 69 78 20 ven in Appendix
000140: 56 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 36 2E 33 V..... 6.3
000150: 20 53 63 72 65 65 6E 20 41 64 64 72 65 73 73 65 Screen Addresse
000160: 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 s..... The
000170: 20 53 63 72 65 65 6E 20 50 61 63 6B 20 64 6F 65 Screen Pack doe
000180: 73 20 6E 6F 74 20 75 73 65 20 20 61 20 20 63 6F s not use a co
000190: 6F 72 64 69 6E 61 74 65 20 20 73 79 73 74 65 6D ordinate system
0001A0: 20 20 69 74 73 65 6C 66 2E 20 20 49 74 20 20 75 itself. It u
0001B0: 73 65 73 0D 0A 20 20 20 20 20 20 20 73 63 72 65 ses.. scre
0001C0: 65 6E 20 61 64 64 72 65 73 73 65 73 2E 20 48 6F en addresses. Ho
0001D0: 77 65 76 65 72 2C 20 69 74 20 64 6F 65 73 20 77 wever, it does w
0001E0: 6F 72 6B 20 77 69 74 68 20 20 74 68 65 20 20 70 ork with the p
0001F0: 68 79 73 69 63 61 6C 20 20 61 6E 64 20 20 62 61 hysical and ba
Size : 512 (Real : 512)
000000: 73 65 0D 0A 20 20 20 20 20 20 20 63 6F 6F 72 64 se.. coord
000010: 69 6E 61 74 65 20 73 79 73 74 65 6D 20 6F 66 20 inate system of
000020: 74 68 65 20 54 65 78 74 20 61 6E 64 20 47 72 61 the Text and Gra
000030: 70 68 69 63 73 20 56 44 55 73 20 64 65 73 63 72 phics VDUs descr
000040: 69 62 65 64 20 20 69 6E 20 20 73 65 63 74 69 6F ibed in sectio
000050: 6E 0D 0A 20 20 20 20 20 20 20 34 2E 31 20 61 6E n.. 4.1 an
000060: 64 20 35 2E 31 20 72 65 73 70 65 63 74 69 76 65 d 5.1 respective
000070: 6C 79 2E 20 49 6E 20 20 70 61 72 74 69 63 75 6C ly. In particul
000080: 61 72 2C 20 20 72 6F 75 74 69 6E 65 73 20 20 61 ar, routines a
000090: 72 65 20 20 70 72 6F 76 69 64 65 64 20 20 74 6F re provided to
0000A0: 0D 0A 20 20 20 20 20 20 20 63 6F 6E 76 65 72 74 .. convert
0000B0: 20 70 6F 73 69 74 69 6F 6E 73 20 67 69 76 65 6E positions given
0000C0: 20 69 6E 20 70 68 79 73 69 63 61 6C 20 20 6F 72 in physical or
0000D0: 20 20 62 61 73 65 20 20 63 6F 6F 72 64 69 6E 61 base coordina
0000E0: 74 65 73 20 20 74 6F 20 20 73 63 72 65 65 6E 0D tes to screen.
0000F0: 0A 20 20 20 20 20 20 20 61 64 64 72 65 73 73 65 . addresse
000100: 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 s.........
000110: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
000120: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
000130: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
000150: 61 67 65 20 36 2E 32 0D 0A 0D 0A 0D 0A 0D 0A 0D age 6.2.........
000160: 0A 0D 0A 20 20 20 20 20 20 20 41 20 73 63 72 65 ... A scre
000170: 65 6E 20 61 64 64 72 65 73 73 20 69 73 2C 20 70 en address is, p
000180: 72 6F 73 61 69 63 61 6C 6C 79 20 65 6E 6F 75 67 rosaically enoug
000190: 68 2C 20 74 68 65 20 61 64 64 72 65 73 73 20 6F h, the address o
0001A0: 66 20 61 20 62 79 74 65 20 20 77 69 74 68 69 6E f a byte within
0001B0: 0D 0A 20 20 20 20 20 20 20 74 68 65 20 73 63 72 .. the scr
0001C0: 65 65 6E 20 6D 65 6D 6F 72 79 2E 20 54 6F 20 73 een memory. To s
0001D0: 70 65 63 69 66 79 20 61 20 70 61 72 74 69 63 75 pecify a particu
0001E0: 6C 61 72 20 70 69 78 65 6C 20 61 20 73 63 72 65 lar pixel a scre
0001F0: 65 6E 20 20 61 64 64 72 65 73 73 20 20 69 73 0D en address is.
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 6F 66 74 65 6E 20 70 61 . often pa
000010: 73 73 65 64 20 74 6F 20 61 20 72 6F 75 74 69 6E ssed to a routin
000020: 65 20 61 6C 6F 6E 67 20 77 69 74 68 20 61 20 20 e along with a
000030: 6D 61 73 6B 20 20 74 68 61 74 20 20 69 6E 64 69 mask that indi
000040: 63 61 74 65 73 20 20 65 78 61 63 74 6C 79 0D 0A cates exactly..
000050: 20 20 20 20 20 20 20 77 68 69 63 68 20 70 69 78 which pix
000060: 65 6C 20 69 73 20 72 65 71 75 69 72 65 64 2E 20 el is required.
000070: 52 6F 75 74 69 6E 65 73 20 61 72 65 20 70 72 6F Routines are pro
000080: 76 69 64 65 64 20 66 6F 72 20 73 74 65 70 70 69 vided for steppi
000090: 6E 67 20 20 61 20 20 73 63 72 65 65 6E 0D 0A 20 ng a screen..
0000A0: 20 20 20 20 20 20 61 64 64 72 65 73 73 20 75 70 address up
0000B0: 2C 20 64 6F 77 6E 2C 20 72 69 67 68 74 20 61 6E , down, right an
0000C0: 64 20 6C 65 66 74 20 6F 6E 65 20 62 79 74 65 2E d left one byte.
0000D0: 20 28 54 68 65 20 73 63 72 65 65 6E 20 6D 61 70 (The screen map
0000E0: 20 6D 61 6B 65 73 20 20 74 68 69 73 0D 0A 20 20 makes this..
0000F0: 20 20 20 20 20 61 20 6E 6F 6E 2D 74 72 69 76 69 a non-trivi
000100: 61 6C 20 6F 70 65 72 61 74 69 6F 6E 2E 29 0D 0A al operation.)..
000110: 0D 0A 20 20 20 20 20 20 20 36 2E 34 20 53 63 72 .. 6.4 Scr
000120: 65 65 6E 20 4D 65 6D 6F 72 79 20 4D 61 70 2E 0D een Memory Map..
000130: 0A 20 20 20 20 20 20 20 54 68 65 20 73 63 72 65 . The scre
000140: 65 6E 20 69 73 20 61 20 6D 65 6D 6F 72 79 20 6D en is a memory m
000150: 61 70 70 65 64 20 70 69 78 65 6C 20 73 63 72 65 apped pixel scre
000160: 65 6E 2E 20 54 68 65 20 20 73 63 72 65 65 6E 20 en. The screen
000170: 20 6D 65 6D 6F 72 79 20 20 66 69 6C 6C 73 0D 0A memory fills..
000180: 0D 0A 20 20 20 20 20 20 20 31 36 4B 20 6F 66 20 .. 16K of
000190: 52 41 4D 20 69 6E 20 61 6C 6C 20 6D 6F 64 65 73 RAM in all modes
0001A0: 2E 20 54 68 65 20 64 65 66 61 75 6C 74 20 6C 6F . The default lo
0001B0: 63 61 74 69 6F 6E 20 66 6F 72 20 74 68 65 20 73 cation for the s
0001C0: 63 72 65 65 6E 2C 20 20 73 65 74 20 20 61 74 0D creen, set at.
0001D0: 0A 20 20 20 20 20 20 20 45 4D 53 2C 20 69 73 20 . EMS, is
0001E0: 74 68 65 20 31 36 4B 20 6F 66 20 52 41 4D 20 73 the 16K of RAM s
0001F0: 74 61 72 74 69 6E 67 20 61 74 20 23 43 30 30 30 tarting at #C000
Size : 512 (Real : 512)
000000: 2E 20 20 54 68 69 73 20 20 6C 69 65 73 20 20 75 . This lies u
000010: 6E 64 65 72 6E 65 61 74 68 20 20 74 68 65 0D 0A nderneath the..
000020: 20 20 20 20 20 20 20 75 70 70 65 72 20 52 4F 4D upper ROM
000030: 2C 20 77 68 65 6E 20 69 74 20 69 73 20 65 6E 61 , when it is ena
000040: 62 6C 65 64 2C 20 77 68 69 63 68 20 6B 65 65 70 bled, which keep
000050: 73 20 74 68 65 20 73 63 72 65 65 6E 20 6F 75 74 s the screen out
000060: 20 6F 66 20 20 74 68 65 20 20 77 61 79 0D 0A 20 of the way..
000070: 20 20 20 20 20 20 6F 66 20 74 68 65 20 72 65 73 of the res
000080: 74 20 6F 66 20 74 68 65 20 73 79 73 74 65 6D 2E t of the system.
000090: 20 48 6F 77 65 76 65 72 2C 20 68 69 73 20 61 6C However, his al
0000A0: 73 6F 20 6D 65 61 6E 73 20 74 68 61 74 20 74 68 so means that th
0000B0: 65 20 75 70 70 65 72 20 20 52 4F 4D 0D 0A 20 20 e upper ROM..
0000C0: 20 20 20 20 20 68 61 73 20 74 6F 20 62 65 20 64 has to be d
0000D0: 69 73 61 62 6C 65 64 20 77 68 65 6E 65 76 65 72 isabled whenever
0000E0: 20 74 68 65 20 73 63 72 65 65 6E 20 69 73 20 72 the screen is r
0000F0: 65 61 64 2E 20 54 68 65 20 66 69 72 6D 77 61 72 ead. The firmwar
000100: 65 20 6A 75 6D 70 62 6C 6F 63 6B 0D 0A 20 20 20 e jumpblock..
000110: 20 20 20 20 75 73 65 73 20 4C 4F 57 20 4A 55 4D uses LOW JUM
000120: 50 20 72 65 73 74 61 72 74 73 20 77 68 69 63 68 P restarts which
000130: 20 74 75 72 6E 20 74 68 65 20 75 70 70 65 72 20 turn the upper
000140: 52 4F 4D 20 6F 66 66 20 74 6F 20 65 6E 73 75 72 ROM off to ensur
000150: 65 20 74 68 61 74 20 74 68 65 0D 0A 20 20 20 20 e that the..
000160: 20 20 20 73 63 72 65 65 6E 20 6D 65 6D 6F 72 79 screen memory
000170: 20 69 73 20 61 63 63 65 73 73 69 62 6C 65 20 69 is accessible i
000180: 66 20 72 65 71 75 69 72 65 64 2E 0D 0A 0D 0A 20 f required.....
000190: 20 20 20 20 20 20 49 74 20 69 73 20 70 6F 73 73 It is poss
0001A0: 69 62 6C 65 20 74 6F 20 63 68 61 6E 67 65 20 74 ible to change t
0001B0: 68 65 20 6C 6F 63 61 74 69 6F 6E 20 6F 66 20 74 he location of t
0001C0: 68 65 20 73 63 72 65 65 6E 20 6D 65 6D 6F 72 79 he screen memory
0001D0: 20 74 6F 20 20 61 6E 79 20 20 6F 66 0D 0A 20 20 to any of..
0001E0: 20 20 20 20 20 74 68 65 20 34 20 31 36 4B 20 6D the 4 16K m
0001F0: 65 6D 6F 72 79 20 62 6C 6F 63 6B 73 20 6F 6E 20 emory blocks on
Size : 512 (Real : 512)
000000: 31 36 4B 20 62 6F 75 6E 64 61 72 69 65 73 20 28 16K boundaries (
000010: 73 65 65 20 53 43 52 20 53 45 54 20 42 41 53 45 see SCR SET BASE
000020: 29 2E 20 48 6F 77 65 76 65 72 2C 0D 0A 20 20 20 ). However,..
000030: 20 20 20 20 6F 6E 6C 79 20 23 43 30 30 30 20 61 only #C000 a
000040: 6E 64 20 23 34 30 30 30 20 61 72 65 20 75 73 65 nd #4000 are use
000050: 66 75 6C 3B 20 23 30 30 30 30 20 20 61 6E 64 20 ful; #0000 and
000060: 20 23 38 30 30 30 20 20 62 6F 74 68 20 20 6F 76 #8000 both ov
000070: 65 72 6C 61 70 20 20 74 68 65 0D 0A 20 20 20 20 erlap the..
000080: 20 20 20 66 69 72 6D 77 61 72 65 20 6A 75 6D 70 firmware jump
000090: 62 6C 6F 63 6B 73 20 6F 72 20 6F 74 68 65 72 20 blocks or other
0000A0: 73 79 73 74 65 6D 20 61 72 65 61 73 2E 20 54 68 system areas. Th
0000B0: 65 20 64 65 73 63 72 69 70 74 69 6F 6E 73 20 62 e descriptions b
0000C0: 65 6C 6F 77 20 20 61 6C 6C 0D 0A 20 20 20 20 20 elow all..
0000D0: 20 20 61 73 73 75 6D 65 20 74 68 65 20 64 65 66 assume the def
0000E0: 61 75 6C 74 20 73 63 72 65 65 6E 20 6C 6F 63 61 ault screen loca
0000F0: 74 69 6F 6E 20 61 74 20 23 43 30 30 30 2E 0D 0A tion at #C000...
000100: 0D 0A 20 20 20 20 20 20 20 49 6E 20 56 31 2E 31 .. In V1.1
000110: 20 66 69 72 6D 77 61 72 65 20 69 73 20 69 74 20 firmware is it
000120: 70 6F 73 73 69 62 6C 65 20 74 6F 20 73 65 74 20 possible to set
000130: 74 68 65 20 6C 6F 63 61 74 69 6F 6E 20 6F 66 20 the location of
000140: 74 68 65 20 73 63 72 65 65 6E 20 74 68 61 74 0D the screen that.
000150: 0A 20 20 20 20 20 20 20 69 73 20 75 73 65 64 20 . is used
000160: 62 79 20 74 68 65 20 73 63 72 65 65 6E 20 20 70 by the screen p
000170: 61 63 6B 20 20 72 6F 75 74 69 6E 65 73 20 20 69 ack routines i
000180: 6E 64 65 70 65 6E 64 65 6E 74 6C 79 20 20 6F 66 ndependently of
000190: 20 20 73 65 74 74 69 6E 67 20 20 74 68 65 0D 0A setting the..
0001A0: 20 20 20 20 20 20 20 68 61 72 64 77 61 72 65 20 hardware
0001B0: 76 61 6C 75 65 2E 20 54 68 69 73 20 77 69 6C 6C value. This will
0001C0: 20 74 68 65 6E 20 65 6E 61 62 6C 65 20 74 65 78 then enable tex
0001D0: 74 20 61 6E 64 20 67 72 61 70 68 69 63 73 20 74 t and graphics t
0001E0: 6F 20 62 65 20 70 72 6F 64 75 63 65 64 0D 0A 20 o be produced..
0001F0: 20 20 20 20 20 20 69 6E 20 74 68 65 20 27 73 63 in the 'sc
Size : 512 (Real : 512)
000000: 72 65 65 6E 27 20 74 68 61 74 20 69 73 6E 27 74 reen' that isn't
000010: 20 63 75 72 72 65 6E 74 6C 79 20 69 6E 20 76 69 currently in vi
000020: 65 77 20 2D 20 73 77 69 74 63 68 69 6E 67 20 74 ew - switching t
000030: 6F 20 74 68 65 20 20 6F 74 68 65 72 0D 0A 20 20 o the other..
000040: 20 20 20 20 20 70 6F 73 73 69 62 6C 65 20 6C 6F possible lo
000050: 63 61 74 69 6F 6E 20 28 23 34 30 30 30 20 74 6F cation (#4000 to
000060: 20 23 43 30 30 30 29 20 77 69 6C 6C 20 20 63 61 #C000) will ca
000070: 75 73 65 20 20 74 68 65 20 20 61 6C 72 65 61 64 use the alread
000080: 79 20 20 70 72 65 70 61 72 65 64 0D 0A 20 20 20 y prepared..
000090: 20 20 20 20 67 72 61 70 68 69 63 73 20 65 74 63 graphics etc
0000A0: 2E 20 74 6F 20 69 6E 73 74 61 6E 74 6C 79 20 61 . to instantly a
0000B0: 70 70 65 61 72 20 2D 20 74 68 75 73 20 61 76 6F ppear - thus avo
0000C0: 69 64 69 6E 67 20 66 6C 69 63 6B 65 72 20 61 6E iding flicker an
0000D0: 64 20 65 6E 61 62 6C 69 6E 67 0D 0A 20 20 20 20 d enabling..
0000E0: 20 20 20 73 6D 6F 6F 74 68 20 61 6E 69 6D 61 74 smooth animat
0000F0: 69 6F 6E 20 65 66 66 65 63 74 73 2E 0D 0A 0D 0A ion effects.....
000100: 20 20 20 20 20 20 20 54 68 65 20 73 63 72 65 65 The scree
000110: 6E 20 6D 65 6D 6F 72 79 20 6D 61 70 20 69 73 20 n memory map is
000120: 6E 6F 74 20 73 69 6D 70 6C 65 2E 20 46 6F 72 74 not simple. Fort
000130: 75 6E 61 74 65 6C 79 20 69 74 20 69 73 20 20 6E unately it is n
000140: 6F 74 20 20 6E 65 63 65 73 73 61 72 79 0D 0A 20 ot necessary..
000150: 20 20 20 20 20 20 74 6F 20 75 6E 64 65 72 73 74 to underst
000160: 61 6E 64 20 69 74 20 62 65 63 61 75 73 65 20 74 and it because t
000170: 68 65 20 54 65 78 74 20 61 6E 64 20 47 72 61 70 he Text and Grap
000180: 68 69 63 73 20 56 44 55 73 20 70 72 6F 76 69 64 hics VDUs provid
000190: 65 20 20 69 64 65 61 6C 69 73 65 64 0D 0A 20 20 e idealised..
0001A0: 20 20 20 20 20 6D 6F 64 65 6C 73 20 6F 66 20 74 models of t
0001B0: 68 65 20 73 63 72 65 65 6E 2E 20 48 6F 77 65 76 he screen. Howev
0001C0: 65 72 2C 20 74 6F 20 61 63 68 69 65 76 65 20 6D er, to achieve m
0001D0: 61 78 69 6D 75 6D 20 20 73 70 65 65 64 20 20 66 aximum speed f
0001E0: 6F 72 20 20 63 65 72 74 61 69 6E 0D 0A 20 20 20 or certain..
0001F0: 20 20 20 20 61 70 70 6C 69 63 61 74 69 6F 6E 73 applications
Size : 512 (Real : 512)
000000: 20 28 73 75 63 68 20 61 73 20 61 6E 69 6D 61 74 (such as animat
000010: 65 64 20 67 61 6D 65 73 29 20 69 74 20 6D 61 79 ed games) it may
000020: 20 62 65 20 20 6E 65 63 65 73 73 61 72 79 20 20 be necessary
000030: 74 6F 20 20 61 63 63 65 73 73 0D 0A 20 20 20 20 to access..
000040: 20 20 20 74 68 65 20 73 63 72 65 65 6E 20 6D 65 the screen me
000050: 6D 6F 72 79 20 64 69 72 65 63 74 6C 79 2E 0D 0A mory directly...
000060: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 73 63 72 .. The scr
000070: 65 65 6E 20 6D 65 6D 6F 72 79 20 69 73 20 64 69 een memory is di
000080: 76 69 64 65 64 20 69 6E 74 6F 20 38 20 62 6C 6F vided into 8 blo
000090: 63 6B 73 2C 20 65 61 63 68 20 32 4B 20 62 79 74 cks, each 2K byt
0000A0: 65 73 20 6C 6F 6E 67 2E 20 20 42 6C 6F 63 6B 0D es long. Block.
0000B0: 0A 20 20 20 20 20 20 20 30 20 72 75 6E 73 20 66 . 0 runs f
0000C0: 72 6F 6D 20 23 43 30 30 30 20 74 6F 20 23 43 37 rom #C000 to #C7
0000D0: 46 46 2C 20 62 6C 6F 63 6B 20 31 20 72 75 6E 73 FF, block 1 runs
0000E0: 20 66 72 6F 6D 20 23 43 38 30 30 20 74 6F 20 23 from #C800 to #
0000F0: 43 46 46 46 2C 20 20 61 6E 64 20 20 73 6F 0D 0A CFFF, and so..
000100: 20 20 20 20 20 20 20 6F 6E 2E 20 45 61 63 68 20 on. Each
000110: 6C 69 6E 65 20 6F 66 20 70 69 78 65 6C 73 20 6F line of pixels o
000120: 6E 20 74 68 65 20 73 63 72 65 65 6E 20 75 73 65 n the screen use
000130: 73 20 38 30 20 63 6F 6E 73 65 63 75 74 69 76 65 s 80 consecutive
000140: 20 62 79 74 65 73 20 66 72 6F 6D 20 61 0D 0A 20 bytes from a..
000150: 20 20 20 20 20 20 62 6C 6F 63 6B 2E 20 54 68 65 block. The
000160: 20 74 6F 70 20 6C 69 6E 65 20 6F 66 20 74 68 65 top line of the
000170: 20 73 63 72 65 65 6E 20 63 6F 6D 65 73 20 66 72 screen comes fr
000180: 6F 6D 20 62 6C 6F 63 6B 20 30 2C 20 74 68 65 20 om block 0, the
000190: 73 65 63 6F 6E 64 20 20 66 72 6F 6D 0D 0A 20 20 second from..
0001A0: 20 20 20 20 20 62 6C 6F 63 6B 20 31 20 61 6E 64 block 1 and
0001B0: 20 73 6F 20 6F 6E 20 75 6E 74 69 6C 20 74 68 65 so on until the
0001C0: 20 65 69 67 68 74 68 20 6C 69 6E 65 20 77 68 69 eighth line whi
0001D0: 63 68 20 63 6F 6D 65 73 20 66 72 6F 6D 20 62 6C ch comes from bl
0001E0: 6F 63 6B 20 37 2E 20 20 54 68 65 0D 0A 20 20 20 ock 7. The..
0001F0: 20 20 20 20 73 65 71 75 65 6E 63 65 20 73 74 61 sequence sta
Size : 512 (Real : 512)
000000: 72 74 73 20 77 69 74 68 20 62 6C 6F 63 6B 20 30 rts with block 0
000010: 20 61 67 61 69 6E 20 6F 6E 20 74 68 65 20 6E 69 again on the ni
000020: 6E 74 68 20 6C 69 6E 65 20 20 61 6E 64 20 20 72 nth line and r
000030: 65 70 65 61 74 73 20 20 69 6E 0D 0A 20 20 20 20 epeats in..
000040: 20 20 20 74 68 69 73 20 66 61 73 68 69 6F 6E 20 this fashion
000050: 61 6C 6C 20 74 68 65 20 77 61 79 20 64 6F 77 6E all the way down
000060: 20 74 68 65 20 73 63 72 65 65 6E 2E 20 54 68 65 the screen. The
000070: 20 73 75 63 63 65 73 73 69 76 65 20 20 6C 69 6E successive lin
000080: 65 73 20 20 69 6E 20 20 61 0D 0A 20 20 20 20 20 es in a..
000090: 20 20 62 6C 6F 63 6B 20 61 72 65 20 73 74 6F 72 block are stor
0000A0: 65 64 20 63 6F 6E 73 65 63 75 74 69 76 65 6C 79 ed consecutively
0000B0: 20 73 6F 20 74 68 65 72 65 20 61 72 65 20 34 38 so there are 48
0000C0: 20 75 6E 75 73 65 64 20 62 79 74 65 73 20 61 74 unused bytes at
0000D0: 20 74 68 65 20 65 6E 64 0D 0A 20 20 20 20 20 20 the end..
0000E0: 20 6F 66 20 65 61 63 68 20 62 6C 6F 63 6B 2E 0D of each block..
0000F0: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 72 65 20 ... There
000100: 69 73 20 66 75 72 74 68 65 72 20 63 6F 6D 70 6C is further compl
000110: 69 63 61 74 69 6F 6E 20 69 6E 20 20 74 68 69 73 ication in this
000120: 20 20 73 63 72 65 65 6E 20 20 6D 61 70 2E 20 20 screen map.
000130: 54 68 65 20 20 64 65 73 63 72 69 70 74 69 6F 6E The description
000140: 0D 0A 20 20 20 20 20 20 20 61 62 6F 76 65 20 61 .. above a
000150: 73 73 75 6D 65 73 20 74 68 61 74 20 74 68 65 20 ssumes that the
000160: 66 69 72 73 74 20 62 79 74 65 20 64 69 73 70 6C first byte displ
000170: 61 79 65 64 20 20 66 72 6F 6D 20 20 74 68 65 20 ayed from the
000180: 20 62 6C 6F 63 6B 20 20 69 73 20 20 74 68 65 0D block is the.
000190: 0A 20 20 20 20 20 20 20 66 69 72 73 74 20 62 79 . first by
0001A0: 74 65 20 6F 66 20 74 68 65 20 62 6C 6F 63 6B 2E te of the block.
0001B0: 20 49 6E 20 70 72 61 63 74 69 63 65 20 74 68 65 In practice the
0001C0: 20 6F 66 66 73 65 74 20 20 69 6E 20 20 61 20 20 offset in a
0001D0: 62 6C 6F 63 6B 20 20 6F 66 20 20 74 68 65 0D 0A block of the..
0001E0: 20 20 20 20 20 20 20 66 69 72 73 74 20 62 79 74 first byt
0001F0: 65 20 74 6F 20 62 65 20 64 69 73 70 6C 61 79 20 e to be display
Size : 512 (Real : 512)
000000: 63 61 6E 20 62 65 20 73 65 74 20 74 6F 20 61 6E can be set to an
000010: 79 20 65 76 65 6E 20 20 76 61 6C 75 65 20 20 28 y even value (
000020: 73 65 65 20 20 53 43 52 20 20 53 45 54 0D 0A 20 see SCR SET..
000030: 20 20 20 20 20 20 4F 46 46 53 45 54 29 2E 20 54 OFFSET). T
000040: 68 65 20 73 61 6D 65 20 6F 66 66 73 65 74 20 61 he same offset a
000050: 70 70 6C 69 65 73 20 74 6F 20 61 6C 6C 20 65 69 pplies to all ei
000060: 67 68 74 20 62 6C 6F 63 6B 73 2E 20 20 41 20 20 ght blocks. A
000070: 62 6C 6F 63 6B 20 20 77 72 61 70 73 0D 0A 20 20 block wraps..
000080: 20 20 20 20 20 61 72 6F 75 6E 64 20 66 72 6F 6D around from
000090: 20 69 74 73 20 6C 61 73 74 20 62 79 74 65 20 74 its last byte t
0000A0: 6F 20 69 74 73 20 66 69 72 73 74 20 62 79 74 65 o its first byte
0000B0: 2C 20 20 74 68 75 73 20 20 23 43 37 46 45 2C 20 , thus #C7FE,
0000C0: 20 23 43 37 46 46 20 20 61 6E 64 0D 0A 20 20 20 #C7FF and..
0000D0: 20 20 20 20 23 43 30 30 30 20 61 72 65 20 63 6F #C000 are co
0000E0: 6E 73 65 63 75 74 69 76 65 20 62 79 74 65 73 20 nsecutive bytes
0000F0: 69 6E 20 62 6C 6F 63 6B 20 30 20 61 6E 64 20 63 in block 0 and c
000100: 6F 75 6C 64 20 61 6C 6C 20 62 65 20 20 6F 6E 20 ould all be on
000110: 20 74 68 65 20 20 73 61 6D 65 0D 0A 20 20 20 20 the same..
000120: 20 20 20 6C 69 6E 65 20 6F 66 20 74 68 65 20 73 line of the s
000130: 63 72 65 65 6E 2E 20 41 6C 74 65 72 69 6E 67 20 creen. Altering
000140: 74 68 65 20 6F 66 66 73 65 74 20 62 79 20 2B 20 the offset by +
000150: 6F 72 20 2D 20 20 38 30 20 20 4D 4F 44 20 20 32 or - 80 MOD 2
000160: 30 34 38 20 20 28 74 68 65 0D 0A 20 20 20 20 20 048 (the..
000170: 20 20 6C 65 6E 67 74 68 20 6F 66 20 61 20 6C 69 length of a li
000180: 6E 65 29 20 72 6F 6C 6C 73 20 74 68 65 20 73 63 ne) rolls the sc
000190: 72 65 65 6E 20 75 70 20 6F 72 20 64 6F 77 6E 20 reen up or down
0001A0: 62 79 20 6F 6E 65 20 63 68 61 72 61 63 74 65 72 by one character
0001B0: 20 6C 69 6E 65 20 28 38 0D 0A 20 20 20 20 20 20 line (8..
0001C0: 20 70 69 78 65 6C 73 20 6C 69 6E 65 73 29 2E 20 pixels lines).
0001D0: 54 68 69 73 20 65 66 66 65 63 74 20 69 73 20 75 This effect is u
0001E0: 73 65 64 20 62 79 20 74 68 65 20 54 65 78 74 20 sed by the Text
0001F0: 56 44 55 20 20 77 68 65 6E 20 20 72 6F 6C 6C 69 VDU when rolli
Size : 512 (Real : 512)
000000: 6E 67 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 ng the..
000010: 65 6E 74 69 72 65 20 73 63 72 65 65 6E 2E 0D 0A entire screen...
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 20 20 20 70 61 67 65 20 36 2E 33 0D page 6.3.
000070: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
000080: 20 20 20 20 54 68 65 20 6D 65 61 6E 69 6E 67 20 The meaning
000090: 6F 66 20 74 68 65 20 62 79 74 65 73 20 61 63 63 of the bytes acc
0000A0: 65 73 73 65 64 20 61 73 20 64 65 73 63 72 69 62 essed as describ
0000B0: 65 64 20 61 62 6F 76 65 20 76 61 72 69 65 73 20 ed above varies
0000C0: 20 77 69 74 68 20 20 74 68 65 0D 0A 20 20 20 20 with the..
0000D0: 20 20 20 73 63 72 65 65 6E 20 6D 6F 64 65 2E 20 screen mode.
0000E0: 45 61 63 68 20 62 79 74 65 20 73 74 6F 72 65 73 Each byte stores
0000F0: 20 74 68 65 20 69 6E 6B 73 20 66 6F 72 20 32 2C the inks for 2,
000100: 20 34 20 6F 72 20 38 20 70 69 78 65 6C 73 2E 20 4 or 8 pixels.
000110: 54 68 65 20 20 62 69 74 73 0D 0A 20 20 20 20 20 The bits..
000120: 20 20 75 73 65 64 20 74 6F 20 65 6E 63 6F 64 65 used to encode
000130: 20 65 61 63 68 20 70 69 78 65 6C 20 61 72 65 20 each pixel are
000140: 6E 6F 74 20 61 72 72 61 6E 67 65 64 20 69 6E 20 not arranged in
000150: 61 6E 20 6F 62 76 69 6F 75 73 20 20 6D 61 6E 6E an obvious mann
000160: 65 72 2E 20 20 54 68 65 0D 0A 20 20 20 20 20 20 er. The..
000170: 20 66 6F 6C 6C 6F 77 69 6E 67 20 74 61 62 6C 65 following table
000180: 20 73 70 65 63 69 66 69 65 73 20 77 68 69 63 68 specifies which
000190: 20 62 69 74 73 20 6F 66 20 20 73 63 72 65 65 6E bits of screen
0001A0: 20 20 6D 65 6D 6F 72 79 20 20 61 72 65 20 20 75 memory are u
0001B0: 73 65 64 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 sed to..
0001C0: 65 6E 63 6F 64 65 20 77 68 69 63 68 20 70 69 78 encode which pix
0001D0: 65 6C 20 69 6E 20 74 68 65 20 76 61 72 69 6F 75 el in the variou
0001E0: 73 20 6D 6F 64 65 73 2E 20 54 68 65 20 62 69 74 s modes. The bit
0001F0: 20 6E 75 6D 62 65 72 73 20 67 69 76 65 6E 20 69 numbers given i
Size : 512 (Real : 512)
000000: 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 74 n the.. t
000010: 61 62 6C 65 20 61 72 65 20 74 68 65 20 62 69 74 able are the bit
000020: 73 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 s of the screen
000030: 62 79 74 65 2E 20 54 68 65 79 20 61 72 65 20 67 byte. They are g
000040: 69 76 65 6E 20 69 6E 20 74 68 65 20 6F 72 64 65 iven in the orde
000050: 72 20 20 6F 66 0D 0A 20 20 20 20 20 20 20 62 69 r of.. bi
000060: 74 73 20 69 6E 20 74 68 65 20 70 69 78 65 6C 20 ts in the pixel
000070: 2D 20 74 68 65 20 66 69 72 73 74 20 62 69 74 20 - the first bit
000080: 67 69 76 65 6E 20 69 73 20 6D 6F 73 74 20 73 69 given is most si
000090: 67 6E 69 66 69 63 61 6E 74 20 62 69 74 20 20 6F gnificant bit o
0000A0: 66 20 20 61 0D 0A 20 20 20 20 20 20 20 70 69 78 f a.. pix
0000B0: 65 6C 20 61 6E 64 20 74 68 65 20 6C 61 73 74 20 el and the last
0000C0: 62 69 74 20 69 73 20 74 68 65 20 6C 65 61 73 74 bit is the least
0000D0: 20 73 69 67 6E 69 66 69 63 61 6E 74 20 62 69 74 significant bit
0000E0: 2E 0D 0A 0D 0A 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 7C 20 20 20 4D 6F 64 65 20 30 20 | Mode 0
000110: 20 20 20 20 20 20 20 20 20 20 4D 6F 64 65 20 31 Mode 1
000120: 20 20 20 20 20 4D 6F 64 65 20 32 0D 0A 20 20 20 Mode 2..
000130: 20 20 20 20 20 20 20 20 20 20 20 20 20 2D 2D 2D ---
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 7C 2D 2D -------------|--
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 0D 0A 20 20 20 20 20 20 20 20 20 20 ----..
000180: 20 20 20 20 20 20 4C 65 66 74 6D 6F 73 74 20 70 Leftmost p
000190: 69 78 65 6C 20 20 7C 20 20 42 69 74 73 20 31 2C ixel | Bits 1,
0001A0: 35 2C 33 2C 37 20 20 20 20 42 69 74 73 20 33 2C 5,3,7 Bits 3,
0001B0: 37 20 20 20 20 42 69 74 20 37 0D 0A 20 20 20 20 7 Bit 7..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001D0: 20 20 2E 20 20 20 20 20 20 20 20 20 7C 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 42 69 74 20 36 Bit 6
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000010: 20 20 20 20 20 20 20 20 2E 20 20 20 20 20 20 20 .
000020: 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000030: 20 20 20 20 20 42 69 74 73 20 32 2C 36 20 20 20 Bits 2,6
000040: 20 42 69 74 20 35 0D 0A 20 20 20 20 20 20 20 20 Bit 5..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2E 20 .
000060: 20 20 20 20 20 20 20 20 7C 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 42 69 74 20 34 0D 0A 20 20 Bit 4..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000A0: 20 20 20 20 2E 20 20 20 20 20 20 20 20 20 7C 20 . |
0000B0: 20 42 69 74 73 20 30 2C 34 2C 32 2C 36 20 20 20 Bits 0,4,2,6
0000C0: 20 42 69 74 73 20 31 2C 35 20 20 20 20 42 69 74 Bits 1,5 Bit
0000D0: 20 33 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 3..
0000E0: 20 20 20 20 20 20 20 20 20 20 2E 20 20 20 20 20 .
0000F0: 20 20 20 20 7C 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 42 69 74 20 32 0D 0A 20 20 20 20 20 20 Bit 2..
000120: 20 20 20 20 20 20 20 20 20 20 52 69 67 68 74 6D Rightm
000130: 6F 73 74 20 70 69 78 65 6C 20 7C 20 20 20 20 20 ost pixel |
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 74 Bit
000150: 73 20 30 2C 34 20 20 20 20 42 69 74 20 31 0D 0A s 0,4 Bit 1..
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: 7C 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 42 B
0001A0: 69 74 20 30 0D 0A 0D 0A 20 20 20 20 20 20 20 54 it 0.... T
0001B0: 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 64 69 61 he following dia
0001C0: 67 72 61 6D 20 69 6C 6C 75 73 74 72 61 74 65 20 gram illustrate
0001D0: 74 68 65 20 6D 61 70 70 69 6E 67 20 66 72 6F 6D the mapping from
0001E0: 20 70 69 78 65 6C 73 20 6F 6E 20 74 68 65 20 73 pixels on the s
0001F0: 63 72 65 65 6E 0D 0A 20 20 20 20 20 20 20 74 6F creen.. to
Size : 512 (Real : 512)
000000: 20 61 64 64 72 65 73 73 65 73 20 69 6E 20 73 63 addresses in sc
000010: 72 65 65 6E 20 6D 65 6D 6F 72 79 20 66 6F 72 20 reen memory for
000020: 74 68 65 20 73 69 6D 70 6C 65 20 63 61 73 65 20 the simple case
000030: 6F 66 20 61 20 62 61 73 65 20 61 64 64 72 65 73 of a base addres
000040: 73 20 6F 66 0D 0A 20 20 20 20 20 20 20 23 43 30 s of.. #C0
000050: 30 30 20 61 6E 64 20 61 6E 20 6F 66 66 73 65 74 00 and an offset
000060: 20 6F 66 20 30 2E 0D 0A 0D 0A 20 20 20 20 20 20 of 0.....
000070: 20 20 20 20 20 20 20 20 20 3C 2D 2D 2D 2D 2D 2D <------
000080: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 20 38 30 20 ------------ 80
000090: 42 59 54 45 53 20 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D BYTES ----------
0000A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 3E 0D 0A 20 ------------>..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 5F 5F ___
0000C0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0000D0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0000E0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0000F0: 5F 5F 5F 0D 0A 20 20 20 20 20 20 20 20 20 20 5E ___.. ^
000100: 20 20 7C 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 20 20 20 20 20 20 20
000130: 20 20 20 20 20 20 20 20 20 7C 20 20 5E 0D 0A 20 | ^..
000140: 20 20 20 20 20 20 20 20 20 7C 20 20 7C 20 20 23 | | #
000150: 43 30 30 30 20 23 43 30 30 31 20 2E 2E 2E 2E 2E C000 #C001 .....
000160: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000170: 2E 2E 2E 2E 2E 2E 20 23 43 30 34 45 20 23 43 30 ...... #C04E #C0
000180: 34 46 20 7C 20 20 7C 0D 0A 20 20 20 20 20 20 20 4F | |..
000190: 20 20 20 7C 20 20 7C 20 20 23 43 38 30 30 20 23 | | #C800 #
0001A0: 43 38 30 31 20 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E C801 ...........
0001B0: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
0001C0: 20 23 43 38 34 45 20 23 43 38 34 46 20 7C 20 31 #C84E #C84F | 1
0001D0: 53 54 0D 0A 20 20 20 20 20 20 20 20 20 20 7C 20 ST.. |
0001E0: 20 7C 20 20 23 44 30 30 30 20 23 44 30 30 31 20 | #D000 #D001
0001F0: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
Size : 512 (Real : 512)
000000: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 20 23 44 30 34 ........... #D04
000010: 45 20 23 44 30 34 46 20 7C 20 43 48 41 52 0D 0A E #D04F | CHAR..
000020: 20 20 20 20 20 20 20 20 20 20 7C 20 20 7C 20 20 | |
000030: 23 44 38 30 30 20 23 44 38 30 31 20 2E 2E 2E 2E #D800 #D801 ....
000040: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000050: 2E 2E 2E 2E 2E 2E 2E 20 23 44 38 34 45 20 23 44 ....... #D84E #D
000060: 38 34 46 20 7C 20 52 4F 57 0D 0A 20 20 20 20 20 84F | ROW..
000070: 20 20 20 20 20 7C 20 20 7C 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: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C |
0000B0: 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 7C |.. |
0000C0: 20 20 7C 20 20 23 46 30 30 30 20 23 46 30 30 31 | #F000 #F001
0000D0: 20 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ...............
0000E0: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 20 23 46 30 ............ #F0
0000F0: 34 45 20 23 46 30 34 46 20 7C 20 20 7C 0D 0A 20 4E #F04F | |..
000100: 20 20 20 20 20 20 20 20 20 7C 20 20 7C 20 20 23 | | #
000110: 46 38 30 30 20 23 46 38 30 31 20 2E 2E 2E 2E 2E F800 #F801 .....
000120: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000130: 2E 2E 2E 2E 2E 2E 20 23 46 38 34 45 20 23 46 38 ...... #F84E #F8
000140: 34 46 20 7C 20 20 56 0D 0A 20 20 20 20 20 20 20 4F | V..
000150: 20 20 20 7C 20 20 7C 20 20 23 43 30 35 30 20 23 | | #C050 #
000160: 43 30 35 31 20 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E C051 ...........
000170: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000180: 20 23 43 30 39 45 20 23 43 30 39 46 20 7C 0D 0A #C09E #C09F |..
000190: 20 20 20 20 20 20 20 20 20 20 7C 20 20 7C 20 20 | |
0001A0: 23 43 38 35 30 20 23 43 38 35 31 20 2E 2E 2E 2E #C850 #C851 ....
0001B0: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
0001C0: 2E 2E 2E 2E 2E 2E 2E 20 23 43 38 39 45 20 23 43 ....... #C89E #C
0001D0: 38 39 46 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 89F |..
0001E0: 20 7C 20 20 7C 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 20 20
000010: 20 20 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 |..
000020: 20 20 20 20 20 32 30 30 20 20 20 7C 2E 2E 2E 2E 200 |....
000030: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000040: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000050: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000060: 2E 2E 7C 0D 0A 20 20 20 20 20 20 20 50 49 58 45 ..|.. PIXE
000070: 4C 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 L |
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 20 7C 0D 0A 20 20 20 20 |..
0000B0: 20 20 20 4C 49 4E 45 53 20 7C 20 20 20 20 20 20 LINES |
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 20 20 20 20 20
0000F0: 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 7C 20 20 |.. |
000100: 7C 20 20 23 46 46 33 30 20 23 46 46 33 31 20 2E | #FF30 #FF31 .
000110: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000120: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 20 23 46 46 37 45 .......... #FF7E
000130: 20 23 46 46 37 46 20 7C 0D 0A 20 20 20 20 20 20 #FF7F |..
000140: 20 20 20 20 7C 20 20 7C 20 20 23 43 37 38 30 20 | | #C780
000150: 23 43 37 38 31 20 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E #C781 ..........
000160: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000170: 2E 20 23 43 37 43 45 20 23 43 37 43 46 20 7C 20 . #C7CE #C7CF |
000180: 20 5E 0D 0A 20 20 20 20 20 20 20 20 20 20 7C 20 ^.. |
000190: 20 7C 20 20 23 43 46 38 30 20 23 43 46 38 31 20 | #CF80 #CF81
0001A0: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
0001B0: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 20 23 43 46 43 ........... #CFC
0001C0: 45 20 23 43 46 43 46 20 7C 20 20 7C 0D 0A 20 20 E #CFCF | |..
0001D0: 20 20 20 20 20 20 20 20 7C 20 20 7C 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 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000010: 20 20 7C 20 32 35 74 68 0D 0A 20 20 20 20 20 20 | 25th..
000020: 20 20 20 20 7C 20 20 7C 2E 2E 2E 2E 2E 2E 2E 2E | |........
000030: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000040: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000050: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 7C 20 ..............|
000060: 43 48 41 52 0D 0A 20 20 20 20 20 20 20 20 20 20 CHAR..
000070: 7C 20 20 7C 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: 20 20 20 20 20 20 20 20 20 20 7C 20 52 4F 57 0D | ROW.
0000B0: 0A 20 20 20 20 20 20 20 20 20 20 7C 20 20 7C 20 . | |
0000C0: 20 23 46 37 38 30 20 23 46 37 38 31 20 2E 2E 2E #F780 #F781 ...
0000D0: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
0000E0: 2E 2E 2E 2E 2E 2E 2E 2E 20 23 46 37 43 45 20 23 ........ #F7CE #
0000F0: 46 37 43 46 20 7C 20 20 7C 0D 0A 20 20 20 20 20 F7CF | |..
000100: 20 20 20 20 20 7C 20 20 7C 20 20 23 46 46 38 30 | | #FF80
000110: 20 23 46 46 38 31 20 2E 2E 2E 2E 2E 2E 2E 2E 2E #FF81 .........
000120: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000130: 2E 2E 20 23 46 46 43 45 20 23 46 46 43 46 20 7C .. #FFCE #FFCF |
000140: 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 56 |.. V
000150: 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F |_____________
000160: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000170: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000180: 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 20 20 56 0D 0A 0D _________| V...
000190: 0A 20 20 20 20 20 20 20 23 43 37 44 30 2E 2E 23 . #C7D0..#
0001A0: 43 37 46 46 2C 20 23 43 46 44 30 2E 2E 23 43 46 C7FF, #CFD0..#CF
0001B0: 46 46 2C 20 2E 2E 2E 20 2C 20 23 46 46 44 30 2E FF, ... , #FFD0.
0001C0: 2E 23 46 46 46 46 20 61 72 65 20 75 6E 75 73 65 .#FFFF are unuse
0001D0: 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4F 6E 20 d..... On
0001E0: 74 68 65 20 43 50 43 36 31 32 38 20 74 68 65 20 the CPC6128 the
0001F0: 62 61 73 65 20 61 64 64 72 65 73 73 20 73 65 74 base address set
Size : 512 (Real : 512)
000000: 73 20 77 68 69 63 68 20 62 6C 6F 63 6B 20 77 69 s which block wi
000010: 6C 6C 20 62 65 20 75 73 65 64 20 66 6F 72 20 20 ll be used for
000020: 74 68 65 0D 0A 20 20 20 20 20 20 20 73 63 72 65 the.. scre
000030: 65 6E 20 6D 65 6D 6F 72 79 2E 20 20 42 61 73 65 en memory. Base
000040: 20 20 61 64 64 72 65 73 73 65 73 20 20 6F 66 20 addresses of
000050: 20 23 30 30 30 30 2C 20 20 23 34 30 30 30 2C 20 #0000, #4000,
000060: 20 23 38 30 30 30 20 20 61 6E 64 20 20 23 43 30 #8000 and #C0
000070: 30 30 0D 0A 20 20 20 20 20 20 20 63 6F 72 72 65 00.. corre
000080: 73 70 6F 6E 64 20 74 6F 20 62 6C 6F 63 6B 73 20 spond to blocks
000090: 30 2C 20 31 2C 20 32 2C 20 61 6E 64 20 33 2E 20 0, 1, 2, and 3.
0000A0: 49 74 20 69 73 20 6E 6F 74 20 70 6F 73 73 69 62 It is not possib
0000B0: 6C 65 20 66 6F 72 20 74 68 65 20 73 63 72 65 65 le for the scree
0000C0: 6E 0D 0A 20 20 20 20 20 20 20 6D 65 6D 6F 72 79 n.. memory
0000D0: 20 74 6F 20 62 65 20 6C 6F 63 61 74 65 64 20 69 to be located i
0000E0: 6E 20 62 6C 6F 63 6B 73 20 34 2E 2E 2E 37 2E 20 n blocks 4...7.
0000F0: 57 68 65 72 65 20 74 68 65 20 62 6C 6F 63 6B 20 Where the block
000100: 62 65 69 6E 67 20 20 75 73 65 64 20 20 66 6F 72 being used for
000110: 0D 0A 20 20 20 20 20 20 20 73 63 72 65 65 6E 20 .. screen
000120: 6D 65 6D 6F 72 79 20 61 63 74 75 61 6C 6C 79 20 memory actually
000130: 61 70 70 65 61 72 73 20 69 6E 20 74 68 65 20 6D appears in the m
000140: 65 6D 6F 72 79 20 6D 61 70 20 64 65 70 65 6E 64 emory map depend
000150: 73 20 6F 6E 20 20 74 68 65 20 20 62 61 6E 6B 0D s on the bank.
000160: 0A 20 20 20 20 20 20 20 73 77 69 74 63 68 69 6E . switchin
000170: 67 20 28 73 65 65 20 73 65 63 74 69 6F 6E 20 32 g (see section 2
000180: 2E 35 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 .5)..... A
000190: 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 MSTRAD CPC464/66
0001A0: 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 4/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 20 20 70 61 67 pag
0001D0: 65 20 36 2E 34 0D 0A 1A 63 73 20 56 44 55 73 20 e 6.4...cs VDUs
0001E0: 20 74 6F 20 20 61 63 63 65 73 73 20 20 74 68 65 to access the
0001F0: 0D 0A 20 20 20 20 20 20 20 68 61 72 64 77 61 72 .. hardwar
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 20 20 20 20 20 20 20 37 ........ 7
000010: 20 54 68 65 20 53 6F 75 6E 64 20 4D 61 6E 61 67 The Sound Manag
000020: 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 er..... Th
000030: 65 20 53 6F 75 6E 64 20 4D 61 6E 61 67 65 72 20 e Sound Manager
000040: 20 64 65 61 6C 73 20 20 77 69 74 68 20 20 74 68 deals with th
000050: 65 20 20 73 6F 75 6E 64 20 20 63 68 69 70 2E 20 e sound chip.
000060: 20 49 74 20 20 61 6C 6C 6F 77 73 20 20 76 61 72 It allows var
000070: 69 6F 75 73 0D 0A 20 20 20 20 20 20 20 65 6E 76 ious.. env
000080: 65 6C 6F 70 65 73 20 61 6E 64 20 73 6F 75 6E 64 elopes and sound
000090: 73 20 74 6F 20 62 65 20 73 65 74 20 75 70 20 61 s to be set up a
0000A0: 6E 64 20 20 70 6C 61 79 65 64 20 20 75 6E 64 65 nd played unde
0000B0: 72 20 20 63 6F 6E 74 72 6F 6C 20 20 6F 66 20 20 r control of
0000C0: 74 68 65 0D 0A 20 20 20 20 20 20 20 75 73 65 72 the.. user
0000D0: 2E 20 4D 6F 73 74 20 6F 66 20 74 68 65 20 63 6F . Most of the co
0000E0: 6E 74 72 6F 6C 20 69 73 20 61 63 68 69 65 76 65 ntrol is achieve
0000F0: 64 20 75 73 69 6E 67 20 73 6F 66 74 77 61 72 65 d using software
000100: 20 72 61 74 68 65 72 20 20 74 68 61 6E 20 20 74 rather than t
000110: 68 65 0D 0A 20 20 20 20 20 20 20 73 6F 75 6E 64 he.. sound
000120: 20 63 68 69 70 20 68 61 72 64 77 61 72 65 2E 0D chip hardware..
000130: 0A 0D 0A 20 20 20 20 20 20 20 37 2E 31 20 54 68 ... 7.1 Th
000140: 65 20 53 6F 75 6E 64 20 43 68 69 70 2E 0D 0A 0D e Sound Chip....
000150: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 73 6F ... The so
000160: 75 6E 64 20 63 68 69 70 20 75 73 65 64 20 69 73 und chip used is
000170: 20 74 68 65 20 47 65 6E 65 72 61 6C 20 20 49 6E the General In
000180: 73 74 72 75 6D 65 6E 74 73 20 20 41 59 2D 33 2D struments AY-3-
000190: 38 39 31 32 2E 20 20 54 68 69 73 20 20 68 61 73 8912. This has
0001A0: 0D 0A 20 20 20 20 20 20 20 74 68 72 65 65 20 63 .. three c
0001B0: 68 61 6E 6E 65 6C 73 20 20 61 6E 64 20 20 61 20 hannels and a
0001C0: 20 70 73 65 75 64 6F 2D 72 61 6E 64 6F 6D 20 20 pseudo-random
0001D0: 6E 6F 69 73 65 20 20 67 65 6E 65 72 61 74 6F 72 noise generator
0001E0: 20 20 74 68 61 74 20 20 63 61 6E 20 20 62 65 0D that can be.
0001F0: 0A 20 20 20 20 20 20 20 63 6F 6E 6E 65 63 74 65 . connecte
Size : 512 (Real : 512)
000000: 64 20 74 6F 20 61 6E 79 20 6F 66 20 74 68 65 20 d to any of the
000010: 63 68 61 6E 6E 65 6C 73 2E 20 54 68 65 20 63 68 channels. The ch
000020: 69 70 20 68 61 73 20 20 61 20 20 6C 69 6D 69 74 ip has a limit
000030: 65 64 20 20 6E 75 6D 62 65 72 20 20 6F 66 0D 0A ed number of..
000040: 20 20 20 20 20 20 20 61 6D 70 6C 69 74 75 64 65 amplitude
000050: 20 65 6E 76 65 6C 6F 70 65 73 20 61 76 61 69 6C envelopes avail
000060: 61 62 6C 65 20 28 20 73 65 65 20 41 70 70 65 6E able ( see Appen
000070: 64 69 78 20 49 58 20 20 29 20 20 62 75 74 20 20 dix IX ) but
000080: 74 68 65 20 20 73 6F 66 74 77 61 72 65 0D 0A 20 the software..
000090: 20 20 20 20 20 20 65 6E 76 65 6C 6F 70 69 6E 67 enveloping
0000A0: 2C 20 64 65 73 63 72 69 62 65 64 20 62 65 6C 6F , described belo
0000B0: 77 2C 20 63 61 6E 20 61 63 68 69 65 76 65 20 20 w, can achieve
0000C0: 61 6C 6C 20 20 74 68 61 74 20 20 74 68 65 20 20 all that the
0000D0: 68 61 72 64 77 61 72 65 20 20 69 73 0D 0A 20 20 hardware is..
0000E0: 20 20 20 20 20 63 61 70 61 62 6C 65 20 6F 66 2C capable of,
0000F0: 20 61 6E 64 20 6D 6F 72 65 2E 20 54 6F 6E 65 20 and more. Tone
000100: 65 6E 76 65 6C 6F 70 69 6E 67 20 69 73 20 20 61 enveloping is a
000110: 6C 6C 20 20 64 6F 6E 65 20 20 62 79 20 20 74 68 ll done by th
000120: 65 20 20 73 6F 66 74 77 61 72 65 0D 0A 20 20 20 e software..
000130: 20 20 20 20 74 68 65 72 65 20 69 73 20 6E 6F 20 there is no
000140: 68 61 72 64 77 61 72 65 20 73 75 70 70 6F 72 74 hardware support
000150: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ....... Th
000160: 65 20 73 6F 75 6E 64 20 67 65 6E 65 72 61 74 65 e sound generate
000170: 64 20 62 79 20 74 68 65 20 63 68 69 70 20 75 73 d by the chip us
000180: 65 73 20 73 71 75 61 72 65 20 77 61 76 65 66 6F es square wavefo
000190: 72 6D 73 2E 20 54 68 65 72 65 20 69 73 20 6E 6F rms. There is no
0001A0: 20 77 61 79 0D 0A 20 20 20 20 20 20 20 74 6F 20 way.. to
0001B0: 67 65 6E 65 72 61 74 65 20 61 6E 79 20 6F 74 68 generate any oth
0001C0: 65 72 20 77 61 76 65 66 6F 72 6D 2E 0D 0A 0D 0A er waveform.....
0001D0: 0D 0A 20 20 20 20 20 20 20 49 74 20 69 73 20 70 .. It is p
0001E0: 6F 73 73 69 62 6C 65 20 74 6F 20 61 63 63 65 73 ossible to acces
0001F0: 73 20 74 68 65 20 73 6F 75 6E 64 20 63 68 69 70 s the sound chip
Size : 512 (Real : 512)
000000: 20 64 69 72 65 63 74 6C 79 20 73 68 6F 75 6C 64 directly should
000010: 20 74 68 65 20 6E 65 65 64 20 61 72 69 73 65 0D the need arise.
000020: 0A 20 20 20 20 20 20 20 48 6F 77 65 76 65 72 2C . However,
000030: 20 74 68 65 20 72 6F 75 74 69 6E 65 20 4D 43 20 the routine MC
000040: 53 4F 55 4E 44 20 52 45 47 49 53 54 45 52 20 73 SOUND REGISTER s
000050: 68 6F 75 6C 64 20 20 62 65 20 20 75 73 65 64 20 hould be used
000060: 20 74 6F 20 20 77 72 69 74 65 20 20 74 6F 0D 0A to write to..
000070: 20 20 20 20 20 20 20 72 65 67 69 73 74 65 72 73 registers
000080: 20 6F 66 20 74 68 65 20 73 6F 75 6E 64 20 63 68 of the sound ch
000090: 69 70 2E 20 54 68 69 73 20 69 73 20 62 65 63 61 ip. This is beca
0000A0: 75 73 65 20 74 68 65 20 6B 65 79 62 6F 61 72 64 use the keyboard
0000B0: 20 69 73 20 20 61 74 74 61 63 68 65 64 0D 0A 20 is attached..
0000C0: 20 20 20 20 20 20 74 6F 20 74 68 65 20 49 2F 4F to the I/O
0000D0: 20 70 6F 72 74 20 6F 66 20 74 68 65 20 73 6F 75 port of the sou
0000E0: 6E 64 20 63 68 69 70 20 61 6E 64 20 74 68 65 20 nd chip and the
0000F0: 20 6B 65 79 62 6F 61 72 64 20 20 73 63 61 6E 6E keyboard scann
000100: 69 6E 67 20 20 72 6F 75 74 69 6E 65 0D 0A 20 20 ing routine..
000110: 20 20 20 20 20 65 78 70 65 63 74 73 20 74 6F 20 expects to
000120: 66 69 6E 64 20 74 68 65 20 73 6F 75 6E 64 20 63 find the sound c
000130: 68 69 70 20 69 6E 20 61 20 73 74 61 6E 64 61 72 hip in a standar
000140: 64 20 73 74 61 74 65 20 28 20 69 2E 65 2E 20 6E d state ( i.e. n
000150: 6F 74 20 69 6E 20 20 75 73 65 29 0D 0A 20 20 20 ot in use)..
000160: 20 20 20 20 41 6C 73 6F 2C 20 74 68 65 72 65 20 Also, there
000170: 61 72 65 20 74 69 6D 69 6E 67 20 63 6F 6E 73 74 are timing const
000180: 72 61 69 6E 74 73 20 6F 6E 20 61 63 63 65 73 73 raints on access
000190: 65 73 20 74 6F 20 20 74 68 65 20 20 63 68 69 70 es to the chip
0001A0: 3A 75 73 69 6E 67 20 20 4D 43 0D 0A 20 20 20 20 :using MC..
0001B0: 20 20 20 53 4F 55 4E 44 20 52 45 47 49 53 54 45 SOUND REGISTE
0001C0: 52 20 77 69 6C 6C 20 61 76 6F 69 64 20 63 6F 6E R will avoid con
0001D0: 73 69 64 65 72 61 74 69 6F 6E 20 6F 66 20 74 68 sideration of th
0001E0: 65 73 65 20 64 65 74 61 69 6C 73 2E 0D 0A 0D 0A ese details.....
0001F0: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 73 6F 75 .. The sou
Size : 512 (Real : 512)
000000: 6E 64 20 63 68 69 70 20 68 61 73 20 74 68 72 65 nd chip has thre
000010: 65 20 69 6E 64 65 70 65 6E 64 65 6E 74 20 73 6F e independent so
000020: 75 6E 64 20 63 68 61 6E 6E 65 6C 73 2E 20 54 68 und channels. Th
000030: 65 20 6F 75 74 70 75 74 73 20 20 66 72 6F 6D 0D e outputs from.
000040: 0A 20 20 20 20 20 20 20 74 68 65 73 65 20 61 72 . these ar
000050: 65 20 6D 69 78 65 64 20 74 6F 67 65 74 68 65 72 e mixed together
000060: 20 74 6F 20 66 6F 72 6D 20 74 77 6F 20 73 74 65 to form two ste
000070: 72 65 6F 20 63 68 61 6E 6E 65 6C 73 20 2D 20 73 reo channels - s
000080: 6F 75 6E 64 20 20 63 68 61 6E 6E 65 6C 73 0D 0A ound channels..
000090: 20 20 20 20 20 20 20 41 20 61 6E 64 20 42 20 61 A and B a
0000A0: 72 65 20 6D 69 78 65 64 20 74 6F 20 66 6F 72 6D re mixed to form
0000B0: 20 6F 6E 65 20 73 74 65 72 65 6F 20 63 68 61 6E one stereo chan
0000C0: 6E 65 6C 20 61 6E 64 20 73 6F 75 6E 64 20 63 68 nel and sound ch
0000D0: 61 6E 6E 65 6C 73 20 42 20 20 61 6E 64 0D 0A 20 annels B and..
0000E0: 20 20 20 20 20 20 43 20 61 72 65 20 6D 69 78 65 C are mixe
0000F0: 64 20 74 6F 20 66 6F 72 6D 20 74 68 65 20 6F 74 d to form the ot
000100: 68 65 72 20 73 74 65 72 65 6F 20 20 63 68 61 6E her stereo chan
000110: 6E 65 6C 2E 20 20 54 68 65 20 20 73 74 65 72 65 nel. The stere
000120: 6F 20 20 73 6F 75 6E 64 20 20 69 73 0D 0A 20 20 o sound is..
000130: 20 20 20 20 20 61 76 61 69 6C 61 62 6C 65 20 6F available o
000140: 6E 20 74 68 65 20 6F 75 74 70 75 74 20 6A 61 63 n the output jac
000150: 6B 20 6F 6E 20 74 68 65 20 20 62 61 63 6B 20 20 k on the back
000160: 6F 66 20 20 74 68 65 20 20 6D 61 63 68 69 6E 65 of the machine
000170: 2E 20 20 48 6F 77 65 76 65 72 2C 0D 0A 20 20 20 . However,..
000180: 20 20 20 20 74 68 65 72 65 20 69 73 20 6F 6E 6C there is onl
000190: 79 20 61 20 73 69 6E 67 6C 65 20 69 6E 74 65 72 y a single inter
0001A0: 6E 61 6C 20 73 70 65 61 6B 65 72 20 61 6E 64 20 nal speaker and
0001B0: 73 6F 20 74 68 65 20 74 77 6F 20 73 74 65 72 65 so the two stere
0001C0: 6F 20 63 68 61 6E 6E 65 6C 73 0D 0A 20 20 20 20 o channels..
0001D0: 20 20 20 61 72 65 20 6D 69 78 65 64 20 74 6F 67 are mixed tog
0001E0: 65 74 68 65 72 20 74 6F 20 20 64 72 69 76 65 20 ether to drive
0001F0: 20 74 68 69 73 2E 20 20 54 68 65 20 20 76 6F 6C this. The vol
Size : 512 (Real : 512)
000000: 75 6D 65 20 20 6F 66 20 20 73 6F 75 6E 64 20 20 ume of sound
000010: 66 72 6F 6D 20 20 74 68 65 0D 0A 20 20 20 20 20 from the..
000020: 20 20 69 6E 74 65 72 6E 61 6C 20 73 70 65 61 6B internal speak
000030: 65 72 20 63 61 6E 20 62 65 20 63 6F 6E 74 72 6F er can be contro
000040: 6C 6C 65 64 20 62 79 20 74 68 65 20 76 6F 6C 75 lled by the volu
000050: 6D 65 20 6B 6E 6F 62 20 6F 6E 20 74 68 65 20 20 me knob on the
000060: 73 69 64 65 20 20 6F 66 0D 0A 20 20 20 20 20 20 side of..
000070: 20 74 68 65 20 6D 61 63 68 69 6E 65 20 6E 65 61 the machine nea
000080: 72 20 74 68 65 20 6F 6E 2F 6F 66 66 20 73 77 69 r the on/off swi
000090: 74 63 68 2E 20 54 68 69 73 20 63 6F 6E 74 72 6F tch. This contro
0000A0: 6C 20 6F 76 65 72 72 69 64 65 73 20 20 74 68 65 l overrides the
0000B0: 20 20 6F 74 68 65 72 0D 0A 20 20 20 20 20 20 20 other..
0000C0: 76 6F 6C 75 6D 65 20 6D 65 74 68 6F 64 73 20 64 volume methods d
0000D0: 65 73 63 72 69 62 65 64 20 62 65 6C 6F 77 2E 0D escribed below..
0000E0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 37 2E 32 20 ..... 7.2
0000F0: 54 6F 6E 65 20 50 65 72 69 6F 64 73 20 61 6E 64 Tone Periods and
000100: 20 41 6D 70 6C 69 74 75 64 65 73 2E 0D 0A 0D 0A Amplitudes.....
000110: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 73 6F 75 .. The sou
000120: 6E 64 20 63 68 69 70 20 61 6C 6C 6F 77 73 20 31 nd chip allows 1
000130: 36 20 64 69 66 66 65 72 65 6E 74 20 20 61 6D 70 6 different amp
000140: 6C 69 74 75 64 65 73 20 20 69 6E 20 20 74 68 65 litudes in the
000150: 20 20 72 61 6E 67 65 20 20 30 2E 2E 31 35 2E 0D range 0..15..
000160: 0A 20 20 20 20 20 20 20 41 6D 70 6C 69 74 75 64 . Amplitud
000170: 65 20 30 20 69 73 20 6E 6F 20 73 6F 75 6E 64 20 e 0 is no sound
000180: 61 74 20 61 6C 6C 2C 20 61 6D 70 6C 69 74 75 64 at all, amplitud
000190: 65 20 31 35 20 69 73 20 6D 61 78 69 6D 75 6D 20 e 15 is maximum
0001A0: 76 6F 6C 75 6D 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 volume.......
0001B0: 20 20 20 20 54 68 65 20 70 69 74 63 68 20 6F 66 The pitch of
0001C0: 20 61 20 6E 6F 74 65 20 74 6F 20 62 65 20 67 65 a note to be ge
0001D0: 6E 65 72 61 74 65 64 20 69 73 20 73 70 65 63 69 nerated is speci
0001E0: 66 69 65 64 20 62 79 20 74 68 65 20 70 65 72 69 fied by the peri
0001F0: 6F 64 20 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 od of the..
Size : 512 (Real : 512)
000000: 20 20 20 6E 6F 74 65 20 72 61 74 68 65 72 20 74 note rather t
000010: 68 61 6E 20 62 79 20 74 68 65 20 66 72 65 71 75 han by the frequ
000020: 65 6E 63 79 2E 20 54 68 69 73 20 70 65 72 69 6F ency. This perio
000030: 64 20 69 73 20 67 69 76 65 6E 20 69 6E 20 6D 69 d is given in mi
000040: 63 72 6F 73 65 63 6F 6E 64 0D 0A 20 20 20 20 20 crosecond..
000050: 20 20 75 6E 69 74 73 2E 20 54 68 75 73 2C 20 74 units. Thus, t
000060: 68 65 20 74 6F 6E 65 20 70 65 72 69 6F 64 20 73 he tone period s
000070: 70 65 63 69 66 69 65 64 20 61 6E 64 20 74 68 65 pecified and the
000080: 20 66 72 65 71 75 65 6E 63 79 20 6F 66 20 20 74 frequency of t
000090: 68 65 20 20 74 6F 6E 65 0D 0A 20 20 20 20 20 20 he tone..
0000A0: 20 67 65 6E 65 72 61 74 65 64 20 61 72 65 20 72 generated are r
0000B0: 65 6C 61 74 65 64 20 62 79 20 74 68 65 20 66 6F elated by the fo
0000C0: 72 6D 75 6C 61 20 3A 0D 0A 0D 0A 0D 0A 20 20 20 rmula :......
0000D0: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
0000E0: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
0000F0: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 70 61 67 65 20 37 2E 31 0D 0A 0D 0A 0D 0A page 7.1......
000120: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ........
000130: 20 20 20 20 20 20 20 20 54 6F 6E 65 20 70 65 72 Tone per
000140: 69 6F 64 20 3D 20 31 32 35 30 30 30 2F 46 72 65 iod = 125000/Fre
000150: 71 75 65 6E 63 79 0D 0A 0D 0A 0D 0A 20 20 20 20 quency......
000160: 20 20 20 53 65 65 20 41 70 70 65 6E 64 69 78 20 See Appendix
000170: 56 49 49 49 20 66 6F 72 20 61 20 6C 69 73 74 20 VIII for a list
000180: 6F 66 20 74 68 65 20 73 75 67 67 65 73 74 65 64 of the suggested
000190: 20 70 65 72 69 6F 64 73 20 20 66 6F 72 20 20 67 periods for g
0001A0: 65 6E 65 72 61 74 69 6E 67 0D 0A 20 20 20 20 20 enerating..
0001B0: 20 20 6D 75 73 69 63 61 6C 20 6E 6F 74 65 73 2E musical notes.
0001C0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 37 2E 33 ...... 7.3
0001D0: 20 45 6E 76 65 6C 6F 70 69 6E 67 2E 0D 0A 0D 0A Enveloping.....
0001E0: 0D 0A 20 20 20 20 20 20 20 52 65 61 6C 20 73 6F .. Real so
0001F0: 75 6E 64 73 20 72 61 72 65 6C 79 20 20 68 61 76 unds rarely hav
Size : 512 (Real : 512)
000000: 65 20 20 61 20 20 63 6F 6E 73 74 61 6E 74 20 20 e a constant
000010: 76 6F 6C 75 6D 65 2E 20 20 45 6E 76 65 6C 6F 70 volume. Envelop
000020: 69 6E 67 20 20 61 6C 6C 6F 77 73 20 20 61 6E 0D ing allows an.
000030: 0A 20 20 20 20 20 20 20 61 70 70 72 6F 78 69 6D . approxim
000040: 61 74 69 6F 6E 20 74 6F 20 74 68 65 20 76 61 72 ation to the var
000050: 69 61 74 69 6F 6E 20 69 6E 20 76 6F 6C 75 6D 65 iation in volume
000060: 20 6F 66 20 72 65 61 6C 20 73 6F 75 6E 64 20 74 of real sound t
000070: 6F 20 62 65 20 6D 61 64 65 2E 20 54 68 65 0D 0A o be made. The..
000080: 20 20 20 20 20 20 20 73 6F 75 6E 64 20 69 73 20 sound is
000090: 73 70 6C 69 74 20 69 6E 74 6F 20 61 20 6E 75 6D split into a num
0000A0: 62 65 72 20 6F 66 20 73 65 63 74 69 6F 6E 73 20 ber of sections
0000B0: 65 61 63 68 20 6F 66 20 20 77 68 69 63 68 20 20 each of which
0000C0: 63 61 6E 20 20 69 6E 63 72 65 61 73 65 0D 0A 20 can increase..
0000D0: 20 20 20 20 20 20 74 68 65 20 76 6F 6C 75 6D 65 the volume
0000E0: 2C 20 64 65 63 72 65 61 73 65 20 74 68 65 20 76 , decrease the v
0000F0: 6F 6C 75 6D 65 2C 20 6F 72 20 6B 65 65 70 20 69 olume, or keep i
000100: 74 20 63 6F 6E 73 74 61 6E 74 2E 20 20 54 68 65 t constant. The
000110: 20 20 6C 65 6E 67 74 68 20 20 6F 66 0D 0A 20 20 length of..
000120: 20 20 20 20 20 74 68 65 73 65 20 73 65 63 74 69 these secti
000130: 6F 6E 73 20 63 61 6E 20 62 65 20 76 61 72 69 65 ons can be varie
000140: 64 2C 20 61 73 20 63 61 6E 20 74 68 65 20 72 61 d, as can the ra
000150: 74 65 20 6F 66 20 69 6E 63 72 65 61 73 65 20 6F te of increase o
000160: 72 20 20 64 65 63 72 65 61 73 65 0D 0A 20 20 20 r decrease..
000170: 20 20 20 20 69 6E 20 76 6F 6C 75 6D 65 2E 20 46 in volume. F
000180: 6F 72 20 65 78 61 6D 70 6C 65 2C 20 61 20 6E 6F or example, a no
000190: 74 65 20 67 65 6E 65 72 61 74 65 64 20 62 79 20 te generated by
0001A0: 61 20 6D 75 73 69 63 61 6C 20 20 69 6E 73 74 72 a musical instr
0001B0: 75 6D 65 6E 74 20 20 6D 61 79 0D 0A 20 20 20 20 ument may..
0001C0: 20 20 20 62 65 20 63 6F 6E 73 69 64 65 72 65 64 be considered
0001D0: 20 74 6F 20 68 61 76 65 20 33 20 73 65 63 74 69 to have 3 secti
0001E0: 6F 6E 73 20 61 73 20 66 6F 6C 6C 6F 77 73 20 3A ons as follows :
0001F0: 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 74 74 ...... Att
Size : 512 (Real : 512)
000000: 61 63 6B 3A 20 54 68 65 20 76 6F 6C 75 6D 65 20 ack: The volume
000010: 6F 66 20 74 68 65 20 6E 6F 74 65 20 72 69 73 65 of the note rise
000020: 73 20 72 61 70 69 64 6C 79 20 74 6F 20 69 74 73 s rapidly to its
000030: 20 70 65 61 6B 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 peak.......
000040: 20 20 20 53 75 73 74 61 69 6E 3A 20 54 68 65 20 Sustain: The
000050: 76 6F 6C 75 6D 65 20 6F 66 20 74 68 65 20 6E 6F volume of the no
000060: 74 65 20 72 65 6D 61 69 6E 73 20 20 63 6F 6E 73 te remains cons
000070: 74 61 6E 74 20 20 77 68 69 6C 65 20 20 74 68 65 tant while the
000080: 20 20 6E 6F 74 65 20 69 73 0D 0A 20 20 20 20 20 note is..
000090: 20 20 20 20 20 20 20 20 20 20 20 70 6C 61 79 65 playe
0000A0: 64 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 44 d....... D
0000B0: 65 63 61 79 3A 20 20 54 68 65 20 76 6F 6C 75 6D ecay: The volum
0000C0: 65 20 66 61 6C 6C 73 20 61 77 61 79 20 73 6C 6F e falls away slo
0000D0: 77 6C 79 20 74 6F 20 7A 65 72 6F 20 61 73 20 74 wly to zero as t
0000E0: 68 65 20 6E 6F 74 65 20 66 69 6E 69 73 68 65 73 he note finishes
0000F0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 .......
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 5F 5F 5F ___
000110: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000120: 5F 5F 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 __..
000130: 20 20 20 20 20 20 20 20 20 2F 7C 20 20 20 20 20 /|
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C |
000150: 5C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 \..
000160: 20 20 20 20 20 20 20 2F 20 7C 20 20 20 20 20 20 / |
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 |
000180: 20 5C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 \..
000190: 20 20 20 20 20 20 20 2F 20 20 7C 20 20 20 20 20 / |
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C |
0001B0: 20 20 20 20 5C 0D 0A 20 20 20 20 20 20 20 20 20 \..
0001C0: 20 20 20 20 20 20 20 20 20 2F 20 20 20 7C 20 20 / |
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001E0: 20 20 7C 20 20 20 20 20 20 5C 0D 0A 20 20 20 20 | \..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2F 20 20 /
Size : 512 (Real : 512)
000000: 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000010: 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 |
000020: 5C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 \..
000030: 20 20 20 2F 20 20 20 20 20 7C 20 20 20 20 20 20 / |
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 |
000050: 20 20 20 20 20 20 20 20 20 5C 0D 0A 20 20 20 20 \..
000060: 20 20 20 20 20 20 20 20 20 20 20 2F 20 20 20 20 /
000070: 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000080: 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 |
000090: 20 20 20 20 5C 0D 0A 20 20 20 20 20 20 20 20 20 \..
0000A0: 20 20 20 20 20 2F 20 20 20 20 20 20 20 7C 20 20 / |
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 |
0000D0: 20 5C 0D 0A 20 20 20 20 20 20 20 20 20 20 41 74 \.. At
0000E0: 74 61 63 6B 20 20 20 20 20 20 20 20 20 20 20 20 tack
0000F0: 53 75 73 74 61 69 6E 20 20 20 20 20 20 20 20 20 Sustain
000100: 20 20 20 20 44 65 63 61 79 0D 0A 0D 0A 0D 0A 20 Decay......
000110: 20 20 20 20 20 20 54 68 65 20 53 6F 75 6E 64 20 The Sound
000120: 4D 61 6E 61 67 65 72 20 61 6C 6C 6F 77 73 20 74 Manager allows t
000130: 77 6F 20 74 79 70 65 73 20 6F 66 20 65 6E 76 65 wo types of enve
000140: 6C 6F 70 65 73 3A 20 20 61 6D 70 6C 69 74 75 64 lopes: amplitud
000150: 65 20 20 65 6E 76 65 6C 6F 70 65 73 0D 0A 20 20 e envelopes..
000160: 20 20 20 20 20 74 6F 20 63 6F 6E 74 72 6F 6C 20 to control
000170: 61 20 73 6F 75 6E 64 27 73 20 76 6F 6C 75 6D 65 a sound's volume
000180: 20 61 6E 64 20 74 6F 6E 65 20 65 6E 76 65 6C 6F and tone envelo
000190: 70 65 73 20 69 74 73 20 70 69 74 63 68 20 28 20 pes its pitch (
0001A0: 20 74 68 65 20 20 70 69 74 63 68 0D 0A 20 20 20 the pitch..
0001B0: 20 20 20 20 69 73 20 76 61 72 69 65 64 20 69 6E is varied in
0001C0: 20 6D 75 63 68 20 74 68 65 20 73 61 6D 65 20 77 much the same w
0001D0: 61 79 20 61 73 20 74 68 65 20 76 6F 6C 75 6D 65 ay as the volume
0001E0: 20 29 2E 20 54 68 65 20 75 73 65 72 20 63 61 6E ). The user can
0001F0: 20 73 65 74 20 75 70 20 74 6F 0D 0A 20 20 20 20 set up to..
Size : 512 (Real : 512)
000000: 20 20 20 31 35 20 64 69 66 66 65 72 65 6E 74 20 15 different
000010: 65 6E 76 65 6C 6F 70 65 73 20 6F 66 20 65 61 63 envelopes of eac
000020: 68 20 74 79 70 65 2E 20 54 68 65 20 65 78 61 63 h type. The exac
000030: 74 20 20 66 6F 72 6D 61 74 73 20 20 6F 66 20 20 t formats of
000040: 74 68 65 20 20 64 61 74 61 0D 0A 20 20 20 20 20 the data..
000050: 20 20 62 6C 6F 63 6B 20 73 70 65 63 69 66 79 69 block specifyi
000060: 6E 67 20 65 6E 76 65 6C 6F 70 65 73 20 61 72 65 ng envelopes are
000070: 20 67 69 76 65 6E 20 69 6E 20 53 4F 55 4E 44 20 given in SOUND
000080: 41 4D 50 4C 20 45 4E 56 45 4C 4F 50 45 20 61 6E AMPL ENVELOPE an
000090: 64 20 20 53 4F 55 4E 44 0D 0A 20 20 20 20 20 20 d SOUND..
0000A0: 20 54 4F 4E 45 20 45 4E 56 45 4C 4F 50 45 2E 0D TONE ENVELOPE..
0000B0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 61 2E 20 41 ..... a. A
0000C0: 6D 70 6C 69 74 75 64 65 20 65 6E 76 65 6C 6F 70 mplitude envelop
0000D0: 65 73 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 es.......
0000E0: 41 6E 20 61 6D 70 6C 69 74 75 64 65 20 65 6E 76 An amplitude env
0000F0: 65 6C 6F 70 65 20 69 73 20 75 73 65 64 20 74 6F elope is used to
000100: 20 63 6F 6E 74 72 6F 6C 20 20 74 68 65 20 20 76 control the v
000110: 6F 6C 75 6D 65 20 20 61 6E 64 20 20 6C 65 6E 67 olume and leng
000120: 74 68 20 20 6F 66 0D 0A 20 20 20 20 20 20 20 73 th of.. s
000130: 6F 75 6E 64 2E 20 49 74 20 63 61 6E 20 68 61 76 ound. It can hav
000140: 65 20 75 70 20 74 6F 20 66 69 76 65 20 73 65 63 e up to five sec
000150: 74 69 6F 6E 73 2E 20 45 61 63 68 20 20 73 65 63 tions. Each sec
000160: 74 69 6F 6E 20 20 63 61 6E 20 20 62 65 20 20 65 tion can be e
000170: 69 74 68 65 72 0D 0A 20 20 20 20 20 20 20 68 61 ither.. ha
000180: 72 64 77 61 72 65 20 6F 72 20 61 20 73 6F 66 74 rdware or a soft
000190: 77 61 72 65 20 73 65 63 74 69 6F 6E 2E 20 53 6F ware section. So
0001A0: 66 74 77 61 72 65 20 73 65 63 74 69 6F 6E 73 20 ftware sections
0001B0: 61 72 65 20 65 69 74 68 65 72 20 20 61 62 73 6F are either abso
0001C0: 6C 75 74 65 0D 0A 20 20 20 20 20 20 20 6F 72 20 lute.. or
0001D0: 72 65 6C 61 74 69 76 65 2E 0D 0A 0D 0A 0D 0A 0D relative........
0001E0: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
0001F0: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
Size : 512 (Real : 512)
000000: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 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 70 61 67 65 20 37 2E 32 0D 0A page 7.2..
000030: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 ............
000040: 20 20 20 48 61 72 64 77 61 72 65 20 73 65 63 74 Hardware sect
000050: 69 6F 6E 73 20 77 72 69 74 65 20 76 61 6C 75 65 ions write value
000060: 73 20 69 6E 74 6F 20 74 68 65 20 73 6F 75 6E 64 s into the sound
000070: 20 63 68 69 70 20 72 65 67 69 73 74 65 72 73 20 chip registers
000080: 31 31 2C 31 32 20 20 61 6E 0D 0A 20 20 20 20 20 11,12 an..
000090: 20 20 31 33 20 74 6F 20 73 65 74 20 75 70 20 61 13 to set up a
0000A0: 20 68 61 72 64 77 61 72 65 20 65 6E 76 65 6C 6F hardware envelo
0000B0: 70 65 2E 20 28 20 53 65 65 20 41 70 70 65 6E 64 pe. ( See Append
0000C0: 69 78 20 49 58 20 66 6F 72 20 61 20 20 64 65 73 ix IX for a des
0000D0: 63 72 69 70 74 69 6F 6E 0D 0A 20 20 20 20 20 20 cription..
0000E0: 20 6F 66 20 74 68 65 20 73 6F 75 6E 64 20 63 68 of the sound ch
0000F0: 69 70 20 72 65 67 69 73 74 65 72 73 29 2E 20 47 ip registers). G
000100: 65 6E 65 72 61 6C 6C 79 20 61 20 20 68 61 72 64 enerally a hard
000110: 77 61 72 65 20 20 73 65 63 74 69 6F 6E 20 20 77 ware section w
000120: 69 6C 6C 20 20 62 65 0D 0A 20 20 20 20 20 20 20 ill be..
000130: 66 6F 6C 6C 6F 77 65 64 20 62 79 20 61 20 73 6F followed by a so
000140: 66 74 77 61 72 65 20 73 65 63 74 69 6F 6E 20 74 ftware section t
000150: 68 61 74 20 64 6F 65 73 20 6E 6F 74 68 69 6E 67 hat does nothing
000160: 20 20 65 78 63 65 70 74 20 20 77 61 69 74 20 20 except wait
000170: 66 6F 72 20 20 61 0D 0A 20 20 20 20 20 20 20 74 for a.. t
000180: 69 6D 65 20 6C 6F 6E 67 20 65 6E 6F 75 67 68 20 ime long enough
000190: 66 6F 72 20 74 68 65 20 68 61 72 64 77 61 72 65 for the hardware
0001A0: 20 65 6E 76 65 6C 6F 70 65 20 74 6F 20 6F 70 65 envelope to ope
0001B0: 72 61 74 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 rate.....
0001C0: 41 6E 20 61 62 73 6F 6C 75 74 65 20 73 6F 66 74 An absolute soft
0001D0: 77 61 72 65 20 73 65 63 74 69 6F 6E 20 73 70 65 ware section spe
0001E0: 63 69 66 69 65 73 20 61 20 76 6F 6C 75 6D 65 20 cifies a volume
0001F0: 74 6F 20 73 65 74 20 61 6E 64 20 61 20 20 74 69 to set and a ti
Size : 512 (Real : 512)
000000: 6D 65 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 77 me to.. w
000010: 61 69 74 20 62 65 66 6F 72 65 20 6F 62 65 79 69 ait before obeyi
000020: 6E 67 20 74 68 65 20 6E 65 78 74 20 73 6F 6C 75 ng the next solu
000030: 74 69 6F 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 tion.....
000040: 41 20 72 65 6C 61 74 69 76 65 20 73 6F 66 74 77 A relative softw
000050: 61 72 65 20 73 65 63 74 69 6F 6E 20 73 70 65 63 are section spec
000060: 69 66 69 65 73 20 61 6E 20 73 74 65 70 20 73 69 ifies an step si
000070: 7A 65 2C 20 61 20 6E 75 6D 62 65 72 20 6F 66 20 ze, a number of
000080: 20 73 74 65 70 73 0D 0A 20 20 20 20 20 20 20 61 steps.. a
000090: 6E 64 20 61 20 74 69 6D 65 20 74 6F 20 77 61 69 nd a time to wai
0000A0: 74 2E 20 46 6F 72 20 65 61 63 68 20 73 74 65 70 t. For each step
0000B0: 20 72 65 71 75 65 73 74 65 64 2C 20 20 74 68 65 requested, the
0000C0: 20 20 63 75 72 72 65 6E 74 20 20 76 6F 6C 75 6D current volum
0000D0: 65 20 20 69 73 0D 0A 20 20 20 20 20 20 20 63 68 e is.. ch
0000E0: 61 6E 67 65 64 20 62 79 20 74 68 65 20 67 69 76 anged by the giv
0000F0: 65 6E 20 73 74 65 70 20 73 69 7A 65 20 61 6E 64 en step size and
000100: 20 74 68 65 6E 20 74 68 65 20 53 6F 75 6E 64 20 then the Sound
000110: 20 6D 61 6E 61 67 65 72 20 20 77 61 69 74 73 20 manager waits
000120: 20 66 6F 72 0D 0A 20 20 20 20 20 20 20 74 68 65 for.. the
000130: 20 67 69 76 65 6E 20 74 69 6D 65 20 61 66 74 65 given time afte
000140: 72 20 65 61 63 68 20 73 74 65 70 20 62 65 66 6F r each step befo
000150: 72 65 20 6F 62 65 79 69 6E 67 20 74 68 65 20 6E re obeying the n
000160: 65 78 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 ext..... A
000170: 6D 70 6C 69 74 75 64 65 20 65 6E 76 65 6C 6F 70 mplitude envelop
000180: 65 73 20 61 72 65 20 73 65 74 20 62 79 20 63 61 es are set by ca
000190: 6C 6C 69 6E 67 20 53 4F 55 4E 44 20 41 4D 50 4C lling SOUND AMPL
0001A0: 20 45 4E 56 45 4C 4F 50 45 2E 0D 0A 0D 0A 20 20 ENVELOPE.....
0001B0: 20 20 20 20 20 62 2E 20 54 6F 6E 65 20 65 6E 76 b. Tone env
0001C0: 65 6C 6F 70 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 elopes.....
0001D0: 20 20 41 20 74 6F 6E 65 20 65 6E 76 65 6C 6F 70 A tone envelop
0001E0: 65 20 63 6F 6E 74 72 6F 6C 73 20 74 68 65 20 70 e controls the p
0001F0: 69 74 63 68 20 6F 66 20 74 68 65 20 73 6F 75 6E itch of the soun
Size : 512 (Real : 512)
000000: 64 2E 20 49 74 20 20 63 61 6E 20 20 68 61 76 65 d. It can have
000010: 20 20 75 70 20 20 74 6F 0D 0A 20 20 20 20 20 20 up to..
000020: 20 66 69 76 65 20 73 65 63 74 69 6F 6E 73 2E 20 five sections.
000030: 45 61 63 68 20 73 65 63 74 69 6F 6E 20 63 61 6E Each section can
000040: 20 62 65 20 65 69 74 68 65 72 20 61 6E 20 61 62 be either an ab
000050: 73 6F 6C 75 74 65 20 20 6F 72 20 20 61 20 20 72 solute or a r
000060: 65 6C 61 74 69 76 65 0D 0A 20 20 20 20 20 20 20 elative..
000070: 73 65 63 74 69 6F 6E 2E 20 54 68 65 20 73 65 63 section. The sec
000080: 74 69 6F 6E 73 20 6F 66 20 61 20 74 6F 6E 65 20 tions of a tone
000090: 65 6E 76 65 6C 6F 70 65 20 61 72 65 20 6E 6F 74 envelope are not
0000A0: 20 20 6E 65 63 65 73 73 61 72 69 6C 79 20 20 72 necessarily r
0000B0: 65 6C 61 74 65 64 0D 0A 20 20 20 20 20 20 20 74 elated.. t
0000C0: 6F 20 74 68 6F 73 65 20 6F 66 20 61 6E 20 61 6D o those of an am
0000D0: 70 6C 69 74 75 64 65 20 65 6E 76 65 6C 6F 70 65 plitude envelope
0000E0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 6E 20 61 ..... An a
0000F0: 62 73 6F 6C 75 74 65 20 73 65 63 74 69 6F 6E 20 bsolute section
000100: 73 70 65 63 69 66 69 65 73 20 61 20 74 6F 6E 65 specifies a tone
000110: 20 70 65 72 69 6F 64 20 74 6F 20 73 65 74 20 61 period to set a
000120: 6E 64 20 61 20 74 69 6D 65 20 74 6F 20 20 77 61 nd a time to wa
000130: 69 74 0D 0A 20 20 20 20 20 20 20 62 65 66 6F 72 it.. befor
000140: 65 20 6F 62 65 79 69 6E 67 20 74 68 65 20 6E 65 e obeying the ne
000150: 78 74 20 73 65 63 74 69 6F 6E 2E 0D 0A 0D 0A 20 xt section.....
000160: 20 20 20 20 20 20 41 20 72 65 6C 61 74 69 76 65 A relative
000170: 20 73 65 63 74 69 6F 6E 20 73 70 65 63 69 66 69 section specifi
000180: 65 73 20 61 6E 20 73 74 65 70 20 73 69 7A 65 2C es an step size,
000190: 20 61 20 6E 75 6D 62 65 72 20 20 6F 66 20 20 73 a number of s
0001A0: 74 65 70 73 20 20 61 6E 64 20 20 61 0D 0A 20 20 teps and a..
0001B0: 20 20 20 20 20 74 69 6D 65 20 74 6F 20 77 61 69 time to wai
0001C0: 74 2E 20 46 6F 72 20 65 61 63 68 20 73 74 65 70 t. For each step
0001D0: 20 72 65 71 75 65 73 74 65 64 2C 20 20 74 68 65 requested, the
0001E0: 20 20 63 75 72 72 65 6E 74 20 20 74 6F 6E 65 20 current tone
0001F0: 20 70 65 72 69 6F 64 20 20 69 73 0D 0A 20 20 20 period is..
Size : 512 (Real : 512)
000000: 20 20 20 20 63 68 61 6E 67 65 64 20 62 79 20 74 changed by t
000010: 68 65 20 67 69 76 65 6E 20 73 74 65 70 20 73 69 he given step si
000020: 7A 65 20 61 6E 64 20 74 68 65 6E 20 74 68 65 20 ze and then the
000030: 53 6F 75 6E 64 20 20 4D 61 6E 61 67 65 72 20 20 Sound Manager
000040: 77 61 69 74 73 20 20 66 6F 72 0D 0A 20 20 20 20 waits for..
000050: 20 20 20 74 68 65 20 67 69 76 65 6E 20 74 69 6D the given tim
000060: 65 20 61 66 74 65 72 20 65 61 63 68 20 73 74 65 e after each ste
000070: 70 20 62 65 66 6F 72 65 20 6F 62 65 79 69 6E 67 p before obeying
000080: 20 74 68 65 20 6E 65 78 74 20 73 74 65 70 2E 0D the next step..
000090: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
0000A0: 68 65 20 74 6F 6E 65 20 65 6E 76 65 6C 6F 70 65 he tone envelope
0000B0: 20 69 73 20 63 6F 6D 70 6C 65 74 65 64 20 62 65 is completed be
0000C0: 66 6F 72 65 20 74 68 65 20 20 73 6F 75 6E 64 20 fore the sound
0000D0: 20 64 75 72 61 74 69 6F 6E 20 20 65 78 70 69 72 duration expir
0000E0: 65 73 0D 0A 20 20 20 20 20 20 20 28 73 65 65 20 es.. (see
0000F0: 20 73 65 63 74 69 6F 6E 20 20 37 2E 34 66 29 20 section 7.4f)
000100: 20 74 68 65 6E 20 20 74 68 65 20 20 66 69 6E 61 then the fina
000110: 6C 20 20 20 70 69 74 63 68 20 20 20 69 73 20 20 l pitch is
000120: 20 68 65 6C 64 20 20 20 63 6F 6E 73 74 61 6E 74 held constant
000130: 2E 0D 0A 20 20 20 20 20 20 20 41 6C 74 65 72 6E ... Altern
000140: 61 74 69 76 65 6C 79 2C 20 20 74 6F 6E 65 20 20 atively, tone
000150: 65 6E 76 65 6C 6F 70 65 73 20 20 63 61 6E 20 20 envelopes can
000160: 62 65 20 20 73 65 74 20 20 74 6F 20 20 72 65 70 be set to rep
000170: 65 61 74 20 20 20 74 68 65 6D 73 65 6C 76 65 73 eat themselves
000180: 0D 0A 20 20 20 20 20 20 20 61 75 74 6F 6D 61 74 .. automat
000190: 69 63 61 6C 6C 79 2E 20 54 68 69 73 20 61 6C 6C ically. This all
0001A0: 6F 77 73 20 74 72 65 6D 75 6C 6F 20 65 66 66 65 ows tremulo effe
0001B0: 63 74 73 20 74 6F 20 62 65 20 63 72 65 61 74 65 cts to be create
0001C0: 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 6F 6E d..... Ton
0001D0: 65 20 65 6E 76 65 6C 6F 70 65 73 20 61 72 65 20 e envelopes are
0001E0: 73 65 74 20 62 79 20 63 61 6C 6C 69 6E 67 20 53 set by calling S
0001F0: 4F 55 4E 44 20 54 4F 4E 45 20 45 4E 56 45 4C 4F OUND TONE ENVELO
Size : 512 (Real : 512)
000000: 50 45 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 37 PE...... 7
000010: 2E 34 20 53 6F 75 6E 64 20 43 6F 6D 6D 61 6E 64 .4 Sound Command
000020: 73 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 57 68 s...... Wh
000030: 65 6E 20 61 20 73 6F 75 6E 64 20 69 73 20 67 69 en a sound is gi
000040: 76 65 6E 20 74 6F 20 74 68 65 20 53 6F 75 6E 64 ven to the Sound
000050: 20 4D 61 6E 61 67 65 72 20 74 6F 20 62 65 20 20 Manager to be
000060: 70 6C 61 79 65 64 2C 20 20 62 79 20 20 63 61 6C played, by cal
000070: 6C 69 6E 67 0D 0A 20 20 20 20 20 20 20 53 4F 55 ling.. SOU
000080: 4E 44 20 51 55 45 55 45 2C 20 61 20 6C 6F 74 20 ND QUEUE, a lot
000090: 6F 66 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 20 of information
0000A0: 6E 65 65 64 73 20 20 74 6F 20 20 62 65 20 20 73 needs to be s
0000B0: 70 65 63 69 66 69 65 64 2E 20 20 54 68 69 73 20 pecified. This
0000C0: 20 69 73 0D 0A 20 20 20 20 20 20 20 64 65 73 63 is.. desc
0000D0: 72 69 62 65 64 20 62 72 69 65 66 6C 79 20 62 65 ribed briefly be
0000E0: 6C 6F 77 2E 20 54 68 65 20 64 65 74 61 69 6C 65 low. The detaile
0000F0: 64 20 6C 61 79 6F 75 74 20 6F 66 20 61 20 73 6F d layout of a so
000100: 75 6E 64 20 20 63 6F 6D 6D 61 6E 64 20 20 64 61 und command da
000110: 74 61 0D 0A 20 20 20 20 20 20 20 62 6C 6F 63 6B ta.. block
000120: 20 69 73 20 64 65 73 63 72 69 62 65 64 20 69 6E is described in
000130: 20 53 4F 55 4E 44 20 51 55 45 55 45 2E 0D 0A 0D SOUND QUEUE....
000140: 0A 0D 0A 20 20 20 20 20 20 20 61 2E 20 49 6E 69 ... a. Ini
000150: 74 69 61 6C 20 74 6F 6E 65 20 70 65 72 69 6F 64 tial tone period
000160: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ....... Th
000170: 65 20 73 6F 75 6E 64 20 69 73 20 69 73 73 75 65 e sound is issue
000180: 64 20 77 69 74 68 20 61 6E 20 69 6E 69 74 69 61 d with an initia
000190: 6C 20 74 6F 6E 65 20 20 70 65 72 69 6F 64 2E 20 l tone period.
0001A0: 20 54 68 65 20 20 70 69 74 63 68 20 20 6F 66 20 The pitch of
0001B0: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 73 6F 75 the.. sou
0001C0: 6E 64 20 63 61 6E 20 62 65 20 76 61 72 69 65 64 nd can be varied
0001D0: 20 66 72 6F 6D 20 74 68 69 73 20 69 6E 69 74 69 from this initi
0001E0: 61 6C 20 76 61 6C 75 65 20 75 73 69 6E 67 20 61 al value using a
0001F0: 20 74 6F 6E 65 20 65 6E 76 65 6C 6F 70 65 2E 20 tone envelope.
Size : 512 (Real : 512)
000000: 20 49 66 0D 0A 20 20 20 20 20 20 20 6E 6F 20 65 If.. no e
000010: 6E 76 65 6C 6F 70 65 20 69 73 20 73 70 65 63 69 nvelope is speci
000020: 66 69 65 64 20 74 68 65 20 70 69 74 63 68 20 72 fied the pitch r
000030: 65 6D 61 69 6E 73 20 63 6F 6E 73 74 61 6E 74 2E emains constant.
000040: 20 41 6E 20 20 69 6E 69 74 69 61 6C 20 20 74 6F An initial to
000050: 6E 65 0D 0A 20 20 20 20 20 20 20 70 65 72 69 6F ne.. perio
000060: 64 20 6F 66 20 7A 65 72 6F 20 6D 65 61 6E 73 20 d of zero means
000070: 6E 6F 20 74 6F 6E 65 20 69 73 20 74 6F 20 62 65 no tone is to be
000080: 20 67 65 6E 65 72 61 74 65 64 2C 20 70 72 65 73 generated, pres
000090: 75 6D 61 62 6C 65 20 74 68 65 20 20 73 6F 75 6E umable the soun
0000A0: 64 0D 0A 20 20 20 20 20 20 20 69 73 20 74 6F 20 d.. is to
0000B0: 62 65 20 70 75 72 65 20 6E 6F 69 73 65 20 28 20 be pure noise (
0000C0: 73 65 65 28 65 29 62 65 6C 6F 77 2E 0D 0A 0D 0A see(e)below.....
0000D0: 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 .. AMSTRAD
0000E0: 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 CPC464/664/6128
0000F0: 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 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 70 61 67 65 20 37 2E 33 0D page 7.3.
000120: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 .............
000130: 20 20 20 20 62 2E 20 49 6E 69 74 69 61 6C 20 76 b. Initial v
000140: 6F 6C 75 6D 65 0D 0A 0D 0A 20 20 20 20 20 20 20 olume....
000150: 54 68 65 20 73 6F 75 6E 64 20 69 73 20 69 73 73 The sound is iss
000160: 75 65 64 20 77 69 74 68 20 61 6E 20 69 6E 69 74 ued with an init
000170: 69 61 6C 20 76 6F 6C 75 6D 65 2E 20 54 68 65 20 ial volume. The
000180: 76 6F 6C 75 6D 65 20 20 6F 66 20 20 74 68 65 20 volume of the
000190: 20 73 6F 75 6E 64 0D 0A 20 20 20 20 20 20 20 63 sound.. c
0001A0: 61 6E 20 62 65 20 76 61 72 69 65 64 20 66 72 6F an be varied fro
0001B0: 6D 20 74 68 69 73 20 69 6E 69 74 69 61 6C 20 76 m this initial v
0001C0: 61 6C 75 65 20 75 73 69 6E 67 20 61 6E 20 61 6D alue using an am
0001D0: 70 6C 69 74 75 64 65 20 65 6E 76 65 6C 6F 70 65 plitude envelope
0001E0: 2E 20 20 49 66 0D 0A 20 20 20 20 20 20 20 6E 6F . If.. no
0001F0: 20 61 6D 70 6C 69 74 75 64 65 20 65 6E 76 65 6C amplitude envel
Size : 512 (Real : 512)
000000: 6F 70 65 20 69 73 20 73 70 65 63 69 66 69 65 64 ope is specified
000010: 20 74 68 65 6E 20 74 68 65 20 76 6F 6C 75 6D 65 then the volume
000020: 20 72 65 6D 61 69 6E 73 20 63 6F 6E 73 74 61 6E remains constan
000030: 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 63 2E 20 t..... c.
000040: 54 6F 6E 65 20 65 6E 76 65 6C 6F 70 65 2E 0D 0A Tone envelope...
000050: 0D 0A 20 20 20 20 20 20 20 54 68 69 73 20 73 70 .. This sp
000060: 65 63 69 66 69 65 73 20 77 68 69 63 68 20 74 6F ecifies which to
000070: 6E 65 20 65 6E 76 65 6C 6F 70 65 20 74 6F 20 75 ne envelope to u
000080: 73 65 2E 20 49 66 20 6E 6F 20 65 6E 76 65 6C 6F se. If no envelo
000090: 70 65 20 69 73 20 73 70 65 63 69 66 69 65 64 0D pe is specified.
0000A0: 0A 20 20 20 20 20 20 20 74 68 65 6E 20 74 68 65 . then the
0000B0: 20 70 69 74 63 68 20 6F 66 20 74 68 65 20 73 6F pitch of the so
0000C0: 75 6E 64 20 72 65 6D 61 69 6E 73 20 63 6F 6E 73 und remains cons
0000D0: 74 61 6E 74 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 tant.....
0000E0: 64 2E 20 41 6D 70 6C 69 74 75 64 65 20 65 6E 76 d. Amplitude env
0000F0: 65 6C 6F 70 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 elope.....
000100: 20 54 68 69 73 20 73 70 65 63 69 66 69 65 73 20 This specifies
000110: 77 68 69 63 68 20 61 6D 70 6C 69 74 75 64 65 20 which amplitude
000120: 74 6F 20 75 73 65 2E 20 49 66 20 20 6E 6F 20 20 to use. If no
000130: 65 6E 76 65 6C 6F 70 65 20 20 69 73 20 20 73 70 envelope is sp
000140: 65 63 69 66 69 65 64 0D 0A 20 20 20 20 20 20 20 ecified..
000150: 74 68 65 6E 20 64 65 66 61 75 6C 74 20 73 79 73 then default sys
000160: 74 65 6D 20 65 6E 76 65 6C 6F 70 65 20 69 73 20 tem envelope is
000170: 75 73 65 64 2E 20 54 68 69 73 20 6B 65 65 70 73 used. This keeps
000180: 20 20 74 68 65 20 20 76 6F 6C 75 6D 65 20 20 6F the volume o
000190: 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 73 f the.. s
0001A0: 6F 75 6E 64 20 63 6F 6E 73 74 61 6E 74 20 61 6E ound constant an
0001B0: 64 20 6C 61 73 74 73 20 66 6F 72 20 32 20 73 65 d lasts for 2 se
0001C0: 63 6F 6E 64 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 conds.....
0001D0: 20 65 2E 20 4E 6F 69 73 65 20 70 65 72 69 6F 64 e. Noise period
0001E0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 74 ..... If t
0001F0: 68 65 20 6E 6F 69 73 65 20 70 65 72 69 6F 64 20 he noise period
Size : 512 (Real : 512)
000000: 69 73 20 7A 65 72 6F 20 74 68 65 6E 20 6E 6F 20 is zero then no
000010: 6E 6F 69 73 65 20 69 73 20 74 6F 20 62 65 20 61 noise is to be a
000020: 64 64 65 64 20 74 6F 20 74 68 65 20 73 6F 75 6E dded to the soun
000030: 64 2E 0D 0A 20 20 20 20 20 20 20 41 6E 79 20 6F d... Any o
000040: 74 68 65 72 20 76 61 6C 75 65 20 73 65 74 73 20 ther value sets
000050: 74 68 65 20 70 65 72 69 6F 64 20 66 6F 72 20 74 the period for t
000060: 68 65 20 70 73 65 75 64 6F 2D 72 61 6E 64 6F 6D he pseudo-random
000070: 20 6E 6F 69 73 65 20 20 67 65 6E 65 72 61 74 6F noise generato
000080: 72 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 61 64 r.. and ad
000090: 64 73 20 6E 6F 69 73 65 20 74 6F 20 74 68 65 20 ds noise to the
0000A0: 74 6F 6E 65 20 67 65 6E 65 72 61 74 65 64 2E 20 tone generated.
0000B0: 4E 6F 74 65 20 20 74 68 61 74 20 20 74 68 65 72 Note that ther
0000C0: 65 20 20 69 73 20 20 6F 6E 6C 79 20 20 6F 6E 65 e is only one
0000D0: 0D 0A 20 20 20 20 20 20 20 6E 6F 69 73 65 20 67 .. noise g
0000E0: 65 6E 65 72 61 74 6F 72 20 61 6E 64 20 73 6F 20 enerator and so
0000F0: 69 66 20 74 77 6F 20 73 6F 75 6E 64 73 20 61 72 if two sounds ar
000100: 65 20 74 6F 20 75 73 65 20 69 74 20 61 74 20 20 e to use it at
000110: 74 68 65 20 20 73 61 6D 65 20 20 74 69 6D 65 0D the same time.
000120: 0A 20 20 20 20 20 20 20 74 68 65 79 20 77 69 6C . they wil
000130: 6C 20 6E 65 65 64 20 74 6F 20 61 67 72 65 65 20 l need to agree
000140: 6F 6E 20 74 68 65 20 70 65 72 69 6F 64 2E 0D 0A on the period...
000150: 0D 0A 20 20 20 20 20 20 20 66 2E 20 44 75 72 61 .. f. Dura
000160: 74 69 6F 6E 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 tion.....
000170: 54 68 65 20 6C 65 6E 67 74 68 20 6F 66 20 61 20 The length of a
000180: 73 6F 75 6E 64 20 63 61 6E 20 62 65 20 73 70 65 sound can be spe
000190: 63 69 66 69 65 64 20 20 69 6E 20 20 74 77 6F 20 cified in two
0001A0: 20 77 61 79 73 2C 20 20 65 69 74 68 65 72 20 20 ways, either
0001B0: 61 73 20 20 61 6E 0D 0A 20 20 20 20 20 20 20 61 as an.. a
0001C0: 62 73 6F 6C 75 74 65 20 74 69 6D 65 20 28 20 64 bsolute time ( d
0001D0: 75 72 61 74 69 6F 6E 20 29 20 20 6F 72 20 20 61 uration ) or a
0001E0: 73 20 20 61 20 20 6E 75 6D 62 65 72 20 20 6F 66 s a number of
0001F0: 20 20 6F 70 65 72 61 74 69 6F 6E 73 20 20 6F 66 operations of
Size : 512 (Real : 512)
000000: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 61 6D the.. am
000010: 70 6C 69 74 75 64 65 20 65 6E 76 65 6C 6F 70 65 plitude envelope
000020: 2E 20 49 6E 20 74 68 65 20 6C 61 74 74 65 72 20 . In the latter
000030: 63 61 73 65 20 74 68 65 20 65 6E 76 65 6C 6F 70 case the envelop
000040: 65 20 69 73 20 72 75 6E 20 6F 6E 65 20 6F 72 20 e is run one or
000050: 6D 6F 72 65 0D 0A 20 20 20 20 20 20 20 74 69 6D more.. tim
000060: 65 73 20 61 6E 64 20 74 68 65 20 73 6F 75 6E 64 es and the sound
000070: 20 66 69 6E 69 73 68 65 73 20 77 68 65 6E 20 74 finishes when t
000080: 68 65 20 65 6E 76 65 6C 6F 70 65 20 68 61 73 20 he envelope has
000090: 62 65 65 6E 20 20 65 78 65 63 75 74 65 64 20 20 been executed
0000A0: 74 68 65 0D 0A 20 20 20 20 20 20 20 73 70 65 63 the.. spec
0000B0: 69 66 69 65 64 20 6E 75 6D 62 65 72 20 6F 66 20 ified number of
0000C0: 74 69 6D 65 73 2E 20 49 6E 20 74 68 65 20 66 6F times. In the fo
0000D0: 72 6D 65 72 20 20 63 61 73 65 2C 20 20 69 66 20 rmer case, if
0000E0: 20 74 68 65 20 20 64 75 72 61 74 69 6F 6E 20 20 the duration
0000F0: 69 73 0D 0A 20 20 20 20 20 20 20 6C 6F 6E 67 65 is.. longe
000100: 72 20 74 68 61 6E 20 74 68 65 20 65 6E 76 65 6C r than the envel
000110: 6F 70 65 20 74 68 65 6E 20 74 68 65 20 73 6F 75 ope then the sou
000120: 6E 64 20 69 73 20 63 75 74 20 73 68 6F 72 74 2E nd is cut short.
000130: 20 49 66 20 74 68 65 20 20 64 75 72 61 74 69 6F If the duratio
000140: 6E 0D 0A 20 20 20 20 20 20 20 69 73 20 6C 6F 6E n.. is lon
000150: 67 65 72 20 74 68 61 6E 20 74 68 65 20 65 6E 76 ger than the env
000160: 65 6C 6F 70 65 20 74 68 65 6E 20 74 68 65 20 66 elope then the f
000170: 69 6E 61 6C 20 61 6D 70 6C 69 74 75 64 65 20 69 inal amplitude i
000180: 73 20 68 65 6C 64 20 75 6E 74 69 6C 20 74 68 65 s held until the
000190: 0D 0A 20 20 20 20 20 20 20 64 75 72 61 74 69 6F .. duratio
0001A0: 6E 20 65 78 70 69 72 65 73 2E 0D 0A 0D 0A 0D 0A n expires.......
0001B0: 20 20 20 20 20 20 20 67 2E 20 43 68 61 6E 6E 65 g. Channe
0001C0: 6C 73 20 61 6E 64 20 53 79 6E 63 68 72 6F 6E 69 ls and Synchroni
0001D0: 73 61 74 69 6F 6E 20 42 69 74 73 2E 0D 0A 0D 0A sation Bits.....
0001E0: 20 20 20 20 20 20 20 54 68 65 20 73 6F 75 6E 64 The sound
0001F0: 20 63 61 6E 20 62 65 20 69 73 73 75 65 64 20 74 can be issued t
Size : 512 (Real : 512)
000000: 6F 20 6F 6E 65 20 6F 72 20 6D 6F 72 65 20 63 68 o one or more ch
000010: 61 6E 6E 65 6C 73 2E 20 49 66 20 61 20 73 6F 75 annels. If a sou
000020: 6E 64 20 69 73 20 20 69 73 73 75 65 64 0D 0A 20 nd is issued..
000030: 20 20 20 20 20 20 74 6F 20 6D 6F 72 65 20 74 68 to more th
000040: 61 6E 20 6F 6E 65 20 63 68 61 6E 6E 65 6C 20 74 an one channel t
000050: 68 65 6E 20 74 68 65 73 65 20 63 68 61 6E 6E 65 hen these channe
000060: 6C 73 20 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 ls automatically
000070: 20 20 72 65 6E 64 65 7A 76 6F 75 73 0D 0A 20 20 rendezvous..
000080: 20 20 20 20 20 77 69 74 68 20 65 61 63 68 20 6F with each o
000090: 74 68 65 72 2E 20 52 65 6E 64 65 7A 76 6F 75 73 ther. Rendezvous
0000A0: 20 72 65 71 75 69 72 65 6D 65 6E 74 73 20 20 63 requirements c
0000B0: 61 6E 20 20 62 65 20 20 73 65 74 20 20 65 78 70 an be set exp
0000C0: 6C 69 63 69 74 6C 79 20 20 61 73 0D 0A 20 20 20 licitly as..
0000D0: 20 20 20 20 77 65 6C 6C 2E 20 41 6C 73 6F 20 74 well. Also t
0000E0: 68 65 20 73 6F 75 6E 64 20 63 61 6E 20 62 65 20 he sound can be
0000F0: 68 65 6C 64 20 6F 72 20 74 68 65 20 73 6F 75 6E held or the soun
000100: 64 20 20 71 75 65 75 65 20 20 63 61 6E 20 20 62 d queue can b
000110: 65 20 20 66 6C 75 73 68 65 64 0D 0A 20 20 20 20 e flushed..
000120: 20 20 20 28 73 65 65 20 73 65 63 74 69 6F 6E 20 (see section
000130: 37 2E 36 29 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 7.6).......
000140: 20 20 37 2E 35 20 20 53 6F 75 6E 64 20 51 75 65 7.5 Sound Que
000150: 75 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 45 ues..... E
000160: 61 63 68 20 63 68 61 6E 6E 65 6C 20 68 61 73 20 ach channel has
000170: 61 20 71 75 65 75 65 20 61 73 73 6F 63 69 61 74 a queue associat
000180: 65 64 20 77 69 74 68 20 69 74 2E 20 45 61 63 68 ed with it. Each
000190: 20 71 75 65 75 65 20 68 61 73 20 20 73 70 61 63 queue has spac
0001A0: 65 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 73 74 e to.. st
0001B0: 6F 72 65 20 61 74 20 6C 65 61 73 74 20 74 68 72 ore at least thr
0001C0: 65 65 20 73 6F 75 6E 64 73 2E 20 54 68 65 20 73 ee sounds. The s
0001D0: 6F 75 6E 64 20 61 74 20 74 68 65 20 68 65 61 64 ound at the head
0001E0: 20 6F 66 20 65 61 63 68 20 20 71 75 65 75 65 20 of each queue
0001F0: 20 6D 61 79 0D 0A 20 20 20 20 20 20 20 62 65 20 may.. be
Size : 512 (Real : 512)
000000: 72 75 6E 6E 69 6E 67 20 61 6E 64 20 6D 61 6B 69 running and maki
000010: 6E 67 20 6D 75 73 69 63 20 6F 6E 20 69 74 73 20 ng music on its
000020: 63 68 61 6E 6E 65 6C 20 6F 72 20 69 74 20 6D 61 channel or it ma
000030: 79 20 20 62 65 20 20 77 61 69 74 69 6E 67 20 20 y be waiting
000040: 66 6F 72 0D 0A 20 20 20 20 20 20 20 76 61 72 69 for.. vari
000050: 6F 75 73 20 73 79 6E 63 68 72 6F 6E 69 73 61 74 ous synchronisat
000060: 69 6F 6E 20 72 65 71 75 69 72 65 6D 65 6E 74 73 ion requirements
000070: 20 28 20 73 65 65 20 37 2E 36 20 62 65 6C 6F 77 ( see 7.6 below
000080: 20 29 2E 20 57 68 65 6E 20 20 61 20 20 73 6F 75 ). When a sou
000090: 6E 64 0D 0A 20 20 20 20 20 20 20 63 6F 6D 6D 61 nd.. comma
0000A0: 6E 64 20 69 73 20 69 73 73 75 65 64 20 74 68 65 nd is issued the
0000B0: 20 73 6F 75 6E 64 20 69 73 20 70 6C 61 63 65 64 sound is placed
0000C0: 20 69 6E 74 6F 20 74 68 65 20 71 75 65 75 65 73 into the queues
0000D0: 20 66 6F 72 20 74 68 65 20 63 68 61 6E 6E 65 6C for the channel
0000E0: 73 0D 0A 20 20 20 20 20 20 20 73 70 65 63 69 66 s.. specif
0000F0: 69 65 64 20 62 79 20 74 68 65 20 63 6F 6D 6D 61 ied by the comma
000100: 6E 64 2E 20 57 68 65 6E 20 74 68 65 20 20 73 6F nd. When the so
000110: 75 6E 64 20 20 72 65 61 63 68 65 73 20 20 74 68 und reaches th
000120: 65 20 20 68 65 61 64 20 20 6F 66 20 20 74 68 65 e head of the
000130: 0D 0A 20 20 20 20 20 20 20 71 75 65 75 65 2C 20 .. queue,
000140: 61 6E 64 20 70 72 6F 76 69 64 69 6E 67 20 69 74 and providing it
000150: 73 20 73 79 6E 63 68 72 6F 6E 69 73 61 74 69 6F s synchronisatio
000160: 6E 20 72 65 71 75 69 72 65 6D 65 6E 74 73 20 61 n requirements a
000170: 72 65 20 6D 65 74 2C 20 20 69 74 20 20 69 73 0D re met, it is.
000180: 0A 20 20 20 20 20 20 20 65 78 65 63 75 74 65 64 . executed
000190: 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 .........
0001A0: 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 AMSTRAD CPC464/6
0001B0: 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 64/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 20 20 20 20 20 70 61 pa
0001E0: 67 65 20 37 2E 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ge 7.4..........
0001F0: 0D 0A 0D 0A 20 20 20 20 20 20 20 49 66 20 61 20 .... If a
Size : 512 (Real : 512)
000000: 73 6F 75 6E 64 20 74 68 61 74 20 68 61 73 20 74 sound that has t
000010: 68 65 20 66 6C 75 73 68 20 62 69 74 20 69 73 20 he flush bit is
000020: 70 75 74 20 69 6E 74 6F 20 61 20 71 75 65 75 65 put into a queue
000030: 20 74 68 65 6E 20 61 6C 6C 20 20 73 6F 75 6E 64 then all sound
000040: 73 0D 0A 20 20 20 20 20 20 20 71 75 65 75 65 64 s.. queued
000050: 20 66 6F 72 20 74 68 61 74 20 63 68 61 6E 6E 65 for that channe
000060: 6C 20 61 72 65 20 20 64 69 73 63 61 72 64 65 64 l are discarded
000070: 20 20 61 6E 64 20 20 61 6E 79 20 20 65 78 65 63 and any exec
000080: 75 74 69 6E 67 20 20 73 6F 75 6E 64 20 20 69 73 uting sound is
000090: 0D 0A 20 20 20 20 20 20 20 73 74 6F 70 70 65 64 .. stopped
0000A0: 20 69 6D 6D 65 64 69 61 74 65 6C 79 2E 20 54 68 immediately. Th
0000B0: 75 73 20 61 20 73 6F 75 6E 64 20 77 69 74 68 20 us a sound with
0000C0: 74 68 65 20 66 6C 75 73 68 20 62 69 74 20 73 65 the flush bit se
0000D0: 74 20 77 69 6C 6C 20 6D 6F 76 65 20 20 74 6F 0D t will move to.
0000E0: 0A 20 20 20 20 20 20 20 74 68 65 20 68 65 61 64 . the head
0000F0: 20 6F 66 20 74 68 65 20 71 75 65 75 65 20 69 6D of the queue im
000100: 6D 65 64 69 61 74 65 6C 79 20 61 6E 64 20 6D 61 mediately and ma
000110: 79 20 63 6F 6D 6D 65 6E 63 65 20 65 78 65 63 75 y commence execu
000120: 74 69 6F 6E 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 tion.......
000130: 20 20 41 20 72 6F 75 74 69 6E 65 20 28 53 4F 55 A routine (SOU
000140: 4E 44 20 43 48 45 43 4B 20 29 20 69 73 20 70 72 ND CHECK ) is pr
000150: 6F 76 69 64 65 64 20 74 6F 20 74 65 73 74 20 74 ovided to test t
000160: 68 65 20 73 74 61 74 75 73 20 6F 66 20 20 74 68 he status of th
000170: 65 20 20 73 6F 75 6E 64 0D 0A 20 20 20 20 20 20 e sound..
000180: 20 61 74 20 74 68 65 20 68 65 61 64 20 6F 66 20 at the head of
000190: 61 20 71 75 65 75 65 20 61 6E 64 20 74 6F 20 64 a queue and to d
0001A0: 65 74 65 72 6D 69 6E 65 20 68 6F 77 20 6D 75 63 etermine how muc
0001B0: 68 20 66 72 65 65 20 73 70 61 63 65 20 20 69 73 h free space is
0001C0: 20 20 69 6E 20 20 61 0D 0A 20 20 20 20 20 20 20 in a..
0001D0: 71 75 65 75 65 2E 20 49 74 20 69 73 20 61 6C 73 queue. It is als
0001E0: 6F 20 70 6F 73 73 69 62 6C 65 20 74 6F 20 73 65 o possible to se
0001F0: 74 20 75 70 20 61 20 73 6F 75 6E 64 20 65 76 65 t up a sound eve
Size : 512 (Real : 512)
000000: 6E 74 20 66 6F 72 20 65 61 63 68 20 71 75 65 75 nt for each queu
000010: 65 20 28 20 62 79 0D 0A 20 20 20 20 20 20 20 63 e ( by.. c
000020: 61 6C 6C 69 6E 67 20 53 4F 55 4E 44 20 41 52 4D alling SOUND ARM
000030: 20 45 56 45 4E 54 20 29 2E 20 54 68 69 73 20 73 EVENT ). This s
000040: 79 6E 63 68 72 6F 6E 6F 75 73 20 65 76 65 6E 74 ynchronous event
000050: 20 69 73 20 27 20 6B 69 63 6B 65 64 20 20 27 20 is ' kicked '
000060: 20 77 68 65 6E 0D 0A 20 20 20 20 20 20 20 74 68 when.. th
000070: 65 20 71 75 65 75 65 20 68 61 73 20 61 20 66 72 e queue has a fr
000080: 65 65 20 73 70 61 63 65 20 69 6E 20 69 74 2E 20 ee space in it.
000090: 54 68 65 20 73 6F 75 6E 64 20 65 76 65 6E 74 20 The sound event
0000A0: 6D 65 63 68 61 6E 69 73 6D 20 61 6C 6C 6F 77 73 mechanism allows
0000B0: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 67 65 6E the.. gen
0000C0: 65 72 61 74 69 6F 6E 20 6F 66 20 73 6F 75 6E 64 eration of sound
0000D0: 20 74 6F 20 62 65 20 63 61 72 72 69 65 64 20 6F to be carried o
0000E0: 6E 20 61 73 20 61 20 62 61 63 6B 67 72 6F 75 6E n as a backgroun
0000F0: 64 20 74 61 73 6B 20 77 68 69 6C 73 74 20 20 73 d task whilst s
000100: 6F 6D 65 0D 0A 20 20 20 20 20 20 20 6F 74 68 65 ome.. othe
000110: 72 20 61 63 74 69 6F 6E 20 69 73 20 62 65 69 6E r action is bein
000120: 67 20 63 61 72 72 69 65 64 20 6F 75 74 2E 0D 0A g carried out...
000130: 0D 0A 0D 0A 20 20 20 20 20 20 20 37 2E 36 20 53 .... 7.6 S
000140: 79 6E 63 68 72 6F 6E 69 73 61 74 69 6F 6E 2E 0D ynchronisation..
000150: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 72 ..... Ther
000160: 65 20 61 72 65 20 74 77 6F 20 6D 65 63 68 61 6E e are two mechan
000170: 69 73 6D 73 20 74 6F 20 61 6C 6C 6F 77 20 73 6F isms to allow so
000180: 75 6E 64 73 20 6F 6E 20 64 69 66 66 65 72 65 6E unds on differen
000190: 74 20 63 68 61 6E 6E 65 6C 73 20 20 74 6F 20 20 t channels to
0001A0: 62 65 0D 0A 20 20 20 20 20 20 20 73 79 6E 63 68 be.. synch
0001B0: 72 6F 6E 69 73 65 64 2E 20 54 68 65 73 65 20 61 ronised. These a
0001C0: 72 65 20 68 6F 6C 64 69 6E 67 20 73 6F 75 6E 64 re holding sound
0001D0: 73 20 61 6E 64 20 72 65 6E 64 65 7A 76 6F 75 73 s and rendezvous
0001E0: 2E 20 54 68 65 20 70 75 72 70 6F 73 65 20 20 6F . The purpose o
0001F0: 66 0D 0A 20 20 20 20 20 20 20 73 79 6E 63 68 72 f.. synchr
Size : 512 (Real : 512)
000000: 6F 6E 69 73 61 74 69 6F 6E 20 69 73 20 74 6F 20 onisation is to
000010: 65 6E 73 75 72 65 20 74 68 61 74 20 20 73 6F 75 ensure that sou
000020: 6E 64 73 20 20 73 74 61 72 74 20 20 73 69 6D 75 nds start simu
000030: 6C 74 61 6E 65 6F 75 73 6C 79 2E 20 20 46 6F 72 ltaneously. For
000040: 0D 0A 20 20 20 20 20 20 20 65 78 61 6D 70 6C 65 .. example
000050: 2C 20 61 20 73 69 6D 75 6C 61 74 69 6F 6E 20 6F , a simulation o
000060: 66 20 20 61 6E 20 20 69 6E 73 74 72 75 6D 65 6E f an instrumen
000070: 74 20 20 6D 69 67 68 74 20 20 75 73 65 20 20 6F t might use o
000080: 6E 65 20 20 63 68 61 6E 6E 65 6C 20 20 74 6F 0D ne channel to.
000090: 0A 20 20 20 20 20 20 20 67 65 6E 65 72 61 74 65 . generate
0000A0: 20 74 68 65 20 66 75 6E 64 61 6D 65 6E 74 61 6C the fundamental
0000B0: 20 6E 6F 74 65 20 61 6E 64 20 20 61 6E 6F 74 68 note and anoth
0000C0: 65 72 20 20 63 68 61 6E 6E 65 6C 20 20 74 6F 20 er channel to
0000D0: 20 67 65 6E 65 72 61 74 65 20 20 74 68 65 0D 0A generate the..
0000E0: 20 20 20 20 20 20 20 68 61 72 6D 6F 6E 69 63 73 harmonics
0000F0: 20 6F 66 20 74 68 65 20 6E 6F 74 65 2E 20 20 54 of the note. T
000100: 68 65 20 20 73 79 6E 63 68 72 6F 6E 69 73 61 74 he synchronisat
000110: 69 6F 6E 20 20 6D 65 63 68 61 6E 69 73 6D 2C 20 ion mechanism,
000120: 20 70 61 72 74 69 63 75 6C 61 72 6C 79 0D 0A 20 particularly..
000130: 20 20 20 20 20 20 72 65 6E 64 65 7A 76 6F 75 73 rendezvous
000140: 2C 20 6D 79 20 62 65 20 75 73 65 64 20 74 6F 20 , my be used to
000150: 65 6E 73 75 72 65 20 74 68 61 74 20 74 68 65 20 ensure that the
000160: 66 75 6E 64 61 6D 65 6E 74 61 6C 20 61 6E 64 20 fundamental and
000170: 74 68 65 20 68 61 72 6D 6F 6E 69 63 0D 0A 20 20 the harmonic..
000180: 20 20 20 20 20 73 6F 75 6E 64 73 20 73 74 61 72 sounds star
000190: 74 20 65 78 61 63 74 6C 79 20 74 6F 67 65 74 68 t exactly togeth
0001A0: 65 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 er.......
0001B0: 41 20 73 6F 75 6E 64 20 63 61 6E 20 62 65 20 73 A sound can be s
0001C0: 70 65 63 69 66 69 65 64 20 74 6F 20 62 65 20 68 pecified to be h
0001D0: 65 6C 64 20 77 68 65 6E 20 69 74 20 69 73 20 69 eld when it is i
0001E0: 73 73 75 65 64 2E 20 54 68 69 73 20 6D 65 61 6E ssued. This mean
0001F0: 73 20 74 68 61 74 0D 0A 20 20 20 20 20 20 20 77 s that.. w
Size : 512 (Real : 512)
000000: 68 65 6E 20 69 74 20 72 65 61 63 68 65 73 20 74 hen it reaches t
000010: 68 65 20 68 65 61 64 20 20 6F 66 20 20 74 68 65 he head of the
000020: 20 20 73 6F 75 6E 64 20 20 71 75 65 75 65 20 20 sound queue
000030: 69 74 20 20 69 73 20 20 6E 6F 74 20 20 65 78 65 it is not exe
000040: 63 75 74 65 64 0D 0A 20 20 20 20 20 20 20 69 6D cuted.. im
000050: 6D 65 64 69 61 74 65 6C 79 2E 20 49 6E 73 74 65 mediately. Inste
000060: 61 64 20 69 74 20 77 61 69 74 73 20 75 6E 74 69 ad it waits unti
000070: 6C 20 69 74 20 69 73 20 20 65 78 70 6C 69 63 69 l it is explici
000080: 74 6C 79 20 20 72 65 6C 65 61 73 65 64 20 20 28 tly released (
000090: 20 20 62 79 0D 0A 20 20 20 20 20 20 20 63 61 6C by.. cal
0000A0: 6C 69 6E 67 20 53 4F 55 4E 44 20 52 45 4C 45 41 ling SOUND RELEA
0000B0: 53 45 20 29 20 62 65 66 6F 72 65 20 69 74 20 73 SE ) before it s
0000C0: 74 61 72 74 73 20 65 78 65 63 75 74 69 6F 6E 2E tarts execution.
0000D0: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 73 6F 75 .... A sou
0000E0: 6E 64 20 63 61 6E 20 68 61 76 65 20 72 65 6E 64 nd can have rend
0000F0: 65 7A 76 6F 75 73 20 72 65 71 75 69 72 65 6D 65 ezvous requireme
000100: 6E 74 73 20 73 65 74 20 6F 6E 20 69 74 20 77 68 nts set on it wh
000110: 65 6E 20 69 74 20 69 73 20 20 69 73 73 75 65 64 en it is issued
000120: 2E 0D 0A 20 20 20 20 20 20 20 49 66 20 61 20 73 ... If a s
000130: 6F 75 6E 64 20 69 73 20 69 73 73 75 65 64 20 74 ound is issued t
000140: 6F 20 6D 6F 72 65 20 74 68 61 6E 20 6F 6E 65 20 o more than one
000150: 63 68 61 6E 6E 65 6C 20 74 68 65 6E 20 74 68 65 channel then the
000160: 73 65 20 63 68 61 6E 6E 65 6C 73 20 20 61 6C 6C se channels all
000170: 0D 0A 20 20 20 20 20 20 20 73 65 74 20 72 65 6E .. set ren
000180: 64 65 7A 76 6F 75 73 20 77 69 74 68 20 65 61 63 dezvous with eac
000190: 68 20 6F 74 68 65 72 20 61 75 74 6F 6D 61 74 69 h other automati
0001A0: 63 61 6C 6C 79 2E 20 20 57 68 65 6E 20 20 61 20 cally. When a
0001B0: 20 73 6F 75 6E 64 20 20 77 69 74 68 20 20 61 0D sound with a.
0001C0: 0A 20 20 20 20 20 20 20 72 65 6E 64 65 7A 76 6F . rendezvo
0001D0: 75 73 20 73 65 74 20 72 65 61 63 68 65 73 20 74 us set reaches t
0001E0: 68 65 20 68 65 61 64 20 6F 66 20 74 68 65 20 73 he head of the s
0001F0: 6F 75 6E 64 20 71 75 65 75 65 20 69 74 20 69 73 ound queue it is
Size : 512 (Real : 512)
000000: 20 6E 6F 74 20 20 65 78 65 63 75 74 65 64 0D 0A not executed..
000010: 20 20 20 20 20 20 20 69 6D 6D 65 64 69 61 74 65 immediate
000020: 6C 79 2E 20 49 6E 73 74 65 61 64 20 69 74 20 77 ly. Instead it w
000030: 61 69 74 73 20 75 6E 74 69 6C 20 73 6F 75 6E 64 aits until sound
000040: 73 20 20 77 69 74 68 20 20 6D 61 74 63 68 69 6E s with matchin
000050: 67 20 20 72 65 6E 64 65 7A 76 6F 75 73 0D 0A 20 g rendezvous..
000060: 20 20 20 20 20 20 72 65 71 75 69 72 65 6D 65 6E requiremen
000070: 74 73 20 72 65 61 63 68 20 74 68 65 20 68 65 61 ts reach the hea
000080: 64 20 6F 66 20 20 74 68 65 69 72 20 20 73 6F 75 d of their sou
000090: 6E 64 20 20 71 75 65 75 65 73 2E 20 20 4F 6E 6C nd queues. Onl
0000A0: 79 20 20 77 68 65 6E 20 20 61 6C 6C 0D 0A 20 20 y when all..
0000B0: 20 20 20 20 20 72 65 6E 64 65 7A 76 6F 75 73 20 rendezvous
0000C0: 73 6F 75 6E 64 73 20 61 72 65 20 66 6F 75 6E 64 sounds are found
0000D0: 20 74 6F 20 62 65 20 70 72 65 73 65 6E 74 20 61 to be present a
0000E0: 6E 64 20 72 65 61 64 79 20 20 74 6F 20 20 72 75 nd ready to ru
0000F0: 6E 20 20 64 6F 20 20 74 68 65 79 0D 0A 20 20 20 n do they..
000100: 20 20 20 20 73 74 61 72 74 2E 0D 0A 0D 0A 20 20 start.....
000110: 20 20 20 20 20 46 6F 72 20 69 6E 73 74 61 6E 63 For instanc
000120: 65 2C 20 73 6F 75 6E 64 20 6F 6E 20 63 68 61 6E e, sound on chan
000130: 6E 65 6C 20 41 20 6D 61 72 6B 65 64 20 74 6F 20 nel A marked to
000140: 72 65 6E 64 65 7A 76 6F 75 73 20 77 69 74 68 20 rendezvous with
000150: 61 20 73 6F 75 6E 64 20 20 6F 6E 0D 0A 20 20 20 a sound on..
000160: 20 20 20 20 63 68 61 6E 6E 65 6C 20 42 20 77 69 channel B wi
000170: 6C 6C 20 6E 6F 74 20 73 74 61 72 74 20 2D 20 61 ll not start - a
000180: 6E 64 20 76 69 63 65 20 76 65 72 73 61 21 20 49 nd vice versa! I
000190: 66 20 20 61 20 20 73 6F 75 6E 64 20 20 69 73 20 f a sound is
0001A0: 20 72 65 61 64 79 20 20 74 6F 0D 0A 20 20 20 20 ready to..
0001B0: 20 20 20 73 74 61 72 74 20 6F 6E 20 63 68 61 6E start on chan
0001C0: 6E 65 6C 20 42 20 74 68 61 74 20 69 73 20 6E 6F nel B that is no
0001D0: 74 20 6D 61 72 6B 65 64 20 74 6F 20 20 72 65 6E t marked to ren
0001E0: 64 65 7A 76 6F 75 73 20 20 77 69 74 68 20 20 63 dezvous with c
0001F0: 68 61 6E 6E 65 6C 20 20 41 0D 0A 20 20 20 20 20 hannel A..
Size : 512 (Real : 512)
000000: 20 20 74 68 65 6E 20 69 74 20 73 74 61 72 74 73 then it starts
000010: 20 62 75 74 20 74 68 65 20 73 6F 75 6E 64 20 6F but the sound o
000020: 6E 20 63 68 61 6E 6E 65 6C 20 41 20 63 6F 6E 74 n channel A cont
000030: 69 6E 75 65 73 20 20 74 6F 20 77 61 69 74 20 20 inues to wait
000040: 66 6F 72 20 20 69 74 73 0D 0A 20 20 20 20 20 20 for its..
000050: 20 72 65 6E 64 65 7A 76 6F 75 73 2E 0D 0A 0D 0A rendezvous.....
000060: 0D 0A 20 20 20 20 20 20 20 37 2E 37 20 20 48 6F .. 7.7 Ho
000070: 6C 64 69 6E 67 20 53 6F 75 6E 64 73 2E 0D 0A 0D lding Sounds....
000080: 0A 20 20 20 20 20 20 20 49 74 20 69 73 20 70 6F . It is po
000090: 73 73 69 62 6C 65 20 74 6F 20 73 74 6F 70 20 61 ssible to stop a
0000A0: 20 73 6F 75 6E 64 20 77 68 69 6C 65 20 69 74 20 sound while it
0000B0: 69 73 20 65 78 65 63 75 74 69 6E 67 20 62 79 20 is executing by
0000C0: 63 61 6C 6C 69 6E 67 20 20 53 4F 55 4E 44 0D 0A calling SOUND..
0000D0: 20 20 20 20 20 20 20 48 4F 4C 44 2E 20 54 68 69 HOLD. Thi
0000E0: 73 20 77 69 6C 6C 20 73 74 6F 70 20 61 20 63 68 s will stop a ch
0000F0: 61 6E 6E 65 6C 20 6D 61 6B 69 6E 67 20 61 6E 79 annel making any
000100: 20 20 73 6F 75 6E 64 20 20 61 6E 64 20 20 77 69 sound and wi
000110: 6C 6C 20 20 73 61 76 65 20 20 74 68 65 0D 0A 20 ll save the..
000120: 20 20 20 20 20 20 73 74 61 74 65 20 6F 66 20 74 state of t
000130: 68 65 20 73 6F 75 6E 64 2E 20 54 68 65 20 73 6F he sound. The so
000140: 75 6E 64 20 63 61 6E 20 62 65 20 72 65 73 74 61 und can be resta
000150: 72 74 65 64 20 66 72 6F 6D 20 77 68 65 72 65 20 rted from where
000160: 69 74 20 77 61 73 20 20 68 65 6C 64 0D 0A 20 20 it was held..
000170: 20 20 20 20 20 62 79 20 63 61 6C 6C 69 6E 67 20 by calling
000180: 53 4F 55 4E 44 20 43 4F 4E 54 49 4E 55 45 2E 20 SOUND CONTINUE.
000190: 48 6F 77 65 76 65 72 2C 20 69 66 20 61 20 68 61 However, if a ha
0001A0: 72 64 77 61 72 65 20 65 6E 76 65 6C 6F 70 65 20 rdware envelope
0001B0: 77 61 73 20 72 75 6E 6E 69 6E 67 0D 0A 20 20 20 was running..
0001C0: 20 20 20 20 77 68 65 6E 20 74 68 65 20 73 6F 75 when the sou
0001D0: 6E 64 20 77 61 73 20 68 65 6C 64 20 74 68 65 6E nd was held then
0001E0: 20 69 74 20 69 73 20 69 6D 70 6F 73 73 69 62 6C it is impossibl
0001F0: 65 20 74 6F 20 70 72 65 64 69 63 74 20 74 68 65 e to predict the
Size : 512 (Real : 512)
000000: 20 65 66 66 65 63 74 20 6F 66 0D 0A 20 20 20 20 effect of..
000010: 20 20 20 72 65 73 74 61 72 74 69 6E 67 20 74 68 restarting th
000020: 65 20 73 6F 75 6E 64 2E 20 54 68 65 20 68 61 72 e sound. The har
000030: 64 77 61 72 65 20 65 6E 76 65 6C 6F 70 65 20 6D dware envelope m
000040: 61 79 20 6F 72 20 20 6D 61 79 20 20 6E 6F 74 20 ay or may not
000050: 20 63 6F 6E 74 69 6E 75 65 0D 0A 20 20 20 20 20 continue..
000060: 20 20 66 72 6F 6D 20 77 68 65 72 65 20 69 74 20 from where it
000070: 77 61 73 20 68 65 6C 64 2E 0D 0A 0D 0A 20 20 20 was held.....
000080: 20 20 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 AMSTRAD CPC4
000090: 36 34 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 64/664/6128 FIRM
0000A0: 57 41 52 45 20 20 20 20 20 20 20 20 20 20 20 20 WARE
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 37 2E 35 0D 0A 0D 0A 0D 0A page 7.5......
0000D0: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 43 ........ C
0000E0: 61 6C 6C 69 6E 67 20 53 4F 55 4E 44 20 48 4F 4C alling SOUND HOL
0000F0: 44 20 69 73 20 64 69 66 66 65 72 65 6E 74 20 66 D is different f
000100: 72 6F 6D 20 73 65 74 74 69 6E 67 20 74 68 65 20 rom setting the
000110: 68 6F 6C 64 20 62 69 74 20 77 68 65 6E 20 69 73 hold bit when is
000120: 73 75 69 6E 67 0D 0A 20 20 20 20 20 20 20 61 20 suing.. a
000130: 73 6F 75 6E 64 20 61 73 20 64 65 73 63 72 69 62 sound as describ
000140: 65 64 20 69 6E 20 73 65 63 74 69 6F 6E 20 37 2E ed in section 7.
000150: 36 20 61 62 6F 76 65 2E 20 53 4F 55 4E 44 20 48 6 above. SOUND H
000160: 4F 4C 44 20 73 74 6F 70 73 20 61 6C 6C 20 73 6F OLD stops all so
000170: 75 6E 64 73 0D 0A 20 20 20 20 20 20 20 62 65 69 unds.. bei
000180: 6E 67 20 67 65 6E 65 72 61 74 65 64 20 61 74 20 ng generated at
000190: 61 6E 79 20 74 69 6D 65 20 77 68 69 6C 73 74 20 any time whilst
0001A0: 20 74 68 65 20 20 68 6F 6C 64 20 20 62 69 74 20 the hold bit
0001B0: 20 69 73 20 20 61 20 20 6D 65 74 68 6F 64 20 20 is a method
0001C0: 66 6F 72 0D 0A 20 20 20 20 20 20 20 73 79 6E 63 for.. sync
0001D0: 68 72 6F 6E 69 73 69 6E 67 20 73 6F 75 6E 64 73 hronising sounds
0001E0: 20 61 6E 64 20 70 72 65 76 65 6E 74 73 20 61 20 and prevents a
0001F0: 70 61 72 74 69 63 75 6C 61 72 20 73 6F 75 6E 64 particular sound
Size : 512 (Real : 512)
000000: 20 73 74 61 72 74 69 6E 67 20 77 68 65 6E 20 20 starting when
000010: 69 74 0D 0A 20 20 20 20 20 20 20 72 65 61 63 68 it.. reach
000020: 65 73 20 74 68 65 20 68 65 61 64 20 6F 66 20 74 es the head of t
000030: 68 65 20 71 75 65 75 65 2E 0D 0A 0D 0A 0D 0A 0D he queue........
000040: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
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 0D 0A 0D 0A 0D 0A 0D ................
000080: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
000090: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0000A0: 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D ....... AM
0000B0: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
0000C0: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 /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 20 20 70 61 67 65 page
0000F0: 20 37 2E 36 0D 0A 1A 20 20 65 6E 76 65 6C 6F 70 7.6... envelop
000100: 72 6F 6D 20 73 65 74 74 69 6E 67 20 74 68 65 20 rom setting the
000110: 68 6F 6C 64 20 62 69 74 20 77 68 65 6E 20 69 73 hold bit when is
000120: 73 75 69 6E 67 0D 0A 20 20 20 20 20 20 20 61 20 suing.. a
000130: 73 6F 75 6E 64 20 61 73 20 64 65 73 63 72 69 62 sound as describ
000140: 65 64 20 69 6E 20 73 65 63 74 69 6F 6E 20 37 2E ed in section 7.
000150: 36 20 61 62 6F 76 65 2E 20 53 4F 55 4E 44 20 48 6 above. SOUND H
000160: 4F 4C 44 20 73 74 6F 70 73 20 61 6C 6C 20 73 6F OLD stops all so
000170: 75 6E 64 73 0D 0A 20 20 20 20 20 20 20 62 65 69 unds.. bei
000180: 6E 67 20 67 65 6E 65 72 61 74 65 64 20 61 74 20 ng generated at
000190: 61 6E 79 20 74 69 6D 65 20 77 68 69 6C 73 74 20 any time whilst
0001A0: 20 74 68 65 20 20 68 6F 6C 64 20 20 62 69 74 20 the hold bit
0001B0: 20 69 73 20 20 61 20 20 6D 65 74 68 6F 64 20 20 is a method
0001C0: 66 6F 72 0D 0A 20 20 20 20 20 20 20 73 79 6E 63 for.. sync
0001D0: 68 72 6F 6E 69 73 69 6E 67 20 73 6F 75 6E 64 73 hronising sounds
0001E0: 20 61 6E 64 20 70 72 65 76 65 6E 74 73 20 61 20 and prevents a
0001F0: 70 61 72 74 69 63 75 6C 61 72 20 73 6F 75 6E 64 particular sound
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 20 20 20 20 20 20 20 38 ........ 8
000010: 20 54 68 65 20 43 61 73 73 65 74 74 65 20 4D 61 The Cassette Ma
000020: 6E 61 67 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 nager.....
000030: 20 54 68 65 20 43 61 73 73 65 74 74 65 20 4D 61 The Cassette Ma
000040: 6E 61 67 65 72 20 64 65 61 6C 73 20 77 69 74 68 nager deals with
000050: 20 72 65 61 64 69 6E 67 20 66 69 6C 65 73 20 66 reading files f
000060: 72 6F 6D 20 61 6E 64 20 20 77 72 69 74 69 6E 67 rom and writing
000070: 20 20 66 69 6C 65 73 0D 0A 20 20 20 20 20 20 20 files..
000080: 74 6F 20 74 61 70 65 2E 20 54 68 65 73 65 20 6F to tape. These o
000090: 70 65 72 61 74 69 6F 6E 73 20 63 61 6E 20 65 69 perations can ei
0000A0: 74 68 65 72 20 62 65 20 70 65 72 66 6F 72 6D 65 ther be performe
0000B0: 64 20 6F 6E 20 20 61 20 20 63 68 61 72 61 63 74 d on a charact
0000C0: 65 72 20 20 62 79 0D 0A 20 20 20 20 20 20 20 63 er by.. c
0000D0: 68 61 72 61 63 74 65 72 20 62 61 73 69 73 20 6F haracter basis o
0000E0: 72 20 6F 6E 20 61 20 77 68 6F 6C 65 20 66 69 6C r on a whole fil
0000F0: 65 20 20 61 74 20 20 6F 6E 63 65 2E 20 20 54 68 e at once. Th
000100: 65 72 65 20 20 69 73 20 20 6E 6F 20 20 68 61 72 ere is no har
000110: 64 77 61 72 65 0D 0A 20 20 20 20 20 20 20 73 75 dware.. su
000120: 70 70 6F 72 74 20 66 6F 72 20 74 68 65 20 63 61 pport for the ca
000130: 73 73 65 74 74 65 2C 20 65 76 65 6E 20 74 68 65 ssette, even the
000140: 20 74 69 6D 69 6E 67 20 66 6F 72 20 72 65 61 64 timing for read
000150: 69 6E 67 20 61 6E 64 20 77 72 69 74 69 6E 67 20 ing and writing
000160: 62 69 74 73 0D 0A 20 20 20 20 20 20 20 69 73 20 bits.. is
000170: 70 65 72 66 6F 72 6D 65 64 20 62 79 20 73 6F 66 performed by sof
000180: 74 77 61 72 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 tware.....
000190: 20 54 68 65 20 66 6F 72 6D 61 74 20 6F 66 20 64 The format of d
0001A0: 61 74 61 20 6F 6E 20 74 68 65 20 74 61 70 65 20 ata on the tape
0001B0: 69 73 20 64 65 73 63 72 69 62 65 64 20 69 6E 20 is described in
0001C0: 67 72 65 61 74 20 64 65 74 61 69 6C 2E 20 54 68 great detail. Th
0001D0: 69 73 20 77 69 6C 6C 0D 0A 20 20 20 20 20 20 20 is will..
0001E0: 6F 6E 6C 79 20 62 65 20 6F 66 20 61 63 61 64 65 only be of acade
0001F0: 6D 69 63 20 69 6E 74 65 72 65 73 74 20 74 6F 20 mic interest to
Size : 512 (Real : 512)
000000: 6D 75 73 74 20 75 73 65 72 73 2E 20 4D 6F 72 65 must users. More
000010: 20 20 67 65 6E 65 72 61 6C 20 20 69 6E 66 6F 72 general infor
000020: 6D 61 74 69 6F 6E 0D 0A 20 20 20 20 20 20 20 63 mation.. c
000030: 61 6E 20 62 65 20 66 6F 75 6E 64 20 69 6E 20 73 an be found in s
000040: 65 63 74 69 6F 6E 73 20 38 2E 34 20 6F 6E 77 61 ections 8.4 onwa
000050: 72 64 73 2E 20 49 6E 20 74 68 65 20 63 61 73 65 rds. In the case
000060: 20 6F 66 20 56 31 2E 31 20 6D 61 63 68 69 6E 65 of V1.1 machine
000070: 73 20 20 6F 72 0D 0A 20 20 20 20 20 20 20 74 68 s or.. th
000080: 65 20 43 50 43 34 36 34 20 77 69 74 68 20 61 20 e CPC464 with a
000090: 44 44 49 2D 31 20 66 69 74 74 65 64 2C 20 61 20 DDI-1 fitted, a
0000A0: 7C 54 41 50 45 20 63 6F 6D 6D 61 6E 64 20 77 69 |TAPE command wi
0000B0: 6C 6C 20 68 61 76 65 20 74 6F 20 20 62 65 20 20 ll have to be
0000C0: 75 73 65 64 0D 0A 20 20 20 20 20 20 20 74 6F 20 used.. to
0000D0: 61 63 63 65 73 73 20 74 68 65 20 54 61 70 65 20 access the Tape
0000E0: 4F 70 65 72 61 74 69 6E 67 20 53 79 73 74 65 6D Operating System
0000F0: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 38 2E ....... 8.
000100: 31 20 46 69 6C 65 20 46 6F 72 6D 61 74 2E 0D 0A 1 File Format...
000110: 0D 0A 0D 0A 20 20 20 20 20 20 20 41 20 66 69 6C .... A fil
000120: 65 20 6F 6E 20 74 61 70 65 20 69 73 20 73 70 6C e on tape is spl
000130: 69 74 20 69 6E 74 6F 20 62 6C 6F 63 6B 73 20 65 it into blocks e
000140: 61 63 68 20 77 69 74 68 20 61 20 68 65 61 64 65 ach with a heade
000150: 72 20 20 72 65 63 6F 72 64 20 20 61 6E 64 20 20 r record and
000160: 61 0D 0A 20 20 20 20 20 20 20 64 61 74 61 20 72 a.. data r
000170: 65 63 6F 72 64 20 63 6F 6E 74 61 69 6E 69 6E 67 ecord containing
000180: 20 75 70 20 74 6F 20 32 4B 20 28 32 30 34 38 29 up to 2K (2048)
000190: 20 62 79 74 65 73 20 20 6F 66 20 20 64 61 74 61 bytes of data
0001A0: 2E 20 20 54 68 65 20 20 63 61 73 73 65 74 74 65 . The cassette
0001B0: 0D 0A 20 20 20 20 20 20 20 6D 6F 74 6F 72 20 77 .. motor w
0001C0: 68 69 63 68 20 69 73 20 75 6E 64 65 72 20 73 6F hich is under so
0001D0: 66 74 77 61 72 65 20 63 6F 6E 74 72 6F 6C 20 69 ftware control i
0001E0: 73 20 74 75 72 6E 65 64 20 6F 66 66 20 62 65 74 s turned off bet
0001F0: 77 65 65 6E 20 65 61 63 68 20 20 66 69 6C 65 0D ween each file.
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 62 6C 6F 63 6B 20 74 6F . block to
000010: 20 61 6C 6C 6F 77 20 74 69 6D 65 20 74 6F 20 70 allow time to p
000020: 72 6F 63 65 73 73 20 74 68 65 20 64 61 74 61 20 rocess the data
000030: 72 65 61 64 20 6F 72 20 74 6F 20 67 65 6E 65 72 read or to gener
000040: 61 74 65 20 20 74 68 65 20 20 64 61 74 61 0D 0A ate the data..
000050: 20 20 20 20 20 20 20 74 6F 20 62 65 20 77 72 69 to be wri
000060: 74 74 65 6E 2E 20 54 68 65 20 6D 6F 74 6F 72 20 tten. The motor
000070: 73 74 61 72 74 2D 75 70 20 67 61 70 20 20 61 6C start-up gap al
000080: 73 6F 20 20 73 65 72 76 65 73 20 20 74 6F 20 20 so serves to
000090: 73 65 70 61 72 61 74 65 20 20 74 68 65 0D 0A 20 separate the..
0000A0: 20 20 20 20 20 20 62 6C 6F 63 6B 73 20 66 72 6F blocks fro
0000B0: 6D 20 65 61 63 68 20 6F 74 68 65 72 2E 0D 0A 0D m each other....
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 67 65 ... The ge
0000D0: 6E 65 72 61 6C 20 66 6F 72 6D 61 74 20 6F 66 20 neral format of
0000E0: 61 20 62 6C 6F 63 6B 20 69 73 20 61 73 20 66 6F a block is as fo
0000F0: 6C 6C 6F 77 73 3A 0D 0A 0D 0A 20 20 20 20 20 20 llows:....
000100: 20 20 20 20 20 20 20 5F 5F 5F 5F 5F 5F 5F 5F 5F _________
000110: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000120: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000130: 5F 5F 5F 5F 5F 0D 0A 20 20 20 20 20 20 20 20 20 _____..
000140: 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 |
000150: 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |
000160: 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 20 |
000170: 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 |..
000180: 20 7C 20 20 4D 6F 74 6F 72 20 20 20 20 20 20 7C | Motor |
000190: 20 20 20 46 69 6C 65 20 68 65 61 64 65 72 20 20 File header
0001A0: 20 7C 20 20 20 20 46 69 6C 65 20 64 61 74 61 20 | File data
0001B0: 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 7C |.. |
0001C0: 20 20 53 74 61 72 74 2D 75 70 20 20 20 7C 20 20 Start-up |
0001D0: 20 72 65 63 6F 72 64 20 20 20 20 20 20 20 20 7C record |
0001E0: 20 20 20 20 72 65 63 6F 72 64 20 20 20 20 7C 0D record |.
0001F0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 7C 5F 5F . |__
Size : 512 (Real : 512)
000000: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 5F 5F 5F 5F ___________|____
000010: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 5F 5F _____________|__
000020: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 0D ____________|...
000030: 0A 0D 0A 20 20 20 20 20 20 20 48 6F 77 65 76 65 ... Howeve
000040: 72 2C 20 74 68 65 20 66 69 72 73 74 20 61 6E 64 r, the first and
000050: 20 6C 61 73 74 20 62 6C 6F 63 6B 73 20 6F 66 20 last blocks of
000060: 20 61 20 20 66 69 6C 65 20 20 68 61 76 65 20 20 a file have
000070: 61 6E 20 20 65 78 74 72 61 20 20 70 61 75 73 65 an extra pause
000080: 0D 0A 20 20 20 20 20 20 20 62 65 66 6F 72 65 20 .. before
000090: 61 6E 64 20 61 66 74 65 72 20 74 68 65 6D 20 72 and after them r
0000A0: 65 73 70 65 63 74 69 76 65 6C 79 2C 20 74 6F 20 espectively, to
0000B0: 73 65 70 61 72 61 74 65 20 20 66 69 6C 65 73 20 separate files
0000C0: 20 6F 6E 20 20 74 68 65 20 20 74 61 70 65 2E 0D on the tape..
0000D0: 0A 20 20 20 20 20 20 20 54 68 65 69 72 20 66 6F . Their fo
0000E0: 72 6D 61 74 73 20 61 72 65 20 74 68 75 73 3A 0D rmats are thus:.
0000F0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 46 69 72 ... Fir
000100: 73 74 20 62 6C 6F 63 6B 3A 0D 0A 0D 0A 20 20 20 st block:....
000110: 20 20 20 20 20 20 20 20 20 5F 5F 5F 5F 5F 5F 5F _______
000120: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000130: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000140: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 0D _______________.
000150: 0A 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 . |
000160: 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 |
000170: 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 |
000180: 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 |
000190: 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 |..
0001A0: 20 7C 20 20 4D 6F 74 6F 72 20 20 20 20 20 7C 20 | Motor |
0001B0: 20 20 50 72 65 2D 66 69 6C 65 20 7C 20 20 46 69 Pre-file | Fi
0001C0: 6C 65 20 68 65 61 64 65 72 20 20 7C 20 20 46 69 le header | Fi
0001D0: 6C 65 20 64 61 74 61 20 7C 0D 0A 20 20 20 20 20 le data |..
0001E0: 20 20 20 20 20 20 7C 20 20 73 74 61 72 74 2D 75 | start-u
0001F0: 70 20 20 7C 20 20 20 67 61 70 20 20 20 20 20 20 p | gap
Size : 512 (Real : 512)
000000: 7C 20 20 72 65 63 6F 72 64 20 20 20 20 20 20 20 | record
000010: 7C 20 20 72 65 63 6F 72 64 20 20 20 20 7C 0D 0A | record |..
000020: 20 20 20 20 20 20 20 20 20 20 20 7C 5F 5F 5F 5F |____
000030: 5F 5F 5F 5F 5F 5F 5F 5F 7C 5F 5F 5F 5F 5F 5F 5F ________|_______
000040: 5F 5F 5F 5F 5F 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F _____|__________
000050: 5F 5F 5F 5F 5F 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F _____|__________
000060: 5F 5F 7C 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 __|....
000070: 20 4C 61 73 74 20 62 6C 6F 63 6B 3A 0D 0A 0D 0A Last block:....
000080: 20 20 20 20 20 20 20 20 20 20 20 5F 5F 5F 5F 5F _____
000090: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0000A0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0000B0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0000C0: 5F 5F 5F 0D 0A 20 20 20 20 20 20 20 20 20 20 7C ___.. |
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 |
0000E0: 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 |
0000F0: 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 |
000100: 20 20 20 20 20 20 20 20 7C 0D 0A 20 20 20 20 20 |..
000110: 20 20 20 20 20 7C 20 20 4D 6F 74 6F 72 20 20 20 | Motor
000120: 20 20 20 7C 20 46 69 6C 65 20 68 65 61 64 65 72 | File header
000130: 7C 20 20 20 46 69 6C 65 20 64 61 74 61 20 20 20 | File data
000140: 7C 20 20 50 6F 73 74 2D 66 69 6C 65 20 20 7C 0D | Post-file |.
000150: 0A 20 20 20 20 20 20 20 20 20 20 7C 20 20 73 74 . | st
000160: 61 72 74 2D 75 70 20 20 20 7C 20 72 65 63 6F 72 art-up | recor
000170: 64 20 20 20 20 20 7C 20 20 20 72 65 63 6F 72 64 d | record
000180: 20 20 20 20 20 20 7C 20 20 67 61 70 20 20 20 20 | gap
000190: 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 |..
0001A0: 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C |_____________|
0001B0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 5F 5F 5F ____________|___
0001C0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 5F 5F 5F ____________|___
0001D0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 0D 0A 0D __________|.....
0001E0: 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 ... AMSTRA
0001F0: 44 20 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 D CPC464/664/612
Size : 512 (Real : 512)
000000: 38 20 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 8 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 38 2E 31 page 8.1
000030: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 ..............
000040: 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 There is a
000050: 73 74 72 6F 6E 67 20 64 69 73 74 69 6E 63 74 69 strong distincti
000060: 6F 6E 20 62 65 74 77 65 65 6E 20 74 68 65 20 66 on between the f
000070: 69 6C 65 20 68 65 61 64 65 72 20 72 65 63 6F 72 ile header recor
000080: 64 20 20 61 6E 64 20 20 74 68 65 0D 0A 20 20 20 d and the..
000090: 20 20 20 20 66 69 6C 65 20 20 64 61 74 61 20 20 file data
0000A0: 72 65 63 6F 72 64 2E 20 20 54 68 65 20 20 68 65 record. The he
0000B0: 61 64 65 72 20 20 20 72 65 63 6F 72 64 20 20 20 ader record
0000C0: 69 73 20 20 20 77 72 69 74 74 65 6E 20 20 20 75 is written u
0000D0: 73 69 6E 67 20 20 20 6F 6E 65 0D 0A 20 20 20 20 sing one..
0000E0: 20 20 20 73 79 6E 63 68 72 6F 6E 69 73 61 74 69 synchronisati
0000F0: 6F 6E 20 63 68 61 72 61 63 74 65 72 20 28 23 32 on character (#2
000100: 43 29 20 20 61 6E 64 20 20 74 68 65 20 20 64 61 C) and the da
000110: 74 61 20 20 72 65 63 6F 72 64 20 20 77 69 74 68 ta record with
000120: 20 20 61 6E 6F 74 68 65 72 0D 0A 20 20 20 20 20 another..
000130: 20 20 28 23 31 36 29 2E 20 54 68 69 73 20 6D 65 (#16). This me
000140: 61 6E 73 20 74 68 61 74 20 77 68 65 6E 20 74 68 ans that when th
000150: 65 20 43 61 73 73 65 74 74 65 20 4D 61 6E 61 67 e Cassette Manag
000160: 65 72 20 69 73 20 20 73 65 61 72 63 68 69 6E 67 er is searching
000170: 20 20 66 6F 72 20 20 61 0D 0A 20 20 20 20 20 20 for a..
000180: 20 66 69 6C 65 20 68 65 61 64 65 72 20 69 74 20 file header it
000190: 69 73 20 69 6D 70 6F 73 73 69 62 6C 65 20 66 6F is impossible fo
0001A0: 72 20 69 74 20 74 6F 20 66 69 6E 64 20 20 61 20 r it to find a
0001B0: 20 66 69 6C 65 20 20 64 61 74 61 20 20 72 65 63 file data rec
0001C0: 6F 72 64 20 20 62 79 0D 0A 20 20 20 20 20 20 20 ord by..
0001D0: 6D 69 73 74 61 6B 65 2C 20 20 61 6E 64 20 20 76 mistake, and v
0001E0: 69 63 65 20 20 76 65 72 73 61 2E 20 20 53 65 65 ice versa. See
0001F0: 20 20 38 2E 32 20 20 62 65 6C 6F 77 20 20 66 6F 8.2 below fo
Size : 512 (Real : 512)
000000: 72 20 20 74 68 65 20 20 75 73 65 20 20 20 6F 66 r the use of
000010: 20 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 73 the.. s
000020: 79 6E 63 68 72 6F 6E 69 73 61 74 69 6F 6E 20 63 ynchronisation c
000030: 68 61 72 61 63 74 65 72 73 2E 0D 0A 0D 0A 20 20 haracters.....
000040: 20 20 20 20 20 38 2E 32 20 52 65 63 6F 72 64 20 8.2 Record
000050: 46 6F 72 6D 61 74 2E 0D 0A 0D 0A 20 20 20 20 20 Format.....
000060: 20 20 41 20 72 65 63 6F 72 64 20 63 61 6E 20 63 A record can c
000070: 6F 6E 74 61 69 6E 20 61 6E 79 20 6E 75 6D 62 65 ontain any numbe
000080: 72 20 6F 66 20 64 61 74 61 20 62 79 74 65 73 20 r of data bytes
000090: 66 72 6F 6D 20 20 31 20 20 74 6F 20 20 36 35 35 from 1 to 655
0000A0: 33 36 2E 20 20 54 68 65 0D 0A 20 20 20 20 20 20 36. The..
0000B0: 20 64 61 74 61 20 69 73 20 73 70 6C 69 74 20 69 data is split i
0000C0: 6E 74 6F 20 73 65 67 6D 65 6E 74 73 20 65 61 63 nto segments eac
0000D0: 68 20 6F 66 20 77 68 69 63 68 20 69 73 20 32 35 h of which is 25
0000E0: 36 20 62 79 74 65 73 20 6C 6F 6E 67 2E 20 54 68 6 bytes long. Th
0000F0: 65 20 20 6C 61 73 74 0D 0A 20 20 20 20 20 20 20 e last..
000100: 73 65 67 6D 65 6E 74 20 69 73 20 70 61 64 64 65 segment is padde
000110: 64 20 20 6F 75 74 20 20 74 6F 20 20 32 35 36 20 d out to 256
000120: 20 62 79 74 65 73 20 20 77 69 74 68 20 20 7A 65 bytes with ze
000130: 72 6F 73 20 20 77 68 65 6E 20 20 77 72 69 74 69 ros when writi
000140: 6E 67 20 20 69 66 0D 0A 20 20 20 20 20 20 20 6E ng if.. n
000150: 65 63 65 73 73 61 72 79 2E 20 57 68 65 6E 20 72 ecessary. When r
000160: 65 61 64 69 6E 67 20 61 20 72 65 63 6F 72 64 20 eading a record
000170: 61 6E 79 20 65 78 74 72 61 20 62 79 74 65 73 20 any extra bytes
000180: 61 72 65 20 69 67 6E 6F 72 65 64 20 20 61 6C 74 are ignored alt
000190: 68 6F 75 67 68 0D 0A 20 20 20 20 20 20 20 74 68 hough.. th
0001A0: 65 79 20 61 72 65 20 61 63 63 75 6D 75 6C 61 74 ey are accumulat
0001B0: 65 64 20 69 6E 74 6F 20 74 68 65 20 43 52 43 2E ed into the CRC.
0001C0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 6C .... The l
0001D0: 61 79 6F 75 74 20 6F 66 20 61 20 72 65 63 6F 72 ayout of a recor
0001E0: 64 20 69 73 20 61 73 20 66 6F 6C 6C 6F 77 73 3A d is as follows:
0001F0: 0D 0A 20 20 20 20 20 20 20 20 5F 5F 5F 5F 5F 5F .. ______
Size : 512 (Real : 512)
000000: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000010: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000020: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000030: 5F 5F 5F 5F 5F 5F 5F 5F 5F 0D 0A 20 20 20 20 20 _________..
000040: 20 20 7C 20 20 20 20 20 20 20 20 20 20 7C 20 20 | |
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 |
000060: 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 20 |
000070: 20 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 |
000080: 20 20 7C 0D 0A 20 20 20 20 20 20 20 7C 20 4C 65 |.. | Le
000090: 61 64 65 72 20 20 20 7C 20 20 20 53 65 67 6D 65 ader | Segme
0000A0: 6E 74 20 31 20 20 20 7C 20 20 2E 2E 2E 2E 2E 2E nt 1 | ......
0000B0: 2E 2E 2E 2E 2E 20 7C 20 53 65 67 6D 65 6E 74 20 ..... | Segment
0000C0: 4E 20 20 7C 20 54 72 61 69 6C 65 72 7C 0D 0A 20 N | Trailer|..
0000D0: 20 20 20 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F |_________
0000E0: 5F 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F _|______________
0000F0: 5F 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F _|______________
000100: 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 5F 5F |____________|__
000110: 5F 5F 5F 5F 5F 5F 7C 0D 0A 0D 0A 20 20 20 20 20 ______|....
000120: 20 20 54 68 65 72 65 20 61 72 65 20 4E 20 73 65 There are N se
000130: 67 6D 65 6E 74 73 20 77 68 65 72 65 20 32 35 36 gments where 256
000140: 2A 4E 20 69 73 20 74 68 65 20 6C 65 6E 67 74 68 *N is the length
000150: 20 6F 66 20 64 61 74 61 20 28 70 6C 75 73 20 20 of data (plus
000160: 70 61 64 64 69 6E 67 29 0D 0A 20 20 20 20 20 20 padding)..
000170: 20 74 6F 20 62 65 20 77 72 69 74 74 65 6E 2E 0D to be written..
000180: 0A 0D 0A 20 20 20 20 20 20 20 41 20 66 69 6C 65 ... A file
000190: 20 68 65 61 64 65 72 20 72 65 63 6F 72 64 20 61 header record a
0001A0: 6C 77 61 79 73 20 63 6F 6E 74 61 69 6E 73 20 6F lways contains o
0001B0: 6E 65 20 73 65 67 6D 65 6E 74 3B 20 61 20 66 69 ne segment; a fi
0001C0: 6C 65 20 20 64 61 74 61 20 20 72 65 63 6F 72 64 le data record
0001D0: 0D 0A 20 20 20 20 20 20 20 63 6F 6E 74 61 69 6E .. contain
0001E0: 73 20 66 72 6F 6D 20 6F 6E 65 20 74 6F 20 65 69 s from one to ei
0001F0: 67 68 74 20 73 65 67 6D 65 6E 74 73 20 28 75 73 ght segments (us
Size : 512 (Real : 512)
000000: 75 61 6C 6C 79 20 38 20 73 65 67 6D 65 6E 74 73 ually 8 segments
000010: 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 61 2E 20 )..... a.
000020: 4C 65 61 64 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 Leader.....
000030: 20 20 41 74 20 74 68 65 20 73 74 61 72 74 20 6F At the start o
000040: 66 20 20 61 6C 6C 20 20 72 65 63 6F 72 64 73 20 f all records
000050: 20 61 20 20 6C 65 61 64 65 72 20 20 69 73 20 20 a leader is
000060: 77 72 69 74 74 65 6E 20 20 77 68 69 63 68 20 20 written which
000070: 68 61 73 20 20 74 68 65 0D 0A 20 20 20 20 20 20 has the..
000080: 20 66 6F 6C 6C 6F 77 69 6E 67 20 6C 61 79 6F 75 following layou
000090: 74 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 t:....
0000A0: 20 20 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ______________
0000B0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0000C0: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
0000D0: 5F 5F 5F 5F 5F 5F 5F 5F 0D 0A 20 20 20 20 20 20 ________..
0000E0: 20 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 |
0000F0: 20 20 20 20 7C 20 20 20 20 20 20 20 20 20 20 20 |
000100: 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 |
000110: 20 20 7C 20 20 20 20 20 20 20 20 20 7C 0D 0A 20 | |..
000120: 20 20 20 20 20 20 20 20 20 20 7C 20 20 50 72 65 | Pre
000130: 2D 72 65 63 6F 72 64 20 20 7C 20 20 20 20 20 20 -record |
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 7C 20 20 |
000150: 5A 65 72 6F 20 20 20 7C 20 20 20 53 79 6E 63 20 Zero | Sync
000160: 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 7C |.. |
000170: 20 20 67 61 70 20 20 20 20 20 20 20 20 20 7C 20 gap |
000180: 20 20 32 30 34 38 20 6F 6E 65 20 62 69 74 73 20 2048 one bits
000190: 20 20 7C 20 20 62 69 74 20 20 20 20 7C 20 20 20 | bit |
0001A0: 62 69 74 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 bit |..
0001B0: 20 20 20 20 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F |___________
0001C0: 5F 5F 5F 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ___|____________
0001D0: 5F 5F 5F 5F 5F 5F 5F 7C 5F 5F 5F 5F 5F 5F 5F 5F _______|________
0001E0: 5F 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 0D 0A 0D 0A _|_________|....
0001F0: 20 20 20 20 20 20 20 54 68 65 20 6C 65 61 64 69 The leadi
Size : 512 (Real : 512)
000000: 6E 67 20 67 61 70 20 69 73 20 74 68 65 72 65 20 ng gap is there
000010: 74 6F 20 65 6E 73 75 72 65 20 20 74 68 65 20 20 to ensure the
000020: 66 61 69 6C 75 72 65 20 20 6F 66 20 20 61 6E 79 failure of any
000030: 20 20 61 74 74 65 6D 70 74 20 20 74 6F 0D 0A 20 attempt to..
000040: 20 20 20 20 20 20 73 79 6E 63 68 72 6F 6E 69 73 synchronis
000050: 65 20 6F 6E 20 65 6E 64 20 6F 66 20 61 20 70 72 e on end of a pr
000060: 65 63 65 64 69 6E 67 20 72 65 63 6F 72 64 20 6F eceding record o
000070: 72 20 6F 6E 20 64 61 74 61 20 74 68 61 74 20 20 r on data that
000080: 77 61 73 20 20 6F 6E 20 20 74 68 65 0D 0A 20 20 was on the..
000090: 20 20 20 20 20 74 61 70 65 20 61 6E 64 20 74 68 tape and th
0000A0: 61 74 20 68 61 73 20 62 65 65 6E 20 6F 76 65 72 at has been over
0000B0: 2D 72 65 63 6F 72 64 65 64 2E 0D 0A 0D 0A 20 20 -recorded.....
0000C0: 20 20 20 20 20 54 68 65 20 6C 6F 6E 67 20 73 65 The long se
0000D0: 71 75 65 6E 63 65 20 6F 66 20 6F 6E 65 20 62 69 quence of one bi
0000E0: 74 73 20 69 73 20 75 73 65 64 20 74 6F 20 63 61 ts is used to ca
0000F0: 6C 63 75 6C 61 74 65 20 74 68 65 20 73 70 65 65 lculate the spee
000100: 64 20 61 74 20 20 77 68 69 63 68 0D 0A 20 20 20 d at which..
000110: 20 20 20 20 74 68 65 20 64 61 74 61 20 77 61 73 the data was
000120: 20 77 72 69 74 74 65 6E 20 61 6E 64 20 68 65 6E written and hen
000130: 63 65 20 74 6F 20 63 61 6C 63 75 6C 61 74 65 20 ce to calculate
000140: 74 68 65 20 74 68 72 65 73 68 6F 6C 64 20 20 76 the threshold v
000150: 61 6C 75 65 20 20 75 73 65 64 0D 0A 20 20 20 20 alue used..
000160: 20 20 20 74 6F 20 64 69 73 74 69 6E 67 75 69 73 to distinguis
000170: 68 20 6F 6E 65 20 62 69 74 73 20 66 72 6F 6D 20 h one bits from
000180: 7A 65 72 6F 20 62 69 74 73 2E 0D 0A 0D 0A 20 20 zero bits.....
000190: 20 20 20 20 20 54 68 65 20 73 69 6E 67 6C 65 20 The single
0001A0: 7A 65 72 6F 20 62 69 74 20 69 73 20 75 73 65 64 zero bit is used
0001B0: 20 74 6F 20 6D 61 72 6B 20 74 68 65 20 69 6D 70 to mark the imp
0001C0: 65 6E 64 69 6E 67 20 65 6E 64 20 20 6F 66 20 20 ending end of
0001D0: 74 68 65 20 20 6C 65 61 64 65 72 0D 0A 20 20 20 the leader..
0001E0: 20 20 20 20 61 6E 64 20 69 73 20 61 6C 73 6F 20 and is also
0001F0: 75 73 65 64 20 74 6F 20 64 65 74 65 72 6D 69 6E used to determin
Size : 512 (Real : 512)
000000: 65 20 77 68 65 74 68 65 72 20 74 68 65 20 72 65 e whether the re
000010: 63 6F 72 64 69 6E 67 20 68 61 73 20 62 65 65 6E cording has been
000020: 20 20 69 6E 76 65 72 74 65 64 0D 0A 20 20 20 20 inverted..
000030: 20 20 20 28 73 65 65 20 73 65 63 74 69 6F 6E 20 (see section
000040: 38 2E 33 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 8.3).....
000050: 54 68 65 20 20 73 79 6E 63 68 72 6F 6E 69 73 61 The synchronisa
000060: 74 69 6F 6E 20 20 62 79 74 65 20 20 69 73 20 20 tion byte is
000070: 74 68 65 72 65 20 20 20 74 6F 20 20 20 68 65 6C there to hel
000080: 70 20 20 20 70 72 65 76 65 6E 74 20 20 20 73 70 p prevent sp
000090: 75 72 69 6F 75 73 0D 0A 20 20 20 20 20 20 20 73 urious.. s
0000A0: 79 6E 63 68 72 6F 6E 69 73 61 74 69 6F 6E 20 6F ynchronisation o
0000B0: 6E 20 73 65 71 75 65 6E 63 65 73 20 6F 66 20 62 n sequences of b
0000C0: 69 74 73 20 73 75 63 68 20 20 61 73 20 20 6D 69 its such as mi
0000D0: 67 68 74 20 20 62 65 20 20 66 6F 75 6E 64 20 20 ght be found
0000E0: 69 6E 20 20 61 0D 0A 20 20 20 20 20 20 20 72 65 in a.. re
0000F0: 63 6F 72 64 2E 20 49 66 20 61 6E 20 69 6E 63 6F cord. If an inco
000100: 72 72 65 63 74 20 76 61 6C 75 65 20 66 6F 72 20 rrect value for
000110: 74 68 65 20 20 73 79 6E 63 20 20 62 79 74 65 20 the sync byte
000120: 20 69 73 20 20 66 6F 75 6E 64 20 20 74 68 65 6E is found then
000130: 20 20 61 6E 0D 0A 20 20 20 20 20 20 20 61 74 74 an.. att
000140: 65 6D 70 74 20 68 61 73 20 62 65 65 6E 20 6D 61 empt has been ma
000150: 64 65 20 74 6F 20 73 79 6E 63 68 72 6F 6E 69 73 de to synchronis
000160: 65 20 6F 6E 20 74 68 65 20 6D 69 64 64 6C 65 20 e on the middle
000170: 6F 66 20 61 20 72 65 63 6F 72 64 20 20 6F 72 20 of a record or
000180: 20 6F 6E 0D 0A 20 20 20 20 20 20 20 74 68 65 20 on.. the
000190: 77 72 6F 6E 67 20 74 79 70 65 20 6F 66 20 72 65 wrong type of re
0001A0: 63 6F 72 64 2E 20 54 68 69 73 20 62 79 74 65 20 cord. This byte
0001B0: 20 69 73 20 20 75 73 65 64 20 20 74 6F 20 20 64 is used to d
0001C0: 69 73 74 69 6E 67 75 69 73 68 20 20 68 65 61 64 istinguish head
0001D0: 65 72 0D 0A 20 20 20 20 20 20 20 72 65 63 6F 72 er.. recor
0001E0: 64 73 20 66 72 6F 6D 20 64 61 74 61 20 72 65 63 ds from data rec
0001F0: 6F 72 64 73 20 69 6E 20 61 20 66 69 6C 65 20 20 ords in a file
Size : 512 (Real : 512)
000000: 62 6C 6F 63 6B 20 20 28 68 65 61 64 65 72 20 20 block (header
000010: 72 65 63 6F 72 64 73 20 20 75 73 65 20 20 23 32 records use #2
000020: 43 0D 0A 20 20 20 20 20 20 20 77 68 69 6C 65 20 C.. while
000030: 64 61 74 61 20 72 65 63 6F 72 64 73 20 75 73 65 data records use
000040: 20 23 31 36 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 #16).....
000050: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
000060: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
000070: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
000090: 61 67 65 20 38 2E 32 0D 0A 0D 0A 0D 0A 0D 0A 0D age 8.2.........
0000A0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 62 2E 20 53 ..... b. S
0000B0: 65 67 6D 65 6E 74 73 0D 0A 0D 0A 20 20 20 20 20 egments....
0000C0: 20 20 45 61 63 68 20 73 65 67 6D 65 6E 74 20 63 Each segment c
0000D0: 6F 6E 74 61 69 6E 73 20 32 35 36 20 64 61 74 61 ontains 256 data
0000E0: 20 62 79 74 65 73 20 61 6E 64 20 68 61 73 20 74 bytes and has t
0000F0: 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 66 6F 72 he following for
000100: 6D 61 74 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 mat:..
000110: 20 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F _______________
000120: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000130: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ________________
000140: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 0D 0A 20 20 ____________..
000150: 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 |
000160: 20 20 7C 20 20 20 20 20 20 20 20 20 20 7C 20 20 | |
000170: 20 20 20 20 20 20 20 20 7C 20 20 20 20 20 20 20 |
000180: 20 20 20 7C 20 20 20 20 20 20 20 7C 20 20 20 20 | |
000190: 20 20 20 20 7C 0D 0A 20 20 20 20 20 20 20 20 20 |..
0001A0: 20 7C 20 20 42 79 74 65 20 31 20 7C 20 20 42 79 | Byte 1 | By
0001B0: 74 65 20 32 20 20 7C 2E 2E 2E 2E 2E 2E 2E 2E 2E te 2 |.........
0001C0: 2E 7C 20 42 79 74 65 20 32 35 36 20 7C 20 43 52 .| Byte 256 | CR
0001D0: 43 20 31 20 7C 20 20 43 52 43 20 32 20 7C 0D 0A C 1 | CRC 2 |..
0001E0: 20 20 20 20 20 20 20 20 20 20 7C 5F 5F 5F 5F 5F |_____
0001F0: 5F 5F 5F 5F 7C 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C ____|__________|
Size : 512 (Real : 512)
000000: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 7C 5F 5F 5F 5F 5F __________|_____
000010: 5F 5F 5F 5F 5F 7C 5F 5F 5F 5F 5F 5F 5F 7C 5F 5F _____|_______|__
000020: 5F 5F 5F 5F 5F 5F 7C 0D 0A 0D 0A 20 20 20 20 20 ______|....
000030: 20 20 27 43 52 43 20 31 27 20 69 73 20 74 68 65 'CRC 1' is the
000040: 20 6D 6F 72 65 20 73 69 67 6E 69 66 69 63 61 6E more significan
000050: 74 20 62 79 74 65 20 61 6E 64 20 27 43 52 43 20 t byte and 'CRC
000060: 32 27 20 74 68 65 20 6C 65 73 73 20 20 73 69 67 2' the less sig
000070: 6E 69 66 69 63 61 6E 74 0D 0A 0D 0A 20 20 20 20 nificant....
000080: 20 20 20 62 79 74 65 20 6F 66 20 74 68 65 20 6C byte of the l
000090: 6F 67 69 63 61 6C 20 4E 4F 54 20 6F 66 20 74 68 ogical NOT of th
0000A0: 65 20 43 52 43 20 63 61 6C 63 75 6C 61 74 65 64 e CRC calculated
0000B0: 20 66 6F 72 20 74 68 65 20 32 35 36 20 62 79 74 for the 256 byt
0000C0: 65 73 20 69 6E 20 74 68 65 0D 0A 20 20 20 20 20 es in the..
0000D0: 20 20 73 65 67 6D 65 6E 74 2E 20 28 54 68 65 20 segment. (The
0000E0: 43 52 43 20 70 6F 6C 79 6E 6F 6D 69 6E 61 6C 20 CRC polynominal
0000F0: 75 73 65 64 20 20 69 73 20 20 27 58 28 31 35 29 used is 'X(15)
000100: 2B 58 28 31 32 29 2B 58 28 35 29 2B 31 27 20 20 +X(12)+X(5)+1'
000110: 77 69 74 68 20 20 61 6E 0D 0A 20 20 20 20 20 20 with an..
000120: 20 69 6E 69 74 69 61 6C 20 73 70 65 65 64 20 6F initial speed o
000130: 66 20 23 46 46 46 46 29 2E 20 28 4E 75 6D 62 65 f #FFFF). (Numbe
000140: 72 73 20 69 6E 20 62 72 61 63 6B 65 74 73 20 6D rs in brackets m
000150: 65 61 6E 73 20 73 71 75 61 72 65 64 29 2E 0D 0A eans squared)...
000160: 0D 0A 20 20 20 20 20 20 20 63 2E 20 54 72 61 69 .. c. Trai
000170: 6C 65 72 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ler.... Th
000180: 65 20 74 72 61 69 6C 65 72 20 69 73 20 73 69 6D e trailer is sim
000190: 70 6C 79 20 61 6E 20 65 78 74 72 61 20 33 32 20 ply an extra 32
0001A0: 6F 6E 65 20 62 69 74 73 20 77 72 69 74 74 65 6E one bits written
0001B0: 20 74 6F 20 74 68 65 20 65 6E 64 20 20 6F 66 20 to the end of
0001C0: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 72 65 63 the.. rec
0001D0: 6F 72 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 38 ord..... 8
0001E0: 2E 33 20 42 69 74 20 46 6F 72 6D 61 74 2E 0D 0A .3 Bit Format...
0001F0: 0D 0A 20 20 20 20 20 20 20 41 20 62 69 74 20 69 .. A bit i
Size : 512 (Real : 512)
000000: 73 20 77 72 69 74 74 65 6E 20 74 6F 20 74 68 65 s written to the
000010: 20 74 61 70 65 20 61 73 20 61 20 70 65 72 69 6F tape as a perio
000020: 64 20 6F 66 20 6C 6F 77 20 6C 65 76 65 6C 20 66 d of low level f
000030: 6F 6C 6C 6F 77 65 64 20 20 62 79 20 20 61 6E 0D ollowed by an.
000040: 0A 20 20 20 20 20 20 20 65 71 75 61 6C 20 70 65 . equal pe
000050: 72 69 6F 64 20 6F 66 20 68 69 67 68 20 6C 65 76 riod of high lev
000060: 65 6C 2E 20 41 20 6F 6E 65 20 69 73 20 77 72 69 el. A one is wri
000070: 74 74 65 6E 20 74 6F 20 74 68 65 20 20 74 61 70 tten to the tap
000080: 65 20 20 77 69 74 68 20 20 74 68 65 73 65 0D 0A e with these..
000090: 20 20 20 20 20 20 20 70 65 72 69 6F 64 73 20 74 periods t
0000A0: 77 69 63 65 20 61 73 20 6C 6F 6E 67 20 61 73 20 wice as long as
0000B0: 74 68 6F 73 65 20 6F 66 20 7A 65 72 6F 2E 20 54 those of zero. T
0000C0: 68 65 20 6C 65 6E 67 74 68 20 6F 66 20 74 68 65 he length of the
0000D0: 20 70 65 72 69 6F 64 20 66 6F 72 20 61 0D 0A 20 period for a..
0000E0: 20 20 20 20 20 20 7A 65 72 6F 20 63 61 6E 20 62 zero can b
0000F0: 65 20 73 65 74 20 62 79 20 74 68 65 20 75 73 65 e set by the use
000100: 72 20 28 73 65 65 20 43 41 53 20 53 45 54 20 53 r (see CAS SET S
000110: 50 45 45 44 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 PEED).....
000120: 20 54 68 65 20 74 61 70 65 20 63 69 72 63 75 69 The tape circui
000130: 74 72 79 20 68 61 73 20 61 20 74 65 6E 64 65 6E try has a tenden
000140: 63 79 20 20 74 6F 20 20 6D 6F 76 65 20 20 74 68 cy to move th
000150: 65 20 20 70 6F 73 69 74 69 6F 6E 73 20 20 6F 66 e positions of
000160: 20 20 65 64 67 65 73 0D 0A 20 20 20 20 20 20 20 edges..
000170: 28 74 72 61 6E 73 69 74 69 6F 6E 73 20 66 72 6F (transitions fro
000180: 6D 20 68 69 67 68 20 74 6F 20 6C 6F 77 20 6F 72 m high to low or
000190: 20 6C 6F 77 20 74 6F 20 68 69 67 68 29 20 73 6F low to high) so
0001A0: 20 61 73 20 74 6F 20 62 61 6C 61 6E 63 65 20 6F as to balance o
0001B0: 75 74 20 74 68 65 0D 0A 20 20 20 20 20 20 20 64 ut the.. d
0001C0: 69 66 66 65 72 65 6E 63 65 20 62 65 74 77 65 65 ifference betwee
0001D0: 6E 20 6F 6E 65 73 20 61 6E 64 20 7A 65 72 6F 73 n ones and zeros
0001E0: 20 77 72 69 74 74 65 6E 20 74 6F 20 74 61 70 65 written to tape
0001F0: 2E 20 50 72 65 63 6F 6D 70 65 6E 73 61 74 69 6F . Precompensatio
Size : 512 (Real : 512)
000000: 6E 20 20 69 73 0D 0A 20 20 20 20 20 20 20 75 73 n is.. us
000010: 65 64 20 2D 20 77 68 69 63 68 20 61 64 64 73 20 ed - which adds
000020: 74 6F 20 74 68 65 20 70 65 72 69 6F 64 20 6F 66 to the period of
000030: 20 6F 6E 65 20 20 62 69 74 20 20 61 6E 64 20 20 one bit and
000040: 73 75 62 74 72 61 63 74 73 20 20 66 72 6F 6D 20 subtracts from
000050: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 70 65 72 the.. per
000060: 69 6F 64 20 6F 66 20 61 20 7A 65 72 6F 20 62 69 iod of a zero bi
000070: 74 20 74 6F 20 6D 61 6B 65 20 74 68 65 20 77 61 t to make the wa
000080: 76 65 66 6F 72 6D 20 63 6C 6F 73 65 72 20 74 6F veform closer to
000090: 20 74 68 65 20 69 64 65 61 6C 20 77 68 65 6E 20 the ideal when
0000A0: 20 69 74 0D 0A 20 20 20 20 20 20 20 69 73 20 72 it.. is r
0000B0: 65 61 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 57 ead..... W
0000C0: 68 65 6E 20 72 65 61 64 69 6E 67 2C 20 74 68 65 hen reading, the
0000D0: 20 73 70 65 65 64 20 61 74 20 77 68 69 63 68 20 speed at which
0000E0: 74 68 65 20 72 65 63 6F 72 64 69 6E 67 20 77 61 the recording wa
0000F0: 73 20 6D 61 64 65 20 69 73 20 20 64 65 74 65 72 s made is deter
000100: 6D 69 6E 65 64 0D 0A 20 20 20 20 20 20 20 62 79 mined.. by
000110: 20 74 69 6D 69 6E 67 20 74 68 65 20 6F 6E 65 20 timing the one
000120: 62 69 74 73 20 69 6E 20 20 74 68 65 20 20 72 65 bits in the re
000130: 63 6F 72 64 20 20 6C 65 61 64 65 72 2E 20 20 41 cord leader. A
000140: 73 20 20 74 68 69 73 20 20 69 73 20 20 61 20 20 s this is a
000150: 6C 6F 6E 67 0D 0A 20 20 20 20 20 20 20 73 65 71 long.. seq
000160: 75 65 6E 63 65 20 20 6F 66 20 20 74 68 65 20 20 uence of the
000170: 73 61 6D 65 20 20 62 69 74 20 20 74 68 65 20 20 same bit the
000180: 65 64 67 65 73 20 20 61 72 65 20 20 6E 6F 74 20 edges are not
000190: 20 73 68 69 66 74 65 64 20 20 20 61 6E 64 20 20 shifted and
0001A0: 20 6E 6F 0D 0A 20 20 20 20 20 20 20 70 72 65 63 no.. prec
0001B0: 6F 6D 70 65 6E 73 61 74 69 6F 6E 20 20 69 73 20 ompensation is
0001C0: 20 61 70 70 6C 69 65 64 2E 20 20 20 53 69 6E 63 applied. Sinc
0001D0: 65 20 20 20 74 68 65 20 20 20 73 70 65 65 64 20 e the speed
0001E0: 20 20 69 73 20 20 20 65 73 74 61 62 6C 69 73 68 is establish
0001F0: 65 64 0D 0A 20 20 20 20 20 20 20 69 6E 64 65 70 ed.. indep
Size : 512 (Real : 512)
000000: 65 6E 64 65 6E 74 6C 79 20 66 6F 72 20 65 61 63 endently for eac
000010: 68 20 72 65 63 6F 72 64 20 74 68 69 73 20 61 75 h record this au
000020: 74 6F 6D 61 74 69 63 61 6C 6C 79 20 20 74 61 6B tomatically tak
000030: 65 73 20 20 69 6E 74 6F 20 20 61 63 63 6F 75 6E es into accoun
000040: 74 0D 0A 20 20 20 20 20 20 20 6D 6F 73 74 20 74 t.. most t
000050: 61 70 65 20 73 70 65 65 64 20 76 61 72 69 61 74 ape speed variat
000060: 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 ions.....
000070: 44 61 74 61 20 69 73 20 77 72 69 74 74 65 6E 20 Data is written
000080: 6C 6F 77 2D 68 69 67 68 20 62 75 74 20 6D 61 79 low-high but may
000090: 20 62 75 74 20 6D 61 79 20 62 65 20 69 6E 76 65 but may be inve
0000A0: 72 74 65 64 20 77 68 65 6E 20 20 72 65 61 64 20 rted when read
0000B0: 20 28 69 2E 65 2E 0D 0A 20 20 20 20 20 20 20 68 (i.e... h
0000C0: 69 67 68 2D 6C 6F 77 29 2E 20 49 74 20 69 73 20 igh-low). It is
0000D0: 69 6D 70 6F 72 74 61 6E 74 20 66 6F 72 20 74 68 important for th
0000E0: 65 20 66 69 72 6D 77 61 72 65 20 74 6F 20 64 65 e firmware to de
0000F0: 74 65 72 6D 69 6E 65 20 20 77 68 65 74 68 65 72 termine whether
000100: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 77 61 the.. wa
000110: 76 65 66 6F 72 6D 20 62 65 69 6E 67 20 72 65 61 veform being rea
000120: 64 20 69 73 20 69 6E 76 65 72 74 65 64 20 6F 72 d is inverted or
000130: 20 6E 6F 74 2E 20 49 66 20 74 68 69 73 20 69 73 not. If this is
000140: 20 6E 6F 74 20 20 61 63 68 69 65 76 65 64 20 20 not achieved
000150: 74 68 65 6E 0D 0A 20 20 20 20 20 20 20 74 68 65 then.. the
000160: 20 62 69 74 73 20 77 69 6C 6C 20 6E 6F 74 20 62 bits will not b
000170: 65 20 72 65 61 64 20 70 72 6F 70 65 72 6C 79 20 e read properly
000180: 61 73 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 as the following
000190: 20 65 78 61 6D 70 6C 65 20 73 68 6F 77 73 3A 0D example shows:.
0001A0: 0A 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 3A :
0001C0: 20 20 20 20 20 20 3A 20 20 20 20 20 20 20 3A 20 : :
0001D0: 20 20 20 20 20 20 20 20 20 20 3A 20 20 20 20 20 :
0001E0: 20 20 20 20 20 20 3A 0D 0A 20 20 20 20 20 20 20 :..
0001F0: 49 6E 76 65 72 73 69 6F 6E 20 64 65 74 65 63 74 Inversion detect
Size : 512 (Real : 512)
000000: 65 64 3A 20 20 20 20 3A 5F 5F 30 20 20 20 3A 5F ed: :__0 :_
000010: 5F 5F 30 20 20 20 3A 5F 5F 5F 5F 5F 31 20 20 20 __0 :_____1
000020: 20 20 3A 5F 5F 5F 5F 5F 31 20 20 20 20 20 3A 0D :_____1 :.
000030: 0A 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 7C 20 20 20 7C 20 20 20 7C 20 20 20 7C 20 | | | |
000060: 20 20 20 20 7C 20 20 20 20 20 7C 20 20 20 20 20 | |
000070: 7C 20 20 20 20 20 7C 0D 0A 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 7C 20 20 20 7C 20 | |
0000A0: 20 20 7C 20 20 20 7C 20 20 20 20 20 7C 20 20 20 | | |
0000B0: 20 20 7C 20 20 20 20 20 7C 20 20 20 20 20 7C 0D | | |.
0000C0: 0A 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 7C 5F 5F 5F 7C 20 20 20 7C 5F 5F 5F 7C 20 |___| |___|
0000F0: 20 20 20 20 7C 5F 5F 5F 5F 5F 7C 20 20 20 20 20 |_____|
000100: 7C 5F 5F 5F 5F 5F 7C 0D 0A 20 20 20 20 20 20 20 |_____|..
000110: 49 6E 76 65 72 73 69 6F 6E 73 20 6E 6F 74 20 64 Inversions not d
000120: 65 74 65 63 74 65 64 3A 20 20 3A 20 20 20 30 20 etected: : 0
000130: 20 20 3A 20 20 20 20 3F 20 20 20 20 3A 20 20 20 : ? :
000140: 20 20 31 20 20 20 20 20 3A 0D 0A 20 20 20 20 20 1 :..
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 3A 20 20 20 :
000170: 20 20 20 20 3A 20 20 20 20 20 20 20 20 20 3A 20 : :
000180: 20 20 20 20 20 20 20 20 20 20 3A 0D 0A 0D 0A 20 :....
000190: 20 20 20 20 20 20 54 68 65 20 7A 65 72 6F 20 62 The zero b
0001A0: 69 74 20 69 6E 20 74 68 65 20 72 65 63 6F 72 64 it in the record
0001B0: 20 6C 65 61 64 65 72 20 69 73 20 75 73 65 64 20 leader is used
0001C0: 20 74 6F 20 20 64 65 74 65 72 6D 69 6E 65 20 20 to determine
0001D0: 77 68 65 74 68 65 72 20 20 74 68 65 0D 0A 20 20 whether the..
0001E0: 20 20 20 20 20 72 65 63 6F 72 64 69 6E 67 20 68 recording h
0001F0: 61 73 20 62 65 65 6E 20 69 6E 76 65 72 74 65 64 as been inverted
Size : 512 (Real : 512)
000000: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 42 79 74 65 ..... Byte
000010: 73 20 77 72 69 74 74 65 6E 20 74 6F 20 74 68 65 s written to the
000020: 20 74 61 70 65 20 61 72 65 20 77 72 69 74 74 65 tape are writte
000030: 6E 20 77 69 74 68 20 74 68 65 20 20 6D 6F 73 74 n with the most
000040: 20 20 73 69 67 6E 69 66 69 63 61 6E 74 20 20 62 significant b
000050: 69 74 0D 0A 20 20 20 20 20 20 20 66 69 72 73 74 it.. first
000060: 20 61 6E 64 20 74 68 65 20 6C 65 61 73 74 20 73 and the least s
000070: 69 67 6E 69 66 69 63 61 6E 74 20 62 69 74 20 6C ignificant bit l
000080: 61 73 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 ast.......
000090: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
0000A0: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
0000B0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
0000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
0000D0: 61 67 65 20 38 2E 33 0D 0A 0D 0A 0D 0A 0D 0A 0D age 8.3.........
0000E0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 38 2E 34 20 ..... 8.4
0000F0: 54 68 65 20 48 65 61 64 65 72 20 52 65 63 6F 72 The Header Recor
000100: 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 d..... The
000110: 20 68 65 61 64 65 72 20 72 65 63 6F 72 64 20 69 header record i
000120: 6E 20 61 20 66 69 6C 65 20 62 6C 6F 63 6B 20 63 n a file block c
000130: 6F 6E 74 61 69 6E 73 20 69 6E 66 6F 72 6D 61 74 ontains informat
000140: 69 6F 6E 20 61 62 6F 75 74 20 74 68 65 20 20 66 ion about the f
000150: 69 6C 65 0D 0A 20 20 20 20 20 20 20 61 6E 64 20 ile.. and
000160: 61 62 6F 75 74 20 74 68 65 20 64 61 74 61 20 69 about the data i
000170: 6E 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 n the following
000180: 64 61 74 61 20 72 65 63 6F 72 64 2E 20 53 6F 6D data record. Som
000190: 65 20 6F 66 20 20 74 68 65 20 20 65 6E 74 72 69 e of the entri
0001A0: 65 73 0D 0A 20 20 20 20 20 20 20 69 6E 20 74 68 es.. in th
0001B0: 65 20 68 65 61 64 65 72 20 61 72 65 20 20 75 73 e header are us
0001C0: 65 64 20 20 62 79 20 20 74 68 65 20 20 73 79 73 ed by the sys
0001D0: 74 65 6D 20 20 66 6F 72 20 20 76 61 72 69 6F 75 tem for variou
0001E0: 73 20 20 70 75 72 70 6F 73 65 73 2E 20 20 54 68 s purposes. Th
0001F0: 65 0D 0A 20 20 20 20 20 20 20 72 65 6D 61 69 6E e.. remain
Size : 512 (Real : 512)
000000: 69 6E 67 20 65 6E 74 72 69 65 73 20 61 72 65 20 ing entries are
000010: 61 76 61 69 6C 61 62 6C 65 20 66 6F 72 20 74 68 available for th
000020: 65 20 75 73 65 72 20 74 6F 20 20 73 65 74 20 20 e user to set
000030: 77 68 65 6E 20 20 77 72 69 74 69 6E 67 20 20 61 when writing a
000040: 0D 0A 20 20 20 20 20 20 20 66 69 6C 65 2C 20 61 .. file, a
000050: 6E 64 20 74 6F 20 72 65 61 64 20 77 68 65 6E 20 nd to read when
000060: 72 65 61 64 69 6E 67 20 61 20 66 69 6C 65 2E 20 reading a file.
000070: 54 68 65 73 65 20 65 6E 74 72 69 65 73 20 61 72 These entries ar
000080: 65 20 74 68 65 20 66 69 6C 65 20 74 79 70 65 0D e the file type.
000090: 0A 20 20 20 20 20 20 20 28 62 79 74 65 20 31 38 . (byte 18
0000A0: 29 20 61 6E 64 20 61 6C 6C 20 74 68 65 20 75 73 ) and all the us
0000B0: 65 72 20 66 69 65 6C 64 73 20 28 62 79 74 65 73 er fields (bytes
0000C0: 20 32 34 2E 2E 33 36 29 20 69 6E 63 6C 75 64 69 24..36) includi
0000D0: 6E 67 20 74 68 65 20 6C 6F 67 69 63 61 6C 0D 0A ng the logical..
0000E0: 20 20 20 20 20 20 20 6C 65 6E 67 74 68 20 28 62 length (b
0000F0: 79 74 65 73 20 32 34 2E 2E 32 35 29 20 61 6E 64 ytes 24..25) and
000100: 20 74 68 65 20 65 6E 74 72 79 20 61 64 64 72 65 the entry addre
000110: 73 73 20 28 62 79 74 65 73 20 32 36 2E 2E 32 37 ss (bytes 26..27
000120: 29 2E 20 20 54 68 65 20 20 75 73 65 72 0D 0A 20 ). The user..
000130: 20 20 20 20 20 20 66 69 65 6C 64 73 20 77 69 6C fields wil
000140: 6C 20 61 6C 6C 20 62 65 20 73 65 74 20 74 6F 20 l all be set to
000150: 7A 65 72 6F 20 69 66 20 74 68 65 79 20 61 72 65 zero if they are
000160: 20 6E 6F 74 20 75 73 65 64 2E 0D 0A 0D 0A 20 20 not used.....
000170: 20 20 20 20 20 20 20 20 20 20 54 68 65 20 68 65 The he
000180: 61 64 65 72 20 69 73 20 6C 61 69 64 20 6F 75 74 ader is laid out
000190: 20 61 73 20 66 6F 6C 6C 6F 77 73 3A 0D 0A 0D 0A as follows:....
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 53 79 73 74 Syst
0001B0: 65 6D 20 66 69 65 6C 64 73 0D 0A 0D 0A 20 20 20 em fields....
0001C0: 20 20 20 20 20 20 20 20 20 42 79 74 65 73 20 30 Bytes 0
0001D0: 2E 2E 31 35 20 20 20 46 69 6C 65 6E 61 6D 65 20 ..15 Filename
0001E0: 20 20 20 20 20 20 50 61 64 64 65 64 20 74 6F 20 Padded to
0001F0: 31 36 20 62 79 74 65 73 20 77 69 74 68 20 6E 75 16 bytes with nu
Size : 512 (Real : 512)
000000: 6C 6C 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 lls.....
000010: 20 20 20 20 42 79 74 65 20 31 36 20 20 20 20 20 Byte 16
000020: 20 20 42 6C 6F 63 6B 20 6E 75 6D 62 65 72 20 20 Block number
000030: 20 54 68 65 20 66 69 72 73 74 20 62 6C 6F 63 6B The first block
000040: 20 69 73 20 6E 6F 72 6D 61 6C 6C 79 20 62 6C 6F is normally blo
000050: 63 6B 20 20 31 0D 0A 20 20 20 20 20 20 20 20 20 ck 1..
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: 61 6E 64 20 62 6C 6F 63 6B 20 6E 75 6D 62 65 72 and block number
000090: 73 20 69 6E 63 72 65 61 73 65 20 62 79 20 20 31 s increase by 1
0000A0: 20 20 6F 6E 0D 0A 20 20 20 20 20 20 20 20 20 20 on..
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 73 s
0000D0: 75 63 63 65 73 73 69 76 65 20 62 6C 6F 63 6B 73 uccessive blocks
0000E0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0000F0: 20 42 79 74 65 20 31 37 20 20 20 20 20 20 20 4C Byte 17 L
000100: 61 73 74 20 62 6C 6F 63 6B 20 20 20 20 20 41 20 ast block A
000110: 6E 6F 6E 2D 7A 65 72 6F 20 76 61 6C 75 65 20 6D non-zero value m
000120: 65 61 6E 73 20 74 68 61 74 20 74 68 69 73 20 20 eans that this
000130: 69 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 is..
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 74 68 65 the
000160: 20 6C 61 73 74 20 62 6C 6F 63 6B 20 6F 66 20 61 last block of a
000170: 20 66 69 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 file.....
000180: 20 20 20 20 20 20 42 79 74 65 20 31 38 20 20 20 Byte 18
000190: 20 20 20 20 46 69 6C 65 20 74 79 70 65 20 20 20 File type
0001A0: 20 20 20 41 20 76 61 6C 75 65 20 72 65 63 6F 72 A value recor
0001B0: 64 69 6E 67 20 74 68 65 20 20 74 79 70 65 20 20 ding the type
0001C0: 6F 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 of the..
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 66 69 6C 65 20 28 73 65 65 20 62 65 6C 6F file (see belo
Size : 512 (Real : 512)
000000: 77 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 w).....
000010: 20 20 20 42 79 74 65 73 20 31 39 2E 2E 32 30 20 Bytes 19..20
000020: 20 44 61 74 61 20 6C 65 6E 67 74 68 20 20 20 20 Data length
000030: 54 68 65 20 20 6E 75 6D 62 65 72 20 20 6F 66 20 The number of
000040: 20 64 61 74 61 20 20 62 79 74 65 73 20 20 69 6E data bytes in
000050: 20 20 20 61 0D 0A 20 20 20 20 20 20 20 20 20 20 a..
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 72 r
000080: 65 63 6F 72 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 ecord.....
000090: 20 20 20 20 20 20 42 79 74 65 73 20 32 31 2E 2E Bytes 21..
0000A0: 32 32 20 20 44 61 74 61 20 6C 6F 63 61 74 69 6F 22 Data locatio
0000B0: 6E 20 20 57 68 65 72 65 20 20 20 74 68 65 20 20 n Where the
0000C0: 20 64 61 74 61 20 20 20 20 77 61 73 20 20 20 20 data was
0000D0: 77 72 69 74 74 65 6E 0D 0A 20 20 20 20 20 20 20 written..
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 6F 72 69 67 69 6E 61 6C 6C 79 2E 0D 0A 20 originally...
000110: 20 20 20 20 20 20 20 20 20 20 20 42 79 74 65 20 Byte
000120: 32 33 20 20 20 20 20 20 20 46 69 72 73 74 20 62 23 First b
000130: 6C 6F 63 6B 20 20 20 20 41 20 6E 6F 6E 2D 7A 65 lock A non-ze
000140: 72 6F 20 76 61 6C 75 65 20 6D 65 61 6E 73 20 74 ro value means t
000150: 68 61 74 20 74 68 69 73 20 20 69 73 0D 0A 20 20 hat this is..
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 74 68 65 20 66 69 72 73 74 the first
000190: 20 62 6C 6F 63 6B 20 6F 66 20 61 20 66 69 6C 65 block of a file
0001A0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
0001B0: 20 55 73 65 72 20 66 69 65 6C 64 73 0D 0A 0D 0A User fields....
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 42 79 74 65 Byte
0001D0: 73 20 32 34 2E 2E 32 35 20 20 4C 6F 67 69 63 61 s 24..25 Logica
0001E0: 6C 20 6C 65 6E 67 74 68 20 54 68 69 73 20 69 73 l length This is
0001F0: 20 74 68 65 20 74 6F 74 61 6C 20 6C 65 6E 67 74 the total lengt
Size : 512 (Real : 512)
000000: 68 20 6F 66 20 74 68 65 20 66 69 6C 65 0D 0A 20 h of the file..
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 69 6E 20 62 79 74 65 73 in bytes
000040: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000050: 20 42 79 74 65 73 20 32 36 2E 2E 32 37 20 20 45 Bytes 26..27 E
000060: 6E 74 72 79 20 61 64 64 72 65 73 73 20 20 54 68 ntry address Th
000070: 65 20 65 78 65 63 75 74 69 6F 6E 20 20 61 64 64 e execution add
000080: 72 65 73 73 20 20 66 6F 72 20 20 6D 61 63 68 69 ress for machi
000090: 6E 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ne..
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 63 6F 64 cod
0000C0: 65 20 70 72 6F 67 72 61 6D 73 2E 0D 0A 0D 0A 20 e programs.....
0000D0: 20 20 20 20 20 20 20 20 20 20 20 42 79 74 65 73 Bytes
0000E0: 20 32 38 2E 2E 36 33 20 20 55 6E 61 6C 6C 6F 63 28..63 Unalloc
0000F0: 61 74 65 64 20 20 20 20 54 68 65 73 65 20 61 72 ated These ar
000100: 65 20 20 75 6E 61 6C 6C 6F 63 61 74 65 64 20 20 e unallocated
000110: 61 6E 64 20 20 6D 61 79 20 20 62 65 0D 0A 20 20 and may be..
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 75 73 65 64 20 61 73 20 72 used as r
000150: 65 71 75 69 72 65 64 2E 0D 0A 0D 0A 20 20 20 20 equired.....
000160: 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6C 65 The file
000170: 20 74 79 70 65 20 28 62 79 74 65 20 31 38 29 20 type (byte 18)
000180: 69 73 20 73 70 6C 69 74 20 69 6E 74 6F 20 61 20 is split into a
000190: 6E 75 6D 62 65 72 20 6F 66 20 66 69 65 6C 64 73 number of fields
0001A0: 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 42 :.. B
0001B0: 69 74 20 30 20 20 20 20 20 20 20 20 20 50 72 6F it 0 Pro
0001C0: 74 65 63 74 69 6F 6E 20 20 20 20 20 49 66 20 74 tection If t
0001D0: 68 69 73 20 20 62 69 74 20 20 69 73 20 20 73 65 his bit is se
0001E0: 74 20 20 74 68 65 20 20 66 69 6C 65 20 20 69 73 t the file is
0001F0: 0D 0A 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 70 72 6F 74 65 prote
000020: 63 74 65 64 20 69 6E 20 73 6F 6D 65 20 77 61 79 cted in some way
000030: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 .....
000040: 20 42 69 74 73 20 31 2E 2E 33 20 20 20 20 20 46 Bits 1..3 F
000050: 69 6C 65 20 63 6F 6E 74 65 6E 74 73 20 20 30 20 ile contents 0
000060: 3D 20 49 6E 74 65 72 6E 61 6C 20 42 41 53 49 43 = Internal BASIC
000070: 2E 0D 0A 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 31 20 3D 20 1 =
0000A0: 42 69 6E 61 72 79 2E 0D 0A 20 20 20 20 20 20 20 Binary...
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 32 20 3D 20 53 63 72 65 65 6E 20 69 6D 61 2 = Screen ima
0000E0: 67 65 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ge...
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 33 20 3
000110: 3D 20 41 53 43 49 49 0D 0A 20 20 20 20 20 20 20 = ASCII..
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 34 2E 2E 37 20 61 72 65 20 75 6E 61 6C 6C 4..7 are unall
000150: 6F 63 61 74 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 ocated.....
000160: 20 20 20 20 20 20 20 42 69 74 73 20 34 2E 2E 37 Bits 4..7
000170: 20 20 20 20 20 56 65 72 73 69 6F 6E 20 20 20 20 Version
000180: 20 20 20 20 41 53 43 49 49 20 66 69 6C 65 73 20 ASCII files
000190: 73 68 6F 75 6C 64 20 62 65 20 76 65 72 73 69 6F should be versio
0001A0: 6E 20 31 2C 20 61 6C 6C 0D 0A 20 20 20 20 20 20 n 1, all..
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 6F 74 68 65 72 20 66 69 6C 65 73 20 73 other files s
0001E0: 68 6F 75 6C 64 20 62 65 20 76 65 72 73 69 6F 6E hould be version
0001F0: 20 30 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 0..... AM
Size : 512 (Real : 512)
000000: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
000010: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 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 20 20 20 20 70 61 67 65 page
000040: 20 38 2E 34 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 8.4............
000050: 0D 0A 20 20 20 20 20 20 20 38 2E 35 20 52 65 61 .. 8.5 Rea
000060: 64 20 61 6E 64 20 57 72 69 74 65 20 53 70 65 65 d and Write Spee
000070: 64 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 ds..... Th
000080: 65 20 43 61 73 73 65 74 74 65 20 4D 61 6E 61 67 e Cassette Manag
000090: 65 72 20 69 73 20 63 61 70 61 62 6C 65 20 6F 66 er is capable of
0000A0: 20 72 65 61 64 69 6E 67 20 61 6E 64 20 77 72 69 reading and wri
0000B0: 74 69 6E 67 20 64 61 74 65 20 61 74 20 20 73 70 ting date at sp
0000C0: 65 65 64 73 0D 0A 20 20 20 20 20 20 20 72 61 6E eeds.. ran
0000D0: 67 69 6E 67 20 66 72 6F 6D 20 37 30 30 20 62 61 ging from 700 ba
0000E0: 75 64 20 74 6F 20 32 35 30 30 20 62 61 75 64 2E ud to 2500 baud.
0000F0: 20 54 68 65 72 65 20 61 72 65 20 74 77 6F 20 73 There are two s
000100: 70 65 65 64 73 20 63 6F 6D 6D 6F 6E 6C 79 20 75 peeds commonly u
000110: 73 65 64 0D 0A 20 20 20 20 20 20 20 69 6E 20 74 sed.. in t
000120: 68 69 73 20 72 61 6E 67 65 2C 20 31 30 30 30 20 his range, 1000
000130: 62 61 75 64 20 28 74 68 65 20 64 65 66 61 75 6C baud (the defaul
000140: 74 20 73 70 65 65 64 20 73 65 6C 65 63 74 65 64 t speed selected
000150: 20 61 74 20 45 4D 53 29 20 61 6E 64 20 20 32 30 at EMS) and 20
000160: 30 30 0D 0A 20 20 20 20 20 20 20 62 61 75 64 2E 00.. baud.
000170: 20 54 68 65 20 64 65 66 61 75 6C 74 20 73 70 65 The default spe
000180: 65 64 20 69 73 20 63 68 6F 73 65 6E 20 74 6F 20 ed is chosen to
000190: 65 20 6E 65 61 72 20 74 68 65 20 73 6C 6F 77 65 e near the slowe
0001A0: 73 74 20 73 70 65 65 64 20 74 6F 20 20 67 69 76 st speed to giv
0001B0: 65 0D 0A 20 20 20 20 20 20 20 6D 61 78 69 6D 75 e.. maximu
0001C0: 6D 20 72 65 6C 69 61 62 69 6C 69 74 79 2E 20 54 m reliability. T
0001D0: 68 65 20 72 65 6C 69 61 62 69 6C 69 74 79 20 20 he reliability
0001E0: 61 74 20 20 32 30 30 30 20 20 62 61 75 64 20 20 at 2000 baud
0001F0: 69 73 20 20 73 74 69 6C 6C 20 20 67 6F 6F 64 2C is still good,
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 68 6F 77 65 76 65 72 .. however
000010: 2C 20 70 61 72 74 69 63 75 6C 61 72 6C 79 20 77 , particularly w
000020: 68 65 6E 20 70 6C 61 79 69 6E 67 20 62 61 63 6B hen playing back
000030: 20 6F 6E 20 74 68 65 20 73 61 6D 65 20 6D 61 63 on the same mac
000040: 68 69 6E 65 20 20 74 68 61 74 20 20 77 61 73 0D hine that was.
000050: 0A 20 20 20 20 20 20 20 75 73 65 64 20 74 6F 20 . used to
000060: 72 65 63 6F 72 64 20 61 20 74 61 70 65 2E 0D 0A record a tape...
000070: 0D 0A 0D 0A 20 20 20 20 20 20 20 42 69 74 73 20 .... Bits
000080: 61 72 65 20 77 72 69 74 74 65 6E 20 74 6F 20 74 are written to t
000090: 68 65 20 74 61 70 65 20 61 73 20 61 20 73 69 6E he tape as a sin
0000A0: 67 6C 65 20 63 79 63 6C 65 20 6F 66 20 61 20 74 gle cycle of a t
0000B0: 6F 6E 65 2E 20 54 68 65 20 74 6F 6E 65 20 66 6F one. The tone fo
0000C0: 72 0D 0A 20 20 20 20 20 20 20 61 20 6F 6E 65 20 r.. a one
0000D0: 61 6C 77 61 79 73 20 68 61 73 20 68 61 6C 66 20 always has half
0000E0: 74 68 65 20 66 72 65 71 75 65 6E 63 79 20 6F 66 the frequency of
0000F0: 20 74 68 65 20 74 6F 6E 65 20 66 6F 72 20 61 20 the tone for a
000100: 7A 65 72 6F 2E 20 54 68 75 73 20 20 6F 6E 65 73 zero. Thus ones
000110: 0D 0A 20 20 20 20 20 20 20 61 72 65 20 74 77 69 .. are twi
000120: 63 65 20 61 73 20 6C 6F 6E 67 20 61 73 20 7A 65 ce as long as ze
000130: 72 6F 73 20 6F 6E 20 74 68 65 20 74 61 70 65 2E ros on the tape.
000140: 20 54 68 69 73 20 6D 65 61 6E 73 20 74 68 61 74 This means that
000150: 20 74 68 65 20 62 61 75 64 20 72 61 74 65 73 0D the baud rates.
000160: 0A 20 20 20 20 20 20 20 67 69 76 65 6E 20 61 62 . given ab
000170: 6F 76 65 20 61 72 65 20 6F 6E 6C 79 20 61 76 65 ove are only ave
000180: 72 61 67 65 73 20 61 6E 64 20 76 61 72 79 20 61 rages and vary a
000190: 63 63 6F 72 64 69 6E 67 20 74 6F 20 20 74 68 65 ccording to the
0001A0: 20 20 61 63 74 75 61 6C 20 20 64 61 74 61 0D 0A actual data..
0001B0: 20 20 20 20 20 20 20 77 72 69 74 74 65 6E 2E 0D written..
0001C0: 0A 0D 0A 20 20 20 20 20 20 20 45 76 65 6E 20 77 ... Even w
0001D0: 69 74 68 20 74 68 65 20 62 75 69 6C 74 20 69 6E ith the built in
0001E0: 20 63 61 73 73 65 74 74 65 20 6D 65 63 68 61 6E cassette mechan
0001F0: 69 73 6D 20 74 68 65 20 43 61 73 73 65 74 74 65 ism the Cassette
Size : 512 (Real : 512)
000000: 20 4D 61 6E 61 67 65 72 20 68 61 73 20 20 74 6F Manager has to
000010: 0D 0A 20 20 20 20 20 20 20 70 72 65 63 6F 6D 70 .. precomp
000020: 65 6E 73 61 74 65 20 74 68 65 20 77 61 76 65 66 ensate the wavef
000030: 6F 72 6D 20 77 72 69 74 74 65 6E 20 74 6F 20 74 orm written to t
000040: 68 65 20 74 61 70 65 20 74 6F 20 61 63 68 69 65 he tape to achie
000050: 76 65 20 20 74 68 65 20 20 73 70 65 65 64 73 0D ve the speeds.
000060: 0A 20 20 20 20 20 20 20 71 75 6F 74 65 64 2E 20 . quoted.
000070: 54 68 69 73 20 6D 65 61 6E 73 20 74 68 61 74 20 This means that
000080: 74 68 65 20 6C 65 6E 67 74 68 73 20 6F 66 20 62 the lengths of b
000090: 69 74 73 20 77 72 69 74 74 65 6E 20 61 72 65 20 its written are
0000A0: 61 6C 74 65 72 65 64 20 20 28 6F 6E 65 73 0D 0A altered (ones..
0000B0: 20 20 20 20 20 20 20 6C 65 6E 67 74 68 65 6E 65 lengthene
0000C0: 64 2C 20 7A 65 72 6F 73 20 73 68 6F 72 74 65 6E d, zeros shorten
0000D0: 65 64 29 20 74 6F 20 74 72 79 20 74 6F 20 6D 61 ed) to try to ma
0000E0: 6B 65 20 61 20 77 61 76 65 66 6F 72 6D 20 72 65 ke a waveform re
0000F0: 61 64 20 63 6C 6F 73 65 72 20 20 74 6F 0D 0A 20 ad closer to..
000100: 20 20 20 20 20 20 74 68 65 20 69 64 65 61 6C 20 the ideal
000110: 61 66 74 65 72 20 74 68 65 20 65 64 67 65 73 20 after the edges
000120: 6F 66 20 74 68 65 20 77 61 76 65 66 6F 72 6D 20 of the waveform
000130: 68 61 76 65 20 20 62 65 65 6E 20 20 73 68 69 66 have been shif
000140: 74 65 64 20 20 62 79 20 20 74 68 65 0D 0A 20 20 ted by the..
000150: 20 20 20 20 20 63 61 73 73 65 74 74 65 20 63 69 cassette ci
000160: 72 63 75 69 74 72 79 2E 0D 0A 0D 0A 20 20 20 20 rcuitry.....
000170: 20 20 20 49 74 20 69 73 20 6F 6E 6C 79 20 6E 65 It is only ne
000180: 63 65 73 73 61 72 79 20 74 6F 20 73 65 74 20 74 cessary to set t
000190: 68 65 20 43 61 73 73 65 74 74 65 20 4D 61 6E 61 he Cassette Mana
0001A0: 67 65 72 27 73 20 77 72 69 74 65 20 20 73 70 65 ger's write spe
0001B0: 65 64 2E 20 20 57 68 65 6E 0D 0A 20 20 20 20 20 ed. When..
0001C0: 20 20 72 65 63 6F 72 64 69 6E 67 20 61 20 72 65 recording a re
0001D0: 63 6F 72 64 20 66 72 6F 6D 20 74 61 70 65 20 74 cord from tape t
0001E0: 68 65 20 72 65 63 6F 72 64 20 6C 65 61 64 65 72 he record leader
0001F0: 20 69 73 20 20 75 73 65 64 20 20 74 6F 20 20 63 is used to c
Size : 512 (Real : 512)
000000: 61 6C 63 75 6C 61 74 65 0D 0A 20 20 20 20 20 20 alculate..
000010: 20 74 68 65 20 73 70 65 65 64 20 61 74 20 77 68 the speed at wh
000020: 69 63 68 20 69 74 20 77 61 73 20 77 72 69 74 74 ich it was writt
000030: 65 6E 2E 20 54 68 69 73 20 61 6C 73 6F 20 20 61 en. This also a
000040: 6C 6C 6F 77 73 20 20 74 68 65 20 20 74 61 70 65 llows the tape
000050: 20 20 73 70 65 65 64 0D 0A 20 20 20 20 20 20 20 speed..
000060: 76 61 72 69 61 74 69 6F 6E 73 20 62 65 74 77 65 variations betwe
000070: 65 6E 20 64 69 66 66 65 72 65 6E 74 20 6D 61 63 en different mac
000080: 68 69 6E 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 hines.....
000090: 20 38 2E 36 20 43 61 74 61 6C 6F 67 75 69 6E 67 8.6 Cataloguing
0000A0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 6F 20 67 ..... To g
0000B0: 65 6E 65 72 61 74 65 20 61 20 63 61 74 61 6C 6F enerate a catalo
0000C0: 67 75 65 20 66 72 6F 6D 20 74 68 65 20 74 61 70 gue from the tap
0000D0: 65 20 74 68 65 20 20 43 61 73 73 65 74 74 65 20 e the Cassette
0000E0: 20 4D 61 6E 61 67 65 72 20 20 72 65 61 64 73 20 Manager reads
0000F0: 20 61 0D 0A 20 20 20 20 20 20 20 73 65 71 75 65 a.. seque
000100: 6E 63 65 20 6F 66 20 66 69 6C 65 20 62 6C 6F 63 nce of file bloc
000110: 6B 73 20 61 6E 64 20 70 72 69 6E 74 73 20 69 6E ks and prints in
000120: 66 6F 72 6D 61 74 69 6F 6E 20 20 66 72 6F 6D 20 formation from
000130: 20 74 68 65 6D 2E 20 20 54 68 65 20 20 66 69 6C them. The fil
000140: 65 0D 0A 20 20 20 20 20 20 20 62 6C 6F 63 6B 73 e.. blocks
000150: 20 6D 61 79 20 63 6F 6D 65 20 66 72 6F 6D 20 61 may come from a
000160: 6E 79 20 66 69 6C 65 2C 20 69 6E 20 20 61 6E 79 ny file, in any
000170: 20 20 6F 72 64 65 72 2E 20 20 43 61 74 61 6C 6F order. Catalo
000180: 67 75 69 6E 67 20 20 63 6F 6E 74 69 6E 75 65 73 guing continues
000190: 0D 0A 20 20 20 20 20 20 20 75 6E 74 69 6C 20 74 .. until t
0001A0: 68 65 20 75 73 65 72 20 68 69 74 73 20 74 68 65 he user hits the
0001B0: 20 65 73 63 61 70 65 20 6B 65 79 2E 0D 0A 0D 0A escape key.....
0001C0: 20 20 20 20 20 20 20 54 68 65 20 69 6E 66 6F 72 The infor
0001D0: 6D 61 74 69 6F 6E 20 69 73 20 72 65 70 6F 72 74 mation is report
0001E0: 65 64 20 61 73 20 66 6F 6C 6C 6F 77 73 3A 0D 0A ed as follows:..
0001F0: 0D 0A 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 46 49 4C 45 FILE
000010: 4E 41 4D 45 20 20 20 20 20 20 62 6C 6F 63 6B 20 NAME block
000020: 20 20 4E 20 20 4C 20 20 4F 6B 0D 0A 0D 0A 20 20 N L Ok....
000030: 20 20 20 20 20 46 49 4C 45 4E 41 4D 45 20 69 73 FILENAME is
000040: 20 65 69 74 68 65 72 20 74 68 65 20 6E 61 6D 65 either the name
000050: 20 6F 66 20 74 68 65 20 20 66 69 6C 65 20 20 6F of the file o
000060: 66 20 20 27 55 6E 6E 61 6D 65 64 20 20 66 69 6C f 'Unnamed fil
000070: 65 27 20 20 69 66 20 20 74 68 65 0D 0A 20 20 20 e' if the..
000080: 20 20 20 20 66 69 6C 65 6E 61 6D 65 20 73 74 61 filename sta
000090: 72 74 73 20 77 69 74 68 20 61 20 6E 75 6C 6C 2E rts with a null.
0000A0: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 62 .... The b
0000B0: 6C 6F 63 6B 20 6E 75 6D 62 65 72 2C 20 4E 2C 20 lock number, N,
0000C0: 69 6E 64 69 63 61 74 65 73 20 77 68 69 63 68 20 indicates which
0000D0: 62 6C 6F 63 6B 20 6F 66 20 74 68 65 20 66 69 6C block of the fil
0000E0: 65 20 69 74 20 69 73 2E 20 4E 6F 72 6D 61 6C 6C e it is. Normall
0000F0: 79 0D 0A 20 20 20 20 20 20 20 62 6C 6F 63 6B 20 y.. block
000100: 31 20 69 73 20 74 68 65 20 66 69 72 73 74 20 62 1 is the first b
000110: 6C 6F 63 6B 20 6F 66 20 74 68 65 20 66 69 6C 65 lock of the file
000120: 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 4C 20 ....... L
000130: 69 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 is the character
000140: 20 72 65 70 72 65 73 65 6E 74 69 6E 67 20 74 68 representing th
000150: 65 20 66 69 6C 65 20 74 79 70 65 20 61 6E 64 20 e file type and
000160: 70 72 6F 74 65 63 74 69 6F 6E 20 73 74 61 74 75 protection statu
000170: 73 20 6F 66 0D 0A 20 20 20 20 20 20 20 74 68 65 s of.. the
000180: 20 66 69 6C 65 2E 20 49 74 20 69 73 20 66 6F 72 file. It is for
000190: 6D 65 64 20 62 79 20 61 64 64 69 6E 67 20 23 32 med by adding #2
0001A0: 34 20 28 63 68 61 72 61 63 74 65 72 20 27 24 27 4 (character '$'
0001B0: 29 20 74 6F 20 74 68 65 20 66 69 6C 65 20 20 74 ) to the file t
0001C0: 79 70 65 0D 0A 20 20 20 20 20 20 20 66 72 6F 6D ype.. from
0001D0: 20 74 68 65 20 68 65 61 64 65 72 20 6D 61 73 6B the header mask
0001E0: 65 64 20 77 69 74 68 20 23 30 46 2E 20 54 68 69 ed with #0F. Thi
0001F0: 73 20 67 69 76 65 73 20 74 68 65 20 66 6F 6C 6C s gives the foll
Size : 512 (Real : 512)
000000: 6F 77 69 6E 67 20 63 68 61 72 61 63 74 65 72 73 owing characters
000010: 3A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 :......
000020: 20 20 20 20 20 20 20 24 20 20 20 20 20 20 20 20 $
000030: 20 61 6E 20 75 6E 70 72 6F 74 65 63 74 65 64 20 an unprotected
000040: 42 41 53 49 43 20 70 72 6F 67 72 61 6D 2E 0D 0A BASIC program...
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 25 20 20 20 20 20 20 20 20 20 61 20 70 72 6F 74 % a prot
000070: 65 63 74 65 64 20 42 41 53 49 43 20 70 72 6F 67 ected BASIC prog
000080: 72 61 6D 2E 0D 0A 20 20 20 20 20 20 20 20 20 20 ram...
000090: 20 20 20 20 20 20 26 20 20 20 20 20 20 20 20 20 &
0000A0: 61 20 62 69 6E 61 72 79 20 66 69 6C 65 2E 0D 0A a binary file...
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000C0: 27 20 20 20 20 20 20 20 20 20 61 20 70 72 6F 74 ' a prot
0000D0: 65 63 74 65 64 20 62 69 6E 61 72 79 20 66 69 6C ected binary fil
0000E0: 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 e..
0000F0: 20 20 20 2A 20 20 20 20 20 20 20 20 20 61 6E 20 * an
000100: 41 53 43 49 49 20 66 69 6C 65 2E 0D 0A 0D 0A 0D ASCII file......
000110: 0A 20 20 20 20 20 20 20 41 4D 53 54 52 41 44 20 . AMSTRAD
000120: 43 50 43 34 36 34 2F 36 36 34 2F 36 31 32 38 20 CPC464/664/6128
000130: 46 49 52 4D 57 41 52 45 20 20 20 20 20 20 20 20 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 70 61 67 65 20 38 2E 35 0D 0A page 8.5..
000160: 1A 20 61 6E 64 20 20 77 72 69 74 69 6E 67 20 20 . and writing
000170: 66 69 6C 65 73 0D 0A 20 20 20 20 20 20 20 74 6F files.. to
000180: 20 66 69 6C 65 2E 20 49 74 20 69 73 20 66 6F 72 file. It is for
000190: 6D 65 64 20 62 79 20 61 64 64 69 6E 67 20 23 32 med by adding #2
0001A0: 34 20 28 63 68 61 72 61 63 74 65 72 20 27 24 27 4 (character '$'
0001B0: 29 20 74 6F 20 74 68 65 20 66 69 6C 65 20 20 74 ) to the file t
0001C0: 79 70 65 0D 0A 20 20 20 20 20 20 20 66 72 6F 6D ype.. from
0001D0: 20 74 68 65 20 68 65 61 64 65 72 20 6D 61 73 6B the header mask
0001E0: 65 64 20 77 69 74 68 20 23 30 46 2E 20 54 68 69 ed with #0F. Thi
0001F0: 73 20 67 69 76 65 73 20 74 68 65 20 66 6F 6C 6C s gives the foll
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 4F 74 68 65 72 20 63 68 61 72 61 63 74 Other charact
000020: 65 72 73 20 61 72 65 20 70 6F 73 73 69 62 6C 65 ers are possible
000030: 20 62 75 74 20 74 68 65 20 20 61 62 6F 76 65 20 but the above
000040: 20 61 72 65 20 20 74 68 65 20 20 73 74 61 6E 64 are the stand
000050: 61 72 64 20 20 66 69 6C 65 0D 0A 20 20 20 20 20 ard file..
000060: 20 20 74 79 70 65 73 20 74 68 61 74 20 61 72 65 types that are
000070: 20 77 72 69 74 74 65 6E 20 62 79 20 74 68 65 20 written by the
000080: 6F 6E 20 62 6F 61 72 64 20 52 4F 4D 2E 0D 0A 0D on board ROM....
000090: 0A 20 20 20 20 20 20 20 54 68 65 20 61 62 6F 76 . The abov
0000A0: 65 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 69 73 e information is
0000B0: 20 20 70 72 69 6E 74 65 64 20 20 77 68 65 6E 20 printed when
0000C0: 20 74 68 65 20 20 68 65 61 64 65 72 20 20 72 65 the header re
0000D0: 63 6F 72 64 20 20 69 73 20 20 72 65 61 64 0D 0A cord is read..
0000E0: 20 20 20 20 20 20 20 63 6F 72 72 65 63 74 6C 79 correctly
0000F0: 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 4F 6B 20 69 ..... Ok i
000100: 73 20 70 72 69 6E 74 65 64 20 61 66 74 65 72 20 s printed after
000110: 74 68 65 20 64 61 74 61 20 72 65 63 6F 72 64 20 the data record
000120: 68 61 73 20 62 65 65 6E 20 72 65 61 64 20 63 6F has been read co
000130: 72 72 65 63 74 6C 79 2E 0D 0A 0D 0A 20 20 20 20 rrectly.....
000140: 20 20 20 38 2E 37 20 52 65 61 64 69 6E 67 20 46 8.7 Reading F
000150: 69 6C 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 iles.....
000160: 42 65 66 6F 72 65 20 61 20 66 69 6C 65 20 63 61 Before a file ca
000170: 6E 20 62 65 20 72 65 61 64 20 66 72 6F 6D 20 69 n be read from i
000180: 74 20 6D 75 73 74 20 62 65 20 6F 70 65 6E 65 64 t must be opened
000190: 20 28 62 79 20 20 63 61 6C 6C 69 6E 67 20 20 43 (by calling C
0001A0: 41 53 20 20 49 4E 0D 0A 20 20 20 20 20 20 20 4F AS IN.. O
0001B0: 50 45 4E 29 2E 20 54 68 69 73 20 73 65 74 73 20 PEN). This sets
0001C0: 75 70 20 74 68 65 20 66 69 6C 65 6E 61 6D 65 20 up the filename
0001D0: 28 73 65 65 20 38 2E 31 30 20 62 65 6C 6F 77 29 (see 8.10 below)
0001E0: 20 61 6E 64 20 72 65 61 64 73 20 74 68 65 20 20 and reads the
0001F0: 66 69 72 73 74 0D 0A 20 20 20 20 20 20 20 62 6C first.. bl
Size : 512 (Real : 512)
000000: 6F 63 6B 20 6F 66 20 74 68 65 20 66 69 6C 65 20 ock of the file
000010: 73 6F 20 74 68 61 74 20 74 68 65 20 68 65 61 64 so that the head
000020: 65 72 20 63 61 6E 20 62 65 20 69 6E 73 70 65 63 er can be inspec
000030: 74 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 54 ted..... T
000040: 68 65 20 66 69 6C 65 20 6D 61 79 20 65 69 74 68 he file may eith
000050: 65 72 20 62 65 20 6F 70 65 6E 65 64 20 66 6F 72 er be opened for
000060: 20 63 68 61 72 61 63 74 65 72 20 69 6E 70 75 74 character input
000070: 20 6F 72 20 66 6F 72 20 64 69 72 65 63 74 20 69 or for direct i
000080: 6E 70 75 74 2C 0D 0A 20 20 20 20 20 20 20 62 75 nput,.. bu
000090: 74 20 6E 6F 74 20 62 6F 74 68 2E 20 54 68 65 20 t not both. The
0000A0: 6D 6F 64 65 20 6F 66 20 69 6E 70 75 74 20 69 73 mode of input is
0000B0: 20 73 65 74 20 62 79 20 74 68 65 20 66 69 72 73 set by the firs
0000C0: 74 20 61 63 63 65 73 73 20 74 6F 20 74 68 65 20 t access to the
0000D0: 66 69 6C 65 0D 0A 20 20 20 20 20 20 20 61 6E 64 file.. and
0000E0: 20 6E 6F 74 20 77 68 65 6E 20 69 74 20 69 73 20 not when it is
0000F0: 6F 70 65 6E 65 64 2E 20 41 73 20 73 6F 6F 6E 20 opened. As soon
000100: 61 73 20 6F 6E 65 20 6D 6F 64 65 20 69 73 20 73 as one mode is s
000110: 65 6C 65 63 74 65 64 20 69 74 20 20 62 65 63 6F elected it beco
000120: 6D 65 73 0D 0A 20 20 20 20 20 20 20 69 6D 70 6F mes.. impo
000130: 73 73 69 62 6C 65 20 74 6F 20 75 73 65 20 74 68 ssible to use th
000140: 65 20 6F 74 68 65 72 20 6D 6F 64 65 20 74 6F 20 e other mode to
000150: 61 63 63 65 73 73 20 74 68 65 20 66 69 6C 65 2E access the file.
000160: 0D 0A 0D 0A 20 20 20 20 20 20 20 43 68 61 72 61 .... Chara
000170: 63 74 65 72 20 69 6E 70 75 74 20 28 63 61 6C 6C cter input (call
000180: 69 6E 67 20 43 41 53 20 49 4E 20 43 48 41 52 29 ing CAS IN CHAR)
000190: 20 61 6C 6C 6F 77 73 20 74 68 65 20 75 73 65 72 allows the user
0001A0: 20 74 6F 20 72 65 61 64 20 74 68 65 20 66 69 6C to read the fil
0001B0: 65 0D 0A 20 20 20 20 20 20 20 73 65 71 75 65 6E e.. sequen
0001C0: 74 69 61 6C 6C 79 20 6F 6E 65 20 63 68 61 72 61 tially one chara
0001D0: 63 74 65 72 20 61 74 20 61 20 74 69 6D 65 2E 20 cter at a time.
0001E0: 42 6C 6F 63 6B 73 20 6F 66 20 74 68 65 20 66 69 Blocks of the fi
0001F0: 6C 65 20 61 72 65 20 72 65 61 64 20 66 72 6F 6D le are read from
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 74 61 70 65 20 69 6E .. tape in
000010: 74 6F 20 74 68 65 20 62 75 66 66 65 72 20 61 73 to the buffer as
000020: 20 6E 65 65 64 65 64 2E 20 54 68 69 73 20 20 69 needed. This i
000030: 73 20 20 69 6E 74 65 6E 64 65 64 20 20 66 6F 72 s intended for
000040: 20 20 72 65 61 64 69 6E 67 20 20 74 65 78 74 0D reading text.
000050: 0A 20 20 20 20 20 20 20 66 69 6C 65 73 20 61 6E . files an
000060: 64 20 73 69 6D 69 6C 61 72 20 61 70 70 6C 69 63 d similar applic
000070: 61 74 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 20 20 ations.....
000080: 20 20 44 69 72 65 63 74 20 69 6E 70 75 74 20 28 Direct input (
000090: 63 61 6C 6C 69 6E 67 20 43 41 53 20 49 4E 20 44 calling CAS IN D
0000A0: 49 52 45 43 54 29 20 72 65 61 64 73 20 74 68 65 IRECT) reads the
0000B0: 20 77 68 6F 6C 65 20 66 69 6C 65 20 69 6E 74 6F whole file into
0000C0: 20 20 6D 65 6D 6F 72 79 0D 0A 20 20 20 20 20 20 memory..
0000D0: 20 69 6E 20 6F 6E 65 20 67 6F 2E 20 54 68 69 73 in one go. This
0000E0: 20 69 73 20 69 6E 74 65 6E 64 65 64 20 20 66 6F is intended fo
0000F0: 72 20 20 6C 6F 61 64 69 6E 67 20 20 6D 61 63 68 r loading mach
000100: 69 6E 65 20 20 63 6F 64 65 20 20 70 72 6F 67 72 ine code progr
000110: 61 6D 73 20 20 6F 72 0D 0A 20 20 20 20 20 20 20 ams or..
000120: 73 63 72 65 65 6E 20 64 75 6D 70 73 20 61 6E 64 screen dumps and
000130: 20 73 69 6D 69 6C 61 72 20 61 70 70 6C 69 63 61 similar applica
000140: 74 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 tions.....
000150: 20 49 6E 74 65 72 72 75 70 74 73 20 61 72 65 20 Interrupts are
000160: 64 69 73 61 62 6C 65 64 20 77 68 69 6C 73 74 20 disabled whilst
000170: 72 65 61 64 69 6E 67 20 20 66 72 6F 6D 20 20 74 reading from t
000180: 61 70 65 20 20 62 65 63 61 75 73 65 20 20 74 68 ape because th
000190: 69 73 20 20 68 61 73 0D 0A 20 20 20 20 20 20 20 is has..
0001A0: 73 65 72 69 6F 75 73 20 74 69 6D 69 6E 67 20 63 serious timing c
0001B0: 6F 6E 73 74 72 61 69 6E 74 73 2E 20 20 44 69 73 onstraints. Dis
0001C0: 61 62 6C 69 6E 67 20 20 69 6E 74 65 72 72 75 70 abling interrup
0001D0: 74 73 20 20 77 69 6C 6C 20 20 70 72 65 76 65 6E ts will preven
0001E0: 74 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 76 t the.. v
0001F0: 61 72 69 6F 75 73 20 74 69 6D 65 72 20 69 6E 74 arious timer int
Size : 512 (Real : 512)
000000: 65 72 72 75 70 74 73 20 28 61 73 20 64 65 73 63 errupts (as desc
000010: 72 69 62 65 64 20 69 6E 20 73 65 63 74 69 6F 6E ribed in section
000020: 20 31 30 2E 31 29 20 66 72 6F 6D 20 6F 63 63 75 10.1) from occu
000030: 72 72 69 6E 67 2E 0D 0A 20 20 20 20 20 20 20 49 rring... I
000040: 6E 20 70 61 72 74 69 63 75 6C 61 72 20 74 68 69 n particular thi
000050: 73 20 6D 69 67 68 74 20 6C 65 61 76 65 20 74 68 s might leave th
000060: 65 20 73 6F 75 6E 64 20 63 68 69 70 20 6D 61 6B e sound chip mak
000070: 69 6E 67 20 20 61 20 20 6E 6F 69 73 65 20 20 66 ing a noise f
000080: 6F 72 20 20 61 0D 0A 20 20 20 20 20 20 20 6C 6F or a.. lo
000090: 6E 67 20 70 65 72 69 6F 64 20 6F 66 20 74 69 6D ng period of tim
0000A0: 65 20 61 6E 64 20 73 6F 20 74 68 65 20 53 6F 75 e and so the Sou
0000B0: 6E 64 20 4D 61 6E 61 67 65 72 20 69 73 20 73 68 nd Manager is sh
0000C0: 75 74 20 64 6F 77 6E 20 20 28 73 65 65 20 20 53 ut down (see S
0000D0: 4F 55 4E 44 0D 0A 20 20 20 20 20 20 20 52 45 53 OUND.. RES
0000E0: 45 54 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 ET)..... 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 20 63 61 73 73 65 74 74 65 20 20 6D the cassette m
000110: 61 6E 61 67 65 72 20 20 72 6F 75 74 69 6E 65 73 anager routines
000120: 20 20 66 6F 72 20 20 72 65 61 64 69 6E 67 20 20 for reading
000130: 66 69 6C 65 73 0D 0A 20 20 20 20 20 20 20 72 65 files.. re
000140: 74 75 72 6E 20 20 65 72 72 6F 72 20 20 63 6F 64 turn error cod
000150: 65 73 20 20 74 6F 20 20 69 6E 64 69 63 61 74 65 es to indicate
000160: 20 20 74 68 65 20 20 63 61 75 73 65 20 20 6F 66 the cause of
000170: 20 20 74 68 65 20 20 65 72 72 6F 72 73 20 20 20 the errors
000180: 28 66 6F 72 0D 0A 20 20 20 20 20 20 20 63 6F 6D (for.. com
000190: 70 61 74 61 62 69 6C 69 74 79 20 77 69 74 68 20 patability with
0001A0: 41 4D 53 44 4F 53 29 3A 0D 0A 0D 0A 20 20 20 20 AMSDOS):....
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 23 30 30 3A #00:
0001C0: 20 20 20 20 20 20 54 68 65 20 75 73 65 72 20 68 The user h
0001D0: 69 74 20 65 73 63 61 70 65 0D 0A 20 20 20 20 20 it escape..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 23 30 45 3A 20 #0E:
0001F0: 20 20 20 20 20 54 68 65 20 73 74 72 65 61 6D 20 The stream
Size : 512 (Real : 512)
000000: 69 73 20 61 6C 72 65 61 64 79 2F 6E 6F 74 20 69 is already/not i
000010: 6E 20 75 73 65 0D 0A 20 20 20 20 20 20 20 20 20 n use..
000020: 20 20 20 20 20 20 20 23 30 46 3A 20 20 20 20 20 #0F:
000030: 20 48 61 76 65 20 72 65 61 63 68 65 64 20 74 68 Have reached th
000040: 65 20 65 6E 64 20 6F 66 20 74 68 65 20 66 69 6C e end of the fil
000050: 65 0D 0A 0D 0A 20 20 20 20 20 20 20 38 2E 38 20 e.... 8.8
000060: 57 72 69 74 69 6E 67 20 46 69 6C 65 73 2E 0D 0A Writing Files...
000070: 0D 0A 20 20 20 20 20 20 20 42 65 66 6F 72 65 20 .. Before
000080: 61 20 66 69 6C 65 20 63 61 6E 20 62 65 20 77 72 a file can be wr
000090: 69 74 74 65 6E 20 69 74 20 6D 75 73 74 20 62 65 itten it must be
0000A0: 20 6F 70 65 6E 65 64 20 20 28 62 79 20 20 63 61 opened (by ca
0000B0: 6C 6C 69 6E 67 20 20 43 41 53 20 20 4F 55 54 0D lling CAS OUT.
0000C0: 0A 20 20 20 20 20 20 20 4F 50 45 4E 29 2E 20 54 . OPEN). T
0000D0: 68 69 73 20 73 65 74 73 20 75 70 20 74 68 65 20 his sets up the
0000E0: 66 69 6C 65 6E 61 6D 65 20 28 73 65 65 20 38 2E filename (see 8.
0000F0: 31 30 20 62 65 6C 6F 77 29 20 61 6E 64 20 74 68 10 below) and th
000100: 65 20 72 65 73 74 20 6F 66 20 20 74 68 65 0D 0A e rest of the..
000110: 20 20 20 20 20 20 20 68 65 61 64 65 72 20 74 68 header th
000120: 61 74 20 77 69 6C 6C 20 62 65 20 77 72 69 74 74 at will be writt
000130: 65 6E 20 69 6E 20 65 61 63 68 20 66 69 6C 65 20 en in each file
000140: 62 6C 6F 63 6B 2E 0D 0A 0D 0A 20 20 20 20 20 20 block.....
000150: 20 54 68 65 20 66 69 6C 65 20 6D 61 79 20 65 69 The file may ei
000160: 74 68 65 72 20 62 65 20 6F 70 65 6E 65 64 20 20 ther be opened
000170: 66 6F 72 20 20 63 68 61 72 61 63 74 65 72 20 20 for character
000180: 6F 75 74 70 75 74 20 20 6F 72 20 20 66 6F 72 20 output or for
000190: 20 64 69 72 65 63 74 0D 0A 20 20 20 20 20 20 20 direct..
0001A0: 6F 75 74 70 75 74 2C 20 62 75 74 20 6E 6F 74 20 output, but not
0001B0: 62 6F 74 68 2E 20 54 68 65 20 6D 6F 64 65 20 6F both. The mode o
0001C0: 66 20 6F 75 74 70 75 74 20 69 73 20 73 65 74 20 f output is set
0001D0: 62 79 20 74 68 65 20 66 69 72 73 74 20 77 72 69 by the first wri
0001E0: 74 65 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 74 te to.. t
0001F0: 68 65 20 66 69 6C 65 20 61 6E 64 20 6E 6F 74 20 he file and not
Size : 512 (Real : 512)
000000: 77 68 65 6E 20 69 74 20 69 73 20 6F 70 65 6E 65 when it is opene
000010: 64 2E 20 41 73 20 73 6F 6F 6E 20 61 73 20 6F 6E d. As soon as on
000020: 65 20 6D 6F 64 65 20 69 73 20 73 65 6C 65 63 74 e mode is select
000030: 65 64 20 69 74 0D 0A 20 20 20 20 20 20 20 62 65 ed it.. be
000040: 63 6F 6D 65 73 20 69 6D 70 6F 73 73 69 62 6C 65 comes impossible
000050: 20 74 6F 20 75 73 65 20 74 68 65 20 6F 74 68 65 to use the othe
000060: 72 20 6D 6F 64 65 20 74 6F 20 77 72 69 74 65 20 r mode to write
000070: 74 6F 20 74 68 65 20 66 69 6C 65 2E 0D 0A 0D 0A to the file.....
000080: 20 20 20 20 20 20 20 43 68 61 72 61 63 74 65 72 Character
000090: 20 6F 75 74 70 75 74 20 28 63 61 6C 6C 69 6E 67 output (calling
0000A0: 20 43 41 53 20 4F 55 54 20 43 48 41 52 29 20 61 CAS OUT CHAR) a
0000B0: 6C 6C 6F 77 73 20 74 68 65 20 75 73 65 72 20 20 llows the user
0000C0: 74 6F 20 20 77 72 69 74 65 20 20 74 6F 0D 0A 20 to write to..
0000D0: 20 20 20 20 20 20 74 68 65 20 66 69 6C 65 20 6F the file o
0000E0: 6E 65 20 63 68 61 72 61 63 74 65 72 20 61 74 20 ne character at
0000F0: 61 20 74 69 6D 65 2E 20 54 68 65 20 63 68 61 72 a time. The char
000100: 61 63 74 65 72 73 20 61 72 65 20 62 75 66 66 65 acters are buffe
000110: 72 65 64 20 75 6E 74 69 6C 20 20 61 0D 0A 20 20 red until a..
000120: 20 20 20 20 20 63 6F 6D 70 6C 65 74 65 20 62 6C complete bl
000130: 6F 63 6B 20 28 32 30 34 38 20 63 68 61 72 61 63 ock (2048 charac
000140: 74 65 72 73 29 20 69 73 20 72 65 61 64 79 20 74 ters) is ready t
000150: 6F 20 62 65 20 20 77 72 69 74 74 65 6E 20 20 77 o be written w
000160: 68 65 72 65 75 70 6F 6E 20 20 61 0D 0A 20 20 20 hereupon a..
000170: 20 20 20 20 66 69 6C 65 20 62 6C 6F 63 6B 20 69 file block i
000180: 73 20 77 72 69 74 74 65 6E 20 74 6F 20 74 68 65 s written to the
000190: 20 74 61 70 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 tape.....
0001A0: 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F AMSTRAD CPC464/
0001B0: 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 664/6128 FIRMWAR
0001C0: 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 E
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 p
0001E0: 61 67 65 20 38 2E 36 0D 0A 0D 0A 0D 0A 0D 0A 0D age 8.6.........
0001F0: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 44 69 72 65 ..... Dire
Size : 512 (Real : 512)
000000: 63 74 20 6F 75 74 70 75 74 20 28 63 61 6C 6C 69 ct output (calli
000010: 6E 67 20 43 41 53 20 4F 55 54 20 44 49 52 45 43 ng CAS OUT DIREC
000020: 54 29 20 77 72 69 74 65 73 20 74 68 65 20 77 68 T) writes the wh
000030: 6F 6C 65 20 20 6F 66 20 20 74 68 65 20 20 66 69 ole of the fi
000040: 6C 65 0D 0A 20 20 20 20 20 20 20 66 72 6F 6D 20 le.. from
000050: 6D 65 6D 6F 72 79 20 69 6E 20 6F 6E 65 20 67 6F memory in one go
000060: 2E 20 54 68 65 20 64 61 74 61 20 77 72 69 74 74 . The data writt
000070: 65 6E 20 69 73 20 73 74 69 6C 6C 20 20 70 61 63 en is still pac
000080: 6B 61 67 65 64 20 20 69 6E 74 6F 20 20 32 30 34 kaged into 204
000090: 38 0D 0A 20 20 20 20 20 20 20 62 79 74 65 20 62 8.. byte b
0000A0: 6C 6F 63 6B 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 locks.....
0000B0: 20 57 68 69 63 68 65 76 65 72 20 6F 75 74 70 75 Whichever outpu
0000C0: 74 20 6D 6F 64 65 20 69 73 20 75 73 65 64 2C 20 t mode is used,
0000D0: 69 74 20 69 73 20 69 6D 70 6F 72 74 61 6E 74 20 it is important
0000E0: 20 74 6F 20 20 63 6C 6F 73 65 20 20 74 68 65 20 to close the
0000F0: 20 6F 75 74 70 75 74 0D 0A 20 20 20 20 20 20 20 output..
000100: 66 69 6C 65 20 70 72 6F 70 65 72 6C 79 20 28 75 file properly (u
000110: 73 69 6E 67 20 43 41 53 20 4F 55 54 20 43 4C 4F sing CAS OUT CLO
000120: 53 45 29 20 6F 74 68 65 72 77 69 73 65 20 74 68 SE) otherwise th
000130: 65 20 6C 61 73 74 20 20 62 6C 6F 63 6B 20 20 6F e last block o
000140: 66 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 66 f the.. f
000150: 69 6C 65 20 77 69 6C 6C 20 6E 6F 74 20 62 65 20 ile will not be
000160: 77 72 69 74 74 65 6E 2E 0D 0A 20 20 20 20 20 20 written...
000170: 20 49 6E 74 65 72 72 75 70 74 73 20 61 72 65 20 Interrupts are
000180: 64 69 73 61 62 6C 65 64 20 20 77 68 69 6C 73 74 disabled whilst
000190: 20 20 77 72 69 74 69 6E 67 20 20 74 6F 20 20 74 writing to t
0001A0: 61 70 65 20 20 62 65 63 61 75 73 65 20 20 74 68 ape because th
0001B0: 69 73 20 20 68 69 73 0D 0A 20 20 20 20 20 20 20 is his..
0001C0: 73 65 72 69 6F 75 73 20 74 69 6D 69 6E 67 20 63 serious timing c
0001D0: 6F 6E 73 74 72 61 69 6E 74 73 2E 20 20 44 69 73 onstraints. Dis
0001E0: 61 62 6C 69 6E 67 20 20 69 6E 74 65 72 72 75 70 abling interrup
0001F0: 74 73 20 20 77 69 6C 6C 20 20 70 72 65 76 65 6E ts will preven
Size : 512 (Real : 512)
000000: 74 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 76 t the.. v
000010: 61 72 69 6F 75 73 20 20 74 69 6D 65 72 20 20 69 arious timer i
000020: 6E 74 65 72 72 75 70 74 73 20 20 28 61 73 20 20 nterrupts (as
000030: 64 65 73 63 72 69 62 65 64 20 20 69 6E 20 20 73 described in s
000040: 65 63 74 69 6F 6E 20 20 20 31 30 2E 31 29 20 20 ection 10.1)
000050: 20 66 72 6F 6D 0D 0A 20 20 20 20 20 20 20 6F 63 from.. oc
000060: 63 75 72 72 69 6E 67 2E 20 49 6E 20 70 61 72 74 curring. In part
000070: 69 63 75 6C 61 72 20 74 68 69 73 20 6D 69 67 68 icular this migh
000080: 74 20 6C 65 61 76 65 20 20 74 68 65 20 20 73 6F t leave the so
000090: 75 6E 64 20 20 63 68 69 70 20 20 6D 61 6B 69 6E und chip makin
0000A0: 67 20 20 61 0D 0A 20 20 20 20 20 20 20 6E 6F 69 g a.. noi
0000B0: 73 65 20 66 6F 72 20 61 20 6C 6F 6E 67 20 70 65 se for a long pe
0000C0: 72 69 6F 64 20 6F 66 20 74 69 6D 65 20 61 6E 64 riod of time and
0000D0: 20 73 6F 20 74 68 65 20 53 6F 75 6E 64 20 4D 61 so the Sound Ma
0000E0: 6E 61 67 65 72 20 69 73 20 73 68 75 74 20 20 64 nager is shut d
0000F0: 6F 77 6E 0D 0A 20 20 20 20 20 20 20 28 73 65 65 own.. (see
000100: 20 53 4F 55 4E 44 20 52 45 53 45 54 29 2E 0D 0A SOUND RESET)...
000110: 0D 0A 20 20 20 20 20 20 20 49 6E 20 56 31 2E 31 .. In V1.1
000120: 20 66 69 72 6D 77 61 72 65 20 74 68 65 20 20 63 firmware the c
000130: 61 73 73 65 74 74 65 20 20 6D 61 6E 61 67 65 72 assette manager
000140: 20 20 72 6F 75 74 69 6E 65 73 20 20 66 6F 72 20 routines for
000150: 20 77 72 69 74 69 6E 67 20 20 66 69 6C 65 73 0D writing files.
000160: 0A 20 20 20 20 20 20 20 72 65 74 75 72 6E 20 20 . return
000170: 65 72 72 6F 72 20 20 63 6F 64 65 73 20 20 74 6F error codes to
000180: 20 20 69 6E 64 69 63 61 74 65 20 20 74 68 65 20 indicate the
000190: 20 63 61 75 73 65 20 20 6F 66 20 20 74 68 65 20 cause of the
0001A0: 20 20 65 72 72 6F 72 20 20 20 28 66 6F 72 0D 0A error (for..
0001B0: 20 20 20 20 20 20 20 63 6F 6D 70 61 74 69 62 69 compatibi
0001C0: 6C 69 74 79 20 77 69 74 68 20 41 4D 53 44 4F 53 lity with AMSDOS
0001D0: 29 3A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ):..
0001E0: 20 20 20 20 23 30 30 3A 20 20 20 20 20 20 54 68 #00: Th
0001F0: 65 20 75 73 65 72 20 68 61 73 20 68 69 74 20 65 e user has hit e
Size : 512 (Real : 512)
000000: 73 63 61 70 65 0D 0A 20 20 20 20 20 20 20 20 20 scape..
000010: 20 20 20 20 20 20 20 23 30 45 3A 20 20 20 20 20 #0E:
000020: 20 54 68 65 20 73 74 72 65 61 6D 20 69 73 20 61 The stream is a
000030: 6C 72 65 61 64 79 2F 6E 6F 74 20 69 6E 20 75 73 lready/not in us
000040: 65 0D 0A 20 20 20 20 20 20 20 38 2E 39 20 52 65 e.. 8.9 Re
000050: 61 64 20 61 6E 64 20 57 72 69 74 69 6E 67 20 53 ad and Writing S
000060: 69 6D 75 6C 74 61 6E 65 6F 75 73 6C 79 2E 0D 0A imultaneously...
000070: 20 20 20 20 20 20 20 54 68 65 20 43 61 73 73 65 The Casse
000080: 74 74 65 20 4D 61 6E 61 67 65 72 20 61 6C 6C 6F tte Manager allo
000090: 77 73 20 74 77 6F 20 66 69 6C 65 73 20 74 6F 20 ws two files to
0000A0: 62 65 20 6F 70 65 6E 20 20 73 69 6D 75 6C 74 61 be open simulta
0000B0: 6E 65 6F 75 73 6C 79 2E 20 20 4F 6E 65 0D 0A 20 neously. One..
0000C0: 20 20 20 20 20 20 6D 75 73 74 20 62 65 20 6F 70 must be op
0000D0: 65 6E 20 66 6F 72 20 72 65 61 64 69 6E 67 20 20 en for reading
0000E0: 61 6E 64 20 20 74 68 65 20 20 6F 74 68 65 72 20 and the other
0000F0: 20 66 6F 72 20 20 77 72 69 74 69 6E 67 2E 20 20 for writing.
000100: 54 68 75 73 20 20 69 74 20 20 69 73 0D 0A 20 20 Thus it is..
000110: 20 20 20 20 20 70 6F 73 73 69 62 6C 65 20 74 6F possible to
000120: 20 72 65 61 64 20 66 72 6F 6D 20 6F 6E 65 20 66 read from one f
000130: 69 6C 65 20 61 6E 64 20 77 72 69 74 65 20 74 6F ile and write to
000140: 20 61 6E 6F 74 68 65 72 20 66 69 6C 65 20 61 74 another file at
000150: 20 20 74 68 65 20 20 73 61 6D 65 0D 0A 20 20 20 the same..
000160: 20 20 20 20 74 69 6D 65 2E 0D 0A 0D 0A 20 20 20 time.....
000170: 20 20 20 20 57 68 65 6E 20 74 68 65 20 43 61 73 When the Cas
000180: 73 65 74 74 65 20 4D 61 6E 61 67 65 72 20 69 73 sette Manager is
000190: 20 61 62 6F 75 74 20 74 6F 20 72 65 61 64 20 61 about to read a
0001A0: 20 62 6C 6F 63 6B 20 69 74 20 61 73 6B 73 20 74 block it asks t
0001B0: 68 65 20 75 73 65 72 20 74 6F 0D 0A 20 20 20 20 he user to..
0001C0: 20 20 20 70 72 65 73 73 20 50 4C 41 59 20 61 6E press PLAY an
0001D0: 64 20 74 68 69 73 20 69 6D 70 6C 69 65 73 20 74 d this implies t
0001E0: 68 61 74 20 74 68 65 20 74 61 70 65 20 77 69 74 hat the tape wit
0001F0: 68 20 74 68 65 20 20 66 69 6C 65 20 20 66 6F 72 h the file for
Size : 512 (Real : 512)
000000: 20 20 72 65 61 64 69 6E 67 0D 0A 20 20 20 20 20 reading..
000010: 20 20 73 68 6F 75 6C 64 20 62 65 20 6C 6F 61 64 should be load
000020: 65 64 2E 20 53 69 6D 69 6C 61 72 6C 79 2C 20 77 ed. Similarly, w
000030: 68 65 6E 20 69 74 20 69 73 20 61 62 6F 75 74 20 hen it is about
000040: 74 6F 20 77 72 69 74 65 20 61 20 62 6C 6F 63 6B to write a block
000050: 20 69 74 20 61 73 6B 73 0D 0A 20 20 20 20 20 20 it asks..
000060: 20 66 6F 72 20 74 68 65 20 75 73 65 72 20 74 6F for the user to
000070: 20 70 72 65 73 73 20 52 45 43 20 61 6E 64 20 50 press REC and P
000080: 4C 41 59 20 61 6E 64 20 74 68 69 73 20 69 6D 70 LAY and this imp
000090: 6C 69 65 73 20 74 68 61 74 20 74 68 65 20 20 74 lies that the t
0000A0: 61 70 65 20 20 74 6F 0D 0A 20 20 20 20 20 20 20 ape to..
0000B0: 77 68 69 63 68 20 74 68 65 20 66 69 6C 65 20 69 which the file i
0000C0: 73 20 74 6F 20 62 65 20 77 72 69 74 74 65 6E 20 s to be written
0000D0: 73 68 6F 75 6C 64 20 62 65 20 6C 6F 61 64 65 64 should be loaded
0000E0: 2E 20 54 68 65 20 43 61 73 73 65 74 74 65 20 4D . The Cassette M
0000F0: 61 6E 61 67 65 72 0D 0A 20 20 20 20 20 20 20 61 anager.. a
000100: 73 73 75 6D 65 73 20 74 68 61 74 20 74 68 65 20 ssumes that the
000110: 74 61 70 65 20 69 73 20 6E 6F 74 20 63 68 61 6E tape is not chan
000120: 67 65 64 20 61 6E 64 20 74 68 61 74 20 74 68 65 ged and that the
000130: 20 61 70 70 72 6F 70 72 69 61 74 65 20 63 61 73 appropriate cas
000140: 73 65 74 74 65 0D 0A 20 20 20 20 20 20 20 63 6F sette.. co
000150: 6E 74 72 6F 6C 73 20 72 65 6D 61 69 6E 20 70 72 ntrols remain pr
000160: 65 73 73 65 64 20 61 73 20 72 65 71 75 65 73 74 essed as request
000170: 65 64 20 75 6E 74 69 6C 20 74 68 65 20 70 72 6F ed until the pro
000180: 6D 70 74 20 20 69 73 20 20 69 73 73 75 65 64 2E mpt is issued.
000190: 20 20 49 74 0D 0A 20 20 20 20 20 20 20 61 6C 73 It.. als
0001A0: 6F 20 61 73 73 75 6D 65 73 20 74 68 61 74 20 70 o assumes that p
0001B0: 72 65 73 73 69 6E 67 20 61 20 20 6B 65 79 20 20 ressing a key
0001C0: 6D 65 61 6E 73 20 20 74 68 61 74 20 20 74 68 65 means that the
0001D0: 20 20 70 72 6F 6D 70 74 20 20 68 61 73 20 20 62 prompt has b
0001E0: 65 65 6E 0D 0A 20 20 20 20 20 20 20 6F 62 65 79 een.. obey
0001F0: 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 49 74 ed..... It
Size : 512 (Real : 512)
000000: 20 69 73 20 75 6E 77 69 73 65 20 74 6F 20 61 74 is unwise to at
000010: 74 65 6D 70 74 20 74 6F 20 72 65 61 64 20 20 61 tempt to read a
000020: 6E 64 20 20 77 72 69 74 65 20 20 73 69 6D 75 6C nd write simul
000030: 74 61 6E 65 6F 75 73 6C 79 20 20 77 69 74 68 20 taneously with
000040: 20 74 68 65 0D 0A 20 20 20 20 20 20 20 43 61 73 the.. Cas
000050: 73 65 74 74 65 20 4D 61 6E 61 67 65 72 20 6D 65 sette Manager me
000060: 73 73 61 67 65 73 20 74 75 72 6E 65 64 20 6F 66 ssages turned of
000070: 66 2E 20 54 68 65 20 6F 6E 6C 79 20 6E 6F 74 69 f. The only noti
000080: 66 69 63 61 74 69 6F 6E 20 20 67 69 76 65 6E 20 fication given
000090: 20 6F 66 0D 0A 20 20 20 20 20 20 20 77 68 69 63 of.. whic
0000A0: 68 20 74 61 70 65 20 73 68 6F 75 6C 64 20 62 65 h tape should be
0000B0: 20 6C 6F 61 64 65 64 20 69 73 20 69 6E 20 74 68 loaded is in th
0000C0: 65 20 70 72 6F 6D 70 74 20 6D 65 73 73 61 67 65 e prompt message
0000D0: 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 38 2E 31 s..... 8.1
0000E0: 30 20 46 69 6C 65 6E 61 6D 65 73 2E 0D 0A 20 20 0 Filenames...
0000F0: 20 20 20 20 20 57 68 65 6E 20 74 68 65 20 75 73 When the us
000100: 65 72 20 6F 70 65 6E 73 20 61 20 66 69 6C 65 20 er opens a file
000110: 66 6F 72 20 72 65 61 64 69 6E 67 20 6F 72 20 77 for reading or w
000120: 72 69 74 69 6E 67 20 74 68 65 20 6E 61 6D 65 20 riting the name
000130: 6F 66 20 74 68 65 20 66 69 6C 65 0D 0A 20 20 20 of the file..
000140: 20 20 20 20 74 6F 20 62 65 20 72 65 61 64 20 6F to be read o
000150: 72 20 77 72 69 74 74 65 6E 20 69 73 20 73 70 65 r written is spe
000160: 63 69 66 69 65 64 2E 20 54 68 65 20 66 69 6C 65 cified. The file
000170: 6E 61 6D 65 20 69 73 20 61 20 73 74 72 69 6E 67 name is a string
000180: 20 6F 66 20 61 6E 79 20 31 36 0D 0A 20 20 20 20 of any 16..
000190: 20 20 20 63 68 61 72 61 63 74 65 72 73 20 28 23 characters (#
0001A0: 30 30 2E 2E 23 46 46 29 2E 20 49 66 20 74 68 65 00..#FF). If the
0001B0: 20 66 69 6C 65 20 6E 61 6D 65 20 73 70 65 63 69 file name speci
0001C0: 66 69 65 64 20 69 73 20 20 6C 6F 6E 67 65 72 20 fied is longer
0001D0: 20 74 68 61 6E 20 20 31 36 0D 0A 20 20 20 20 20 than 16..
0001E0: 20 20 63 68 61 72 61 63 74 65 72 73 20 74 68 65 characters the
0001F0: 6E 20 20 69 74 20 20 69 73 20 20 74 72 75 6E 63 n it is trunc
Size : 512 (Real : 512)
000000: 61 74 65 64 20 20 61 6E 64 20 20 69 66 20 20 69 ated and if i
000010: 74 20 20 69 73 20 20 73 68 6F 72 74 65 72 20 20 t is shorter
000020: 74 68 61 6E 20 20 31 36 0D 0A 20 20 20 20 20 20 than 16..
000030: 20 63 68 61 72 61 63 74 65 72 73 20 69 74 20 69 characters it i
000040: 73 20 70 61 64 64 65 64 20 74 6F 20 31 36 20 63 s padded to 16 c
000050: 68 61 72 61 63 74 65 72 73 20 77 69 74 68 20 6E haracters with n
000060: 75 6C 6C 73 20 28 63 68 61 72 61 63 74 65 72 20 ulls (character
000070: 23 30 30 29 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 #00).....
000080: 57 68 65 6E 20 6F 70 65 6E 69 6E 67 20 61 20 66 When opening a f
000090: 69 6C 65 20 66 6F 72 20 72 65 61 64 69 6E 67 20 ile for reading
0000A0: 61 20 7A 65 72 6F 20 6C 65 6E 67 74 68 20 20 66 a zero length f
0000B0: 69 6C 65 6E 61 6D 65 20 20 6F 72 20 20 6F 6E 65 ilename or one
0000C0: 20 20 74 68 61 74 0D 0A 20 20 20 20 20 20 20 73 that.. s
0000D0: 74 61 72 74 73 20 77 69 74 68 20 61 20 6E 75 6C tarts with a nul
0000E0: 6C 20 68 61 73 20 61 20 73 70 65 63 69 61 6C 20 l has a special
0000F0: 6D 65 61 6E 69 6E 67 20 2D 20 72 65 61 64 20 74 meaning - read t
000100: 68 65 20 6E 65 78 74 20 66 69 6C 65 20 20 6F 6E he next file on
000110: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 74 61 the.. ta
000120: 70 65 2E 20 54 68 65 20 43 61 73 73 65 74 74 65 pe. The Cassette
000130: 20 4D 61 6E 61 67 65 72 20 73 65 61 72 63 68 65 Manager searche
000140: 73 20 74 68 65 20 74 61 70 65 20 75 6E 74 69 6C s the tape until
000150: 20 69 74 20 66 69 6E 64 73 20 74 68 65 20 20 66 it finds the f
000160: 69 72 73 74 0D 0A 20 20 20 20 20 20 20 62 6C 6F irst.. blo
000170: 63 6B 20 6F 66 20 61 20 66 69 6C 65 20 61 6E 64 ck of a file and
000180: 20 69 74 20 72 65 61 64 73 20 74 68 69 73 20 66 it reads this f
000190: 69 6C 65 2E 20 4F 6E 63 65 20 74 68 65 20 66 69 ile. Once the fi
0001A0: 72 73 74 20 62 6C 6F 63 6B 20 6F 66 20 61 20 66 rst block of a f
0001B0: 69 6C 65 0D 0A 20 20 20 20 20 20 20 68 61 73 20 ile.. has
0001C0: 62 65 65 6E 20 66 6F 75 6E 64 20 74 68 65 20 43 been found the C
0001D0: 61 73 73 65 74 74 65 20 4D 61 6E 61 67 65 72 20 assette Manager
0001E0: 77 69 6C 6C 20 6F 6E 6C 79 20 72 65 61 64 20 72 will only read r
0001F0: 6F 6D 20 74 68 61 74 20 20 66 69 6C 65 20 20 61 om that file a
Size : 512 (Real : 512)
000000: 6E 64 0D 0A 20 20 20 20 20 20 20 6E 6F 20 6F 74 nd.. no ot
000010: 68 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 42 her..... B
000020: 41 53 49 43 20 20 75 73 65 73 20 20 61 20 20 73 ASIC uses a s
000030: 6C 69 67 68 74 6C 79 20 20 20 65 78 74 65 6E 64 lightly extend
000040: 65 64 20 20 20 66 6F 72 6D 20 20 20 6F 66 20 20 ed form of
000050: 20 66 69 6C 65 6E 61 6D 65 2E 20 20 20 49 66 20 filename. If
000060: 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 66 69 the.. fi
000070: 72 73 74 20 63 68 61 72 61 63 74 65 72 20 6F 66 rst character of
000080: 20 61 20 42 41 53 49 43 20 66 69 6C 65 6E 61 6D a BASIC filenam
000090: 65 20 69 73 20 61 6E 20 65 78 63 6C 61 6D 61 74 e is an exclamat
0000A0: 69 6F 6E 20 6D 61 72 6B 20 20 28 63 68 61 72 61 ion mark (chara
0000B0: 63 74 65 72 0D 0A 20 20 20 20 20 20 20 23 32 31 cter.. #21
0000C0: 29 20 74 68 65 20 42 41 53 49 43 20 74 75 72 6E ) the BASIC turn
0000D0: 73 20 74 68 65 20 70 72 6F 6D 70 74 20 6D 65 73 s the prompt mes
0000E0: 73 61 67 65 73 20 20 6F 66 66 20 20 28 73 65 65 sages off (see
0000F0: 20 20 38 2E 31 31 20 20 62 65 6C 6F 77 29 20 20 8.11 below)
000100: 61 6E 64 0D 0A 20 20 20 20 20 20 20 72 65 6D 6F and.. remo
000110: 76 65 73 20 74 68 65 20 65 78 63 6C 61 6D 61 74 ves the exclamat
000120: 69 6F 6E 20 6D 61 72 6B 20 66 72 6F 6D 20 20 74 ion mark from t
000130: 68 65 20 20 6E 61 6D 65 2E 20 20 54 68 69 73 20 he name. This
000140: 20 66 61 63 69 6C 69 74 79 20 20 69 73 20 20 6E facility is n
000150: 6F 74 0D 0A 20 20 20 20 20 20 20 70 72 6F 76 69 ot.. provi
000160: 64 65 64 20 61 74 20 74 68 65 20 43 61 73 73 65 ded at the Casse
000170: 74 74 65 20 4D 61 6E 61 67 65 72 20 6C 65 76 65 tte Manager leve
000180: 6C 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 41 4D 53 l..... AMS
000190: 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 2F TRAD CPC464/664/
0001A0: 36 31 32 38 20 46 49 52 4D 57 41 52 45 20 20 20 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: 38 2E 37 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 8.7.............
0001E0: 0A 20 20 20 20 20 20 20 38 2E 31 31 20 43 61 73 . 8.11 Cas
0001F0: 73 65 74 74 65 20 4D 61 6E 61 67 65 72 20 4D 65 sette Manager Me
Size : 512 (Real : 512)
000000: 73 73 61 67 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 ssages.....
000010: 20 20 54 68 65 20 43 61 73 73 65 74 74 65 20 4D The Cassette M
000020: 61 6E 61 67 65 72 20 69 73 73 75 65 73 20 61 20 anager issues a
000030: 6E 75 6D 62 65 72 20 6F 66 20 6D 65 73 73 61 67 number of messag
000040: 65 73 20 74 6F 20 70 72 6F 6D 70 74 20 61 6E 64 es to prompt and
000050: 20 20 69 6E 66 6F 72 6D 0D 0A 20 20 20 20 20 20 inform..
000060: 20 74 68 65 20 75 73 65 72 20 61 6E 64 20 74 6F the user and to
000070: 20 77 61 72 6E 20 77 68 65 6E 20 65 72 72 6F 72 warn when error
000080: 73 20 20 68 61 76 65 20 20 6F 63 63 75 72 72 65 s have occurre
000090: 64 2E 20 20 54 68 65 20 20 6D 65 73 73 61 67 65 d. The message
0000A0: 73 20 20 74 68 61 74 0D 0A 20 20 20 20 20 20 20 s that..
0000B0: 70 72 6F 6D 70 74 20 6F 72 20 69 6E 66 6F 72 6D prompt or inform
0000C0: 20 74 68 65 20 75 73 65 72 20 6D 61 79 20 62 65 the user may be
0000D0: 20 74 75 72 6E 65 64 20 6F 66 66 20 6F 72 20 6F turned off or o
0000E0: 6E 20 61 73 20 64 65 73 69 72 65 64 20 28 73 65 n as desired (se
0000F0: 65 20 20 43 41 53 0D 0A 20 20 20 20 20 20 20 4E e CAS.. N
000100: 4F 49 53 59 29 2E 20 4D 65 73 73 61 67 65 73 20 OISY). Messages
000110: 74 68 61 74 20 69 6E 66 6F 72 6D 20 74 68 65 20 that inform the
000120: 75 73 65 72 20 6F 66 20 65 72 72 6F 72 73 20 63 user of errors c
000130: 61 6E 6E 6F 74 20 62 65 20 20 74 75 72 6E 65 64 annot be turned
000140: 20 20 6F 66 66 0D 0A 20 20 20 20 20 20 20 62 79 off.. by
000150: 20 74 68 69 73 20 6D 65 63 68 61 6E 69 73 6D 2E this mechanism.
000160: 0D 0A 0D 0A 20 20 20 20 20 20 20 61 2E 20 50 72 .... a. Pr
000170: 6F 6D 70 74 20 6D 65 73 73 61 67 65 73 2E 0D 0A ompt messages...
000180: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 50 72 .. Pr
000190: 65 73 73 20 50 4C 41 59 20 74 68 65 6E 20 61 6E ess PLAY then an
0001A0: 79 20 6B 65 79 3A 0D 0A 0D 0A 20 20 20 20 20 20 y key:....
0001B0: 20 20 20 20 20 20 54 68 69 73 20 6D 65 73 73 61 This messa
0001C0: 67 65 20 69 73 20 69 73 73 75 65 64 20 77 68 65 ge is issued whe
0001D0: 6E 20 74 68 65 20 43 61 73 73 65 74 74 65 20 4D n the Cassette M
0001E0: 61 6E 61 67 65 72 20 69 73 20 61 62 6F 75 74 20 anager is about
0001F0: 74 6F 20 72 65 61 64 0D 0A 20 20 20 20 20 20 20 to read..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 74 68 65 20 66 69 72 73 74 20 62 the first b
000010: 6C 6F 63 6B 20 6F 66 20 61 20 66 69 6C 65 20 66 lock of a file f
000020: 72 6F 6D 20 74 61 70 65 20 6F 72 20 77 68 65 6E rom tape or when
000030: 20 69 74 20 69 73 20 61 62 6F 75 74 20 74 6F 20 it is about to
000040: 72 65 61 64 20 61 0D 0A 20 20 20 20 20 20 20 20 read a..
000050: 20 20 20 20 62 6C 6F 63 6B 20 20 61 66 74 65 72 block after
000060: 20 20 68 61 76 69 6E 67 20 20 77 72 69 74 74 65 having writte
000070: 6E 20 20 74 6F 20 20 74 61 70 65 20 20 28 73 65 n to tape (se
000080: 65 20 20 73 65 63 74 69 6F 6E 20 20 38 2E 39 29 e section 8.9)
000090: 2E 20 20 49 74 0D 0A 20 20 20 20 20 20 20 20 20 . It..
0000A0: 20 20 20 69 6E 64 69 63 61 74 65 73 20 74 68 61 indicates tha
0000B0: 74 20 74 68 65 20 74 61 70 65 20 63 6F 6E 74 61 t the tape conta
0000C0: 69 6E 69 6E 67 20 74 68 65 20 66 69 6C 65 20 74 ining the file t
0000D0: 6F 20 62 65 20 72 65 61 64 20 73 68 6F 75 6C 64 o be read should
0000E0: 20 20 62 65 0D 0A 20 20 20 20 20 20 20 20 20 20 be..
0000F0: 20 20 6C 6F 61 64 65 64 20 61 6E 64 20 74 68 61 loaded and tha
000100: 74 20 20 74 68 65 20 20 50 4C 41 59 20 20 62 75 t the PLAY bu
000110: 74 74 6F 6E 20 20 6F 6E 20 20 74 68 65 20 20 72 tton on the r
000120: 65 63 6F 72 64 65 72 20 20 73 68 6F 75 6C 64 20 ecorder should
000130: 20 62 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 be..
000140: 20 70 72 65 73 73 65 64 2E 20 54 68 65 20 43 61 pressed. The Ca
000150: 73 73 65 74 74 65 20 4D 61 6E 61 67 65 72 20 64 ssette Manager d
000160: 6F 65 73 20 20 6E 6F 74 20 20 69 73 73 75 65 20 oes not issue
000170: 20 74 68 69 73 20 20 6D 65 73 73 61 67 65 20 20 this message
000180: 61 74 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 at..
000190: 6F 74 68 65 72 20 74 69 6D 65 73 20 73 69 6E 63 other times sinc
0001A0: 65 20 69 74 20 61 73 73 75 6D 65 73 20 20 74 68 e it assumes th
0001B0: 61 74 20 20 74 68 65 20 20 63 6F 72 72 65 63 74 at the correct
0001C0: 20 20 74 61 70 65 20 20 69 73 20 20 73 74 69 6C tape is stil
0001D0: 6C 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 6C l.. l
0001E0: 6F 61 64 65 64 20 61 6E 64 20 74 68 61 74 20 74 oaded and that t
0001F0: 68 65 20 50 4C 41 59 20 62 75 74 74 6F 6E 20 69 he PLAY button i
Size : 512 (Real : 512)
000000: 73 20 73 74 69 6C 6C 20 70 72 65 73 73 65 64 2E s still pressed.
000010: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000020: 50 72 65 73 73 20 52 45 43 20 61 6E 64 20 50 4C Press REC and PL
000030: 41 59 20 74 68 65 6E 20 61 6E 79 20 6B 65 79 3A AY then any key:
000040: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000050: 54 68 69 73 20 6D 65 73 73 61 67 65 20 69 73 20 This message is
000060: 69 73 73 75 65 64 20 77 68 65 6E 20 74 68 65 20 issued when the
000070: 20 43 61 73 73 65 74 74 65 20 20 4D 61 6E 61 67 Cassette Manag
000080: 65 72 20 20 69 73 20 20 61 62 6F 75 74 20 20 74 er is about t
000090: 6F 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 77 o.. w
0000A0: 72 69 74 65 20 74 68 65 20 66 69 72 73 74 20 62 rite the first b
0000B0: 6C 6F 63 6B 20 6F 66 20 61 20 66 69 6C 65 20 74 lock of a file t
0000C0: 6F 20 74 61 70 65 20 6F 72 20 77 68 65 6E 20 69 o tape or when i
0000D0: 74 20 20 69 73 20 20 61 62 6F 75 74 20 20 74 6F t is about to
0000E0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 77 72 .. wr
0000F0: 69 74 65 20 61 20 62 6C 6F 63 6B 20 61 66 74 65 ite a block afte
000100: 72 20 68 61 76 69 6E 67 20 72 65 61 64 20 66 72 r having read fr
000110: 6F 6D 20 74 61 70 65 2E 20 49 74 20 69 6E 64 69 om tape. It indi
000120: 63 61 74 65 73 20 74 68 61 74 20 20 74 68 65 0D cates that the.
000130: 0A 20 20 20 20 20 20 20 20 20 20 20 20 74 61 70 . tap
000140: 65 20 6F 6E 20 77 68 69 63 68 20 74 68 65 20 66 e on which the f
000150: 69 6C 65 20 69 73 20 74 6F 20 62 65 20 77 72 69 ile is to be wri
000160: 74 74 65 6E 20 73 68 6F 75 6C 64 20 62 65 20 6C tten should be l
000170: 6F 61 64 65 64 20 61 6E 64 20 74 68 61 74 0D 0A oaded and that..
000180: 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 the
000190: 52 45 43 20 61 6E 64 20 50 4C 41 59 20 62 75 74 REC and PLAY but
0001A0: 74 6F 6E 73 20 6F 6E 20 74 68 65 20 72 65 63 6F tons on the reco
0001B0: 72 64 65 72 20 73 68 6F 75 6C 64 20 62 65 20 20 rder should be
0001C0: 70 72 65 73 73 65 64 2E 20 20 54 68 65 0D 0A 20 pressed. The..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 43 61 73 73 65 Casse
0001E0: 74 74 65 20 4D 61 6E 61 67 65 72 20 64 6F 65 73 tte Manager does
0001F0: 20 6E 6F 74 20 69 73 73 75 65 20 74 68 69 73 20 not issue this
Size : 512 (Real : 512)
000000: 6D 65 73 73 61 67 65 20 61 74 20 6F 74 68 65 72 message at other
000010: 20 74 69 6D 65 73 20 73 69 6E 63 65 0D 0A 20 20 times since..
000020: 20 20 20 20 20 20 20 20 20 20 69 74 20 61 73 73 it ass
000030: 75 6D 65 73 20 74 68 61 74 20 74 68 65 20 63 6F umes that the co
000040: 72 72 65 63 74 20 74 61 70 65 20 69 73 20 73 74 rrect tape is st
000050: 69 6C 6C 20 6C 6F 61 64 65 64 20 61 6E 64 20 74 ill loaded and t
000060: 68 61 74 20 74 68 65 20 52 45 43 0D 0A 20 20 20 hat the REC..
000070: 20 20 20 20 20 20 20 20 20 61 6E 64 20 50 4C 41 and PLA
000080: 59 20 62 75 74 74 6F 6E 73 20 61 72 65 20 73 74 Y buttons are st
000090: 69 6C 6C 20 70 72 65 73 73 65 64 2E 0D 0A 0D 0A ill pressed.....
0000A0: 20 20 20 20 20 20 20 62 2E 20 49 6E 66 6F 72 6D b. Inform
0000B0: 61 74 69 6F 6E 20 6D 65 73 73 61 67 65 73 2E 0D ation messages..
0000C0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 46 ... F
0000D0: 6F 75 6E 64 20 46 49 4C 45 4E 41 4D 45 20 62 6C ound FILENAME bl
0000E0: 6F 63 6B 20 4E 0D 0A 0D 0A 20 20 20 20 20 20 20 ock N....
0000F0: 20 20 20 20 20 54 68 69 73 20 6D 65 73 73 61 67 This messag
000100: 65 20 69 73 20 70 72 69 6E 74 65 64 20 77 68 65 e is printed whe
000110: 6E 20 72 65 61 64 69 6E 67 20 66 72 6F 6D 20 74 n reading from t
000120: 68 65 20 74 61 70 65 20 20 69 66 20 20 61 20 20 he tape if a
000130: 68 65 61 64 65 72 0D 0A 20 20 20 20 20 20 20 20 header..
000140: 20 20 20 20 72 65 63 6F 72 64 20 69 73 20 66 6F record is fo
000150: 75 6E 64 20 74 68 61 74 20 66 6F 72 20 61 6E 79 und that for any
000160: 20 72 65 61 73 6F 6E 20 64 6F 65 73 20 20 6E 6F reason does no
000170: 74 20 20 6D 61 74 63 68 20 20 74 68 65 20 20 72 t match the r
000180: 65 63 6F 72 64 0D 0A 20 20 20 20 20 20 20 20 20 ecord..
000190: 20 20 20 74 68 61 74 20 77 61 73 20 65 78 70 65 that was expe
0001A0: 63 74 65 64 2E 20 54 68 69 73 20 6D 61 79 20 69 cted. This may i
0001B0: 6E 64 69 63 61 74 65 20 74 68 61 74 20 74 68 65 ndicate that the
0001C0: 20 74 61 70 65 20 69 73 20 20 70 6F 73 69 74 69 tape is positi
0001D0: 6F 6E 65 64 0D 0A 20 20 20 20 20 20 20 20 20 20 oned..
0001E0: 20 20 69 6E 63 6F 72 72 65 63 74 6C 79 20 28 74 incorrectly (t
0001F0: 6F 6F 20 65 61 72 6C 79 20 6F 72 20 74 6F 6F 20 oo early or too
Size : 512 (Real : 512)
000000: 6C 61 74 65 29 20 6F 72 20 74 68 61 74 20 20 74 late) or that t
000010: 68 65 20 20 77 72 6F 6E 67 20 20 74 61 70 65 20 he wrong tape
000020: 20 69 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 is..
000030: 20 62 65 69 6E 67 20 70 6C 61 79 65 64 2E 0D 0A being played...
000040: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 4C 6F .. Lo
000050: 61 64 69 6E 67 20 46 49 4C 45 4E 41 4D 45 20 62 ading FILENAME b
000060: 6C 6F 63 6B 20 4E 0D 0A 0D 0A 20 20 20 20 20 20 lock N....
000070: 20 20 20 20 20 20 41 20 62 6C 6F 63 6B 20 6F 66 A block of
000080: 20 74 68 65 20 66 69 6C 65 20 68 61 73 20 62 65 the file has be
000090: 65 6E 20 66 6F 75 6E 64 20 61 6E 64 20 69 73 20 en found and is
0000A0: 62 65 69 6E 67 20 72 65 61 64 20 66 72 6F 6D 20 being read from
0000B0: 74 61 70 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 tape.....
0000C0: 20 20 20 20 20 53 61 76 69 6E 67 20 46 49 4C 45 Saving FILE
0000D0: 4E 41 4D 45 20 62 6C 6F 63 6B 20 4E 0D 0A 0D 0A NAME block N....
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 41 20 62 6C A bl
0000F0: 6F 63 6B 20 6F 66 20 74 68 65 20 66 69 6C 65 20 ock of the file
000100: 69 73 20 62 65 69 6E 67 20 77 72 69 74 74 65 6E is being written
000110: 20 74 6F 20 74 61 70 65 2E 0D 0A 0D 0A 20 20 20 to tape.....
000120: 20 20 20 20 46 49 4C 45 4E 41 4D 45 20 69 6E 20 FILENAME in
000130: 74 68 65 20 61 62 6F 76 65 20 6D 65 73 73 61 67 the above messag
000140: 65 73 20 69 73 20 74 68 65 20 6E 61 6D 65 20 6F es is the name o
000150: 66 20 20 74 68 65 20 20 66 69 6C 65 20 20 6F 72 f the file or
000160: 20 20 27 55 6E 6E 61 6D 65 64 0D 0A 20 20 20 20 'Unnamed..
000170: 20 20 20 66 69 6C 65 27 20 69 66 20 74 68 65 20 file' if the
000180: 66 69 6C 65 6E 61 6D 65 20 73 74 61 72 74 73 20 filename starts
000190: 77 69 74 68 20 61 20 6E 75 6C 6C 2E 0D 0A 0D 0A with a null.....
0001A0: 0D 0A 20 20 20 20 20 20 20 54 68 65 20 62 6C 6F .. The blo
0001B0: 63 6B 20 6E 75 6D 62 65 72 2C 20 4E 2C 20 69 6E ck number, N, in
0001C0: 64 69 63 61 74 65 73 20 77 68 69 63 68 20 62 6C dicates which bl
0001D0: 6F 63 6B 20 6F 66 20 74 68 65 20 66 69 6C 65 20 ock of the file
0001E0: 69 73 20 20 62 65 69 6E 67 20 20 72 65 61 64 0D is being read.
0001F0: 0A 20 20 20 20 20 20 20 6F 72 20 77 72 69 74 74 . or writt
Size : 512 (Real : 512)
000000: 65 6E 2E 20 54 68 65 20 66 69 72 73 74 20 62 6C en. The first bl
000010: 6F 63 6B 20 6F 66 20 61 20 66 69 6C 65 20 69 73 ock of a file is
000020: 20 6E 6F 72 6D 61 6C 6C 79 20 62 6C 6F 63 6B 20 normally block
000030: 31 2C 20 74 68 65 20 20 73 65 63 6F 6E 64 0D 0A 1, the second..
000040: 20 20 20 20 20 20 20 62 6C 6F 63 6B 20 32 20 65 block 2 e
000050: 74 63 2E 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 tc.......
000060: 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 AMSTRAD CPC464/6
000070: 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 64/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 20 20 20 70 61 pa
0000A0: 67 65 20 38 2E 38 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ge 8.8..........
0000B0: 0D 0A 0D 0A 20 20 20 20 20 20 20 63 2E 20 45 72 .... c. Er
0000C0: 72 6F 72 20 6D 65 73 73 61 67 65 73 2E 0D 0A 0D ror messages....
0000D0: 0A 20 20 20 20 20 20 20 20 20 20 20 52 65 77 69 . Rewi
0000E0: 6E 64 20 74 61 70 65 0D 0A 0D 0A 20 20 20 20 20 nd tape....
0000F0: 20 20 57 68 69 6C 65 20 73 65 61 72 63 68 69 6E While searchin
000100: 67 20 66 6F 72 20 61 20 62 6C 6F 63 6B 20 6F 66 g for a block of
000110: 20 74 68 65 20 66 69 6C 65 20 62 65 69 6E 67 20 the file being
000120: 72 65 61 64 2C 20 61 20 68 69 67 68 65 72 20 20 read, a higher
000130: 6E 75 6D 62 65 72 65 64 0D 0A 20 20 20 20 20 20 numbered..
000140: 20 62 6C 6F 63 6B 20 74 68 61 6E 20 74 68 61 74 block than that
000150: 20 72 65 71 75 69 72 65 64 20 68 61 73 20 62 65 required has be
000160: 65 6E 20 66 6F 75 6E 64 2E 20 54 68 65 20 72 65 en found. The re
000170: 71 75 69 72 65 64 20 62 6C 6F 63 6B 20 20 68 61 quired block ha
000180: 73 20 20 62 65 65 6E 0D 0A 20 20 20 20 20 20 20 s been..
000190: 6D 69 73 73 65 64 2E 20 54 68 69 73 20 6D 65 73 missed. This mes
0001A0: 73 61 67 65 20 69 73 20 6F 66 74 65 6E 20 70 72 sage is often pr
0001B0: 6F 64 75 63 65 64 20 20 61 66 74 65 72 20 20 61 oduced after a
0001C0: 20 20 72 65 61 64 20 20 65 72 72 6F 72 20 20 69 read error i
0001D0: 6E 20 20 74 68 65 0D 0A 20 20 20 20 20 20 20 72 n the.. r
0001E0: 65 71 75 69 72 65 64 20 62 6C 6F 63 6B 20 77 68 equired block wh
0001F0: 65 6E 20 74 68 65 20 6E 65 78 74 20 62 6C 6F 63 en the next bloc
Size : 512 (Real : 512)
000000: 6B 20 69 73 20 66 6F 75 6E 64 2E 0D 0A 0D 0A 20 k is found.....
000010: 20 20 20 20 20 20 20 20 20 20 20 52 65 61 64 20 Read
000020: 65 72 72 6F 72 20 58 0D 0A 0D 0A 20 20 20 20 20 error X....
000030: 20 20 20 20 20 20 20 41 6E 20 65 72 72 6F 72 20 An error
000040: 6F 66 20 73 6F 6D 65 20 6B 69 6E 64 20 6F 63 63 of some kind occ
000050: 75 72 72 65 64 20 77 68 69 6C 73 74 20 72 65 61 urred whilst rea
000060: 64 69 6E 67 20 66 72 6F 6D 20 74 61 70 65 2E 20 ding from tape.
000070: 54 68 65 20 74 61 70 65 0D 0A 20 20 20 20 20 20 The tape..
000080: 20 20 20 20 20 20 73 68 6F 75 6C 64 20 62 65 20 should be
000090: 72 65 77 6F 75 6E 64 20 61 6E 64 20 74 68 65 20 rewound and the
0000A0: 62 6C 6F 63 6B 20 70 6C 61 79 65 64 20 61 67 61 block played aga
0000B0: 69 6E 2E 20 54 68 65 20 58 20 69 73 20 20 61 20 in. The X is a
0000C0: 20 73 69 6E 67 6C 65 0D 0A 20 20 20 20 20 20 20 single..
0000D0: 20 20 20 20 20 6C 65 74 74 65 72 20 69 6E 64 69 letter indi
0000E0: 63 61 74 69 6E 67 20 77 68 61 74 20 6B 69 6E 64 cating what kind
0000F0: 20 6F 66 20 72 65 61 64 20 65 72 72 6F 72 20 6F of read error o
000100: 63 63 75 72 72 65 64 3A 0D 0A 0D 0A 20 20 20 20 ccurred:....
000110: 20 20 20 20 20 20 20 20 27 61 27 20 20 20 20 20 'a'
000120: 20 20 20 20 20 20 42 69 74 20 74 6F 6F 20 6C 6F Bit too lo
000130: 6E 67 20 20 20 20 20 20 20 20 41 6E 20 69 6D 70 ng An imp
000140: 6F 73 73 69 62 6C 79 20 6C 6F 6E 67 20 6F 6E 65 ossibly long one
000150: 20 6F 72 20 20 7A 65 72 6F 0D 0A 20 20 20 20 20 or zero..
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 68 61 73 20 62 65 65 has bee
000190: 6E 20 6D 65 61 73 75 72 65 64 2E 20 20 54 68 69 n measured. Thi
0001A0: 73 20 20 6F 66 74 65 6E 0D 0A 20 20 20 20 20 20 s often..
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 20 20 69 6E 64 69 63 61 74 65 indicate
0001E0: 73 20 72 65 61 64 69 6E 67 20 70 61 73 74 20 74 s reading past t
0001F0: 68 65 20 20 65 6E 64 0D 0A 20 20 20 20 20 20 20 he end..
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 6F 66 20 74 68 65 20 72 65 of the re
000030: 63 6F 72 64 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 cord.....
000040: 20 20 20 20 20 27 62 27 20 20 20 20 20 20 20 20 'b'
000050: 20 20 20 43 52 43 20 65 72 72 6F 72 20 20 20 20 CRC error
000060: 20 20 20 20 20 20 20 44 61 74 61 20 20 20 77 61 Data wa
000070: 73 20 20 20 72 65 61 64 20 20 20 66 72 6F 6D 20 s read from
000080: 20 20 74 61 70 65 0D 0A 20 20 20 20 20 20 20 20 tape..
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 69 6E 63 6F 72 72 65 63 74 6C incorrectl
0000C0: 79 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 y.....
0000D0: 20 20 27 64 27 20 20 20 20 20 20 20 20 20 20 20 'd'
0000E0: 42 6C 6F 63 6B 20 74 6F 6F 20 6C 6F 6E 67 20 20 Block too long
0000F0: 20 20 20 20 54 68 65 20 64 61 74 61 20 72 65 63 The data rec
000100: 6F 72 64 20 20 63 6F 6E 74 61 69 6E 73 20 20 6D ord contains m
000110: 6F 72 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ore..
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 74 68 61 6E 20 74 68 65 20 65 78 70 65 than the expe
000150: 63 74 65 64 20 32 30 34 38 20 62 79 74 65 73 20 cted 2048 bytes
000160: 6F 66 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 of..
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 64 61 74 61 2E 0D 0A 0D 0A 20 20 20 20 20 data.....
0001A0: 20 20 20 20 20 20 20 57 72 69 74 65 20 65 72 72 Write err
0001B0: 6F 72 20 61 0D 0A 0D 0A 20 20 20 20 20 20 20 20 or a....
0001C0: 20 20 20 20 41 6E 20 65 72 72 6F 72 20 6F 63 63 An error occ
0001D0: 75 72 72 65 64 20 77 68 69 6C 73 74 20 77 72 69 urred whilst wri
0001E0: 74 69 6E 67 20 74 6F 20 74 68 65 20 74 61 70 65 ting to the tape
0001F0: 2E 20 54 68 65 72 65 20 20 69 73 20 20 6F 6E 6C . There is onl
Size : 512 (Real : 512)
000000: 79 20 20 6F 6E 0D 0A 20 20 20 20 20 20 20 20 20 y on..
000010: 20 20 20 70 6F 73 73 69 62 6C 65 20 77 72 69 74 possible writ
000020: 65 20 65 72 72 6F 72 2E 20 54 68 69 73 20 69 6E e error. This in
000030: 64 69 63 61 74 65 73 20 74 68 61 74 20 20 74 68 dicates that th
000040: 65 20 20 43 61 73 73 65 74 74 65 20 20 4D 61 6E e Cassette Man
000050: 61 67 65 72 0D 0A 20 20 20 20 20 20 20 20 20 20 ager..
000060: 20 20 77 61 73 20 75 6E 61 62 6C 65 20 74 6F 20 was unable to
000070: 77 72 69 74 65 20 61 20 62 69 74 20 61 73 20 66 write a bit as f
000080: 61 73 74 20 61 73 20 77 61 73 20 20 72 65 71 75 ast as was requ
000090: 65 73 74 65 64 2E 20 20 54 68 69 73 20 20 65 72 ested. This er
0000A0: 72 6F 72 0D 0A 20 20 20 20 20 20 20 20 20 20 20 ror..
0000B0: 20 77 69 6C 6C 20 6E 65 76 65 72 20 6F 63 63 75 will never occu
0000C0: 72 20 75 6E 6C 65 73 73 20 74 68 65 20 75 73 65 r unless the use
0000D0: 72 20 68 61 73 20 73 65 74 20 74 68 65 20 77 72 r has set the wr
0000E0: 69 74 65 20 20 73 70 65 65 64 20 20 62 65 79 6F ite speed beyo
0000F0: 6E 64 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 nd..
000100: 74 68 65 20 6D 61 78 69 6D 75 6D 20 70 6F 73 73 the maximum poss
000110: 69 62 6C 65 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 ible.....
000120: 38 2E 31 32 20 45 73 63 61 70 65 20 4B 65 79 2E 8.12 Escape Key.
000130: 0D 0A 0D 0A 20 20 20 20 20 20 20 54 68 65 20 65 .... The e
000140: 73 63 61 70 65 20 6B 65 79 20 6F 6E 20 20 74 68 scape key on th
000150: 65 20 20 6B 65 79 62 6F 61 72 64 20 20 6D 61 79 e keyboard may
000160: 20 20 62 65 20 20 75 73 65 64 20 20 74 6F 20 20 be used to
000170: 61 62 61 6E 64 6F 6E 20 20 63 61 73 73 65 74 74 abandon cassett
000180: 65 0D 0A 20 20 20 20 20 20 20 6F 70 65 72 61 74 e.. operat
000190: 69 6F 6E 73 20 61 74 20 63 65 72 74 61 69 6E 20 ions at certain
0001A0: 74 69 6D 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 20 times.....
0001B0: 20 57 68 65 6E 20 74 68 65 20 43 61 73 73 65 74 When the Casset
0001C0: 74 65 20 4D 61 6E 61 67 65 72 20 69 73 73 75 65 te Manager issue
0001D0: 73 20 6F 6E 65 20 6F 66 20 74 68 65 20 70 72 6F s one of the pro
0001E0: 6D 70 74 20 6D 65 73 73 61 67 65 73 20 20 69 74 mpt messages it
0001F0: 20 20 63 61 6C 6C 73 0D 0A 20 20 20 20 20 20 20 calls..
Size : 512 (Real : 512)
000000: 4B 4D 20 52 45 41 44 20 43 48 41 52 20 72 65 70 KM READ CHAR rep
000010: 65 61 74 65 64 6C 79 20 74 6F 20 65 6D 70 74 79 eatedly to empty
000020: 20 74 68 65 20 6B 65 79 20 62 75 66 66 65 72 20 the key buffer
000030: 6F 75 74 2E 20 54 68 65 6E 20 69 74 20 63 61 6C out. Then it cal
000040: 6C 73 20 20 4B 4D 0D 0A 20 20 20 20 20 20 20 57 ls KM.. W
000050: 41 49 54 20 4B 45 59 20 74 6F 20 77 61 69 74 20 AIT KEY to wait
000060: 75 6E 74 69 6C 20 74 68 65 20 75 73 65 72 20 70 until the user p
000070: 72 65 73 73 65 73 20 69 73 20 23 46 43 2C 20 20 resses is #FC,
000080: 77 68 69 63 68 20 20 69 73 20 20 74 68 65 20 20 which is the
000090: 76 61 6C 75 65 0D 0A 20 20 20 20 20 20 20 6E 6F value.. no
0000A0: 72 6D 61 6C 6C 79 20 67 65 6E 65 72 61 74 65 64 rmally generated
0000B0: 20 62 79 20 74 68 65 20 65 73 63 61 70 65 20 6B by the escape k
0000C0: 65 79 2C 20 74 68 65 6E 20 74 68 65 20 43 61 73 ey, then the Cas
0000D0: 73 65 74 74 65 20 20 4D 61 6E 61 67 65 72 20 20 sette Manager
0000E0: 77 69 6C 6C 0D 0A 20 20 20 20 20 20 20 61 62 61 will.. aba
0000F0: 6E 64 6F 6E 20 74 68 65 20 72 65 61 64 20 6F 72 ndon the read or
000100: 20 77 72 69 74 65 20 61 6E 64 20 77 69 6C 6C 20 write and will
000110: 72 65 74 75 72 6E 20 61 6E 20 65 72 72 6F 72 20 return an error
000120: 20 63 6F 6E 64 69 74 69 6F 6E 20 20 74 6F 20 20 condition to
000130: 74 68 65 0D 0A 20 20 20 20 20 20 20 63 61 6C 6C the.. call
000140: 65 72 2E 0D 0A 0D 0A 20 20 20 20 20 20 20 57 68 er..... Wh
000150: 65 6E 20 72 65 61 64 69 6E 67 20 66 72 6F 6D 20 en reading from
000160: 6F 72 20 77 72 69 74 69 6E 67 20 74 6F 20 74 68 or writing to th
000170: 65 20 63 61 73 73 65 74 74 65 20 69 6E 74 65 72 e cassette inter
000180: 72 75 70 74 73 20 20 61 72 65 20 20 64 69 73 61 rupts are disa
000190: 62 6C 65 64 0D 0A 20 20 20 20 20 20 20 61 6E 64 bled.. and
0001A0: 20 74 68 65 20 6E 6F 72 6D 61 6C 20 6B 65 79 20 the normal key
0001B0: 73 63 61 6E 6E 69 6E 67 20 6D 65 63 68 61 6E 69 scanning mechani
0001C0: 73 6D 20 69 73 20 6E 6F 74 20 61 63 74 69 76 65 sm is not active
0001D0: 2E 20 57 68 69 6C 65 20 72 65 61 64 69 6E 67 20 . While reading
0001E0: 20 6F 72 0D 0A 20 20 20 20 20 20 20 77 72 69 74 or.. writ
0001F0: 69 6E 67 20 74 68 65 20 72 65 63 6F 72 64 20 20 ing the record
Size : 512 (Real : 512)
000000: 6C 65 61 64 65 72 20 20 74 68 65 20 20 43 61 73 leader the Cas
000010: 73 65 74 74 65 20 20 4D 61 6E 61 67 65 72 20 20 sette Manager
000020: 69 74 73 65 6C 66 20 20 73 63 61 6E 73 20 20 74 itself scans t
000030: 68 65 0D 0A 20 20 20 20 20 20 20 6B 65 79 62 6F he.. keybo
000040: 61 72 64 20 74 6F 20 74 65 73 74 20 77 68 65 74 ard to test whet
000050: 68 65 72 20 6B 65 79 20 36 36 2C 20 74 68 65 20 her key 66, the
000060: 65 73 63 61 70 65 20 6B 65 79 2C 20 69 73 20 20 escape key, is
000070: 70 72 65 73 73 65 64 2E 20 20 49 66 20 20 74 68 pressed. If th
000080: 65 0D 0A 20 20 20 20 20 20 20 6B 65 79 20 69 73 e.. key is
000090: 20 66 6F 75 6E 64 20 74 6F 20 62 65 20 70 72 65 found to be pre
0000A0: 73 73 65 64 20 74 68 65 6E 20 74 68 65 20 43 61 ssed then the Ca
0000B0: 73 73 65 74 74 65 20 4D 61 6E 61 67 65 72 20 61 ssette Manager a
0000C0: 62 61 6E 64 6F 6E 73 20 74 68 65 20 72 65 61 64 bandons the read
0000D0: 0D 0A 20 20 20 20 20 20 20 6F 72 20 77 72 69 74 .. or writ
0000E0: 65 20 20 61 6E 64 20 20 72 65 74 75 72 6E 73 20 e and returns
0000F0: 20 74 6F 20 20 74 68 65 20 20 63 61 6C 6C 65 72 to the caller
000100: 20 20 28 77 69 74 68 20 20 61 6E 20 20 61 70 70 (with an app
000110: 72 6F 70 72 69 61 74 65 20 20 65 72 72 6F 72 0D ropriate error.
000120: 0A 20 20 20 20 20 20 20 63 6F 6E 64 69 74 69 6F . conditio
000130: 6E 29 2E 20 57 68 69 6C 65 20 72 65 61 64 69 6E n). While readin
000140: 67 20 61 6E 64 20 77 72 69 74 69 6E 67 20 74 68 g and writing th
000150: 65 20 64 61 74 61 20 69 6E 20 74 68 65 20 72 65 e data in the re
000160: 63 6F 72 64 20 74 68 65 72 65 20 20 69 73 0D 0A cord there is..
000170: 20 20 20 20 20 20 20 6E 6F 20 77 61 79 20 74 6F no way to
000180: 20 69 6E 74 65 72 72 75 70 74 20 74 68 65 20 43 interrupt the C
000190: 61 73 73 65 74 74 65 20 4D 61 6E 61 67 65 72 2C assette Manager,
0001A0: 20 74 68 75 73 20 70 72 65 73 73 69 6E 67 20 45 thus pressing E
0001B0: 53 43 20 6D 61 79 20 6E 6F 74 20 62 65 0D 0A 20 SC may not be..
0001C0: 20 20 20 20 20 20 64 65 74 65 63 74 65 64 20 66 detected f
0001D0: 6F 72 20 73 65 76 65 72 61 6C 20 73 65 63 6F 6E or several secon
0001E0: 64 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 ds.........
0001F0: 20 20 41 4D 53 54 52 41 44 20 43 50 43 34 36 34 AMSTRAD CPC464
Size : 512 (Real : 512)
000000: 2F 36 36 34 2F 36 31 32 38 20 46 49 52 4D 57 41 /664/6128 FIRMWA
000010: 52 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RE
000020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000030: 70 61 67 65 20 38 2E 39 0D 0A 0D 0A 0D 0A 0D 0A page 8.9........
000040: 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 38 ........ 8
000050: 2E 31 33 20 4C 6F 77 20 4C 65 76 65 6C 20 43 61 .13 Low Level Ca
000060: 73 73 65 74 74 65 20 44 72 69 76 69 6E 67 2E 0D ssette Driving..
000070: 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 54 6F 20 61 ..... To a
000080: 6C 6C 6F 77 20 74 68 65 20 75 73 65 72 20 74 6F llow the user to
000090: 20 70 72 6F 64 75 63 65 20 61 20 6E 65 77 20 66 produce a new f
0000A0: 69 6C 69 6E 67 20 73 79 73 74 65 6D 20 74 68 65 iling system the
0000B0: 20 72 65 63 6F 72 64 20 20 72 65 61 64 20 20 61 record read a
0000C0: 6E 64 0D 0A 20 20 20 20 20 20 20 77 72 69 74 65 nd.. write
0000D0: 20 72 6F 75 74 69 6E 65 73 2C 20 43 41 53 20 52 routines, CAS R
0000E0: 45 41 44 20 61 6E 64 20 43 41 53 20 57 52 49 54 EAD and CAS WRIT
0000F0: 45 2C 20 61 72 65 20 69 6E 20 74 68 65 20 66 69 E, are in the fi
000100: 72 6D 77 61 72 65 20 6A 75 6D 70 62 6C 6F 63 6B rmware jumpblock
000110: 2E 0D 0A 20 20 20 20 20 20 20 54 68 65 72 65 20 ... There
000120: 69 73 20 61 20 74 68 69 72 64 20 72 6F 75 74 69 is a third routi
000130: 6E 65 20 61 74 20 74 68 69 73 20 6C 65 76 65 6C ne at this level
000140: 2C 20 43 41 53 20 20 43 48 45 43 4B 2C 20 20 77 , CAS CHECK, w
000150: 68 6F 73 65 20 20 66 61 63 69 6C 69 74 69 65 73 hose facilities
000160: 0D 0A 20 20 20 20 20 20 20 61 72 65 20 6E 6F 74 .. are not
000170: 20 75 73 65 64 20 62 79 20 74 68 65 20 68 69 67 used by the hig
000180: 68 65 72 20 6C 65 76 65 6C 73 20 6F 66 20 74 68 her levels of th
000190: 65 20 43 61 73 73 65 74 74 65 20 4D 61 6E 61 67 e Cassette Manag
0001A0: 65 72 2E 20 20 49 74 20 20 61 6C 6C 6F 77 73 0D er. It allows.
0001B0: 0A 20 20 20 20 20 20 20 74 68 65 20 64 61 74 61 . the data
0001C0: 20 74 68 61 74 20 68 61 73 20 62 65 65 6E 20 77 that has been w
0001D0: 72 69 74 74 65 6E 20 74 6F 20 74 61 70 65 20 74 ritten to tape t
0001E0: 6F 20 62 65 20 63 6F 6D 70 61 72 65 64 20 77 69 o be compared wi
0001F0: 74 68 20 74 68 65 20 64 61 74 61 20 69 6E 0D 0A th the data in..
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 73 74 6F 72 65 2E 20 54 68 store. Th
000010: 69 73 20 63 6F 75 6C 64 20 62 65 20 75 73 65 64 is could be used
000020: 20 74 6F 20 70 65 72 66 6F 72 6D 20 61 20 72 65 to perform a re
000030: 61 64 20 77 72 69 74 65 20 63 68 65 63 6B 20 69 ad write check i
000040: 66 20 73 6F 20 64 65 73 69 72 65 64 2E 0D 0A 0D f so desired....
000050: 0A 0D 0A 20 20 20 20 20 20 20 41 6C 73 6F 20 61 ... Also a
000060: 76 61 69 6C 61 62 6C 65 20 69 6E 20 74 68 65 20 vailable in the
000070: 66 69 72 6D 77 61 72 65 20 6A 75 6D 70 62 6C 6F firmware jumpblo
000080: 63 6B 20 20 61 72 65 20 20 72 6F 75 74 69 6E 65 ck are routine
000090: 73 20 20 74 6F 20 20 74 75 72 6E 20 20 74 68 65 s to turn the
0000A0: 0D 0A 20 20 20 20 20 20 20 63 61 73 73 65 74 74 .. cassett
0000B0: 65 20 6D 6F 74 6F 72 20 6F 6E 20 61 6E 64 20 6F e motor on and o
0000C0: 66 66 20 28 43 41 53 20 53 54 41 52 54 20 4D 4F ff (CAS START MO
0000D0: 54 4F 52 20 61 6E 64 20 43 41 53 20 53 54 4F 50 TOR and CAS STOP
0000E0: 20 4D 4F 54 4F 52 29 2E 20 49 74 20 20 69 73 0D MOTOR). It is.
0000F0: 0A 20 20 20 20 20 20 20 6E 6F 74 20 6E 65 63 65 . not nece
000100: 73 73 61 72 79 20 74 6F 20 74 75 72 6E 20 74 68 ssary to turn th
000110: 65 20 6D 6F 74 6F 72 20 6F 6E 20 61 6E 64 20 6F e motor on and o
000120: 66 66 20 61 72 6F 75 6E 64 20 61 20 63 61 6C 6C ff around a call
000130: 20 6F 66 20 43 41 53 20 20 52 45 41 44 2C 0D 0A of CAS READ,..
000140: 20 20 20 20 20 20 20 43 41 53 20 57 52 49 54 45 CAS WRITE
000150: 20 6F 72 20 43 41 53 20 43 48 45 43 4B 20 61 73 or CAS CHECK as
000160: 20 74 68 65 73 65 20 72 6F 75 74 69 6E 65 73 20 these routines
000170: 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 20 74 75 automatically tu
000180: 72 6E 20 74 68 65 20 20 6D 6F 74 6F 72 0D 0A 20 rn the motor..
000190: 20 20 20 20 20 20 6F 6E 20 61 6E 64 20 6F 66 66 on and off
0001A0: 2E 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 0D 0A 0D 0A 0D ................
0001C0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0001D0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
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 20 20 20 20 20 20 20 41 4D ....... AM
Size : 512 (Real : 512)
000000: 53 54 52 41 44 20 43 50 43 34 36 34 2F 36 36 34 STRAD CPC464/664
000010: 2F 36 31 32 38 20 46 49 52 4D 57 41 52 45 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 20 20 20 70 61 67 65 20 page
000040: 38 2E 31 30 0D 0A 1A 65 61 6C 73 20 77 69 74 68 8.10...eals with
000050: 20 72 65 61 64 69 6E 67 20 66 69 6C 65 73 20 66 reading files f
000060: 72 6F 6D 20 61 6E 64 20 20 77 72 69 74 69 6E 67 rom and writing
000070: 20 20 66 69 6C 65 73 0D 0A 20 20 20 20 20 20 20 files..
000080: 63 6B 20 20 61 72 65 20 20 72 6F 75 74 69 6E 65 ck are routine
000090: 73 20 20 74 6F 20 20 74 75 72 6E 20 20 74 68 65 s to turn the
0000A0: 0D 0A 20 20 20 20 20 20 20 63 61 73 73 65 74 74 .. cassett
0000B0: 65 20 6D 6F 74 6F 72 20 6F 6E 20 61 6E 64 20 6F e motor on and o
0000C0: 66 66 20 28 43 41 53 20 53 54 41 52 54 20 4D 4F ff (CAS START MO
0000D0: 54 4F 52 20 61 6E 64 20 43 41 53 20 53 54 4F 50 TOR and CAS STOP
0000E0: 20 4D 4F 54 4F 52 29 2E 20 49 74 20 20 69 73 0D MOTOR). It is.
0000F0: 0A 20 20 20 20 20 20 20 6E 6F 74 20 6E 65 63 65 . not nece
000100: 73 73 61 72 79 20 74 6F 20 74 75 72 6E 20 74 68 ssary to turn th
000110: 65 20 6D 6F 74 6F 72 20 6F 6E 20 61 6E 64 20 6F e motor on and o
000120: 66 66 20 61 72 6F 75 6E 64 20 61 20 63 61 6C 6C ff around a call
000130: 20 6F 66 20 43 41 53 20 20 52 45 41 44 2C 0D 0A of CAS READ,..
000140: 20 20 20 20 20 20 20 43 41 53 20 57 52 49 54 45 CAS WRITE
000150: 20 6F 72 20 43 41 53 20 43 48 45 43 4B 20 61 73 or CAS CHECK as
000160: 20 74 68 65 73 65 20 72 6F 75 74 69 6E 65 73 20 these routines
000170: 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 20 74 75 automatically tu
000180: 72 6E 20 74 68 65 20 20 6D 6F 74 6F 72 0D 0A 20 rn the motor..
000190: 20 20 20 20 20 20 6F 6E 20 61 6E 64 20 6F 66 66 on and off
0001A0: 2E 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 0D 0A 0D 0A 0D ................
0001C0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
0001D0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D ................
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 20 20 20 20 20 20 20 41 4D ....... AM
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 00 44 49 53 43 20 20 20 20 42 41 53 00 00 00 00 .DISC BAS....
000010: 00 00 00 00 00 70 01 00 6C 00 00 00 00 00 00 00 .....p..l.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 6C 00 00 C2 03 5A 00 0A 00 AD 20 10 01 82 20 0F l....Z.... ... .
000050: 01 A2 20 0E 2C 0F 01 A2 20 0F 2C 0F 01 BB 20 0F .. .,... .,... .
000060: 01 BA 20 0E 01 AA 20 1C A2 38 01 A8 22 74 69 74 .. ... ..8.."tit
000070: 6C 65 2E 62 69 6E 22 2C 1C A3 38 01 83 20 1C A3 le.bin",..8.. ..
000080: 5A 00 0A 00 AD 20 10 01 82 20 0F 01 A2 20 0E 2C Z.... ... ... .,
000090: 0F 01 A2 20 0F 2C 0F 01 BB 20 0F 01 BA 20 0E 01 ... .,... ... ..
0000A0: AA 20 1C A2 38 01 A8 22 74 69 74 6C 65 2E 62 69 . ..8.."title.bi
0000B0: 6E 22 2C 1C A3 38 01 83 20 1C A3 38 01 A8 22 64 n",..8.. ..8.."d
0000C0: 75 6D 70 2E 62 69 6E 22 2C 1C 00 85 01 83 20 1C ump.bin",..... .
0000D0: 00 85 01 A2 20 0F 2C 19 1A 00 10 00 14 00 CA 22 .... .,........"
0000E0: 73 74 61 72 74 2E 62 61 73 00 00 00 1A 73 00 00 start.bas....s..
0000F0: 00 1A 00 1A 38 20 66 69 72 6D 77 61 72 65 20 67 ....8 firmware g
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 00 07 C0 00 00 30 0F 18 00 0C 00 0C 07 8C 03 C6 .....0..........
000010: 00 03 00 03 01 E3 00 F8 20 F0 38 10 00 0F E0 07 ........ .8.....
000020: C0 00 00 00 00 00 00 00 00 00 00 00 00 03 E3 00 ................
000030: 00 07 C0 03 E0 00 00 00 00 00 7E 03 E0 00 00 00 ..........~.....
000040: 00 07 80 00 00 00 00 1E 00 00 00 00 00 07 C0 00 ................
000050: 00 70 1F 04 00 1C 00 18 0F 82 07 C1 00 07 00 06 .p..............
000060: 03 E0 87 F8 40 F8 7C 08 00 0F E0 03 80 00 00 00 ....@.|.........
000070: 00 00 00 00 00 00 00 00 00 07 E0 80 00 03 80 03 ................
000080: E0 00 00 00 00 00 7E 03 E7 C0 3E 00 00 07 80 77 ......~...>....w
000090: BC 07 F0 3E 03 E7 01 F8 01 F7 C0 00 00 F0 3F 00 ...>..........?.
0000A0: 00 3C 00 18 1F 80 0F C0 00 0F 00 06 07 E0 01 F8 .<..............
0000B0: 80 F8 7F 08 00 0F E0 00 07 CE 3B DE 1E 38 80 FC ..........;..8..
0000C0: 07 CE 03 E0 00 07 E0 47 C7 C0 00 FB E0 3E 00 00 .......G.....>..
0000D0: 00 00 7E 03 EF E0 FF 80 00 0F C0 7B DE 0E 18 FF ..~........{....
0000E0: C3 EB 06 1E 07 CF C0 00 01 F0 3F 00 00 7C 00 30 ..........?..|.0
0000F0: 1F 80 0F C0 00 1F 00 0C 07 E0 01 F8 81 F8 7F 88 ................
000100: 00 0F E0 00 07 D6 3D EF 1E 38 83 0F 07 D6 0F F8 ......=..8......
000110: 00 0F E0 07 C7 C0 03 E7 E0 FF 80 00 00 00 7E 03 ..............~.
000120: F3 E1 E3 80 00 0F C0 73 9E 1F 00 3E 03 F0 08 1F .......s...>....
000130: 07 87 C0 00 03 F0 7F 00 00 FC 00 60 3F 80 1F C0 ...........`?...
000140: 00 3F 00 18 0F E0 01 F8 81 F8 7F D0 00 0F FF C7 .?..............
000150: C7 E0 39 CF 1E 38 84 0F 87 E0 1E 38 00 0F E0 07 ..9..8.....8....
000160: C7 C7 C3 C3 E1 E3 80 00 00 00 7E 03 E3 E1 E3 C0 ..........~.....
000170: 00 0F E0 73 9E 1F 80 3E 03 F0 00 1F 0F 87 C0 00 ...s...>........
000180: 07 F0 7F 78 01 FC 00 60 3F BC 1F DE 00 7F 00 18 ...x...`?.......
000190: 0F EF 01 F8 43 F0 3F E0 00 0F E0 07 C7 E0 39 CF ....C.?.......9.
0001A0: 1F 7D 80 0F 87 E0 1E 3C 00 0F E0 07 C7 C7 C7 C3 .}.....<........
0001B0: E1 E3 C0 00 00 00 7E 03 E3 E3 E3 C0 00 13 E0 73 ......~........s
0001C0: 9E 1F C0 3E 03 E0 03 DF 0F 87 C0 00 0F F0 7F 04 ...>............
0001D0: 03 FC 00 C0 3F 82 1F C1 00 FF 00 30 0F E0 81 F8 ....?......0....
0001E0: 03 F0 1F F0 00 0F E0 07 C7 C0 39 CF 0F 7D 01 EF ..........9..}..
0001F0: 87 C0 3E 3C 00 0F EF C7 C7 C7 C7 C3 E3 E3 C0 00 ..><............
Size : 512 (Real : 512)
000000: 00 44 55 4D 50 20 20 20 20 4D 53 48 00 00 00 00 .DUMP MSH....
000010: 00 00 02 00 00 00 85 00 F5 03 00 00 00 00 00 00 ................
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: F5 03 00 15 05 65 20 6C 61 73 74 20 6C 69 6E 65 .....e last line
000050: 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 70 of the screen p
000060: 72 6F 70 65 72 6C 79 20 2A 2A 0A 0D 0A 0D 3C 3C roperly **....<<
000070: 20 50 52 45 53 53 20 53 50 41 43 45 20 3E 3E 00 PRESS SPACE >>.
000080: 01 BB 88 21 E8 88 CD D1 BC C9 FE 01 C2 CE 86 CD ...!............
000090: 2A 85 CD 4A 85 CD 21 85 CD 53 85 21 8F 01 C3 AB *..J..!..S.!....
0000A0: 85 06 00 21 9A 86 09 7E 4F C9 21 E8 86 11 D3 85 ...!...~O.!.....
0000B0: 01 02 00 ED B0 C9 FE 02 C2 CE 86 CD 2A 85 CD 4A ............*..J
0000C0: 85 CD 21 85 CD 53 85 C3 64 85 DD 7E 00 4F DD 7E ..!..S..d..~.O.~
0000D0: 01 47 C9 ED 43 EC 88 CD BA BB CD E7 BB 32 EE 88 .G..C........2..
0000E0: CD 09 86 C9 DD 6E 02 DD 66 03 C3 AB 85 FE 01 C2 .....n..f.......
0000F0: CE 86 CD 7E 85 CD 8A 85 21 8F 01 C3 AB 85 21 E6 ...~....!.....!.
000100: 86 11 D3 85 01 02 00 ED B0 C9 CD 4A 85 CD A2 85 ...........J....
000110: CD 53 85 C9 FE 02 C2 CE 86 CD 7E 85 CD 8A 85 C3 .S........~.....
000120: 64 85 06 00 21 B4 86 09 7E 4F C9 22 EF 88 11 00 d...!...~O."....
000130: 00 3E 07 32 F1 88 CD 14 86 0E 00 3A F1 88 47 E5 .>.2.......:..G.
000140: D5 C5 CD F0 BB C1 D1 21 EE 88 BE E1 37 20 01 A7 .......!....7 ..
000150: CB 11 2B 2B 00 10 E8 CD 6F 86 79 CD 66 86 13 E5 ..++....o.y.f...
000160: 21 7F 02 37 ED 52 E1 38 05 2A EF 88 18 CB 23 7C !..7.R.8.*....#|
000170: B5 C8 2B 11 00 00 22 EF 88 3E 07 BD 20 B8 7C B4 ..+..."..>.. .|.
000180: 20 B4 3E 04 32 F1 88 18 AD 3E 1B CD 66 86 3E 31 .>.2....>..f.>1
000190: CD 66 86 C9 E5 3E 42 CD 1E BB E1 28 04 E1 C3 59 .f...>B....(...Y
0001A0: 86 ED 4B EC 88 79 FE 00 20 04 E1 C3 59 86 3D 4F ..K..y.. ...Y.=O
0001B0: ED 43 EC 88 AF 3E 0A CD 66 86 3E 0D CD 66 86 3E .C...>..f.>..f.>
0001C0: 1B CD 66 86 3E 2A CD 66 86 3E 04 CD 66 86 3E 7F ..f.>*.f.>..f.>.
0001D0: CD 66 86 3E 02 CD 66 86 C9 21 6A 86 7E FE 00 C8 .f.>..f..!j.~...
0001E0: CD 66 86 23 18 F6 CD 2B BD C9 0A 0D 1B 32 00 3A .f.#...+.....2.:
0001F0: F1 88 FE 07 C8 AF CB 11 CB 11 CB 11 C9 CD 11 BC ................
Size : 512 (Real : 512)
000000: F5 3E 02 CD 0E BC CD D5 86 3E 2F CD 1E BB FE 00 .>.......>/.....
000010: 28 F7 CD 03 BB F1 CD 0E BC C9 00 01 03 04 05 06 (...............
000020: 07 08 09 0B 0C 0D 0E 0F 10 11 13 14 15 16 17 18 ................
000030: 19 1B 1C 1D 00 03 05 07 09 0C 0E 10 12 17 19 1B ................
000040: 1D 20 22 24 26 29 2B 2D 2F 32 34 36 38 3B 21 EA . "$&)+-/2468;!.
000050: 86 CD DC 86 C9 21 13 87 CD DC 86 C9 7E FE 00 C8 .....!......~...
000060: CD 5A BB 23 18 F6 00 00 2B 00 07 2A 20 2A 20 2A .Z.#....+..* * *
000070: 20 50 61 72 61 6D 65 74 65 72 20 45 72 72 6F 72 Parameter Error
000080: 20 2A 20 2A 20 2A 0A 0D 55 73 65 20 7C 48 45 4C * * *..Use |HEL
000090: 50 07 00 7C 44 55 4D 50 2C 6E 20 2D 20 77 68 65 P..|DUMP,n - whe
0000A0: 72 65 20 6E 20 3D 20 61 20 6E 75 6D 62 65 72 20 re n = a number
0000B0: 66 72 6F 6D 20 31 20 74 6F 20 32 35 2E 0A 0D 7C from 1 to 25...|
0000C0: 50 2E 44 55 4D 50 2C 6E 6E 2C 6E 20 2D 20 77 68 P.DUMP,nn,n - wh
0000D0: 65 72 65 20 6E 6E 20 3D 20 61 20 6E 75 6D 62 65 ere nn = a numbe
0000E0: 72 20 66 72 6F 6D 20 33 39 39 20 74 6F 20 30 2E r from 399 to 0.
0000F0: 0A 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000100: 20 20 20 20 20 20 20 20 6E 20 3D 20 61 20 6E 75 n = a nu
000110: 6D 62 65 72 20 66 72 6F 6D 20 31 20 74 6F 20 32 mber from 1 to 2
000120: 35 2E 0A 0D 7C 42 2E 44 55 4D 50 2C 6E 20 2D 20 5...|B.DUMP,n -
000130: 77 68 65 72 65 20 6E 20 3D 20 61 20 6E 75 6D 62 where n = a numb
000140: 65 72 20 66 72 6F 6D 20 31 20 74 6F 20 32 35 2E er from 1 to 25.
000150: 0A 0D 7C 42 50 2E 44 55 4D 50 2C 6E 6E 2C 6E 20 ..|BP.DUMP,nn,n
000160: 2D 20 77 68 65 72 65 20 6E 6E 20 3D 20 61 20 6E - where nn = a n
000170: 75 6D 62 65 72 20 66 72 6F 6D 20 33 39 39 20 74 umber from 399 t
000180: 6F 20 30 2E 0A 0D 20 20 20 20 20 20 20 20 20 20 o 0...
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 6E 20 3D n =
0001A0: 20 61 20 6E 75 6D 62 65 72 20 66 72 6F 6D 20 31 a number from 1
0001B0: 20 74 6F 20 32 35 2E 0A 0D 7C 48 45 4C 50 20 2D to 25...|HELP -
0001C0: 20 64 69 73 70 6C 61 79 20 52 53 58 20 63 6F 6D display RSX com
0001D0: 6D 61 6E 64 73 2E 0A 0D 2A 2A 20 7C 42 2E 44 55 mands...** |B.DU
0001E0: 4D 50 20 61 6E 64 20 7C 42 50 2E 44 55 4D 50 20 MP and |BP.DUMP
0001F0: 77 69 6C 6C 20 6E 6F 74 20 64 75 6D 70 20 74 68 will not dump th
Size : 512 (Real : 512)
000000: 65 20 6C 61 73 74 20 6C 69 6E 65 20 6F 66 20 74 e last line of t
000010: 68 65 20 73 63 72 65 65 6E 20 70 72 6F 70 65 72 he screen proper
000020: 6C 79 20 2A 2A 0A 0D 0A 0D 3C 3C 20 50 52 45 53 ly **....<< PRES
000030: 53 20 53 50 41 43 45 20 3E 3E 00 CC 88 C3 0A 85 S SPACE >>......
000040: C3 36 85 C3 6D 85 C3 94 85 C3 7D 86 44 55 4D D0 .6..m.....}.DUM.
000050: 50 2E 44 55 4D D0 42 2E 44 55 4D D0 42 50 2E 44 P.DUM.B.DUM.BP.D
000060: 55 4D D0 48 45 4C D0 00 FC A6 BB 88 00 00 00 00 UM.HEL..........
000070: 00 00 00 00 00 1A 20 63 70 20 31 20 20 20 20 20 ...... cp 1
000080: 20 2A 20 2A 20 2A 0A 0D 55 73 65 20 7C 48 45 4C * * *..Use |HEL
000090: 50 07 00 7C 44 55 4D 50 2C 6E 20 2D 20 77 68 65 P..|DUMP,n - whe
0000A0: 72 65 20 6E 20 3D 20 61 20 6E 75 6D 62 65 72 20 re n = a number
0000B0: 66 72 6F 6D 20 31 20 74 6F 20 32 35 2E 0A 0D 7C from 1 to 25...|
0000C0: 50 2E 44 55 4D 50 2C 6E 6E 2C 6E 20 2D 20 77 68 P.DUMP,nn,n - wh
0000D0: 65 72 65 20 6E 6E 20 3D 20 61 20 6E 75 6D 62 65 ere nn = a numbe
0000E0: 72 20 66 72 6F 6D 20 33 39 39 20 74 6F 20 30 2E r from 399 to 0.
0000F0: 0A 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000100: 20 20 20 20 20 20 20 20 6E 20 3D 20 61 20 6E 75 n = a nu
000110: 6D 62 65 72 20 66 72 6F 6D 20 31 20 74 6F 20 32 mber from 1 to 2
000120: 35 2E 0A 0D 7C 42 2E 44 55 4D 50 2C 6E 20 2D 20 5...|B.DUMP,n -
000130: 77 68 65 72 65 20 6E 20 3D 20 61 20 6E 75 6D 62 where n = a numb
000140: 65 72 20 66 72 6F 6D 20 31 20 74 6F 20 32 35 2E er from 1 to 25.
000150: 0A 0D 7C 42 50 2E 44 55 4D 50 2C 6E 6E 2C 6E 20 ..|BP.DUMP,nn,n
000160: 2D 20 77 68 65 72 65 20 6E 6E 20 3D 20 61 20 6E - where nn = a n
000170: 75 6D 62 65 72 20 66 72 6F 6D 20 33 39 39 20 74 umber from 399 t
000180: 6F 20 30 2E 0A 0D 20 20 20 20 20 20 20 20 20 20 o 0...
000190: 20 20 20 20 20 20 20 20 20 20 20 20 20 6E 20 3D n =
0001A0: 20 61 20 6E 75 6D 62 65 72 20 66 72 6F 6D 20 31 a number from 1
0001B0: 20 74 6F 20 32 35 2E 0A 0D 7C 48 45 4C 50 20 2D to 25...|HELP -
0001C0: 20 64 69 73 70 6C 61 79 20 52 53 58 20 63 6F 6D display RSX com
0001D0: 6D 61 6E 64 73 2E 0A 0D 2A 2A 20 7C 42 2E 44 55 mands...** |B.DU
0001E0: 4D 50 20 61 6E 64 20 7C 42 50 2E 44 55 4D 50 20 MP and |BP.DUMP
0001F0: 77 69 6C 6C 20 6E 6F 74 20 64 75 6D 70 20 74 68 will not dump th
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 00 50 54 49 54 4C 45 20 20 42 41 53 00 00 00 00 .PTITLE BAS....
000010: 00 00 00 00 00 70 01 00 D8 00 00 00 00 00 00 00 .....p..........
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: D8 00 00 09 05 70 72 65 73 73 20 61 6E 79 20 6B .....press any k
000050: 65 79 2E 2E 2E 22 01 83 20 1C 03 BB 01 83 20 1C ey...".. ..... .
000060: 18 BB 00 0A 00 32 00 83 20 1C A3 38 00 2E 00 3C .....2.. ..8...<
000070: 00 9E 20 0D 00 00 E1 EF 0F 20 EC 20 19 0D 01 7C .. ...... . ...|
000080: 1F 00 0A 00 AD 20 10 01 AA 20 1C A2 38 01 A8 22 ..... ... ..8.."
000090: 74 69 74 6C 65 2E 62 69 6E 22 2C 1C A3 38 00 1A title.bin",..8..
0000A0: 00 14 00 A8 22 64 75 6D 70 2E 62 69 6E 22 2C 1C ...."dump.bin",.
0000B0: 00 85 01 83 20 1C 00 85 00 1D 00 1E 00 A2 20 0F .... ......... .
0000C0: 2C 19 1A 01 A2 20 0E 2C 0F 01 82 20 0F 01 BA 20 ,.... .,... ...
0000D0: 0E 01 BB 20 0F 00 48 00 28 00 A9 20 19 14 2C 19 ... ..H.(.. ..,.
0000E0: 0A 01 BF 22 07 50 6C 65 61 73 65 20 74 75 72 6E ...".Please turn
0000F0: 20 6F 6E 20 70 72 69 6E 74 65 72 20 61 6E 64 20 on printer and
000100: 70 72 65 73 73 20 61 6E 79 20 6B 65 79 2E 2E 2E press any key...
000110: 22 01 83 20 1C 03 BB 01 83 20 1C 18 BB 00 0A 00 ".. ..... ......
000120: 32 00 83 20 1C A3 38 00 2E 00 3C 00 9E 20 0D 00 2.. ..8...<.. ..
000130: 00 E1 EF 0F 20 EC 20 19 0D 01 7C 00 42 2E 44 55 .... . ...|.B.DU
000140: 4D D0 2C 11 01 B0 01 BF 23 16 2C FF 03 28 19 0C M.,.....#.,..(..
000150: 29 01 83 20 0E 00 00 00 1A FF FF F0 1A 00 40 00 ).. ..........@.
000160: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @...............
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 9F 20 1E 16 03 20 01 97 20 CA 22 61 70 65 6E 36 . ... .. ."apen6
000010: 2E 62 61 73 00 18 00 0E 06 A8 22 73 65 74 36 2D .bas......"set6-
000020: 31 22 2C 1C 00 40 01 9F 20 1E 82 05 00 18 00 18 1",..@.. .......
000030: 06 A8 22 73 65 74 36 2D 32 22 2C 1C 00 40 01 9F .."set6-2",..@..
000040: 20 1E 82 05 00 23 00 22 06 A8 22 73 65 74 62 36 ....#.".."setb6
000050: 2D 32 22 2C 1C 00 40 01 9F 20 1E 82 05 01 AD 20 -2",..@.. .....
000060: 10 01 9F 20 1E 78 05 00 1C 00 2C 06 03 00 00 66 ... .x....,....f
000070: 69 6C E5 EF 22 61 70 65 6E 36 2D 62 22 01 9F 20 il.."apen6-b"..
000080: 1E 16 03 00 22 00 36 06 A8 22 62 6C 6F 63 6B 73 ....".6.."blocks
000090: 22 2C 1C 00 40 01 9F 20 1E 82 05 01 AD 20 10 01 ",..@.. ..... ..
0000A0: 9F 20 1E 78 05 00 1C 00 40 06 03 00 00 66 69 6C . .x....@....fil
0000B0: E5 EF 22 61 70 65 6E 36 2D 63 22 01 9F 20 1E 16 .."apen6-c".. ..
0000C0: 03 00 17 00 4A 06 A8 22 6C 69 6E 65 73 22 2C 1C ....J.."lines",.
0000D0: 00 40 01 9F 20 1E 82 05 00 1A 00 54 06 A8 22 36 .@.. ......T.."6
0000E0: 2D 35 63 68 61 72 73 22 2C 1C 00 40 01 9F 20 1E -5chars",..@.. .
0000F0: 82 05 00 1A 00 5E 06 A8 22 36 2D 36 63 68 61 2D .....^.."6-6cha-
000100: 74 22 2C 1C 00 40 01 9F 20 1E 82 05 00 1A 00 68 t",..@.. ......h
000110: 06 A8 22 36 2D 36 63 68 61 2D 62 22 2C 1C 00 40 .."6-6cha-b",..@
000120: 01 9F 20 1E 82 05 00 19 00 72 06 A8 22 36 2D 37 .. ......r.."6-7
000130: 63 68 61 72 22 2C 1C 00 40 01 9F 20 1E 82 05 00 char",..@.. ....
000140: 19 00 7C 06 A8 22 36 2D 38 63 68 61 72 22 2C 1C ..|.."6-8char",.
000150: 00 40 01 9F 20 1E 82 05 00 19 00 86 06 A8 22 36 .@.. ........."6
000160: 2D 39 63 68 61 72 22 2C 1C 00 40 01 9F 20 1E 82 -9char",..@.. ..
000170: 05 00 14 00 90 06 AD 20 10 01 9F 20 1E 78 05 01 ....... ... .x..
000180: A0 20 1E 3E 03 00 12 00 9A 06 C7 20 1E A4 06 01 . .>....... ....
000190: 9F 20 1E CE 04 01 C9 00 20 00 A4 06 8C 20 22 61 . ...... .... "a
0001A0: 70 65 6E 2D 31 31 2E 70 31 22 2C 22 61 70 65 6E pen-11.p1","apen
0001B0: 2D 31 31 2E 70 32 22 00 4B 00 AE 06 03 00 00 66 -11.p2".K......f
0001C0: 69 6C E5 EF 22 61 70 65 6E 2D 38 22 01 9F 20 1E il.."apen-8".. .
0001D0: 02 03 01 9F 20 1E 70 03 01 9F 20 1E 0C 03 01 A1 .... .p... .....
0001E0: 20 0D 00 00 E6 EF 0E 20 EB 20 9F 20 1E 16 03 20 ...... . . ...
0001F0: 01 97 20 CA 22 61 70 70 65 6E 64 2D 38 2E 62 61 .. ."append-8.ba
Size : 512 (Real : 512)
000000: 00 54 49 54 4C 45 20 20 20 42 49 4E 00 00 00 00 .TITLE BIN....
000010: 00 00 02 00 00 A3 38 00 5C 07 00 00 00 00 00 00 ......8.\.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 5C 07 00 5E 04 00 00 00 00 00 00 00 00 00 00 00 \..^............
000050: 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF ................
000060: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000070: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000080: 11 DF 38 21 02 C0 06 18 C5 E5 06 4C 1A 77 13 23 ..8!.......L.w.#
000090: 10 FA E1 01 00 08 09 30 06 01 B0 3F A7 ED 42 C1 .......0...?..B.
0000A0: 10 E6 C9 00 00 00 00 00 00 00 00 01 00 0D 1A 01 ................
0000B0: 05 0E 08 04 03 06 07 10 0F 18 12 09 00 00 00 00 ................
0000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001A0: 00 07 FF E3 E0 00 00 00 00 03 00 00 00 00 00 06 ................
0001B0: 00 00 00 00 00 07 C0 00 00 10 03 E0 00 04 00 06 ................
0001C0: 01 F0 00 F8 00 01 00 01 80 7C 00 18 1F E0 1F E0 .........|......
0001D0: 00 0F FF 83 80 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: 00 00 FC 00 00 03 80 03 E0 00 00 00 00 00 7E 03 ..............~.
0001F0: E0 00 00 00 00 03 00 00 00 00 00 0E 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 00 07 C0 00 00 30 0F 18 00 0C 00 0C 07 8C 03 C6 .....0..........
000010: 00 03 00 03 01 E3 00 F8 20 F0 38 10 00 0F E0 07 ........ .8.....
000020: C0 00 00 00 00 00 00 00 00 00 00 00 00 03 E3 00 ................
000030: 00 07 C0 03 E0 00 00 00 00 00 7E 03 E0 00 00 00 ..........~.....
000040: 00 07 80 00 00 00 00 1E 00 00 00 00 00 07 C0 00 ................
000050: 00 70 1F 04 00 1C 00 18 0F 82 07 C1 00 07 00 06 .p..............
000060: 03 E0 87 F8 40 F8 7C 08 00 0F E0 03 80 00 00 00 ....@.|.........
000070: 00 00 00 00 00 00 00 00 00 07 E0 80 00 03 80 03 ................
000080: E0 00 00 00 00 00 7E 03 E7 C0 3E 00 00 07 80 77 ......~...>....w
000090: BC 07 F0 3E 03 E7 01 F8 01 F7 C0 00 00 F0 3F 00 ...>..........?.
0000A0: 00 3C 00 18 1F 80 0F C0 00 0F 00 06 07 E0 01 F8 .<..............
0000B0: 80 F8 7F 08 00 0F E0 00 07 CE 3B DE 1E 38 80 FC ..........;..8..
0000C0: 07 CE 03 E0 00 07 E0 47 C7 C0 00 FB E0 3E 00 00 .......G.....>..
0000D0: 00 00 7E 03 EF E0 FF 80 00 0F C0 7B DE 0E 18 FF ..~........{....
0000E0: C3 EB 06 1E 07 CF C0 00 01 F0 3F 00 00 7C 00 30 ..........?..|.0
0000F0: 1F 80 0F C0 00 1F 00 0C 07 E0 01 F8 81 F8 7F 88 ................
000100: 00 0F E0 00 07 D6 3D EF 1E 38 83 0F 07 D6 0F F8 ......=..8......
000110: 00 0F E0 07 C7 C0 03 E7 E0 FF 80 00 00 00 7E 03 ..............~.
000120: F3 E1 E3 80 00 0F C0 73 9E 1F 00 3E 03 F0 08 1F .......s...>....
000130: 07 87 C0 00 03 F0 7F 00 00 FC 00 60 3F 80 1F C0 ...........`?...
000140: 00 3F 00 18 0F E0 01 F8 81 F8 7F D0 00 0F FF C7 .?..............
000150: C7 E0 39 CF 1E 38 84 0F 87 E0 1E 38 00 0F E0 07 ..9..8.....8....
000160: C7 C7 C3 C3 E1 E3 80 00 00 00 7E 03 E3 E1 E3 C0 ..........~.....
000170: 00 0F E0 73 9E 1F 80 3E 03 F0 00 1F 0F 87 C0 00 ...s...>........
000180: 07 F0 7F 78 01 FC 00 60 3F BC 1F DE 00 7F 00 18 ...x...`?.......
000190: 0F EF 01 F8 43 F0 3F E0 00 0F E0 07 C7 E0 39 CF ....C.?.......9.
0001A0: 1F 7D 80 0F 87 E0 1E 3C 00 0F E0 07 C7 C7 C7 C3 .}.....<........
0001B0: E1 E3 C0 00 00 00 7E 03 E3 E3 E3 C0 00 13 E0 73 ......~........s
0001C0: 9E 1F C0 3E 03 E0 03 DF 0F 87 C0 00 0F F0 7F 04 ...>............
0001D0: 03 FC 00 C0 3F 82 1F C1 00 FF 00 30 0F E0 81 F8 ....?......0....
0001E0: 03 F0 1F F0 00 0F E0 07 C7 C0 39 CF 0F 7D 01 EF ..........9..}..
0001F0: 87 C0 3E 3C 00 0F EF C7 C7 C7 C7 C3 E3 E3 C0 00 ..><............
Size : 512 (Real : 512)
000000: 00 00 7E 03 E3 E3 E3 C0 00 13 F0 73 9E 0F E0 3E ..~........s...>
000010: 03 E0 0F BF 0F 87 C0 00 1B F0 7F 02 06 FC 01 80 ................
000020: 3F 81 1F C0 81 BF 00 60 0F E0 41 F8 07 E0 3F F8 ?......`..A...?.
000030: 00 0F E0 07 C7 C0 39 CF 0F 7D 07 DF 87 C0 3E 3C ......9..}....><
000040: 00 0F E0 47 C7 C7 C7 C3 E3 E3 C0 00 00 00 7E 03 ...G..........~.
000050: E3 E3 FF C0 00 21 F0 73 9E 07 F0 3E 03 E0 1F 1F .....!.s...>....
000060: 0F 87 C0 00 33 F0 7F 02 0C FC 01 80 3F 81 1F C0 ....3.......?...
000070: 83 3F 00 60 0F E0 41 F8 0F E0 47 FC 00 0F E0 07 .?.`..A...G.....
000080: C7 C0 39 CF 0F 9F 0F 8F 87 C0 3F FC 00 0F E0 47 ..9.......?....G
000090: C7 C7 C7 C3 E3 FF C0 00 00 00 7E 03 E3 E3 E0 00 ..........~.....
0000A0: 00 21 F8 73 9E 03 F8 3E 03 E0 1F 1F 0F 87 C0 00 .!.s...>........
0000B0: 63 F0 7F 02 18 FC 03 00 3F 81 1F C0 86 3F 00 C0 c.......?....?..
0000C0: 0F E0 41 F8 0F C0 81 FC 00 0F E0 07 C7 C0 39 CF ..A...........9.
0000D0: 0F 9F 0F 8F 87 C0 3E 00 00 0F E0 47 C7 C7 C7 C3 ......>....G....
0000E0: E3 E0 00 00 00 00 7E 03 E3 E1 E0 00 00 40 F8 73 ......~......@.s
0000F0: 9E 01 F8 3E 23 E0 1F 1F 0F 87 C0 00 FF FC 3F 02 ...>#.........?.
000100: 3F FF 06 00 1F 81 0F C0 8F FF C1 80 07 E0 41 F8 ?.............A.
000110: 1F C0 80 FC 00 0F E0 07 C7 C0 39 CF 07 9E 0F 8F ..........9.....
000120: 87 C0 1E 00 00 07 E0 87 C7 C7 C7 C3 E1 E0 00 00 ................
000130: 00 00 7E 03 E3 E1 E0 40 00 7F FC 73 9E 20 F8 3E ..~....@...s. .>
000140: 23 E0 1F 1F 07 87 C0 00 03 F0 3F 04 00 FC 06 00 #.........?.....
000150: 1F 82 0F C1 00 3F 01 80 07 E0 81 F8 3F 80 80 7C .....?......?..|
000160: 00 0F E0 07 C7 C0 39 CF 07 0E 0F 8F 87 C0 1E 04 ......9.........
000170: 00 07 E0 87 CF C7 C3 C3 E1 E0 40 00 00 00 7E 03 ..........@...~.
000180: E3 E0 F0 80 00 80 7C 73 9E 10 70 1E 43 E0 0F BF ......|s..p.C...
000190: 07 CF C0 00 03 F0 1F 18 00 FC 0C 00 0F 8C 07 C6 ................
0001A0: 00 3F 03 00 03 E3 01 F8 7F 00 40 38 00 0F E0 07 .?........@8....
0001B0: C7 C0 39 CF 07 0E 07 DF 87 C0 0F 08 00 03 E3 07 ..9.............
0001C0: F7 C7 C3 E7 E0 F0 80 00 00 00 7E 03 E3 E0 3F 00 ..........~...?.
0001D0: 00 80 7C 73 9E 0F E0 0F 83 E0 03 DF 81 F7 C0 00 ..|s............
0001E0: 03 F0 07 E0 00 FC 18 00 03 F0 01 F8 00 3F 06 00 .............?..
0001F0: 00 FC 01 F8 FF F8 3F E0 00 0F E0 07 C7 C0 39 CF ......?.......9.
Size : 512 (Real : 512)
000000: 07 0E 01 EF C7 C0 03 F0 00 00 FC 03 E7 C7 C0 FB ................
000010: E0 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .?..............
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 18 00 00 00 00 00 00 00 06 00 00 00 00 00 ................
000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000F0: 00 00 00 00 00 00 00 00 00 1F FF FF FF FF FF FF ................
000100: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000110: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000120: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000130: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
000140: FF FF FE 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000190: 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
0001A0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
0001B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
0001C0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
0001D0: FF FF FF FF FF FF FF FF FF FF FF F0 1A 00 40 00 ..............@.
0001E0: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @...............
0001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 00 53 54 41 52 54 20 20 20 42 41 53 00 00 00 00 .START BAS....
000010: 00 00 00 00 00 70 01 00 72 1D 00 00 00 00 00 00 .....p..r.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 72 1D 00 53 04 C7 20 1E 3A 07 01 9F 20 1E BA 04 r..S.. .:... ...
000050: 01 C9 00 24 00 3A 07 8C 20 22 69 6E 64 65 78 2D ...$.:.. "index-
000060: 31 22 2C 22 69 6E 64 65 78 2D 32 22 2C 22 69 6E 1","index-2","in
000070: 64 65 78 2D 33 22 00 12 00 44 07 C7 20 1E 4E 07 dex-3"...D.. .N.
000080: 2F 00 0A 00 D8 23 0F 2C 10 2C 19 4F 2C 19 19 2C /....#.,.,.O,..,
000090: 19 19 01 D8 23 0E 2C 0F 2C 19 50 2C 13 2C 19 17 ....#.,.,.P,.,..
0000A0: 01 D8 23 10 2C 0F 2C 19 50 2C 13 2C 19 19 00 27 ..#.,.,.P,.,...'
0000B0: 00 14 00 C7 20 1E 1E 00 01 9F 20 1E 9E 02 01 A9 .... ..... .....
0000C0: 20 19 22 2C 11 01 BF 22 4D 20 45 20 4E 20 55 20 .",..."M E N U
0000D0: 20 28 31 29 22 00 88 00 1E 00 8C 20 31 29 20 50 (1)"...... 1) P
0000E0: 72 65 66 61 63 65 2C 32 29 20 43 6F 6E 74 65 6E reface,2) Conten
0000F0: 74 73 2C 33 29 20 43 68 61 70 74 65 72 20 4F 6E ts,3) Chapter On
000100: 65 2C 34 29 20 43 68 61 70 74 65 72 20 54 77 6F e,4) Chapter Two
000110: 2C 35 29 20 43 68 61 70 74 65 72 20 54 68 72 65 ,5) Chapter Thre
000120: 65 2C 36 29 20 43 68 61 70 74 65 72 20 46 6F 75 e,6) Chapter Fou
000130: 72 2C 37 29 20 43 68 61 70 74 65 72 20 46 69 76 r,7) Chapter Fiv
000140: 65 2C 38 29 20 43 68 61 70 74 65 72 20 53 69 78 e,8) Chapter Six
000150: 2C 39 29 20 4E 65 78 74 20 4D 65 6E 75 00 2E 00 ,9) Next Menu...
000160: 28 00 A9 20 19 19 2C 19 11 01 BF 22 5B 49 5D 20 (.. ..,...."[I]
000170: 49 6E 74 72 6F 64 75 63 74 69 6F 6E 20 26 20 49 Introduction & I
000180: 6E 73 74 72 75 63 74 69 6F 6E 73 00 0A 00 32 00 nstructions...2.
000190: 9F 20 1E 94 02 00 0A 00 3C 00 9F 20 1E A8 02 00 . ......<.. ....
0001A0: 15 00 46 00 A1 20 FF 0A 28 19 23 29 EF 0E 20 EB ..F.. ..(.#).. .
0001B0: 20 1E 64 00 00 1C 00 50 00 A1 20 0D 00 00 F3 F1 .d....P.. .....
0001C0: 0F 20 FC 20 0D 00 00 F3 EE 17 20 EB 20 1E 3C 00 . . ...... . .<.
0001D0: 00 31 00 5A 00 B2 20 0D 00 00 F3 20 A0 20 1E 6E .1.Z.. .... . .n
0001E0: 00 2C 1E 78 00 2C 1E 82 00 2C 1E 8C 00 2C 1E 96 .,.x.,...,...,..
0001F0: 00 2C 1E A0 00 2C 1E AA 00 2C 1E B4 00 2C 1E BE .,...,...,...,..
Size : 512 (Real : 512)
000000: 00 00 33 00 64 00 9F 20 1E 02 03 01 03 00 00 66 ..3.d.. .......f
000010: 69 6C E5 EF 22 69 6E 64 6F 63 2E 22 01 9F 20 1E il.."indoc.".. .
000020: 98 03 01 9F 20 1E 0C 03 01 9F 20 1E 34 03 01 A0 .... ..... .4...
000030: 20 1E 66 03 00 35 00 6E 00 9F 20 1E C6 02 01 03 .f..5.n.. .....
000040: 00 00 66 69 6C E5 EF 22 70 72 65 66 61 63 65 2E ..fil.."preface.
000050: 22 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 9F 20 ".. ..... .....
000060: 1E 34 03 01 A0 20 1E 66 03 00 36 00 78 00 9F 20 .4... .f..6.x..
000070: 1E C6 02 01 03 00 00 66 69 6C E5 EF 22 63 6F 6E .......fil.."con
000080: 74 65 6E 74 73 2E 22 01 9F 20 1E 98 03 01 9F 20 tents.".. .....
000090: 1E 0C 03 01 9F 20 1E 34 03 01 A0 20 1E 66 03 00 ..... .4... .f..
0000A0: 22 00 82 00 9F 20 1E C6 02 01 9F 20 1E 98 03 01 ".... ..... ....
0000B0: 9F 20 1E 0C 03 01 9F 20 1E C0 03 01 A0 20 1E 66 . ..... ..... .f
0000C0: 03 00 22 00 8C 00 9F 20 1E C6 02 01 9F 20 1E 98 ..".... ..... ..
0000D0: 03 01 9F 20 1E 0C 03 01 9F 20 1E D4 03 01 A0 20 ... ..... .....
0000E0: 1E 66 03 00 34 00 96 00 9F 20 1E C6 02 01 9F 20 .f..4.... .....
0000F0: 1E 98 03 01 9F 20 1E 0C 03 01 03 00 00 66 69 6C ..... .......fil
000100: E5 EF 22 63 68 61 70 2D 33 2E 22 01 9F 20 1E 34 .."chap-3.".. .4
000110: 03 01 A0 20 1E 66 03 00 22 00 A0 00 9F 20 1E C6 ... .f..".... ..
000120: 02 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 9F 20 ... ..... .....
000130: 1E E8 03 01 A0 20 1E 66 03 00 34 00 AA 00 9F 20 ..... .f..4....
000140: 1E C6 02 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 ..... ..... ....
000150: 03 00 00 66 69 6C E5 EF 22 63 68 61 70 2D 35 2E ...fil.."chap-5.
000160: 22 01 9F 20 1E 34 03 01 A0 20 1E 66 03 00 34 00 ".. .4... .f..4.
000170: B4 00 9F 20 1E C6 02 01 9F 20 1E 98 03 01 9F 20 ... ..... .....
000180: 1E 0C 03 01 03 00 00 66 69 6C E5 EF 22 63 68 61 .......fil.."cha
000190: 70 2D 36 2E 22 01 9F 20 1E 34 03 01 A0 20 1E 66 p-6.".. .4... .f
0001A0: 03 00 27 00 BE 00 C7 20 1E C8 00 01 9F 20 1E 9E ..'.... ..... ..
0001B0: 02 01 A9 20 19 22 2C 11 01 BF 22 4D 20 45 20 4E ... .",..."M E N
0001C0: 20 55 20 20 28 32 29 22 00 9D 00 C8 00 8C 20 31 U (2)"...... 1
0001D0: 29 20 43 68 61 70 74 65 72 20 53 65 76 65 6E 2C ) Chapter Seven,
0001E0: 32 29 20 43 68 61 70 74 65 72 20 45 69 67 68 74 2) Chapter Eight
0001F0: 2C 33 29 20 43 68 61 70 74 65 72 20 4E 69 6E 65 ,3) Chapter Nine
Size : 512 (Real : 512)
000000: 2C 34 29 20 43 68 61 70 74 65 72 20 54 65 6E 2C ,4) Chapter Ten,
000010: 35 29 20 43 68 61 70 74 65 72 20 45 6C 65 76 65 5) Chapter Eleve
000020: 6E 2C 36 29 20 43 68 61 70 74 65 72 20 54 77 65 n,6) Chapter Twe
000030: 6C 76 65 2C 37 29 20 43 68 61 70 74 65 72 20 54 lve,7) Chapter T
000040: 68 69 72 74 65 65 6E 2C 38 29 20 50 72 65 76 69 hirteen,8) Previ
000050: 6F 75 73 20 4D 65 6E 75 2C 39 29 20 4E 65 78 74 ous Menu,9) Next
000060: 20 4D 65 6E 75 00 0A 00 D2 00 9F 20 1E 94 02 00 Menu...... ....
000070: 0A 00 DC 00 9F 20 1E A8 02 00 1C 00 E6 00 A1 20 ..... .........
000080: 0D 00 00 F3 F1 0F 20 FC 20 0D 00 00 F3 EE 17 20 ...... . ......
000090: EB 20 1E DC 00 00 31 00 F0 00 B2 20 0D 00 00 F3 . ....1.... ....
0000A0: 20 A0 20 1E FA 00 2C 1E 04 01 2C 1E 0E 01 2C 1E . ...,...,...,.
0000B0: 18 01 2C 1E 22 01 2C 1E 2C 01 2C 1E 36 01 2C 1E ..,.".,.,.,.6.,.
0000C0: 14 00 2C 1E 40 01 00 34 00 FA 00 9F 20 1E C6 02 ..,.@..4.... ...
0000D0: 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 03 00 00 .. ..... .......
0000E0: 66 69 6C E5 EF 22 63 68 61 70 2D 37 2E 22 01 9F fil.."chap-7."..
0000F0: 20 1E 34 03 01 A0 20 1E 66 03 00 22 00 04 01 9F .4... .f.."....
000100: 20 1E C6 02 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 ..... ..... ...
000110: 01 9F 20 1E FC 03 01 A0 20 1E 66 03 00 22 00 0E .. ..... .f.."..
000120: 01 9F 20 1E D0 02 01 9F 20 1E 98 03 01 9F 20 1E .. ..... ..... .
000130: 0C 03 01 9F 20 1E 10 04 01 A0 20 1E 66 03 00 22 .... ..... .f.."
000140: 00 18 01 9F 20 1E D0 02 01 9F 20 1E 98 03 01 9F .... ..... .....
000150: 20 1E 0C 03 01 9F 20 1E 24 04 01 A0 20 1E 66 03 ..... .$... .f.
000160: 00 35 00 22 01 9F 20 1E D0 02 01 9F 20 1E 98 03 .5.".. ..... ...
000170: 01 9F 20 1E 0C 03 01 03 00 00 66 69 6C E5 EF 22 .. .......fil.."
000180: 63 68 61 70 2D 31 31 2E 22 01 9F 20 1E 34 03 01 chap-11.".. .4..
000190: A0 20 1E 66 03 00 35 00 2C 01 9F 20 1E D0 02 01 . .f..5.,.. ....
0001A0: 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 03 00 00 66 . ..... .......f
0001B0: 69 6C E5 EF 22 63 68 61 70 2D 31 32 2E 22 01 9F il.."chap-12."..
0001C0: 20 1E 34 03 01 A0 20 1E 66 03 00 35 00 36 01 9F .4... .f..5.6..
0001D0: 20 1E D0 02 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 ..... ..... ...
0001E0: 01 03 00 00 66 69 6C E5 EF 22 63 68 61 70 2D 31 ....fil.."chap-1
0001F0: 33 2E 22 01 9F 20 1E 34 03 01 A0 20 1E 66 03 00 3.".. .4... .f..
Size : 512 (Real : 512)
000000: 27 00 40 01 C7 20 1E B8 01 01 9F 20 1E 9E 02 01 '.@.. ..... ....
000010: A9 20 19 22 2C 11 01 BF 22 4D 20 45 20 4E 20 55 . .",..."M E N U
000020: 20 20 28 33 29 22 00 0A 00 4A 01 9F 20 1E 94 02 (3)"...J.. ...
000030: 00 0A 00 54 01 9F 20 1E A8 02 00 1C 00 5E 01 A1 ...T.. ......^..
000040: 20 0D 00 00 F3 F1 0F 20 FC 20 0D 00 00 F3 EE 17 ...... . ......
000050: 20 EB 20 1E 54 01 00 31 00 68 01 B2 20 0D 00 00 . .T..1.h.. ...
000060: F3 20 A0 20 1E 72 01 2C 1E 7C 01 2C 1E 86 01 2C . . .r.,.|.,...,
000070: 1E 90 01 2C 1E 9A 01 2C 1E A4 01 2C 1E AE 01 2C ...,...,...,...,
000080: 1E BE 00 2C 1E C2 01 00 22 00 72 01 9F 20 1E D0 ...,....".r.. ..
000090: 02 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 9F 20 ... ..... .....
0000A0: 1E 38 04 01 A0 20 1E 66 03 00 22 00 7C 01 9F 20 .8... .f..".|..
0000B0: 1E D0 02 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 ..... ..... ....
0000C0: 9F 20 1E 4C 04 01 A0 20 1E 66 03 00 22 00 86 01 . .L... .f.."...
0000D0: 9F 20 1E E4 02 01 9F 20 1E 98 03 01 9F 20 1E 0C . ..... ..... ..
0000E0: 03 01 9F 20 1E 88 04 01 A0 20 1E 66 03 00 35 00 ... ..... .f..5.
0000F0: 90 01 9F 20 1E E4 02 01 9F 20 1E 98 03 01 9F 20 ... ..... .....
000100: 1E 0C 03 01 03 00 00 66 69 6C E5 EF 22 63 68 61 .......fil.."cha
000110: 70 2D 31 37 2E 22 01 9F 20 1E 34 03 01 A0 20 1E p-17.".. .4... .
000120: 66 03 00 22 00 9A 01 9F 20 1E EE 02 01 9F 20 1E f..".... ..... .
000130: 98 03 01 9F 20 1E 0C 03 01 9F 20 1E 9C 04 01 A0 .... ..... .....
000140: 20 1E 66 03 00 35 00 A4 01 9F 20 1E EE 02 01 9F .f..5.... .....
000150: 20 1E 98 03 01 9F 20 1E 0C 03 01 03 00 00 66 69 ..... .......fi
000160: 6C E5 EF 22 63 68 61 70 2D 31 39 2E 22 01 9F 20 l.."chap-19."..
000170: 1E 34 03 01 A0 20 1E 66 03 00 35 00 AE 01 9F 20 .4... .f..5....
000180: 1E EE 02 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 ..... ..... ....
000190: 03 00 00 66 69 6C E5 EF 22 63 68 61 70 2D 32 30 ...fil.."chap-20
0001A0: 2E 22 01 9F 20 1E 34 03 01 A0 20 1E 66 03 00 AD .".. .4... .f...
0001B0: 00 B8 01 8C 20 31 29 20 43 68 61 70 74 65 72 20 .... 1) Chapter
0001C0: 46 6F 75 72 74 65 65 6E 2C 32 29 20 43 68 61 70 Fourteen,2) Chap
0001D0: 74 65 72 20 46 69 66 74 65 65 6E 2C 33 29 20 43 ter Fifteen,3) C
0001E0: 68 61 70 74 65 72 20 53 69 78 74 65 65 6E 2C 34 hapter Sixteen,4
0001F0: 29 20 43 68 61 70 74 65 72 20 53 65 76 65 6E 74 ) Chapter Sevent
Size : 512 (Real : 512)
000000: 65 65 6E 2C 35 29 20 43 68 61 70 74 65 72 20 45 een,5) Chapter E
000010: 69 67 68 74 65 65 6E 2C 36 29 20 43 68 61 70 74 ighteen,6) Chapt
000020: 65 72 20 4E 69 6E 65 74 65 65 6E 2C 37 29 20 43 er Nineteen,7) C
000030: 68 61 70 74 65 72 20 54 77 65 6E 74 79 2C 38 29 hapter Twenty,8)
000040: 20 50 72 65 76 69 6F 75 73 20 4D 65 6E 75 2C 39 Previous Menu,9
000050: 29 20 4E 65 78 74 20 4D 65 6E 75 00 27 00 C2 01 ) Next Menu.'...
000060: C7 20 1E 12 02 01 9F 20 1E 9E 02 01 A9 20 19 22 . ..... ..... ."
000070: 2C 11 01 BF 22 4D 20 45 20 4E 20 55 20 20 28 34 ,..."M E N U (4
000080: 29 22 00 0A 00 CC 01 9F 20 1E 94 02 00 0A 00 D6 )"...... .......
000090: 01 9F 20 1E A8 02 00 1C 00 E0 01 A1 20 0D 00 00 .. ......... ...
0000A0: F3 F1 0F 20 FC 20 0D 00 00 F3 EE 17 20 EB 20 1E ... . ...... . .
0000B0: D6 01 00 31 00 EA 01 B2 20 0D 00 00 F3 20 A0 20 ...1.... .... .
0000C0: 1E 6E 05 2C 1E C4 04 2C 1E B4 05 2C 1E F4 01 2C .n.,...,...,...,
0000D0: 1E FE 01 2C 1E E6 05 2C 1E 08 02 2C 1E 40 01 2C ...,...,...,.@.,
0000E0: 1E 1C 02 00 30 00 F4 01 9F 20 1E EE 02 01 03 00 ....0.... ......
0000F0: 00 66 69 6C E5 EF 22 61 70 34 22 01 9F 20 1E 98 .fil.."ap4".. ..
000100: 03 01 9F 20 1E 0C 03 01 9F 20 1E 34 03 01 A0 20 ... ..... .4...
000110: 1E 66 03 00 33 00 FE 01 9F 20 1E EE 02 01 03 00 .f..3.... ......
000120: 00 66 69 6C E5 EF 22 61 70 65 6E 2D 35 22 01 9F .fil.."apen-5"..
000130: 20 1E 98 03 01 9F 20 1E 0C 03 01 9F 20 1E 34 03 ..... ..... .4.
000140: 01 A0 20 1E 66 03 00 33 00 08 02 9F 20 1E EE 02 .. .f..3.... ...
000150: 01 03 00 00 66 69 6C E5 EF 22 61 70 65 6E 2D 37 ....fil.."apen-7
000160: 22 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 9F 20 ".. ..... .....
000170: 1E 34 03 01 A0 20 1E 66 03 00 9A 00 12 02 8C 20 .4... .f.......
000180: 31 29 20 41 70 70 65 6E 64 69 78 20 4F 6E 65 2C 1) Appendix One,
000190: 32 29 20 41 70 70 65 6E 64 69 78 20 54 77 6F 2C 2) Appendix Two,
0001A0: 33 29 20 41 70 70 65 6E 64 69 78 20 54 68 72 65 3) Appendix Thre
0001B0: 65 2C 34 29 20 41 70 70 65 6E 64 69 78 20 46 6F e,4) Appendix Fo
0001C0: 75 72 2C 35 29 20 41 70 70 65 6E 64 69 78 20 46 ur,5) Appendix F
0001D0: 69 76 65 2C 36 29 20 41 70 70 65 6E 64 69 78 20 ive,6) Appendix
0001E0: 53 69 78 2C 37 29 20 41 70 70 65 6E 64 69 78 20 Six,7) Appendix
0001F0: 53 65 76 65 6E 2C 38 29 20 50 72 65 76 69 6F 75 Seven,8) Previou
Size : 512 (Real : 512)
000000: 73 20 4D 65 6E 75 2C 39 29 20 4E 65 78 74 20 4D s Menu,9) Next M
000010: 65 6E 75 00 27 00 1C 02 C7 20 1E 8A 02 01 9F 20 enu.'.... .....
000020: 1E 9E 02 01 A9 20 19 22 2C 11 01 BF 22 4D 20 45 ..... .",..."M E
000030: 20 4E 20 55 20 20 28 35 29 22 00 0A 00 26 02 9F N U (5)"...&..
000040: 20 1E 94 02 00 0A 00 30 02 9F 20 1E A8 02 00 1C ......0.. .....
000050: 00 3A 02 A1 20 0D 00 00 F3 F1 0F 20 FC 20 0D 00 .:.. ...... . ..
000060: 00 F3 EE 17 20 EB 20 1E 30 02 00 31 00 44 02 B2 .... . .0..1.D..
000070: 20 0D 00 00 F3 20 A0 20 1E 7C 06 2C 1E 9A 06 2C .... . .|.,...,
000080: 1E 4E 02 2C 1E 58 02 2C 1E C2 06 2C 1E 62 02 2C .N.,.X.,...,.b.,
000090: 1E 6C 02 2C 1E 80 02 2C 1E 14 00 00 34 00 4E 02 .l.,...,....4.N.
0000A0: 9F 20 1E F8 02 01 03 00 00 66 69 6C E5 EF 22 61 . .......fil.."a
0000B0: 70 65 6E 2D 31 30 22 01 9F 20 1E 98 03 01 9F 20 pen-10".. .....
0000C0: 1E 0C 03 01 9F 20 1E 34 03 01 A0 20 1E 66 03 00 ..... .4... .f..
0000D0: 35 00 58 02 9F 20 1E F8 02 01 9F 20 1E 98 03 01 5.X.. ..... ....
0000E0: 9F 20 1E 0C 03 01 03 00 00 66 69 6C E5 EF 22 61 . .......fil.."a
0000F0: 70 65 6E 2D 31 31 2E 22 01 9F 20 1E 34 03 01 A0 pen-11.".. .4...
000100: 20 1E 66 03 00 22 00 62 02 9F 20 1E 02 03 01 9F .f..".b.. .....
000110: 20 1E 98 03 01 9F 20 1E 0C 03 01 9F 20 1E 44 07 ..... ..... .D.
000120: 01 A0 20 1E 66 03 00 44 00 6C 02 9F 20 1E 02 03 .. .f..D.l.. ...
000130: 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 A8 22 74 .. ..... ....."t
000140: 72 61 6E 73 22 2C 1C 00 40 01 A1 20 0D 00 00 E6 rans",..@.. ....
000150: EF 0E 20 EB 20 1E 76 02 20 01 97 20 CA 22 61 70 .. . .v. .. ."ap
000160: 65 6E 2D 31 34 2E 62 61 73 22 00 50 00 76 02 03 en-14.bas".P.v..
000170: 00 00 66 69 6C E5 EF 22 61 70 65 6E 2D 31 34 2E ..fil.."apen-14.
000180: 70 31 22 01 9F 20 1E 16 03 01 9F 20 1E 64 05 01 p1".. ..... .d..
000190: AD 20 10 01 9F 20 1E 5A 05 01 03 00 00 66 69 6C . ... .Z.....fil
0001A0: E5 EF 22 61 70 65 6E 2D 31 34 2E 70 32 22 01 9F .."apen-14.p2"..
0001B0: 20 1E 16 03 01 A0 20 1E 66 03 00 22 00 80 02 9F ..... .f.."....
0001C0: 20 1E 02 03 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 ..... ..... ...
0001D0: 01 9F 20 1E 30 07 01 A0 20 1E 66 03 00 9E 00 8A .. .0... .f.....
0001E0: 02 8C 20 31 29 20 41 70 70 65 6E 64 69 78 20 45 .. 1) Appendix E
0001F0: 69 67 68 74 2C 32 29 20 41 70 70 65 6E 64 69 78 ight,2) Appendix
Size : 512 (Real : 512)
000000: 20 4E 69 6E 65 2C 33 29 20 41 70 70 65 6E 64 69 Nine,3) Appendi
000010: 78 20 54 65 6E 2C 34 29 20 41 70 70 65 6E 64 69 x Ten,4) Appendi
000020: 78 20 45 6C 65 76 65 6E 2C 35 29 20 41 70 70 65 x Eleven,5) Appe
000030: 6E 64 69 78 20 54 77 65 6C 76 65 2C 36 29 20 41 ndix Twelve,6) A
000040: 70 70 65 6E 64 69 78 20 54 68 69 72 74 65 65 6E ppendix Thirteen
000050: 2C 37 29 20 41 70 70 65 6E 64 69 78 20 46 6F 75 ,7) Appendix Fou
000060: 72 74 65 65 6E 2C 38 29 20 49 6E 64 65 78 2C 39 rteen,8) Index,9
000070: 29 20 4D 65 6E 75 20 6F 6E 65 00 51 00 94 02 A9 ) Menu one.Q....
000080: 23 0F 2C 19 0A 2C 0F 01 BF 23 0F 2C 22 50 72 65 #.,..,...#.,"Pre
000090: 73 73 20 74 68 65 20 6B 65 79 20 6E 75 6D 62 65 ss the key numbe
0000A0: 72 20 6F 66 20 74 68 65 20 46 69 72 6D 77 61 72 r of the Firmwar
0000B0: 65 20 50 61 72 74 20 79 6F 75 20 77 61 6E 74 20 e Part you want
0000C0: 28 31 20 74 6F 20 39 29 22 01 C9 00 32 00 9E 02 (1 to 9)"...2...
0000D0: 8A 01 9E 20 0D 00 00 E1 EF 0F 20 EC 20 17 01 C3 ... ...... . ...
0000E0: 20 03 00 00 E1 01 A9 20 19 21 2C 0D 00 00 E1 F4 ...... .!,.....
0000F0: 13 01 BF 20 03 00 00 E1 3B 01 B0 01 C9 00 10 00 ... ....;.......
000100: A8 02 03 00 00 E1 EF FF 1C 28 FF 43 29 00 2D 00 .........(.C).-.
000110: B2 02 0D 00 00 F3 EF FF 74 28 22 20 31 32 33 34 ........t(" 1234
000120: 35 36 37 38 39 22 2C 03 00 00 E1 29 01 0D 00 00 56789",....)....
000130: F3 EF FF 1D 28 03 00 00 E1 29 00 06 00 BC 02 C9 ....(....)......
000140: 00 1A 00 C6 02 0D 00 00 64 69 73 E3 EF 0F 01 0D ........dis.....
000150: 00 00 73 69 64 E5 EF 0F 01 C9 00 1A 00 D0 02 0D ..sid...........
000160: 00 00 64 69 73 E3 EF 0F 01 0D 00 00 73 69 64 E5 ..dis.......sid.
000170: EF 10 01 C9 00 1A 00 DA 02 0D 00 00 64 69 73 E3 ............dis.
000180: EF 10 01 0D 00 00 73 69 64 E5 EF 0F 01 C9 00 1A ......sid.......
000190: 00 E4 02 0D 00 00 64 69 73 E3 EF 10 01 0D 00 00 ......dis.......
0001A0: 73 69 64 E5 EF 10 01 C9 00 1A 00 EE 02 0D 00 00 sid.............
0001B0: 64 69 73 E3 EF 11 01 0D 00 00 73 69 64 E5 EF 0F dis.......sid...
0001C0: 01 C9 00 1A 00 F8 02 0D 00 00 64 69 73 E3 EF 11 ..........dis...
0001D0: 01 0D 00 00 73 69 64 E5 EF 10 01 C9 00 1A 00 02 ....sid.........
0001E0: 03 0D 00 00 64 69 73 E3 EF 12 01 0D 00 00 73 69 ....dis.......si
0001F0: 64 E5 EF 0F 01 C9 00 64 00 0C 03 8A 23 10 01 83 d......d....#...
Size : 512 (Real : 512)
000000: 20 1C 03 BB 01 A9 20 19 12 2C 13 01 BF 22 07 50 ..... ..,...".P
000010: 6C 65 61 73 65 20 69 6E 73 65 72 74 20 44 69 73 lease insert Dis
000020: 63 20 22 0D 00 00 64 69 73 E3 22 20 73 69 64 65 c "...dis." side
000030: 20 22 0D 00 00 73 69 64 E5 22 20 61 6E 64 20 70 "...sid." and p
000040: 72 65 73 73 20 61 6E 79 20 6B 65 79 2E 2E 2E 22 ress any key..."
000050: 01 83 20 1C 18 BB 01 8A 01 C9 00 4F 00 16 03 0D .. ........O....
000060: 00 00 E1 EF 0E 01 B6 22 21 22 F4 03 00 00 66 69 ......."!"....fi
000070: 6C E5 01 D6 20 FE 20 FF 40 01 A6 20 A3 23 17 2C l... . .@.. .#.,
000080: 03 00 00 E1 01 0D 00 00 E1 EF 0D 00 00 E1 F4 0F ................
000090: 01 A1 20 0D 00 00 E1 EE 19 11 20 EB 20 9F 20 1E .. ....... . . .
0000A0: 5C 03 01 0D 00 00 E1 EF 0E 00 15 00 20 03 A1 20 \........... ..
0000B0: FF 0A 28 19 42 29 EF 0E 20 EB 20 1E 58 07 00 17 ..(.B).. . .X...
0000C0: 00 2A 03 BF 20 03 00 00 E1 01 D5 01 88 01 9F 20 .*.. ..........
0000D0: 1E 5C 03 01 C9 00 1A 00 34 03 A1 20 0D 00 00 E6 .\......4.. ....
0000E0: EF 0E 20 EB 20 1E 16 03 20 01 97 20 1E 3E 03 00 .. . ... .. .>..
0000F0: 23 00 3E 03 B6 22 21 22 F4 03 00 00 66 69 6C E5 #.>.."!"....fil.
000100: 01 D6 20 FE 20 FF 40 01 A6 20 A3 23 17 2C 03 00 .. . .@.. .#.,..
000110: 00 E1 00 15 00 48 03 A1 20 FF 0A 28 19 42 29 EF .....H.. ..(.B).
000120: 0E 20 EB 20 1E 58 07 00 13 00 52 03 BF 23 16 2C . . .X....R..#.,
000130: 03 00 00 E1 01 D5 01 88 01 C9 00 2D 00 5C 03 A9 ...........-.\..
000140: 23 0F 2C 19 21 2C 0F 01 BF 23 0F 2C 22 50 72 65 #.,.!,...#.,"Pre
000150: 73 73 20 61 20 6B 65 79 2E 2E 22 01 83 20 1C 18 ss a key..".. ..
000160: BB 01 8A 23 0F 01 C9 00 52 00 66 03 8A 23 10 01 ...#....R.f..#..
000170: A9 20 19 21 2C 13 01 BF 22 46 20 49 20 4E 20 49 . .!,..."F I N I
000180: 20 53 20 48 20 45 20 44 22 01 A9 20 19 17 2C 19 S H E D".. ..,.
000190: 0A 01 BF 22 07 50 72 65 73 73 20 5B 43 5D 20 74 ...".Press [C] t
0001A0: 6F 20 43 6F 6E 74 69 6E 75 65 20 6F 72 20 5B 45 o Continue or [E
0001B0: 5D 20 74 6F 20 45 6E 64 22 00 15 00 70 03 A1 20 ] to End"...p..
0001C0: FF 0A 28 19 3E 29 EF 0E 20 EB 20 1E 14 00 00 15 ..(.>).. . .....
0001D0: 00 7A 03 A1 20 FF 0A 28 19 3A 29 EF 0E 20 EB 20 .z.. ..(.:).. .
0001E0: 1E 8E 03 00 0A 00 84 03 A0 20 1E 70 03 00 08 00 ......... .p....
0001F0: 8E 03 83 20 0E 00 2D 00 98 03 8A 23 10 01 A9 20 ... ..-....#...
Size : 512 (Real : 512)
000000: 19 1C 2C 13 01 BF 22 07 5B 53 5D 20 53 63 72 65 ..,...".[S] Scre
000010: 65 6E 20 6F 72 20 5B 50 5D 20 50 72 69 6E 74 65 en or [P] Printe
000020: 72 22 00 1A 00 A2 03 A1 20 FF 0A 28 19 3C 29 EF r"...... ..(.<).
000030: 0E 20 EB 20 0D 00 00 E6 EF 0E 01 C9 00 1A 00 AC . . ............
000040: 03 A1 20 FF 0A 28 19 1B 29 EF 0E 20 EB 20 0D 00 .. ..(..).. . ..
000050: 00 E6 EF 16 01 C9 00 0A 00 B6 03 A0 20 1E A2 03 ............ ...
000060: 00 12 00 C0 03 C7 20 1E CA 03 01 9F 20 1E B0 04 ...... ..... ...
000070: 01 C9 00 1D 00 CA 03 8C 22 63 68 61 70 2D 31 2E ........"chap-1.
000080: 70 31 22 2C 22 63 68 61 70 2D 31 2E 70 32 22 00 p1","chap-1.p2".
000090: 12 00 D4 03 C7 20 1E DE 03 01 9F 20 1E B0 04 01 ..... ..... ....
0000A0: C9 00 1D 00 DE 03 8C 22 63 68 61 70 2D 32 2E 70 ......."chap-2.p
0000B0: 31 22 2C 22 63 68 61 70 2D 32 2E 70 32 22 00 12 1","chap-2.p2"..
0000C0: 00 E8 03 C7 20 1E F2 03 01 9F 20 1E B0 04 01 C9 .... ..... .....
0000D0: 00 1D 00 F2 03 8C 22 63 68 61 70 2D 34 2E 70 31 ......"chap-4.p1
0000E0: 22 2C 22 63 68 61 70 2D 34 2E 70 32 22 00 12 00 ","chap-4.p2"...
0000F0: FC 03 C7 20 1E FC 03 01 9F 20 1E B0 04 01 C9 00 ... ..... ......
000100: 1D 00 06 04 8C 22 63 68 61 70 2D 38 2E 70 31 22 ....."chap-8.p1"
000110: 2C 22 63 68 61 70 2D 38 2E 70 32 22 00 12 00 10 ,"chap-8.p2"....
000120: 04 C7 20 1E 1A 04 01 9F 20 1E B0 04 01 C9 00 1D .. ..... .......
000130: 00 1A 04 8C 22 63 68 61 70 2D 39 2E 70 31 22 2C ...."chap-9.p1",
000140: 22 63 68 61 70 2D 39 2E 70 32 22 00 12 00 24 04 "chap-9.p2"...$.
000150: C7 20 1E 2E 04 01 9F 20 1E B0 04 01 C9 00 1F 00 . ..... ........
000160: 2E 04 8C 22 63 68 61 70 2D 31 30 2E 70 31 22 2C ..."chap-10.p1",
000170: 22 63 68 61 70 2D 31 30 2E 70 32 22 00 12 00 38 "chap-10.p2"...8
000180: 04 C7 20 1E 42 04 01 9F 20 1E BA 04 01 C9 00 2C .. .B... ......,
000190: 00 42 04 8C 22 63 68 61 70 2D 31 34 2E 70 31 22 .B.."chap-14.p1"
0001A0: 2C 22 63 68 61 70 2D 31 34 2E 70 32 22 2C 22 63 ,"chap-14.p2","c
0001B0: 68 61 70 2D 31 34 2E 70 33 22 00 39 00 4C 04 C7 hap-14.p3".9.L..
0001C0: 20 1E 56 04 01 9E 20 0D 00 00 66 69 6C 65 F3 EF .V... ...file..
0001D0: 0F 20 EC 20 11 01 C3 20 03 00 00 66 69 6C E5 01 . . ... ...fil..
0001E0: 9F 20 1E 34 03 01 B0 01 9F 20 1E DA 02 01 9F 20 . .4..... .....
0001F0: 1E 0C 03 00 2C 00 56 04 8C 22 63 68 61 70 2D 31 ....,.V.."chap-1
Size : 512 (Real : 512)
000000: 35 2E 70 31 22 2C 22 63 68 61 70 2D 31 35 2E 70 5.p1","chap-15.p
000010: 32 22 2C 22 63 68 61 70 2D 31 35 2E 70 33 22 00 2","chap-15.p3".
000020: 3A 00 60 04 C7 20 1E 6A 04 01 9E 20 0D 00 00 66 :.`.. .j... ...f
000030: 69 6C 65 F3 EF 0F 20 EC 20 19 0B 01 C3 20 03 00 ile... . .... ..
000040: 00 66 69 6C E5 01 9F 20 1E 34 03 01 B0 01 9F 20 .fil... .4.....
000050: 1E E4 02 01 9F 20 1E 0C 03 00 99 00 6A 04 8C 22 ..... ......j.."
000060: 63 68 61 70 2D 31 35 2E 70 34 22 2C 22 63 68 61 chap-15.p4","cha
000070: 70 2D 31 35 2E 70 35 22 2C 22 63 68 61 70 2D 31 p-15.p5","chap-1
000080: 35 2E 70 36 22 2C 22 63 68 61 70 2D 31 35 2E 70 5.p6","chap-15.p
000090: 37 22 2C 22 63 68 61 70 2D 31 35 2E 70 38 22 2C 7","chap-15.p8",
0000A0: 22 63 68 61 70 2D 31 35 2E 70 39 22 2C 22 63 68 "chap-15.p9","ch
0000B0: 61 70 2D 31 35 2E 70 31 30 22 2C 22 63 68 61 70 ap-15.p10","chap
0000C0: 2D 31 35 2E 70 31 31 22 2C 22 63 68 61 70 2D 31 -15.p11","chap-1
0000D0: 35 2E 70 31 32 22 2C 22 63 68 61 70 2D 31 35 2E 5.p12","chap-15.
0000E0: 70 31 33 22 2C 22 63 68 61 70 2D 31 35 2E 70 31 p13","chap-15.p1
0000F0: 34 22 00 2F 00 74 04 C7 20 1E 7E 04 01 9E 20 0D 4"./.t.. .~... .
000100: 00 00 66 69 6C 65 F3 EF 0F 20 EC 20 16 01 C3 20 ..file... . ...
000110: 03 00 00 66 69 6C E5 01 9F 20 1E 34 03 01 B0 01 ...fil... .4....
000120: C9 00 75 00 7E 04 8C 22 63 68 61 70 2D 31 35 2E ..u.~.."chap-15.
000130: 70 31 35 22 2C 22 63 68 61 70 2D 31 35 2E 70 31 p15","chap-15.p1
000140: 36 22 2C 22 63 68 61 70 2D 31 35 2E 70 31 37 22 6","chap-15.p17"
000150: 2C 22 63 68 61 70 2D 31 35 2E 70 31 38 22 2C 22 ,"chap-15.p18","
000160: 63 68 61 70 2D 31 35 2E 70 31 39 22 2C 22 63 68 chap-15.p19","ch
000170: 61 70 2D 31 35 2E 70 32 30 22 2C 22 63 68 61 70 ap-15.p20","chap
000180: 2D 31 35 2E 70 32 31 22 2C 22 63 68 61 70 2D 31 -15.p21","chap-1
000190: 35 2E 70 32 32 22 00 12 00 88 04 C7 20 1E 92 04 5.p22"...... ...
0001A0: 01 9F 20 1E B0 04 01 C9 00 1F 00 92 04 8C 22 63 .. ..........."c
0001B0: 68 61 70 2D 31 36 2E 70 31 22 2C 22 63 68 61 70 hap-16.p1","chap
0001C0: 2D 31 36 2E 70 32 22 00 12 00 9C 04 C7 20 1E A6 -16.p2"...... ..
0001D0: 04 01 9F 20 1E B0 04 01 C9 00 1F 00 A6 04 8C 22 ... ..........."
0001E0: 63 68 61 70 2D 31 38 2E 70 31 22 2C 22 63 68 61 chap-18.p1","cha
0001F0: 70 2D 31 38 2E 70 32 22 00 29 00 B0 04 9E 20 0D p-18.p2".).... .
Size : 512 (Real : 512)
000000: 00 00 66 69 6C 65 F3 EF 0F 20 EC 20 10 01 C3 20 ..file... . ...
000010: 03 00 00 66 69 6C E5 01 9F 20 1E 34 03 01 B0 01 ...fil... .4....
000020: C9 00 29 00 BA 04 9E 20 0D 00 00 66 69 6C 65 F3 ..).... ...file.
000030: EF 0F 20 EC 20 11 01 C3 20 03 00 00 66 69 6C E5 .. . ... ...fil.
000040: 01 9F 20 1E 34 03 01 B0 01 C9 00 47 00 C4 04 03 .. .4......G....
000050: 00 00 66 69 6C E5 EF 22 61 70 32 22 01 9F 20 1E ..fil.."ap2".. .
000060: EE 02 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 A1 .... ..... .....
000070: 20 0D 00 00 E6 EF 0E 20 EB 20 9F 20 1E 34 03 20 ...... . . .4.
000080: 01 97 20 CA 22 61 70 70 65 6E 64 32 2E 62 61 73 .. ."append2.bas
000090: 22 00 8A 00 CE 04 8A 01 BF 22 4E 6F 72 6D 61 6C "........"Normal
0000A0: 20 54 72 61 6E 73 6C 61 74 69 6F 6E 20 54 61 62 Translation Tab
0000B0: 6C 65 2E 22 01 BF 01 BF 22 54 68 65 20 66 6F 6C le."...."The fol
0000C0: 6C 6F 77 69 6E 67 20 64 69 61 67 72 61 6D 20 64 lowing diagram d
0000D0: 65 73 63 72 69 62 65 73 20 74 68 65 20 74 72 61 escribes the tra
0000E0: 6E 73 6C 61 74 69 6F 6E 20 77 68 65 6E 20 6E 65 nslation when ne
0000F0: 69 74 68 65 72 20 73 68 69 66 74 20 20 6E 6F 72 ither shift nor
000100: 20 20 63 6F 6E 74 72 6F 6C 69 73 20 70 72 65 73 controlis pres
000110: 73 65 64 2E 22 01 83 20 1C 18 BB 00 19 00 D8 04 sed.".. ........
000120: A8 22 32 2D 34 6D 61 69 6E 22 2C 1C 00 40 01 9F ."2-4main",..@..
000130: 20 1E 64 05 00 18 00 E2 04 A8 22 70 61 64 32 2D .d......."pad2-
000140: 34 22 2C 1C 00 40 01 9F 20 1E 64 05 00 18 00 EC 4",..@.. .d.....
000150: 04 A8 22 6A 6F 79 32 2D 34 22 2C 1C 00 40 01 9F .."joy2-4",..@..
000160: 20 1E 64 05 00 35 00 F6 04 AD 20 10 01 9F 20 1E .d..5.... ... .
000170: 5A 05 01 A8 22 32 2D 35 6D 61 69 6E 22 01 BF 22 Z..."2-5main".."
000180: 53 68 69 66 74 20 54 72 61 6E 73 6C 61 74 69 6F Shift Translatio
000190: 6E 20 54 61 62 6C 65 2E 22 00 A2 00 00 05 BF 01 n Table.".......
0001A0: BF 22 54 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 ."The following
0001B0: 64 69 61 67 72 61 6D 20 64 65 73 72 69 62 65 73 diagram desribes
0001C0: 20 74 68 65 20 74 72 61 6E 73 6C 61 74 69 6F 6E the translation
0001D0: 20 77 68 65 6E 20 65 69 74 68 65 72 20 73 68 69 when either shi
0001E0: 66 74 20 6B 65 79 20 69 73 20 70 72 65 73 73 65 ft key is presse
0001F0: 64 2C 6F 72 20 74 68 65 20 73 68 69 66 74 20 6C d,or the shift l
Size : 512 (Real : 512)
000000: 6F 63 6B 20 69 73 20 6F 6E 2C 20 62 75 74 20 74 ock is on, but t
000010: 68 65 20 63 6F 6E 74 72 6F 6C 20 6B 65 79 20 69 he control key i
000020: 73 20 6E 6F 74 20 70 72 65 73 73 65 64 2E 22 01 s not pressed.".
000030: 83 20 1C 03 BB 01 83 20 1C 18 BB 00 0A 00 0A 05 . ..... ........
000040: 9F 20 1E 64 05 00 18 00 14 05 A8 22 70 61 64 32 . .d......."pad2
000050: 2D 35 22 2C 1C 00 40 01 9F 20 1E 64 05 00 22 00 -5",..@.. .d..".
000060: 1E 05 A8 22 6A 6F 79 32 2D 35 22 2C 1C 00 40 01 ..."joy2-5",..@.
000070: 9F 20 1E 64 05 01 AD 20 10 01 9F 20 1E 5A 05 00 . .d... ... .Z..
000080: 86 00 28 05 8A 01 BF 22 43 6F 6E 74 72 6F 6C 20 ..(...."Control
000090: 54 72 61 6E 73 6C 61 74 69 6F 6E 20 54 61 62 6C Translation Tabl
0000A0: 65 2E 22 01 BF 01 BF 22 54 68 65 20 66 6F 6C 6C e."...."The foll
0000B0: 6F 77 69 6E 67 20 64 69 61 67 72 61 6D 20 64 65 owing diagram de
0000C0: 73 63 72 69 62 65 73 20 74 68 65 20 74 72 61 6E scribes the tran
0000D0: 73 6C 61 74 69 6F 6E 20 77 68 65 6E 20 74 68 65 slation when the
0000E0: 20 63 6F 6E 74 72 6F 6C 20 6B 65 79 20 69 73 20 control key is
0000F0: 70 72 65 73 73 65 64 2E 22 01 83 20 1C 03 BB 01 pressed.".. ....
000100: 83 20 1C 18 BB 00 19 00 32 05 A8 22 32 2D 36 6D . ......2.."2-6m
000110: 61 69 6E 22 2C 1C 00 40 01 9F 20 1E 64 05 00 18 ain",..@.. .d...
000120: 00 3C 05 A8 22 70 61 64 32 2D 36 22 2C 1C 00 40 .<.."pad2-6",..@
000130: 01 9F 20 1E 64 05 00 18 00 46 05 A8 22 6A 6F 79 .. .d....F.."joy
000140: 32 2D 36 22 2C 1C 00 40 01 9F 20 1E 64 05 00 14 2-6",..@.. .d...
000150: 00 50 05 AD 20 10 01 9F 20 1E 5A 05 01 A0 20 1E .P.. ... .Z... .
000160: 66 03 00 37 00 5A 05 D8 23 0F 2C 10 2C 19 4F 2C f..7.Z..#.,.,.O,
000170: 19 19 2C 19 19 01 D8 23 0E 2C 0F 2C 19 50 2C 13 ..,....#.,.,.P,.
000180: 2C 19 17 01 D8 23 10 2C 0F 2C 19 50 2C 13 2C 19 ,....#.,.,.P,.,.
000190: 19 01 83 20 1C A3 38 01 C9 00 18 00 64 05 83 20 ... ..8.....d..
0001A0: 1C 00 40 01 83 20 1C 03 BB 01 83 20 1C 18 BB 01 ..@.. ..... ....
0001B0: C9 00 4A 00 6E 05 03 00 00 66 69 6C E5 EF 22 41 ..J.n....fil.."A
0001C0: 50 31 2D 31 22 01 9F 20 1E EE 02 01 9F 20 1E 98 P1-1".. ..... ..
0001D0: 03 01 9F 20 1E 0C 03 01 A1 20 0D 00 00 E6 EF 0E ... ..... ......
0001E0: 20 EB 20 9F 20 1E 34 03 20 01 97 20 CA 22 61 70 . . .4. .. ."ap
0001F0: 70 65 6E 64 2D 31 2E 62 61 73 22 00 19 00 78 05 pend-1.bas"...x.
Size : 512 (Real : 512)
000000: A8 22 34 36 34 2D 41 50 31 22 2C 1C 00 40 01 9F ."464-AP1",..@..
000010: 20 1E 64 05 00 1A 00 82 05 A8 22 36 31 32 38 2D .d......."6128-
000020: 61 70 31 22 2C 1C 00 40 01 9F 20 1E 64 05 00 16 ap1",..@.. .d...
000030: 00 8C 05 A8 22 70 61 64 73 22 2C 1C 00 40 01 9F ...."pads",..@..
000040: 20 1E 64 05 00 16 00 96 05 A8 22 6A 6F 79 73 22 .d......."joys"
000050: 2C 1C 00 40 01 9F 20 1E 64 05 00 24 00 A0 05 AD ,..@.. .d..$....
000060: 20 10 01 9F 20 1E 5A 05 01 03 00 00 66 69 6C E5 ... .Z.....fil.
000070: EF 22 61 70 31 2D 32 22 01 9F 20 1E 34 03 00 0A ."ap1-2".. .4...
000080: 00 AA 05 A0 20 1E 66 03 00 4C 00 B4 05 03 00 00 .... .f..L......
000090: 66 69 6C E5 EF 22 61 70 70 65 6E 64 33 22 01 9F fil.."append3"..
0000A0: 20 1E EE 02 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 ..... ..... ...
0000B0: 01 A1 20 0D 00 00 E6 EF 0E 20 EB 20 9F 20 1E 34 .. ...... . . .4
0000C0: 03 20 01 97 20 CA 22 61 70 70 65 6E 64 2D 33 2E . .. ."append-3.
0000D0: 62 61 73 22 00 19 00 BE 05 A8 22 33 2D 31 4D 41 bas"......"3-1MA
0000E0: 49 4E 22 2C 1C 00 40 01 9F 20 1E 64 05 00 18 00 IN",..@.. .d....
0000F0: C8 05 A8 22 50 41 44 33 2D 31 22 2C 1C 00 40 01 ..."PAD3-1",..@.
000100: 9F 20 1E 64 05 00 18 00 D2 05 A8 22 4A 4F 59 33 . .d......."JOY3
000110: 2D 31 22 2C 1C 00 40 01 9F 20 1E 64 05 00 14 00 -1",..@.. .d....
000120: DC 05 AD 20 10 01 9F 20 1E 5A 05 01 A0 20 1E 66 ... ... .Z... .f
000130: 03 00 48 00 E6 05 03 00 00 66 69 6C E5 EF 22 61 ..H......fil.."a
000140: 70 65 6E 36 2D 61 22 01 9F 20 1E F8 02 01 9F 20 pen6-a".. .....
000150: 1E 98 03 01 9F 20 1E 0C 03 01 A1 20 0D 00 00 E6 ..... ..... ....
000160: EF 0E 20 EB 20 9F 20 1E 34 03 20 01 97 20 CA 22 .. . . .4. .. ."
000170: 61 70 65 6E 36 2E 62 61 73 00 18 00 F0 05 A8 22 apen6.bas......"
000180: 73 65 74 36 2D 31 22 2C 1C 00 40 01 9F 20 1E 64 set6-1",..@.. .d
000190: 05 00 18 00 FA 05 A8 22 73 65 74 36 2D 32 22 2C ......."set6-2",
0001A0: 1C 00 40 01 9F 20 1E 64 05 00 23 00 04 06 A8 22 ..@.. .d..#...."
0001B0: 73 65 74 62 36 2D 32 22 2C 1C 00 40 01 9F 20 1E setb6-2",..@.. .
0001C0: 64 05 01 AD 20 10 01 9F 20 1E 5A 05 00 1C 00 0E d... ... .Z.....
0001D0: 06 03 00 00 66 69 6C E5 EF 22 61 70 65 6E 36 2D ....fil.."apen6-
0001E0: 62 22 01 9F 20 1E 34 03 00 22 00 18 06 A8 22 62 b".. .4.."...."b
0001F0: 6C 6F 63 6B 73 22 2C 1C 00 40 01 9F 20 1E 64 05 locks",..@.. .d.
Size : 512 (Real : 512)
000000: 01 AD 20 10 01 9F 20 1E 5A 05 00 1C 00 22 06 03 .. ... .Z...."..
000010: 00 00 66 69 6C E5 EF 22 61 70 65 6E 36 2D 63 22 ..fil.."apen6-c"
000020: 01 9F 20 1E 34 03 00 17 00 2C 06 A8 22 6C 69 6E .. .4....,.."lin
000030: 65 73 22 2C 1C 00 40 01 9F 20 1E 64 05 00 1A 00 es",..@.. .d....
000040: 36 06 A8 22 36 2D 35 63 68 61 72 73 22 2C 1C 00 6.."6-5chars",..
000050: 40 01 9F 20 1E 64 05 00 1A 00 40 06 A8 22 36 2D @.. .d....@.."6-
000060: 36 63 68 61 2D 74 22 2C 1C 00 40 01 9F 20 1E 64 6cha-t",..@.. .d
000070: 05 00 1A 00 4A 06 A8 22 36 2D 36 63 68 61 2D 62 ....J.."6-6cha-b
000080: 22 2C 1C 00 40 01 9F 20 1E 64 05 00 19 00 54 06 ",..@.. .d....T.
000090: A8 22 36 2D 37 63 68 61 72 22 2C 1C 00 40 01 9F ."6-7char",..@..
0000A0: 20 1E 64 05 00 19 00 5E 06 A8 22 36 2D 38 63 68 .d....^.."6-8ch
0000B0: 61 72 22 2C 1C 00 40 01 9F 20 1E 64 05 00 19 00 ar",..@.. .d....
0000C0: 68 06 A8 22 36 2D 39 63 68 61 72 22 2C 1C 00 40 h.."6-9char",..@
0000D0: 01 9F 20 1E 64 05 00 14 00 72 06 AD 20 10 01 9F .. .d....r.. ...
0000E0: 20 1E 5A 05 01 A0 20 1E 66 03 00 48 00 7C 06 03 .Z... .f..H.|..
0000F0: 00 00 66 69 6C E5 EF 22 61 70 65 6E 2D 38 22 01 ..fil.."apen-8".
000100: 9F 20 1E F8 02 01 9F 20 1E 98 03 01 9F 20 1E 0C . ..... ..... ..
000110: 03 01 A1 20 0D 00 00 E6 EF 0E 20 EB 20 9F 20 1E ... ...... . . .
000120: 34 03 20 01 97 20 CA 22 61 70 65 6E 38 2E 62 61 4. .. ."apen8.ba
000130: 73 22 00 19 00 86 06 A8 22 61 70 65 6E 38 2D 61 s"......"apen8-a
000140: 22 2C 1C 00 40 01 9F 20 1E 64 05 00 14 00 90 06 ",..@.. .d......
000150: AD 20 10 01 9F 20 1E 5A 05 01 9F 20 1E 66 03 00 . ... .Z... .f..
000160: 44 00 9A 06 03 00 00 66 69 6C E5 EF 22 61 70 65 D......fil.."ape
000170: 6E 2D 39 22 01 9F 20 1E F8 02 01 9F 20 1E 98 03 n-9".. ..... ...
000180: 01 9F 20 1E 0C 03 01 A1 20 0D 00 00 E6 EF 0E 20 .. ..... ......
000190: EB 20 9F 20 1E 34 03 20 01 97 20 CA 22 61 70 65 . . .4. .. ."ape
0001A0: 6E 39 22 00 19 00 A4 06 A8 22 61 70 65 6E 39 2D n9"......"apen9-
0001B0: 61 22 2C 1C 00 40 01 9F 20 1E 64 05 00 19 00 AE a",..@.. .d.....
0001C0: 06 A8 22 61 70 65 6E 39 2D 62 22 2C 1C 00 40 01 .."apen9-b",..@.
0001D0: 9F 20 1E 64 05 00 2C 00 B8 06 AD 20 10 01 9F 20 . .d..,.... ...
0001E0: 1E 5A 05 01 03 00 00 66 69 6C E5 EF 22 61 70 65 .Z.....fil.."ape
0001F0: 6E 2D 39 63 22 01 9F 20 1E 34 03 01 A0 20 1E 66 n-9c".. .4... .f
Size : 512 (Real : 512)
000000: 03 00 49 00 C2 06 03 00 00 66 69 6C E5 EF 22 61 ..I......fil.."a
000010: 70 65 6E 2D 31 32 2E 70 31 22 01 9F 20 1E F8 02 pen-12.p1".. ...
000020: 01 9F 20 1E 98 03 01 9F 20 1E 0C 03 01 A1 20 0D .. ..... ..... .
000030: 00 00 E6 EF 0E 20 EB 20 9F 20 1E 34 03 20 01 97 ..... . . .4. ..
000040: 20 CA 22 61 70 65 6E 31 32 22 00 1F 00 CC 06 03 ."apen12"......
000050: 00 00 66 69 6C E5 EF 22 61 70 65 6E 2D 31 32 2E ..fil.."apen-12.
000060: 70 32 22 01 9F 20 1E 34 03 00 1A 00 D6 06 A8 22 p2".. .4......."
000070: 31 32 2D 31 33 62 6F 74 22 2C 1C 00 40 01 9F 20 12-13bot",..@..
000080: 1E 64 05 00 29 00 E0 06 AD 20 10 01 9F 20 1E 5A .d..).... ... .Z
000090: 05 01 03 00 00 66 69 6C E5 EF 22 61 70 65 6E 2D .....fil.."apen-
0000A0: 31 32 2E 70 34 22 01 9F 20 1E 34 03 00 1A 00 EA 12.p4".. .4.....
0000B0: 06 A8 22 31 32 2D 31 34 62 6F 74 22 2C 1C 00 40 .."12-14bot",..@
0000C0: 01 9F 20 1E 64 05 00 29 00 F4 06 AD 20 10 01 9F .. .d..).... ...
0000D0: 20 1E 5A 05 01 03 00 00 66 69 6C E5 EF 22 61 70 .Z.....fil.."ap
0000E0: 65 6E 2D 31 32 2E 70 35 22 01 9F 20 1E 34 03 00 en-12.p5".. .4..
0000F0: 17 00 FE 06 A8 22 66 2D 73 79 73 22 2C 1C 00 40 ....."f-sys",..@
000100: 01 9F 20 1E 64 05 00 2A 00 08 07 AD 20 10 01 9F .. .d..*.... ...
000110: 20 1E 5A 05 01 03 00 00 66 69 6C E5 EF 22 61 70 .Z.....fil.."ap
000120: 65 6E 2D 31 32 61 2E 70 36 22 01 9F 20 1E 34 03 en-12a.p6".. .4.
000130: 00 18 00 12 07 A8 22 46 52 45 4E 43 48 22 2C 1C ......"FRENCH",.
000140: 00 40 01 9F 20 1E 64 05 00 29 00 1C 07 AD 20 10 .@.. .d..).... .
000150: 01 9F 20 1E 5A 05 01 03 00 00 66 69 6C E5 EF 22 .. .Z.....fil.."
000160: 61 70 65 6E 2D 31 32 2E 70 36 22 01 9F 20 1E 34 apen-12.p6".. .4
000170: 03 00 0A 00 26 07 A0 20 1E 66 03 00 12 00 30 07 ....&.. .f....0.
000180: C7 20 1E 3A 07 01 9F 20 1E BA 04 01 C9 00 24 00 . .:... ......$.
000190: 3A 07 8C 20 22 69 6E 64 65 78 2D 31 22 2C 22 69 :.. "index-1","i
0001A0: 6E 64 65 78 2D 32 22 2C 22 69 6E 64 65 78 2D 33 ndex-2","index-3
0001B0: 22 00 12 00 44 07 C7 20 1E 4E 07 01 9F 20 1E B0 "...D.. .N... ..
0001C0: 04 01 C9 00 20 00 4E 07 8C 20 22 61 70 65 6E 2D .... .N.. "apen-
0001D0: 31 33 2E 70 31 22 2C 22 61 70 65 6E 2D 31 33 2E 13.p1","apen-13.
0001E0: 70 32 22 00 0C 00 58 07 88 01 A0 20 1E 66 03 00 p2"...X.... .f..
0001F0: 00 00 1A 20 4B 65 72 6E 65 6C 20 20 66 6F 72 20 ... Kernel for
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