MS-DOS Kermit (UK) (Face B) (1985) [UTILITAIRE].dsk
   
Choose sector :
Size : 512 (Real : 512)
000000: 00 43 50 34 43 4D 44 20 20 41 53 4D 00 00 00 80 .CP4CMD ASM....
000010: 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 ................
000020: 00 43 50 34 43 4D 44 20 20 41 53 4D 01 00 00 38 .CP4CMD ASM...8
000030: 12 13 14 15 16 17 18 00 00 00 00 00 00 00 00 00 ................
000040: 00 43 50 34 43 50 4D 20 20 41 53 4D 00 00 00 34 .CP4CPM ASM...4
000050: 19 1A 1B 1C 1D 1E 1F 00 00 00 00 00 00 00 00 00 ................
000060: 00 43 50 34 44 45 46 20 20 41 53 4D 00 00 00 3C .CP4DEF ASM...<
000070: 20 21 22 23 24 25 26 27 00 00 00 00 00 00 00 00 !"#$%&'........
000080: 00 43 50 34 4B 45 52 20 20 41 53 4D 00 00 00 20 .CP4KER ASM...
000090: 28 29 2A 2B 00 00 00 00 00 00 00 00 00 00 00 00 ()*+............
0000A0: 00 43 50 34 53 59 53 20 20 41 53 4D 00 00 00 80 .CP4SYS ASM....
0000B0: 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B ,-./0123456789:;
0000C0: 00 43 50 34 53 59 53 20 20 41 53 4D 01 00 00 80 .CP4SYS ASM....
0000D0: 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B <=>?@ABCDEFGHIJK
0000E0: 00 43 50 34 53 59 53 20 20 41 53 4D 02 00 00 80 .CP4SYS ASM....
0000F0: 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B LMNOPQRSTUVWXYZ[
000100: 00 43 50 34 53 59 53 20 20 41 53 4D 03 00 00 80 .CP4SYS ASM....
000110: 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B \]^_`abcdefghijk
000120: 00 43 50 34 53 59 53 20 20 41 53 4D 04 00 00 80 .CP4SYS ASM....
000130: 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B lmnopqrstuvwxyz{
000140: 00 43 50 34 53 59 53 20 20 41 53 4D 05 00 00 80 .CP4SYS ASM....
000150: 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B |}~.............
000160: 00 43 50 34 53 59 53 20 20 41 53 4D 06 00 00 0E .CP4SYS ASM....
000170: 8C 8D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: 00 43 50 34 54 54 20 20 20 41 53 4D 00 00 00 80 .CP4TT ASM....
000190: 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D ................
0001A0: 00 43 50 34 54 54 20 20 20 41 53 4D 01 00 00 34 .CP4TT ASM...4
0001B0: 9E 9F A0 A1 A2 A3 A4 00 00 00 00 00 00 00 00 00 ................
0001C0: 00 43 50 34 54 59 50 20 20 41 53 4D 00 00 00 44 .CP4TYP ASM...D
0001D0: A5 A6 A7 A8 A9 AA AB AC AD 00 00 00 00 00 00 00 ................
0001E0: 00 43 50 34 57 4C 44 20 20 41 53 4D 00 00 00 20 .CP4WLD ASM...
0001F0: AE AF B0 B1 00 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 2C 20 61 6E 64 20 6D 61 6E 79 0D 0A 3B 20 6F 74 , and many..; ot
000010: 68 65 72 73 2E 0D 0A 0D 0A 3B 0D 0A 3B 09 54 68 hers.....;..;.Th
000020: 69 73 20 66 69 6C 65 20 70 72 6F 76 69 64 65 73 is file provides
000030: 20 61 20 75 73 65 72 20 6F 72 69 65 6E 74 65 64 a user oriented
000040: 20 77 61 79 20 6F 66 20 70 61 72 73 69 6E 67 20 way of parsing
000050: 63 6F 6D 6D 61 6E 64 73 2E 0D 0A 3B 09 49 74 20 commands...;.It
000060: 69 73 20 73 69 6D 69 6C 61 72 20 74 6F 20 74 68 is similar to th
000070: 61 74 20 6F 66 20 74 68 65 20 43 4F 4D 4E 44 20 at of the COMND
000080: 4A 53 59 53 20 69 6E 20 54 4F 50 53 2D 32 30 2E JSYS in TOPS-20.
000090: 0D 0A 3B 0D 0A 3B 20 72 65 76 69 73 69 6F 6E 20 ..;..; revision
0000A0: 68 69 73 74 6F 72 79 20 28 6C 61 74 65 73 74 20 history (latest
0000B0: 66 69 72 73 74 29 3A 0D 0A 3B 20 65 64 69 74 20 first):..; edit
0000C0: 35 3A 20 36 2D 46 65 62 2D 38 35 20 62 79 20 43 5: 6-Feb-85 by C
0000D0: 68 61 72 6C 65 73 20 43 61 72 76 61 6C 68 6F 0D harles Carvalho.
0000E0: 0A 3B 09 4D 61 6B 65 20 66 66 75 73 73 79 20 61 .;.Make ffussy a
0000F0: 20 72 75 6E 74 69 6D 65 20 28 72 61 74 68 65 72 runtime (rather
000100: 20 74 68 61 6E 20 61 73 73 65 6D 62 6C 79 2D 74 than assembly-t
000110: 69 6D 65 29 20 73 77 69 74 63 68 2C 20 74 6F 0D ime) switch, to.
000120: 0A 3B 09 65 6C 69 6D 69 6E 61 74 65 20 63 6F 6E .;.eliminate con
000130: 64 69 74 69 6F 6E 61 6C 20 61 73 73 65 6D 62 6C ditional assembl
000140: 79 20 69 6E 20 73 79 73 74 65 6D 2D 69 6E 64 65 y in system-inde
000150: 70 65 6E 64 65 6E 74 20 6D 6F 64 75 6C 65 2E 0D pendent module..
000160: 0A 3B 09 44 6F 6E 27 74 20 61 6C 6C 6F 77 20 5F .;.Don't allow _
000170: 25 7C 28 29 2F 5C 20 69 6E 20 66 69 6C 65 6E 61 %|()/\ in filena
000180: 6D 65 73 20 69 66 20 66 66 75 73 73 79 20 73 65 mes if ffussy se
000190: 74 3B 20 6D 79 20 43 50 2F 4D 20 6D 61 6E 75 61 t; my CP/M manua
0001A0: 6C 0D 0A 3B 09 64 69 73 61 6C 6C 6F 77 73 20 74 l..;.disallows t
0001B0: 68 6F 73 65 2C 20 74 6F 6F 2E 0D 0A 3B 0D 0A 3B hose, too...;..;
0001C0: 20 65 64 69 74 20 34 3A 20 31 33 2D 4A 61 6E 2D edit 4: 13-Jan-
0001D0: 38 35 20 62 79 20 56 61 6E 79 61 20 4A 2E 43 6F 85 by Vanya J.Co
0001E0: 6F 70 65 72 20 50 69 6D 61 20 43 6F 6D 6D 75 6E oper Pima Commun
0001F0: 2E 20 43 6F 6C 6C 65 67 65 20 54 65 6C 3A 20 36 . College Tel: 6
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: 30 32 2D 38 38 34 2D 36 38 30 39 0D 0A 3B 0D 0A 02-884-6809..;..
000010: 3B 70 63 63 30 30 36 09 32 2D 6A 61 6E 2D 38 35 ;pcc006.2-jan-85
000020: 09 56 4A 43 09 6D 6F 64 75 6C 65 73 3A 63 70 34 .VJC.modules:cp4
000030: 63 6D 64 2C 63 70 34 75 74 6C 0D 0A 3B 09 50 72 cmd,cp4utl..;.Pr
000040: 6F 62 6C 65 6D 73 20 77 69 74 68 20 22 3F 22 20 oblems with "?"
000050: 69 6E 20 66 69 6C 65 73 70 65 63 73 2E 20 20 4F in filespecs. O
000060: 6E 20 72 65 70 61 72 73 65 2C 20 6D 61 79 20 63 n reparse, may c
000070: 61 75 73 65 20 61 63 74 69 6F 6E 0D 0A 3B 09 66 ause action..;.f
000080: 6C 61 67 20 74 6F 20 62 65 20 72 65 73 65 74 20 lag to be reset
000090: 61 74 20 77 72 6F 6E 67 20 70 6F 69 6E 74 2C 20 at wrong point,
0000A0: 72 65 71 75 69 72 69 6E 67 20 6D 75 6C 74 69 70 requiring multip
0000B0: 6C 65 20 3C 43 52 3E 27 73 0D 0A 3B 09 74 6F 20 le <CR>'s..;.to
0000C0: 74 65 72 6D 69 6E 61 74 65 20 74 68 65 20 6C 69 terminate the li
0000D0: 6E 65 20 6F 72 20 6F 74 68 65 72 20 77 65 69 72 ne or other weir
0000E0: 64 20 73 74 75 66 66 2E 20 20 41 6C 73 6F 20 6E d stuff. Also n
0000F0: 65 65 64 20 74 6F 0D 0A 3B 09 63 68 65 63 6B 20 eed to..;.check
000100: 66 6C 61 67 20 61 6E 64 20 63 6F 6D 70 6C 61 69 flag and complai
000110: 6E 20 69 66 20 77 69 6C 64 2D 63 61 72 64 73 20 n if wild-cards
000120: 69 6C 6C 65 67 61 6C 2E 0D 0A 0D 0A 3B 70 63 63 illegal.....;pcc
000130: 30 30 37 09 32 2D 4A 61 6E 2D 38 35 09 76 6A 63 007.2-Jan-85.vjc
000140: 09 6D 6F 64 75 6C 65 73 3A 63 70 34 64 65 66 2C .modules:cp4def,
000150: 63 70 34 63 6D 64 0D 0A 3B 09 43 6D 69 66 69 6C cp4cmd..;.Cmifil
000160: 20 69 73 20 74 6F 6F 20 66 75 73 73 79 20 61 62 is too fussy ab
000170: 6F 75 74 20 77 68 61 74 20 63 68 61 72 61 63 74 out what charact
000180: 65 72 73 20 74 6F 20 61 63 63 65 70 74 20 69 6E ers to accept in
000190: 20 61 0D 0A 3B 09 66 69 6C 65 73 70 65 63 2E 20 a..;.filespec.
0001A0: 20 4D 79 20 43 50 2F 4D 20 6D 61 6E 75 61 6C 20 My CP/M manual
0001B0: 73 61 79 73 20 61 6E 79 20 70 72 69 6E 74 61 62 says any printab
0001C0: 6C 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 le character is
0001D0: 6F 6B 0D 0A 3B 09 65 78 63 65 70 74 20 3C 3E 2E ok..;.except <>.
0001E0: 2C 3B 3A 3F 2A 5B 5D 2C 20 61 6E 64 20 6C 6F 77 ,;:?*[], and low
0001F0: 65 72 20 63 61 73 65 2E 20 20 49 6E 20 70 72 61 er case. In pra
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: 63 74 69 63 65 2C 20 65 76 65 6E 20 74 68 6F 73 ctice, even thos
000010: 65 20 77 6F 72 6B 0D 0A 3B 09 73 6F 6D 65 74 69 e work..;.someti
000020: 6D 65 73 2E 20 20 4B 65 72 6D 69 74 20 69 74 73 mes. Kermit its
000030: 65 6C 66 20 75 73 65 73 20 27 26 27 20 69 66 20 elf uses '&' if
000040: 66 69 6C 65 20 77 61 72 6E 69 6E 67 20 69 73 20 file warning is
000050: 6F 6E 2C 0D 0A 3B 09 61 6E 64 20 74 68 65 6E 20 on,..;.and then
000060: 77 6F 6E 27 74 20 6C 65 74 20 79 6F 75 20 72 65 won't let you re
000070: 66 65 72 65 6E 63 65 20 74 68 65 20 66 69 6C 65 ference the file
000080: 2E 20 20 41 6C 6C 6F 77 20 61 6C 6C 0D 0A 3B 09 . Allow all..;.
000090: 70 72 69 6E 74 61 62 6C 65 20 63 68 61 72 61 63 printable charac
0000A0: 74 65 72 73 20 65 78 63 65 70 74 20 74 68 6F 73 ters except thos
0000B0: 65 20 61 62 6F 76 65 2E 20 20 41 64 64 20 63 6F e above. Add co
0000C0: 6E 64 69 74 69 6F 6E 61 6C 0D 0A 3B 09 66 66 75 nditional..;.ffu
0000D0: 73 73 79 2C 20 73 6F 20 74 68 61 74 20 69 66 20 ssy, so that if
0000E0: 6E 6F 74 20 66 66 75 73 73 79 2C 20 61 6C 6C 20 not ffussy, all
0000F0: 73 70 65 63 69 61 6C 20 63 68 61 72 61 63 74 65 special characte
000100: 72 73 20 77 69 6C 6C 20 62 65 0D 0A 3B 09 61 6C rs will be..;.al
000110: 6C 6F 77 65 64 2C 20 6A 75 73 74 20 63 6F 6E 76 lowed, just conv
000120: 65 72 74 20 6C 6F 77 65 72 20 74 6F 20 75 70 70 ert lower to upp
000130: 65 72 2D 63 61 73 65 2E 0D 0A 0D 0A 3B 20 65 64 er-case.....; ed
000140: 69 74 20 33 3A 20 4A 75 6C 79 20 38 2C 20 31 39 it 3: July 8, 19
000150: 38 34 20 28 43 4A 43 29 0D 0A 3B 09 69 6E 74 65 84 (CJC)..;.inte
000160: 67 72 61 74 65 20 54 6F 61 64 20 48 61 6C 6C 20 grate Toad Hall
000170: 63 68 61 6E 67 65 73 20 66 6F 72 20 4C 41 53 4D changes for LASM
000180: 20 63 6F 6D 70 61 74 69 62 69 6C 69 74 79 3A 20 compatibility:
000190: 43 50 34 43 50 4D 20 69 73 20 6C 69 6E 6B 65 64 CP4CPM is linked
0001A0: 0D 0A 3B 09 62 79 20 43 50 34 57 4C 44 2C 20 61 ..;.by CP4WLD, a
0001B0: 6E 64 20 6C 69 6E 6B 73 20 43 50 34 55 54 4C 2E nd links CP4UTL.
0001C0: 0D 0A 3B 09 0D 0A 3B 20 65 64 69 74 20 32 3A 20 ..;...; edit 2:
0001D0: 4A 75 6E 65 20 35 2C 20 31 39 38 34 20 28 43 4A June 5, 1984 (CJ
0001E0: 43 29 0D 0A 3B 09 66 6F 72 6D 61 74 74 69 6E 67 C)..;.formatting
0001F0: 20 61 6E 64 20 64 6F 63 75 6D 65 6E 74 61 74 69 and documentati
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: 6F 6E 3B 20 64 65 6C 65 74 65 20 75 6E 6E 65 63 on; delete unnec
000010: 65 73 73 61 72 79 20 63 6F 64 65 20 61 74 20 63 essary code at c
000020: 6D 69 6E 62 37 3B 20 61 64 64 0D 0A 3B 09 6D 6F minb7; add..;.mo
000030: 64 75 6C 65 20 76 65 72 73 69 6F 6E 20 73 74 72 dule version str
000040: 69 6E 67 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 ing...;..; edit
000050: 31 3A 20 4D 61 79 2C 20 31 39 38 34 20 28 43 4A 1: May, 1984 (CJ
000060: 43 29 0D 0A 3B 09 65 78 74 72 61 63 74 65 64 20 C)..;.extracted
000070: 66 72 6F 6D 20 43 50 4D 42 41 53 45 2E 4D 38 30 from CPMBASE.M80
000080: 20 76 65 72 73 69 6F 6E 20 33 2E 39 3B 20 6D 6F version 3.9; mo
000090: 64 69 66 69 63 61 74 69 6F 6E 73 20 61 72 65 20 difications are
0000A0: 64 65 73 63 72 69 62 65 64 20 69 6E 0D 0A 3B 09 described in..;.
0000B0: 74 68 65 20 61 63 63 6F 6D 70 61 6E 79 69 6E 67 the accompanying
0000C0: 20 2E 55 50 44 20 66 69 6C 65 2E 0D 0A 0D 0A 63 .UPD file.....c
0000D0: 6D 64 76 65 72 3A 09 64 62 09 27 43 50 34 43 4D mdver:.db.'CP4CM
0000E0: 44 2E 41 53 4D 20 28 35 29 20 20 36 2D 46 65 62 D.ASM (5) 6-Feb
0000F0: 2D 38 35 24 27 09 3B 20 6E 61 6D 65 2C 20 65 64 -85$'.; name, ed
000100: 69 74 20 6E 75 6D 62 65 72 2C 20 64 61 74 65 0D it number, date.
000110: 0A 0D 0A 3B 09 54 68 69 73 20 72 6F 75 74 69 6E ...;.This routin
000120: 65 20 70 72 69 6E 74 73 20 74 68 65 20 70 72 6F e prints the pro
000130: 6D 70 74 20 69 6E 20 44 45 20 61 6E 64 20 73 70 mpt in DE and sp
000140: 65 63 69 66 69 65 73 20 74 68 65 20 72 65 70 61 ecifies the repa
000150: 72 73 65 0D 0A 3B 09 61 64 64 72 65 73 73 2E 0D rse..;.address..
000160: 0A 3B 09 63 61 6C 6C 65 64 20 62 79 3A 20 20 6B .;.called by: k
000170: 65 72 6D 69 74 0D 0A 0D 0A 70 72 6F 6D 70 74 3A ermit....prompt:
000180: 09 70 6F 70 09 68 09 09 3B 47 65 74 20 74 68 65 .pop.h..;Get the
000190: 20 72 65 74 75 72 6E 20 61 64 64 72 65 73 73 2E return address.
0001A0: 0D 0A 09 70 75 73 68 09 68 09 09 3B 50 75 74 20 ...push.h..;Put
0001B0: 69 74 20 6F 6E 20 74 68 65 20 73 74 61 63 6B 20 it on the stack
0001C0: 61 67 61 69 6E 2E 0D 0A 09 73 68 6C 64 09 63 6D again....shld.cm
0001D0: 72 70 72 73 09 09 3B 53 61 76 65 20 69 74 20 61 rprs..;Save it a
0001E0: 73 20 74 68 65 20 61 64 64 72 65 73 73 20 74 6F s the address to
0001F0: 20 67 6F 20 74 6F 20 6F 6E 20 72 65 70 61 72 73 go to on repars
Size : 512 (Real : 512)
000000: 3B 20 43 50 34 43 4D 44 2E 41 53 4D 0D 0A 3B 09 ; CP4CMD.ASM..;.
000010: 4B 45 52 4D 49 54 20 2D 20 28 43 65 6C 74 69 63 KERMIT - (Celtic
000020: 20 66 6F 72 20 22 46 52 45 45 22 29 0D 0A 3B 0D for "FREE")..;.
000030: 0A 3B 09 54 68 69 73 20 69 73 20 74 68 65 20 43 .;.This is the C
000040: 50 2F 4D 2D 38 30 20 69 6D 70 6C 65 6D 65 6E 74 P/M-80 implement
000050: 61 74 69 6F 6E 20 6F 66 20 74 68 65 20 43 6F 6C ation of the Col
000060: 75 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 umbia University
000070: 0D 0A 3B 09 4B 45 52 4D 49 54 20 66 69 6C 65 20 ..;.KERMIT file
000080: 74 72 61 6E 73 66 65 72 20 70 72 6F 74 6F 63 6F transfer protoco
000090: 6C 2E 0D 0A 3B 0D 0A 3B 09 56 65 72 73 69 6F 6E l...;..;.Version
0000A0: 20 34 2E 30 0D 0A 3B 0D 0A 3B 09 43 6F 70 79 72 4.0..;..;.Copyr
0000B0: 69 67 68 74 20 4A 75 6E 65 20 31 39 38 31 2C 31 ight June 1981,1
0000C0: 39 38 32 2C 31 39 38 33 2C 31 39 38 34 2C 31 39 982,1983,1984,19
0000D0: 38 35 0D 0A 3B 09 43 6F 6C 75 6D 62 69 61 20 55 85..;.Columbia U
0000E0: 6E 69 76 65 72 73 69 74 79 0D 0A 3B 0D 0A 3B 20 niversity..;..;
0000F0: 4F 72 69 67 69 6E 61 6C 6C 79 20 77 72 69 74 74 Originally writt
000100: 65 6E 20 62 79 20 42 69 6C 6C 20 43 61 74 63 68 en by Bill Catch
000110: 69 6E 67 73 20 6F 66 20 74 68 65 20 43 6F 6C 75 ings of the Colu
000120: 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 20 mbia University
000130: 43 65 6E 74 65 72 20 66 6F 72 0D 0A 3B 20 43 6F Center for..; Co
000140: 6D 70 75 74 69 6E 67 20 41 63 74 69 76 69 74 69 mputing Activiti
000150: 65 73 2C 20 36 31 32 20 57 2E 20 31 31 35 74 68 es, 612 W. 115th
000160: 20 53 74 2E 2C 20 4E 65 77 20 59 6F 72 6B 2C 20 St., New York,
000170: 4E 59 20 31 30 30 32 35 2E 0D 0A 3B 0D 0A 3B 20 NY 10025...;..;
000180: 43 6F 6E 74 72 69 62 75 74 69 6F 6E 73 20 62 79 Contributions by
000190: 20 46 72 61 6E 6B 20 64 61 20 43 72 75 7A 2C 20 Frank da Cruz,
0001A0: 44 61 70 68 6E 65 20 54 7A 6F 61 72 2C 20 42 65 Daphne Tzoar, Be
0001B0: 72 6E 69 65 20 45 69 62 65 6E 2C 0D 0A 3B 20 42 rnie Eiben,..; B
0001C0: 72 75 63 65 20 54 61 6E 6E 65 72 2C 20 4E 69 63 ruce Tanner, Nic
0001D0: 6B 20 42 75 73 68 2C 20 47 72 65 67 20 53 6D 61 k Bush, Greg Sma
0001E0: 6C 6C 2C 20 4B 69 6D 6D 6F 20 4C 61 61 6B 73 6F ll, Kimmo Laakso
0001F0: 6E 65 6E 2C 20 4A 65 66 66 20 44 61 6D 65 6E 73 nen, Jeff Damens
Size : 512 (Real : 512)
000000: 65 2E 0D 0A 09 6C 78 69 09 68 2C 30 09 09 3B 43 e....lxi.h,0..;C
000010: 6C 65 61 72 20 6F 75 74 20 68 6C 20 70 61 69 72 lear out hl pair
000020: 2E 0D 0A 09 64 61 64 09 73 70 09 09 3B 47 65 74 ....dad.sp..;Get
000030: 20 74 68 65 20 70 72 65 73 65 6E 74 20 73 74 61 the present sta
000040: 63 6B 20 70 6F 69 6E 74 65 72 2E 0D 0A 09 73 68 ck pointer....sh
000050: 6C 64 09 63 6D 6F 73 74 70 09 09 3B 53 61 76 65 ld.cmostp..;Save
000060: 20 66 6F 72 20 6C 61 74 65 72 20 72 65 73 74 6F for later resto
000070: 72 61 6C 2E 0D 0A 09 78 63 68 67 09 09 09 3B 53 ral....xchg...;S
000080: 61 76 65 20 74 68 65 20 70 6F 69 6E 74 65 72 20 ave the pointer
000090: 74 6F 20 74 68 65 20 70 72 6F 6D 70 74 2E 0D 0A to the prompt...
0000A0: 09 73 68 6C 64 09 63 6D 70 72 6D 70 0D 0A 09 78 .shld.cmprmp...x
0000B0: 63 68 67 0D 0A 09 6C 78 69 09 68 2C 63 6D 64 62 chg...lxi.h,cmdb
0000C0: 75 66 0D 0A 09 73 68 6C 64 09 63 6D 63 70 74 72 uf...shld.cmcptr
0000D0: 09 09 3B 49 6E 69 74 69 61 6C 69 7A 65 20 74 68 ..;Initialize th
0000E0: 65 20 63 6F 6D 6D 61 6E 64 20 70 6F 69 6E 74 65 e command pointe
0000F0: 72 2E 0D 0A 09 73 68 6C 64 09 63 6D 64 70 74 72 r....shld.cmdptr
000100: 0D 0A 09 78 72 61 09 61 0D 0A 09 73 74 61 09 63 ...xra.a...sta.c
000110: 6D 61 66 6C 67 09 09 3B 5A 65 72 6F 20 74 68 65 maflg..;Zero the
000120: 20 66 6C 61 67 73 2E 0D 0A 09 73 74 61 09 63 6D flags....sta.cm
000130: 63 63 6E 74 0D 0A 09 6D 76 69 09 61 2C 30 46 46 ccnt...mvi.a,0FF
000140: 48 09 09 3B 54 72 79 20 69 74 20 74 68 69 73 20 H..;Try it this
000150: 77 61 79 20 28 44 61 70 68 6E 65 2E 29 0D 0A 09 way (Daphne.)...
000160: 73 74 61 09 63 6D 73 66 6C 67 0D 0A 09 63 61 6C sta.cmsflg...cal
000170: 6C 09 70 72 63 72 6C 66 09 09 3B 50 72 69 6E 74 l.prcrlf..;Print
000180: 20 61 20 43 52 2F 4C 46 20 5B 54 6F 61 64 20 48 a CR/LF [Toad H
000190: 61 6C 6C 5D 0D 0A 09 6A 6D 70 09 70 72 70 72 6D all]...jmp.prprm
0001A0: 70 09 09 3B 50 72 69 6E 74 20 74 68 65 20 70 72 p..;Print the pr
0001B0: 6F 6D 70 74 2E 20 20 5B 54 6F 61 64 20 48 61 6C ompt. [Toad Hal
0001C0: 6C 5D 0D 0A 3B 0C 0D 0A 3B 09 54 68 69 73 20 61 l]..;...;.This a
0001D0: 64 64 72 65 73 73 20 69 73 20 6A 75 6D 70 65 64 ddress is jumped
0001E0: 20 74 6F 20 6F 6E 20 72 65 70 61 72 73 65 2E 0D to on reparse..
0001F0: 0A 3B 09 68 65 72 65 20 66 72 6F 6D 3A 20 20 63 .;.here from: c
Size : 512 (Real : 512)
000000: 6F 2E 0D 0A 09 6D 76 69 09 63 2C 63 6F 6E 6F 75 o....mvi.c,conou
000010: 74 0D 0A 09 6D 76 69 09 65 2C 62 65 6C 6C 09 09 t...mvi.e,bell..
000020: 3B 47 65 74 20 61 20 62 65 6C 6C 2E 0D 0A 09 63 ;Get a bell....c
000030: 61 6C 6C 09 62 64 6F 73 0D 0A 09 78 72 61 09 61 all.bdos...xra.a
000040: 0D 0A 09 73 74 61 09 63 6D 61 66 6C 67 09 09 3B ...sta.cmaflg..;
000050: 54 75 72 6E 20 6F 66 66 20 74 68 65 20 61 63 74 Turn off the act
000060: 69 6F 6E 20 66 6C 61 67 2E 0D 0A 09 6C 68 6C 64 ion flag....lhld
000070: 09 63 6D 63 70 74 72 09 09 3B 4D 6F 76 65 20 74 .cmcptr..;Move t
000080: 68 65 20 70 6F 69 6E 74 65 72 20 74 6F 20 62 65 he pointer to be
000090: 66 6F 72 65 20 74 68 65 20 65 73 63 61 70 65 2E fore the escape.
0000A0: 0D 0A 09 64 63 78 09 68 0D 0A 09 73 68 6C 64 09 ...dcx.h...shld.
0000B0: 63 6D 63 70 74 72 0D 0A 09 73 68 6C 64 09 63 6D cmcptr...shld.cm
0000C0: 64 70 74 72 0D 0A 09 6C 78 69 09 68 2C 63 6D 63 dptr...lxi.h,cmc
0000D0: 63 6E 74 09 3B 47 65 74 20 74 68 65 20 63 68 61 cnt.;Get the cha
0000E0: 72 20 63 6F 75 6E 74 2E 0D 0A 09 64 63 72 09 6D r count....dcr.m
0000F0: 09 09 3B 44 65 63 72 65 6D 65 6E 74 20 69 74 20 ..;Decrement it
000100: 62 79 20 6F 6E 65 2E 0D 0A 09 6A 6D 70 09 63 6D by one....jmp.cm
000110: 74 78 74 31 09 09 3B 54 72 79 20 61 67 61 69 6E txt1..;Try again
000120: 2E 0D 0A 0D 0A 63 6D 74 78 74 32 3A 09 63 70 69 .....cmtxt2:.cpi
000130: 09 27 3F 27 09 09 3B 49 73 20 69 74 20 61 20 71 .'?'..;Is it a q
000140: 75 65 73 74 69 6F 6E 20 6D 61 72 6B 3F 0D 0A 09 uestion mark?...
000150: 6A 7A 09 63 6D 74 78 74 33 09 09 3B 49 66 20 73 jz.cmtxt3..;If s
000160: 6F 20 70 75 74 20 69 74 20 69 6E 20 74 68 65 20 o put it in the
000170: 74 65 78 74 2E 0D 0A 09 63 70 69 09 66 66 09 09 text....cpi.ff..
000180: 3B 49 73 20 69 74 20 61 20 66 6F 72 6D 66 65 65 ;Is it a formfee
000190: 64 3F 0D 0A 09 63 7A 09 63 6C 72 74 6F 70 09 09 d?...cz.clrtop..
0001A0: 3B 49 66 20 73 6F 20 62 6C 61 6E 6B 20 74 68 65 ;If so blank the
0001B0: 20 73 63 72 65 65 6E 2E 0D 0A 09 6D 6F 76 09 61 screen....mov.a
0001C0: 2C 62 09 09 3B 52 65 74 75 72 6E 20 74 68 65 20 ,b..;Return the
0001D0: 63 6F 75 6E 74 2E 0D 0A 09 6C 68 6C 64 09 63 6D count....lhld.cm
0001E0: 70 74 61 62 09 09 3B 52 65 74 75 72 6E 20 75 70 ptab..;Return up
0001F0: 64 61 74 65 64 20 70 6F 69 6E 74 65 72 20 69 6E dated pointer in
Size : 512 (Real : 512)
000000: 6D 63 66 72 6D 2C 20 63 6D 6B 65 79 77 2C 20 63 mcfrm, cmkeyw, c
000010: 6D 69 66 69 6C 2C 20 63 6D 69 6E 62 66 0D 0A 0D mifil, cminbf...
000020: 0A 72 65 70 61 72 73 3A 09 6C 68 6C 64 09 63 6D .repars:.lhld.cm
000030: 6F 73 74 70 09 09 3B 47 65 74 20 74 68 65 20 6F ostp..;Get the o
000040: 6C 64 20 73 74 61 63 6B 20 70 6F 69 6E 74 65 72 ld stack pointer
000050: 2E 0D 0A 09 73 70 68 6C 09 09 09 3B 4D 61 6B 65 ....sphl...;Make
000060: 20 69 74 20 74 68 65 20 70 72 65 73 65 6E 74 20 it the present
000070: 6F 6E 65 2E 0D 0A 09 6C 78 69 09 68 2C 63 6D 64 one....lxi.h,cmd
000080: 62 75 66 0D 0A 09 73 68 6C 64 09 63 6D 64 70 74 buf...shld.cmdpt
000090: 72 0D 0A 09 6D 76 69 09 61 2C 30 46 46 48 09 09 r...mvi.a,0FFH..
0000A0: 3B 54 72 79 20 69 74 20 74 68 69 73 20 77 61 79 ;Try it this way
0000B0: 20 28 44 61 70 68 6E 65 2E 29 0D 0A 09 73 74 61 (Daphne.)...sta
0000C0: 09 63 6D 73 66 6C 67 0D 0A 09 6C 68 6C 64 09 63 .cmsflg...lhld.c
0000D0: 6D 72 70 72 73 09 09 3B 47 65 74 20 74 68 65 20 mrprs..;Get the
0000E0: 72 65 70 61 72 73 65 20 61 64 64 72 65 73 73 2E reparse address.
0000F0: 0D 0A 09 70 63 68 6C 09 09 09 3B 47 6F 20 74 68 ...pchl...;Go th
000100: 65 72 65 2E 0D 0A 0D 0A 3B 09 54 68 69 73 20 61 ere.....;.This a
000110: 64 64 72 65 73 73 20 63 61 6E 20 62 65 20 6A 75 ddress can be ju
000120: 6D 70 65 64 20 74 6F 20 6F 6E 20 61 20 70 61 72 mped to on a par
000130: 73 69 6E 67 20 65 72 72 6F 72 2E 0D 0A 3B 09 68 sing error...;.h
000140: 65 72 65 20 66 72 6F 6D 3A 20 20 63 6D 6B 65 79 ere from: cmkey
000150: 77 2C 20 63 6D 69 6E 62 66 0D 0A 0D 0A 70 72 73 w, cminbf....prs
000160: 65 72 72 3A 09 6C 68 6C 64 09 63 6D 6F 73 74 70 err:.lhld.cmostp
000170: 09 09 3B 47 65 74 20 74 68 65 20 6F 6C 64 20 73 ..;Get the old s
000180: 74 61 63 6B 20 70 6F 69 6E 74 65 72 2E 0D 0A 09 tack pointer....
000190: 73 70 68 6C 09 09 09 3B 4D 61 6B 65 20 69 74 20 sphl...;Make it
0001A0: 74 68 65 20 70 72 65 73 65 6E 74 20 6F 6E 65 2E the present one.
0001B0: 0D 0A 09 6C 78 69 09 68 2C 63 6D 64 62 75 66 0D ...lxi.h,cmdbuf.
0001C0: 0A 09 73 68 6C 64 09 63 6D 63 70 74 72 09 09 3B ..shld.cmcptr..;
0001D0: 49 6E 69 74 69 61 6C 69 7A 65 20 74 68 65 20 63 Initialize the c
0001E0: 6F 6D 6D 61 6E 64 20 70 6F 69 6E 74 65 72 2E 0D ommand pointer..
0001F0: 0A 09 73 68 6C 64 09 63 6D 64 70 74 72 0D 0A 09 ..shld.cmdptr...
Size : 512 (Real : 512)
000000: 20 48 4C 2E 0D 0A 09 78 63 68 67 0D 0A 09 6A 6D HL....xchg...jm
000010: 70 09 72 73 6B 70 09 09 3B 52 65 74 75 72 6E 20 p.rskp..;Return
000020: 73 75 63 63 65 73 73 2E 0D 0A 0D 0A 63 6D 74 78 success.....cmtx
000030: 74 33 3A 09 6C 78 69 09 68 2C 63 6D 61 66 6C 67 t3:.lxi.h,cmaflg
000040: 09 3B 50 6F 69 6E 74 20 74 6F 20 74 68 65 20 61 .;Point to the a
000050: 63 74 69 6F 6E 20 66 6C 61 67 2E 0D 0A 09 6D 76 ction flag....mv
000060: 69 09 6D 2C 30 09 09 3B 53 65 74 20 69 74 20 74 i.m,0..;Set it t
000070: 6F 20 7A 65 72 6F 2E 0D 0A 63 6D 74 78 74 35 3A o zero...cmtxt5:
000080: 09 69 6E 72 09 62 09 09 3B 49 6E 63 72 65 6D 65 .inr.b..;Increme
000090: 6E 74 20 74 68 65 20 63 6F 75 6E 74 2E 0D 0A 09 nt the count....
0000A0: 6C 68 6C 64 09 63 6D 70 74 61 62 09 09 3B 47 65 lhld.cmptab..;Ge
0000B0: 74 20 74 68 65 20 70 6F 69 6E 74 65 72 2E 0D 0A t the pointer...
0000C0: 09 6D 6F 76 09 6D 2C 61 09 09 3B 50 75 74 20 74 .mov.m,a..;Put t
0000D0: 68 65 20 63 68 61 72 20 69 6E 20 74 68 65 20 61 he char in the a
0000E0: 72 72 61 79 2E 0D 0A 09 69 6E 78 09 68 0D 0A 09 rray....inx.h...
0000F0: 73 68 6C 64 09 63 6D 70 74 61 62 09 09 3B 53 61 shld.cmptab..;Sa
000100: 76 65 20 74 68 65 20 75 70 64 61 74 65 64 20 70 ve the updated p
000110: 6F 69 6E 74 65 72 2E 0D 0A 09 6A 6D 70 09 63 6D ointer....jmp.cm
000120: 74 78 74 31 09 09 3B 47 65 74 20 61 6E 6F 74 68 txt1..;Get anoth
000130: 65 72 20 63 68 61 72 2E 0D 0A 0D 0A 3B 0C 0D 0A er char.....;...
000140: 3B 09 54 68 69 73 20 72 6F 75 74 69 6E 65 20 67 ;.This routine g
000150: 65 74 73 20 61 20 63 6F 6E 66 69 72 6D 2E 0D 0A ets a confirm...
000160: 3B 09 63 61 6C 6C 65 64 20 62 79 3A 20 63 6F 6D ;.called by: com
000170: 6E 64 0D 0A 0D 0A 63 6D 63 66 72 6D 3A 09 63 61 nd....cmcfrm:.ca
000180: 6C 6C 09 63 6D 67 74 63 68 09 09 3B 47 65 74 20 ll.cmgtch..;Get
000190: 61 20 63 68 61 72 2E 0D 0A 09 6F 72 61 09 61 09 a char....ora.a.
0001A0: 09 3B 49 73 20 69 74 20 6E 65 67 61 74 69 76 65 .;Is it negative
0001B0: 20 28 61 20 74 65 72 6D 69 6E 61 74 6F 72 3B 61 (a terminator;a
0001C0: 20 73 70 61 63 65 20 6F 72 0D 0A 09 09 09 09 3B space or......;
0001D0: 61 20 74 61 62 20 77 69 6C 6C 20 6E 6F 74 20 62 a tab will not b
0001E0: 65 20 72 65 74 75 72 6E 65 64 20 68 65 72 65 20 e returned here
0001F0: 61 73 20 74 68 65 79 0D 0A 09 09 09 09 3B 77 69 as they......;wi
Size : 512 (Real : 512)
000000: 78 72 61 09 61 0D 0A 09 73 74 61 09 63 6D 61 66 xra.a...sta.cmaf
000010: 6C 67 09 09 3B 5A 65 72 6F 20 74 68 65 20 66 6C lg..;Zero the fl
000020: 61 67 73 2E 0D 0A 09 73 74 61 09 63 6D 63 63 6E ags....sta.cmccn
000030: 74 0D 0A 09 6D 76 69 09 61 2C 30 46 46 48 09 09 t...mvi.a,0FFH..
000040: 3B 54 72 79 20 69 74 20 74 68 69 73 20 77 61 79 ;Try it this way
000050: 20 28 44 61 70 68 6E 65 2E 29 0D 0A 09 73 74 61 (Daphne.)...sta
000060: 09 63 6D 73 66 6C 67 0D 0A 09 63 61 6C 6C 09 70 .cmsflg...call.p
000070: 72 63 72 6C 66 09 09 3B 50 72 69 6E 74 20 61 20 rcrlf..;Print a
000080: 43 52 2F 4C 46 20 20 5B 54 6F 61 64 20 48 61 6C CR/LF [Toad Hal
000090: 6C 5D 0D 0A 09 63 61 6C 6C 09 70 72 70 72 6D 70 l]...call.prprmp
0000A0: 09 09 3B 50 72 69 6E 74 20 74 68 65 20 70 72 6F ..;Print the pro
0000B0: 6D 70 74 20 20 5B 54 6F 61 64 20 48 61 6C 6C 5D mpt [Toad Hall]
0000C0: 0D 0A 3B 2A 20 49 6E 73 74 65 61 64 20 72 65 74 ..;* Instead ret
0000D0: 75 72 6E 20 74 6F 20 62 65 66 6F 72 65 20 74 68 urn to before th
0000E0: 65 20 70 72 6F 6D 70 74 20 63 61 6C 6C 2E 0D 0A e prompt call...
0000F0: 09 6C 68 6C 64 09 63 6D 72 70 72 73 0D 0A 09 70 .lhld.cmrprs...p
000100: 63 68 6C 0D 0A 3B 0C 0D 0A 3B 09 54 68 69 73 20 chl..;...;.This
000110: 72 6F 75 74 69 6E 65 20 70 61 72 73 65 73 20 74 routine parses t
000120: 68 65 20 73 70 65 63 69 66 69 65 64 20 66 75 6E he specified fun
000130: 63 74 69 6F 6E 20 69 6E 20 41 2E 20 20 41 6E 79 ction in A. Any
000140: 20 61 64 64 69 74 69 6F 6E 61 6C 0D 0A 3B 09 69 additional..;.i
000150: 6E 66 6F 72 6D 61 74 69 6F 6E 20 69 73 20 69 6E nformation is in
000160: 20 44 45 20 61 6E 64 20 48 4C 2E 0D 0A 3B 09 52 DE and HL...;.R
000170: 65 74 75 72 6E 73 20 2B 31 20 6F 6E 20 73 75 63 eturns +1 on suc
000180: 63 65 73 73 0D 0A 3B 09 09 2B 34 20 6F 6E 20 66 cess..;..+4 on f
000190: 61 69 6C 75 72 65 20 28 61 73 73 75 6D 65 73 20 ailure (assumes
0001A0: 61 20 4A 4D 50 20 66 6F 6C 6C 6F 77 73 20 74 68 a JMP follows th
0001B0: 65 20 63 61 6C 6C 29 0D 0A 3B 09 63 61 6C 6C 65 e call)..;.calle
0001C0: 64 20 62 79 3A 20 20 6C 6F 67 2C 20 73 65 74 63 d by: log, setc
0001D0: 6F 6D 2C 20 72 65 61 64 2C 20 73 65 6E 64 2C 20 om, read, send,
0001E0: 78 6D 69 74 2C 20 64 69 72 2C 20 65 72 61 2C 20 xmit, dir, era,
0001F0: 6B 65 79 63 6D 64 2C 20 63 66 6D 63 6D 64 0D 0A keycmd, cfmcmd..
Size : 512 (Real : 512)
000000: 6C 6C 20 62 65 20 73 65 65 6E 20 61 73 20 6C 65 ll be seen as le
000010: 61 64 69 6E 67 20 77 68 69 74 65 20 73 70 61 63 ading white spac
000020: 65 2E 29 0D 0A 09 72 70 09 09 09 3B 49 66 20 6E e.)...rp...;If n
000030: 6F 74 2C 20 72 65 74 75 72 6E 20 66 61 69 6C 75 ot, return failu
000040: 72 65 2E 0D 0A 09 61 6E 69 09 37 46 48 09 09 3B re....ani.7FH..;
000050: 54 75 72 6E 20 6F 66 66 20 74 68 65 20 6D 69 6E Turn off the min
000060: 75 73 20 62 69 74 2E 0D 0A 09 63 70 69 09 65 73 us bit....cpi.es
000070: 63 09 09 3B 49 73 20 69 74 20 61 6E 20 65 73 63 c..;Is it an esc
000080: 61 70 65 3F 0D 0A 09 6A 6E 7A 09 63 6D 63 66 72 ape?...jnz.cmcfr
000090: 32 0D 0A 09 6D 76 69 09 63 2C 63 6F 6E 6F 75 74 2...mvi.c,conout
0000A0: 0D 0A 09 6D 76 69 09 65 2C 62 65 6C 6C 09 09 3B ...mvi.e,bell..;
0000B0: 47 65 74 20 61 20 62 65 6C 6C 2E 0D 0A 09 63 61 Get a bell....ca
0000C0: 6C 6C 09 62 64 6F 73 0D 0A 09 78 72 61 09 61 0D ll.bdos...xra.a.
0000D0: 0A 09 73 74 61 09 63 6D 61 66 6C 67 09 09 3B 54 ..sta.cmaflg..;T
0000E0: 75 72 6E 20 6F 66 66 20 74 68 65 20 61 63 74 69 urn off the acti
0000F0: 6F 6E 20 66 6C 61 67 2E 0D 0A 09 6C 68 6C 64 09 on flag....lhld.
000100: 63 6D 63 70 74 72 09 09 3B 4D 6F 76 65 20 74 68 cmcptr..;Move th
000110: 65 20 70 6F 69 6E 74 65 72 20 74 6F 20 62 65 66 e pointer to bef
000120: 6F 72 65 20 74 68 65 20 65 73 63 61 70 65 2E 0D ore the escape..
000130: 0A 09 64 63 78 09 68 0D 0A 09 73 68 6C 64 09 63 ..dcx.h...shld.c
000140: 6D 63 70 74 72 0D 0A 09 73 68 6C 64 09 63 6D 64 mcptr...shld.cmd
000150: 70 74 72 0D 0A 09 6C 78 69 09 68 2C 63 6D 63 63 ptr...lxi.h,cmcc
000160: 6E 74 09 3B 47 65 74 20 74 68 65 20 63 68 61 72 nt.;Get the char
000170: 20 63 6F 75 6E 74 2E 0D 0A 09 64 63 72 09 6D 09 count....dcr.m.
000180: 09 3B 44 65 63 72 65 6D 65 6E 74 20 69 74 20 62 .;Decrement it b
000190: 79 20 6F 6E 65 2E 0D 0A 09 6A 6D 70 09 63 6D 63 y one....jmp.cmc
0001A0: 66 72 6D 09 09 3B 54 72 79 20 61 67 61 69 6E 2E frm..;Try again.
0001B0: 0D 0A 0D 0A 63 6D 63 66 72 32 3A 09 63 70 69 09 ....cmcfr2:.cpi.
0001C0: 27 3F 27 09 09 3B 43 75 72 69 6F 75 73 3F 0D 0A '?'..;Curious?..
0001D0: 09 6A 6E 7A 09 63 6D 63 66 72 33 0D 0A 09 6C 78 .jnz.cmcfr3...lx
0001E0: 69 09 64 2C 63 6D 69 6E 30 30 09 3B 50 72 69 6E i.d,cmin00.;Prin
0001F0: 74 20 73 6F 6D 65 74 68 69 6E 67 20 75 73 65 66 t something usef
Size : 512 (Real : 512)
000000: 0D 0A 63 6F 6D 6E 64 3A 09 73 74 61 09 63 6D 73 ..comnd:.sta.cms
000010: 74 61 74 09 09 3B 53 61 76 65 20 77 68 61 74 20 tat..;Save what
000020: 77 65 20 61 72 65 20 70 72 65 73 65 6E 74 6C 79 we are presently
000030: 20 70 61 72 73 69 6E 67 2E 0D 0A 09 63 61 6C 6C parsing....call
000040: 09 63 6D 69 6E 62 66 09 09 3B 47 65 74 20 63 68 .cminbf..;Get ch
000050: 61 72 73 20 75 6E 74 69 6C 20 61 6E 20 61 63 74 ars until an act
000060: 69 6F 6E 20 6F 72 20 61 20 65 72 61 73 65 20 63 ion or a erase c
000070: 68 61 72 2E 0D 0A 09 63 70 69 09 63 6D 63 66 6D har....cpi.cmcfm
000080: 09 09 3B 50 61 72 73 65 20 61 20 63 6F 6E 66 69 ..;Parse a confi
000090: 72 6D 3F 0D 0A 09 6A 7A 09 63 6D 63 66 72 6D 09 rm?...jz.cmcfrm.
0000A0: 09 3B 47 6F 20 67 65 74 20 6F 6E 65 2E 0D 0A 09 .;Go get one....
0000B0: 63 70 69 09 63 6D 6B 65 79 09 09 3B 50 61 72 73 cpi.cmkey..;Pars
0000C0: 65 20 61 20 6B 65 79 77 6F 72 64 3F 0D 0A 09 6A e a keyword?...j
0000D0: 7A 09 63 6D 6B 65 79 77 09 09 3B 54 72 79 20 61 z.cmkeyw..;Try a
0000E0: 6E 64 20 67 65 74 20 6F 6E 65 2E 0D 0A 09 63 70 nd get one....cp
0000F0: 69 09 63 6D 69 66 69 09 09 3B 50 61 72 73 65 20 i.cmifi..;Parse
000100: 61 6E 20 69 6E 70 75 74 20 66 69 6C 65 20 73 70 an input file sp
000110: 65 63 3F 0D 0A 09 6A 7A 09 63 6D 69 66 69 6C 09 ec?...jz.cmifil.
000120: 09 3B 47 6F 20 67 65 74 20 6F 6E 65 2E 0D 0A 09 .;Go get one....
000130: 63 70 69 09 63 6D 69 66 69 6E 09 09 3B 49 6E 70 cpi.cmifin..;Inp
000140: 75 74 20 66 69 6C 65 2D 73 70 65 63 20 73 69 6C ut file-spec sil
000150: 65 6E 74 3F 0D 0A 09 6A 7A 09 63 6D 69 66 69 6C ent?...jz.cmifil
000160: 09 09 3B 64 6F 20 61 73 20 68 65 20 77 69 73 68 ..;do as he wish
000170: 65 73 0D 0A 09 63 70 69 09 63 6D 6F 66 69 09 09 es...cpi.cmofi..
000180: 3B 4F 75 74 70 75 74 20 66 69 6C 65 20 73 70 65 ;Output file spe
000190: 63 3F 0D 0A 09 6A 7A 09 63 6D 6F 66 69 6C 09 09 c?...jz.cmofil..
0001A0: 3B 47 6F 20 67 65 74 20 6F 6E 65 2E 0D 0A 09 63 ;Go get one....c
0001B0: 70 69 09 63 6D 74 78 74 09 09 3B 50 61 72 73 65 pi.cmtxt..;Parse
0001C0: 20 61 72 62 69 74 72 61 72 79 20 74 65 78 74 3F arbitrary text?
0001D0: 0D 0A 09 6A 7A 09 63 6D 74 65 78 74 09 09 3B 47 ...jz.cmtext..;G
0001E0: 6F 20 64 6F 20 69 74 2E 0D 0A 09 6C 78 69 09 64 o do it....lxi.d
0001F0: 2C 63 6D 65 72 30 30 09 3B 22 3F 55 6E 72 65 63 ,cmer00.;"?Unrec
Size : 512 (Real : 512)
000000: 75 6C 2E 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 ul....call.prtst
000010: 72 0D 0A 09 63 61 6C 6C 09 70 72 63 72 6C 66 09 r...call.prcrlf.
000020: 09 3B 50 72 69 6E 74 20 61 20 63 72 6C 66 2E 20 .;Print a crlf.
000030: 20 5B 54 6F 61 64 20 48 61 6C 6C 5D 0D 0A 20 09 [Toad Hall].. .
000040: 63 61 6C 6C 09 70 72 70 72 6D 70 09 09 3B 52 65 call.prprmp..;Re
000050: 70 72 69 6E 74 20 74 68 65 20 70 72 6F 6D 70 74 print the prompt
000060: 20 20 5B 54 6F 61 64 20 48 61 6C 6C 5D 0D 0A 09 [Toad Hall]...
000070: 6C 68 6C 64 09 63 6D 64 70 74 72 09 09 3B 47 65 lhld.cmdptr..;Ge
000080: 74 20 74 68 65 20 70 6F 69 6E 74 65 72 20 69 6E t the pointer in
000090: 74 6F 20 74 68 65 20 62 75 66 66 65 72 2E 0D 0A to the buffer...
0000A0: 09 6D 76 69 09 61 2C 27 24 27 09 09 3B 50 75 74 .mvi.a,'$'..;Put
0000B0: 20 61 20 24 20 74 68 65 72 65 20 66 6F 72 20 70 a $ there for p
0000C0: 72 69 6E 74 69 6E 67 2E 0D 0A 09 6D 6F 76 09 6D rinting....mov.m
0000D0: 2C 61 0D 0A 09 6C 68 6C 64 09 63 6D 63 70 74 72 ,a...lhld.cmcptr
0000E0: 0D 0A 09 64 63 78 09 68 09 09 3B 44 65 63 72 65 ...dcx.h..;Decre
0000F0: 6D 65 6E 74 20 61 6E 64 20 73 61 76 65 20 74 68 ment and save th
000100: 65 20 62 75 66 66 65 72 20 70 6F 69 6E 74 65 72 e buffer pointer
000110: 2E 0D 0A 09 73 68 6C 64 09 63 6D 63 70 74 72 0D ....shld.cmcptr.
000120: 0A 09 6C 78 69 09 64 2C 63 6D 64 62 75 66 0D 0A ..lxi.d,cmdbuf..
000130: 09 63 61 6C 6C 09 70 72 74 73 74 72 0D 0A 09 78 .call.prtstr...x
000140: 72 61 09 61 09 09 3B 54 75 72 6E 20 6F 66 66 20 ra.a..;Turn off
000150: 74 68 65 20 61 63 74 69 6F 6E 20 66 6C 61 67 2E the action flag.
000160: 0D 0A 09 73 74 61 09 63 6D 61 66 6C 67 0D 0A 09 ...sta.cmaflg...
000170: 6A 6D 70 09 72 65 70 61 72 73 09 09 3B 52 65 70 jmp.repars..;Rep
000180: 61 72 73 65 20 65 76 65 72 79 74 68 69 6E 67 2E arse everything.
000190: 0D 0A 0D 0A 63 6D 63 66 72 33 3A 09 63 70 69 09 ....cmcfr3:.cpi.
0001A0: 66 66 09 09 3B 49 73 20 69 74 20 61 20 66 6F 72 ff..;Is it a for
0001B0: 6D 20 66 65 65 64 3F 0D 0A 09 63 7A 09 63 6C 72 m feed?...cz.clr
0001C0: 74 6F 70 09 09 3B 49 66 20 73 6F 20 62 6C 61 6E top..;If so blan
0001D0: 6B 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 09 k the screen....
0001E0: 6A 6D 70 09 72 73 6B 70 0D 0A 3B 0C 0D 0A 3B 09 jmp.rskp..;...;.
0001F0: 54 68 69 73 20 72 6F 75 74 69 6E 65 20 70 61 72 This routine par
Size : 512 (Real : 512)
000000: 6F 67 6E 69 7A 65 64 20 43 4F 4D 4E 44 20 63 61 ognized COMND ca
000010: 6C 6C 22 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 ll"...call.prtst
000020: 72 0D 0A 09 72 65 74 0D 0A 3B 0C 0D 0A 3B 09 54 r...ret..;...;.T
000030: 68 69 73 20 72 6F 75 74 69 6E 65 20 70 61 72 73 his routine pars
000040: 65 73 20 61 72 62 69 74 72 61 72 79 20 74 65 78 es arbitrary tex
000050: 74 20 75 70 20 74 6F 20 61 20 43 52 2E 0D 0A 3B t up to a CR...;
000060: 09 41 63 63 65 70 74 73 20 44 45 3A 09 61 64 64 .Accepts DE:.add
000070: 72 65 73 73 20 74 6F 20 70 75 74 20 74 65 78 74 ress to put text
000080: 0D 0A 3B 09 52 65 74 75 72 6E 73 20 69 6E 20 41 ..;.Returns in A
000090: 3A 09 6E 75 6D 62 65 72 20 6F 66 20 63 68 61 72 :.number of char
0000A0: 73 20 69 6E 20 74 65 78 74 20 28 6D 61 79 20 62 s in text (may b
0000B0: 65 20 30 29 0D 0A 3B 09 09 20 20 44 45 3A 09 75 e 0)..;.. DE:.u
0000C0: 70 64 61 74 65 64 20 70 6F 69 6E 74 65 72 0D 0A pdated pointer..
0000D0: 3B 09 63 61 6C 6C 65 64 20 62 79 3A 20 63 6F 6D ;.called by: com
0000E0: 6E 64 0D 0A 0D 0A 63 6D 74 65 78 74 3A 09 78 63 nd....cmtext:.xc
0000F0: 68 67 09 09 09 3B 50 75 74 20 74 68 65 20 70 6F hg...;Put the po
000100: 69 6E 74 65 72 20 74 6F 20 74 68 65 20 64 65 73 inter to the des
000110: 74 20 69 6E 20 48 4C 2E 0D 0A 09 73 68 6C 64 09 t in HL....shld.
000120: 63 6D 70 74 61 62 09 09 3B 53 61 76 65 20 74 68 cmptab..;Save th
000130: 65 20 70 6F 69 6E 74 65 72 2E 0D 0A 09 6D 76 69 e pointer....mvi
000140: 09 62 2C 30 09 09 3B 49 6E 69 74 20 74 68 65 20 .b,0..;Init the
000150: 63 68 61 72 20 63 6F 75 6E 74 0D 0A 63 6D 74 78 char count..cmtx
000160: 74 31 3A 09 63 61 6C 6C 09 63 6D 67 74 63 68 09 t1:.call.cmgtch.
000170: 09 3B 47 65 74 20 61 20 63 68 61 72 2E 0D 0A 09 .;Get a char....
000180: 6F 72 61 09 61 09 09 3B 54 65 72 6D 69 6E 61 74 ora.a..;Terminat
000190: 6F 72 3F 0D 0A 09 6A 70 09 63 6D 74 78 74 35 09 or?...jp.cmtxt5.
0001A0: 09 3B 4E 6F 2C 20 70 75 74 20 69 6E 20 75 73 65 .;No, put in use
0001B0: 72 20 73 70 61 63 65 2E 0D 0A 09 61 6E 69 09 37 r space....ani.7
0001C0: 46 48 09 09 3B 54 75 72 6E 20 6F 66 66 20 6D 69 FH..;Turn off mi
0001D0: 6E 75 73 20 62 69 74 2E 0D 0A 09 63 70 69 09 65 nus bit....cpi.e
0001E0: 73 63 09 09 3B 41 6E 20 65 73 63 61 70 65 3F 0D sc..;An escape?.
0001F0: 0A 09 6A 6E 7A 09 63 6D 74 78 74 32 09 09 3B 4E ..jnz.cmtxt2..;N
Size : 512 (Real : 512)
000000: 73 65 73 20 61 20 6B 65 79 77 6F 72 64 20 66 72 ses a keyword fr
000010: 6F 6D 20 74 68 65 20 74 61 62 6C 65 20 70 6F 69 om the table poi
000020: 6E 74 65 64 0D 0A 3B 09 74 6F 20 69 6E 20 44 45 nted..;.to in DE
000030: 2E 20 20 54 68 65 20 66 6F 72 6D 61 74 20 6F 66 . The format of
000040: 20 74 68 65 20 74 61 62 6C 65 20 69 73 20 61 73 the table is as
000050: 20 66 6F 6C 6C 6F 77 73 3A 0D 0A 3B 0D 0A 3B 09 follows:..;..;.
000060: 61 64 64 72 3A 09 64 62 09 6E 09 3B 57 68 65 72 addr:.db.n.;Wher
000070: 65 20 6E 20 69 73 20 74 68 65 20 23 20 6F 66 20 e n is the # of
000080: 65 6E 74 72 69 65 73 20 69 6E 20 74 68 65 20 74 entries in the t
000090: 61 62 6C 65 2E 0D 0A 3B 09 09 64 62 09 6D 09 3B able...;..db.m.;
0000A0: 4D 20 69 73 20 74 68 65 20 73 69 7A 65 20 6F 66 M is the size of
0000B0: 20 74 68 65 20 6B 65 79 77 6F 72 64 2E 0D 0A 3B the keyword...;
0000C0: 09 09 64 62 09 27 73 74 72 69 6E 67 24 27 20 3B ..db.'string$' ;
0000D0: 57 68 65 72 65 20 73 74 72 69 6E 67 20 69 73 20 Where string is
0000E0: 74 68 65 20 6B 65 79 77 6F 72 64 2E 0D 0A 3B 09 the keyword...;.
0000F0: 09 64 62 09 61 2C 62 09 3B 57 68 65 72 65 20 61 .db.a,b.;Where a
000100: 20 26 20 62 20 61 72 65 20 70 69 65 63 65 73 20 & b are pieces
000110: 6F 66 20 64 61 74 61 0D 0A 3B 09 09 09 09 3B 74 of data..;....;t
000120: 6F 20 62 65 20 72 65 74 75 72 6E 65 64 2E 20 20 o be returned.
000130: 28 4D 75 73 74 20 62 65 20 74 77 6F 20 6F 66 20 (Must be two of
000140: 74 68 65 6D 2E 29 0D 0A 3B 0D 0A 3B 09 54 68 65 them.)..;..;.The
000150: 20 6B 65 79 77 6F 72 64 73 20 6D 75 73 74 20 62 keywords must b
000160: 65 20 69 6E 20 61 6C 70 68 61 62 65 74 69 63 61 e in alphabetica
000170: 6C 20 6F 72 64 65 72 2E 0D 0A 3B 2A 2A 2A 2A 20 l order...;****
000180: 4E 6F 74 65 3A 20 20 54 68 65 20 64 61 74 61 20 Note: The data
000190: 76 61 6C 75 65 20 61 20 69 73 20 72 65 74 75 72 value a is retur
0001A0: 6E 65 64 20 69 6E 20 72 65 67 69 73 74 65 72 73 ned in registers
0001B0: 20 41 20 61 6E 64 20 45 2E 20 20 54 68 65 0D 0A A and E. The..
0001C0: 3B 2A 2A 2A 2A 09 64 61 74 61 20 76 61 6C 75 65 ;****.data value
0001D0: 20 62 20 69 73 20 72 65 74 75 72 6E 65 64 20 69 b is returned i
0001E0: 6E 20 72 65 67 69 73 74 65 72 20 44 2E 20 20 54 n register D. T
0001F0: 68 69 73 20 61 6C 6C 6F 77 73 20 74 68 65 20 74 his allows the t
Size : 512 (Real : 512)
000000: 0A 09 6A 7A 09 63 6D 6B 79 33 34 0D 0A 09 69 6E ..jz.cmky34...in
000010: 78 09 68 0D 0A 09 78 63 68 67 0D 0A 09 6D 6F 76 x.h...xchg...mov
000020: 09 6D 2C 61 09 09 3B 4D 6F 76 65 20 69 74 20 69 .m,a..;Move it i
000030: 6E 74 6F 20 74 68 65 20 62 75 66 66 65 72 2E 0D nto the buffer..
000040: 0A 09 69 6E 78 09 68 0D 0A 09 78 63 68 67 0D 0A ..inx.h...xchg..
000050: 09 6C 64 61 09 63 6D 63 63 6E 74 09 09 3B 49 6E .lda.cmccnt..;In
000060: 63 72 65 6D 65 6E 74 20 74 68 65 20 63 68 61 72 crement the char
000070: 20 63 6F 75 6E 74 2E 0D 0A 09 69 6E 72 09 61 0D count....inr.a.
000080: 0A 09 73 74 61 09 63 6D 63 63 6E 74 0D 0A 09 6A ..sta.cmccnt...j
000090: 6D 70 09 63 6D 6B 79 33 33 0D 0A 0D 0A 63 6D 6B mp.cmky33....cmk
0000A0: 79 33 34 3A 09 6C 64 61 09 63 6D 63 63 6E 74 09 y34:.lda.cmccnt.
0000B0: 09 3B 47 65 74 20 74 68 65 20 63 68 61 72 61 63 .;Get the charac
0000C0: 74 65 72 20 63 6F 75 6E 74 2E 0D 0A 09 69 6E 72 ter count....inr
0000D0: 09 61 09 09 3B 49 6E 63 72 65 6D 65 6E 74 20 61 .a..;Increment a
0000E0: 6E 64 20 73 61 76 65 20 69 74 2E 0D 0A 09 73 74 nd save it....st
0000F0: 61 09 63 6D 63 63 6E 74 0D 0A 09 78 63 68 67 09 a.cmccnt...xchg.
000100: 09 09 3B 50 75 74 20 74 68 65 20 63 6F 6D 6D 61 ..;Put the comma
000110: 6E 64 20 62 75 66 66 65 72 20 70 6F 69 6E 74 65 nd buffer pointe
000120: 72 20 69 6E 20 48 4C 2E 0D 0A 09 6D 76 69 09 61 r in HL....mvi.a
000130: 2C 27 20 27 09 09 3B 47 65 74 20 61 20 62 6C 61 ,' '..;Get a bla
000140: 6E 6B 2E 0D 0A 09 6D 6F 76 09 6D 2C 61 09 09 3B nk....mov.m,a..;
000150: 50 75 74 20 69 74 20 69 6E 20 74 68 65 20 63 6F Put it in the co
000160: 6D 6D 61 6E 64 20 62 75 66 66 65 72 2E 0D 0A 09 mmand buffer....
000170: 69 6E 78 09 68 09 09 3B 49 6E 63 72 65 6D 65 6E inx.h..;Incremen
000180: 74 20 74 68 65 20 70 6F 69 6E 74 65 72 0D 0A 09 t the pointer...
000190: 73 68 6C 64 09 63 6D 63 70 74 72 09 09 3B 53 61 shld.cmcptr..;Sa
0001A0: 76 65 20 74 68 65 20 75 70 64 61 74 65 64 20 70 ve the updated p
0001B0: 6F 69 6E 74 65 72 2E 0D 0A 09 73 68 6C 64 09 63 ointer....shld.c
0001C0: 6D 64 70 74 72 0D 0A 09 70 6F 70 09 68 0D 0A 09 mdptr...pop.h...
0001D0: 70 75 73 68 09 68 0D 0A 09 78 63 68 67 0D 0A 09 push.h...xchg...
0001E0: 63 61 6C 6C 09 70 72 74 73 74 72 09 09 3B 50 72 call.prtstr..;Pr
0001F0: 69 6E 74 20 74 68 65 20 72 65 73 74 20 6F 66 20 int the rest of
Size : 512 (Real : 512)
000000: 77 6F 20 64 61 74 61 0D 0A 3B 09 62 79 74 65 73 wo data..;.bytes
000010: 20 74 6F 20 62 65 20 73 74 6F 72 65 64 20 61 73 to be stored as
000020: 3A 0D 0A 3B 09 09 64 77 09 78 78 78 0D 0A 3B 09 :..;..dw.xxx..;.
000030: 61 6E 64 20 72 65 73 75 6C 74 20 69 6E 20 61 20 and result in a
000040: 63 6F 72 72 65 63 74 6C 79 20 66 6F 72 6D 61 74 correctly format
000050: 74 65 64 20 31 36 2D 62 69 74 20 76 61 6C 75 65 ted 16-bit value
000060: 20 69 6E 20 72 65 67 69 73 74 65 72 20 70 61 69 in register pai
000070: 72 0D 0A 3B 09 44 45 2E 0D 0A 3B 09 63 61 6C 6C r..;.DE...;.call
000080: 65 64 20 62 79 3A 20 63 6F 6D 6E 64 0D 0A 0D 0A ed by: comnd....
000090: 63 6D 6B 65 79 77 3A 09 73 68 6C 64 09 63 6D 68 cmkeyw:.shld.cmh
0000A0: 6C 70 09 09 3B 53 61 76 65 20 74 68 65 20 68 65 lp..;Save the he
0000B0: 6C 70 2E 0D 0A 09 78 63 68 67 09 09 09 3B 47 65 lp....xchg...;Ge
0000C0: 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6F 66 t the address of
0000D0: 20 74 68 65 20 74 61 62 6C 65 2E 0D 0A 09 73 68 the table....sh
0000E0: 6C 64 09 63 6D 70 74 61 62 09 09 3B 53 61 76 65 ld.cmptab..;Save
0000F0: 20 74 68 65 20 62 65 67 69 6E 6E 69 6E 67 20 6F the beginning o
000100: 66 20 6B 65 79 77 6F 72 64 20 74 61 62 20 66 6F f keyword tab fo
000110: 72 20 27 3F 27 2E 0D 0A 09 6D 6F 76 09 62 2C 6D r '?'....mov.b,m
000120: 09 09 3B 47 65 74 20 74 68 65 20 6E 75 6D 62 65 ..;Get the numbe
000130: 72 20 6F 66 20 65 6E 74 72 69 65 73 20 69 6E 20 r of entries in
000140: 74 68 65 20 74 61 62 6C 65 2E 0D 0A 09 69 6E 78 the table....inx
000150: 09 68 0D 0A 09 73 68 6C 64 09 63 6D 6B 70 74 72 .h...shld.cmkptr
000160: 0D 0A 09 6C 68 6C 64 09 63 6D 64 70 74 72 09 09 ...lhld.cmdptr..
000170: 3B 53 61 76 65 20 74 68 65 20 63 6F 6D 6D 61 6E ;Save the comman
000180: 64 20 70 6F 69 6E 74 65 72 2E 0D 0A 09 73 68 6C d pointer....shl
000190: 64 09 63 6D 73 70 74 72 0D 0A 63 6D 6B 65 79 32 d.cmsptr..cmkey2
0001A0: 3A 20 6D 6F 76 09 61 2C 62 09 09 3B 47 65 74 20 : mov.a,b..;Get
0001B0: 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 20 65 6E the number of en
0001C0: 74 72 69 65 73 20 6C 65 66 74 2E 0D 0A 09 6F 72 tries left....or
0001D0: 61 09 61 09 09 3B 41 6E 79 20 6C 65 66 74 3F 0D a.a..;Any left?.
0001E0: 0A 09 72 7A 09 09 09 3B 49 66 20 6E 6F 74 20 77 ..rz...;If not w
0001F0: 65 20 66 61 69 6C 65 64 2E 0D 0A 09 6C 68 6C 64 e failed....lhld
Size : 512 (Real : 512)
000000: 74 68 65 20 6B 65 79 77 6F 72 64 2E 0D 0A 09 6D the keyword....m
000010: 76 69 09 63 2C 63 6F 6E 6F 75 74 0D 0A 09 6D 76 vi.c,conout...mv
000020: 69 09 65 2C 27 20 27 0D 0A 09 63 61 6C 6C 09 62 i.e,' '...call.b
000030: 64 6F 73 09 09 3B 50 72 69 6E 74 20 61 20 62 6C dos..;Print a bl
000040: 61 6E 6B 2E 0D 0A 09 70 6F 70 09 68 0D 0A 09 70 ank....pop.h...p
000050: 6F 70 09 62 0D 0A 09 70 6F 70 09 64 0D 0A 09 6A op.b...pop.d...j
000060: 6D 70 09 63 6D 6B 79 33 37 0D 0A 0D 0A 63 6D 6B mp.cmky37....cmk
000070: 79 33 35 3A 09 70 75 73 68 09 68 0D 0A 09 70 75 y35:.push.h...pu
000080: 73 68 09 64 0D 0A 09 63 61 6C 6C 09 63 6D 61 6D sh.d...call.cmam
000090: 62 67 0D 0A 09 20 6A 6D 70 09 63 6D 6B 79 33 36 bg... jmp.cmky36
0000A0: 0D 0A 09 6C 78 69 09 64 2C 63 6D 65 72 30 31 0D ...lxi.d,cmer01.
0000B0: 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 09 09 3B ..call.prtstr..;
0000C0: 53 61 79 20 69 74 73 20 61 6D 62 69 67 75 6F 75 Say its ambiguou
0000D0: 73 2E 0D 0A 09 6A 6D 70 09 70 72 73 65 72 72 09 s....jmp.prserr.
0000E0: 09 3B 47 69 76 65 20 75 70 2E 0D 0A 0D 0A 63 6D .;Give up.....cm
0000F0: 6B 79 33 36 3A 09 70 6F 70 09 64 0D 0A 09 70 6F ky36:.pop.d...po
000100: 70 09 68 0D 0A 63 6D 6B 79 33 37 3A 09 69 6E 72 p.h..cmky37:.inr
000110: 09 65 09 09 3B 41 64 64 20 6F 6E 65 20 69 6E 63 .e..;Add one inc
000120: 61 73 65 20 69 74 20 69 73 20 6E 65 67 61 74 69 ase it is negati
000130: 76 65 2E 0D 0A 09 6D 76 69 09 64 2C 30 0D 0A 09 ve....mvi.d,0...
000140: 64 61 64 09 64 09 09 3B 49 6E 63 72 65 6D 65 6E dad.d..;Incremen
000150: 74 20 70 61 73 74 20 74 68 65 20 6B 65 79 77 6F t past the keywo
000160: 72 64 2E 0D 0A 09 69 6E 78 09 68 09 09 3B 50 61 rd....inx.h..;Pa
000170: 73 74 20 74 68 65 20 24 2E 0D 0A 09 6D 6F 76 09 st the $....mov.
000180: 65 2C 6D 09 09 3B 47 65 74 20 74 68 65 20 64 61 e,m..;Get the da
000190: 74 61 2E 0D 0A 09 69 6E 78 09 68 0D 0A 09 6D 6F ta....inx.h...mo
0001A0: 76 09 64 2C 6D 0D 0A 09 6D 6F 76 09 61 2C 65 0D v.d,m...mov.a,e.
0001B0: 0A 09 6A 6D 70 09 72 73 6B 70 0D 0A 0D 0A 63 6D ..jmp.rskp....cm
0001C0: 6B 65 79 34 3A 09 63 70 69 09 27 61 27 09 09 3B key4:.cpi.'a'..;
0001D0: 49 73 20 69 74 20 6C 65 73 73 20 74 68 61 6E 20 Is it less than
0001E0: 61 3F 0D 0A 09 6A 6D 09 63 6D 6B 79 34 31 09 09 a?...jm.cmky41..
0001F0: 3B 49 66 20 73 6F 20 64 6F 6E 27 74 20 63 61 70 ;If so don't cap
Size : 512 (Real : 512)
000000: 09 63 6D 6B 70 74 72 0D 0A 09 6D 6F 76 09 65 2C .cmkptr...mov.e,
000010: 6D 09 09 3B 47 65 74 20 74 68 65 20 6C 65 6E 67 m..;Get the leng
000020: 74 68 20 6F 66 20 74 68 65 20 6B 65 79 77 6F 72 th of the keywor
000030: 64 2E 0D 0A 09 69 6E 78 09 68 0D 0A 63 6D 6B 65 d....inx.h..cmke
000040: 79 33 3A 09 64 63 72 09 65 09 09 3B 44 65 63 72 y3:.dcr.e..;Decr
000050: 65 6D 65 6E 74 20 74 68 65 20 6E 75 6D 62 65 72 ement the number
000060: 20 6F 66 20 63 68 61 72 73 20 6C 65 66 74 2E 0D of chars left..
000070: 0A 09 6D 6F 76 09 61 2C 65 0D 0A 09 63 70 69 09 ..mov.a,e...cpi.
000080: 30 46 46 48 09 09 3B 48 61 76 65 20 77 65 20 70 0FFH..;Have we p
000090: 61 73 73 65 64 20 74 68 65 20 65 6E 64 3F 0D 0A assed the end?..
0000A0: 09 6A 6D 09 63 6D 6B 65 79 35 09 09 3B 49 66 20 .jm.cmkey5..;If
0000B0: 73 6F 20 67 6F 20 74 6F 20 74 68 65 20 6E 65 78 so go to the nex
0000C0: 74 2E 0D 0A 09 63 61 6C 6C 09 63 6D 67 74 63 68 t....call.cmgtch
0000D0: 09 09 3B 47 65 74 20 61 20 63 68 61 72 2E 0D 0A ..;Get a char...
0000E0: 09 6F 72 61 09 61 09 09 3B 49 73 20 69 74 20 61 .ora.a..;Is it a
0000F0: 20 74 65 72 6D 69 6E 61 74 6F 72 3F 0D 0A 09 6A terminator?...j
000100: 70 09 63 6D 6B 65 79 34 09 09 3B 49 66 20 70 6F p.cmkey4..;If po
000110: 73 69 74 69 76 65 2C 20 69 74 20 69 73 20 6E 6F sitive, it is no
000120: 74 2E 0D 0A 09 61 6E 69 09 37 46 48 09 09 3B 54 t....ani.7FH..;T
000130: 75 72 6E 20 6F 66 66 20 74 68 65 20 6D 69 6E 75 urn off the minu
000140: 73 20 62 69 74 2E 0D 0A 09 63 70 69 09 27 3F 27 s bit....cpi.'?'
000150: 0D 0A 09 6A 6E 7A 09 63 6D 6B 79 33 31 0D 0A 09 ...jnz.cmky31...
000160: 78 72 61 09 61 0D 0A 09 73 74 61 09 63 6D 61 66 xra.a...sta.cmaf
000170: 6C 67 09 09 3B 54 75 72 6E 20 6F 66 66 20 74 68 lg..;Turn off th
000180: 65 20 61 63 74 69 6F 6E 20 66 6C 61 67 2E 0D 0A e action flag...
000190: 09 6C 78 69 09 68 2C 63 6D 63 63 6E 74 09 3B 44 .lxi.h,cmccnt.;D
0001A0: 65 63 72 65 6D 65 6E 74 20 74 68 65 20 63 68 61 ecrement the cha
0001B0: 72 20 63 6F 75 6E 74 2E 0D 0A 09 64 63 72 09 6D r count....dcr.m
0001C0: 0D 0A 3B 2A 20 4D 75 73 74 20 67 6F 20 74 68 72 ..;* Must go thr
0001D0: 6F 75 67 68 20 74 68 65 20 6B 65 79 77 6F 72 64 ough the keyword
0001E0: 20 74 61 62 6C 65 20 61 6E 64 20 70 72 69 6E 74 table and print
0001F0: 20 74 68 65 6D 2E 0D 0A 09 6C 68 6C 64 09 63 6D them....lhld.cm
Size : 512 (Real : 512)
000000: 69 74 61 6C 69 7A 65 20 69 74 2E 0D 0A 09 63 70 italize it....cp
000010: 69 09 27 7A 27 2B 31 09 09 3B 49 73 20 69 74 20 i.'z'+1..;Is it
000020: 6D 6F 72 65 20 74 68 61 6E 20 7A 3F 0D 0A 09 6A more than z?...j
000030: 70 09 63 6D 6B 79 34 31 09 09 3B 49 66 20 73 6F p.cmky41..;If so
000040: 20 64 6F 6E 27 74 20 63 61 70 69 74 61 6C 69 7A don't capitaliz
000050: 65 20 69 74 2E 0D 0A 09 61 6E 69 09 31 33 37 4F e it....ani.137O
000060: 09 09 3B 43 61 70 69 74 61 6C 69 7A 65 20 69 74 ..;Capitalize it
000070: 2E 0D 0A 63 6D 6B 79 34 31 3A 09 6D 6F 76 09 64 ...cmky41:.mov.d
000080: 2C 6D 09 09 3B 47 65 74 20 74 68 65 20 6E 65 78 ,m..;Get the nex
000090: 74 20 63 68 61 72 20 6F 66 20 74 68 65 20 6B 65 t char of the ke
0000A0: 79 77 6F 72 64 2E 0D 0A 09 69 6E 78 09 68 0D 0A yword....inx.h..
0000B0: 09 63 6D 70 09 64 09 09 3B 4D 61 74 63 68 3F 0D .cmp.d..;Match?.
0000C0: 0A 09 6A 7A 09 63 6D 6B 65 79 33 09 09 3B 49 66 ..jz.cmkey3..;If
0000D0: 20 73 6F 20 67 65 74 20 74 68 65 20 6E 65 78 74 so get the next
0000E0: 20 6C 65 74 74 65 72 2E 0D 0A 0D 0A 63 6D 6B 65 letter.....cmke
0000F0: 79 35 3A 09 6D 76 69 09 64 2C 30 0D 0A 09 6D 6F y5:.mvi.d,0...mo
000100: 76 09 61 2C 65 09 09 3B 47 65 74 20 74 68 65 20 v.a,e..;Get the
000110: 6E 75 6D 62 65 72 20 6F 66 20 63 68 61 72 73 20 number of chars
000120: 6C 65 66 74 2E 0D 0A 09 6F 72 61 09 61 09 09 3B left....ora.a..;
000130: 49 73 20 69 74 20 6E 65 67 61 74 69 76 65 3F 0D Is it negative?.
000140: 0A 09 6A 70 09 63 6D 6B 79 35 31 0D 0A 09 6D 76 ..jp.cmky51...mv
000150: 69 09 64 2C 30 46 46 48 09 09 3B 49 66 20 73 6F i.d,0FFH..;If so
000160: 2C 20 73 69 67 6E 20 65 78 74 65 6E 64 2E 0D 0A , sign extend...
000170: 63 6D 6B 79 35 31 3A 09 64 61 64 09 64 09 09 3B cmky51:.dad.d..;
000180: 49 6E 63 72 65 6D 65 6E 74 20 70 61 73 74 20 74 Increment past t
000190: 68 65 20 6B 65 79 77 6F 72 64 2E 0D 0A 09 6C 78 he keyword....lx
0001A0: 69 09 64 2C 30 30 30 33 48 09 09 3B 50 6C 75 73 i.d,0003H..;Plus
0001B0: 20 74 68 65 20 24 20 61 6E 64 20 64 61 74 61 2E the $ and data.
0001C0: 0D 0A 09 64 61 64 09 64 0D 0A 09 73 68 6C 64 09 ...dad.d...shld.
0001D0: 63 6D 6B 70 74 72 0D 0A 09 64 63 72 09 62 09 09 cmkptr...dcr.b..
0001E0: 3B 44 65 63 72 65 6D 65 6E 74 20 74 68 65 20 6E ;Decrement the n
0001F0: 75 6D 62 65 72 20 6F 66 20 65 6E 74 72 69 65 73 umber of entries
Size : 512 (Real : 512)
000000: 68 6C 70 09 09 3B 46 6F 72 20 6E 6F 77 20 70 72 hlp..;For now pr
000010: 69 6E 74 20 74 68 65 20 68 65 6C 70 20 74 65 78 int the help tex
000020: 74 2E 0D 0A 09 78 63 68 67 0D 0A 09 63 61 6C 6C t....xchg...call
000030: 09 70 72 74 73 74 72 0D 0A 09 63 61 6C 6C 09 70 .prtstr...call.p
000040: 72 63 72 6C 66 09 09 3B 50 72 69 6E 74 20 61 20 rcrlf..;Print a
000050: 63 72 6C 66 20 20 5B 54 6F 61 64 20 48 61 6C 6C crlf [Toad Hall
000060: 5D 0D 0A 09 63 61 6C 6C 09 70 72 70 72 6D 70 09 ]...call.prprmp.
000070: 09 3B 52 65 70 72 69 6E 74 20 74 68 65 20 70 72 .;Reprint the pr
000080: 6F 6D 70 74 20 20 5B 54 6F 61 64 20 48 61 6C 6C ompt [Toad Hall
000090: 5D 0D 0A 09 6C 68 6C 64 09 63 6D 64 70 74 72 09 ]...lhld.cmdptr.
0000A0: 09 3B 47 65 74 20 74 68 65 20 70 6F 69 6E 74 65 .;Get the pointe
0000B0: 72 20 69 6E 74 6F 20 74 68 65 20 62 75 66 66 65 r into the buffe
0000C0: 72 2E 0D 0A 09 6D 76 69 09 61 2C 27 24 27 09 09 r....mvi.a,'$'..
0000D0: 3B 50 75 74 20 61 20 24 20 74 68 65 72 65 20 66 ;Put a $ there f
0000E0: 6F 72 20 70 72 69 6E 74 69 6E 67 2E 0D 0A 09 6D or printing....m
0000F0: 6F 76 09 6D 2C 61 0D 0A 09 6C 68 6C 64 09 63 6D ov.m,a...lhld.cm
000100: 63 70 74 72 0D 0A 09 64 63 78 09 68 09 09 3B 44 cptr...dcx.h..;D
000110: 65 63 72 65 6D 65 6E 74 20 61 6E 64 20 73 61 76 ecrement and sav
000120: 65 20 74 68 65 20 62 75 66 66 65 72 20 70 6F 69 e the buffer poi
000130: 6E 74 65 72 2E 0D 0A 09 73 68 6C 64 09 63 6D 63 nter....shld.cmc
000140: 70 74 72 0D 0A 09 6C 78 69 09 64 2C 63 6D 64 62 ptr...lxi.d,cmdb
000150: 75 66 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 uf...call.prtstr
000160: 0D 0A 09 6A 6D 70 09 72 65 70 61 72 73 09 09 3B ...jmp.repars..;
000170: 52 65 70 61 72 73 65 20 65 76 65 72 79 74 68 69 Reparse everythi
000180: 6E 67 2E 0D 0A 0D 0A 63 6D 6B 79 33 31 3A 09 63 ng.....cmky31:.c
000190: 70 69 09 65 73 63 09 09 3B 49 73 20 69 74 20 61 pi.esc..;Is it a
0001A0: 6E 20 65 73 63 61 70 65 3F 0D 0A 09 6A 6E 7A 09 n escape?...jnz.
0001B0: 63 6D 6B 79 33 35 0D 0A 09 78 72 61 09 61 0D 0A cmky35...xra.a..
0001C0: 09 73 74 61 09 63 6D 61 66 6C 67 09 09 3B 54 75 .sta.cmaflg..;Tu
0001D0: 72 6E 20 6F 66 66 20 74 68 65 20 61 63 74 69 6F rn off the actio
0001E0: 6E 20 66 6C 61 67 2E 0D 0A 09 70 75 73 68 09 64 n flag....push.d
0001F0: 0D 0A 09 70 75 73 68 09 62 0D 0A 09 70 75 73 68 ...push.b...push
Size : 512 (Real : 512)
000000: 20 6C 65 66 74 2E 0D 0A 09 6C 68 6C 64 09 63 6D left....lhld.cm
000010: 73 70 74 72 09 09 3B 47 65 74 20 74 68 65 20 6F sptr..;Get the o
000020: 6C 64 20 63 6D 64 70 74 72 2E 0D 0A 09 73 68 6C ld cmdptr....shl
000030: 64 09 63 6D 64 70 74 72 09 09 3B 52 65 73 74 6F d.cmdptr..;Resto
000040: 72 65 20 69 74 2E 0D 0A 3B 2A 20 63 68 65 63 6B re it...;* check
000050: 20 73 6F 20 77 65 20 64 6F 6E 27 74 20 70 61 73 so we don't pas
000060: 73 20 69 74 2E 0D 0A 09 6A 6D 70 09 63 6D 6B 65 s it....jmp.cmke
000070: 79 32 09 09 3B 47 6F 20 63 68 65 63 6B 20 74 68 y2..;Go check th
000080: 65 20 6E 65 78 74 20 6B 65 79 77 6F 72 64 2E 0D e next keyword..
000090: 0A 3B 0C 0D 0A 3B 09 54 65 73 74 20 6B 65 79 77 .;...;.Test keyw
0000A0: 6F 72 64 20 66 6F 72 20 61 6D 62 69 67 75 69 74 ord for ambiguit
0000B0: 79 2E 0D 0A 3B 09 72 65 74 75 72 6E 73 3A 20 6E y...;.returns: n
0000C0: 6F 6E 73 6B 69 70 20 69 66 20 61 6D 62 69 67 75 onskip if ambigu
0000D0: 6F 75 73 2C 20 73 6B 69 70 20 69 66 20 4F 4B 2E ous, skip if OK.
0000E0: 0D 0A 3B 09 63 61 6C 6C 65 64 20 62 79 3A 20 63 ..;.called by: c
0000F0: 6D 6B 65 79 77 0D 0A 0D 0A 63 6D 61 6D 62 67 3A mkeyw....cmambg:
000100: 09 64 63 72 09 62 09 09 3B 44 65 63 72 65 6D 65 .dcr.b..;Decreme
000110: 6E 74 20 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 nt the number of
000120: 20 65 6E 74 72 69 65 73 20 6C 65 66 74 2E 0D 0A entries left...
000130: 09 72 6D 09 09 09 3B 49 66 20 6E 6F 6E 65 20 6C .rm...;If none l
000140: 65 66 74 20 74 68 65 6E 20 69 74 20 69 73 20 6E eft then it is n
000150: 6F 74 20 61 6D 62 69 67 75 6F 75 73 2E 0D 0A 09 ot ambiguous....
000160: 69 6E 72 09 65 09 09 3B 54 68 69 73 20 69 73 20 inr.e..;This is
000170: 6F 66 66 20 62 79 20 6F 6E 65 3B 61 64 6A 75 73 off by one;adjus
000180: 74 2E 0D 0A 09 6D 6F 76 09 63 2C 65 09 09 3B 53 t....mov.c,e..;S
000190: 61 76 65 20 74 68 65 20 63 68 61 72 20 63 6F 75 ave the char cou
0001A0: 6E 74 2E 0D 0A 09 6D 6F 76 09 61 2C 65 0D 0A 09 nt....mov.a,e...
0001B0: 6F 72 61 09 61 09 09 3B 41 6E 79 20 63 68 61 72 ora.a..;Any char
0001C0: 73 20 6C 65 66 74 3F 0D 0A 09 72 7A 09 09 09 3B s left?...rz...;
0001D0: 4E 6F 2C 20 69 74 20 63 61 6E 27 74 20 62 65 20 No, it can't be
0001E0: 61 6D 62 69 67 75 6F 75 73 2E 0D 0A 09 6D 76 69 ambiguous....mvi
0001F0: 09 64 2C 30 0D 0A 09 64 61 64 09 64 09 09 3B 49 .d,0...dad.d..;I
Size : 512 (Real : 512)
000000: 09 68 0D 0A 09 63 61 6C 6C 09 63 6D 61 6D 62 67 .h...call.cmambg
000010: 0D 0A 09 20 6A 6D 70 09 63 6D 6B 79 33 32 09 09 ... jmp.cmky32..
000020: 3B 4E 6F 74 20 61 6D 62 69 67 75 6F 75 73 2E 0D ;Not ambiguous..
000030: 0A 09 6D 76 69 09 63 2C 63 6F 6E 6F 75 74 0D 0A ..mvi.c,conout..
000040: 09 6D 76 69 09 65 2C 62 65 6C 6C 0D 0A 09 63 61 .mvi.e,bell...ca
000050: 6C 6C 09 62 64 6F 73 09 09 3B 52 69 6E 67 20 74 ll.bdos..;Ring t
000060: 68 65 20 62 65 6C 6C 2E 0D 0A 09 6C 68 6C 64 09 he bell....lhld.
000070: 63 6D 63 70 74 72 09 09 3B 4D 6F 76 65 20 74 68 cmcptr..;Move th
000080: 65 20 70 6F 69 6E 74 65 72 20 74 6F 20 62 65 66 e pointer to bef
000090: 6F 72 65 20 74 68 65 20 65 73 63 61 70 65 2E 0D ore the escape..
0000A0: 0A 09 64 63 78 09 68 0D 0A 09 73 68 6C 64 09 63 ..dcx.h...shld.c
0000B0: 6D 63 70 74 72 0D 0A 09 73 68 6C 64 09 63 6D 64 mcptr...shld.cmd
0000C0: 70 74 72 0D 0A 09 6C 78 69 09 68 2C 63 6D 63 63 ptr...lxi.h,cmcc
0000D0: 6E 74 09 3B 47 65 74 20 74 68 65 20 63 68 61 72 nt.;Get the char
0000E0: 20 63 6F 75 6E 74 2E 0D 0A 09 64 63 72 09 6D 09 count....dcr.m.
0000F0: 09 3B 44 65 63 72 65 6D 65 6E 74 20 69 74 20 62 .;Decrement it b
000100: 79 20 6F 6E 65 2E 0D 0A 09 70 6F 70 09 68 0D 0A y one....pop.h..
000110: 09 70 6F 70 09 62 0D 0A 09 70 6F 70 09 64 0D 0A .pop.b...pop.d..
000120: 09 69 6E 72 09 65 09 09 3B 49 6E 63 72 65 6D 65 .inr.e..;Increme
000130: 6E 74 20 74 68 65 20 6C 65 66 74 20 74 6F 20 70 nt the left to p
000140: 61 72 73 65 20 63 68 61 72 20 63 6F 75 6E 74 2E arse char count.
000150: 0D 0A 09 6A 6D 70 09 63 6D 6B 65 79 33 0D 0A 0D ...jmp.cmkey3...
000160: 0A 63 6D 6B 79 33 32 3A 09 6C 68 6C 64 09 63 6D .cmky32:.lhld.cm
000170: 63 70 74 72 09 09 3B 50 6F 69 6E 74 65 72 20 69 cptr..;Pointer i
000180: 6E 74 6F 20 62 75 66 66 65 72 2E 0D 0A 09 64 63 nto buffer....dc
000190: 78 09 68 09 09 3B 42 61 63 6B 75 70 20 74 6F 20 x.h..;Backup to
0001A0: 74 68 65 20 65 73 63 61 70 65 2E 0D 0A 09 78 63 the escape....xc
0001B0: 68 67 0D 0A 09 70 6F 70 09 68 0D 0A 09 70 75 73 hg...pop.h...pus
0001C0: 68 09 68 0D 0A 63 6D 6B 79 33 33 3A 09 6D 6F 76 h.h..cmky33:.mov
0001D0: 09 61 2C 6D 09 09 3B 47 65 74 20 74 68 65 20 6E .a,m..;Get the n
0001E0: 65 78 74 20 63 68 61 72 2E 0D 0A 09 63 70 69 09 ext char....cpi.
0001F0: 27 24 27 09 09 3B 46 69 6E 69 73 68 65 64 3F 0D '$'..;Finished?.
Size : 512 (Real : 512)
000000: 6E 63 72 65 6D 65 6E 74 20 70 61 73 74 20 74 68 ncrement past th
000010: 65 20 6B 65 79 77 6F 72 64 2E 0D 0A 09 6D 76 69 e keyword....mvi
000020: 09 65 2C 33 09 09 3B 50 6C 75 73 20 74 68 65 20 .e,3..;Plus the
000030: 24 20 61 6E 64 20 64 61 74 61 2E 0D 0A 09 64 61 $ and data....da
000040: 64 09 64 0D 0A 09 6D 6F 76 09 62 2C 6D 09 09 3B d.d...mov.b,m..;
000050: 47 65 74 20 74 68 65 20 6C 65 6E 67 74 68 20 6F Get the length o
000060: 66 20 74 68 65 20 6B 65 79 77 6F 72 64 2E 0D 0A f the keyword...
000070: 09 69 6E 78 09 68 0D 0A 09 78 63 68 67 0D 0A 09 .inx.h...xchg...
000080: 6C 68 6C 64 09 63 6D 6B 70 74 72 09 09 3B 47 65 lhld.cmkptr..;Ge
000090: 74 20 70 6F 69 6E 74 65 72 20 74 6F 20 6B 65 79 t pointer to key
0000A0: 77 6F 72 64 20 65 6E 74 72 79 2E 0D 0A 09 6D 6F word entry....mo
0000B0: 76 09 61 2C 6D 09 09 3B 47 65 74 20 74 68 65 20 v.a,m..;Get the
0000C0: 6C 65 6E 67 74 68 20 6F 66 20 74 68 65 20 6B 65 length of the ke
0000D0: 79 77 6F 72 64 2E 0D 0A 09 73 75 62 09 63 09 09 yword....sub.c..
0000E0: 3B 53 75 62 74 72 61 63 74 20 68 6F 77 20 6D 61 ;Subtract how ma
0000F0: 6E 79 20 6C 65 66 74 2E 0D 0A 09 6D 6F 76 09 63 ny left....mov.c
000100: 2C 61 09 09 3B 53 61 76 65 20 74 68 65 20 63 6F ,a..;Save the co
000110: 75 6E 74 2E 0D 0A 09 63 6D 70 09 62 0D 0A 09 6A unt....cmp.b...j
000120: 7A 09 63 6D 61 6D 62 30 0D 0A 09 72 70 09 09 09 z.cmamb0...rp...
000130: 3B 49 66 20 6C 61 72 67 65 72 20 74 68 61 6E 20 ;If larger than
000140: 74 68 65 20 6E 65 77 20 77 6F 72 64 20 74 68 65 the new word the
000150: 6E 20 6E 6F 74 20 61 6D 62 2E 0D 0A 63 6D 61 6D n not amb...cmam
000160: 62 30 3A 09 6C 68 6C 64 09 63 6D 73 70 74 72 09 b0:.lhld.cmsptr.
000170: 09 3B 47 65 74 20 74 68 65 20 70 6F 69 6E 74 65 .;Get the pointe
000180: 72 20 74 6F 20 77 68 61 74 20 70 61 72 73 65 64 r to what parsed
000190: 2E 0D 0A 63 6D 61 6D 62 31 3A 09 64 63 72 09 63 ...cmamb1:.dcr.c
0001A0: 09 09 3B 44 65 63 72 65 6D 65 6E 74 20 74 68 65 ..;Decrement the
0001B0: 20 63 6F 75 6E 74 2E 0D 0A 09 6A 6D 09 72 73 6B count....jm.rsk
0001C0: 70 09 09 3B 49 66 20 77 65 20 61 72 65 20 64 6F p..;If we are do
0001D0: 6E 65 20 74 68 65 6E 20 69 74 20 69 73 20 61 6D ne then it is am
0001E0: 62 69 67 75 6F 75 73 2E 0D 0A 09 78 63 68 67 09 biguous....xchg.
0001F0: 09 09 3B 45 78 63 68 61 6E 67 65 20 74 68 65 20 ..;Exchange the
Size : 512 (Real : 512)
000000: 63 3A 09 6C 68 6C 64 09 63 6D 66 63 62 32 09 09 c:.lhld.cmfcb2..
000010: 3B 46 69 6C 6C 20 74 68 65 20 72 65 73 74 20 77 ;Fill the rest w
000020: 69 74 68 20 43 50 2F 4D 20 77 69 6C 64 63 61 72 ith CP/M wildcar
000030: 64 73 2E 0D 0A 63 6D 66 72 63 31 3A 09 63 70 69 ds...cmfrc1:.cpi
000040: 09 31 31 09 09 3B 44 6F 6E 65 3F 0D 0A 09 6A 70 .11..;Done?...jp
000050: 09 63 6D 66 72 63 32 09 09 3B 59 65 73 2E 0D 0A .cmfrc2..;Yes...
000060: 09 6D 76 69 09 6D 2C 27 3F 27 0D 0A 09 69 6E 78 .mvi.m,'?'...inx
000070: 09 68 0D 0A 09 69 6E 72 09 61 0D 0A 09 6A 6D 70 .h...inr.a...jmp
000080: 09 63 6D 66 72 63 31 0D 0A 0D 0A 63 6D 66 72 63 .cmfrc1....cmfrc
000090: 32 3A 09 6D 76 69 09 63 2C 73 66 69 72 73 74 09 2:.mvi.c,sfirst.
0000A0: 3B 46 69 6E 64 20 66 69 72 73 74 20 6D 61 74 63 ;Find first matc
0000B0: 68 69 6E 67 20 66 69 6C 65 3F 0D 0A 09 6C 68 6C hing file?...lhl
0000C0: 64 09 63 6D 66 63 62 0D 0A 09 78 63 68 67 0D 0A d.cmfcb...xchg..
0000D0: 09 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 63 70 69 .call.bdos...cpi
0000E0: 09 30 46 46 48 0D 0A 09 6A 7A 09 63 6D 66 72 63 .0FFH...jz.cmfrc
0000F0: 39 09 09 3B 4E 6F 2C 20 6C 6F 73 65 2E 0D 0A 09 9..;No, lose....
000100: 6C 78 69 09 68 2C 66 63 62 62 6C 6B 09 3B 43 6F lxi.h,fcbblk.;Co
000110: 70 79 20 66 69 72 73 74 20 66 69 6C 65 20 73 70 py first file sp
000120: 65 63 2E 0D 0A 09 63 61 6C 6C 09 66 73 70 63 6F ec....call.fspco
000130: 70 0D 0A 09 6C 78 69 09 68 2C 66 63 62 62 6C 6B p...lxi.h,fcbblk
000140: 2B 31 30 48 09 3B 47 65 74 20 61 6E 6F 74 68 65 +10H.;Get anothe
000150: 72 20 63 6F 70 79 20 28 69 6E 20 63 61 73 65 20 r copy (in case
000160: 6E 6F 74 20 61 6D 62 69 67 75 6F 75 73 29 2E 0D not ambiguous)..
000170: 0A 09 63 61 6C 6C 09 66 73 70 63 6F 70 0D 0A 09 ..call.fspcop...
000180: 6D 76 69 09 63 2C 73 6E 65 78 74 09 09 3B 4D 6F mvi.c,snext..;Mo
000190: 72 65 20 6D 61 74 63 68 69 6E 67 20 73 70 65 63 re matching spec
0001A0: 73 3F 0D 0A 09 6C 68 6C 64 09 63 6D 66 63 62 0D s?...lhld.cmfcb.
0001B0: 0A 09 78 63 68 67 0D 0A 09 63 61 6C 6C 09 62 64 ..xchg...call.bd
0001C0: 6F 73 0D 0A 09 63 70 69 09 30 46 46 48 0D 0A 09 os...cpi.0FFH...
0001D0: 6A 7A 09 63 6D 66 72 63 33 09 09 3B 4F 6E 6C 79 jz.cmfrc3..;Only
0001E0: 20 6F 6E 65 2E 0D 0A 09 6C 78 69 09 68 2C 66 63 one....lxi.h,fc
0001F0: 62 62 6C 6B 2B 31 30 48 09 3B 43 6F 70 79 20 73 bblk+10H.;Copy s
Size : 512 (Real : 512)
000000: 70 6F 69 6E 74 65 72 73 2E 0D 0A 09 6D 6F 76 09 pointers....mov.
000010: 62 2C 6D 09 09 3B 47 65 74 20 74 68 65 20 6E 65 b,m..;Get the ne
000020: 78 74 20 63 68 61 72 20 6F 66 20 74 68 65 20 6B xt char of the k
000030: 65 79 77 6F 72 64 0D 0A 09 69 6E 78 09 68 0D 0A eyword...inx.h..
000040: 09 78 63 68 67 09 09 09 3B 45 78 63 68 61 6E 67 .xchg...;Exchang
000050: 65 20 74 68 65 20 70 6F 69 6E 74 65 72 73 2E 0D e the pointers..
000060: 0A 09 6D 6F 76 09 61 2C 6D 09 09 3B 47 65 74 20 ..mov.a,m..;Get
000070: 74 68 65 20 6E 65 78 74 20 70 61 72 73 65 64 20 the next parsed
000080: 63 68 61 72 2E 0D 0A 09 69 6E 78 09 68 0D 0A 09 char....inx.h...
000090: 63 70 69 09 27 61 27 09 09 3B 49 73 20 69 74 20 cpi.'a'..;Is it
0000A0: 6C 65 73 73 20 74 68 61 6E 20 61 3F 0D 0A 09 6A less than a?...j
0000B0: 6D 09 63 6D 61 6D 62 32 09 09 3B 49 66 20 73 6F m.cmamb2..;If so
0000C0: 20 64 6F 6E 27 74 20 63 61 70 69 74 61 6C 69 7A don't capitaliz
0000D0: 65 20 69 74 2E 0D 0A 09 63 70 69 09 27 7A 27 2B e it....cpi.'z'+
0000E0: 31 09 09 3B 49 73 20 69 74 20 6D 6F 72 65 20 74 1..;Is it more t
0000F0: 68 61 6E 20 7A 3F 0D 0A 09 6A 70 09 63 6D 61 6D han z?...jp.cmam
000100: 62 32 09 09 3B 49 66 20 73 6F 20 64 6F 6E 27 74 b2..;If so don't
000110: 20 63 61 70 69 74 61 6C 69 7A 65 20 69 74 2E 0D capitalize it..
000120: 0A 09 61 6E 69 09 31 33 37 4F 0D 0A 63 6D 61 6D ..ani.137O..cmam
000130: 62 32 3A 09 63 6D 70 09 62 09 09 3B 41 72 65 20 b2:.cmp.b..;Are
000140: 74 68 65 79 20 65 71 75 61 6C 3F 0D 0A 09 72 6E they equal?...rn
000150: 7A 09 09 09 3B 49 66 20 6E 6F 74 20 74 68 65 6E z...;If not then
000160: 20 69 74 73 20 6E 6F 74 20 61 6D 62 69 67 75 6F its not ambiguo
000170: 75 73 2E 0D 0A 09 6A 6D 70 09 63 6D 61 6D 62 31 us....jmp.cmamb1
000180: 09 09 3B 43 68 65 63 6B 20 74 68 65 20 6E 65 78 ..;Check the nex
000190: 74 20 63 68 61 72 2E 0D 0A 3B 0C 0D 0A 3B 09 63 t char...;...;.c
0001A0: 6D 6F 66 69 6C 20 2D 20 70 61 72 73 65 20 6F 75 mofil - parse ou
0001B0: 74 70 75 74 20 66 69 6C 65 73 70 65 63 0D 0A 3B tput filespec..;
0001C0: 09 63 6D 69 66 69 6C 20 2D 20 70 61 72 73 65 20 .cmifil - parse
0001D0: 69 6E 70 75 74 20 66 69 6C 65 73 70 65 63 0D 0A input filespec..
0001E0: 3B 09 68 65 72 65 20 66 72 6F 6D 3A 20 63 6F 6D ;.here from: com
0001F0: 6E 64 0D 0A 0D 0A 63 6D 6F 66 69 6C 3A 09 6D 76 nd....cmofil:.mv
Size : 512 (Real : 512)
000000: 65 63 6F 6E 64 20 66 69 6C 65 20 73 70 65 63 2E econd file spec.
000010: 0D 0A 09 63 61 6C 6C 09 66 73 70 63 6F 70 0D 0A ...call.fspcop..
000020: 63 6D 66 72 63 33 3A 09 6C 78 69 09 64 2C 66 63 cmfrc3:.lxi.d,fc
000030: 62 62 6C 6B 09 3B 53 74 61 72 74 20 63 6F 6D 70 bblk.;Start comp
000040: 61 72 69 6E 67 20 66 69 6C 65 20 6E 61 6D 65 73 aring file names
000050: 2E 0D 0A 09 6C 78 69 09 68 2C 66 63 62 62 6C 6B ....lxi.h,fcbblk
000060: 2B 31 30 48 0D 0A 09 6C 64 61 09 74 65 6D 70 31 +10H...lda.temp1
000070: 09 09 3B 42 79 70 61 73 73 20 63 68 61 72 61 63 ..;Bypass charac
000080: 74 65 72 73 20 74 79 70 65 64 2E 0D 0A 09 63 70 ters typed....cp
000090: 69 09 39 09 09 3B 50 61 73 74 20 27 2E 27 3F 0D i.9..;Past '.'?.
0000A0: 0A 09 6A 6D 09 63 6D 66 72 63 34 09 09 3B 4E 6F ..jm.cmfrc4..;No
0000B0: 2E 0D 0A 09 64 63 72 09 61 09 09 3B 59 65 73 2C ....dcr.a..;Yes,
0000C0: 20 64 6F 6E 27 74 20 63 6F 75 6E 74 20 70 6F 69 don't count poi
0000D0: 6E 74 2E 0D 0A 63 6D 66 72 63 34 3A 09 6D 76 69 nt...cmfrc4:.mvi
0000E0: 09 63 2C 30 0D 0A 63 6D 66 72 6C 31 3A 09 63 6D .c,0..cmfrl1:.cm
0000F0: 70 09 63 09 09 3B 42 79 70 61 73 73 65 64 3F 0D p.c..;Bypassed?.
000100: 0A 09 6A 7A 09 63 6D 66 72 6C 32 09 09 3B 59 65 ..jz.cmfrl2..;Ye
000110: 73 2E 0D 0A 09 69 6E 78 09 64 0D 0A 09 69 6E 78 s....inx.d...inx
000120: 09 68 0D 0A 09 69 6E 72 09 63 0D 0A 09 6A 6D 70 .h...inr.c...jmp
000130: 09 63 6D 66 72 6C 31 09 09 3B 52 65 70 65 61 74 .cmfrl1..;Repeat
000140: 2E 0D 0A 0D 0A 63 6D 66 72 6C 32 3A 09 6D 6F 76 .....cmfrl2:.mov
000150: 09 61 2C 63 09 09 3B 47 65 74 20 66 69 6C 65 20 .a,c..;Get file
000160: 6E 61 6D 65 20 63 68 61 72 61 63 74 65 72 73 20 name characters
000170: 70 72 6F 63 65 73 73 65 64 2E 0D 0A 09 63 70 69 processed....cpi
000180: 09 31 31 09 09 3B 41 6C 6C 20 64 6F 6E 65 3F 0D .11..;All done?.
000190: 0A 09 6A 7A 09 63 6D 66 72 63 35 09 09 3B 59 65 ..jz.cmfrc5..;Ye
0001A0: 73 2E 0D 0A 09 63 70 69 09 38 09 09 3B 45 6E 64 s....cpi.8..;End
0001B0: 20 6F 66 20 66 69 6C 65 20 6E 61 6D 65 3F 0D 0A of file name?..
0001C0: 09 6A 6E 7A 09 63 6D 66 72 6C 33 09 09 3B 4E 6F .jnz.cmfrl3..;No
0001D0: 2E 0D 0A 09 6C 64 61 09 74 65 6D 70 31 09 09 3B ....lda.temp1..;
0001E0: 45 78 61 63 74 6C 79 20 61 74 20 70 6F 69 6E 74 Exactly at point
0001F0: 3F 0D 0A 09 63 70 69 09 39 0D 0A 09 6A 7A 09 63 ?...cpi.9...jz.c
Size : 512 (Real : 512)
000000: 69 09 61 2C 30 09 09 3B 44 6F 6E 27 74 20 61 6C i.a,0..;Don't al
000010: 6C 6F 77 20 77 69 6C 64 63 61 72 64 73 2E 0D 0A low wildcards...
000020: 3B 09 6A 6D 70 09 63 6D 69 66 69 6C 09 09 3B 46 ;.jmp.cmifil..;F
000030: 6F 72 20 6E 6F 77 2C 20 74 68 65 20 73 61 6D 65 or now, the same
000040: 20 61 73 20 43 4D 49 46 49 2E 0D 0A 63 6D 69 66 as CMIFI...cmif
000050: 69 6C 3A 09 73 74 61 09 63 6D 66 77 6C 64 09 09 il:.sta.cmfwld..
000060: 3B 53 65 74 20 77 69 6C 64 63 61 72 64 20 66 6C ;Set wildcard fl
000070: 61 67 0D 0A 09 78 63 68 67 09 09 09 3B 47 65 74 ag...xchg...;Get
000080: 20 74 68 65 20 66 63 62 20 61 64 64 72 65 73 73 the fcb address
000090: 2E 0D 0A 09 73 68 6C 64 09 63 6D 66 63 62 09 09 ....shld.cmfcb..
0000A0: 3B 53 61 76 65 20 69 74 2E 0D 0A 09 6D 76 69 09 ;Save it....mvi.
0000B0: 65 2C 30 09 09 3B 49 6E 69 74 69 61 6C 69 7A 65 e,0..;Initialize
0000C0: 20 63 68 61 72 20 63 6F 75 6E 74 2E 0D 0A 09 6D char count....m
0000D0: 76 69 09 6D 2C 30 09 09 3B 53 65 74 20 74 68 65 vi.m,0..;Set the
0000E0: 20 64 72 69 76 65 20 74 6F 20 64 65 66 61 75 6C drive to defaul
0000F0: 74 20 74 6F 20 63 75 72 72 65 6E 74 2E 0D 0A 09 t to current....
000100: 69 6E 78 09 68 0D 0A 09 73 68 6C 64 09 63 6D 66 inx.h...shld.cmf
000110: 63 62 32 0D 0A 09 78 72 61 09 61 09 09 3B 49 6E cb2...xra.a..;In
000120: 69 74 69 61 6C 69 7A 65 20 63 6F 75 6E 74 65 72 itialize counter
000130: 2E 0D 0A 63 6D 69 66 69 30 3A 09 6D 76 69 09 6D ...cmifi0:.mvi.m
000140: 2C 27 20 27 09 09 3B 42 6C 61 6E 6B 20 74 68 65 ,' '..;Blank the
000150: 20 46 43 42 2E 0D 0A 09 69 6E 78 09 68 0D 0A 09 FCB....inx.h...
000160: 69 6E 72 09 61 0D 0A 09 63 70 69 09 30 43 48 09 inr.a...cpi.0CH.
000170: 09 3B 54 77 65 6C 76 65 3F 0D 0A 09 6A 6D 09 63 .;Twelve?...jm.c
000180: 6D 69 66 69 30 0D 0A 63 6D 69 66 69 31 3A 09 63 mifi0..cmifi1:.c
000190: 61 6C 6C 09 63 6D 67 74 63 68 09 09 3B 47 65 74 all.cmgtch..;Get
0001A0: 20 61 6E 6F 74 68 65 72 20 63 68 61 72 2E 0D 0A another char...
0001B0: 09 6F 72 61 09 61 09 09 3B 49 73 20 69 74 20 61 .ora.a..;Is it a
0001C0: 6E 20 61 63 74 69 6F 6E 20 63 68 61 72 61 63 74 n action charact
0001D0: 65 72 3F 0D 0A 09 6A 70 09 63 6D 69 66 69 32 0D er?...jp.cmifi2.
0001E0: 0A 09 61 6E 69 09 37 46 48 09 09 3B 54 75 72 6E ..ani.7FH..;Turn
0001F0: 20 6F 66 66 20 74 68 65 20 61 63 74 69 6F 6E 20 off the action
Size : 512 (Real : 512)
000000: 6D 66 72 6C 33 09 09 3B 59 65 73 2C 20 64 6F 6E mfrl3..;Yes, don
000010: 27 74 20 6F 75 74 70 75 74 20 61 20 73 65 63 6F 't output a seco
000020: 6E 64 20 70 6F 69 6E 74 2E 0D 0A 09 6D 76 69 09 nd point....mvi.
000030: 61 2C 27 2E 27 09 09 3B 4F 75 74 70 75 74 20 73 a,'.'..;Output s
000040: 65 70 61 72 61 74 6F 72 2E 0D 0A 09 63 61 6C 6C eparator....call
000050: 09 63 6D 66 70 75 74 0D 0A 63 6D 66 72 6C 33 3A .cmfput..cmfrl3:
000060: 09 6C 64 61 78 09 64 09 09 3B 47 65 74 20 61 20 .ldax.d..;Get a
000070: 63 68 61 72 61 63 74 65 72 20 66 72 6F 6D 20 66 character from f
000080: 69 72 73 74 20 66 69 6C 65 20 73 70 65 63 2E 0D irst file spec..
000090: 0A 09 69 6E 78 09 64 0D 0A 09 6D 6F 76 09 62 2C ..inx.d...mov.b,
0000A0: 6D 09 09 3B 47 65 74 20 66 72 6F 6D 20 73 65 63 m..;Get from sec
0000B0: 6F 6E 64 20 66 69 6C 65 20 73 70 65 63 2E 0D 0A ond file spec...
0000C0: 09 69 6E 78 09 68 0D 0A 09 63 6D 70 09 62 09 09 .inx.h...cmp.b..
0000D0: 3B 43 6F 6D 70 61 72 65 2E 0D 0A 09 6A 6E 7A 09 ;Compare....jnz.
0000E0: 63 6D 66 72 63 35 09 09 3B 41 6D 62 69 67 75 6F cmfrc5..;Ambiguo
0000F0: 75 73 2E 0D 0A 09 69 6E 72 09 63 09 09 3B 53 61 us....inr.c..;Sa
000100: 6D 65 2C 20 63 6F 75 6E 74 2E 0D 0A 09 63 70 69 me, count....cpi
000110: 09 27 20 27 09 09 3B 42 6C 61 6E 6B 3F 0D 0A 09 .' '..;Blank?...
000120: 6A 7A 09 63 6D 66 72 6C 32 09 09 3B 59 65 73 2C jz.cmfrl2..;Yes,
000130: 20 64 6F 6E 27 74 20 6F 75 74 70 75 74 2E 0D 0A don't output...
000140: 09 63 61 6C 6C 09 63 6D 66 70 75 74 09 09 3B 50 .call.cmfput..;P
000150: 75 74 20 63 68 61 72 61 63 74 65 72 20 69 6E 74 ut character int
000160: 6F 20 62 75 66 66 65 72 2E 0D 0A 09 6A 6D 70 09 o buffer....jmp.
000170: 63 6D 66 72 6C 32 09 09 3B 52 65 70 65 61 74 2E cmfrl2..;Repeat.
000180: 0D 0A 0D 0A 63 6D 66 72 63 35 3A 09 6D 6F 76 09 ....cmfrc5:.mov.
000190: 61 2C 63 09 09 3B 47 65 74 20 63 6F 75 6E 74 20 a,c..;Get count
0001A0: 6F 66 20 63 68 61 72 61 63 74 65 72 73 20 70 72 of characters pr
0001B0: 6F 63 65 73 73 65 64 2E 0D 0A 09 73 74 61 09 74 ocessed....sta.t
0001C0: 65 6D 70 31 09 09 3B 53 61 76 65 20 69 74 2E 0D emp1..;Save it..
0001D0: 0A 09 6D 76 69 09 61 2C 27 24 27 09 09 3B 47 65 ..mvi.a,'$'..;Ge
0001E0: 74 20 74 65 72 6D 69 6E 61 74 6F 72 2E 0D 0A 09 t terminator....
0001F0: 63 61 6C 6C 09 63 6D 66 70 75 74 09 09 3B 50 75 call.cmfput..;Pu
Size : 512 (Real : 512)
000000: 62 69 74 2E 0D 0A 09 63 70 69 09 27 3F 27 09 09 bit....cpi.'?'..
000010: 3B 41 20 71 75 65 73 74 69 6F 6E 20 6D 61 72 6B ;A question mark
000020: 3F 0D 0A 09 6A 6E 7A 09 63 6D 69 66 31 32 0D 0A ?...jnz.cmif12..
000030: 09 6C 64 61 09 63 6D 66 77 6C 64 09 09 3B 5B 70 .lda.cmfwld..;[p
000040: 63 63 30 30 36 5D 20 57 69 6C 64 63 61 72 64 73 cc006] Wildcards
000050: 20 61 6C 6C 6F 77 65 64 3F 0D 0A 09 6F 72 61 09 allowed?...ora.
000060: 61 09 09 3B 5B 70 63 63 30 30 36 5D 0D 0A 09 6A a..;[pcc006]...j
000070: 7A 09 63 6D 69 66 31 31 09 09 3B 5B 70 63 63 30 z.cmif11..;[pcc0
000080: 30 36 5D 20 63 6F 6D 70 6C 61 69 6E 20 69 66 20 06] complain if
000090: 6E 6F 74 0D 0A 09 6C 68 6C 64 09 63 6D 64 70 74 not...lhld.cmdpt
0000A0: 72 09 09 3B 5B 6A 64 5D 20 49 6E 63 72 65 6D 65 r..;[jd] Increme
0000B0: 6E 74 20 62 75 66 66 65 72 20 70 6F 69 6E 74 65 nt buffer pointe
0000C0: 72 0D 0A 09 69 6E 78 09 68 09 09 3B 5B 6A 64 5D r...inx.h..;[jd]
0000D0: 20 74 68 61 74 20 77 61 73 20 64 65 63 72 65 6D that was decrem
0000E0: 65 6E 74 65 64 20 69 6E 20 63 6D 67 74 63 68 0D ented in cmgtch.
0000F0: 0A 09 73 68 6C 64 09 63 6D 64 70 74 72 09 09 3B ..shld.cmdptr..;
000100: 5B 6A 64 5D 20 73 69 6E 63 65 20 77 65 20 77 61 [jd] since we wa
000110: 6E 74 20 74 68 69 73 20 63 68 72 0D 0A 09 6C 64 nt this chr...ld
000120: 61 09 63 6D 63 70 74 72 09 09 3B 5B 70 63 63 30 a.cmcptr..;[pcc0
000130: 30 36 5D 20 67 65 74 20 6C 73 62 20 6F 66 20 72 06] get lsb of r
000140: 65 61 6C 20 69 6E 70 75 74 20 70 6F 69 6E 74 65 eal input pointe
000150: 72 0D 0A 09 63 6D 70 09 6C 09 09 3B 5B 70 63 63 r...cmp.l..;[pcc
000160: 30 30 36 5D 20 69 73 20 74 68 69 73 20 74 68 65 006] is this the
000170: 20 6C 61 73 74 20 63 68 72 20 69 6E 70 75 74 3F last chr input?
000180: 0D 0A 09 6A 6E 7A 09 63 6D 69 66 31 61 09 09 3B ...jnz.cmif1a..;
000190: 5B 70 63 63 30 30 36 5D 20 6E 6F 2C 20 64 6F 6E [pcc006] no, don
0001A0: 27 74 20 72 65 73 65 74 20 61 63 74 69 6F 6E 20 't reset action
0001B0: 66 6C 61 67 0D 0A 09 78 72 61 09 61 09 09 3B 5B flag...xra.a..;[
0001C0: 70 63 63 30 30 36 5D 20 79 65 73 2C 20 72 65 73 pcc006] yes, res
0001D0: 65 74 20 61 63 74 69 6F 6E 20 66 6C 61 67 0D 0A et action flag..
0001E0: 09 73 74 61 09 63 6D 61 66 6C 67 09 09 3B 5B 70 .sta.cmaflg..;[p
0001F0: 63 63 30 30 36 5D 0D 0A 63 6D 69 66 31 61 3A 09 cc006]..cmif1a:.
Size : 512 (Real : 512)
000000: 74 20 69 74 20 69 6E 74 6F 20 62 75 66 66 65 72 t it into buffer
000010: 2E 0D 0A 09 6C 68 6C 64 09 63 6D 64 70 74 72 09 ....lhld.cmdptr.
000020: 09 3B 4F 75 74 70 75 74 20 72 65 63 6F 67 6E 69 .;Output recogni
000030: 7A 65 64 20 63 68 61 72 61 63 74 65 72 73 2E 0D zed characters..
000040: 0A 09 78 63 68 67 0D 0A 09 6D 76 69 09 63 2C 70 ..xchg...mvi.c,p
000050: 72 73 74 72 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 rstr...call.bdos
000060: 0D 0A 09 6C 68 6C 64 09 63 6D 63 70 74 72 09 09 ...lhld.cmcptr..
000070: 3B 52 65 6D 6F 76 65 20 74 65 72 6D 69 6E 61 74 ;Remove terminat
000080: 6F 72 20 66 72 6F 6D 20 62 75 66 66 65 72 2E 0D or from buffer..
000090: 0A 09 64 63 78 09 68 0D 0A 09 73 68 6C 64 09 63 ..dcx.h...shld.c
0000A0: 6D 63 70 74 72 0D 0A 09 6C 78 69 09 68 2C 63 6D mcptr...lxi.h,cm
0000B0: 63 63 6E 74 0D 0A 09 64 63 72 09 6D 0D 0A 09 6C ccnt...dcr.m...l
0000C0: 64 61 09 74 65 6D 70 31 09 09 3B 43 68 61 72 61 da.temp1..;Chara
0000D0: 63 74 65 72 73 20 70 72 6F 63 65 73 73 65 64 2E cters processed.
0000E0: 0D 0A 09 63 70 69 09 31 31 09 09 3B 43 6F 6D 70 ...cpi.11..;Comp
0000F0: 6C 65 74 65 20 66 69 6C 65 20 6E 61 6D 65 2E 0D lete file name..
000100: 0A 09 6A 7A 09 72 65 70 61 72 73 09 09 3B 59 65 ..jz.repars..;Ye
000110: 73 2C 20 64 6F 6E 27 74 20 62 65 65 70 2E 0D 0A s, don't beep...
000120: 0D 0A 63 6D 66 72 63 39 3A 09 6D 76 69 09 63 2C ..cmfrc9:.mvi.c,
000130: 63 6F 6E 6F 75 74 0D 0A 09 6D 76 69 09 65 2C 62 conout...mvi.e,b
000140: 65 6C 6C 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 ell...call.bdos.
000150: 09 3B 52 69 6E 67 20 74 68 65 20 62 65 6C 6C 2E .;Ring the bell.
000160: 0D 0A 09 6A 6D 70 09 72 65 70 61 72 73 0D 0A 3B ...jmp.repars..;
000170: 0C 0D 0A 3B 09 43 6F 6E 74 69 6E 75 65 20 66 69 ...;.Continue fi
000180: 6C 65 20 73 70 65 63 20 70 61 72 73 69 6E 67 2E le spec parsing.
000190: 0D 0A 0D 0A 63 6D 69 66 31 33 3A 09 6D 6F 76 09 ....cmif13:.mov.
0001A0: 61 2C 65 09 09 3B 49 74 20 6D 75 73 74 20 62 65 a,e..;It must be
0001B0: 20 61 20 74 65 72 6D 69 6E 61 74 6F 72 2E 0D 0A a terminator...
0001C0: 09 6F 72 61 09 61 09 09 3B 54 65 73 74 20 74 68 .ora.a..;Test th
0001D0: 65 20 6C 65 6E 67 74 68 20 6F 66 20 74 68 65 20 e length of the
0001E0: 66 69 6C 65 20 6E 61 6D 65 2E 0D 0A 09 6A 7A 09 file name....jz.
0001F0: 63 6D 69 66 69 39 09 09 3B 49 66 20 7A 65 72 6F cmifi9..;If zero
Size : 512 (Real : 512)
000000: 6D 76 69 09 61 2C 27 3F 27 09 09 3B 5B 70 63 63 mvi.a,'?'..;[pcc
000010: 30 30 36 5D 20 67 65 74 20 69 74 20 62 61 63 6B 006] get it back
000020: 20 69 6E 20 41 0D 0A 09 6A 6D 70 09 63 6D 69 66 in A...jmp.cmif
000030: 69 38 09 09 3B 54 72 65 61 74 20 6C 69 6B 65 20 i8..;Treat like
000040: 61 6E 79 20 6F 74 68 65 72 20 63 68 61 72 61 63 any other charac
000050: 74 65 72 0D 0A 0D 0A 63 6D 69 66 31 32 3A 09 63 ter....cmif12:.c
000060: 70 69 09 65 73 63 09 09 3B 41 6E 20 65 73 63 61 pi.esc..;An esca
000070: 70 65 3F 0D 0A 09 6A 6E 7A 09 63 6D 69 66 31 33 pe?...jnz.cmif13
000080: 0D 0A 3B 54 72 79 20 74 6F 20 72 65 63 6F 67 6E ..;Try to recogn
000090: 69 7A 65 20 66 69 6C 65 2D 73 70 65 63 20 61 27 ize file-spec a'
0000A0: 6C 61 20 54 4F 50 53 2D 32 30 0D 0A 09 78 72 61 la TOPS-20...xra
0000B0: 09 61 0D 0A 09 73 74 61 09 63 6D 61 66 6C 67 09 .a...sta.cmaflg.
0000C0: 09 3B 54 75 72 6E 20 6F 66 66 20 74 68 65 20 61 .;Turn off the a
0000D0: 63 74 69 6F 6E 20 66 6C 61 67 2E 0D 0A 09 6C 68 ction flag....lh
0000E0: 6C 64 09 63 6D 63 70 74 72 09 09 3B 4D 6F 76 65 ld.cmcptr..;Move
0000F0: 20 74 68 65 20 70 6F 69 6E 74 65 72 20 74 6F 20 the pointer to
000100: 62 65 66 6F 72 65 20 74 68 65 20 65 73 63 61 70 before the escap
000110: 65 2E 0D 0A 09 64 63 78 09 68 0D 0A 09 73 68 6C e....dcx.h...shl
000120: 64 09 63 6D 63 70 74 72 0D 0A 09 73 68 6C 64 09 d.cmcptr...shld.
000130: 63 6D 64 70 74 72 0D 0A 09 6C 78 69 09 68 2C 63 cmdptr...lxi.h,c
000140: 6D 63 63 6E 74 09 3B 47 65 74 20 74 68 65 20 63 mccnt.;Get the c
000150: 68 61 72 20 63 6F 75 6E 74 2E 0D 0A 09 64 63 72 har count....dcr
000160: 09 6D 09 09 3B 44 65 63 72 65 6D 65 6E 74 20 69 .m..;Decrement i
000170: 74 20 62 79 20 6F 6E 65 2E 0D 0A 09 6D 6F 76 09 t by one....mov.
000180: 61 2C 65 09 09 3B 53 61 76 65 20 63 68 61 72 61 a,e..;Save chara
000190: 63 74 65 72 20 63 6F 75 6E 74 20 75 70 20 74 6F cter count up to
0001A0: 20 6E 6F 77 2E 0D 0A 09 73 74 61 09 74 65 6D 70 now....sta.temp
0001B0: 31 0D 0A 09 63 70 69 09 39 09 09 3B 50 61 73 74 1...cpi.9..;Past
0001C0: 20 27 2E 27 3F 0D 0A 09 6A 6D 09 63 6D 66 72 65 '.'?...jm.cmfre
0001D0: 63 09 09 3B 4E 6F 2E 0D 0A 09 64 63 72 09 61 09 c..;No....dcr.a.
0001E0: 09 3B 59 65 73 2C 20 64 6F 6E 27 74 20 63 6F 75 .;Yes, don't cou
0001F0: 6E 74 20 70 6F 69 6E 74 2E 0D 0A 63 6D 66 72 65 nt point...cmfre
Size : 512 (Real : 512)
000000: 20 63 6F 6D 70 6C 61 69 6E 2E 0D 0A 09 63 70 69 complain....cpi
000010: 09 30 44 48 0D 0A 09 6A 70 09 63 6D 69 66 69 39 .0DH...jp.cmifi9
000020: 09 09 3B 49 66 20 74 6F 6F 20 6C 6F 6E 67 20 63 ..;If too long c
000030: 6F 6D 70 6C 61 69 6E 2E 0D 0A 09 6A 6D 70 09 72 omplain....jmp.r
000040: 73 6B 70 09 09 3B 4F 74 68 65 72 77 69 73 65 20 skp..;Otherwise
000050: 77 65 20 68 61 76 65 20 73 75 63 63 65 65 64 65 we have succeede
000060: 64 2E 0D 0A 0D 0A 63 6D 69 66 69 32 3A 09 63 70 d.....cmifi2:.cp
000070: 69 09 27 2E 27 0D 0A 09 6A 6E 7A 09 63 6D 69 66 i.'.'...jnz.cmif
000080: 69 33 0D 0A 09 69 6E 72 09 65 0D 0A 09 6D 6F 76 i3...inr.e...mov
000090: 09 61 2C 65 0D 0A 09 63 70 69 09 31 48 09 09 3B .a,e...cpi.1H..;
0000A0: 41 6E 79 20 63 68 61 72 73 20 79 65 74 3F 0D 0A Any chars yet?..
0000B0: 09 6A 7A 09 63 6D 69 66 69 39 09 09 3B 4E 6F 2C .jz.cmifi9..;No,
0000C0: 20 67 69 76 65 20 65 72 72 6F 72 2E 0D 0A 09 63 give error....c
0000D0: 70 69 09 30 41 48 09 09 3B 54 65 6E 74 68 20 63 pi.0AH..;Tenth c
0000E0: 68 61 72 3F 0D 0A 09 6A 70 09 63 6D 69 66 69 39 har?...jp.cmifi9
0000F0: 09 09 3B 50 61 73 74 20 69 74 2C 20 67 69 76 65 ..;Past it, give
000100: 20 61 6E 20 65 72 72 6F 72 2E 0D 0A 09 6D 76 69 an error....mvi
000110: 09 63 2C 39 48 0D 0A 09 6D 76 69 09 62 2C 30 0D .c,9H...mvi.b,0.
000120: 0A 09 6C 68 6C 64 09 63 6D 66 63 62 0D 0A 09 64 ..lhld.cmfcb...d
000130: 61 64 09 62 09 09 3B 50 6F 69 6E 74 20 74 6F 20 ad.b..;Point to
000140: 66 69 6C 65 20 74 79 70 65 20 66 69 65 6C 64 2E file type field.
000150: 0D 0A 09 73 68 6C 64 09 63 6D 66 63 62 32 0D 0A ...shld.cmfcb2..
000160: 09 6D 76 69 09 65 2C 39 48 09 09 3B 53 61 79 20 .mvi.e,9H..;Say
000170: 77 65 27 76 65 20 67 6F 74 74 65 6E 20 6E 69 6E we've gotten nin
000180: 65 2E 0D 0A 09 6A 6D 70 09 63 6D 69 66 69 31 09 e....jmp.cmifi1.
000190: 09 3B 47 65 74 20 74 68 65 20 6E 65 78 74 20 63 .;Get the next c
0001A0: 68 61 72 2E 0D 0A 0D 0A 63 6D 69 66 69 33 3A 09 har.....cmifi3:.
0001B0: 63 70 69 09 27 3A 27 0D 0A 09 6A 6E 7A 09 63 6D cpi.':'...jnz.cm
0001C0: 69 66 69 34 0D 0A 09 69 6E 72 09 65 0D 0A 09 6D ifi4...inr.e...m
0001D0: 6F 76 09 61 2C 65 0D 0A 09 63 70 69 09 32 48 09 ov.a,e...cpi.2H.
0001E0: 09 3B 49 73 20 69 74 20 69 6E 20 74 68 65 20 72 .;Is it in the r
0001F0: 69 67 68 74 20 70 6C 61 63 65 20 66 6F 72 20 61 ight place for a
Size : 512 (Real : 512)
000000: 20 63 61 73 65 20 69 74 73 20 6F 6B 0D 0A 09 6A case its ok...j
000010: 6D 09 63 6D 69 66 69 38 09 09 3B 5B 70 63 63 30 m.cmifi8..;[pcc0
000020: 30 37 5D 20 28 44 45 4C 20 6E 65 76 65 72 20 67 07] (DEL never g
000030: 65 74 73 20 68 65 72 65 29 0D 0A 09 63 70 69 09 ets here)...cpi.
000040: 27 7A 27 2B 31 09 09 3B 5B 70 63 63 30 30 37 5D 'z'+1..;[pcc007]
000050: 20 6F 6E 6C 79 20 63 6F 6E 76 65 72 74 20 6C 65 only convert le
000060: 74 74 65 72 73 0D 0A 09 6A 70 09 63 6D 69 66 69 tters...jp.cmifi
000070: 38 09 09 3B 5B 70 63 63 30 30 37 5D 0D 0A 09 61 8..;[pcc007]...a
000080: 6E 69 09 31 33 37 4F 09 09 3B 43 61 70 69 74 61 ni.137O..;Capita
000090: 6C 69 7A 65 2E 0D 0A 63 6D 69 66 69 38 3A 09 6C lize...cmifi8:.l
0000A0: 68 6C 64 09 63 6D 66 63 62 32 09 09 3B 47 65 74 hld.cmfcb2..;Get
0000B0: 20 74 68 65 20 70 6F 69 6E 74 65 72 20 69 6E 74 the pointer int
0000C0: 6F 20 74 68 65 20 46 43 42 2E 0D 0A 09 6D 6F 76 o the FCB....mov
0000D0: 09 6D 2C 61 09 09 3B 50 75 74 20 74 68 65 20 63 .m,a..;Put the c
0000E0: 68 61 72 20 74 68 65 72 65 2E 0D 0A 09 69 6E 78 har there....inx
0000F0: 09 68 0D 0A 09 73 68 6C 64 09 63 6D 66 63 62 32 .h...shld.cmfcb2
000100: 0D 0A 09 69 6E 72 09 65 0D 0A 09 6A 6D 70 09 63 ...inr.e...jmp.c
000110: 6D 69 66 69 31 0D 0A 0D 0A 63 6D 69 66 69 39 3A mifi1....cmifi9:
000120: 09 6C 64 61 09 63 6D 73 74 61 74 0D 0A 09 63 70 .lda.cmstat...cp
000130: 69 09 63 6D 69 66 69 6E 09 09 3B 22 73 69 6C 65 i.cmifin..;"sile
000140: 6E 74 22 3F 0D 0A 09 6A 7A 09 72 09 09 3B 59 65 nt"?...jz.r..;Ye
000150: 73 2C 6C 65 74 20 68 69 6D 20 67 6F 20 77 2F 6F s,let him go w/o
000160: 20 63 68 65 63 6B 0D 0A 09 6C 78 69 09 64 2C 63 check...lxi.d,c
000170: 6D 65 72 30 32 0D 0A 63 6D 69 66 31 30 3A 09 6D mer02..cmif10:.m
000180: 76 69 09 63 2C 70 72 73 74 72 0D 0A 09 63 61 6C vi.c,prstr...cal
000190: 6C 09 62 64 6F 73 0D 0A 09 72 65 74 0D 0A 0D 0A l.bdos...ret....
0001A0: 63 6D 69 66 31 31 3A 09 6C 78 69 09 64 2C 63 6D cmif11:.lxi.d,cm
0001B0: 65 72 30 33 09 3B 43 6F 6D 70 6C 61 69 6E 20 61 er03.;Complain a
0001C0: 62 6F 75 74 20 77 69 6C 64 63 61 72 64 73 2E 0D bout wildcards..
0001D0: 0A 09 6A 6D 70 09 63 6D 69 66 31 30 0D 0A 0D 0A ..jmp.cmif10....
0001E0: 3B 0C 0D 0A 0D 0A 3B 09 63 6F 70 79 20 66 69 6C ;.....;.copy fil
0001F0: 65 6E 61 6D 65 20 66 72 6F 6D 20 62 75 66 66 65 ename from buffe
Size : 512 (Real : 512)
000000: 20 64 72 69 76 65 3F 0D 0A 09 6A 6E 7A 09 63 6D drive?...jnz.cm
000010: 69 66 69 39 09 09 3B 49 66 20 6E 6F 74 2C 20 63 ifi9..;If not, c
000020: 6F 6D 70 6C 61 69 6E 2E 0D 0A 09 6C 68 6C 64 09 omplain....lhld.
000030: 63 6D 66 63 62 32 0D 0A 09 64 63 78 09 68 09 09 cmfcb2...dcx.h..
000040: 3B 50 6F 69 6E 74 20 74 6F 20 70 72 65 76 69 6F ;Point to previo
000050: 75 73 20 63 68 61 72 61 63 74 65 72 2E 0D 0A 09 us character....
000060: 6D 6F 76 09 61 2C 6D 09 09 3B 47 65 74 20 74 68 mov.a,m..;Get th
000070: 65 20 64 72 69 76 65 20 6E 61 6D 65 2E 0D 0A 09 e drive name....
000080: 73 75 69 09 27 40 27 09 09 3B 47 65 74 20 74 68 sui.'@'..;Get th
000090: 65 20 64 72 69 76 65 20 6E 75 6D 62 65 72 2E 0D e drive number..
0000A0: 0A 09 73 68 6C 64 09 63 6D 66 63 62 32 09 09 3B ..shld.cmfcb2..;
0000B0: 53 61 76 65 20 70 6F 69 6E 74 65 72 20 74 6F 20 Save pointer to
0000C0: 62 65 67 69 6E 6E 69 6E 67 20 6F 66 20 6E 61 6D beginning of nam
0000D0: 65 20 66 69 65 6C 64 2E 0D 0A 09 64 63 78 09 68 e field....dcx.h
0000E0: 09 09 3B 50 6F 69 6E 74 20 74 6F 20 64 72 69 76 ..;Point to driv
0000F0: 65 20 6E 75 6D 62 65 72 2E 0D 0A 09 6D 6F 76 09 e number....mov.
000100: 6D 2C 61 09 09 3B 50 75 74 20 69 74 20 69 6E 20 m,a..;Put it in
000110: 74 68 65 20 66 63 62 2E 0D 0A 09 6D 76 69 09 65 the fcb....mvi.e
000120: 2C 30 09 09 3B 53 74 61 72 74 20 63 68 61 72 61 ,0..;Start chara
000130: 63 74 65 72 20 63 6F 75 6E 74 20 6F 76 65 72 2E cter count over.
000140: 0D 0A 09 6A 6D 70 09 63 6D 69 66 69 31 0D 0A 0D ...jmp.cmifi1...
000150: 0A 63 6D 69 66 69 34 3A 09 63 70 69 09 27 2A 27 .cmifi4:.cpi.'*'
000160: 0D 0A 09 6A 6E 7A 09 63 6D 69 66 69 37 0D 0A 09 ...jnz.cmifi7...
000170: 6C 64 61 09 63 6D 66 77 6C 64 09 09 3B 57 69 6C lda.cmfwld..;Wil
000180: 64 63 61 72 64 73 20 61 6C 6C 6F 77 65 64 3F 0D dcards allowed?.
000190: 0A 09 63 70 69 09 30 0D 0A 09 6A 7A 09 63 6D 69 ..cpi.0...jz.cmi
0001A0: 66 31 31 09 09 3B 4E 6F 2C 63 6F 6D 70 6C 61 69 f11..;No,complai
0001B0: 6E 0D 0A 09 6D 6F 76 09 61 2C 65 0D 0A 09 63 70 n...mov.a,e...cp
0001C0: 69 09 38 48 09 09 3B 49 73 20 74 68 69 73 20 69 i.8H..;Is this i
0001D0: 6E 20 74 68 65 20 6E 61 6D 65 20 6F 72 20 74 79 n the name or ty
0001E0: 70 65 20 66 69 65 6C 64 3F 0D 0A 09 6A 7A 09 63 pe field?...jz.c
0001F0: 6D 69 66 69 39 09 09 3B 49 66 20 69 74 73 20 77 mifi9..;If its w
Size : 512 (Real : 512)
000000: 72 0D 0A 3B 09 63 61 6C 6C 65 64 20 77 69 74 68 r..;.called with
000010: 20 48 4C 20 3D 20 64 65 73 74 69 6E 61 74 69 6F HL = destinatio
000020: 6E 2C 20 41 20 3D 20 70 6F 73 69 74 69 6F 6E 20 n, A = position
000030: 28 30 2D 33 29 20 69 6E 20 62 75 66 66 65 72 0D (0-3) in buffer.
000040: 0A 3B 09 63 61 6C 6C 65 64 20 62 79 3A 20 63 6D .;.called by: cm
000050: 69 66 69 6C 0D 0A 0D 0A 66 73 70 63 6F 70 3A 09 ifil....fspcop:.
000060: 70 75 73 68 09 70 73 77 09 09 3B 53 61 76 65 20 push.psw..;Save
000070: 41 2E 0D 0A 09 6C 78 69 09 64 2C 62 75 66 66 09 A....lxi.d,buff.
000080: 09 3B 47 65 74 20 74 68 65 20 72 69 67 68 74 20 .;Get the right
000090: 6F 66 66 73 65 74 20 69 6E 20 74 68 65 20 62 75 offset in the bu
0000A0: 66 66 65 72 2E 0D 0A 09 72 6C 63 0D 0A 09 72 6C ffer....rlc...rl
0000B0: 63 0D 0A 09 72 6C 63 0D 0A 09 72 6C 63 0D 0A 09 c...rlc...rlc...
0000C0: 72 6C 63 0D 0A 09 61 64 64 20 09 65 0D 0A 09 69 rlc...add .e...i
0000D0: 6E 72 09 61 09 09 3B 42 79 70 61 73 73 20 64 72 nr.a..;Bypass dr
0000E0: 69 76 65 20 73 70 65 63 2E 0D 0A 09 6D 6F 76 09 ive spec....mov.
0000F0: 65 2C 61 0D 0A 09 6D 76 69 09 62 2C 31 31 09 09 e,a...mvi.b,11..
000100: 3B 43 6F 70 79 20 66 69 6C 65 20 6E 61 6D 65 2E ;Copy file name.
000110: 0D 0A 66 73 70 63 70 31 3A 09 6C 64 61 78 09 64 ..fspcp1:.ldax.d
000120: 0D 0A 09 69 6E 78 09 64 0D 0A 09 6D 6F 76 09 6D ...inx.d...mov.m
000130: 2C 61 0D 0A 09 69 6E 78 09 68 0D 0A 09 64 63 72 ,a...inx.h...dcr
000140: 09 62 0D 0A 09 6A 6E 7A 09 66 73 70 63 70 31 0D .b...jnz.fspcp1.
000150: 0A 09 70 6F 70 09 70 73 77 09 09 3B 52 65 73 74 ..pop.psw..;Rest
000160: 6F 72 65 20 41 2E 0D 0A 09 72 65 74 0D 0A 0D 0A ore A....ret....
000170: 3B 09 61 70 70 65 6E 64 20 63 68 61 72 61 63 74 ;.append charact
000180: 65 72 20 69 6E 20 41 20 74 6F 20 63 6F 6D 6D 61 er in A to comma
000190: 6E 64 20 62 75 66 66 65 72 0D 0A 3B 09 63 61 6C nd buffer..;.cal
0001A0: 6C 65 64 20 62 79 3A 20 63 6D 69 66 69 6C 0D 0A led by: cmifil..
0001B0: 0D 0A 63 6D 66 70 75 74 3A 09 70 75 73 68 09 68 ..cmfput:.push.h
0001C0: 09 09 3B 53 61 76 65 20 48 2E 0D 0A 09 6C 68 6C ..;Save H....lhl
0001D0: 64 09 63 6D 63 70 74 72 09 09 3B 47 65 74 20 62 d.cmcptr..;Get b
0001E0: 75 66 66 65 72 20 70 6F 69 6E 74 65 72 2E 0D 0A uffer pointer...
0001F0: 09 6D 6F 76 09 6D 2C 61 09 09 3B 53 74 6F 72 65 .mov.m,a..;Store
Size : 512 (Real : 512)
000000: 68 65 72 65 20 74 68 65 20 64 6F 74 20 73 68 6F here the dot sho
000010: 75 6C 64 20 62 65 20 67 69 76 65 20 75 70 2E 0D uld be give up..
000020: 0A 09 6A 70 09 63 6D 69 66 69 35 09 09 3B 54 79 ..jp.cmifi5..;Ty
000030: 70 65 2E 0D 0A 09 6D 76 69 09 62 2C 38 48 09 09 pe....mvi.b,8H..
000040: 3B 45 69 67 68 74 20 63 68 61 72 73 2E 0D 0A 09 ;Eight chars....
000050: 6A 6D 70 09 63 6D 69 66 69 36 0D 0A 0D 0A 63 6D jmp.cmifi6....cm
000060: 69 66 69 35 3A 09 6D 76 69 09 62 2C 30 43 48 09 ifi5:.mvi.b,0CH.
000070: 09 3B 54 68 72 65 65 20 63 68 61 72 73 2E 0D 0A .;Three chars...
000080: 63 6D 69 66 69 36 3A 09 6C 68 6C 64 09 63 6D 66 cmifi6:.lhld.cmf
000090: 63 62 32 09 09 3B 47 65 74 20 61 20 70 6F 69 6E cb2..;Get a poin
0000A0: 74 65 72 20 69 6E 74 6F 20 74 68 65 20 46 43 42 ter into the FCB
0000B0: 2E 0D 0A 09 6D 76 69 09 61 2C 27 3F 27 0D 0A 09 ....mvi.a,'?'...
0000C0: 6D 6F 76 09 6D 2C 61 09 09 3B 50 75 74 20 61 20 mov.m,a..;Put a
0000D0: 71 75 65 73 74 69 6F 6E 20 6D 61 72 6B 20 69 6E question mark in
0000E0: 2E 0D 0A 09 69 6E 78 09 68 0D 0A 09 73 68 6C 64 ....inx.h...shld
0000F0: 09 63 6D 66 63 62 32 0D 0A 09 69 6E 72 09 65 0D .cmfcb2...inr.e.
000100: 0A 09 6D 6F 76 09 61 2C 65 0D 0A 09 63 6D 70 09 ..mov.a,e...cmp.
000110: 62 0D 0A 09 6A 6D 09 63 6D 69 66 69 36 09 09 3B b...jm.cmifi6..;
000120: 47 6F 20 66 69 6C 6C 20 69 6E 20 61 6E 6F 74 68 Go fill in anoth
000130: 65 72 2E 0D 0A 09 6A 6D 70 09 63 6D 69 66 69 31 er....jmp.cmifi1
000140: 09 09 3B 47 65 74 20 74 68 65 20 6E 65 78 74 20 ..;Get the next
000150: 63 68 61 72 2E 0D 0A 0D 0A 63 6D 69 66 69 37 3A char.....cmifi7:
000160: 09 63 70 69 09 27 21 27 09 09 3B 5B 70 63 63 30 .cpi.'!'..;[pcc0
000170: 30 37 5D 20 63 6F 6E 74 72 6F 6C 20 63 68 72 20 07] control chr
000180: 6F 72 20 73 70 61 63 65 3F 0D 0A 09 6A 6D 09 63 or space?...jm.c
000190: 6D 69 66 69 39 09 09 3B 5B 70 63 63 30 30 37 5D mifi9..;[pcc007]
0001A0: 20 79 65 73 2C 20 69 6C 6C 65 67 61 6C 0D 0A 09 yes, illegal...
0001B0: 6D 6F 76 09 68 2C 61 09 09 3B 5B 35 5D 20 73 74 mov.h,a..;[5] st
0001C0: 61 73 68 20 69 6E 70 75 74 20 63 68 61 72 20 66 ash input char f
0001D0: 6F 72 20 61 20 62 69 74 0D 0A 09 6C 64 61 09 66 or a bit...lda.f
0001E0: 66 75 73 73 79 09 09 3B 5B 35 5D 20 20 77 68 69 fussy..;[5] whi
0001F0: 6C 65 20 77 65 20 63 68 65 63 6B 20 74 68 65 20 le we check the
Size : 512 (Real : 512)
000000: 20 69 6E 20 62 75 66 66 65 72 2E 0D 0A 09 69 6E in buffer....in
000010: 78 09 68 0D 0A 09 73 68 6C 64 09 63 6D 63 70 74 x.h...shld.cmcpt
000020: 72 0D 0A 09 6C 78 69 09 68 2C 63 6D 63 63 6E 74 r...lxi.h,cmccnt
000030: 09 3B 43 6F 75 6E 74 20 69 74 2E 0D 0A 09 69 6E .;Count it....in
000040: 72 09 6D 0D 0A 09 70 6F 70 09 68 09 09 3B 52 65 r.m...pop.h..;Re
000050: 73 74 6F 72 65 20 48 2E 0D 0A 09 72 65 74 0D 0A store H....ret..
000060: 3B 0C 0D 0A 3B 09 52 65 61 64 20 63 68 61 72 61 ;...;.Read chara
000070: 63 74 65 72 73 20 66 72 6F 6D 20 74 68 65 20 63 cters from the c
000080: 6F 6D 6D 61 6E 64 20 62 75 66 66 65 72 2E 0D 0A ommand buffer...
000090: 3B 09 63 61 6C 6C 65 64 20 62 79 3A 20 20 63 6D ;.called by: cm
0000A0: 74 65 78 74 2C 20 63 6D 63 66 72 6D 2C 20 63 6D text, cmcfrm, cm
0000B0: 6B 65 79 77 2C 20 63 6D 69 66 69 6C 0D 0A 0D 0A keyw, cmifil....
0000C0: 63 6D 67 74 63 68 3A 09 70 75 73 68 09 68 0D 0A cmgtch:.push.h..
0000D0: 09 70 75 73 68 09 62 0D 0A 63 6D 67 74 63 31 3A .push.b..cmgtc1:
0000E0: 09 6C 64 61 09 63 6D 61 66 6C 67 0D 0A 09 6F 72 .lda.cmaflg...or
0000F0: 61 09 61 09 09 3B 49 73 20 69 74 20 73 65 74 2E a.a..;Is it set.
000100: 0D 0A 09 63 7A 09 63 6D 69 6E 62 66 09 09 3B 49 ...cz.cminbf..;I
000110: 66 20 74 68 65 20 61 63 74 69 6F 6E 20 63 68 61 f the action cha
000120: 72 20 66 6C 61 67 20 69 73 20 6E 6F 74 20 73 65 r flag is not se
000130: 74 20 67 65 74 20 6D 6F 72 65 2E 0D 0A 09 6C 68 t get more....lh
000140: 6C 64 09 63 6D 64 70 74 72 09 09 3B 47 65 74 20 ld.cmdptr..;Get
000150: 61 20 70 6F 69 6E 74 65 72 20 69 6E 74 6F 20 74 a pointer into t
000160: 68 65 20 62 75 66 66 65 72 2E 0D 0A 09 6D 6F 76 he buffer....mov
000170: 09 61 2C 6D 09 09 3B 47 65 74 20 74 68 65 20 6E .a,m..;Get the n
000180: 65 78 74 20 63 68 61 72 2E 0D 0A 09 69 6E 78 09 ext char....inx.
000190: 68 0D 0A 09 73 68 6C 64 09 63 6D 64 70 74 72 0D h...shld.cmdptr.
0001A0: 0A 09 63 70 69 09 27 20 27 09 09 3B 49 73 20 69 ..cpi.' '..;Is i
0001B0: 74 20 61 20 73 70 61 63 65 3F 0D 0A 09 6A 7A 09 t a space?...jz.
0001C0: 63 6D 67 74 63 32 0D 0A 09 63 70 69 09 74 61 62 cmgtc2...cpi.tab
0001D0: 09 09 3B 4F 72 20 61 20 74 61 62 3F 0D 0A 09 6A ..;Or a tab?...j
0001E0: 6E 7A 09 63 6D 67 74 63 33 0D 0A 63 6D 67 74 63 nz.cmgtc3..cmgtc
0001F0: 32 3A 09 6C 64 61 09 63 6D 73 66 6C 67 09 09 3B 2:.lda.cmsflg..;
Size : 512 (Real : 512)
000000: 66 75 73 73 79 20 66 6C 61 67 0D 0A 09 6F 72 61 fussy flag...ora
000010: 09 61 09 09 3B 5B 35 5D 20 73 65 74 20 74 68 65 .a..;[5] set the
000020: 20 66 6C 61 67 73 20 61 63 63 6F 72 64 69 6E 67 flags according
000030: 6C 79 0D 0A 09 6D 6F 76 09 61 2C 68 09 09 3B 5B ly...mov.a,h..;[
000040: 35 5D 20 72 65 73 74 6F 72 65 20 74 68 65 20 69 5] restore the i
000050: 6E 70 75 74 20 63 68 61 72 61 63 74 65 72 0D 0A nput character..
000060: 09 6A 7A 09 63 6D 69 66 37 61 09 09 3B 5B 35 5D .jz.cmif7a..;[5]
000070: 20 69 66 20 66 66 75 73 73 79 3D 30 2C 20 61 6C if ffussy=0, al
000080: 6C 6F 77 20 3C 3E 2E 2C 3B 3A 3F 2A 5B 5D 0D 0A low <>.,;:?*[]..
000090: 3B 5B 35 5D 20 53 6F 20 66 61 72 2C 20 77 65 27 ;[5] So far, we'
0000A0: 76 65 20 65 6C 69 6D 69 6E 61 74 65 64 20 22 61 ve eliminated "a
0000B0: 63 74 69 6F 6E 20 63 68 61 72 61 63 74 65 72 73 ction characters
0000C0: 22 20 28 69 6E 63 6C 75 64 69 6E 67 20 71 75 65 " (including que
0000D0: 73 74 69 6F 6E 29 2C 0D 0A 3B 5B 35 5D 20 70 65 stion),..;[5] pe
0000E0: 72 69 6F 64 2C 20 63 6F 6C 6F 6E 2C 20 61 73 74 riod, colon, ast
0000F0: 65 72 69 73 6B 2C 20 63 6F 6E 74 72 6F 6C 20 63 erisk, control c
000100: 68 61 72 61 63 74 65 72 73 2C 20 61 6E 64 20 73 haracters, and s
000110: 70 61 63 65 2E 0D 0A 3B 5B 35 5D 20 54 68 61 74 pace...;[5] That
000120: 20 6C 65 61 76 65 73 20 75 73 20 25 28 29 2C 2F leaves us %(),/
000130: 3B 3C 3D 3E 5B 5C 5D 5F 7C 20 74 6F 20 63 68 65 ;<=>[\]_| to che
000140: 63 6B 20 66 6F 72 2E 0D 0A 09 63 70 69 09 27 25 ck for....cpi.'%
000150: 27 09 09 3B 5B 35 5D 0D 0A 09 6A 7A 09 63 6D 69 '..;[5]...jz.cmi
000160: 66 69 39 09 09 3B 5B 35 5D 0D 0A 09 63 70 69 09 fi9..;[5]...cpi.
000170: 27 28 27 09 09 3B 5B 35 5D 0D 0A 09 6A 7A 09 63 '('..;[5]...jz.c
000180: 6D 69 66 69 39 09 09 3B 5B 35 5D 0D 0A 09 63 70 mifi9..;[5]...cp
000190: 69 09 27 29 27 09 09 3B 5B 35 5D 0D 0A 09 6A 7A i.')'..;[5]...jz
0001A0: 09 63 6D 69 66 69 39 09 09 3B 5B 35 5D 0D 0A 09 .cmifi9..;[5]...
0001B0: 63 70 69 09 27 2C 27 09 09 3B 5B 70 63 63 30 30 cpi.','..;[pcc00
0001C0: 37 5D 20 77 65 65 64 20 6F 75 74 20 63 6F 6D 6D 7] weed out comm
0001D0: 61 0D 0A 09 6A 7A 09 63 6D 69 66 69 39 09 09 3B a...jz.cmifi9..;
0001E0: 5B 70 63 63 30 30 37 5D 0D 0A 09 63 70 69 09 27 [pcc007]...cpi.'
0001F0: 2F 27 09 09 3B 5B 35 5D 0D 0A 09 6A 7A 09 63 6D /'..;[5]...jz.cm
Size : 512 (Real : 512)
000000: 47 65 74 20 74 68 65 20 73 70 61 63 65 20 66 6C Get the space fl
000010: 61 67 2E 0D 0A 09 6F 72 61 09 61 09 09 3B 57 61 ag....ora.a..;Wa
000020: 73 20 74 68 65 20 6C 61 73 74 20 63 68 61 72 20 s the last char
000030: 61 20 73 70 61 63 65 3F 0D 0A 09 6A 6E 7A 09 63 a space?...jnz.c
000040: 6D 67 74 63 31 09 09 3B 59 65 73 2C 20 67 65 74 mgtc1..;Yes, get
000050: 20 61 6E 6F 74 68 65 72 20 63 68 61 72 2E 0D 0A another char...
000060: 09 6D 76 69 09 61 2C 30 46 46 48 09 09 3B 53 65 .mvi.a,0FFH..;Se
000070: 74 20 74 68 65 20 73 70 61 63 65 20 66 6C 61 67 t the space flag
000080: 2E 0D 0A 09 73 74 61 09 63 6D 73 66 6C 67 0D 0A ....sta.cmsflg..
000090: 09 6D 76 69 09 61 2C 27 20 27 0D 0A 09 70 6F 70 .mvi.a,' '...pop
0000A0: 09 62 0D 0A 09 70 6F 70 09 68 0D 0A 09 6A 6D 70 .b...pop.h...jmp
0000B0: 09 63 6D 67 74 63 35 0D 0A 0D 0A 63 6D 67 74 63 .cmgtc5....cmgtc
0000C0: 33 3A 09 70 75 73 68 09 70 73 77 0D 0A 09 78 72 3:.push.psw...xr
0000D0: 61 09 61 0D 0A 09 73 74 61 09 63 6D 73 66 6C 67 a.a...sta.cmsflg
0000E0: 09 09 3B 5A 65 72 6F 20 74 68 65 20 73 70 61 63 ..;Zero the spac
0000F0: 65 20 66 6C 61 67 2E 0D 0A 09 70 6F 70 09 70 73 e flag....pop.ps
000100: 77 0D 0A 09 70 6F 70 09 62 0D 0A 09 70 6F 70 09 w...pop.b...pop.
000110: 68 0D 0A 09 63 70 69 09 65 73 63 0D 0A 09 6A 7A h...cpi.esc...jz
000120: 09 63 6D 67 74 63 35 0D 0A 09 63 70 69 09 27 3F .cmgtc5...cpi.'?
000130: 27 09 09 3B 49 73 20 74 68 65 20 75 73 65 72 20 '..;Is the user
000140: 63 75 72 69 6F 75 73 3F 0D 0A 09 6A 7A 09 63 6D curious?...jz.cm
000150: 67 74 63 34 0D 0A 09 63 70 69 09 63 72 0D 0A 09 gtc4...cpi.cr...
000160: 6A 7A 09 63 6D 67 74 63 34 0D 0A 09 63 70 69 09 jz.cmgtc4...cpi.
000170: 6C 66 0D 0A 09 6A 7A 09 63 6D 67 74 63 34 0D 0A lf...jz.cmgtc4..
000180: 09 63 70 69 09 66 66 0D 0A 09 72 6E 7A 09 09 09 .cpi.ff...rnz...
000190: 3B 4E 6F 74 20 61 6E 20 61 63 74 69 6F 6E 20 63 ;Not an action c
0001A0: 68 61 72 2C 20 6A 75 73 74 20 72 65 74 75 72 6E har, just return
0001B0: 2E 0D 0A 63 6D 67 74 63 34 3A 09 70 75 73 68 09 ...cmgtc4:.push.
0001C0: 68 0D 0A 09 6C 68 6C 64 09 63 6D 64 70 74 72 0D h...lhld.cmdptr.
0001D0: 0A 09 64 63 78 09 68 0D 0A 09 73 68 6C 64 09 63 ..dcx.h...shld.c
0001E0: 6D 64 70 74 72 0D 0A 09 70 6F 70 09 68 0D 0A 63 mdptr...pop.h..c
0001F0: 6D 67 74 63 35 3A 09 6F 72 69 09 38 30 48 09 09 mgtc5:.ori.80H..
Size : 512 (Real : 512)
000000: 69 66 69 39 09 09 3B 5B 35 5D 0D 0A 09 63 70 69 ifi9..;[5]...cpi
000010: 09 27 39 27 2B 31 09 09 3B 5B 70 63 63 30 30 37 .'9'+1..;[pcc007
000020: 5D 20 61 6E 79 74 68 69 6E 67 20 65 6C 73 65 20 ] anything else
000030: 32 31 48 2D 33 39 48 20 69 73 20 6F 6B 0D 0A 09 21H-39H is ok...
000040: 6A 6D 09 63 6D 69 66 69 38 09 09 3B 5B 70 63 63 jm.cmifi8..;[pcc
000050: 30 30 37 5D 20 65 78 63 65 70 74 20 27 2A 27 20 007] except '*'
000060: 6E 65 76 65 72 20 67 65 74 73 20 68 65 72 65 0D never gets here.
000070: 0A 09 63 70 69 09 27 40 27 09 09 3B 5B 70 63 63 ..cpi.'@'..;[pcc
000080: 30 30 37 5D 20 61 6C 6C 20 6F 66 20 33 41 48 2D 007] all of 3AH-
000090: 33 46 48 20 69 73 20 69 6C 6C 65 67 61 6C 0D 0A 3FH is illegal..
0000A0: 09 6A 6D 09 63 6D 69 66 69 39 09 09 3B 5B 70 63 .jm.cmifi9..;[pc
0000B0: 63 30 30 37 5D 0D 0A 09 63 70 69 09 27 5B 27 09 c007]...cpi.'['.
0000C0: 09 3B 5B 70 63 63 30 30 37 5D 20 5B 5C 5D 20 61 .;[pcc007] [\] a
0000D0: 6C 73 6F 20 69 6C 6C 65 67 61 6C 0D 0A 09 6A 6D lso illegal...jm
0000E0: 09 63 6D 69 66 69 38 09 09 3B 5B 70 63 63 30 30 .cmifi8..;[pcc00
0000F0: 37 5D 0D 0A 09 63 70 69 09 27 5D 27 2B 31 09 09 7]...cpi.']'+1..
000100: 3B 5B 70 63 63 30 30 37 5D 0D 0A 09 6A 6D 09 63 ;[pcc007]...jm.c
000110: 6D 69 66 69 39 09 09 3B 5B 70 63 63 30 30 37 5D mifi9..;[pcc007]
000120: 0D 0A 09 63 70 69 09 27 5F 27 09 09 3B 5B 35 5D ...cpi.'_'..;[5]
000130: 0D 0A 09 6A 7A 09 63 6D 69 66 69 39 09 09 3B 5B ...jz.cmifi9..;[
000140: 35 5D 20 28 49 66 20 49 20 77 61 73 20 64 6F 69 5] (If I was doi
000150: 6E 67 20 43 50 2F 4D 2C 20 49 20 77 6F 75 6C 64 ng CP/M, I would
000160: 20 68 61 76 65 0D 0A 09 63 70 69 09 27 7C 27 09 have...cpi.'|'.
000170: 09 3B 5B 35 5D 20 20 6A 75 73 74 20 65 6C 69 6D .;[5] just elim
000180: 69 6E 61 74 65 64 20 61 6C 6C 20 74 68 65 6D 20 inated all them
000190: 66 75 6E 6E 79 20 63 68 61 72 73 0D 0A 09 6A 7A funny chars...jz
0001A0: 09 63 6D 69 66 69 39 09 09 3B 5B 35 5D 20 20 69 .cmifi9..;[5] i
0001B0: 6E 73 74 65 61 64 20 6F 66 20 61 20 72 61 6E 64 nstead of a rand
0001C0: 6F 6D 20 73 65 6C 65 63 74 69 6F 6E 29 0D 0A 63 om selection)..c
0001D0: 6D 69 66 37 61 3A 09 09 09 09 3B 5B 35 5D 0D 0A mif7a:....;[5]..
0001E0: 09 63 70 69 09 27 61 27 09 09 3B 5B 70 63 63 30 .cpi.'a'..;[pcc0
0001F0: 30 37 5D 20 69 66 20 6E 6F 74 20 6C 6F 77 65 72 07] if not lower
Size : 512 (Real : 512)
000000: 3B 4D 61 6B 65 20 74 68 65 20 63 68 61 72 20 6E ;Make the char n
000010: 65 67 61 74 69 76 65 20 74 6F 20 69 6E 64 69 63 egative to indic
000020: 61 74 65 20 69 74 20 69 73 0D 0A 09 72 65 74 09 ate it is...ret.
000030: 09 09 3B 61 20 74 65 72 6D 69 6E 61 74 6F 72 2E ..;a terminator.
000040: 0D 0A 3B 0C 0D 0A 3B 09 52 65 61 64 20 63 68 61 ..;...;.Read cha
000050: 72 61 63 74 65 72 73 20 66 72 6F 6D 20 63 6F 6E racters from con
000060: 73 6F 6C 65 20 69 6E 74 6F 20 63 6F 6D 6D 61 6E sole into comman
000070: 64 20 62 75 66 66 65 72 2C 20 70 72 6F 63 65 73 d buffer, proces
000080: 73 69 6E 67 0D 0A 3B 09 65 64 69 74 69 6E 67 20 sing..;.editing
000090: 63 68 61 72 61 63 74 65 72 73 20 28 5E 48 2C 20 characters (^H,
0000A0: 5E 4D 2C 20 5E 4A 2C 20 5E 4C 2C 20 5E 55 2C 20 ^M, ^J, ^L, ^U,
0000B0: 5E 58 2C 20 3F 2C 20 64 65 6C 29 2E 0D 0A 3B 09 ^X, ?, del)...;.
0000C0: 63 61 6C 6C 65 64 20 62 79 3A 20 63 6F 6D 6E 64 called by: comnd
0000D0: 2C 20 63 6D 67 74 63 68 0D 0A 0D 0A 63 6D 69 6E , cmgtch....cmin
0000E0: 62 66 3A 09 70 75 73 68 09 70 73 77 0D 0A 09 70 bf:.push.psw...p
0000F0: 75 73 68 09 64 0D 0A 09 70 75 73 68 09 68 0D 0A ush.d...push.h..
000100: 09 6C 64 61 09 63 6D 61 66 6C 67 09 09 3B 49 73 .lda.cmaflg..;Is
000110: 20 74 68 65 20 61 63 74 69 6F 6E 20 63 68 61 72 the action char
000120: 20 66 6C 61 67 20 73 65 74 3F 0D 0A 09 6F 72 61 flag set?...ora
000130: 09 61 0D 0A 09 6A 6E 7A 09 63 6D 69 6E 62 39 09 .a...jnz.cminb9.
000140: 09 3B 49 66 20 73 6F 20 67 65 74 20 6E 6F 20 6D .;If so get no m
000150: 6F 72 65 20 63 68 61 72 73 2E 0D 0A 63 6D 69 6E ore chars...cmin
000160: 62 31 3A 09 6C 78 69 09 68 2C 63 6D 63 63 6E 74 b1:.lxi.h,cmccnt
000170: 09 3B 49 6E 63 72 65 6D 65 6E 74 20 74 68 65 20 .;Increment the
000180: 63 68 61 72 20 63 6F 75 6E 74 2E 0D 0A 09 69 6E char count....in
000190: 72 09 6D 0D 0A 09 6D 76 69 09 63 2C 63 6F 6E 69 r.m...mvi.c,coni
0001A0: 6E 09 09 3B 47 65 74 20 61 20 63 68 61 72 2E 0D n..;Get a char..
0001B0: 0A 09 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 6C 68 ..call.bdos...lh
0001C0: 6C 64 09 63 6D 63 70 74 72 09 09 3B 47 65 74 20 ld.cmcptr..;Get
0001D0: 74 68 65 20 70 6F 69 6E 74 65 72 20 69 6E 74 6F the pointer into
0001E0: 20 74 68 65 20 62 75 66 66 65 72 2E 0D 0A 09 6D the buffer....m
0001F0: 6F 76 09 6D 2C 61 09 09 3B 50 75 74 20 69 74 20 ov.m,a..;Put it
Size : 512 (Real : 512)
000000: 3B 20 43 50 34 43 50 4D 2E 41 53 4D 0D 0A 3B 09 ; CP4CPM.ASM..;.
000010: 4B 45 52 4D 49 54 20 2D 20 28 43 65 6C 74 69 63 KERMIT - (Celtic
000020: 20 66 6F 72 20 22 46 52 45 45 22 29 0D 0A 3B 0D for "FREE")..;.
000030: 0A 3B 09 54 68 69 73 20 69 73 20 74 68 65 20 43 .;.This is the C
000040: 50 2F 4D 2D 38 30 20 69 6D 70 6C 65 6D 65 6E 74 P/M-80 implement
000050: 61 74 69 6F 6E 20 6F 66 20 74 68 65 20 43 6F 6C ation of the Col
000060: 75 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 umbia University
000070: 0D 0A 3B 09 4B 45 52 4D 49 54 20 66 69 6C 65 20 ..;.KERMIT file
000080: 74 72 61 6E 73 66 65 72 20 70 72 6F 74 6F 63 6F transfer protoco
000090: 6C 2E 0D 0A 3B 0D 0A 3B 09 56 65 72 73 69 6F 6E l...;..;.Version
0000A0: 20 34 2E 30 0D 0A 3B 0D 0A 3B 09 43 6F 70 79 72 4.0..;..;.Copyr
0000B0: 69 67 68 74 20 4A 75 6E 65 20 31 39 38 31 2C 31 ight June 1981,1
0000C0: 39 38 32 2C 31 39 38 33 2C 31 39 38 34 0D 0A 3B 982,1983,1984..;
0000D0: 09 43 6F 6C 75 6D 62 69 61 20 55 6E 69 76 65 72 .Columbia Univer
0000E0: 73 69 74 79 0D 0A 3B 0D 0A 3B 20 4F 72 69 67 69 sity..;..; Origi
0000F0: 6E 61 6C 6C 79 20 77 72 69 74 74 65 6E 20 62 79 nally written by
000100: 20 42 69 6C 6C 20 43 61 74 63 68 69 6E 67 73 20 Bill Catchings
000110: 6F 66 20 74 68 65 20 43 6F 6C 75 6D 62 69 61 20 of the Columbia
000120: 55 6E 69 76 65 72 73 69 74 79 20 43 65 6E 74 65 University Cente
000130: 72 20 66 6F 72 0D 0A 3B 20 43 6F 6D 70 75 74 69 r for..; Computi
000140: 6E 67 20 41 63 74 69 76 69 74 69 65 73 2C 20 36 ng Activities, 6
000150: 31 32 20 57 2E 20 31 31 35 74 68 20 53 74 2E 2C 12 W. 115th St.,
000160: 20 4E 65 77 20 59 6F 72 6B 2C 20 4E 59 20 31 30 New York, NY 10
000170: 30 32 35 2E 0D 0A 3B 0D 0A 3B 20 43 6F 6E 74 72 025...;..; Contr
000180: 69 62 75 74 69 6F 6E 73 20 62 79 20 46 72 61 6E ibutions by Fran
000190: 6B 20 64 61 20 43 72 75 7A 2C 20 44 61 70 68 6E k da Cruz, Daphn
0001A0: 65 20 54 7A 6F 61 72 2C 20 42 65 72 6E 69 65 20 e Tzoar, Bernie
0001B0: 45 69 62 65 6E 2C 0D 0A 3B 20 42 72 75 63 65 20 Eiben,..; Bruce
0001C0: 54 61 6E 6E 65 72 2C 20 4E 69 63 6B 20 42 75 73 Tanner, Nick Bus
0001D0: 68 2C 20 47 72 65 67 20 53 6D 61 6C 6C 2C 20 4B h, Greg Small, K
0001E0: 69 6D 6D 6F 20 4C 61 61 6B 73 6F 6E 65 6E 2C 20 immo Laaksonen,
0001F0: 4A 65 66 66 20 44 61 6D 65 6E 73 2C 20 61 6E 64 Jeff Damens, and
Size : 512 (Real : 512)
000000: 69 6E 20 74 68 65 20 62 75 66 66 65 72 2E 0D 0A in the buffer...
000010: 09 69 6E 78 09 68 0D 0A 09 73 68 6C 64 09 63 6D .inx.h...shld.cm
000020: 63 70 74 72 0D 0A 09 63 70 69 09 32 35 4F 09 09 cptr...cpi.25O..
000030: 3B 49 73 20 69 74 20 61 20 5E 55 3F 0D 0A 09 6A ;Is it a ^U?...j
000040: 7A 09 63 6D 6E 62 31 32 09 09 3B 59 65 73 2E 0D z.cmnb12..;Yes..
000050: 0A 09 63 70 69 09 33 30 4F 09 09 3B 49 73 20 69 ..cpi.30O..;Is i
000060: 74 20 61 20 5E 58 3F 0D 0A 09 6A 6E 7A 09 63 6D t a ^X?...jnz.cm
000070: 69 6E 62 32 0D 0A 63 6D 6E 62 31 32 3A 09 63 61 inb2..cmnb12:.ca
000080: 6C 6C 09 63 6C 72 6C 69 6E 09 09 3B 43 6C 65 61 ll.clrlin..;Clea
000090: 72 20 74 68 65 20 6C 69 6E 65 2E 0D 0A 09 63 61 r the line....ca
0000A0: 6C 6C 09 70 72 70 72 6D 70 09 09 3B 50 72 69 6E ll.prprmp..;Prin
0000B0: 74 20 74 68 65 20 70 72 6F 6D 70 74 20 20 5B 54 t the prompt [T
0000C0: 6F 61 64 20 48 61 6C 6C 5D 0D 0A 09 6C 78 69 09 oad Hall]...lxi.
0000D0: 68 2C 63 6D 64 62 75 66 0D 0A 09 73 68 6C 64 09 h,cmdbuf...shld.
0000E0: 63 6D 63 70 74 72 09 09 3B 52 65 73 65 74 20 74 cmcptr..;Reset t
0000F0: 68 65 20 70 6F 69 6E 74 20 74 6F 20 74 68 65 20 he point to the
000100: 73 74 61 72 74 2E 0D 0A 09 6C 78 69 09 68 2C 63 start....lxi.h,c
000110: 6D 63 63 6E 74 09 3B 5A 65 72 6F 20 74 68 65 20 mccnt.;Zero the
000120: 63 6F 75 6E 74 2E 0D 0A 09 6D 76 69 09 6D 2C 30 count....mvi.m,0
000130: 0D 0A 09 6A 6D 70 09 72 65 70 61 72 73 09 09 3B ...jmp.repars..;
000140: 47 6F 20 73 74 61 72 74 20 6F 76 65 72 2E 0D 0A Go start over...
000150: 0D 0A 63 6D 69 6E 62 32 3A 09 63 70 69 09 31 30 ..cminb2:.cpi.10
000160: 4F 09 09 3B 42 61 63 6B 73 70 61 63 65 3F 0D 0A O..;Backspace?..
000170: 09 6A 7A 09 63 6D 69 6E 62 33 0D 0A 09 63 70 69 .jz.cminb3...cpi
000180: 09 64 65 6C 09 09 3B 6F 72 20 44 65 6C 65 74 65 .del..;or Delete
000190: 3F 0D 0A 09 6A 6E 7A 09 63 6D 69 6E 62 34 0D 0A ?...jnz.cminb4..
0001A0: 09 63 61 6C 6C 09 64 65 6C 63 68 72 09 09 3B 50 .call.delchr..;P
0001B0: 72 69 6E 74 20 74 68 65 20 64 65 6C 65 74 65 20 rint the delete
0001C0: 73 74 72 69 6E 67 2E 0D 0A 63 6D 69 6E 62 33 3A string...cminb3:
0001D0: 09 6C 64 61 09 63 6D 63 63 6E 74 09 09 3B 44 65 .lda.cmccnt..;De
0001E0: 63 72 65 6D 65 6E 74 20 74 68 65 20 63 68 61 72 crement the char
0001F0: 20 63 6F 75 6E 74 20 62 79 20 74 77 6F 2E 0D 0A count by two...
Size : 512 (Real : 512)
000000: 20 6D 61 6E 79 0D 0A 3B 20 6F 74 68 65 72 73 2E many..; others.
000010: 0D 0A 3B 0D 0A 3B 09 54 68 69 73 20 66 69 6C 65 ..;..;.This file
000020: 20 64 75 70 6C 69 63 61 74 65 73 20 74 68 65 20 duplicates the
000030: 43 50 2F 4D 20 44 49 52 20 61 6E 64 20 45 52 41 CP/M DIR and ERA
000040: 20 66 75 6E 63 74 69 6F 6E 73 20 73 6F 20 77 65 functions so we
000050: 20 64 6F 6E 27 74 20 68 61 76 65 0D 0A 3B 09 74 don't have..;.t
000060: 6F 20 65 78 69 74 2E 0D 0A 3B 0D 0A 3B 20 72 65 o exit...;..; re
000070: 76 69 73 69 6F 6E 20 68 69 73 74 6F 72 79 3A 0D vision history:.
000080: 0A 3B 20 65 64 69 74 20 33 3A 20 4A 75 6C 79 20 .; edit 3: July
000090: 38 2C 20 31 39 38 34 20 28 43 4A 43 29 0D 0A 3B 8, 1984 (CJC)..;
0000A0: 09 4D 65 72 67 65 20 6D 6F 64 69 66 69 63 61 74 .Merge modificat
0000B0: 69 6F 6E 73 20 66 72 6F 6D 20 54 6F 61 64 20 48 ions from Toad H
0000C0: 61 6C 6C 3A 20 73 75 70 70 6F 72 74 20 4C 41 53 all: support LAS
0000D0: 4D 20 28 6C 69 6E 6B 65 64 20 62 79 20 43 50 34 M (linked by CP4
0000E0: 54 54 2C 0D 0A 3B 09 6C 69 6E 6B 73 20 74 6F 20 TT,..;.links to
0000F0: 43 50 34 57 4C 44 29 2C 20 75 73 65 20 70 72 63 CP4WLD), use prc
000100: 72 6C 66 20 77 68 65 72 65 20 61 70 70 72 6F 70 rlf where approp
000110: 72 69 61 74 65 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 riate...;..; edi
000120: 74 20 32 3A 20 4A 75 6E 65 20 35 2C 20 31 39 38 t 2: June 5, 198
000130: 34 20 28 43 4A 43 29 0D 0A 3B 09 64 6F 63 75 6D 4 (CJC)..;.docum
000140: 65 6E 74 61 74 69 6F 6E 20 61 6E 64 20 66 6F 72 entation and for
000150: 6D 61 74 74 69 6E 67 3B 20 64 65 6C 65 74 65 20 matting; delete
000160: 75 6E 75 73 65 64 20 63 6F 64 65 20 28 64 69 72 unused code (dir
000170: 31 33 29 3B 20 61 64 64 20 6D 6F 64 75 6C 65 0D 13); add module.
000180: 0A 3B 09 76 65 72 73 69 6F 6E 20 73 74 72 69 6E .;.version strin
000190: 67 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 31 3A g...;..; edit 1:
0001A0: 20 4D 61 79 2C 20 31 39 38 34 20 28 43 4A 43 29 May, 1984 (CJC)
0001B0: 0D 0A 3B 09 65 78 74 72 61 63 74 65 64 20 66 72 ..;.extracted fr
0001C0: 6F 6D 20 43 50 4D 42 41 53 45 2E 4D 38 30 20 76 om CPMBASE.M80 v
0001D0: 65 72 73 69 6F 6E 20 33 2E 39 3B 20 6D 6F 64 69 ersion 3.9; modi
0001E0: 66 69 63 61 74 69 6F 6E 73 20 61 72 65 20 64 65 fications are de
0001F0: 73 63 72 69 62 65 64 20 69 6E 0D 0A 3B 09 74 68 scribed in..;.th
Size : 512 (Real : 512)
000000: 09 64 63 72 09 61 0D 0A 09 64 63 72 09 61 0D 0A .dcr.a...dcr.a..
000010: 09 6F 72 61 09 61 09 09 3B 48 61 76 65 20 77 65 .ora.a..;Have we
000020: 20 67 6F 6E 65 20 74 6F 6F 20 66 61 72 3F 0D 0A gone too far?..
000030: 09 6A 70 09 63 6D 6E 62 33 32 09 09 3B 49 66 20 .jp.cmnb32..;If
000040: 6E 6F 74 20 70 72 6F 63 65 65 64 2E 0D 0A 09 6D not proceed....m
000050: 76 69 09 63 2C 63 6F 6E 6F 75 74 09 3B 52 69 6E vi.c,conout.;Rin
000060: 67 20 74 68 65 20 62 65 6C 6C 2E 0D 0A 09 6D 76 g the bell....mv
000070: 69 09 65 2C 62 65 6C 6C 0D 0A 09 63 61 6C 6C 09 i.e,bell...call.
000080: 62 64 6F 73 0D 0A 09 6A 6D 70 09 63 6D 6E 62 31 bdos...jmp.cmnb1
000090: 32 09 09 3B 47 6F 20 72 65 70 72 69 6E 74 20 70 2..;Go reprint p
0000A0: 72 6F 6D 70 74 20 61 6E 64 20 72 65 70 61 72 73 rompt and repars
0000B0: 65 2E 0D 0A 0D 0A 63 6D 6E 62 33 32 3A 09 73 74 e.....cmnb32:.st
0000C0: 61 09 63 6D 63 63 6E 74 09 09 3B 53 61 76 65 20 a.cmccnt..;Save
0000D0: 74 68 65 20 6E 65 77 20 63 68 61 72 20 63 6F 75 the new char cou
0000E0: 6E 74 2E 0D 0A 09 63 61 6C 6C 09 63 6C 72 73 70 nt....call.clrsp
0000F0: 63 09 09 3B 45 72 61 73 65 20 74 68 65 20 63 68 c..;Erase the ch
000100: 61 72 61 63 74 65 72 2E 0D 0A 09 6C 68 6C 64 09 aracter....lhld.
000110: 63 6D 63 70 74 72 09 09 3B 47 65 74 20 74 68 65 cmcptr..;Get the
000120: 20 70 6F 69 6E 74 65 72 20 69 6E 74 6F 20 74 68 pointer into th
000130: 65 20 62 75 66 66 65 72 2E 0D 0A 09 64 63 78 09 e buffer....dcx.
000140: 68 09 09 3B 42 61 63 6B 20 75 70 20 69 6E 20 74 h..;Back up in t
000150: 68 65 20 62 75 66 66 65 72 2E 0D 0A 09 64 63 78 he buffer....dcx
000160: 09 68 0D 0A 09 73 68 6C 64 09 63 6D 63 70 74 72 .h...shld.cmcptr
000170: 0D 0A 09 6A 6D 70 09 72 65 70 61 72 73 09 09 3B ...jmp.repars..;
000180: 47 6F 20 72 65 70 61 72 73 65 20 65 76 65 72 79 Go reparse every
000190: 74 68 69 6E 67 2E 0D 0A 0D 0A 63 6D 69 6E 62 34 thing.....cminb4
0001A0: 3A 09 63 70 69 09 27 3F 27 09 09 3B 49 73 20 69 :.cpi.'?'..;Is i
0001B0: 74 20 61 20 71 75 65 73 74 69 6F 6E 20 6D 61 72 t a question mar
0001C0: 6B 2E 0D 0A 09 6A 7A 09 63 6D 69 6E 62 36 0D 0A k....jz.cminb6..
0001D0: 09 63 70 69 09 65 73 63 09 09 3B 49 73 20 69 74 .cpi.esc..;Is it
0001E0: 20 61 6E 20 65 73 63 61 70 65 3F 0D 0A 09 6A 7A an escape?...jz
0001F0: 09 63 6D 69 6E 62 36 0D 0A 09 63 70 69 09 63 72 .cminb6...cpi.cr
Size : 512 (Real : 512)
000000: 65 20 61 63 63 6F 6D 70 61 6E 79 69 6E 67 20 2E e accompanying .
000010: 55 50 44 20 66 69 6C 65 2E 0D 0A 3B 0D 0A 63 70 UPD file...;..cp
000020: 6D 76 65 72 3A 09 64 62 09 27 43 50 34 43 50 4D mver:.db.'CP4CPM
000030: 2E 41 53 4D 20 28 33 29 20 20 38 2D 4A 75 6C 2D .ASM (3) 8-Jul-
000040: 38 34 24 27 09 3B 20 6E 61 6D 65 2C 20 65 64 69 84$'.; name, edi
000050: 74 20 6E 75 6D 62 65 72 2C 20 64 61 74 65 0D 0A t number, date..
000060: 0D 0A 6E 70 6C 09 45 51 55 09 30 34 48 09 3B 4E ..npl.EQU.04H.;N
000070: 75 6D 62 65 72 20 6F 66 20 6E 61 6D 65 73 20 70 umber of names p
000080: 65 72 20 6C 69 6E 65 20 66 6F 72 20 64 69 72 20 er line for dir
000090: 63 6F 6D 6D 61 6E 64 2E 0D 0A 0D 0A 3B 09 54 68 command.....;.Th
0000A0: 69 73 20 69 73 20 74 68 65 20 44 49 52 20 63 6F is is the DIR co
0000B0: 6D 6D 61 6E 64 2E 20 20 44 69 73 70 6C 61 79 20 mmand. Display
0000C0: 74 68 65 20 6E 61 6D 65 20 61 6E 64 20 73 69 7A the name and siz
0000D0: 65 20 6F 66 20 61 6C 6C 20 66 69 6C 65 73 0D 0A e of all files..
0000E0: 3B 09 6D 61 74 63 68 69 6E 67 20 74 68 65 20 66 ;.matching the f
0000F0: 69 6C 65 73 70 65 63 2E 0D 0A 3B 09 68 65 72 65 ilespec...;.here
000100: 20 66 72 6F 6D 3A 20 6B 65 72 6D 69 74 0D 0A 3B from: kermit..;
000110: 0D 0A 3B 09 4E 6F 74 65 3A 20 54 68 69 73 20 69 ..;.Note: This i
000120: 73 20 61 62 73 74 72 61 63 74 65 64 20 66 72 6F s abstracted fro
000130: 6D 20 4B 65 69 74 68 20 50 65 74 65 72 73 6F 6E m Keith Peterson
000140: 27 73 20 44 49 52 46 2E 41 53 4D 0D 0A 3B 09 09 's DIRF.ASM..;..
000150: 64 69 72 65 63 74 6F 72 79 20 70 72 69 6E 74 20 directory print
000160: 66 75 6E 63 74 69 6F 6E 2E 20 20 54 68 61 6E 6B function. Thank
000170: 73 20 61 67 61 69 6E 20 4B 65 69 74 68 2E 0D 0A s again Keith...
000180: 3B 0D 0A 3B 0D 0A 64 69 72 3A 09 6C 78 69 09 64 ;..;..dir:.lxi.d
000190: 2C 66 63 62 09 09 3B 57 68 65 72 65 20 74 6F 20 ,fcb..;Where to
0001A0: 70 75 74 20 74 68 65 20 64 61 74 61 2C 20 69 66 put the data, if
0001B0: 20 61 6E 79 2E 0D 0A 09 6D 76 69 09 61 2C 63 6D any....mvi.a,cm
0001C0: 69 66 69 6E 0D 0A 09 63 61 6C 6C 09 63 6F 6D 6E ifin...call.comn
0001D0: 64 09 09 3B 50 61 72 73 65 20 61 20 66 75 6C 6C d..;Parse a full
0001E0: 20 6F 72 20 70 69 65 63 65 20 6F 66 20 66 69 6C or piece of fil
0001F0: 65 2D 73 70 65 63 0D 0A 09 20 6A 6D 70 09 64 69 e-spec... jmp.di
Size : 512 (Real : 512)
000000: 09 09 3B 49 73 20 69 74 20 61 20 63 61 72 72 69 ..;Is it a carri
000010: 61 67 65 20 72 65 74 75 72 6E 3F 0D 0A 09 6A 7A age return?...jz
000020: 09 63 6D 69 6E 62 35 0D 0A 09 63 70 69 09 6C 66 .cminb5...cpi.lf
000030: 09 09 3B 49 73 20 69 74 20 61 20 6C 69 6E 65 20 ..;Is it a line
000040: 66 65 65 64 3F 0D 0A 09 6A 7A 09 63 6D 69 6E 62 feed?...jz.cminb
000050: 35 0D 0A 09 63 70 69 09 66 66 09 09 3B 49 73 20 5...cpi.ff..;Is
000060: 69 74 20 61 20 66 6F 72 6D 66 65 65 64 3F 0D 0A it a formfeed?..
000070: 09 6A 6E 7A 09 63 6D 69 6E 62 31 09 09 3B 6E 6F .jnz.cminb1..;no
000080: 20 2D 20 6A 75 73 74 20 73 74 6F 72 65 20 69 74 - just store it
000090: 20 61 6E 64 20 67 65 74 20 61 6E 6F 74 68 65 72 and get another
0000A0: 20 63 68 61 72 61 63 74 65 72 2E 0D 0A 09 63 61 character....ca
0000B0: 6C 6C 09 63 6C 72 74 6F 70 0D 0A 63 6D 69 6E 62 ll.clrtop..cminb
0000C0: 35 3A 09 6C 64 61 09 63 6D 63 63 6E 74 09 09 3B 5:.lda.cmccnt..;
0000D0: 48 61 76 65 20 77 65 20 70 61 72 73 65 64 20 61 Have we parsed a
0000E0: 6E 79 20 63 68 61 72 73 20 79 65 74 3F 0D 0A 09 ny chars yet?...
0000F0: 63 70 69 09 31 0D 0A 09 6A 7A 09 70 72 73 65 72 cpi.1...jz.prser
000100: 72 09 09 3B 49 66 20 6E 6F 74 2C 20 6A 75 73 74 r..;If not, just
000110: 20 73 74 61 72 74 20 6F 76 65 72 2E 0D 0A 63 6D start over...cm
000120: 69 6E 62 36 3A 09 6D 76 69 09 61 2C 30 46 46 48 inb6:.mvi.a,0FFH
000130: 09 09 3B 53 65 74 20 74 68 65 20 61 63 74 69 6F ..;Set the actio
000140: 6E 20 66 6C 61 67 2E 0D 0A 09 73 74 61 09 63 6D n flag....sta.cm
000150: 61 66 6C 67 0D 0A 09 6A 6D 70 09 63 6D 69 6E 62 aflg...jmp.cminb
000160: 39 0D 0A 0D 0A 63 6D 69 6E 62 39 3A 09 70 6F 70 9....cminb9:.pop
000170: 09 68 0D 0A 09 70 6F 70 09 64 0D 0A 09 70 6F 70 .h...pop.d...pop
000180: 09 70 73 77 0D 0A 09 72 65 74 0D 0A 3B 0C 0D 0A .psw...ret..;...
000190: 3B 4C 69 74 74 6C 65 20 75 74 69 6C 69 74 79 20 ;Little utility
0001A0: 74 6F 20 70 72 69 6E 74 20 74 68 65 20 70 72 6F to print the pro
0001B0: 6D 70 74 2E 20 20 28 57 65 20 64 6F 20 61 20 4C mpt. (We do a L
0001C0: 4F 54 20 6F 66 20 74 68 65 73 65 2E 29 20 20 5B OT of these.) [
0001D0: 54 6F 61 64 20 48 61 6C 6C 5D 0D 0A 3B 45 6E 74 Toad Hall]..;Ent
0001E0: 65 72 73 20 77 69 74 68 20 6E 6F 74 68 69 6E 67 ers with nothing
0001F0: 2E 0D 0A 3B 44 65 73 74 72 6F 79 73 20 48 4C 20 ...;Destroys HL
Size : 512 (Real : 512)
000000: 72 32 09 09 3B 44 69 64 6E 27 74 20 67 65 74 20 r2..;Didn't get
000010: 61 20 46 55 4C 4C 20 66 69 6C 65 2D 73 70 65 63 a FULL file-spec
000020: 0D 0A 09 6A 6D 70 09 64 69 72 34 09 09 3B 6C 65 ...jmp.dir4..;le
000030: 74 73 20 64 6F 20 69 74 0D 0A 3B 0D 0A 3B 0D 0A ts do it..;..;..
000040: 3B 4D 61 6B 65 20 46 43 42 20 61 6C 6C 20 27 3F ;Make FCB all '?
000050: 27 20 74 6F 20 6D 61 74 63 68 20 61 6E 79 20 66 ' to match any f
000060: 69 6C 65 0D 0A 64 69 72 32 3A 09 6C 64 61 09 66 ile..dir2:.lda.f
000070: 63 62 0D 0A 09 63 70 69 09 27 20 27 09 09 3B 43 cb...cpi.' '..;C
000080: 4D 49 46 49 4E 20 6C 65 61 76 65 73 20 74 68 61 MIFIN leaves tha
000090: 74 20 61 73 20 27 20 27 0D 0A 09 6A 6E 7A 09 64 t as ' '...jnz.d
0000A0: 69 72 32 61 09 09 3B 68 65 20 74 79 70 65 64 20 ir2a..;he typed
0000B0: 61 74 20 6C 65 61 73 74 20 78 3A 0D 0A 09 78 72 at least x:...xr
0000C0: 61 09 61 0D 0A 09 73 74 61 09 66 63 62 09 09 3B a.a...sta.fcb..;
0000D0: 64 65 66 61 75 6C 74 20 64 72 69 76 65 0D 0A 64 default drive..d
0000E0: 69 72 32 61 3A 09 6C 78 69 09 68 2C 66 63 62 2B ir2a:.lxi.h,fcb+
0000F0: 31 0D 0A 09 6D 76 69 09 62 2C 31 31 09 09 3B 46 1...mvi.b,11..;F
000100: 4E 2B 46 54 20 63 6F 75 6E 74 2E 0D 0A 0D 0A 64 N+FT count.....d
000110: 69 72 33 3A 09 6D 76 69 09 6D 2C 27 3F 27 09 09 ir3:.mvi.m,'?'..
000120: 3B 53 74 6F 72 65 20 27 3F 27 73 20 69 6E 20 46 ;Store '?'s in F
000130: 43 42 2E 0D 0A 09 69 6E 78 09 68 0D 0A 09 64 63 CB....inx.h...dc
000140: 72 09 62 0D 0A 09 6A 6E 7A 09 64 69 72 33 0D 0A r.b...jnz.dir3..
000150: 3B 50 72 69 6E 74 20 73 69 67 6E 6F 6E 20 6D 65 ;Print signon me
000160: 73 73 61 67 65 20 61 6E 64 20 64 72 69 76 65 20 ssage and drive
000170: 6E 61 6D 65 0D 0A 64 69 72 34 3A 09 6C 64 61 09 name..dir4:.lda.
000180: 66 63 62 0D 0A 09 6F 72 61 09 61 09 09 3B 69 66 fcb...ora.a..;if
000190: 20 6E 6F 74 20 7A 65 72 6F 2C 20 67 65 74 20 64 not zero, get d
0001A0: 65 66 61 75 6C 74 0D 0A 09 6A 6E 7A 09 64 69 72 efault...jnz.dir
0001B0: 34 61 0D 0A 09 6C 64 61 09 63 75 72 64 73 6B 09 4a...lda.curdsk.
0001C0: 09 3B 67 65 74 20 64 65 66 61 75 6C 74 0D 0A 64 .;get default..d
0001D0: 69 72 34 61 3A 09 61 64 69 09 27 41 27 2D 31 09 ir4a:.adi.'A'-1.
0001E0: 09 3B 41 73 63 69 69 7A 65 20 69 74 0D 0A 09 73 .;Asciize it...s
0001F0: 74 61 09 64 6E 61 6D 31 34 09 09 3B 53 61 76 65 ta.dnam14..;Save
Size : 512 (Real : 512)
000000: 28 61 6E 64 20 49 20 73 75 70 70 6F 73 65 20 42 (and I suppose B
000010: 20 61 6E 64 20 44 45 20 61 6E 64 20 41 29 2E 0D and DE and A)..
000020: 0A 0D 0A 70 72 70 72 6D 70 3A 09 6C 68 6C 64 09 ...prprmp:.lhld.
000030: 63 6D 70 72 6D 70 09 09 3B 47 65 74 20 74 68 65 cmprmp..;Get the
000040: 20 70 72 6F 6D 70 74 2E 0D 0A 09 78 63 68 67 0D prompt....xchg.
000050: 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 0D 0A 09 ..call.prtstr...
000060: 72 65 74 0D 0A 0D 0A 49 46 09 6C 61 73 6D 0D 0A ret....IF.lasm..
000070: 4C 49 4E 4B 09 43 50 34 55 54 4C 0D 0A 45 4E 44 LINK.CP4UTL..END
000080: 49 46 09 3B 6C 61 73 6D 20 20 5B 54 6F 61 64 20 IF.;lasm [Toad
000090: 48 61 6C 6C 5D 0D 0A 00 00 00 00 00 00 00 00 00 Hall]...........
0000A0: E5 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: E5 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: E5 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: E5 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: E5 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: E5 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: E5 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 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: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001C0: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: E5 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: 20 69 74 20 69 6E 20 6D 65 73 73 61 67 65 2E 0D it in message..
000010: 0A 09 63 61 6C 6C 09 70 72 63 72 6C 66 0D 0A 09 ..call.prcrlf...
000020: 6C 78 69 09 64 2C 69 6E 6D 73 31 34 09 3B 50 6F lxi.d,inms14.;Po
000030: 69 6E 74 20 74 6F 20 6D 65 73 73 61 67 65 0D 0A int to message..
000040: 09 63 61 6C 6C 09 70 72 74 73 74 72 0D 0A 3B 0D .call.prtstr..;.
000050: 0A 3B 49 6E 69 74 69 61 6C 69 7A 65 20 6E 75 6D .;Initialize num
000060: 62 65 72 20 6F 66 20 6E 61 6D 65 73 20 70 65 72 ber of names per
000070: 20 6C 69 6E 65 20 63 6F 75 6E 74 65 72 0D 0A 09 line counter...
000080: 6D 76 69 09 61 2C 6E 70 6C 09 09 3B 4E 72 2E 20 mvi.a,npl..;Nr.
000090: 6E 61 6D 65 73 20 70 65 72 20 6C 69 6E 65 2E 0D names per line..
0000A0: 0A 09 73 74 61 09 6E 6E 61 6D 73 09 09 3B 49 6E ..sta.nnams..;In
0000B0: 69 74 20 63 6F 75 6E 74 65 72 2E 0D 0A 3B 0D 0A it counter...;..
0000C0: 09 63 61 6C 6C 09 64 69 72 32 36 09 09 3B 47 65 .call.dir26..;Ge
0000D0: 74 20 64 69 73 6B 20 70 61 72 61 6D 65 74 65 72 t disk parameter
0000E0: 73 0D 0A 64 69 72 35 3A 09 63 61 6C 6C 09 6D 66 s..dir5:.call.mf
0000F0: 6E 61 6D 65 09 09 3B 67 65 74 20 73 6F 6D 65 20 name..;get some
000100: 6E 61 6D 65 73 0D 0A 09 6A 6E 63 09 64 69 72 36 names...jnc.dir6
000110: 09 09 3B 67 6F 74 20 6F 6E 65 0D 0A 09 6A 6D 70 ..;got one...jmp
000120: 09 64 69 72 31 37 09 09 3B 67 6F 74 20 6E 6F 6E .dir17..;got non
000130: 65 20 2D 20 64 6F 20 73 75 6D 6D 61 72 79 0D 0A e - do summary..
000140: 0D 0A 64 69 72 36 3A 09 09 09 09 3B 43 68 65 63 ..dir6:....;Chec
000150: 6B 20 66 6F 72 20 63 6F 6E 73 6F 6C 65 20 62 72 k for console br
000160: 65 61 6B 0D 0A 09 6D 76 69 09 63 2C 63 6F 6E 73 eak...mvi.c,cons
000170: 74 61 09 3B 43 6B 20 73 74 61 74 75 73 20 6F 66 ta.;Ck status of
000180: 20 6B 62 64 2E 0D 0A 09 63 61 6C 6C 09 62 64 6F kbd....call.bdo
000190: 73 0D 0A 09 6F 72 61 09 61 09 09 3B 41 6E 79 20 s...ora.a..;Any
0001A0: 6B 65 79 20 70 72 65 73 73 65 64 3F 0D 0A 09 6A key pressed?...j
0001B0: 7A 09 64 69 72 36 61 09 09 3B 6E 6F 70 65 2C 20 z.dir6a..;nope,
0001C0: 6B 65 65 70 20 67 6F 69 6E 67 0D 0A 09 6D 76 69 keep going...mvi
0001D0: 09 63 2C 63 6F 6E 69 6E 0D 0A 09 63 61 6C 6C 09 .c,conin...call.
0001E0: 62 64 6F 73 09 09 3B 67 6F 62 62 6C 65 20 6B 65 bdos..;gobble ke
0001F0: 79 0D 0A 09 6A 6D 70 09 64 69 72 31 37 09 09 3B y...jmp.dir17..;
Size : 512 (Real : 512)
000000: 61 6C 6C 09 70 72 74 73 74 72 0D 0A 09 6A 6D 70 all.prtstr...jmp
000010: 09 64 69 72 31 36 09 09 3B 61 6C 6C 20 64 6F 6E .dir16..;all don
000020: 65 0D 0A 0D 0A 3B 43 6F 6D 70 75 74 65 20 74 68 e....;Compute th
000030: 65 20 73 69 7A 65 20 6F 66 20 74 68 65 20 66 69 e size of the fi
000040: 6C 65 0D 0A 0D 0A 64 69 72 32 35 3A 09 6D 76 69 le....dir25:.mvi
000050: 09 63 2C 63 66 6C 73 7A 09 09 3B 67 65 74 20 66 .c,cflsz..;get f
000060: 69 6C 65 2D 73 69 7A 65 0D 0A 09 6C 78 69 09 64 ile-size...lxi.d
000070: 2C 66 63 62 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 ,fcb...call.bdos
000080: 0D 0A 09 6C 64 61 09 66 63 62 72 6E 6F 09 09 3B ...lda.fcbrno..;
000090: 73 68 69 66 74 20 6C 65 61 73 74 20 73 69 67 6E shift least sign
0000A0: 2E 20 70 61 72 74 0D 0A 09 6C 78 69 09 62 2C 30 . part...lxi.b,0
0000B0: 09 09 3B 69 6E 69 74 20 62 63 0D 0A 09 6D 6F 76 ..;init bc...mov
0000C0: 09 6C 2C 61 0D 0A 09 61 6E 69 09 37 0D 0A 09 6A .l,a...ani.7...j
0000D0: 7A 09 64 69 72 32 35 30 09 09 3B 65 76 65 6E 20 z.dir250..;even
0000E0: 4B 0D 0A 09 6C 78 69 09 62 2C 31 09 09 3B 73 61 K...lxi.b,1..;sa
0000F0: 76 65 20 66 6F 72 20 6C 61 74 65 72 0D 0A 64 69 ve for later..di
000100: 72 32 35 30 3A 09 70 75 73 68 09 62 09 09 3B 73 r250:.push.b..;s
000110: 61 76 65 20 30 20 6F 72 20 31 20 74 6F 20 61 64 ave 0 or 1 to ad
000120: 64 20 74 6F 20 73 69 7A 65 0D 0A 09 6D 76 69 09 d to size...mvi.
000130: 62 2C 33 09 09 3B 73 68 69 66 74 20 33 20 62 69 b,3..;shift 3 bi
000140: 74 73 0D 0A 64 69 72 32 35 61 3A 09 78 72 61 09 ts..dir25a:.xra.
000150: 61 09 09 3B 63 6C 65 61 72 20 73 69 67 6E 0D 0A a..;clear sign..
000160: 09 6C 64 61 09 66 63 62 72 6E 6F 2B 31 09 3B 67 .lda.fcbrno+1.;g
000170: 65 74 20 6D 6F 73 74 20 73 69 67 20 62 79 74 65 et most sig byte
000180: 0D 0A 09 72 61 72 09 09 09 3B 73 68 69 66 74 20 ...rar...;shift
000190: 72 69 67 68 74 0D 0A 09 73 74 61 09 66 63 62 72 right...sta.fcbr
0001A0: 6E 6F 2B 31 09 3B 70 75 74 20 62 61 63 6B 0D 0A no+1.;put back..
0001B0: 09 6C 64 61 09 66 63 62 72 6E 6F 09 09 3B 67 65 .lda.fcbrno..;ge
0001C0: 74 20 6C 65 61 73 74 20 73 69 67 20 70 61 72 74 t least sig part
0001D0: 0D 0A 09 72 61 72 0D 0A 09 73 74 61 09 66 63 62 ...rar...sta.fcb
0001E0: 72 6E 6F 0D 0A 09 64 63 72 09 62 09 09 3B 6C 6F rno...dcr.b..;lo
0001F0: 6F 70 20 33 20 74 69 6D 65 73 0D 0A 09 6A 6E 7A op 3 times...jnz
Size : 512 (Real : 512)
000000: 61 6E 64 20 70 72 69 6E 74 20 73 75 6D 6D 61 72 and print summar
000010: 79 20 6F 6E 6C 79 0D 0A 0D 0A 3B 50 72 69 6E 74 y only....;Print
000020: 20 61 6E 20 65 6E 74 72 79 0D 0A 64 69 72 36 61 an entry..dir6a
000030: 3A 09 6C 78 69 09 68 2C 66 63 62 2B 31 09 09 3B :.lxi.h,fcb+1..;
000040: 70 6F 69 6E 74 20 74 6F 20 46 69 6C 65 6E 61 6D point to Filenam
000050: 65 0D 0A 09 6D 76 69 09 62 2C 38 09 09 3B 46 69 e...mvi.b,8..;Fi
000060: 6C 65 20 6E 61 6D 65 20 6C 65 6E 67 74 68 2E 0D le name length..
000070: 0A 09 63 61 6C 6C 09 64 69 72 31 31 09 09 3B 54 ..call.dir11..;T
000080: 79 70 65 20 66 69 6C 65 6E 61 6D 65 2E 0D 0A 09 ype filename....
000090: 6D 76 69 09 61 2C 27 2E 27 09 09 3B 50 65 72 69 mvi.a,'.'..;Peri
0000A0: 6F 64 20 61 66 74 65 72 20 46 4E 2E 0D 0A 09 63 od after FN....c
0000B0: 61 6C 6C 09 64 69 72 31 30 0D 0A 09 6D 76 69 09 all.dir10...mvi.
0000C0: 62 2C 33 09 20 09 3B 47 65 74 20 74 68 65 20 66 b,3. .;Get the f
0000D0: 69 6C 65 74 79 70 65 2E 0D 0A 09 63 61 6C 6C 09 iletype....call.
0000E0: 64 69 72 31 31 0D 0A 09 63 61 6C 6C 09 64 69 72 dir11...call.dir
0000F0: 32 35 09 09 3B 70 72 69 6E 74 20 73 69 7A 65 0D 25..;print size.
000100: 0A 09 6C 78 69 09 68 2C 6E 6E 61 6D 73 09 20 09 ..lxi.h,nnams. .
000110: 3B 50 6F 69 6E 74 20 74 6F 20 6E 61 6D 65 73 20 ;Point to names
000120: 63 6F 75 6E 74 65 72 2E 0D 0A 09 64 63 72 09 6D counter....dcr.m
000130: 09 20 09 3B 4F 6E 65 20 6C 65 73 73 20 6F 6E 20 . .;One less on
000140: 74 68 69 73 20 6C 69 6E 65 2E 0D 0A 09 70 75 73 this line....pus
000150: 68 09 70 73 77 0D 0A 09 63 6E 7A 09 64 69 72 37 h.psw...cnz.dir7
000160: 09 20 09 3B 4E 6F 20 63 72 2D 6C 66 20 6E 65 65 . .;No cr-lf nee
000170: 64 65 64 2C 20 64 6F 20 66 65 6E 63 65 2E 0D 0A ded, do fence...
000180: 09 70 6F 70 09 70 73 77 0D 0A 09 63 7A 09 64 69 .pop.psw...cz.di
000190: 72 31 32 09 20 09 3B 43 72 2D 6C 66 20 6E 65 65 r12. .;Cr-lf nee
0001A0: 64 65 64 2E 0D 0A 09 6A 6D 70 09 64 69 72 35 0D ded....jmp.dir5.
0001B0: 0A 0D 0A 3B 50 72 69 6E 74 20 73 70 61 63 65 2C ...;Print space,
0001C0: 20 66 65 6E 63 65 20 63 68 61 72 61 63 74 65 72 fence character
0001D0: 2C 20 74 68 65 6E 20 73 70 61 63 65 0D 0A 64 69 , then space..di
0001E0: 72 37 3A 09 63 61 6C 6C 09 64 69 72 39 0D 0A 09 r7:.call.dir9...
0001F0: 6D 76 69 09 61 2C 27 3A 27 09 20 09 3B 46 65 6E mvi.a,':'. .;Fen
Size : 512 (Real : 512)
000000: 09 64 69 72 32 35 61 0D 0A 09 6D 6F 76 09 6C 2C .dir25a...mov.l,
000010: 61 09 09 3B 73 69 7A 65 20 69 6E 20 48 4C 0D 0A a..;size in HL..
000020: 09 6C 64 61 09 66 63 62 72 6E 6F 2B 31 0D 0A 09 .lda.fcbrno+1...
000030: 6D 6F 76 09 68 2C 61 0D 0A 09 70 6F 70 09 62 09 mov.h,a...pop.b.
000040: 09 3B 67 65 74 20 30 20 6F 72 20 31 0D 0A 09 64 .;get 0 or 1...d
000050: 61 64 09 62 09 09 3B 72 6F 75 6E 64 20 75 70 20 ad.b..;round up
000060: 74 6F 20 4B 42 20 75 73 65 64 0D 0A 09 6C 64 61 to KB used...lda
000070: 09 62 6D 61 73 6B 09 09 3B 67 65 74 20 28 73 65 .bmask..;get (se
000080: 63 74 6F 72 73 2F 62 6C 6F 63 6B 29 2D 31 0D 0A ctors/block)-1..
000090: 09 72 72 63 0D 0A 09 72 72 63 09 09 09 3B 67 65 .rrc...rrc...;ge
0000A0: 74 20 28 4B 2F 62 6C 6F 63 6B 29 2D 31 0D 0A 09 t (K/block)-1...
0000B0: 72 72 63 0D 0A 09 61 6E 69 09 31 46 48 0D 0A 09 rrc...ani.1FH...
0000C0: 6D 6F 76 09 63 2C 61 0D 0A 09 64 61 64 09 62 09 mov.c,a...dad.b.
0000D0: 09 3B 61 64 64 20 28 4B 2F 62 6C 6F 63 6B 29 2D .;add (K/block)-
0000E0: 31 20 74 6F 20 73 69 7A 65 20 74 6F 20 72 6F 75 1 to size to rou
0000F0: 6E 64 20 75 70 0D 0A 09 63 6D 61 09 09 09 3B 6D nd up...cma...;m
000100: 61 6B 65 20 61 20 6D 61 73 6B 0D 0A 09 61 6E 61 ake a mask...ana
000110: 09 6C 09 09 3B 74 72 75 6E 63 61 74 65 20 61 66 .l..;truncate af
000120: 74 65 72 20 72 6F 75 6E 64 69 6E 67 20 75 70 0D ter rounding up.
000130: 0A 09 6D 6F 76 09 6C 2C 61 0D 0A 09 70 75 73 68 ..mov.l,a...push
000140: 09 68 0D 0A 09 6C 78 69 09 62 2C 2D 31 30 09 09 .h...lxi.b,-10..
000150: 3B 73 75 62 74 72 61 63 74 20 31 30 0D 0A 09 64 ;subtract 10...d
000160: 61 64 09 62 0D 0A 09 6A 63 09 64 69 72 32 35 64 ad.b...jc.dir25d
000170: 09 09 3B 3E 3D 20 31 30 0D 0A 09 63 61 6C 6C 09 ..;>= 10...call.
000180: 64 69 72 38 09 09 3B 20 70 72 69 6E 74 20 61 20 dir8..; print a
000190: 6C 65 61 64 69 6E 67 20 73 70 61 63 65 0D 0A 09 leading space...
0001A0: 6A 6D 70 09 64 69 72 32 35 65 0D 0A 0D 0A 64 69 jmp.dir25e....di
0001B0: 72 32 35 64 3A 09 70 6F 70 09 68 09 09 3B 67 65 r25d:.pop.h..;ge
0001C0: 74 20 73 69 7A 65 20 61 67 61 69 6E 0D 0A 09 70 t size again...p
0001D0: 75 73 68 09 68 0D 0A 09 6C 78 69 09 62 2C 2D 31 ush.h...lxi.b,-1
0001E0: 30 30 09 09 3B 73 75 62 74 72 61 63 74 20 31 30 00..;subtract 10
0001F0: 30 0D 0A 09 64 61 64 09 62 0D 0A 09 6A 63 09 64 0...dad.b...jc.d
Size : 512 (Real : 512)
000000: 63 65 20 63 68 61 72 61 63 74 65 72 2E 0D 0A 09 ce character....
000010: 63 61 6C 6C 09 64 69 72 31 30 0D 0A 09 6A 6D 70 call.dir10...jmp
000020: 09 64 69 72 39 0D 0A 0D 0A 3B 20 64 69 72 38 20 .dir9....; dir8
000030: 2D 20 50 72 69 6E 74 20 74 77 6F 20 73 70 61 63 - Print two spac
000040: 65 73 0D 0A 3B 20 64 69 72 39 20 2D 20 50 72 69 es..; dir9 - Pri
000050: 6E 74 20 6F 6E 65 20 73 70 61 63 65 0D 0A 3B 20 nt one space..;
000060: 64 69 72 31 30 20 2D 20 54 79 70 65 20 63 68 61 dir10 - Type cha
000070: 72 20 69 6E 20 41 20 72 65 67 69 73 74 65 72 0D r in A register.
000080: 0A 64 69 72 38 3A 09 63 61 6C 6C 09 64 69 72 39 .dir8:.call.dir9
000090: 0D 0A 64 69 72 39 3A 09 6D 76 69 09 61 2C 27 20 ..dir9:.mvi.a,'
0000A0: 27 0D 0A 64 69 72 31 30 3A 09 70 75 73 68 09 62 '..dir10:.push.b
0000B0: 0D 0A 09 70 75 73 68 09 64 0D 0A 09 70 75 73 68 ...push.d...push
0000C0: 09 68 0D 0A 09 6D 6F 76 09 65 2C 61 09 20 09 3B .h...mov.e,a. .;
0000D0: 43 68 61 72 20 74 6F 20 45 20 66 6F 72 20 43 50 Char to E for CP
0000E0: 2F 4D 2E 0D 0A 09 6D 76 69 09 63 2C 63 6F 6E 6F /M....mvi.c,cono
0000F0: 75 74 09 3B 57 72 69 74 65 20 63 68 61 72 20 74 ut.;Write char t
000100: 6F 20 63 6F 6E 73 6F 6C 65 20 66 75 6E 63 74 69 o console functi
000110: 6F 6E 2E 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 0D on....call.bdos.
000120: 0A 09 70 6F 70 09 68 0D 0A 09 70 6F 70 20 09 64 ..pop.h...pop .d
000130: 0D 0A 09 70 6F 70 09 62 0D 0A 09 72 65 74 0D 0A ...pop.b...ret..
000140: 0D 0A 3B 54 79 70 65 20 28 42 29 20 63 68 61 72 ..;Type (B) char
000150: 61 63 74 65 72 73 20 66 72 6F 6D 20 6D 65 6D 6F acters from memo
000160: 72 79 20 28 48 4C 29 0D 0A 64 69 72 31 31 3A 09 ry (HL)..dir11:.
000170: 6D 6F 76 09 61 2C 6D 0D 0A 09 61 6E 69 09 37 46 mov.a,m...ani.7F
000180: 48 09 20 09 3B 52 65 6D 6F 76 65 20 43 50 2F 4D H. .;Remove CP/M
000190: 20 32 2E 78 20 61 74 74 72 69 62 75 74 65 73 2E 2.x attributes.
0001A0: 0D 0A 09 63 61 6C 6C 09 64 69 72 31 30 0D 0A 09 ...call.dir10...
0001B0: 69 6E 78 09 68 0D 0A 09 64 63 72 09 62 0D 0A 09 inx.h...dcr.b...
0001C0: 6A 6E 7A 09 64 69 72 31 31 0D 0A 09 72 65 74 0D jnz.dir11...ret.
0001D0: 0A 0D 0A 3B 43 52 2D 4C 46 20 72 6F 75 74 69 6E ...;CR-LF routin
0001E0: 65 2E 20 48 4C 3D 4E 4E 41 4D 53 20 75 70 6F 6E e. HL=NNAMS upon
0001F0: 20 65 6E 74 72 79 0D 0A 64 69 72 31 32 3A 09 70 entry..dir12:.p
Size : 512 (Real : 512)
000000: 69 72 32 35 65 09 09 3B 3E 3D 20 31 30 30 0D 0A ir25e..;>= 100..
000010: 09 63 61 6C 6C 09 64 69 72 39 09 09 3B 20 70 72 .call.dir9..; pr
000020: 69 6E 74 20 61 6E 6F 74 68 65 72 20 6C 65 61 64 int another lead
000030: 69 6E 67 20 73 70 61 63 65 0D 0A 64 69 72 32 35 ing space..dir25
000040: 65 3A 09 63 61 6C 6C 09 64 69 72 39 09 09 3B 61 e:.call.dir9..;a
000050: 20 73 70 61 63 65 0D 0A 09 70 6F 70 09 68 09 09 space...pop.h..
000060: 3B 67 65 74 20 73 69 7A 65 20 62 61 63 6B 0D 0A ;get size back..
000070: 09 63 61 6C 6C 09 6E 6F 75 74 09 09 3B 2E 2E 67 .call.nout..;..g
000080: 6F 20 70 72 69 6E 74 20 69 74 0D 0A 09 6D 76 69 o print it...mvi
000090: 09 61 2C 27 6B 27 09 09 3B 2E 2E 61 6E 64 20 66 .a,'k'..;..and f
0000A0: 6F 6C 6C 6F 77 20 77 69 74 68 20 4B 20 73 69 7A ollow with K siz
0000B0: 65 0D 0A 09 63 61 6C 6C 09 64 69 72 31 30 0D 0A e...call.dir10..
0000C0: 09 72 65 74 0D 0A 0D 0A 64 69 72 32 36 3A 09 6D .ret....dir26:.m
0000D0: 76 69 09 63 2C 67 74 64 70 61 72 20 09 3B 63 75 vi.c,gtdpar .;cu
0000E0: 72 72 65 6E 74 20 44 49 53 4B 20 50 41 52 41 4D rrent DISK PARAM
0000F0: 45 54 45 52 20 42 4C 4F 43 4B 0D 0A 09 63 61 6C ETER BLOCK...cal
000100: 6C 09 62 64 6F 73 0D 0A 09 69 6E 78 09 68 0D 0A l.bdos...inx.h..
000110: 09 69 6E 78 09 68 0D 0A 09 6D 6F 76 09 61 2C 6D .inx.h...mov.a,m
000120: 09 09 3B 47 65 74 20 42 6C 6F 63 6B 20 53 68 69 ..;Get Block Shi
000130: 66 74 20 46 61 63 74 6F 72 0D 0A 09 73 74 61 09 ft Factor...sta.
000140: 62 73 68 69 66 74 66 0D 0A 09 69 6E 78 09 68 09 bshiftf...inx.h.
000150: 09 3B 42 75 6D 70 20 74 6F 20 42 6C 6F 63 6B 20 .;Bump to Block
000160: 4D 61 73 6B 0D 0A 09 6D 6F 76 09 61 2C 6D 09 09 Mask...mov.a,m..
000170: 3B 67 65 74 20 69 74 0D 0A 09 73 74 61 09 62 6D ;get it...sta.bm
000180: 61 73 6B 0D 0A 09 69 6E 78 09 68 0D 0A 09 69 6E ask...inx.h...in
000190: 78 09 68 0D 0A 09 6D 6F 76 09 65 2C 6D 09 09 3B x.h...mov.e,m..;
0001A0: 47 65 74 20 4D 61 78 20 42 6C 6F 63 6B 20 6E 75 Get Max Block nu
0001B0: 6D 62 65 72 0D 0A 09 69 6E 78 09 68 0D 0A 09 6D mber...inx.h...m
0001C0: 6F 76 09 64 2C 6D 0D 0A 09 78 63 68 67 0D 0A 09 ov.d,m...xchg...
0001D0: 73 68 6C 64 09 62 6D 61 78 09 09 3B 50 75 74 20 shld.bmax..;Put
0001E0: 69 74 20 61 77 61 79 0D 0A 09 72 65 74 0D 0A 3B it away...ret..;
0001F0: 0C 0D 0A 3B 09 45 52 41 20 63 6F 6D 6D 61 6E 64 ...;.ERA command
Size : 512 (Real : 512)
000000: 75 73 68 09 62 0D 0A 09 70 75 73 68 09 64 0D 0A ush.b...push.d..
000010: 09 70 75 73 68 09 68 0D 0A 09 63 61 6C 6C 09 70 .push.h...call.p
000020: 72 63 72 6C 66 09 09 3B 50 72 69 6E 74 20 43 52 rcrlf..;Print CR
000030: 2F 4C 46 20 5B 54 6F 61 64 20 48 61 6C 6C 5D 0D /LF [Toad Hall].
000040: 0A 09 70 6F 70 09 68 09 09 3B 28 64 69 64 20 75 ..pop.h..;(did u
000050: 73 65 20 63 61 6C 6C 20 74 6F 20 64 69 72 31 30 se call to dir10
000060: 2C 20 62 75 74 20 73 6C 6F 6F 6F 77 29 0D 0A 09 , but slooow)...
000070: 70 6F 70 09 64 0D 0A 09 70 6F 70 09 62 0D 0A 09 pop.d...pop.b...
000080: 6D 76 69 09 6D 2C 6E 70 6C 09 20 09 3B 4E 75 6D mvi.m,npl. .;Num
000090: 62 65 72 20 6F 66 20 6E 61 6D 65 73 20 70 65 72 ber of names per
0000A0: 20 6C 69 6E 65 2E 0D 0A 09 72 65 74 0D 0A 0D 0A line....ret....
0000B0: 3B 45 78 69 74 20 2D 20 41 6C 6C 20 64 6F 6E 65 ;Exit - All done
0000C0: 2C 20 72 65 74 75 72 6E 20 76 69 61 20 6A 6D 70 , return via jmp
0000D0: 20 28 61 73 20 66 6F 72 20 61 6C 6C 20 6D 61 69 (as for all mai
0000E0: 6E 20 63 6F 6D 6D 61 6E 64 73 29 0D 0A 64 69 72 n commands)..dir
0000F0: 31 36 3A 09 63 61 6C 6C 09 70 72 63 72 6C 66 0D 16:.call.prcrlf.
000100: 0A 09 6C 64 61 09 63 75 72 64 73 6B 0D 0A 09 64 ..lda.curdsk...d
000110: 63 72 09 61 09 09 3B 72 65 6C 61 74 69 76 65 20 cr.a..;relative
000120: 74 6F 20 30 0D 0A 09 6D 6F 76 09 65 2C 61 0D 0A to 0...mov.e,a..
000130: 09 6D 76 69 09 63 2C 6C 6F 67 64 73 6B 0D 0A 09 .mvi.c,logdsk...
000140: 63 61 6C 6C 09 62 64 6F 73 09 09 3B 62 61 63 6B call.bdos..;back
000150: 20 74 6F 20 22 6C 6F 67 67 65 64 20 69 6E 22 20 to "logged in"
000160: 64 69 73 6B 0D 0A 09 6A 6D 70 09 6B 65 72 6D 69 disk...jmp.kermi
000170: 74 09 20 09 3B 2E 2E 2E 61 6E 64 20 72 65 74 75 t. .;...and retu
000180: 72 6E 20 74 6F 20 6B 65 72 6D 69 74 2E 0D 0A 0D rn to kermit....
000190: 0A 3B 0D 0A 3B 44 65 74 65 72 6D 69 6E 65 73 20 .;..;Determines
0001A0: 66 72 65 65 20 73 70 61 63 65 20 72 65 6D 61 69 free space remai
0001B0: 6E 69 6E 67 0D 0A 3B 0D 0A 64 69 72 31 37 3A 09 ning..;..dir17:.
0001C0: 78 72 61 09 61 0D 0A 09 73 74 61 09 6D 66 66 6C xra.a...sta.mffl
0001D0: 67 31 09 09 3B 63 6C 65 61 6E 20 75 70 20 4D 46 g1..;clean up MF
0001E0: 4E 41 4D 45 0D 0A 09 73 74 61 09 6D 66 66 6C 67 NAME...sta.mfflg
0001F0: 32 0D 0A 09 6C 64 61 09 66 63 62 09 09 3B 20 67 2...lda.fcb..; g
Size : 512 (Real : 512)
000000: 20 2D 20 65 72 61 73 65 20 61 20 43 50 2F 4D 20 - erase a CP/M
000010: 66 69 6C 65 0D 0A 3B 09 68 65 72 65 20 66 72 6F file..;.here fro
000020: 6D 3A 20 6B 65 72 6D 69 74 0D 0A 0D 0A 65 72 61 m: kermit....era
000030: 3A 09 6D 76 69 09 61 2C 63 6D 69 66 69 09 09 3B :.mvi.a,cmifi..;
000040: 50 61 72 73 65 20 61 20 66 69 6C 65 2D 73 70 65 Parse a file-spe
000050: 63 0D 0A 09 6C 78 69 09 64 2C 66 63 62 09 09 3B c...lxi.d,fcb..;
000060: 69 6E 74 6F 20 46 43 42 0D 0A 09 63 61 6C 6C 09 into FCB...call.
000070: 63 6F 6D 6E 64 0D 0A 09 20 6A 6D 70 09 6B 65 72 comnd... jmp.ker
000080: 6D 69 74 09 09 3B 62 61 64 20 70 61 72 73 65 0D mit..;bad parse.
000090: 0A 09 6C 78 69 09 64 2C 66 63 62 0D 0A 09 6D 76 ..lxi.d,fcb...mv
0000A0: 69 09 63 2C 73 66 69 72 73 74 09 3B 63 68 65 63 i.c,sfirst.;chec
0000B0: 6B 20 69 66 20 76 61 6C 69 64 0D 0A 09 63 61 6C k if valid...cal
0000C0: 6C 09 62 64 6F 73 0D 0A 09 69 6E 72 09 61 09 09 l.bdos...inr.a..
0000D0: 3B 30 20 69 66 20 46 49 4C 45 20 6E 6F 74 20 66 ;0 if FILE not f
0000E0: 6F 75 6E 64 0D 0A 09 6A 6E 7A 09 65 72 61 31 09 ound...jnz.era1.
0000F0: 09 3B 66 6F 75 6E 64 20 61 74 20 6C 65 61 73 74 .;found at least
000100: 20 6F 6E 65 0D 0A 09 6C 78 69 09 64 2C 65 72 6D one...lxi.d,erm
000110: 73 31 35 09 3B 22 75 6E 61 62 6C 65 20 74 6F 20 s15.;"unable to
000120: 66 69 6E 64 20 66 69 6C 65 22 0D 0A 09 63 61 6C find file"...cal
000130: 6C 09 70 72 74 73 74 72 0D 0A 09 6A 6D 70 09 6B l.prtstr...jmp.k
000140: 65 72 6D 69 74 0D 0A 0D 0A 65 72 61 31 3A 09 6C ermit....era1:.l
000150: 78 69 09 64 2C 66 63 62 0D 0A 09 6D 76 69 09 63 xi.d,fcb...mvi.c
000160: 2C 64 65 6C 66 0D 0A 09 63 61 6C 6C 09 62 64 6F ,delf...call.bdo
000170: 73 0D 0A 09 6C 78 69 09 64 2C 69 6E 6D 73 31 38 s...lxi.d,inms18
000180: 09 3B 22 20 46 69 6C 65 28 73 29 20 65 72 61 73 .;" File(s) eras
000190: 65 64 22 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 ed"...call.prtst
0001A0: 72 0D 0A 09 6A 6D 70 09 6B 65 72 6D 69 74 0D 0A r...jmp.kermit..
0001B0: 0D 0A 49 46 20 6C 61 73 6D 0D 0A 09 4C 49 4E 4B ..IF lasm...LINK
0001C0: 09 43 50 34 57 4C 44 0D 0A 45 4E 44 49 46 3B 6C .CP4WLD..ENDIF;l
0001D0: 61 73 6D 20 20 5B 54 6F 61 64 20 48 61 6C 6C 5D asm [Toad Hall]
0001E0: 0D 0A 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: 65 74 20 64 72 69 76 65 20 6E 75 6D 62 65 72 20 et drive number
000010: 66 72 6F 6D 20 46 43 42 0D 0A 09 6F 72 61 09 61 from FCB...ora.a
000020: 0D 0A 09 6A 7A 09 64 69 72 31 38 09 09 3B 20 64 ...jz.dir18..; d
000030: 65 66 61 75 6C 74 3F 0D 0A 09 64 63 72 09 61 09 efault?...dcr.a.
000040: 09 3B 20 6E 6F 2C 20 6D 61 6B 65 20 72 65 71 75 .; no, make requ
000050: 65 73 74 65 64 20 64 72 69 76 65 20 63 75 72 72 ested drive curr
000060: 65 6E 74 20 64 72 69 76 65 2E 0D 0A 09 6D 6F 76 ent drive....mov
000070: 09 65 2C 61 0D 0A 09 6D 76 69 09 63 2C 6C 6F 67 .e,a...mvi.c,log
000080: 64 73 6B 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 0D dsk...call.bdos.
000090: 0A 64 69 72 31 38 3A 09 63 61 6C 6C 09 73 79 73 .dir18:.call.sys
0000A0: 73 70 63 09 09 3B 20 67 65 74 20 73 70 61 63 65 spc..; get space
0000B0: 20 61 76 61 69 6C 61 62 6C 65 20 66 6F 72 20 63 available for c
0000C0: 75 72 72 65 6E 74 20 64 72 69 76 65 0D 0A 09 70 urrent drive...p
0000D0: 75 73 68 09 68 0D 0A 09 6C 78 69 09 64 2C 69 6E ush.h...lxi.d,in
0000E0: 6D 73 31 35 09 3B 22 44 72 69 76 65 20 22 0D 0A ms15.;"Drive "..
0000F0: 09 63 61 6C 6C 09 70 72 74 73 74 72 0D 0A 09 6C .call.prtstr...l
000100: 64 61 09 66 63 62 09 09 3B 49 66 20 6E 6F 20 64 da.fcb..;If no d
000110: 72 69 76 65 2C 20 67 65 74 0D 0A 09 6F 72 61 09 rive, get...ora.
000120: 61 09 09 3B 6C 6F 67 67 65 64 20 69 6E 20 64 72 a..;logged in dr
000130: 69 76 65 0D 0A 09 6A 6E 7A 09 64 69 72 32 34 0D ive...jnz.dir24.
000140: 0A 09 6D 76 69 09 63 2C 72 64 64 72 76 0D 0A 09 ..mvi.c,rddrv...
000150: 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 69 6E 72 09 call.bdos...inr.
000160: 61 0D 0A 64 69 72 32 34 3A 09 61 64 69 09 27 41 a..dir24:.adi.'A
000170: 27 2D 31 0D 0A 09 73 74 61 09 69 6E 6D 73 31 36 '-1...sta.inms16
000180: 0D 0A 09 6C 78 69 20 09 64 2C 69 6E 6D 73 31 36 ...lxi .d,inms16
000190: 09 3B 22 78 20 68 61 73 20 22 0D 0A 09 63 61 6C .;"x has "...cal
0001A0: 6C 20 09 70 72 74 73 74 72 0D 0A 09 70 6F 70 09 l .prtstr...pop.
0001B0: 68 09 09 3B 47 65 74 20 6E 75 6D 62 65 72 20 6F h..;Get number o
0001C0: 66 20 62 79 74 65 73 20 61 76 61 69 6C 61 62 6C f bytes availabl
0001D0: 65 0D 0A 09 63 61 6C 6C 09 6E 6F 75 74 0D 0A 09 e...call.nout...
0001E0: 6C 78 69 09 64 2C 69 6E 6D 73 31 37 09 3B 22 4B lxi.d,inms17.;"K
0001F0: 20 62 79 74 65 73 20 66 72 65 65 22 0D 0A 09 63 bytes free"...c
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: 6F 6D 6D 65 6E 74 73 20 61 72 6F 75 6E 64 0D 0A omments around..
000010: 3B 09 61 20 6C 69 74 74 6C 65 2E 0D 0A 3B 0D 0A ;.a little...;..
000020: 3B 20 65 64 69 74 20 31 3A 20 4D 61 79 2C 20 31 ; edit 1: May, 1
000030: 39 38 34 20 28 43 4A 43 29 0D 0A 3B 09 65 78 74 984 (CJC)..;.ext
000040: 72 61 63 74 65 64 20 66 72 6F 6D 20 43 50 4D 42 racted from CPMB
000050: 41 53 45 2E 4D 38 30 20 76 65 72 73 69 6F 6E 20 ASE.M80 version
000060: 33 2E 39 3B 20 6D 6F 64 69 66 69 63 61 74 69 6F 3.9; modificatio
000070: 6E 73 20 61 72 65 20 64 65 73 63 72 69 62 65 64 ns are described
000080: 0D 0A 3B 09 69 6E 20 74 68 65 20 61 63 63 6F 6D ..;.in the accom
000090: 70 61 6E 79 69 6E 67 20 2E 55 50 44 20 66 69 6C panying .UPD fil
0000A0: 65 2E 0D 0A 3B 0D 0A 0D 0A 3B 53 79 6D 62 6F 6C e...;....;Symbol
0000B0: 69 63 20 44 65 66 69 6E 69 74 69 6F 6E 73 20 66 ic Definitions f
0000C0: 6F 72 20 73 6F 6D 65 20 41 53 43 49 49 20 63 68 or some ASCII ch
0000D0: 61 72 61 63 74 65 72 73 0D 0A 3B 0D 0A 73 6F 68 aracters..;..soh
0000E0: 09 45 51 55 09 30 31 4F 09 3B 41 53 43 49 49 20 .EQU.01O.;ASCII
0000F0: 53 4F 48 20 28 43 6F 6E 74 72 6F 6C 2D 41 29 0D SOH (Control-A).
000100: 0A 63 74 72 6C 63 09 45 51 55 09 30 33 4F 09 3B .ctrlc.EQU.03O.;
000110: 41 53 43 49 49 20 45 54 58 20 28 43 6F 6E 74 72 ASCII ETX (Contr
000120: 6F 6C 2D 43 29 0D 0A 62 65 6C 6C 09 45 51 55 09 ol-C)..bell.EQU.
000130: 30 37 4F 09 3B 41 53 43 49 49 20 42 45 4C 20 28 07O.;ASCII BEL (
000140: 43 6F 6E 74 72 6F 6C 2D 47 29 0D 0A 62 73 09 45 Control-G)..bs.E
000150: 51 55 09 31 30 4F 09 3B 41 53 43 49 49 20 62 61 QU.10O.;ASCII ba
000160: 63 6B 73 70 61 63 65 20 28 43 6F 6E 74 72 6F 6C ckspace (Control
000170: 2D 48 29 0D 0A 74 61 62 09 45 51 55 09 31 31 4F -H)..tab.EQU.11O
000180: 09 3B 41 53 43 49 49 20 54 61 62 20 28 43 6F 6E .;ASCII Tab (Con
000190: 74 72 6F 6C 2D 49 29 0D 0A 6C 66 09 45 51 55 09 trol-I)..lf.EQU.
0001A0: 31 32 4F 09 3B 41 53 43 49 49 20 4C 69 6E 65 20 12O.;ASCII Line
0001B0: 46 65 65 64 20 28 43 54 52 4C 2D 4A 29 0D 0A 66 Feed (CTRL-J)..f
0001C0: 66 09 45 51 55 09 31 34 4F 09 3B 41 53 43 49 49 f.EQU.14O.;ASCII
0001D0: 20 46 6F 72 6D 20 46 65 65 64 20 28 43 54 52 4C Form Feed (CTRL
0001E0: 2D 4C 29 0D 0A 63 72 09 45 51 55 09 31 35 4F 09 -L)..cr.EQU.15O.
0001F0: 3B 41 53 43 49 49 20 43 61 72 72 69 61 67 65 20 ;ASCII Carriage
Size : 512 (Real : 512)
000000: 3B 20 43 50 34 44 45 46 2E 41 53 4D 0D 0A 3B 09 ; CP4DEF.ASM..;.
000010: 4B 45 52 4D 49 54 20 2D 20 28 43 65 6C 74 69 63 KERMIT - (Celtic
000020: 20 66 6F 72 20 22 46 52 45 45 22 29 0D 0A 3B 0D for "FREE")..;.
000030: 0A 3B 09 54 68 69 73 20 69 73 20 74 68 65 20 43 .;.This is the C
000040: 50 2F 4D 2D 38 30 20 69 6D 70 6C 65 6D 65 6E 74 P/M-80 implement
000050: 61 74 69 6F 6E 20 6F 66 20 74 68 65 20 43 6F 6C ation of the Col
000060: 75 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 umbia University
000070: 0D 0A 3B 09 4B 45 52 4D 49 54 20 66 69 6C 65 20 ..;.KERMIT file
000080: 74 72 61 6E 73 66 65 72 20 70 72 6F 74 6F 63 6F transfer protoco
000090: 6C 2E 0D 0A 3B 0D 0A 3B 09 56 65 72 73 69 6F 6E l...;..;.Version
0000A0: 20 34 2E 30 0D 0A 3B 0D 0A 3B 09 43 6F 70 79 72 4.0..;..;.Copyr
0000B0: 69 67 68 74 20 4A 75 6E 65 20 31 39 38 31 2C 31 ight June 1981,1
0000C0: 39 38 32 2C 31 39 38 33 2C 31 39 38 34 2C 31 39 982,1983,1984,19
0000D0: 38 35 0D 0A 3B 09 43 6F 6C 75 6D 62 69 61 20 55 85..;.Columbia U
0000E0: 6E 69 76 65 72 73 69 74 79 0D 0A 3B 0D 0A 3B 20 niversity..;..;
0000F0: 4F 72 69 67 69 6E 61 6C 6C 79 20 77 72 69 74 74 Originally writt
000100: 65 6E 20 62 79 20 42 69 6C 6C 20 43 61 74 63 68 en by Bill Catch
000110: 69 6E 67 73 20 6F 66 20 74 68 65 20 43 6F 6C 75 ings of the Colu
000120: 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 20 mbia University
000130: 43 65 6E 74 65 72 20 66 6F 72 0D 0A 3B 20 43 6F Center for..; Co
000140: 6D 70 75 74 69 6E 67 20 41 63 74 69 76 69 74 69 mputing Activiti
000150: 65 73 2C 20 36 31 32 20 57 2E 20 31 31 35 74 68 es, 612 W. 115th
000160: 20 53 74 2E 2C 20 4E 65 77 20 59 6F 72 6B 2C 20 St., New York,
000170: 4E 59 20 31 30 30 32 35 2E 0D 0A 3B 0D 0A 3B 20 NY 10025...;..;
000180: 43 6F 6E 74 72 69 62 75 74 69 6F 6E 73 20 62 79 Contributions by
000190: 20 46 72 61 6E 6B 20 64 61 20 43 72 75 7A 2C 20 Frank da Cruz,
0001A0: 44 61 70 68 6E 65 20 54 7A 6F 61 72 2C 20 42 65 Daphne Tzoar, Be
0001B0: 72 6E 69 65 20 45 69 62 65 6E 2C 0D 0A 3B 20 42 rnie Eiben,..; B
0001C0: 72 75 63 65 20 54 61 6E 6E 65 72 2C 20 4E 69 63 ruce Tanner, Nic
0001D0: 6B 20 42 75 73 68 2C 20 47 72 65 67 20 53 6D 61 k Bush, Greg Sma
0001E0: 6C 6C 2C 20 4B 69 6D 6D 6F 20 4C 61 61 6B 73 6F ll, Kimmo Laakso
0001F0: 6E 65 6E 2C 20 4A 65 66 66 20 44 61 6D 65 6E 73 nen, Jeff Damens
Size : 512 (Real : 512)
000000: 52 65 74 75 72 6E 20 28 43 54 52 4C 2D 4D 29 0D Return (CTRL-M).
000010: 0A 78 6F 6E 09 45 51 55 09 32 31 4F 09 3B 41 53 .xon.EQU.21O.;AS
000020: 43 49 49 20 58 4F 4E 20 28 43 6F 6E 74 72 6F 6C CII XON (Control
000030: 2D 51 29 0D 0A 78 6F 66 66 09 45 51 55 09 32 33 -Q)..xoff.EQU.23
000040: 4F 09 3B 41 53 43 49 49 20 58 4F 46 46 20 28 43 O.;ASCII XOFF (C
000050: 6F 6E 74 72 6F 6C 2D 53 29 0D 0A 65 73 63 09 45 ontrol-S)..esc.E
000060: 51 55 09 33 33 4F 09 3B 41 53 43 49 49 20 45 53 QU.33O.;ASCII ES
000070: 43 61 70 65 0D 0A 73 75 62 74 09 45 51 55 09 33 Cape..subt.EQU.3
000080: 32 4F 09 3B 41 53 43 49 49 20 53 55 42 20 28 43 2O.;ASCII SUB (C
000090: 54 52 4C 2D 5A 29 0D 0A 64 65 6C 09 45 51 55 09 TRL-Z)..del.EQU.
0000A0: 31 37 37 4F 09 3B 41 53 43 49 49 20 44 45 4C 65 177O.;ASCII DELe
0000B0: 74 65 20 28 72 75 62 6F 75 74 29 0D 0A 3B 0C 0D te (rubout)..;..
0000C0: 0A 3B 42 44 4F 53 20 63 61 6C 6C 73 0D 0A 62 64 .;BDOS calls..bd
0000D0: 6F 73 09 45 51 55 09 30 30 30 35 48 09 3B 42 44 os.EQU.0005H.;BD
0000E0: 4F 53 20 65 6E 74 72 79 20 70 6F 69 6E 74 2C 20 OS entry point,
0000F0: 66 6F 72 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E for the followin
000100: 67 20 66 75 6E 63 74 69 6F 6E 73 3A 0D 0A 3B 0D g functions:..;.
000110: 0A 3B 46 75 6E 63 74 69 6F 6E 20 4E 61 6D 65 09 .;Function Name.
000120: 09 46 75 6E 63 74 69 6F 6E 09 49 6E 70 75 74 20 .Function.Input
000130: 50 61 72 61 6D 65 74 65 72 73 20 4F 75 74 70 75 Parameters Outpu
000140: 74 20 50 61 72 61 6D 65 74 65 72 0D 0A 3B 3D 3D t Parameter..;==
000150: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 09 09 3D 3D 3D ===========..===
000160: 3D 3D 3D 3D 3D 09 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D =====.==========
000170: 3D 3D 3D 3D 3D 3D 20 3D 3D 3D 3D 3D 3D 3D 3D 3D ====== =========
000180: 3D 3D 3D 3D 3D 3D 3D 0D 0A 3B 09 28 41 4C 4C 20 =======..;.(ALL
000190: 46 75 6E 63 74 69 6F 6E 20 4E 75 6D 62 65 72 73 Function Numbers
0001A0: 20 61 72 65 20 70 61 73 73 65 64 20 69 6E 20 52 are passed in R
0001B0: 65 67 69 73 74 65 72 20 43 29 0D 0A 63 6F 6E 69 egister C)..coni
0001C0: 6E 09 45 51 55 09 30 31 48 09 3B 52 65 61 64 20 n.EQU.01H.;Read
0001D0: 43 6F 6E 73 6F 6C 65 09 4E 4F 4E 45 09 09 20 41 Console.NONE.. A
0001E0: 53 43 49 49 20 43 68 61 72 20 69 6E 20 41 0D 0A SCII Char in A..
0001F0: 63 6F 6E 6F 75 74 09 45 51 55 09 30 32 48 09 3B conout.EQU.02H.;
Size : 512 (Real : 512)
000000: 2C 20 61 6E 64 20 6D 61 6E 79 0D 0A 3B 20 6F 74 , and many..; ot
000010: 68 65 72 73 2E 0D 0A 3B 0D 0A 3B 09 54 68 69 73 hers...;..;.This
000020: 20 66 69 6C 65 20 63 6F 6E 74 61 69 6E 73 20 64 file contains d
000030: 65 66 69 6E 69 74 69 6F 6E 73 20 75 73 65 64 20 efinitions used
000040: 62 79 20 62 6F 74 68 20 6D 6F 64 75 6C 65 73 20 by both modules
000050: 6F 66 20 4B 65 72 6D 69 74 2E 0D 0A 3B 0D 0A 3B of Kermit...;..;
000060: 20 72 65 76 69 73 69 6F 6E 20 68 69 73 74 6F 72 revision histor
000070: 79 3A 0D 0A 3B 20 65 64 69 74 20 34 3A 20 36 2D y:..; edit 4: 6-
000080: 46 65 62 2D 38 35 20 62 79 20 43 68 61 72 6C 65 Feb-85 by Charle
000090: 73 20 43 61 72 76 61 6C 68 6F 0D 0A 3B 09 6D 6F s Carvalho..;.mo
0000A0: 64 69 66 79 20 70 63 63 30 30 37 3A 20 72 65 70 dify pcc007: rep
0000B0: 6C 61 63 65 20 66 66 75 73 73 79 20 61 73 73 65 lace ffussy asse
0000C0: 6D 62 6C 79 20 73 77 69 74 63 68 20 77 69 74 68 mbly switch with
0000D0: 20 72 75 6E 74 69 6D 65 20 74 65 73 74 2E 0D 0A runtime test...
0000E0: 3B 09 61 64 64 20 22 67 65 74 76 6E 6D 22 20 2D ;.add "getvnm" -
0000F0: 20 67 65 74 20 43 50 2F 4D 20 76 65 72 73 69 6F get CP/M versio
000100: 6E 20 6E 75 6D 62 65 72 2E 0D 0A 3B 0D 0A 3B 20 n number...;..;
000110: 65 64 69 74 20 33 3A 20 31 33 2D 4A 61 6E 2D 38 edit 3: 13-Jan-8
000120: 35 20 62 79 20 56 61 6E 79 61 20 4A 2E 43 6F 6F 5 by Vanya J.Coo
000130: 70 65 72 20 50 69 6D 61 20 43 6F 6D 6D 75 6E 2E per Pima Commun.
000140: 20 43 6F 6C 6C 65 67 65 20 54 65 6C 3A 20 36 30 College Tel: 60
000150: 32 2D 38 38 34 2D 36 38 30 39 0D 0A 3B 0D 0A 3B 2-884-6809..;..;
000160: 70 63 63 30 30 37 09 32 2D 4A 61 6E 2D 38 35 09 pcc007.2-Jan-85.
000170: 76 6A 63 09 6D 6F 64 75 6C 65 73 3A 63 70 34 64 vjc.modules:cp4d
000180: 65 66 2C 63 70 34 63 6D 64 0D 0A 3B 09 43 6D 69 ef,cp4cmd..;.Cmi
000190: 66 69 6C 20 69 73 20 74 6F 6F 20 66 75 73 73 79 fil is too fussy
0001A0: 20 61 62 6F 75 74 20 77 68 61 74 20 63 68 61 72 about what char
0001B0: 61 63 74 65 72 73 20 74 6F 20 61 63 63 65 70 74 acters to accept
0001C0: 20 69 6E 20 61 0D 0A 3B 09 66 69 6C 65 73 70 65 in a..;.filespe
0001D0: 63 2E 20 20 4D 79 20 43 50 2F 4D 20 6D 61 6E 75 c. My CP/M manu
0001E0: 61 6C 20 73 61 79 73 20 61 6E 79 20 70 72 69 6E al says any prin
0001F0: 74 61 62 6C 65 20 63 68 61 72 61 63 74 65 72 20 table character
Size : 512 (Real : 512)
000000: 57 72 69 74 65 20 43 6F 6E 73 6F 6C 65 09 41 53 Write Console.AS
000010: 43 49 49 20 43 68 61 72 20 69 6E 20 45 09 20 4E CII Char in E. N
000020: 4F 4E 45 0D 0A 61 75 78 69 6E 09 45 51 55 09 30 ONE..auxin.EQU.0
000030: 33 48 09 3B 41 75 78 69 6C 69 61 72 79 20 69 6E 3H.;Auxiliary in
000040: 70 75 74 0D 0A 72 64 72 69 6E 09 45 51 55 09 30 put..rdrin.EQU.0
000050: 33 48 09 3B 52 65 61 64 20 52 65 61 64 65 72 09 3H.;Read Reader.
000060: 4E 4F 4E 45 09 09 20 41 53 43 49 49 20 43 68 61 NONE.. ASCII Cha
000070: 72 20 69 6E 20 41 0D 0A 6C 73 74 6F 75 74 09 45 r in A..lstout.E
000080: 51 55 09 30 35 48 09 3B 57 72 69 74 65 20 4C 69 QU.05H.;Write Li
000090: 73 74 09 41 53 43 49 49 20 43 68 61 72 20 69 6E st.ASCII Char in
0000A0: 20 45 09 20 4E 4F 4E 45 0D 0A 64 63 6F 6E 69 6F E. NONE..dconio
0000B0: 09 45 51 55 09 30 36 48 09 3B 44 69 72 65 63 74 .EQU.06H.;Direct
0000C0: 20 43 6F 6E 20 49 2F 4F 20 41 53 43 49 49 20 43 Con I/O ASCII C
0000D0: 68 61 72 20 69 6E 20 45 09 20 49 2F 4F 20 53 74 har in E. I/O St
0000E0: 61 74 75 73 20 69 6E 20 41 0D 0A 09 09 09 3B 09 atus in A.....;.
0000F0: 09 09 09 20 69 66 20 45 3D 30 46 45 48 2C 0D 0A ... if E=0FEH,..
000100: 09 09 09 3B 09 09 09 09 20 20 49 6E 70 75 74 20 ...;.... Input
000110: 69 66 20 45 3D 30 46 46 48 0D 0A 70 72 73 74 72 if E=0FFH..prstr
000120: 09 45 51 55 09 30 39 48 09 3B 50 72 69 6E 74 20 .EQU.09H.;Print
000130: 53 74 72 69 6E 67 09 53 74 72 69 6E 67 2D 41 64 String.String-Ad
000140: 64 72 65 73 73 09 20 4E 4F 4E 45 0D 0A 09 09 09 dress. NONE.....
000150: 3B 09 09 69 6E 20 44 45 20 28 74 65 72 6D 3D 24 ;..in DE (term=$
000160: 29 0D 0A 72 64 73 74 72 09 45 51 55 09 30 41 48 )..rdstr.EQU.0AH
000170: 09 3B 52 65 61 64 20 42 75 66 66 65 72 09 42 75 .;Read Buffer.Bu
000180: 66 66 65 72 2D 41 64 64 72 65 73 73 09 52 65 61 ffer-Address.Rea
000190: 64 20 42 75 66 66 65 72 20 66 69 6C 6C 65 64 0D d Buffer filled.
0001A0: 0A 3B 09 09 09 09 09 69 6E 20 44 45 0D 0A 3B 09 .;.....in DE..;.
0001B0: 52 65 61 64 20 42 75 66 66 65 72 09 42 79 74 65 Read Buffer.Byte
0001C0: 09 46 75 6E 63 74 69 6F 6E 0D 0A 3B 09 09 09 20 .Function..;...
0001D0: 20 31 09 4D 61 78 69 6D 75 6D 20 42 75 66 66 65 1.Maximum Buffe
0001E0: 72 20 4C 65 6E 67 74 68 0D 0A 3B 09 09 09 20 20 r Length..;...
0001F0: 32 09 43 75 72 72 65 6E 74 20 42 75 66 66 65 72 2.Current Buffer
Size : 512 (Real : 512)
000000: 69 73 20 6F 6B 0D 0A 3B 09 65 78 63 65 70 74 20 is ok..;.except
000010: 3C 3E 2E 2C 3B 3A 3F 2A 5B 5D 2C 20 61 6E 64 20 <>.,;:?*[], and
000020: 6C 6F 77 65 72 20 63 61 73 65 2E 20 20 49 6E 20 lower case. In
000030: 70 72 61 63 74 69 63 65 2C 20 65 76 65 6E 20 74 practice, even t
000040: 68 6F 73 65 20 77 6F 72 6B 0D 0A 3B 09 73 6F 6D hose work..;.som
000050: 65 74 69 6D 65 73 2E 20 20 4B 65 72 6D 69 74 20 etimes. Kermit
000060: 69 74 73 65 6C 66 20 75 73 65 73 20 27 26 27 20 itself uses '&'
000070: 69 66 20 66 69 6C 65 20 77 61 72 6E 69 6E 67 20 if file warning
000080: 69 73 20 6F 6E 2C 0D 0A 3B 09 61 6E 64 20 74 68 is on,..;.and th
000090: 65 6E 20 77 6F 6E 27 74 20 6C 65 74 20 79 6F 75 en won't let you
0000A0: 20 72 65 66 65 72 65 6E 63 65 20 74 68 65 20 66 reference the f
0000B0: 69 6C 65 2E 20 20 41 6C 6C 6F 77 20 61 6C 6C 0D ile. Allow all.
0000C0: 0A 3B 09 70 72 69 6E 74 61 62 6C 65 20 63 68 61 .;.printable cha
0000D0: 72 61 63 74 65 72 73 20 65 78 63 65 70 74 20 74 racters except t
0000E0: 68 6F 73 65 20 61 62 6F 76 65 2E 20 20 41 64 64 hose above. Add
0000F0: 20 63 6F 6E 64 69 74 69 6F 6E 61 6C 0D 0A 3B 09 conditional..;.
000100: 66 66 75 73 73 79 2C 20 73 6F 20 74 68 61 74 20 ffussy, so that
000110: 69 66 20 6E 6F 74 20 66 66 75 73 73 79 2C 20 61 if not ffussy, a
000120: 6C 6C 20 73 70 65 63 69 61 6C 20 63 68 61 72 61 ll special chara
000130: 63 74 65 72 73 20 77 69 6C 6C 20 62 65 0D 0A 3B cters will be..;
000140: 09 61 6C 6C 6F 77 65 64 2C 20 6A 75 73 74 20 63 .allowed, just c
000150: 6F 6E 76 65 72 74 20 6C 6F 77 65 72 20 74 6F 20 onvert lower to
000160: 75 70 70 65 72 2D 63 61 73 65 2E 0D 0A 3B 0D 0A upper-case...;..
000170: 3B 70 63 63 30 30 38 09 32 2D 4A 61 6E 2D 38 35 ;pcc008.2-Jan-85
000180: 09 76 6A 63 09 6D 6F 64 75 6C 65 73 3A 63 70 34 .vjc.modules:cp4
000190: 64 65 66 2C 63 70 34 74 74 2C 63 70 34 75 74 6C def,cp4tt,cp4utl
0001A0: 0D 0A 3B 09 4B 65 79 62 6F 61 72 64 20 69 6E 70 ..;.Keyboard inp
0001B0: 75 74 20 64 75 72 69 6E 67 20 43 4F 4E 4E 45 43 ut during CONNEC
0001C0: 54 20 6D 6F 64 65 20 63 61 6E 20 67 65 74 20 6C T mode can get l
0001D0: 6F 63 6B 65 64 20 6F 75 74 20 69 66 0D 0A 3B 09 ocked out if..;.
0001E0: 74 68 65 72 65 20 69 73 20 65 6E 6F 75 67 68 20 there is enough
0001F0: 69 6E 70 75 74 20 66 72 6F 6D 20 74 68 65 20 6D input from the m
Size : 512 (Real : 512)
000000: 20 4C 65 6E 67 74 68 20 28 72 65 74 75 72 6E 65 Length (returne
000010: 64 20 76 61 6C 75 65 29 0D 0A 3B 09 09 09 33 2D d value)..;...3-
000020: 6E 09 44 61 74 61 20 28 72 65 74 75 72 6E 65 64 n.Data (returned
000030: 20 76 61 6C 75 65 73 29 0D 0A 3B 0D 0A 63 6F 6E values)..;..con
000040: 73 74 61 09 45 51 55 09 30 42 48 09 3B 43 6F 6E sta.EQU.0BH.;Con
000050: 73 6F 6C 65 20 53 74 61 74 09 4E 4F 4E 45 09 09 sole Stat.NONE..
000060: 4C 53 42 28 41 29 3D 31 20 69 66 20 63 68 61 72 LSB(A)=1 if char
000070: 20 72 65 61 64 79 0D 0A 67 65 74 76 6E 6D 09 45 ready..getvnm.E
000080: 51 55 09 30 43 48 09 3B 56 65 72 73 69 6F 6E 20 QU.0CH.;Version
000090: 4E 75 6D 62 65 72 09 4E 4F 4E 45 09 09 48 3D 30 Number.NONE..H=0
0000A0: 20 28 43 50 2F 4D 29 2C 20 4C 3D 42 44 4F 53 20 (CP/M), L=BDOS
0000B0: 76 65 72 0D 0A 69 6E 62 64 6F 73 09 45 51 55 09 ver..inbdos.EQU.
0000C0: 30 44 48 09 3B 49 6E 69 74 20 42 44 4F 53 09 4E 0DH.;Init BDOS.N
0000D0: 4F 4E 45 09 09 4E 4F 4E 45 0D 0A 6C 6F 67 64 73 ONE..NONE..logds
0000E0: 6B 09 45 51 55 09 30 45 48 09 3B 4C 4F 47 2D 49 k.EQU.0EH.;LOG-I
0000F0: 6E 20 64 69 73 6B 09 56 61 6C 75 65 20 69 6E 20 n disk.Value in
000100: 45 09 4E 4F 4E 45 0D 0A 09 09 09 3B 09 09 41 3D E.NONE.....;..A=
000110: 30 2C 42 3D 31 2C 2E 2E 2E 0D 0A 6F 70 65 6E 66 0,B=1,.....openf
000120: 09 45 51 55 09 30 46 48 09 3B 4F 70 65 6E 20 46 .EQU.0FH.;Open F
000130: 69 6C 65 09 46 43 42 2D 41 64 64 72 20 69 6E 20 ile.FCB-Addr in
000140: 44 45 09 42 79 74 65 20 41 64 64 72 2E 6F 66 20 DE.Byte Addr.of
000150: 46 43 42 2C 0D 0A 09 09 09 3B 09 09 09 09 20 6F FCB,.....;.... o
000160: 72 20 30 46 46 48 20 69 66 20 6E 6F 74 0D 0A 63 r 0FFH if not..c
000170: 6C 6F 73 66 09 45 51 55 09 31 30 48 09 3B 43 6C losf.EQU.10H.;Cl
000180: 6F 73 65 20 46 69 6C 65 09 46 43 42 2D 41 64 64 ose File.FCB-Add
000190: 72 20 69 6E 20 44 45 09 42 79 74 65 20 41 64 64 r in DE.Byte Add
0001A0: 72 2E 6F 66 20 46 43 42 2C 0D 0A 09 09 09 3B 09 r.of FCB,.....;.
0001B0: 09 09 09 20 6F 72 20 30 46 46 48 20 69 66 20 6E ... or 0FFH if n
0001C0: 6F 74 0D 0A 73 66 69 72 73 74 09 45 51 55 09 31 ot..sfirst.EQU.1
0001D0: 31 48 09 3B 53 65 61 72 63 68 20 46 69 6C 65 09 1H.;Search File.
0001E0: 46 43 42 2D 41 64 64 72 20 69 6E 20 44 45 09 42 FCB-Addr in DE.B
0001F0: 79 74 65 20 41 64 64 72 2E 6F 66 20 46 43 42 28 yte Addr.of FCB(
Size : 512 (Real : 512)
000000: 6F 64 65 6D 20 70 6F 72 74 20 74 6F 20 6B 65 65 odem port to kee
000010: 70 20 70 72 74 63 68 72 0D 0A 3B 09 62 75 73 79 p prtchr..;.busy
000020: 2E 20 20 54 68 69 73 20 63 61 6E 20 68 61 70 70 . This can happ
000030: 65 6E 20 66 6F 72 20 65 78 61 6D 70 6C 65 2C 20 en for example,
000040: 69 66 20 74 68 65 20 70 72 69 6E 74 65 72 20 69 if the printer i
000050: 73 20 72 75 6E 6E 69 6E 67 0D 0A 3B 09 61 74 20 s running..;.at
000060: 74 68 65 20 73 61 6D 65 20 73 70 65 65 64 20 61 the same speed a
000070: 73 20 74 68 65 20 6D 6F 64 65 6D 20 6C 69 6E 65 s the modem line
000080: 2C 20 6C 65 61 76 69 6E 67 20 79 6F 75 20 68 65 , leaving you he
000090: 6C 70 6C 65 73 73 20 74 6F 0D 0A 3B 09 74 75 72 lpless to..;.tur
0000A0: 6E 20 69 74 20 6F 66 66 20 6F 72 20 61 62 6F 72 n it off or abor
0000B0: 74 20 74 68 65 20 68 6F 73 74 2E 20 20 41 64 64 t the host. Add
0000C0: 20 61 20 66 61 69 72 6E 65 73 73 20 63 6F 75 6E a fairness coun
0000D0: 74 2C 20 73 6F 20 74 68 61 74 0D 0A 3B 09 61 74 t, so that..;.at
0000E0: 20 6C 65 61 73 74 20 65 76 65 72 79 20 70 72 66 least every prf
0000F0: 61 69 72 20 63 68 61 72 61 63 74 65 72 73 20 77 air characters w
000100: 65 20 6C 6F 6F 6B 20 61 74 20 63 6F 6E 73 6F 6C e look at consol
000110: 65 20 69 6E 70 75 74 2E 0D 0A 3B 0D 0A 3B 20 65 e input...;..; e
000120: 64 69 74 20 32 3A 20 4A 75 6C 79 20 31 30 2C 20 dit 2: July 10,
000130: 31 39 38 34 20 28 43 4A 43 29 0D 0A 3B 09 52 65 1984 (CJC)..;.Re
000140: 6D 6F 76 65 20 64 65 66 69 6E 65 73 20 66 6F 72 move defines for
000150: 20 54 52 55 45 20 61 6E 64 20 46 41 4C 53 45 2C TRUE and FALSE,
000160: 20 64 75 72 69 6E 67 20 72 65 6F 72 67 61 6E 69 during reorgani
000170: 7A 61 74 69 6F 6E 20 66 6F 72 20 4C 41 53 4D 0D zation for LASM.
000180: 0A 3B 09 63 6F 6D 70 61 74 69 62 69 6C 69 74 79 .;.compatibility
000190: 2E 20 20 49 66 20 77 65 27 72 65 20 75 73 69 6E . If we're usin
0001A0: 67 20 4C 41 53 4D 2C 20 74 68 69 73 20 66 69 6C g LASM, this fil
0001B0: 65 20 69 73 20 6C 69 6E 6B 65 64 20 62 79 20 43 e is linked by C
0001C0: 50 34 4B 45 52 0D 0A 3B 09 6F 72 20 43 50 34 54 P4KER..;.or CP4T
0001D0: 59 50 2C 20 61 6E 64 20 6C 69 6E 6B 73 20 74 6F YP, and links to
0001E0: 20 43 50 34 4D 49 54 20 6F 72 20 43 50 34 4C 4E CP4MIT or CP4LN
0001F0: 4B 2E 20 20 41 6C 73 6F 2C 20 70 75 73 68 20 63 K. Also, push c
Size : 512 (Real : 512)
000000: 30 2D 33 29 2C 0D 0A 09 09 09 3B 09 09 09 09 20 0-3),.....;....
000010: 6F 72 20 30 46 46 48 20 69 66 20 6E 6F 74 0D 0A or 0FFH if not..
000020: 73 6E 65 78 74 09 45 51 55 09 31 32 48 09 3B 53 snext.EQU.12H.;S
000030: 65 61 72 63 68 20 6E 65 78 74 09 46 43 42 2D 41 earch next.FCB-A
000040: 64 64 72 20 69 6E 20 44 45 09 42 79 74 65 20 41 ddr in DE.Byte A
000050: 64 64 72 2E 6F 66 20 6E 65 78 74 20 46 43 42 2C ddr.of next FCB,
000060: 0D 0A 09 09 09 3B 09 09 09 09 20 6F 72 20 30 46 .....;.... or 0F
000070: 46 48 20 69 66 20 6E 6F 74 0D 0A 64 65 6C 66 09 FH if not..delf.
000080: 45 51 55 09 31 33 48 09 3B 44 65 6C 65 74 65 20 EQU.13H.;Delete
000090: 46 69 6C 65 09 46 43 42 2D 41 64 64 72 20 69 6E File.FCB-Addr in
0000A0: 20 44 45 09 42 79 74 65 20 41 64 64 72 2E 6F 66 DE.Byte Addr.of
0000B0: 20 46 43 42 28 30 2D 33 29 2C 0D 0A 09 09 09 3B FCB(0-3),.....;
0000C0: 09 09 09 09 20 6F 72 20 30 46 46 48 20 69 66 20 .... or 0FFH if
0000D0: 6E 6F 74 0D 0A 72 65 61 64 66 09 45 51 55 09 31 not..readf.EQU.1
0000E0: 34 48 09 3B 52 65 61 64 20 52 65 63 6F 72 64 09 4H.;Read Record.
0000F0: 46 43 42 2D 41 64 64 72 20 69 6E 20 44 45 09 30 FCB-Addr in DE.0
000100: 3D 73 75 63 63 65 73 73 66 75 6C 20 72 65 61 64 =successful read
000110: 0D 0A 09 09 09 3B 09 09 09 09 31 3D 72 65 61 64 .....;....1=read
000120: 20 70 61 73 74 20 45 4F 46 0D 0A 09 09 09 3B 09 past EOF.....;.
000130: 09 09 09 32 3D 72 65 61 64 69 6E 67 20 72 61 6E ...2=reading ran
000140: 64 6F 6D 20 64 61 74 61 0D 0A 77 72 69 74 65 66 dom data..writef
000150: 09 45 51 55 09 31 35 48 09 3B 57 72 69 74 65 20 .EQU.15H.;Write
000160: 52 65 63 6F 72 64 09 46 43 42 2D 41 64 64 72 20 Record.FCB-Addr
000170: 69 6E 20 44 45 09 30 3D 73 75 63 63 65 73 73 66 in DE.0=successf
000180: 75 6C 20 77 72 69 74 65 0D 0A 09 09 09 3B 09 09 ul write.....;..
000190: 09 09 31 3D 45 52 52 4F 52 20 65 78 74 65 6E 64 ..1=ERROR extend
0001A0: 69 6E 67 0D 0A 09 09 09 3B 09 09 09 09 32 3D 45 ing.....;....2=E
0001B0: 6E 64 20 6F 66 20 64 69 73 6B 20 64 61 74 61 0D nd of disk data.
0001C0: 0A 09 09 09 3B 09 09 09 09 32 35 35 3D 4E 6F 20 ....;....255=No
0001D0: 6D 6F 72 65 20 44 49 52 20 73 70 61 63 65 0D 0A more DIR space..
0001E0: 6D 61 6B 65 66 09 45 51 55 09 31 36 48 09 3B 4D makef.EQU.16H.;M
0001F0: 61 6B 65 20 46 69 6C 65 09 46 43 42 2D 41 64 64 ake File.FCB-Add
Size : 512 (Real : 512)
000000: 4F 3B 4D 61 78 69 6D 75 6D 20 73 69 7A 65 20 6F O;Maximum size o
000010: 66 20 61 20 70 61 63 6B 65 74 2E 0D 0A 6D 61 78 f a packet...max
000020: 74 72 79 09 45 51 55 09 30 35 4F 09 3B 20 4E 75 try.EQU.05O.; Nu
000030: 6D 62 65 72 20 6F 66 20 72 65 74 72 69 65 73 20 mber of retries
000040: 6F 6E 20 61 20 70 61 63 6B 65 74 2E 0D 0A 69 6D on a packet...im
000050: 78 74 72 79 09 45 51 55 09 32 30 4F 09 3B 20 4E xtry.EQU.20O.; N
000060: 75 6D 62 65 72 20 6F 66 20 72 65 74 72 69 65 73 umber of retries
000070: 20 73 65 6E 64 20 69 6E 69 74 69 61 74 65 2E 0D send initiate..
000080: 0A 70 72 66 61 69 72 09 45 51 55 09 31 30 30 09 .prfair.EQU.100.
000090: 3B 5B 70 63 63 30 30 38 5D 20 50 72 74 63 68 72 ;[pcc008] Prtchr
0000A0: 20 66 61 69 72 6E 65 73 73 20 63 6F 75 6E 74 0D fairness count.
0000B0: 0A 0D 0A 3B 20 6F 70 63 6F 64 65 73 20 66 6F 72 ...; opcodes for
0000C0: 20 63 6F 6D 6D 61 6E 64 20 70 61 72 73 65 72 0D command parser.
0000D0: 0A 63 6D 6B 65 79 09 45 51 55 09 30 31 48 09 3B .cmkey.EQU.01H.;
0000E0: 50 61 72 73 65 20 61 20 6B 65 79 77 6F 72 64 2E Parse a keyword.
0000F0: 0D 0A 63 6D 69 66 69 09 45 51 55 09 30 32 48 09 ..cmifi.EQU.02H.
000100: 3B 50 61 72 73 65 20 61 6E 20 69 6E 70 75 74 20 ;Parse an input
000110: 66 69 6C 65 20 73 70 65 63 20 28 63 61 6E 20 62 file spec (can b
000120: 65 20 77 69 6C 64 29 2E 0D 0A 63 6D 6F 66 69 09 e wild)...cmofi.
000130: 45 51 55 09 30 33 48 09 3B 50 61 72 73 65 20 61 EQU.03H.;Parse a
000140: 6E 20 6F 75 74 70 75 74 20 66 69 6C 65 20 73 70 n output file sp
000150: 65 63 2E 0D 0A 63 6D 63 66 6D 09 45 51 55 09 30 ec...cmcfm.EQU.0
000160: 34 48 09 3B 50 61 72 73 65 20 61 20 63 6F 6E 66 4H.;Parse a conf
000170: 69 72 6D 2E 0D 0A 63 6D 74 78 74 09 45 51 55 09 irm...cmtxt.EQU.
000180: 30 35 48 09 3B 50 61 72 73 65 20 74 65 78 74 2E 05H.;Parse text.
000190: 0D 0A 63 6D 69 66 69 6E 09 45 51 55 09 31 30 48 ..cmifin.EQU.10H
0001A0: 09 3B 50 61 72 73 65 20 61 6E 20 69 6E 70 75 74 .;Parse an input
0001B0: 20 66 69 6C 65 20 73 70 65 63 20 28 62 75 74 20 file spec (but
0001C0: 6E 6F 0D 0A 09 09 09 3B 45 72 72 6F 72 20 6F 75 no.....;Error ou
0001D0: 74 70 75 74 0D 0A 0D 0A 3B 0C 0D 0A 3B 20 49 66 tput....;...; If
0001E0: 20 74 68 69 73 20 69 73 20 62 65 69 6E 67 20 61 this is being a
0001F0: 73 73 65 6D 62 6C 65 64 20 62 79 20 4C 41 53 4D ssembled by LASM
Size : 512 (Real : 512)
000000: 72 20 69 6E 20 44 45 09 30 2D 33 3D 20 73 75 63 r in DE.0-3= suc
000010: 63 65 73 73 2C 0D 0A 09 09 09 3B 09 09 09 09 32 cess,.....;....2
000020: 35 35 3D 20 6E 6F 20 6D 6F 72 65 20 64 69 72 20 55= no more dir
000030: 73 70 61 63 65 0D 0A 72 65 6E 61 6D 09 45 51 55 space..renam.EQU
000040: 09 31 37 48 09 3B 52 65 6E 61 6D 65 20 46 69 6C .17H.;Rename Fil
000050: 65 09 46 43 42 2D 41 64 64 72 20 69 6E 20 44 45 e.FCB-Addr in DE
000060: 09 30 2D 33 3D 20 73 75 63 63 65 73 73 2C 0D 0A .0-3= success,..
000070: 09 09 09 3B 09 09 09 09 32 35 35 3D 20 66 69 6C ...;....255= fil
000080: 65 20 6E 6F 74 20 66 6F 75 6E 64 0D 0A 72 64 6C e not found..rdl
000090: 6F 67 09 45 51 55 09 31 38 48 09 3B 52 65 74 2E og.EQU.18H.;Ret.
0000A0: 20 4C 6F 67 20 43 6F 64 65 09 4E 4F 4E 45 09 09 Log Code.NONE..
0000B0: 4C 6F 67 69 6E 20 56 65 63 74 6F 72 20 69 6E 20 Login Vector in
0000C0: 48 4C 0D 0A 72 64 64 72 76 09 45 51 55 09 31 39 HL..rddrv.EQU.19
0000D0: 48 09 3B 52 65 61 64 20 44 72 69 76 65 20 23 09 H.;Read Drive #.
0000E0: 4E 4F 4E 45 09 09 23 20 6F 66 20 6C 6F 67 67 65 NONE..# of logge
0000F0: 64 20 69 6E 20 64 72 69 76 65 20 69 6E 0D 0A 09 d in drive in...
000100: 09 09 3B 09 09 09 09 28 41 3D 30 2C 42 3D 31 2C ..;....(A=0,B=1,
000110: 43 3D 32 2E 2E 2E 2E 29 0D 0A 73 65 74 64 6D 61 C=2....)..setdma
000120: 09 45 51 55 09 31 41 48 09 3B 53 65 74 20 44 4D .EQU.1AH.;Set DM
000130: 41 20 41 64 64 72 2E 09 41 64 64 72 2E 20 6F 66 A Addr..Addr. of
000140: 20 31 32 38 09 4E 4F 4E 45 0D 0A 09 09 09 3B 09 128.NONE.....;.
000150: 09 62 79 74 65 20 62 75 66 66 65 72 20 69 6E 20 .byte buffer in
000160: 44 45 0D 0A 77 72 74 70 72 74 09 45 51 55 09 31 DE..wrtprt.EQU.1
000170: 43 48 09 3B 57 72 69 74 65 20 70 72 6F 74 20 64 CH.;Write prot d
000180: 73 6B 09 4E 4F 4E 45 09 09 4E 4F 4E 45 0D 0A 67 sk.NONE..NONE..g
000190: 65 74 72 6F 76 09 45 51 55 09 31 44 48 09 3B 47 etrov.EQU.1DH.;G
0001A0: 65 74 20 52 2F 4F 20 56 65 63 74 2E 09 4E 4F 4E et R/O Vect..NON
0001B0: 45 09 09 48 4C 3D 20 52 2F 4F 20 56 65 63 74 2E E..HL= R/O Vect.
0001C0: 20 76 61 6C 75 65 0D 0A 73 65 74 66 61 74 09 45 value..setfat.E
0001D0: 51 55 09 31 45 48 09 3B 53 65 74 20 46 69 6C 65 QU.1EH.;Set File
0001E0: 20 41 74 74 72 2E 09 46 43 42 2D 41 64 64 72 2E Attr..FCB-Addr.
0001F0: 69 6E 20 44 45 09 44 69 72 2E 20 63 6F 64 65 20 in DE.Dir. code
Size : 512 (Real : 512)
000000: 2C 20 77 65 20 6E 65 65 64 20 74 6F 20 4C 49 4E , we need to LIN
000010: 4B 20 74 6F 20 6F 6E 65 20 6F 66 20 74 77 6F 20 K to one of two
000020: 6D 6F 64 75 6C 65 73 3B 0D 0A 3B 20 69 66 20 77 modules;..; if w
000030: 65 27 72 65 20 6E 6F 74 20 75 73 69 6E 67 20 4C e're not using L
000040: 41 53 4D 2C 20 6E 6F 20 70 72 6F 62 6C 65 6D 2E ASM, no problem.
000050: 0D 0A 3B 20 43 50 34 4B 45 52 2E 41 53 4D 20 64 ..; CP4KER.ASM d
000060: 65 66 69 6E 65 73 20 22 63 70 34 6B 65 72 22 20 efines "cp4ker"
000070: 54 52 55 45 2C 20 61 6E 64 20 43 50 34 54 59 50 TRUE, and CP4TYP
000080: 2E 41 53 4D 20 64 65 66 69 6E 65 73 20 69 74 20 .ASM defines it
000090: 46 41 4C 53 45 2C 20 73 6F 20 77 65 20 63 61 6E FALSE, so we can
0000A0: 0D 0A 3B 20 64 65 74 65 72 6D 69 6E 65 20 77 68 ..; determine wh
0000B0: 61 74 27 73 20 67 6F 69 6E 67 20 6F 6E 2E 0D 0A at's going on...
0000C0: 49 46 20 6C 61 73 6D 20 41 4E 44 20 63 70 34 6B IF lasm AND cp4k
0000D0: 65 72 09 3B 20 62 75 69 6C 64 69 6E 67 20 43 50 er.; building CP
0000E0: 34 4B 45 52 20 77 69 74 68 20 4C 41 53 4D 3F 0D 4KER with LASM?.
0000F0: 0A 09 4C 49 4E 4B 09 43 50 34 4D 49 54 09 3B 20 ..LINK.CP4MIT.;
000100: 79 65 73 2C 20 63 68 61 69 6E 20 74 6F 20 6E 65 yes, chain to ne
000110: 78 74 20 70 69 65 63 65 2E 0D 0A 45 4E 44 49 46 xt piece...ENDIF
000120: 3B 6C 61 73 6D 20 41 4E 44 20 63 70 34 6B 65 72 ;lasm AND cp4ker
000130: 0D 0A 49 46 20 6C 61 73 6D 20 41 4E 44 20 4E 4F ..IF lasm AND NO
000140: 54 20 63 70 34 6B 65 72 09 3B 20 4C 41 53 4D 2C T cp4ker.; LASM,
000150: 20 62 75 74 20 6E 6F 74 20 62 75 69 6C 64 69 6E but not buildin
000160: 67 20 43 50 34 4B 45 52 3F 0D 0A 09 4C 49 4E 4B g CP4KER?...LINK
000170: 09 43 50 34 4C 4E 4B 09 3B 20 79 65 73 2C 20 63 .CP4LNK.; yes, c
000180: 68 61 69 6E 20 74 6F 20 64 69 66 66 65 72 65 6E hain to differen
000190: 74 20 70 69 65 63 65 2E 0D 0A 45 4E 44 49 46 3B t piece...ENDIF;
0001A0: 6C 61 73 6D 20 41 4E 44 20 4E 4F 54 20 63 70 34 lasm AND NOT cp4
0001B0: 6B 65 72 0D 0A 00 00 00 00 00 00 00 00 00 00 00 ker.............
0001C0: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: E5 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: 69 6E 20 41 0D 0A 67 74 64 70 61 72 09 45 51 55 in A..gtdpar.EQU
000010: 09 31 46 48 09 3B 47 65 74 20 44 53 4B 20 70 61 .1FH.;Get DSK pa
000020: 72 2E 09 4E 4F 4E 45 09 09 48 4C 3D 44 50 42 20 r..NONE..HL=DPB
000030: 41 64 64 72 65 73 73 0D 0A 75 73 72 63 6F 64 09 Address..usrcod.
000040: 45 51 55 09 32 30 48 09 3B 47 65 74 2F 53 65 74 EQU.20H.;Get/Set
000050: 20 55 73 72 2E 43 64 09 45 3D 30 46 46 48 20 28 Usr.Cd.E=0FFH (
000060: 67 65 74 29 09 41 3D 63 75 72 72 65 6E 74 20 63 get).A=current c
000070: 6F 64 65 20 28 67 65 74 29 0D 0A 09 09 09 3B 09 ode (get).....;.
000080: 09 45 2D 63 6F 64 65 20 28 73 65 74 29 09 41 3D .E-code (set).A=
000090: 6E 6F 20 76 61 6C 75 65 20 28 73 65 74 29 0D 0A no value (set)..
0000A0: 72 72 61 6E 64 09 45 51 55 09 32 31 48 09 3B 52 rrand.EQU.21H.;R
0000B0: 65 61 64 20 20 52 61 6E 64 6F 6D 09 46 43 42 2D ead Random.FCB-
0000C0: 41 64 64 72 20 69 6E 20 44 45 09 41 3D 52 65 74 Addr in DE.A=Ret
0000D0: 75 72 6E 20 63 6F 64 65 0D 0A 77 72 61 6E 64 09 urn code..wrand.
0000E0: 45 51 55 09 32 32 48 09 3B 57 72 69 74 65 20 52 EQU.22H.;Write R
0000F0: 61 6E 64 6F 6D 09 46 43 42 2D 41 64 64 72 20 69 andom.FCB-Addr i
000100: 6E 20 44 45 09 31 3D 72 65 61 64 27 67 20 75 6E n DE.1=read'g un
000110: 77 72 69 74 74 65 6E 20 64 61 74 61 0D 0A 09 09 written data....
000120: 09 3B 09 09 09 09 32 3D 28 6E 6F 74 20 75 73 65 .;....2=(not use
000130: 64 29 0D 0A 09 09 09 3B 09 09 09 09 33 3D 63 61 d).....;....3=ca
000140: 6E 27 74 20 63 6C 6F 73 65 20 63 75 72 72 2E 20 n't close curr.
000150: 65 78 74 0D 0A 09 09 09 3B 09 09 09 09 34 3D 73 ext.....;....4=s
000160: 65 65 6B 20 74 6F 20 75 6E 77 72 2E 20 65 78 74 eek to unwr. ext
000170: 2E 0D 0A 09 09 09 3B 09 09 09 09 35 3D 64 69 72 ......;....5=dir
000180: 20 6F 76 65 72 66 6C 6F 77 28 77 72 69 74 65 29 overflow(write)
000190: 0D 0A 09 09 09 3B 09 09 09 09 36 3D 73 65 65 6B .....;....6=seek
0001A0: 20 70 61 73 74 20 45 6E 64 20 6F 66 20 44 53 4B past End of DSK
0001B0: 0D 0A 63 66 6C 73 7A 09 45 51 55 09 32 33 48 09 ..cflsz.EQU.23H.
0001C0: 3B 43 6F 6D 70 20 46 69 6C 65 20 53 7A 2E 09 46 ;Comp File Sz..F
0001D0: 43 42 20 41 64 64 72 2E 69 6E 20 44 45 09 52 61 CB Addr.in DE.Ra
0001E0: 6E 64 2E 52 65 63 2E 66 69 65 6C 64 20 73 65 74 nd.Rec.field set
0001F0: 20 74 6F 0D 0A 09 09 09 3B 09 09 09 09 20 46 69 to.....;.... Fi
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: 6C 65 20 73 69 7A 65 0D 0A 73 65 74 72 61 72 09 le size..setrar.
000010: 45 51 55 09 32 34 48 09 3B 53 65 74 20 52 61 6E EQU.24H.;Set Ran
000020: 64 2E 20 52 65 63 2E 09 46 43 42 2D 41 64 64 72 d. Rec..FCB-Addr
000030: 2E 69 6E 20 44 45 09 52 61 6E 64 2E 52 65 63 2E .in DE.Rand.Rec.
000040: 66 69 65 6C 64 20 73 65 74 0D 0A 0D 0A 3B 20 43 field set....; C
000050: 50 4D 20 32 20 6F 6E 6C 79 3A 0D 0A 70 75 6E 6F PM 2 only:..puno
000060: 75 74 09 45 51 55 09 30 34 48 09 3B 57 72 69 74 ut.EQU.04H.;Writ
000070: 65 20 50 75 6E 63 68 09 41 53 43 49 49 20 43 68 e Punch.ASCII Ch
000080: 61 72 20 69 6E 20 45 09 20 4E 4F 4E 45 0D 0A 67 ar in E. NONE..g
000090: 74 69 6F 62 09 45 51 55 09 30 37 48 09 3B 47 65 tiob.EQU.07H.;Ge
0000A0: 74 20 49 2F 4F 20 73 74 61 74 75 73 20 4E 4F 4E t I/O status NON
0000B0: 45 09 09 20 49 2F 4F 20 53 74 61 74 75 73 20 69 E.. I/O Status i
0000C0: 6E 20 41 0D 0A 70 74 69 6F 62 09 45 51 55 09 30 n A..ptiob.EQU.0
0000D0: 38 48 09 3B 50 75 74 20 49 2F 4F 20 73 74 61 74 8H.;Put I/O stat
0000E0: 75 73 09 49 2F 4F 20 53 74 61 74 75 73 20 69 6E us.I/O Status in
0000F0: 20 45 09 20 4E 4F 4E 45 0D 0A 67 65 74 61 6C 76 E. NONE..getalv
000100: 09 45 51 55 09 31 42 48 09 3B 47 65 74 20 41 6C .EQU.1BH.;Get Al
000110: 6C 2E 56 65 63 74 2E 09 4E 4F 4E 45 09 09 41 6C l.Vect..NONE..Al
000120: 6C 2E 56 65 63 74 20 69 6E 20 48 4C 0D 0A 0D 0A l.Vect in HL....
000130: 3B 20 43 50 4D 20 33 20 6F 6E 6C 79 3A 0D 0A 61 ; CPM 3 only:..a
000140: 75 78 6F 75 74 09 45 51 55 09 30 34 48 09 3B 41 uxout.EQU.04H.;A
000150: 75 78 69 6C 69 61 72 79 20 6F 75 74 70 75 74 0D uxiliary output.
000160: 0A 61 75 78 69 73 74 09 45 51 55 09 30 37 48 09 .auxist.EQU.07H.
000170: 3B 47 65 74 20 41 55 58 49 4E 3A 20 73 74 61 74 ;Get AUXIN: stat
000180: 75 73 09 09 20 41 3D 46 46 20 69 66 20 63 68 61 us.. A=FF if cha
000190: 72 61 63 74 65 72 0D 0A 09 09 09 3B 09 09 09 09 racter.....;....
0001A0: 20 72 65 61 64 79 2C 20 41 3D 30 20 69 66 20 6E ready, A=0 if n
0001B0: 6F 6E 65 0D 0A 61 75 78 6F 73 74 09 45 51 55 09 one..auxost.EQU.
0001C0: 30 38 48 09 3B 47 65 74 20 41 55 58 4F 55 54 3A 08H.;Get AUXOUT:
0001D0: 20 73 74 61 74 75 73 09 09 20 41 3D 46 46 20 69 status.. A=FF i
0001E0: 66 20 72 65 61 64 79 2C 20 41 3D 30 0D 0A 09 09 f ready, A=0....
0001F0: 09 3B 09 09 09 09 20 69 66 20 6E 6F 74 20 72 65 .;.... if not re
Size : 512 (Real : 512)
000000: 3B 20 43 50 34 4B 45 52 2E 41 53 4D 0D 0A 3B 09 ; CP4KER.ASM..;.
000010: 4B 45 52 4D 49 54 20 2D 20 28 43 65 6C 74 69 63 KERMIT - (Celtic
000020: 20 66 6F 72 20 22 46 52 45 45 22 29 0D 0A 3B 0D for "FREE")..;.
000030: 0A 3B 09 54 68 69 73 20 69 73 20 74 68 65 20 43 .;.This is the C
000040: 50 2F 4D 2D 38 30 20 69 6D 70 6C 65 6D 65 6E 74 P/M-80 implement
000050: 61 74 69 6F 6E 20 6F 66 20 74 68 65 20 43 6F 6C ation of the Col
000060: 75 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 umbia University
000070: 0D 0A 3B 09 4B 45 52 4D 49 54 20 66 69 6C 65 20 ..;.KERMIT file
000080: 74 72 61 6E 73 66 65 72 20 70 72 6F 74 6F 63 6F transfer protoco
000090: 6C 2E 0D 0A 3B 0D 0A 3B 09 56 65 72 73 69 6F 6E l...;..;.Version
0000A0: 20 34 2E 30 0D 0A 3B 0D 0A 3B 09 43 6F 70 79 72 4.0..;..;.Copyr
0000B0: 69 67 68 74 20 4A 75 6E 65 20 31 39 38 31 2C 31 ight June 1981,1
0000C0: 39 38 32 2C 31 39 38 33 2C 31 39 38 34 0D 0A 3B 982,1983,1984..;
0000D0: 09 43 6F 6C 75 6D 62 69 61 20 55 6E 69 76 65 72 .Columbia Univer
0000E0: 73 69 74 79 0D 0A 3B 0D 0A 3B 20 4F 72 69 67 69 sity..;..; Origi
0000F0: 6E 61 6C 6C 79 20 77 72 69 74 74 65 6E 20 62 79 nally written by
000100: 20 42 69 6C 6C 20 43 61 74 63 68 69 6E 67 73 20 Bill Catchings
000110: 6F 66 20 74 68 65 20 43 6F 6C 75 6D 62 69 61 20 of the Columbia
000120: 55 6E 69 76 65 72 73 69 74 79 20 43 65 6E 74 65 University Cente
000130: 72 20 66 6F 72 0D 0A 3B 20 43 6F 6D 70 75 74 69 r for..; Computi
000140: 6E 67 20 41 63 74 69 76 69 74 69 65 73 2C 20 36 ng Activities, 6
000150: 31 32 20 57 2E 20 31 31 35 74 68 20 53 74 2E 2C 12 W. 115th St.,
000160: 20 4E 65 77 20 59 6F 72 6B 2C 20 4E 59 20 31 30 New York, NY 10
000170: 30 32 35 2E 0D 0A 3B 0D 0A 3B 20 43 6F 6E 74 72 025...;..; Contr
000180: 69 62 75 74 69 6F 6E 73 20 62 79 20 46 72 61 6E ibutions by Fran
000190: 6B 20 64 61 20 43 72 75 7A 2C 20 44 61 70 68 6E k da Cruz, Daphn
0001A0: 65 20 54 7A 6F 61 72 2C 20 42 65 72 6E 69 65 20 e Tzoar, Bernie
0001B0: 45 69 62 65 6E 2C 0D 0A 3B 20 42 72 75 63 65 20 Eiben,..; Bruce
0001C0: 54 61 6E 6E 65 72 2C 20 4E 69 63 6B 20 42 75 73 Tanner, Nick Bus
0001D0: 68 2C 20 47 72 65 67 20 53 6D 61 6C 6C 2C 20 4B h, Greg Small, K
0001E0: 69 6D 6D 6F 20 4C 61 61 6B 73 6F 6E 65 6E 2C 20 immo Laaksonen,
0001F0: 4A 65 66 66 20 44 61 6D 65 6E 73 2C 20 61 6E 64 Jeff Damens, and
Size : 512 (Real : 512)
000000: 61 64 79 0D 0A 67 65 74 66 73 09 45 51 55 09 32 ady..getfs.EQU.2
000010: 45 48 09 3B 47 65 74 20 66 72 65 65 20 73 70 61 EH.;Get free spa
000020: 63 65 09 45 3D 64 72 69 76 65 09 09 23 20 72 65 ce.E=drive..# re
000030: 63 20 66 72 65 65 20 69 6E 20 64 6D 61 20 61 64 c free in dma ad
000040: 64 72 0D 0A 3B 0C 0D 0A 70 61 72 65 76 6E 09 45 dr..;...parevn.E
000050: 51 55 09 30 30 48 09 3B 45 76 65 6E 20 70 61 72 QU.00H.;Even par
000060: 69 74 79 2E 0D 0A 70 61 72 6D 72 6B 09 45 51 55 ity...parmrk.EQU
000070: 09 30 33 48 09 3B 4D 61 72 6B 20 70 61 72 69 74 .03H.;Mark parit
000080: 79 2E 0D 0A 70 61 72 6E 6F 6E 09 45 51 55 09 30 y...parnon.EQU.0
000090: 36 48 09 3B 4E 6F 20 70 61 72 69 74 79 20 28 65 6H.;No parity (e
0000A0: 69 67 68 74 68 20 62 69 74 20 69 73 20 64 61 74 ighth bit is dat
0000B0: 61 29 2E 0D 0A 70 61 72 6F 64 64 09 45 51 55 09 a)...parodd.EQU.
0000C0: 30 39 48 09 3B 4F 64 64 20 70 61 72 69 74 79 2E 09H.;Odd parity.
0000D0: 0D 0A 70 61 72 73 70 63 09 45 51 55 09 30 43 48 ..parspc.EQU.0CH
0000E0: 09 3B 53 70 61 63 65 20 70 61 72 69 74 79 2E 0D .;Space parity..
0000F0: 0A 0D 0A 64 65 66 70 61 72 09 45 51 55 09 70 61 ...defpar.EQU.pa
000100: 72 6E 6F 6E 09 3B 44 65 66 61 75 6C 74 20 70 61 rnon.;Default pa
000110: 72 69 74 79 2E 0D 0A 69 62 6D 70 61 72 09 45 51 rity...ibmpar.EQ
000120: 55 09 70 61 72 6D 72 6B 09 3B 49 42 4D 20 43 4F U.parmrk.;IBM CO
000130: 4D 54 45 4E 27 73 20 70 61 72 69 74 79 2E 0D 0A MTEN's parity...
000140: 0D 0A 66 63 62 09 45 51 55 09 35 43 48 09 3B 4C ..fcb.EQU.5CH.;L
000150: 6F 63 61 74 69 6F 6E 20 6F 66 20 46 69 6C 65 20 ocation of File
000160: 43 6F 6E 74 72 6F 6C 20 42 6C 6F 63 6B 2E 0D 0A Control Block...
000170: 66 63 62 65 78 74 09 65 71 75 09 66 63 62 2B 31 fcbext.equ.fcb+1
000180: 32 0D 0A 66 63 62 72 6E 6F 09 65 71 75 09 66 63 2..fcbrno.equ.fc
000190: 62 2B 33 33 0D 0A 62 75 66 66 09 45 51 55 09 38 b+33..buff.EQU.8
0001A0: 30 48 09 3B 4C 6F 63 61 74 69 6F 6E 20 6F 66 20 0H.;Location of
0001B0: 66 69 6C 65 20 6F 75 74 70 75 74 20 62 75 66 66 file output buff
0001C0: 65 72 20 28 44 4D 41 29 2E 0D 0A 62 75 66 73 69 er (DMA)...bufsi
0001D0: 7A 09 45 51 55 09 38 30 48 09 3B 53 69 7A 65 20 z.EQU.80H.;Size
0001E0: 6F 66 20 44 4D 41 2E 0D 0A 0D 0A 6D 61 78 70 6B of DMA.....maxpk
0001F0: 74 20 20 45 51 55 09 27 7E 27 2D 27 20 27 2B 32 t EQU.'~'-' '+2
Size : 512 (Real : 512)
000000: 20 6D 61 6E 79 0D 0A 3B 20 6F 74 68 65 72 73 2E many..; others.
000010: 0D 0A 3B 0D 0A 0D 0A 3B 20 54 68 69 73 20 69 73 ..;....; This is
000020: 20 74 68 65 20 68 65 61 64 65 72 20 66 6F 72 20 the header for
000030: 74 68 65 20 73 79 73 74 65 6D 2D 69 6E 64 65 70 the system-indep
000040: 65 6E 64 65 6E 74 20 70 6F 72 74 69 6F 6E 20 6F endent portion o
000050: 66 20 4B 45 52 4D 49 54 2C 20 77 68 69 63 68 0D f KERMIT, which.
000060: 0A 3B 20 63 6F 6E 73 69 73 74 73 20 6F 66 20 74 .; consists of t
000070: 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 66 69 6C he following fil
000080: 65 73 20 28 69 6E 20 74 68 69 73 20 6F 72 64 65 es (in this orde
000090: 72 29 3A 0D 0A 3B 09 43 50 34 4B 45 52 2E 41 53 r):..;.CP4KER.AS
0000A0: 4D 20 2D 20 74 68 69 73 20 66 69 6C 65 0D 0A 3B M - this file..;
0000B0: 09 43 50 34 44 45 46 2E 41 53 4D 20 2D 20 64 65 .CP4DEF.ASM - de
0000C0: 66 69 6E 69 74 69 6F 6E 73 20 66 6F 72 20 62 6F finitions for bo
0000D0: 74 68 20 4B 45 52 4D 49 54 20 61 6E 64 20 4B 45 th KERMIT and KE
0000E0: 52 53 59 53 0D 0A 3B 09 43 50 34 4D 49 54 2E 41 RSYS..;.CP4MIT.A
0000F0: 53 4D 20 2D 20 69 6E 69 74 69 61 6C 69 7A 61 74 SM - initializat
000100: 69 6F 6E 2C 20 6D 61 69 6E 20 6C 6F 6F 70 2C 20 ion, main loop,
000110: 6D 69 73 63 65 6C 6C 61 6E 65 6F 75 73 20 63 6F miscellaneous co
000120: 6D 6D 61 6E 64 73 0D 0A 3B 09 09 20 20 20 20 20 mmands..;..
000130: 28 42 59 45 2C 20 45 58 49 54 2C 20 4C 4F 47 2C (BYE, EXIT, LOG,
000140: 20 53 45 54 2C 20 53 48 4F 57 2C 20 61 6E 64 20 SET, SHOW, and
000150: 53 54 41 54 55 53 29 0D 0A 3B 09 43 50 34 50 4B STATUS)..;.CP4PK
000160: 54 2E 41 53 4D 20 2D 20 74 68 65 20 4B 45 52 4D T.ASM - the KERM
000170: 49 54 20 70 72 6F 74 6F 63 6F 6C 20 68 61 6E 64 IT protocol hand
000180: 6C 65 72 20 28 53 45 4E 44 2C 20 52 45 43 45 49 ler (SEND, RECEI
000190: 56 45 2C 20 4C 4F 47 4F 55 54 2C 0D 0A 3B 09 09 VE, LOGOUT,..;..
0001A0: 20 20 20 20 20 61 6E 64 20 46 49 4E 49 53 48 20 and FINISH
0001B0: 63 6F 6D 6D 61 6E 64 73 29 0D 0A 3B 09 43 50 34 commands)..;.CP4
0001C0: 54 54 2E 41 53 4D 20 20 2D 20 74 68 65 20 74 72 TT.ASM - the tr
0001D0: 61 6E 73 70 61 72 65 6E 74 20 63 6F 6D 6D 61 6E ansparent comman
0001E0: 64 73 20 28 54 52 41 4E 53 4D 49 54 2C 20 43 4F ds (TRANSMIT, CO
0001F0: 4E 4E 45 43 54 29 0D 0A 3B 09 43 50 34 43 50 4D NNECT)..;.CP4CPM
Size : 512 (Real : 512)
000000: 74 68 65 20 45 4E 44 20 73 74 61 74 65 6D 65 6E the END statemen
000010: 74 20 68 61 73 20 74 6F 20 62 65 0D 0A 3B 20 69 t has to be..; i
000020: 6E 20 43 50 34 55 54 4C 20 66 6F 72 20 4C 41 53 n CP4UTL for LAS
000030: 4D 20 28 6F 74 68 65 72 77 69 73 65 2C 20 77 65 M (otherwise, we
000040: 27 64 20 6E 65 65 64 20 61 20 66 69 6C 65 20 63 'd need a file c
000050: 6F 6E 74 61 69 6E 69 6E 67 20 6A 75 73 74 20 61 ontaining just a
000060: 6E 0D 0A 3B 20 45 4E 44 20 73 74 61 74 65 6D 65 n..; END stateme
000070: 6E 74 29 2E 20 20 53 6F 2C 20 77 65 20 6C 65 61 nt). So, we lea
000080: 76 65 20 6F 66 66 20 74 68 65 20 49 46 20 6D 38 ve off the IF m8
000090: 30 20 4F 52 20 6D 61 63 38 30 20 63 6F 6E 64 69 0 OR mac80 condi
0000A0: 74 69 6F 6E 61 6C 0D 0A 3B 20 74 68 61 74 20 6F tional..; that o
0000B0: 75 67 68 74 20 74 6F 20 62 65 20 61 72 6F 75 6E ught to be aroun
0000C0: 64 20 74 68 65 73 65 20 49 4E 43 4C 55 44 45 73 d these INCLUDEs
0000D0: 2E 20 20 4E 6F 20 70 72 6F 62 6C 65 6D 20 75 6E . No problem un
0000E0: 74 69 6C 20 74 68 65 20 6E 65 78 74 0D 0A 3B 20 til the next..;
0000F0: 69 6E 63 6F 6D 70 61 74 69 62 6C 65 20 61 73 73 incompatible ass
000100: 65 6D 62 6C 65 72 20 63 6F 6D 65 73 20 61 6C 6F embler comes alo
000110: 6E 67 2E 2E 2E 0D 0A 09 49 4E 43 4C 55 44 45 20 ng......INCLUDE
000120: 43 50 34 44 45 46 2E 41 53 4D 09 3B 20 64 65 66 CP4DEF.ASM.; def
000130: 69 6E 69 74 69 6F 6E 73 0D 0A 09 49 4E 43 4C 55 initions...INCLU
000140: 44 45 20 43 50 34 4D 49 54 2E 41 53 4D 09 3B 20 DE CP4MIT.ASM.;
000150: 69 6E 69 74 69 61 6C 69 7A 61 74 69 6F 6E 2C 20 initialization,
000160: 6D 61 69 6E 20 6C 6F 6F 70 2C 20 73 6F 6D 65 20 main loop, some
000170: 63 6F 6D 6D 61 6E 64 73 0D 0A 09 49 4E 43 4C 55 commands...INCLU
000180: 44 45 09 43 50 34 50 4B 54 2E 41 53 4D 09 3B 20 DE.CP4PKT.ASM.;
000190: 4B 45 52 4D 49 54 20 70 72 6F 74 6F 63 6F 6C 20 KERMIT protocol
0001A0: 68 61 6E 64 6C 65 72 0D 0A 09 49 4E 43 4C 55 44 handler...INCLUD
0001B0: 45 20 43 50 34 54 54 2E 41 53 4D 09 3B 20 74 72 E CP4TT.ASM.; tr
0001C0: 61 6E 73 70 61 72 65 6E 74 20 63 6F 6D 6D 75 6E ansparent commun
0001D0: 69 63 61 74 69 6F 6E 20 68 61 6E 64 6C 65 72 0D ication handler.
0001E0: 0A 09 49 4E 43 4C 55 44 45 09 43 50 34 43 50 4D ..INCLUDE.CP4CPM
0001F0: 2E 41 53 4D 09 3B 20 43 50 2F 4D 20 63 6F 6D 6D .ASM.; CP/M comm
Size : 512 (Real : 512)
000000: 2E 41 53 4D 20 2D 20 43 50 2F 4D 20 63 6F 6D 6D .ASM - CP/M comm
000010: 61 6E 64 73 20 28 44 49 52 2C 20 45 52 41 29 0D ands (DIR, ERA).
000020: 0A 3B 09 43 50 34 57 4C 44 2E 41 53 4D 20 2D 20 .;.CP4WLD.ASM -
000030: 74 68 65 20 77 69 6C 64 63 61 72 64 20 68 61 6E the wildcard han
000040: 64 6C 65 72 0D 0A 3B 09 43 50 34 43 4D 44 2E 41 dler..;.CP4CMD.A
000050: 53 4D 20 2D 20 74 68 65 20 63 6F 6D 6D 61 6E 64 SM - the command
000060: 20 70 61 72 73 65 72 0D 0A 3B 09 43 50 34 55 54 parser..;.CP4UT
000070: 4C 2E 41 53 4D 20 2D 20 75 74 69 6C 69 74 79 20 L.ASM - utility
000080: 72 6F 75 74 69 6E 65 73 20 61 6E 64 20 64 61 74 routines and dat
000090: 61 0D 0A 3B 0D 0A 3B 20 57 68 65 6E 20 62 75 69 a..;..; When bui
0000A0: 6C 64 69 6E 67 20 74 68 65 20 73 79 73 74 65 6D lding the system
0000B0: 2D 69 6E 64 65 70 65 6E 64 65 6E 74 20 70 61 72 -independent par
0000C0: 74 20 77 69 74 68 20 4D 38 30 20 6F 72 20 4D 41 t with M80 or MA
0000D0: 43 38 30 2C 20 43 50 34 4B 45 52 0D 0A 3B 20 49 C80, CP4KER..; I
0000E0: 4E 43 4C 55 44 45 73 20 74 68 65 20 6F 74 68 65 NCLUDEs the othe
0000F0: 72 20 66 69 6C 65 73 3B 20 77 68 65 6E 20 62 75 r files; when bu
000100: 69 6C 64 69 6E 67 20 77 69 74 68 20 4C 41 53 4D ilding with LASM
000110: 2C 20 65 61 63 68 20 66 69 6C 65 20 4C 49 4E 4B , each file LINK
000120: 73 20 74 6F 0D 0A 3B 20 74 68 65 20 6E 65 78 74 s to..; the next
000130: 20 66 69 6C 65 2E 0D 0A 3B 0D 0A 3B 20 46 6F 72 file...;..; For
000140: 20 6E 6F 77 2C 20 74 68 65 20 73 79 73 74 65 6D now, the system
000150: 2D 64 65 70 65 6E 64 65 6E 74 20 72 6F 75 74 69 -dependent routi
000160: 6E 65 73 20 61 72 65 20 61 6C 6C 20 69 6E 20 43 nes are all in C
000170: 50 34 53 59 53 2E 41 53 4D 2C 20 77 69 74 68 0D P4SYS.ASM, with.
000180: 0A 3B 20 74 68 65 20 61 63 74 75 61 6C 20 63 6F .; the actual co
000190: 6E 66 69 67 75 72 61 74 69 6F 6E 20 64 65 66 69 nfiguration defi
0001A0: 6E 65 64 20 69 6E 20 43 50 34 54 59 50 2E 41 53 ned in CP4TYP.AS
0001B0: 4D 2E 0D 0A 3B 0D 0A 3B 20 72 65 76 69 73 69 6F M...;..; revisio
0001C0: 6E 20 68 69 73 74 6F 72 79 20 28 6C 61 74 65 73 n history (lates
0001D0: 74 20 66 69 72 73 74 29 3A 0D 0A 3B 20 65 64 69 t first):..; edi
0001E0: 74 20 33 3A 20 46 65 62 72 75 61 72 79 20 31 30 t 3: February 10
0001F0: 2C 20 31 39 38 35 20 28 43 4A 43 29 0D 0A 3B 09 , 1985 (CJC)..;.
Size : 512 (Real : 512)
000000: 61 6E 64 20 73 75 70 70 6F 72 74 20 28 44 49 52 and support (DIR
000010: 2C 20 45 52 41 29 0D 0A 09 49 4E 43 4C 55 44 45 , ERA)...INCLUDE
000020: 09 43 50 34 57 4C 44 2E 41 53 4D 09 3B 20 77 69 .CP4WLD.ASM.; wi
000030: 6C 64 63 61 72 64 20 68 61 6E 64 6C 65 72 0D 0A ldcard handler..
000040: 09 49 4E 43 4C 55 44 45 09 43 50 34 43 4D 44 2E .INCLUDE.CP4CMD.
000050: 41 53 4D 09 3B 20 63 6F 6D 6D 61 6E 64 20 70 61 ASM.; command pa
000060: 72 73 65 72 0D 0A 09 49 4E 43 4C 55 44 45 20 43 rser...INCLUDE C
000070: 50 34 55 54 4C 2E 41 53 4D 09 3B 20 56 61 72 69 P4UTL.ASM.; Vari
000080: 6F 75 73 20 75 74 69 6C 69 74 69 65 73 20 61 6E ous utilities an
000090: 64 20 64 61 74 61 2C 20 61 6E 64 20 45 4E 44 20 d data, and END
0000A0: 5B 54 6F 61 64 48 61 6C 6C 5D 0D 0A 09 45 4E 44 [ToadHall]...END
0000B0: 09 09 09 3B 20 4D 41 43 38 30 20 69 67 6E 6F 72 ...; MAC80 ignor
0000C0: 65 73 20 45 4E 44 27 73 20 69 6E 20 69 6E 63 6C es END's in incl
0000D0: 75 64 65 64 20 66 69 6C 65 73 2E 2E 2E 0D 0A 00 uded files......
0000E0: E5 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: E5 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: E5 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: E5 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: E5 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 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: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001C0: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: E5 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: 55 70 64 61 74 65 20 66 6F 72 20 76 34 2E 30 35 Update for v4.05
000010: 3B 20 61 64 64 20 22 76 65 72 6E 6F 22 20 73 6F ; add "verno" so
000020: 20 43 50 34 55 54 4C 20 64 6F 65 73 6E 27 74 20 CP4UTL doesn't
000030: 68 61 76 65 20 74 6F 20 63 68 61 6E 67 65 0D 0A have to change..
000040: 3B 09 6A 75 73 74 20 62 65 63 61 75 73 65 20 73 ;.just because s
000050: 6F 6D 65 20 6F 74 68 65 72 20 6D 6F 64 75 6C 65 ome other module
000060: 20 64 69 64 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 did...;..; edit
000070: 20 32 3A 20 53 65 70 74 65 6D 62 65 72 20 31 30 2: September 10
000080: 2C 20 31 39 38 34 20 28 43 4A 43 29 0D 0A 3B 09 , 1984 (CJC)..;.
000090: 55 70 64 61 74 65 20 66 6F 72 20 76 34 2E 30 33 Update for v4.03
0000A0: 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 31 3A 20 ...;..; edit 1:
0000B0: 4A 75 6C 79 20 32 37 2C 20 31 39 38 34 20 28 43 July 27, 1984 (C
0000C0: 4A 43 29 0D 0A 3B 09 43 72 65 61 74 65 64 20 74 JC)..;.Created t
0000D0: 6F 20 61 6C 6C 6F 77 20 61 73 73 65 6D 62 6C 79 o allow assembly
0000E0: 20 6F 66 20 4B 65 72 6D 69 74 20 62 79 20 4C 41 of Kermit by LA
0000F0: 53 4D 20 61 73 20 77 65 6C 6C 20 61 73 20 4D 41 SM as well as MA
000100: 43 38 30 20 61 6E 64 20 4D 38 30 2E 0D 0A 0D 0A C80 and M80.....
000110: 76 65 72 6E 6F 09 45 51 55 09 30 35 09 09 3B 20 verno.EQU.05..;
000120: 6D 69 6E 6F 72 20 76 65 72 73 69 6F 6E 20 6E 75 minor version nu
000130: 6D 62 65 72 0D 0A 09 0D 0A 3B 20 56 65 72 73 69 mber.....; Versi
000140: 6F 6E 20 34 2E 30 35 20 6F 66 20 4B 65 72 6D 69 on 4.05 of Kermi
000150: 74 20 63 6F 6E 73 69 73 74 73 20 6F 66 20 74 68 t consists of th
000160: 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 65 64 69 74 e following edit
000170: 20 6C 65 76 65 6C 73 3A 0D 0A 3B 09 63 70 34 6B levels:..;.cp4k
000180: 65 72 2E 61 73 6D 20 65 64 69 74 20 33 0D 0A 3B er.asm edit 3..;
000190: 09 63 70 34 64 65 66 2E 61 73 6D 20 65 64 69 74 .cp4def.asm edit
0001A0: 20 34 0D 0A 3B 09 63 70 34 6D 69 74 2E 61 73 6D 4..;.cp4mit.asm
0001B0: 20 65 64 69 74 20 38 0D 0A 3B 09 63 70 34 70 6B edit 8..;.cp4pk
0001C0: 74 2E 61 73 6D 20 65 64 69 74 20 36 0D 0A 3B 09 t.asm edit 6..;.
0001D0: 63 70 34 74 74 2E 61 73 6D 20 65 64 69 74 20 34 cp4tt.asm edit 4
0001E0: 0D 0A 3B 09 63 70 34 63 70 6D 2E 61 73 6D 20 65 ..;.cp4cpm.asm e
0001F0: 64 69 74 20 33 0D 0A 3B 09 63 70 34 77 6C 64 2E dit 3..;.cp4wld.
Size : 512 (Real : 512)
000000: 74 72 61 6E 73 66 65 72 20 70 72 6F 74 6F 63 6F transfer protoco
000010: 6C 2E 0D 0A 3B 0D 0A 3B 09 56 65 72 73 69 6F 6E l...;..;.Version
000020: 20 34 2E 30 0D 0A 3B 0D 0A 3B 09 43 6F 70 79 72 4.0..;..;.Copyr
000030: 69 67 68 74 20 4A 75 6E 65 20 31 39 38 31 2C 31 ight June 1981,1
000040: 39 38 32 2C 31 39 38 33 2C 31 39 38 34 2C 31 39 982,1983,1984,19
000050: 38 35 0D 0A 3B 09 43 6F 6C 75 6D 62 69 61 20 55 85..;.Columbia U
000060: 6E 69 76 65 72 73 69 74 79 0D 0A 3B 0D 0A 3B 20 niversity..;..;
000070: 4F 72 69 67 69 6E 61 6C 6C 79 20 77 72 69 74 74 Originally writt
000080: 65 6E 20 62 79 20 42 69 6C 6C 20 43 61 74 63 68 en by Bill Catch
000090: 69 6E 67 73 20 6F 66 20 74 68 65 20 43 6F 6C 75 ings of the Colu
0000A0: 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 20 mbia University
0000B0: 43 65 6E 74 65 72 20 66 6F 72 0D 0A 3B 20 43 6F Center for..; Co
0000C0: 6D 70 75 74 69 6E 67 20 41 63 74 69 76 69 74 69 mputing Activiti
0000D0: 65 73 2C 20 36 31 32 20 57 2E 20 31 31 35 74 68 es, 612 W. 115th
0000E0: 20 53 74 2E 2C 20 4E 65 77 20 59 6F 72 6B 2C 20 St., New York,
0000F0: 4E 59 20 31 30 30 32 35 2E 0D 0A 3B 0D 0A 3B 20 NY 10025...;..;
000100: 43 6F 6E 74 72 69 62 75 74 69 6F 6E 73 20 62 79 Contributions by
000110: 20 46 72 61 6E 6B 20 64 61 20 43 72 75 7A 2C 20 Frank da Cruz,
000120: 44 61 70 68 6E 65 20 54 7A 6F 61 72 2C 20 42 65 Daphne Tzoar, Be
000130: 72 6E 69 65 20 45 69 62 65 6E 2C 0D 0A 3B 20 42 rnie Eiben,..; B
000140: 72 75 63 65 20 54 61 6E 6E 65 72 2C 20 4E 69 63 ruce Tanner, Nic
000150: 6B 20 42 75 73 68 2C 20 47 72 65 67 20 53 6D 61 k Bush, Greg Sma
000160: 6C 6C 2C 20 4B 69 6D 6D 6F 20 4C 61 61 6B 73 6F ll, Kimmo Laakso
000170: 6E 65 6E 2C 20 4A 65 66 66 20 44 61 6D 65 6E 73 nen, Jeff Damens
000180: 2C 20 61 6E 64 20 6D 61 6E 79 0D 0A 3B 20 6F 74 , and many..; ot
000190: 68 65 72 73 2E 0D 0A 3B 0D 0A 3B 09 54 68 69 73 hers...;..;.This
0001A0: 20 66 69 6C 65 20 63 6F 6E 74 61 69 6E 73 20 74 file contains t
0001B0: 68 65 20 73 79 73 74 65 6D 2D 64 65 70 65 6E 64 he system-depend
0001C0: 65 6E 74 20 63 6F 64 65 20 61 6E 64 20 64 61 74 ent code and dat
0001D0: 61 20 66 6F 72 20 4B 45 52 4D 49 54 2E 0D 0A 3B a for KERMIT...;
0001E0: 09 49 74 20 77 69 6C 6C 20 62 65 20 70 72 6F 62 .It will be prob
0001F0: 61 62 6C 79 20 62 65 20 62 72 6F 6B 65 6E 20 69 ably be broken i
Size : 512 (Real : 512)
000000: 61 73 6D 20 65 64 69 74 20 33 0D 0A 3B 09 63 70 asm edit 3..;.cp
000010: 34 63 6D 64 2E 61 73 6D 20 65 64 69 74 20 35 0D 4cmd.asm edit 5.
000020: 0A 3B 09 63 70 34 75 74 6C 2E 61 73 6D 20 65 64 .;.cp4utl.asm ed
000030: 69 74 20 36 0D 0A 3B 09 63 70 34 6C 6E 6B 2E 61 it 6..;.cp4lnk.a
000040: 73 6D 20 65 64 69 74 20 35 20 28 63 70 34 6C 6E sm edit 5 (cp4ln
000050: 6B 2E 61 73 6D 20 69 73 20 6E 6F 74 20 61 73 73 k.asm is not ass
000060: 65 6D 62 6C 65 64 20 77 69 74 68 20 63 70 34 6B embled with cp4k
000070: 65 72 2C 20 62 75 74 20 69 74 0D 0A 3B 09 09 64 er, but it..;..d
000080: 65 66 69 6E 65 73 20 74 68 65 20 6C 69 6E 6B 61 efines the linka
000090: 67 65 20 61 72 65 61 20 65 78 70 65 63 74 65 64 ge area expected
0000A0: 20 62 79 20 63 70 34 6B 65 72 2C 20 61 6E 64 20 by cp4ker, and
0000B0: 73 6F 20 6D 75 73 74 0D 0A 3B 09 09 6D 61 74 63 so must..;..matc
0000C0: 68 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6F h the descriptio
0000D0: 6E 20 69 6E 20 63 70 34 75 74 6C 2E 61 73 6D 29 n in cp4utl.asm)
0000E0: 0D 0A 3B 0D 0A 3B 20 56 65 72 73 69 6F 6E 20 34 ..;..; Version 4
0000F0: 2E 30 35 20 6F 66 20 4B 65 72 6D 69 74 20 68 61 .05 of Kermit ha
000100: 73 20 62 65 65 6E 20 74 65 73 74 65 64 20 77 69 s been tested wi
000110: 74 68 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 th the following
000120: 20 65 64 69 74 20 6C 65 76 65 6C 73 20 6F 66 0D edit levels of.
000130: 0A 3B 20 74 68 65 20 73 79 73 74 65 6D 2D 64 65 .; the system-de
000140: 70 65 6E 64 65 6E 74 20 66 69 6C 65 73 3A 0D 0A pendent files:..
000150: 3B 09 63 70 34 74 79 70 2E 61 73 6D 20 65 64 69 ;.cp4typ.asm edi
000160: 74 20 36 0D 0A 3B 09 63 70 34 73 79 73 2E 61 73 t 6..;.cp4sys.as
000170: 6D 20 65 64 69 74 20 31 32 0D 0A 3B 0D 0A 0D 0A m edit 12..;....
000180: 46 41 4C 53 45 09 65 71 75 09 30 0D 0A 54 52 55 FALSE.equ.0..TRU
000190: 45 09 65 71 75 09 4E 4F 54 20 46 41 4C 53 45 0D E.equ.NOT FALSE.
0001A0: 0A 0D 0A 63 70 34 6B 65 72 09 65 71 75 09 54 52 ...cp4ker.equ.TR
0001B0: 55 45 09 3B 20 62 75 69 6C 64 69 6E 67 20 73 79 UE.; building sy
0001C0: 73 74 65 6D 2D 69 6E 64 65 70 65 6E 64 65 6E 74 stem-independent
0001D0: 20 70 61 72 74 0D 0A 0D 0A 3B 0D 0A 3B 20 41 73 part....;..; As
0001E0: 73 65 6D 62 6C 65 72 20 74 79 70 65 2E 20 20 44 sembler type. D
0001F0: 65 66 69 6E 65 20 74 68 65 20 61 70 70 72 6F 70 efine the approp
Size : 512 (Real : 512)
000000: 6E 74 6F 20 69 6E 64 65 70 65 6E 64 65 6E 74 20 nto independent
000010: 66 69 6C 65 73 20 74 6F 20 67 65 6E 65 72 61 74 files to generat
000020: 65 0D 0A 3B 09 6F 76 65 72 6C 61 79 73 20 66 6F e..;.overlays fo
000030: 72 20 74 68 65 20 76 61 72 69 6F 75 73 20 73 79 r the various sy
000040: 73 74 65 6D 73 2C 20 6F 6E 65 20 6F 72 20 6D 6F stems, one or mo
000050: 72 65 20 6F 76 65 72 6C 61 79 20 70 6F 73 73 69 re overlay possi
000060: 62 6C 65 0D 0A 3B 09 66 72 6F 6D 20 65 61 63 68 ble..;.from each
000070: 20 66 69 6C 65 2E 20 20 46 6F 72 20 6E 6F 77 2C file. For now,
000080: 20 77 65 20 77 69 6C 6C 20 6C 65 61 76 65 20 69 we will leave i
000090: 74 20 69 6E 20 6F 6E 65 20 70 69 65 63 65 2E 0D t in one piece..
0000A0: 0A 3B 0D 0A 3B 20 72 65 76 69 73 69 6F 6E 20 68 .;..; revision h
0000B0: 69 73 74 6F 72 79 3A 0D 0A 3B 0D 0A 3B 20 65 64 istory:..;..; ed
0000C0: 69 74 20 31 33 3A 20 4A 75 6C 79 20 32 33 2C 20 it 13: July 23,
0000D0: 31 39 38 35 0D 0A 3B 20 20 20 20 20 20 20 63 68 1985..; ch
0000E0: 61 6E 67 65 20 44 65 66 61 75 6C 74 20 45 73 63 ange Default Esc
0000F0: 61 70 65 20 43 68 61 72 61 63 74 65 72 20 74 6F ape Character to
000100: 20 43 6F 6E 74 72 6F 6C 20 4F 20 66 6F 72 20 4F Control O for O
000110: 73 62 6F 72 6E 65 20 31 27 73 2E 0D 0A 3B 20 20 sborne 1's...;
000120: 20 20 20 20 20 20 20 20 20 20 20 20 47 65 72 6D Germ
000130: 61 6E 20 4F 73 62 6F 72 6E 65 73 20 75 73 65 20 an Osbornes use
000140: 74 68 65 20 5C 20 61 73 20 73 70 65 63 69 61 6C the \ as special
000150: 20 47 65 72 6D 61 6E 20 63 68 61 72 61 63 74 65 German characte
000160: 72 0D 0A 3B 20 20 20 20 20 20 20 20 20 20 20 20 r..;
000170: 20 20 73 6F 20 69 74 20 63 61 6E 27 74 20 62 65 so it can't be
000180: 20 70 75 73 68 65 64 20 74 6F 67 65 74 68 65 72 pushed together
000190: 20 77 69 74 68 20 74 68 65 20 63 6F 6E 74 72 6F with the contro
0001A0: 6C 20 62 75 74 74 6F 6E 2E 0D 0A 3B 20 20 20 20 l button...;
0001B0: 20 20 20 20 20 20 20 20 20 20 45 61 73 69 6C 79 Easily
0001C0: 20 63 68 61 6E 67 65 64 20 62 61 63 6B 20 2E 20 changed back .
0001D0: 28 20 45 62 65 72 68 61 72 64 20 57 2E 20 4C 69 ( Eberhard W. Li
0001E0: 73 73 65 20 29 0D 0A 3B 0D 0A 3B 20 65 64 69 74 sse )..;..; edit
0001F0: 20 31 32 3A 20 46 65 62 72 75 61 72 79 20 36 2C 12: February 6,
Size : 512 (Real : 512)
000000: 72 69 61 74 65 20 6F 6E 65 20 54 52 55 45 2C 20 riate one TRUE,
000010: 74 68 65 20 72 65 73 74 20 46 41 4C 53 45 2E 20 the rest FALSE.
000020: 20 28 57 65 20 63 61 6E 27 74 0D 0A 3B 20 75 73 (We can't..; us
000030: 65 20 41 53 4D 2C 20 62 65 63 61 75 73 65 20 69 e ASM, because i
000040: 74 20 63 61 6E 6E 6F 74 20 68 61 6E 64 6C 65 20 t cannot handle
000050: 6D 75 6C 74 69 70 6C 65 20 69 6E 70 75 74 20 66 multiple input f
000060: 69 6C 65 73 29 0D 0A 6D 61 63 38 30 09 45 51 55 iles)..mac80.EQU
000070: 09 46 41 4C 53 45 09 09 3B 20 46 6F 72 20 61 73 .FALSE..; For as
000080: 73 65 6D 62 6C 79 20 76 69 61 20 4D 41 43 38 30 sembly via MAC80
000090: 20 63 72 6F 73 73 2D 61 73 73 65 6D 62 6C 65 72 cross-assembler
0000A0: 2E 0D 0A 6D 38 30 09 45 51 55 09 46 41 4C 53 45 ...m80.EQU.FALSE
0000B0: 09 09 3B 20 46 6F 72 20 61 73 73 65 6D 62 6C 79 ..; For assembly
0000C0: 20 76 69 61 20 4D 69 63 72 6F 73 6F 66 74 27 73 via Microsoft's
0000D0: 20 4D 38 30 2E 0D 0A 6C 61 73 6D 09 45 51 55 09 M80...lasm.EQU.
0000E0: 54 52 55 45 09 09 3B 20 46 6F 72 20 61 73 73 65 TRUE..; For asse
0000F0: 6D 62 6C 79 20 76 69 61 20 4C 41 53 4D 2C 20 61 mbly via LASM, a
000100: 20 70 75 62 6C 69 63 2D 64 6F 6D 61 69 6E 0D 0A public-domain..
000110: 09 09 09 09 3B 20 61 73 73 65 6D 62 6C 65 72 2E ....; assembler.
000120: 0D 0A 3B 0D 0A 3B 09 47 65 74 20 74 68 65 20 6F ..;..;.Get the o
000130: 74 68 65 72 20 6D 6F 64 75 6C 65 73 2E 2E 2E 0D ther modules....
000140: 0A 0D 0A 49 46 20 6C 61 73 6D 09 09 09 09 3B 20 ...IF lasm....;
000150: 49 66 20 77 65 27 72 65 20 6C 69 6E 6B 69 6E 67 If we're linking
000160: 2C 20 67 6F 20 6F 6E 20 74 6F 20 74 68 65 20 6E , go on to the n
000170: 65 78 74 20 66 69 6C 65 2E 0D 0A 09 4C 49 4E 4B ext file....LINK
000180: 09 43 50 34 44 45 46 0D 0A 45 4E 44 49 46 3B 6C .CP4DEF..ENDIF;l
000190: 61 73 6D 0D 0A 0D 0A 3B 20 49 66 20 77 65 27 72 asm....; If we'r
0001A0: 65 20 73 74 69 6C 6C 20 68 65 72 65 2C 20 77 65 e still here, we
0001B0: 20 6D 75 73 74 20 62 65 20 75 73 69 6E 67 20 4D must be using M
0001C0: 38 30 20 6F 72 20 4D 41 43 38 30 2E 20 20 4D 38 80 or MAC80. M8
0001D0: 30 20 64 6F 65 73 6E 27 74 0D 0A 3B 20 6C 69 6B 0 doesn't..; lik
0001E0: 65 20 45 4E 44 73 20 69 6E 73 69 64 65 20 63 6F e ENDs inside co
0001F0: 6E 64 69 74 69 6F 6E 61 6C 73 2C 20 62 75 74 20 nditionals, but
Size : 512 (Real : 512)
000000: 20 31 39 38 35 0D 0A 3B 09 41 64 64 20 65 78 74 1985..;.Add ext
000010: 65 6E 64 65 64 20 48 38 39 20 73 75 70 70 6F 72 ended H89 suppor
000020: 74 20 28 62 79 20 50 61 75 6C 20 4D 69 6C 61 7A t (by Paul Milaz
000030: 7A 6F 2C 20 52 69 63 65 20 55 6E 69 76 65 72 73 zo, Rice Univers
000040: 69 74 79 29 2C 0D 0A 3B 09 73 75 70 70 6F 72 74 ity),..;.support
000050: 20 66 6F 72 20 4E 6F 72 74 68 73 74 61 72 20 48 for Northstar H
000060: 6F 72 69 7A 6F 6E 20 77 69 74 68 20 4E 6F 72 74 orizon with Nort
000070: 68 73 74 61 72 20 43 50 2F 4D 20 61 6E 64 20 53 hstar CP/M and S
000080: 49 4F 2D 34 20 62 6F 61 72 64 0D 0A 3B 09 28 62 IO-4 board..;.(b
000090: 79 20 4A 6F 65 20 53 6D 69 74 68 2C 20 43 6F 6C y Joe Smith, Col
0000A0: 6F 72 6F 64 6F 20 53 63 68 6F 6F 6C 20 6F 66 20 orodo School of
0000B0: 4D 69 6E 65 73 29 2C 20 61 6E 64 20 73 75 70 70 Mines), and supp
0000C0: 6F 72 74 20 66 6F 72 20 4C 6F 62 6F 0D 0A 3B 09 ort for Lobo..;.
0000D0: 4D 41 58 2D 38 30 20 63 6F 6D 70 75 74 65 72 20 MAX-80 computer
0000E0: 28 66 72 6F 6D 20 48 61 6C 20 48 6F 73 74 65 74 (from Hal Hostet
0000F0: 6C 65 72 29 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 ler)..;..; edit
000100: 31 31 3A 20 31 33 2D 4A 61 6E 2D 38 35 20 62 79 11: 13-Jan-85 by
000110: 20 56 61 6E 79 61 20 4A 2E 43 6F 6F 70 65 72 20 Vanya J.Cooper
000120: 50 69 6D 61 20 43 6F 6D 6D 75 6E 2E 20 43 6F 6C Pima Commun. Col
000130: 6C 65 67 65 20 54 65 6C 3A 20 36 30 32 2D 38 38 lege Tel: 602-88
000140: 34 2D 36 38 30 39 0D 0A 3B 0D 0A 3B 70 63 63 30 4-6809..;..;pcc0
000150: 30 31 09 32 37 2D 44 65 63 2D 38 34 09 76 6A 63 01.27-Dec-84.vjc
000160: 09 6D 6F 64 75 6C 65 73 3A 20 63 70 34 73 79 73 .modules: cp4sys
000170: 2C 63 70 34 74 79 70 0D 0A 3B 09 41 64 64 20 63 ,cp4typ..;.Add c
000180: 6F 6E 64 69 74 69 6F 6E 61 6C 20 66 6F 72 20 58 onditional for X
000190: 65 72 6F 78 20 38 32 30 2E 20 20 49 20 74 68 6F erox 820. I tho
0001A0: 75 67 68 74 20 61 74 20 66 69 72 73 74 20 49 20 ught at first I
0001B0: 63 6F 75 6C 64 0D 0A 3B 09 6C 69 76 65 20 77 69 could..;.live wi
0001C0: 74 68 20 74 68 65 20 6B 61 79 70 72 6F 20 63 6F th the kaypro co
0001D0: 6E 64 69 74 69 6F 6E 61 6C 2C 20 62 75 74 20 69 nditional, but i
0001E0: 74 27 73 20 65 6E 6F 75 67 68 20 6F 66 20 61 20 t's enough of a
0001F0: 70 61 69 6E 0D 0A 3B 09 74 68 61 74 20 49 20 61 pain..;.that I a
Size : 512 (Real : 512)
000000: 54 6F 61 64 20 48 61 6C 6C 20 63 68 61 6E 67 65 Toad Hall change
000010: 73 3A 20 20 41 6C 6C 6F 77 20 61 73 73 65 6D 62 s: Allow assemb
000020: 6C 79 20 77 69 74 68 20 4C 41 53 4D 2C 20 61 64 ly with LASM, ad
000030: 64 20 73 75 70 70 6F 72 74 20 66 6F 72 0D 0A 3B d support for..;
000040: 09 4D 6F 72 72 6F 77 20 44 65 63 69 73 69 6F 6E .Morrow Decision
000050: 20 49 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 31 I...;..; edit 1
000060: 3A 20 4D 61 79 2C 20 31 39 38 34 0D 0A 3B 09 65 : May, 1984..;.e
000070: 78 74 72 61 63 74 65 64 20 66 72 6F 6D 20 43 50 xtracted from CP
000080: 4D 42 41 53 45 2E 4D 38 30 20 76 65 72 73 69 6F MBASE.M80 versio
000090: 6E 20 33 2E 39 3B 20 6D 6F 64 69 66 69 63 61 74 n 3.9; modificat
0000A0: 69 6F 6E 73 20 61 72 65 20 64 65 73 63 72 69 62 ions are describ
0000B0: 65 64 0D 0A 3B 09 69 6E 20 74 68 65 20 61 63 63 ed..;.in the acc
0000C0: 6F 6D 70 61 6E 79 69 6E 67 20 2E 55 50 44 20 66 ompanying .UPD f
0000D0: 69 6C 65 2E 0D 0A 3B 0D 0A 3B 20 4B 65 65 70 20 ile...;..; Keep
0000E0: 6D 6F 64 75 6C 65 20 6E 61 6D 65 2C 20 65 64 69 module name, edi
0000F0: 74 20 6E 75 6D 62 65 72 2C 20 61 6E 64 20 6C 61 t number, and la
000100: 73 74 20 72 65 76 69 73 69 6F 6E 20 64 61 74 65 st revision date
000110: 20 69 6E 20 6D 65 6D 6F 72 79 2E 0D 0A 73 79 73 in memory...sys
000120: 65 64 74 3A 09 64 62 09 27 43 50 34 53 59 53 2E edt:.db.'CP4SYS.
000130: 41 53 4D 20 28 31 32 29 20 20 36 2D 46 65 62 2D ASM (12) 6-Feb-
000140: 38 35 24 27 0D 0A 3B 0C 0D 0A 3B 20 41 73 73 65 85$'..;...; Asse
000150: 6D 62 6C 79 20 74 69 6D 65 20 6D 65 73 73 61 67 mbly time messag
000160: 65 20 74 6F 20 6C 65 74 20 6D 65 20 6B 6E 6F 77 e to let me know
000170: 20 49 27 6D 20 62 75 69 6C 64 69 6E 67 20 74 68 I'm building th
000180: 65 20 72 69 67 68 74 20 76 65 72 73 69 6F 6E 2E e right version.
000190: 0D 0A 3B 20 4C 41 53 4D 20 67 65 6E 65 72 61 74 ..; LASM generat
0001A0: 65 73 20 61 6E 20 27 53 27 20 65 72 72 6F 72 20 es an 'S' error
0001B0: 61 6C 6F 6E 67 20 77 69 74 68 20 74 68 65 20 6D along with the m
0001C0: 65 73 73 61 67 65 2C 20 77 68 69 63 68 20 69 73 essage, which is
0001D0: 20 6D 65 73 73 79 2C 20 62 75 74 0D 0A 3B 20 62 messy, but..; b
0001E0: 65 74 74 65 72 20 74 68 61 6E 20 74 72 79 69 6E etter than tryin
0001F0: 67 20 74 6F 20 70 75 74 20 65 76 65 72 79 74 68 g to put everyth
Size : 512 (Real : 512)
000000: 64 64 65 64 20 69 74 20 62 61 63 6B 20 69 6E 2E dded it back in.
000010: 20 20 54 68 65 20 63 6C 65 61 72 2D 74 6F 2D 65 The clear-to-e
000020: 6E 64 2D 6F 66 2D 73 63 72 65 65 6E 20 63 68 61 nd-of-screen cha
000030: 72 0D 0A 3B 09 69 73 20 64 69 66 66 65 72 65 6E r..;.is differen
000040: 74 2C 20 20 62 72 65 61 6B 69 6E 67 20 6D 61 6E t, breaking man
000050: 79 20 70 72 6F 67 72 61 6D 73 20 69 6E 20 56 54 y programs in VT
000060: 35 32 20 6D 6F 64 65 2C 20 61 6E 64 20 74 68 65 52 mode, and the
000070: 0D 0A 3B 09 64 65 66 61 75 6C 74 20 65 73 63 61 ..;.default esca
000080: 70 65 20 63 68 61 72 20 63 6F 6E 74 72 6F 6C 2D pe char control-
000090: 5C 2C 20 69 73 20 6E 6F 74 20 61 74 20 61 6C 6C \, is not at all
0000A0: 20 6F 62 76 69 6F 75 73 20 68 6F 77 0D 0A 3B 09 obvious how..;.
0000B0: 74 6F 20 74 79 70 65 20 6F 6E 20 74 68 65 20 38 to type on the 8
0000C0: 32 30 20 6B 65 79 62 6F 61 72 64 2E 20 20 49 66 20 keyboard. If
0000D0: 20 79 6F 75 20 6D 75 64 64 6C 65 20 74 68 72 6F you muddle thro
0000E0: 75 67 68 20 74 68 65 0D 0A 3B 09 6B 65 79 20 74 ugh the..;.key t
0000F0: 72 61 6E 73 6C 61 74 69 6F 6E 20 74 61 62 6C 65 ranslation table
000100: 2C 20 69 74 20 74 75 72 6E 73 20 6F 75 74 20 74 , it turns out t
000110: 6F 20 62 65 20 63 6F 6E 74 72 6F 6C 2D 63 6F 6D o be control-com
000120: 6D 61 2E 0D 0A 3B 09 52 61 74 68 65 72 20 74 68 ma...;.Rather th
000130: 61 6E 20 4F 52 20 78 65 72 38 32 30 20 61 6C 6C an OR xer820 all
000140: 20 74 68 65 20 6F 63 63 75 72 61 6E 63 65 73 20 the occurances
000150: 6F 66 20 6B 70 49 49 20 63 6F 6E 64 69 74 69 6F of kpII conditio
000160: 6E 61 6C 73 0D 0A 3B 09 49 20 61 64 64 65 64 20 nals..;.I added
000170: 61 20 62 62 49 20 63 6F 6E 64 69 74 69 6F 6E 61 a bbI conditiona
000180: 6C 20 66 6F 72 20 61 6C 6C 20 63 6F 6D 6D 6F 6E l for all common
000190: 20 63 6F 64 65 20 66 6F 72 20 74 68 65 20 62 69 code for the bi
0001A0: 67 0D 0A 3B 09 62 6F 61 72 64 20 49 20 62 61 73 g..;.board I bas
0001B0: 65 64 20 6D 61 63 68 69 6E 65 73 20 74 68 61 74 ed machines that
0001C0: 20 69 73 20 61 75 74 6F 6D 61 74 69 63 61 6C 6C is automaticall
0001D0: 79 20 74 75 72 6E 65 64 20 6F 6E 20 62 79 0D 0A y turned on by..
0001E0: 3B 09 65 69 74 68 65 72 20 6B 70 49 49 20 6F 72 ;.either kpII or
0001F0: 20 78 65 72 38 32 30 2E 20 20 54 68 69 73 20 77 xer820. This w
Size : 512 (Real : 512)
000000: 69 6E 67 20 69 6E 73 69 64 65 20 61 20 49 46 20 ing inside a IF
000010: 6D 38 30 20 4F 52 20 6D 61 63 38 30 20 63 6F 6E m80 OR mac80 con
000020: 64 69 74 69 6F 6E 61 6C 2C 0D 0A 3B 20 62 65 63 ditional,..; bec
000030: 61 75 73 65 20 4C 41 53 4D 20 64 6F 65 73 6E 27 ause LASM doesn'
000040: 74 20 6C 69 6B 65 20 6E 65 73 74 65 64 20 49 46 t like nested IF
000050: 27 73 2C 20 65 69 74 68 65 72 2E 0D 0A 0D 0A 49 's, either.....I
000060: 46 20 72 6F 62 69 6E 0D 0A 2E 70 72 69 6E 74 78 F robin...printx
000070: 20 2A 20 41 73 73 65 6D 62 6C 69 6E 67 20 4B 45 * Assembling KE
000080: 52 4D 49 54 2D 38 30 20 66 6F 72 20 74 68 65 20 RMIT-80 for the
000090: 44 45 43 20 56 54 31 38 30 20 2A 0D 0A 45 4E 44 DEC VT180 *..END
0000A0: 49 46 0D 0A 0D 0A 49 46 20 62 72 61 69 6E 0D 0A IF....IF brain..
0000B0: 2E 70 72 69 6E 74 78 20 2A 20 41 73 73 65 6D 62 .printx * Assemb
0000C0: 6C 69 6E 67 20 4B 45 52 4D 49 54 2D 38 30 20 66 ling KERMIT-80 f
0000D0: 6F 72 20 74 68 65 20 49 6E 74 65 72 74 65 63 20 or the Intertec
0000E0: 53 75 70 65 72 62 72 61 69 6E 20 2A 0D 0A 45 4E Superbrain *..EN
0000F0: 44 49 46 0D 0A 0D 0A 49 46 20 76 65 63 74 6F 72 DIF....IF vector
000100: 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 41 73 73 65 ...printx * Asse
000110: 6D 62 6C 69 6E 67 20 4B 45 52 4D 49 54 2D 38 30 mbling KERMIT-80
000120: 20 66 6F 72 20 74 68 65 20 56 65 63 74 6F 72 20 for the Vector
000130: 47 72 61 70 68 69 63 73 20 2A 0D 0A 45 4E 44 49 Graphics *..ENDI
000140: 46 0D 0A 0D 0A 49 46 20 6F 73 69 0D 0A 2E 70 72 F....IF osi...pr
000150: 69 6E 74 78 20 2A 20 41 73 73 65 6D 62 6C 69 6E intx * Assemblin
000160: 67 20 4B 45 52 4D 49 54 2D 38 30 20 66 6F 72 20 g KERMIT-80 for
000170: 74 68 65 20 4F 68 69 6F 20 53 63 69 65 6E 74 69 the Ohio Scienti
000180: 66 69 63 20 2A 0D 0A 45 4E 44 49 46 0D 0A 0D 0A fic *..ENDIF....
000190: 49 46 20 68 65 61 74 68 0D 0A 2E 70 72 69 6E 74 IF heath...print
0001A0: 78 20 2A 20 41 73 73 65 6D 62 6C 69 6E 67 20 4B x * Assembling K
0001B0: 45 52 4D 49 54 2D 38 30 20 66 6F 72 20 74 68 65 ERMIT-80 for the
0001C0: 20 48 65 61 74 68 2F 5A 65 6E 69 74 68 20 38 39 Heath/Zenith 89
0001D0: 20 2A 0D 0A 45 4E 44 49 46 0D 0A 0D 0A 49 46 20 *..ENDIF....IF
0001E0: 7A 31 30 30 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 z100...printx *
0001F0: 41 73 73 65 6D 62 6C 69 6E 67 20 4B 45 52 4D 49 Assembling KERMI
Size : 512 (Real : 512)
000000: 69 6C 6C 20 61 6C 73 6F 20 6D 61 6B 65 20 69 74 ill also make it
000010: 20 65 61 73 69 65 72 20 69 6E 0D 0A 3B 09 74 68 easier in..;.th
000020: 65 20 66 75 74 75 72 65 20 69 66 20 61 6E 6F 74 e future if anot
000030: 68 65 72 20 66 6C 61 76 6F 72 20 6F 66 20 62 69 her flavor of bi
000040: 67 62 6F 61 72 64 20 69 73 20 61 64 64 65 64 2E gboard is added.
000050: 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 31 30 3A 20 ..;..; edit 10:
000060: 35 20 44 65 63 65 6D 62 65 72 20 31 39 38 34 20 5 December 1984
000070: 62 79 20 43 4A 43 0D 0A 3B 09 41 64 64 20 6D 69 by CJC..;.Add mi
000080: 73 73 69 6E 67 20 45 4E 44 49 46 20 28 74 73 6B ssing ENDIF (tsk
000090: 2C 20 74 73 6B 29 0D 0A 3B 0D 0A 3B 20 65 64 69 , tsk)..;..; edi
0000A0: 74 20 39 3A 20 34 20 44 65 63 65 6D 62 65 72 20 t 9: 4 December
0000B0: 31 39 38 34 20 62 79 20 43 4A 43 0D 0A 3B 09 41 1984 by CJC..;.A
0000C0: 64 64 20 74 77 6F 20 6F 73 62 6F 72 6E 65 20 66 dd two osborne f
0000D0: 69 78 65 73 3A 20 6D 69 73 73 69 6E 67 20 63 72 ixes: missing cr
0000E0: 6C 66 20 69 6E 20 6F 75 74 6C 69 6E 3A 2C 20 69 lf in outlin:, i
0000F0: 6E 63 6F 72 72 65 63 74 20 6F 70 63 6F 64 65 20 ncorrect opcode
000100: 69 6E 0D 0A 3B 09 69 6E 69 74 69 61 6C 69 7A 61 in..;.initializa
000110: 74 69 6F 6E 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 tion...;..; edit
000120: 20 38 3A 20 31 33 20 4F 63 74 6F 62 65 72 20 31 8: 13 October 1
000130: 39 38 34 20 62 79 20 4C 20 4D 20 4A 6F 6E 65 73 984 by L M Jones
000140: 2C 20 4A 43 43 2C 20 66 6F 72 20 4E 65 77 20 59 , JCC, for New Y
000150: 6F 72 6B 20 42 6F 74 61 6E 69 63 61 6C 20 47 61 ork Botanical Ga
000160: 72 64 65 6E 0D 0A 3B 09 41 64 64 20 73 75 70 70 rden..;.Add supp
000170: 6F 72 74 20 66 6F 72 20 43 50 54 2D 38 35 78 78 ort for CPT-85xx
000180: 20 73 65 72 69 65 73 20 77 6F 72 64 20 70 72 6F series word pro
000190: 63 65 73 73 6F 72 73 20 77 68 65 6E 20 72 75 6E cessors when run
0001A0: 6E 69 6E 67 20 43 50 2F 4D 2D 38 30 2E 0D 0A 3B ning CP/M-80...;
0001B0: 0D 0A 3B 20 65 64 69 74 20 37 3A 20 32 39 20 41 ..; edit 7: 29 A
0001C0: 75 67 75 73 74 20 31 39 38 34 20 62 79 20 42 64 ugust 1984 by Bd
0001D0: 61 6C 65 20 47 61 72 62 65 65 20 40 20 43 4D 55 ale Garbee @ CMU
0001E0: 0D 0A 3B 09 41 64 64 20 73 75 70 70 6F 72 74 20 ..;.Add support
0001F0: 66 6F 72 20 44 69 67 69 63 6F 6D 70 20 44 65 6C for Digicomp Del
Size : 512 (Real : 512)
000000: 54 2D 38 30 20 66 6F 72 20 74 68 65 20 48 65 61 T-80 for the Hea
000010: 74 68 2F 5A 65 6E 69 74 68 20 5A 31 30 30 20 2A th/Zenith Z100 *
000020: 0D 0A 45 4E 44 49 46 0D 0A 0D 0A 49 46 20 61 70 ..ENDIF....IF ap
000030: 70 6C 65 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 41 ple...printx * A
000040: 73 73 65 6D 62 6C 69 6E 67 20 4B 45 52 4D 49 54 ssembling KERMIT
000050: 2D 38 30 20 66 6F 72 20 74 68 65 20 41 70 70 6C -80 for the Appl
000060: 65 20 5D 5B 20 2A 0D 0A 45 4E 44 49 46 3B 61 70 e ][ *..ENDIF;ap
000070: 70 6C 65 0D 0A 49 46 20 61 70 6D 6D 64 6D 0D 0A ple..IF apmmdm..
000080: 2E 70 72 69 6E 74 78 20 2A 20 20 20 77 69 74 68 .printx * with
000090: 20 5A 38 30 20 53 6F 66 74 63 61 72 64 20 26 20 Z80 Softcard &
0000A0: 4D 69 63 72 6F 6D 6F 64 65 6D 20 49 49 20 20 20 Micromodem II
0000B0: 2A 0D 0A 45 4E 44 49 46 3B 61 70 6D 6D 64 6D 0D *..ENDIF;apmmdm.
0000C0: 0A 49 46 20 61 70 36 35 35 31 0D 0A 2E 70 72 69 .IF ap6551...pri
0000D0: 6E 74 78 20 2A 20 20 20 20 20 77 69 74 68 20 5A ntx * with Z
0000E0: 38 30 20 53 6F 66 74 63 61 72 64 20 26 20 36 35 80 Softcard & 65
0000F0: 35 31 20 41 43 49 41 20 20 20 20 20 2A 0D 0A 45 51 ACIA *..E
000100: 4E 44 49 46 3B 61 70 36 35 35 31 0D 0A 0D 0A 49 NDIF;ap6551....I
000110: 46 20 74 72 73 38 30 0D 0A 2E 70 72 69 6E 74 78 F trs80...printx
000120: 20 2A 20 41 73 73 65 6D 62 6C 69 6E 67 20 4B 45 * Assembling KE
000130: 52 4D 49 54 2D 38 30 20 66 6F 72 20 74 68 65 20 RMIT-80 for the
000140: 54 52 53 2D 38 30 20 49 49 20 2A 0D 0A 45 4E 44 TRS-80 II *..END
000150: 49 46 0D 0A 0D 0A 49 46 20 6F 73 62 72 6E 31 0D IF....IF osbrn1.
000160: 0A 2E 70 72 69 6E 74 78 20 2A 20 41 73 73 65 6D ..printx * Assem
000170: 62 6C 69 6E 67 20 4B 45 52 4D 49 54 2D 38 30 20 bling KERMIT-80
000180: 66 6F 72 20 74 68 65 20 4F 73 62 6F 72 6E 65 20 for the Osborne
000190: 31 20 2A 0D 0A 45 4E 44 49 46 0D 0A 0D 0A 49 46 1 *..ENDIF....IF
0001A0: 20 74 65 6C 63 6F 6E 0D 0A 2E 70 72 69 6E 74 78 telcon...printx
0001B0: 20 2A 20 41 73 73 65 6D 62 6C 69 6E 67 20 4B 45 * Assembling KE
0001C0: 52 4D 49 54 2D 38 30 20 66 6F 72 20 74 68 65 20 RMIT-80 for the
0001D0: 54 65 6C 63 6F 6E 20 5A 6F 72 62 61 20 2A 0D 0A Telcon Zorba *..
0001E0: 45 4E 44 49 46 0D 0A 0D 0A 49 46 20 64 6D 49 49 ENDIF....IF dmII
0001F0: 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 41 73 73 65 ...printx * Asse
Size : 512 (Real : 512)
000000: 70 68 69 20 31 30 30 20 61 6E 64 20 4E 65 74 72 phi 100 and Netr
000010: 6F 6E 69 63 73 20 53 6D 61 72 74 76 69 64 20 74 onics Smartvid t
000020: 65 72 6D 69 6E 61 6C 2E 0D 0A 3B 0D 0A 3B 20 65 erminal...;..; e
000030: 64 69 74 20 36 3A 20 41 75 67 75 73 74 20 32 31 dit 6: August 21
000040: 2C 20 31 39 38 34 0D 0A 3B 09 41 64 64 20 66 6C , 1984..;.Add fl
000050: 73 6D 64 6D 2C 20 74 6F 20 66 6C 75 73 68 20 63 smdm, to flush c
000060: 6F 6D 6D 20 6C 69 6E 65 20 6F 6E 20 73 74 61 72 omm line on star
000070: 74 75 70 2E 0D 0A 3B 09 53 75 70 70 6F 72 74 20 tup...;.Support
000080: 6D 75 6C 74 69 70 6C 65 2D 73 65 63 74 6F 72 20 multiple-sector
000090: 62 75 66 66 65 72 69 6E 67 20 28 65 78 63 65 70 buffering (excep
0000A0: 74 20 66 6F 72 20 6F 73 62 6F 72 6E 65 20 31 29 t for osborne 1)
0000B0: 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 35 3A 20 ...;..; edit 5:
0000C0: 41 75 67 75 73 74 20 31 39 2C 20 31 39 38 34 0D August 19, 1984.
0000D0: 0A 3B 09 41 64 64 20 6D 69 73 73 69 6E 67 20 52 .;.Add missing R
0000E0: 45 54 20 69 6E 20 6F 75 74 6C 70 74 3A 20 28 2A ET in outlpt: (*
0000F0: 73 69 67 68 2A 29 2E 20 20 41 6C 73 6F 20 70 72 sigh*). Also pr
000100: 65 73 65 72 76 65 20 44 45 20 69 6E 20 63 61 73 eserve DE in cas
000110: 65 0D 0A 3B 09 74 68 65 20 42 49 4F 53 20 64 65 e..;.the BIOS de
000120: 73 74 72 6F 79 73 20 69 74 2E 20 20 41 64 64 20 stroys it. Add
000130: 76 65 72 73 69 6F 6E 20 73 74 72 69 6E 67 20 28 version string (
000140: 73 79 73 65 64 74 2C 20 73 69 6E 63 65 20 73 79 sysedt, since sy
000150: 73 76 65 72 0D 0A 3B 09 77 61 73 20 61 6C 72 65 sver..;.was alre
000160: 61 64 79 20 74 61 6B 65 6E 29 2E 0D 0A 3B 0D 0A ady taken)...;..
000170: 3B 20 65 64 69 74 20 34 3A 20 41 75 67 75 73 74 ; edit 4: August
000180: 20 38 2C 20 31 39 38 34 0D 0A 3B 09 52 75 6E 6E 8, 1984..;.Runn
000190: 69 6E 67 20 74 65 72 6D 69 6E 61 6C 20 6F 75 74 ing terminal out
0001A0: 70 75 74 20 74 68 72 6F 75 67 68 20 74 68 65 20 put through the
0001B0: 42 44 4F 53 20 64 69 64 6E 27 74 20 77 6F 72 6B BDOS didn't work
0001C0: 20 73 6F 20 77 65 6C 6C 20 66 6F 72 0D 0A 3B 09 so well for..;.
0001D0: 74 68 65 20 4B 61 79 70 72 6F 2E 20 20 52 65 6D the Kaypro. Rem
0001E0: 6F 76 65 20 74 68 65 20 73 70 65 63 69 61 6C 20 ove the special
0001F0: 63 68 65 63 6B 20 61 74 20 6F 75 74 63 6F 6E 3A check at outcon:
Size : 512 (Real : 512)
000000: 6D 62 6C 69 6E 67 20 4B 45 52 4D 49 54 2D 38 30 mbling KERMIT-80
000010: 20 66 6F 72 20 74 68 65 20 44 45 43 6D 61 74 65 for the DECmate
000020: 20 49 49 20 2A 0D 0A 45 4E 44 49 46 0D 0A 0D 0A II *..ENDIF....
000030: 49 46 20 67 65 6E 65 72 0D 0A 2E 70 72 69 6E 74 IF gener...print
000040: 78 20 2A 20 41 73 73 65 6D 62 6C 69 6E 67 20 47 x * Assembling G
000050: 65 6E 65 72 69 63 20 4B 45 52 4D 49 54 2D 38 30 eneric KERMIT-80
000060: 20 2A 0D 0A 45 4E 44 49 46 0D 0A 0D 0A 49 46 20 *..ENDIF....IF
000070: 63 70 6D 33 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 cpm3...printx *
000080: 41 73 73 65 6D 62 6C 69 6E 67 20 47 65 6E 65 72 Assembling Gener
000090: 69 63 20 4B 45 52 4D 49 54 2D 38 30 20 66 6F 72 ic KERMIT-80 for
0000A0: 20 43 50 2F 4D 20 33 2E 30 20 2A 0D 0A 45 4E 44 CP/M 3.0 *..END
0000B0: 49 46 0D 0A 0D 0A 49 46 20 6B 70 69 69 0D 0A 2E IF....IF kpii...
0000C0: 70 72 69 6E 74 78 20 2A 20 41 73 73 65 6D 62 6C printx * Assembl
0000D0: 69 6E 67 20 4B 61 79 70 72 6F 20 49 49 20 4B 45 ing Kaypro II KE
0000E0: 52 4D 49 54 2D 38 30 20 2A 0D 0A 45 4E 44 49 46 RMIT-80 *..ENDIF
0000F0: 0D 0A 49 46 20 78 65 72 38 32 30 09 09 09 3B 5B ..IF xer820...;[
000100: 70 63 63 30 30 31 5D 0D 0A 2E 70 72 69 6E 74 78 pcc001]...printx
000110: 20 2A 20 41 73 73 65 6D 62 6C 69 6E 67 20 58 65 * Assembling Xe
000120: 72 6F 78 20 38 32 30 20 4B 45 52 4D 49 54 2D 38 rox 820 KERMIT-8
000130: 30 20 2A 0D 0A 45 4E 44 49 46 09 09 09 09 3B 5B 0 *..ENDIF....;[
000140: 70 63 63 30 30 31 5D 0D 0A 0D 0A 49 46 20 62 62 pcc001]....IF bb
000150: 49 49 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 41 73 II...printx * As
000160: 73 65 6D 62 6C 69 6E 67 20 42 69 67 42 6F 61 72 sembling BigBoar
000170: 64 20 49 49 20 4B 45 52 4D 49 54 2D 38 30 20 2A d II KERMIT-80 *
000180: 0D 0A 45 4E 44 49 46 0D 0A 0D 0A 49 46 20 6D 64 ..ENDIF....IF md
000190: 49 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 41 73 73 I...printx * Ass
0001A0: 65 6D 62 6C 69 6E 67 20 66 6F 72 20 4D 6F 72 72 embling for Morr
0001B0: 6F 77 20 44 65 63 69 73 69 6F 6E 20 49 20 2A 0D ow Decision I *.
0001C0: 0A 45 4E 44 49 46 09 3B 6D 64 49 20 20 5B 54 6F .ENDIF.;mdI [To
0001D0: 61 64 20 48 61 6C 6C 5D 0D 0A 0D 0A 49 46 20 6D ad Hall]....IF m
0001E0: 6D 64 49 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 41 mdI...printx * A
0001F0: 73 73 65 6D 62 6C 69 6E 67 20 66 6F 72 20 4D 6F ssembling for Mo
Size : 512 (Real : 512)
000000: 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 33 3A 20 ...;..; edit 3:
000010: 41 75 67 75 73 74 20 33 2C 20 31 39 38 34 0D 0A August 3, 1984..
000020: 3B 09 6D 6F 76 65 20 22 6D 6F 76 65 72 22 20 74 ;.move "mover" t
000030: 6F 20 43 50 34 53 59 53 20 66 72 6F 6D 20 43 50 o CP4SYS from CP
000040: 34 55 54 4C 2C 20 73 6F 20 77 65 20 63 61 6E 20 4UTL, so we can
000050: 75 73 65 20 5A 38 30 20 62 6C 6F 63 6B 20 6D 6F use Z80 block mo
000060: 76 65 2E 0D 0A 3B 09 64 65 66 69 6E 65 20 5A 38 ve...;.define Z8
000070: 30 20 74 72 75 65 20 6F 72 20 66 61 6C 73 65 20 0 true or false
000080: 77 68 65 6E 20 73 65 74 74 69 6E 67 20 75 70 20 when setting up
000090: 74 68 65 20 72 65 73 74 20 6F 66 20 74 68 65 20 the rest of the
0000A0: 70 61 72 61 6D 65 74 65 72 73 2E 0D 0A 3B 09 28 parameters...;.(
0000B0: 49 27 6D 20 6F 6E 6C 79 20 64 65 66 69 6E 69 6E I'm only definin
0000C0: 67 20 61 73 20 5A 38 30 27 73 20 74 68 65 20 6F g as Z80's the o
0000D0: 6E 65 73 20 49 20 4B 4E 4F 57 20 61 72 65 20 5A nes I KNOW are Z
0000E0: 38 30 27 73 2C 20 62 65 63 61 75 73 65 20 49 0D 80's, because I.
0000F0: 0A 3B 09 64 6F 6E 27 74 20 77 61 6E 74 20 74 6F .;.don't want to
000100: 20 62 72 65 61 6B 20 61 6E 79 74 68 69 6E 67 20 break anything
000110: 62 79 20 67 75 65 73 73 69 6E 67 20 77 72 6F 6E by guessing wron
000120: 67 29 2E 20 20 4D 61 6B 65 20 74 68 65 20 76 61 g). Make the va
000130: 6C 75 65 73 0D 0A 3B 09 73 74 6F 72 65 64 20 62 lues..;.stored b
000140: 79 20 73 79 73 69 6E 69 74 20 69 6E 20 22 73 70 y sysinit in "sp
000150: 65 65 64 22 20 6D 61 74 63 68 20 74 68 65 20 31 eed" match the 1
000160: 36 2D 62 69 74 20 76 61 6C 75 65 73 20 66 6F 75 6-bit values fou
000170: 6E 64 20 69 6E 20 74 68 65 0D 0A 3B 09 73 70 65 nd in the..;.spe
000180: 65 64 20 74 61 62 6C 65 2C 20 73 6F 20 77 65 20 ed table, so we
000190: 63 61 6E 20 66 69 6E 64 20 74 68 65 6D 20 6C 61 can find them la
0001A0: 74 65 72 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 ter...;..; edit
0001B0: 32 3A 20 4A 75 6C 79 20 32 37 2C 20 31 39 38 34 2: July 27, 1984
0001C0: 20 28 43 4A 43 29 0D 0A 3B 09 41 64 64 20 62 72 (CJC)..;.Add br
0001D0: 65 61 6B 20 63 61 70 61 62 69 6C 69 74 79 20 66 eak capability f
0001E0: 6F 72 20 4B 61 79 70 72 6F 20 49 49 20 61 6E 64 or Kaypro II and
0001F0: 20 62 62 49 49 2E 0D 0A 3B 09 4D 65 72 67 65 20 bbII...;.Merge
Size : 512 (Real : 512)
000000: 72 72 6F 77 20 4D 69 63 72 6F 20 44 65 63 69 73 rrow Micro Decis
000010: 69 6F 6E 20 49 20 2A 0D 0A 45 4E 44 49 46 09 3B ion I *..ENDIF.;
000020: 6D 6D 64 49 0D 0A 0D 0A 49 46 20 6D 69 6B 6B 6F mmdI....IF mikko
000030: 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 41 73 73 65 ...printx * Asse
000040: 6D 62 6C 69 6E 67 20 4D 69 6B 72 6F 4D 69 6B 6B mbling MikroMikk
000050: 6F 20 4B 65 72 6D 69 74 2D 38 30 20 2A 0D 0A 45 o Kermit-80 *..E
000060: 4E 44 49 46 0D 0A 0D 0A 49 46 20 64 65 6C 70 68 NDIF....IF delph
000070: 69 09 3B 5B 37 5D 0D 0A 2E 70 72 69 6E 74 78 20 i.;[7]...printx
000080: 2A 20 41 73 73 65 6D 62 6C 69 6E 67 20 44 69 67 * Assembling Dig
000090: 69 63 6F 6D 70 20 44 65 6C 70 68 69 20 31 30 30 icomp Delphi 100
0000A0: 20 4B 65 72 6D 69 74 2D 38 30 20 2A 0D 0A 45 4E Kermit-80 *..EN
0000B0: 44 49 46 09 09 3B 5B 37 5D 0D 0A 0D 0A 49 46 20 DIF..;[7]....IF
0000C0: 63 70 74 38 35 78 78 0D 0A 2E 70 72 69 6E 74 78 cpt85xx...printx
0000D0: 20 2A 20 41 73 73 65 6D 62 6C 69 6E 67 20 43 50 * Assembling CP
0000E0: 54 2D 38 35 78 78 20 28 75 6E 64 65 72 20 43 6F T-85xx (under Co
0000F0: 6D 70 75 50 61 6B 20 43 50 2F 4D 29 20 4B 65 72 mpuPak CP/M) Ker
000100: 6D 69 74 2D 38 30 20 2A 0D 0A 45 4E 44 49 46 0D mit-80 *..ENDIF.
000110: 0A 0D 0A 49 46 20 6E 6F 72 74 68 73 0D 0A 2E 70 ...IF norths...p
000120: 72 69 6E 74 78 20 2A 20 41 73 73 65 6D 62 6C 69 rintx * Assembli
000130: 6E 67 20 66 6F 72 20 4E 6F 72 74 68 53 74 61 72 ng for NorthStar
000140: 20 48 6F 72 69 7A 6F 6E 20 77 69 74 68 20 48 53 Horizon with HS
000150: 49 4F 2D 34 20 62 6F 61 72 64 20 2A 0D 0A 45 4E IO-4 board *..EN
000160: 44 49 46 3B 6E 6F 72 74 68 73 0D 0A 0D 0A 49 46 DIF;norths....IF
000170: 20 6C 6F 62 6F 09 09 3B 5B 68 68 5D 0D 0A 2E 70 lobo..;[hh]...p
000180: 72 69 6E 74 78 20 2A 20 41 73 73 65 6D 62 6C 69 rintx * Assembli
000190: 6E 67 20 4B 65 72 6D 69 74 2D 38 30 20 66 6F 72 ng Kermit-80 for
0001A0: 20 74 68 65 20 4C 6F 62 6F 20 4D 41 58 2D 38 30 the Lobo MAX-80
0001B0: 20 2A 0D 0A 45 4E 44 49 46 3B 6C 6F 62 6F 20 5B *..ENDIF;lobo [
0001C0: 68 68 5D 0D 0A 0D 0A 3B 20 41 6C 73 6F 20 74 65 hh]....; Also te
0001D0: 6C 6C 20 77 68 61 74 20 6B 69 6E 64 20 6F 66 20 ll what kind of
0001E0: 74 65 72 6D 69 6E 61 6C 2C 20 69 66 20 61 6E 79 terminal, if any
0001F0: 2C 20 69 73 20 73 65 6C 65 63 74 65 64 0D 0A 49 , is selected..I
Size : 512 (Real : 512)
000000: 46 20 6D 69 6B 6B 6F 0D 0A 62 61 74 69 6F 09 45 F mikko..batio.E
000010: 51 55 09 31 30 31 31 30 30 31 30 42 20 3B 20 49 QU.10110010B ; I
000020: 2F 4F 20 62 79 74 65 20 63 6F 6E 73 6F 6C 65 20 /O byte console
000030: 3D 3E 20 73 65 72 69 61 6C 20 6C 69 6E 65 0D 0A => serial line..
000040: 64 65 66 69 6F 09 45 51 55 09 31 30 30 30 30 30 defio.EQU.100000
000050: 30 31 42 20 3B 20 49 2F 4F 20 62 79 74 65 20 63 01B ; I/O byte c
000060: 6F 6E 73 6F 6C 65 20 3D 3E 20 43 52 54 20 61 6E onsole => CRT an
000070: 64 20 4B 65 79 62 6F 61 72 64 0D 0A 45 4E 44 49 d Keyboard..ENDI
000080: 46 3B 6D 69 6B 6B 6F 0D 0A 3B 0C 0D 0A 3B 0D 0A F;mikko..;...;..
000090: 3B 09 50 72 6F 74 6F 63 6F 6C 20 70 61 72 61 6D ;.Protocol param
0000A0: 65 74 65 72 73 2E 20 20 53 6F 6D 65 20 6F 66 20 eters. Some of
0000B0: 74 68 65 73 65 20 63 61 6E 20 62 65 20 63 68 61 these can be cha
0000C0: 6E 67 65 64 20 77 69 74 68 20 63 6F 6D 6D 61 6E nged with comman
0000D0: 64 73 2E 0D 0A 3B 0D 0A 0D 0A 64 72 70 73 69 7A ds...;....drpsiz
0000E0: 09 45 51 55 09 35 45 48 09 3B 44 65 66 61 75 6C .EQU.5EH.;Defaul
0000F0: 74 20 72 65 63 65 69 76 65 20 70 61 63 6B 65 74 t receive packet
000100: 20 73 69 7A 65 2E 20 28 6D 61 78 69 6D 75 6D 20 size. (maximum
000110: 69 73 20 35 45 48 29 0D 0A 64 73 70 73 69 7A 09 is 5EH)..dspsiz.
000120: 45 51 55 09 32 30 48 09 3B 44 65 66 61 75 6C 74 EQU.20H.;Default
000130: 20 73 65 6E 64 20 70 61 63 6B 65 74 20 73 69 7A send packet siz
000140: 65 2E 20 28 6D 61 78 69 6D 75 6D 20 69 73 20 35 e. (maximum is 5
000150: 45 48 29 0D 0A 64 73 74 69 6D 65 09 45 51 55 09 EH)..dstime.EQU.
000160: 30 38 48 09 3B 44 65 66 61 75 6C 74 20 73 65 6E 08H.;Default sen
000170: 64 20 74 69 6D 65 20 6F 75 74 20 69 6E 74 65 72 d time out inter
000180: 76 61 6C 2E 0D 0A 0D 0A 49 46 20 4E 4F 54 20 28 val.....IF NOT (
000190: 61 70 70 6C 65 20 4F 52 20 6F 73 62 72 6E 31 29 apple OR osbrn1)
0001A0: 0D 0A 64 72 74 69 6D 65 09 45 51 55 09 30 35 48 ..drtime.EQU.05H
0001B0: 09 3B 44 65 66 61 75 6C 74 20 72 65 63 65 69 76 .;Default receiv
0001C0: 65 20 74 69 6D 65 20 6F 75 74 20 69 6E 74 65 72 e time out inter
0001D0: 76 61 6C 2E 0D 0A 45 4E 44 49 46 3B 4E 4F 54 20 val...ENDIF;NOT
0001E0: 28 61 70 70 6C 65 20 4F 52 20 6F 73 62 72 6E 31 (apple OR osbrn1
0001F0: 29 0D 0A 49 46 20 61 70 70 6C 65 20 4F 52 20 6F )..IF apple OR o
Size : 512 (Real : 512)
000000: 46 20 63 72 74 0D 0A 2E 70 72 69 6E 74 78 20 2A F crt...printx *
000010: 20 67 65 6E 65 72 69 63 20 43 52 54 20 73 65 6C generic CRT sel
000020: 65 63 74 65 64 20 2A 0D 0A 45 4E 44 49 46 0D 0A ected *..ENDIF..
000030: 0D 0A 49 46 20 61 64 6D 33 61 0D 0A 2E 70 72 69 ..IF adm3a...pri
000040: 6E 74 78 20 2A 20 41 44 4D 33 41 20 73 65 6C 65 ntx * ADM3A sele
000050: 63 74 65 64 20 2A 0D 0A 45 4E 44 49 46 0D 0A 0D cted *..ENDIF...
000060: 0A 49 46 20 73 6D 72 74 76 64 09 3B 5B 37 5D 0D .IF smrtvd.;[7].
000070: 0A 2E 70 72 69 6E 74 78 20 2A 20 4E 65 74 72 6F ..printx * Netro
000080: 6E 69 63 73 20 53 6D 61 72 74 76 69 64 2D 38 30 nics Smartvid-80
000090: 20 73 65 6C 65 63 74 65 64 20 2A 0D 0A 45 4E 44 selected *..END
0000A0: 49 46 09 09 3B 5B 37 5D 0D 0A 0D 0A 49 46 20 74 IF..;[7]....IF t
0000B0: 76 69 39 32 35 0D 0A 2E 70 72 69 6E 74 78 20 2A vi925...printx *
0000C0: 20 54 56 49 39 32 35 20 73 65 6C 65 63 74 65 64 TVI925 selected
0000D0: 20 2A 0D 0A 45 4E 44 49 46 0D 0A 0D 0A 49 46 20 *..ENDIF....IF
0000E0: 76 74 35 32 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 vt52...printx *
0000F0: 56 54 35 32 20 73 65 6C 65 63 74 65 64 20 2A 0D VT52 selected *.
000100: 0A 45 4E 44 49 46 0D 0A 0D 0A 49 46 20 76 74 31 .ENDIF....IF vt1
000110: 30 30 0D 0A 2E 70 72 69 6E 74 78 20 2A 20 56 54 00...printx * VT
000120: 31 30 30 20 73 65 6C 65 63 74 65 64 20 2A 0D 0A 100 selected *..
000130: 45 4E 44 49 46 0D 0A 3B 0C 0D 0A 3B 3D 3D 3D 3D ENDIF..;...;====
000140: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000150: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000160: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000170: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
000180: 3D 3D 3D 3D 3D 0D 0A 3B 09 49 2F 4F 20 42 79 74 =====..;.I/O Byt
000190: 65 20 61 73 73 69 67 6E 6D 65 6E 74 73 20 28 32 e assignments (2
0001A0: 2D 62 69 74 20 66 69 65 6C 64 73 20 66 6F 72 20 -bit fields for
0001B0: 34 20 64 65 76 69 63 65 73 20 61 74 20 6C 6F 63 4 devices at loc
0001C0: 20 33 29 0D 0A 3B 0D 0A 3B 62 69 74 73 20 36 2B 3)..;..;bits 6+
0001D0: 37 09 09 4C 49 53 54 20 66 69 65 6C 64 0D 0A 3B 7..LIST field..;
0001E0: 09 30 09 09 4C 49 53 54 20 69 73 20 54 65 6C 65 .0..LIST is Tele
0001F0: 74 79 70 65 20 64 65 76 69 63 65 20 28 54 54 59 type device (TTY
Size : 512 (Real : 512)
000000: 73 62 72 6E 31 0D 0A 64 72 74 69 6D 65 09 45 51 sbrn1..drtime.EQ
000010: 55 09 30 41 48 09 3B 20 55 73 65 20 6C 6F 6E 67 U.0AH.; Use long
000020: 65 72 20 72 65 63 65 69 76 65 20 74 69 6D 65 6F er receive timeo
000030: 75 74 20 6F 6E 20 61 70 70 6C 65 20 61 6E 64 20 ut on apple and
000040: 6F 73 62 6F 72 6E 65 2E 0D 0A 45 4E 44 49 46 3B osborne...ENDIF;
000050: 61 70 70 6C 65 20 4F 52 20 6F 73 62 72 6E 31 0D apple OR osbrn1.
000060: 0A 0D 0A 64 73 70 61 64 09 45 51 55 09 30 30 48 ...dspad.EQU.00H
000070: 09 3B 44 65 66 61 75 6C 74 20 73 65 6E 64 20 70 .;Default send p
000080: 61 64 64 69 6E 67 2E 0D 0A 64 72 70 61 64 09 45 adding...drpad.E
000090: 51 55 09 30 30 48 09 3B 44 65 66 61 75 6C 74 20 QU.00H.;Default
0000A0: 72 65 63 65 69 76 65 20 70 61 64 64 69 6E 67 2E receive padding.
0000B0: 0D 0A 64 73 70 61 64 63 09 45 51 55 09 30 30 48 ..dspadc.EQU.00H
0000C0: 09 3B 44 65 66 61 75 6C 74 20 73 65 6E 64 20 70 .;Default send p
0000D0: 61 64 64 69 6E 67 20 63 68 61 72 2E 0D 0A 64 72 adding char...dr
0000E0: 70 61 64 63 09 45 51 55 09 30 30 48 09 3B 44 65 padc.EQU.00H.;De
0000F0: 66 61 75 6C 74 20 72 65 63 65 69 76 65 20 70 61 fault receive pa
000100: 64 64 69 6E 67 20 63 68 61 72 2E 0D 0A 64 73 65 dding char...dse
000110: 6F 6C 09 45 51 55 09 43 52 09 3B 44 65 66 61 75 ol.EQU.CR.;Defau
000120: 6C 74 20 73 65 6E 64 20 45 4F 4C 20 63 68 61 72 lt send EOL char
000130: 2E 0D 0A 64 72 65 6F 6C 09 45 51 55 09 43 52 09 ...dreol.EQU.CR.
000140: 3B 44 65 66 61 75 6C 74 20 72 65 63 65 69 76 65 ;Default receive
000150: 20 45 4F 4C 20 63 68 61 72 2E 0D 0A 64 73 71 75 EOL char...dsqu
000160: 6F 74 09 45 51 55 09 27 23 27 09 3B 44 65 66 61 ot.EQU.'#'.;Defa
000170: 75 6C 74 20 73 65 6E 64 20 71 75 6F 74 65 20 63 ult send quote c
000180: 68 61 72 2E 0D 0A 64 72 71 75 6F 74 09 45 51 55 har...drquot.EQU
000190: 09 27 23 27 09 3B 44 65 66 61 75 6C 74 20 72 65 .'#'.;Default re
0001A0: 63 65 69 76 65 20 71 75 6F 74 65 20 63 68 61 72 ceive quote char
0001B0: 2E 0D 0A 64 73 63 68 6B 74 09 45 51 55 09 27 31 ...dschkt.EQU.'1
0001C0: 27 09 3B 44 65 66 61 75 6C 74 20 63 68 65 63 6B '.;Default check
0001D0: 73 75 6D 20 74 79 70 65 0D 0A 3B 0C 0D 0A 49 46 sum type..;...IF
0001E0: 20 6C 6F 62 6F 09 3B 5B 68 68 5D 0D 0A 6D 6E 70 lobo.;[hh]..mnp
0001F0: 6F 72 74 09 45 51 55 09 30 46 37 45 34 48 09 3B ort.EQU.0F7E4H.;
Size : 512 (Real : 512)
000000: 3A 29 0D 0A 3B 09 31 09 09 4C 49 53 54 20 69 73 :)..;.1..LIST is
000010: 20 43 52 54 20 64 65 76 69 63 65 20 28 43 52 54 CRT device (CRT
000020: 3A 29 0D 0A 3B 09 32 09 09 4C 49 53 54 20 69 73 :)..;.2..LIST is
000030: 20 4C 69 6E 65 70 72 69 6E 74 65 72 20 28 4C 50 Lineprinter (LP
000040: 54 3A 29 0D 0A 3B 09 33 09 09 4C 49 53 54 20 69 T:)..;.3..LIST i
000050: 73 20 75 73 65 72 20 64 65 66 69 6E 65 64 20 28 s user defined (
000060: 55 4C 31 3A 29 0D 0A 3B 0D 0A 3B 62 69 74 73 20 UL1:)..;..;bits
000070: 34 2B 35 09 09 50 55 4E 43 48 20 66 69 65 6C 64 4+5..PUNCH field
000080: 0D 0A 3B 09 30 09 09 50 55 4E 43 48 20 69 73 20 ..;.0..PUNCH is
000090: 54 65 6C 65 74 79 70 65 20 64 65 76 69 63 65 20 Teletype device
0000A0: 28 54 54 59 3A 29 0D 0A 3B 09 31 09 09 50 55 4E (TTY:)..;.1..PUN
0000B0: 43 48 20 69 73 20 68 69 67 68 20 73 70 65 65 64 CH is high speed
0000C0: 20 70 75 6E 63 68 20 28 50 55 4E 3A 29 0D 0A 3B punch (PUN:)..;
0000D0: 09 32 09 09 50 55 4E 43 48 20 69 73 20 75 73 65 .2..PUNCH is use
0000E0: 72 20 64 65 66 69 6E 65 64 20 23 31 20 28 55 50 r defined #1 (UP
0000F0: 31 3A 29 0D 0A 3B 09 33 09 09 50 55 4E 43 48 20 1:)..;.3..PUNCH
000100: 69 73 20 75 73 65 72 20 64 65 66 69 6E 65 64 20 is user defined
000110: 23 32 20 28 55 50 32 3A 29 0D 0A 3B 0D 0A 3B 62 #2 (UP2:)..;..;b
000120: 69 74 73 20 32 2B 33 09 09 52 45 41 44 45 52 20 its 2+3..READER
000130: 66 69 65 6C 64 0D 0A 3B 09 30 09 09 52 45 41 44 field..;.0..READ
000140: 45 52 20 69 73 20 54 65 6C 65 74 79 70 65 20 64 ER is Teletype d
000150: 65 76 69 63 65 20 28 54 54 59 3A 29 0D 0A 3B 09 evice (TTY:)..;.
000160: 31 09 09 52 45 41 44 45 52 20 69 73 20 68 69 67 1..READER is hig
000170: 68 20 73 70 65 65 64 20 72 65 61 64 65 72 20 28 h speed reader (
000180: 52 44 52 3A 29 0D 0A 3B 09 32 09 09 52 45 41 44 RDR:)..;.2..READ
000190: 45 52 20 69 73 20 75 73 65 72 20 64 65 66 69 6E ER is user defin
0001A0: 65 64 20 23 31 20 28 55 52 31 3A 29 0D 0A 3B 09 ed #1 (UR1:)..;.
0001B0: 33 09 09 52 45 41 44 45 52 20 69 73 20 75 73 65 3..READER is use
0001C0: 72 20 64 65 66 69 6E 65 64 20 23 32 20 28 55 52 r defined #2 (UR
0001D0: 32 3A 29 0D 0A 3B 0D 0A 3B 62 69 74 73 20 30 2B 2:)..;..;bits 0+
0001E0: 31 09 09 43 4F 4E 53 4F 4C 45 20 66 69 65 6C 64 1..CONSOLE field
0001F0: 0D 0A 3B 09 30 09 09 43 4F 4E 53 4F 4C 45 20 69 ..;.0..CONSOLE i
Size : 512 (Real : 512)
000000: 4D 6F 64 65 6D 20 64 61 74 61 20 70 6F 72 74 20 Modem data port
000010: 41 0D 0A 6D 6E 70 72 74 73 09 45 51 55 09 30 46 A..mnprts.EQU.0F
000020: 37 45 35 48 09 3B 4D 6F 64 65 6D 20 73 74 61 74 7E5H.;Modem stat
000030: 75 73 2F 63 6F 6E 72 74 6F 6C 20 70 6F 72 74 20 us/conrtol port
000040: 41 0D 0A 62 61 75 64 72 74 09 45 51 55 09 30 46 A..baudrt.EQU.0F
000050: 37 44 30 48 09 3B 42 61 75 64 20 72 61 74 65 20 7D0H.;Baud rate
000060: 70 6F 72 74 20 41 0D 0A 6F 75 74 70 75 74 09 45 port A..output.E
000070: 51 55 09 30 34 48 09 3B 54 72 61 6E 73 6D 69 74 QU.04H.;Transmit
000080: 20 62 75 66 66 65 72 20 65 6D 70 74 79 0D 0A 69 buffer empty..i
000090: 6E 70 75 74 09 45 51 55 09 30 31 48 09 3B 52 65 nput.EQU.01H.;Re
0000A0: 63 65 69 76 65 20 64 61 74 61 20 61 76 61 69 6C ceive data avail
0000B0: 61 62 6C 65 0D 0A 7A 38 30 09 45 51 55 09 54 52 able..z80.EQU.TR
0000C0: 55 45 09 3B 61 20 67 6F 6F 64 20 7A 38 30 2C 20 UE.;a good z80,
0000D0: 68 65 72 65 0D 0A 45 4E 44 49 46 3B 6C 6F 62 6F here..ENDIF;lobo
0000E0: 0D 0A 0D 0A 49 46 20 62 72 61 69 6E 0D 0A 62 61 ....IF brain..ba
0000F0: 75 64 73 74 09 45 51 55 09 36 30 48 09 3B 0D 0A udst.EQU.60H.;..
000100: 62 61 75 64 72 74 09 45 51 55 09 30 45 46 30 30 baudrt.EQU.0EF00
000110: 48 09 3B 4D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 H.;Memory locati
000120: 6F 6E 20 77 68 65 72 65 20 62 61 75 64 20 72 61 on where baud ra
000130: 74 65 73 20 61 72 65 20 73 74 6F 72 65 64 2E 0D tes are stored..
000140: 0A 6D 6E 70 6F 72 74 09 45 51 55 09 35 38 48 09 .mnport.EQU.58H.
000150: 3B 4D 6F 64 65 6D 20 64 61 74 61 20 70 6F 72 74 ;Modem data port
000160: 0D 0A 6D 6E 70 72 74 73 20 20 45 51 55 09 35 39 ..mnprts EQU.59
000170: 48 09 3B 4D 6F 64 65 6D 20 73 74 61 74 75 73 20 H.;Modem status
000180: 70 6F 72 74 0D 0A 6F 75 74 70 75 74 09 45 51 55 port..output.EQU
000190: 09 30 31 48 09 3B 54 72 61 6E 73 6D 69 74 74 65 .01H.;Transmitte
0001A0: 72 20 65 6D 70 74 79 0D 0A 69 6E 70 75 74 09 45 r empty..input.E
0001B0: 51 55 09 30 32 48 09 3B 49 6E 70 75 74 20 64 61 QU.02H.;Input da
0001C0: 74 61 20 61 76 61 69 6C 61 62 6C 65 0D 0A 7A 38 ta available..z8
0001D0: 30 09 45 51 55 09 46 41 4C 53 45 09 3B 49 20 64 0.EQU.FALSE.;I d
0001E0: 6F 6E 27 74 20 6B 6E 6F 77 2E 2E 2E 0D 0A 45 4E on't know.....EN
0001F0: 44 49 46 3B 62 72 61 69 6E 0D 0A 0D 0A 49 46 20 DIF;brain....IF
Size : 512 (Real : 512)
000000: 73 20 63 6F 6E 73 6F 6C 65 20 70 72 69 6E 74 65 s console printe
000010: 72 20 28 54 54 59 3A 29 0D 0A 3B 09 31 09 09 43 r (TTY:)..;.1..C
000020: 4F 4E 53 4F 4C 45 20 69 73 20 43 52 54 20 64 65 ONSOLE is CRT de
000030: 76 69 63 65 20 28 43 52 54 3A 29 0D 0A 3B 09 32 vice (CRT:)..;.2
000040: 09 09 43 4F 4E 53 4F 4C 45 20 69 73 20 69 6E 20 ..CONSOLE is in
000050: 42 61 74 63 68 2D 6D 6F 64 65 20 28 42 41 54 3A Batch-mode (BAT:
000060: 29 3B 52 45 41 44 45 52 20 3D 20 49 6E 70 75 74 );READER = Input
000070: 2C 0D 0A 3B 09 09 09 4C 49 53 54 20 3D 20 4F 75 ,..;...LIST = Ou
000080: 74 70 75 74 0D 0A 3B 09 33 09 09 43 4F 4E 53 4F tput..;.3..CONSO
000090: 4C 45 20 69 73 20 75 73 65 72 20 64 65 66 69 6E LE is user defin
0000A0: 65 64 20 28 55 43 31 3A 29 0D 0A 3B 0D 0A 3B 3D ed (UC1:)..;..;=
0000B0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000C0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000D0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000E0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D ================
0000F0: 3D 3D 3D 3D 3D 3D 3D 3D 0D 0A 0D 0A 69 6F 62 79 ========....ioby
000100: 74 65 09 45 51 55 09 30 33 48 09 3B 4C 6F 63 61 te.EQU.03H.;Loca
000110: 74 69 6F 6E 20 6F 66 20 49 2F 4F 20 62 79 74 65 tion of I/O byte
000120: 0D 0A 0D 0A 3B 20 74 68 65 20 62 61 73 69 63 73 ....; the basics
000130: 2E 2E 2E 0D 0A 49 46 20 72 6F 62 69 6E 20 4F 52 .....IF robin OR
000140: 20 67 65 6E 65 72 0D 0A 62 61 74 69 6F 09 45 51 gener..batio.EQ
000150: 55 09 30 35 36 48 09 3B 49 2F 4F 20 62 79 74 65 U.056H.;I/O byte
000160: 20 43 4F 4E 3D 42 41 54 2C 4C 49 53 54 3D 43 52 CON=BAT,LIST=CR
000170: 54 2C 52 45 41 44 45 52 3D 52 44 52 2C 50 55 4E T,READER=RDR,PUN
000180: 43 48 3D 50 54 50 0D 0A 64 65 66 69 6F 09 45 51 CH=PTP..defio.EQ
000190: 55 09 30 39 35 48 09 3B 49 2F 4F 20 62 79 74 65 U.095H.;I/O byte
0001A0: 20 43 4F 4E 3D 43 52 54 2C 4C 49 53 54 3D 4C 50 CON=CRT,LIST=LP
0001B0: 54 2C 52 45 41 44 45 52 3D 52 44 52 2C 50 55 4E T,READER=RDR,PUN
0001C0: 43 48 3D 50 54 50 0D 0A 45 4E 44 49 46 3B 72 6F CH=PTP..ENDIF;ro
0001D0: 62 69 6E 20 4F 52 20 67 65 6E 65 72 0D 0A 0D 0A bin OR gener....
0001E0: 49 46 20 67 65 6E 65 72 0D 0A 63 72 74 69 6F 09 IF gener..crtio.
0001F0: 65 71 75 09 30 31 30 31 30 31 30 31 42 09 3B 20 equ.01010101B.;
Size : 512 (Real : 512)
000000: 6F 73 69 0D 0A 6D 6E 70 6F 72 74 09 45 51 55 09 osi..mnport.EQU.
000010: 30 43 46 30 31 48 09 3B 4D 6F 64 65 6D 20 64 61 0CF01H.;Modem da
000020: 74 61 20 70 6F 72 74 0D 0A 6D 6E 70 72 74 73 20 ta port..mnprts
000030: 20 45 51 55 09 30 43 46 30 30 48 09 3B 4D 6F 64 EQU.0CF00H.;Mod
000040: 65 6D 20 73 74 61 74 75 73 20 70 6F 72 74 0D 0A em status port..
000050: 6F 75 74 70 75 74 09 45 51 55 09 30 32 48 09 3B output.EQU.02H.;
000060: 54 72 61 6E 73 6D 69 74 74 65 72 20 65 6D 70 74 Transmitter empt
000070: 79 0D 0A 69 6E 70 75 74 09 45 51 55 09 30 31 48 y..input.EQU.01H
000080: 09 3B 49 6E 70 75 74 20 64 61 74 61 20 61 76 61 .;Input data ava
000090: 69 6C 61 62 6C 65 0D 0A 7A 38 30 09 45 51 55 09 ilable..z80.EQU.
0000A0: 46 41 4C 53 45 09 3B 49 20 64 6F 6E 27 74 20 6B FALSE.;I don't k
0000B0: 6E 6F 77 2E 2E 2E 0D 0A 45 4E 44 49 46 3B 6F 73 now.....ENDIF;os
0000C0: 69 0D 0A 0D 0A 49 46 20 76 65 63 74 6F 72 0D 0A i....IF vector..
0000D0: 6D 6E 70 6F 72 74 09 45 51 55 09 30 34 48 09 3B mnport.EQU.04H.;
0000E0: 4D 6F 64 65 6D 20 64 61 74 61 20 70 6F 72 74 0D Modem data port.
0000F0: 0A 6D 6E 70 72 74 73 09 45 51 55 09 30 35 48 09 .mnprts.EQU.05H.
000100: 3B 4D 6F 64 65 6D 20 73 74 61 74 75 73 20 70 6F ;Modem status po
000110: 72 74 0D 0A 6F 75 74 70 75 74 09 45 51 55 09 30 rt..output.EQU.0
000120: 31 48 09 3B 54 72 61 6E 73 6D 69 74 74 65 72 20 1H.;Transmitter
000130: 65 6D 70 74 79 0D 0A 69 6E 70 75 74 09 45 51 55 empty..input.EQU
000140: 09 30 32 48 09 3B 49 6E 70 75 74 20 64 61 74 61 .02H.;Input data
000150: 20 61 76 61 69 6C 61 62 6C 65 0D 0A 7A 38 30 09 available..z80.
000160: 45 51 55 09 46 41 4C 53 45 09 3B 49 20 64 6F 6E EQU.FALSE.;I don
000170: 27 74 20 6B 6E 6F 77 2E 2E 2E 0D 0A 45 4E 44 49 't know.....ENDI
000180: 46 3B 76 65 63 74 6F 72 0D 0A 0D 0A 49 46 20 64 F;vector....IF d
000190: 65 6C 70 68 69 09 09 3B 5B 37 5D 0D 0A 6D 6E 70 elphi..;[7]..mnp
0001A0: 6F 72 74 09 45 51 55 09 32 32 48 09 3B 5B 37 5D ort.EQU.22H.;[7]
0001B0: 20 4D 6F 64 65 6D 20 64 61 74 61 20 70 6F 72 74 Modem data port
0001C0: 0D 0A 6D 6E 70 72 74 73 09 45 51 55 09 32 33 48 ..mnprts.EQU.23H
0001D0: 09 3B 5B 37 5D 20 4D 6F 64 65 6D 20 73 74 61 74 .;[7] Modem stat
0001E0: 75 73 20 70 6F 72 74 0D 0A 6F 75 74 70 75 74 09 us port..output.
0001F0: 45 51 55 09 30 31 48 09 3B 5B 37 5D 20 54 72 61 EQU.01H.;[7] Tra
Size : 512 (Real : 512)
000000: 75 73 65 20 43 52 54 3A 20 64 65 76 69 63 65 0D use CRT: device.
000010: 0A 70 74 72 69 6F 09 65 71 75 09 30 31 30 31 30 .ptrio.equ.01010
000020: 31 31 30 42 09 3B 20 75 73 65 20 50 54 52 3A 20 110B.; use PTR:
000030: 64 65 76 69 63 65 0D 0A 74 74 79 69 6F 09 65 71 device..ttyio.eq
000040: 75 09 30 30 30 30 30 30 30 30 42 09 3B 20 75 73 u.00000000B.; us
000050: 65 20 54 54 59 3A 20 64 65 76 69 63 65 0D 0A 75 e TTY: device..u
000060: 63 31 69 6F 09 65 71 75 09 30 31 30 31 30 31 31 c1io.equ.0101011
000070: 31 42 09 3B 20 75 73 65 20 55 43 31 3A 20 64 65 1B.; use UC1: de
000080: 76 69 63 65 0D 0A 75 72 31 69 6F 09 65 71 75 09 vice..ur1io.equ.
000090: 30 31 31 30 31 30 31 30 42 09 3B 20 75 73 65 20 01101010B.; use
0000A0: 55 52 31 3A 20 64 65 76 69 63 65 0D 0A 75 72 32 UR1: device..ur2
0000B0: 69 6F 09 65 71 75 09 30 31 31 31 31 31 31 30 42 io.equ.01111110B
0000C0: 09 3B 20 75 73 65 20 55 52 32 3A 20 64 65 76 69 .; use UR2: devi
0000D0: 63 65 0D 0A 45 4E 44 49 46 3B 67 65 6E 65 72 0D ce..ENDIF;gener.
0000E0: 0A 0D 0A 49 46 20 72 6F 62 69 6E 0D 0A 6C 70 74 ...IF robin..lpt
0000F0: 69 6F 09 45 51 55 09 30 35 34 48 09 3B 49 2F 4F io.EQU.054H.;I/O
000100: 20 62 79 74 65 20 43 4F 4E 3D 54 54 59 2C 4C 49 byte CON=TTY,LI
000110: 53 54 3D 43 52 54 2C 52 45 41 44 45 52 3D 50 54 ST=CRT,READER=PT
000120: 52 2C 50 55 4E 43 48 3D 50 54 50 0D 0A 67 70 70 R,PUNCH=PTP..gpp
000130: 69 6F 09 45 51 55 09 30 35 37 48 09 3B 49 2F 4F io.EQU.057H.;I/O
000140: 20 62 79 74 65 20 43 4F 4E 3D 55 43 31 2C 4C 49 byte CON=UC1,LI
000150: 53 54 3D 43 52 54 2C 52 45 41 44 45 52 3D 52 44 ST=CRT,READER=RD
000160: 52 2C 50 55 4E 43 48 3D 50 54 50 0D 0A 45 4E 44 R,PUNCH=PTP..END
000170: 49 46 3B 72 6F 62 69 6E 0D 0A 0D 0A 49 46 20 64 IF;robin....IF d
000180: 6D 49 49 0D 0A 62 61 74 69 6F 09 45 51 55 09 30 mII..batio.EQU.0
000190: 34 32 48 09 3B 49 2F 4F 20 62 79 74 65 20 43 4F 42H.;I/O byte CO
0001A0: 4E 3D 42 41 54 2C 4C 49 53 54 3D 43 52 54 2C 52 N=BAT,LIST=CRT,R
0001B0: 45 41 44 45 52 3D 52 44 52 0D 0A 64 65 66 69 6F EADER=RDR..defio
0001C0: 09 45 51 55 09 30 38 31 48 09 3B 49 2F 4F 20 62 .EQU.081H.;I/O b
0001D0: 79 74 65 20 43 4F 4E 3D 43 52 54 2C 4C 49 53 54 yte CON=CRT,LIST
0001E0: 3D 4C 50 54 2C 52 45 41 44 45 52 3D 52 44 52 0D =LPT,READER=RDR.
0001F0: 0A 45 4E 44 49 46 3B 64 6D 49 49 0D 0A 0D 0A 49 .ENDIF;dmII....I
Size : 512 (Real : 512)
000000: 6E 73 6D 69 74 74 65 72 20 65 6D 70 74 79 0D 0A nsmitter empty..
000010: 69 6E 70 75 74 09 45 51 55 09 30 32 48 09 3B 5B input.EQU.02H.;[
000020: 37 5D 20 49 6E 70 75 74 20 64 61 74 61 20 61 76 7] Input data av
000030: 61 69 6C 61 62 6C 65 0D 0A 62 61 75 64 72 74 09 ailable..baudrt.
000040: 65 71 75 09 32 39 68 09 3B 5B 37 5D 20 42 61 75 equ.29h.;[7] Bau
000050: 64 20 72 61 74 65 20 70 6F 72 74 20 66 6F 72 20 d rate port for
000060: 63 68 61 6E 6E 65 6C 20 32 20 28 64 65 66 61 75 channel 2 (defau
000070: 6C 74 29 0D 0A 7A 38 30 09 45 51 55 09 74 72 75 lt)..z80.EQU.tru
000080: 65 09 3B 5B 37 5D 20 57 65 27 72 65 20 75 73 69 e.;[7] We're usi
000090: 6E 67 20 74 68 65 20 7A 38 30 20 73 69 64 65 20 ng the z80 side
0000A0: 6F 66 20 74 68 65 20 64 75 61 6C 20 70 72 6F 63 of the dual proc
0000B0: 65 73 73 6F 72 0D 0A 45 4E 44 49 46 3B 5B 37 5D essor..ENDIF;[7]
0000C0: 20 64 65 6C 70 68 69 0D 0A 0D 0A 49 46 20 68 65 delphi....IF he
0000D0: 61 74 68 0D 0A 0D 0A 3B 09 44 65 66 69 6E 69 74 ath....;.Definit
0000E0: 69 6F 6E 73 20 66 6F 72 20 74 68 65 20 38 32 35 ions for the 825
0000F0: 30 20 41 43 45 0D 0A 0D 0A 61 63 65 72 62 72 09 0 ACE....acerbr.
000100: 45 51 55 09 30 09 3B 20 41 43 45 20 52 65 63 65 EQU.0.; ACE Rece
000110: 69 76 65 72 20 42 75 66 66 65 72 20 52 65 67 69 iver Buffer Regi
000120: 73 74 65 72 20 6F 66 66 73 65 74 20 28 52 2F 4F ster offset (R/O
000130: 29 20 28 44 4C 41 42 20 3D 20 30 29 0D 0A 61 63 ) (DLAB = 0)..ac
000140: 65 74 68 72 09 45 51 55 09 30 09 3B 20 41 43 45 ethr.EQU.0.; ACE
000150: 20 54 72 61 6E 73 6D 69 74 74 65 72 20 48 6F 6C Transmitter Hol
000160: 64 69 6E 67 20 52 65 67 69 73 74 65 72 20 6F 66 ding Register of
000170: 66 73 65 74 20 28 57 2F 4F 29 0D 0A 61 63 65 64 fset (W/O)..aced
000180: 6C 6C 09 45 51 55 09 30 09 3B 20 41 43 45 20 44 ll.EQU.0.; ACE D
000190: 69 76 69 73 6F 72 20 4C 61 74 63 68 20 28 4C 6F ivisor Latch (Lo
0001A0: 77 29 09 28 44 4C 41 42 20 3D 20 31 29 0D 0A 61 w).(DLAB = 1)..a
0001B0: 63 65 64 6C 68 09 45 51 55 09 31 09 3B 20 41 43 cedlh.EQU.1.; AC
0001C0: 45 20 44 69 76 69 73 6F 72 20 4C 61 74 63 68 20 E Divisor Latch
0001D0: 28 48 69 67 68 29 09 28 44 4C 41 42 20 3D 20 31 (High).(DLAB = 1
0001E0: 29 0D 0A 61 63 65 69 65 72 09 45 51 55 09 31 09 )..aceier.EQU.1.
0001F0: 3B 20 41 43 45 20 49 6E 74 65 72 72 75 70 74 20 ; ACE Interrupt
Size : 512 (Real : 512)
000000: 09 09 3B 6A 62 20 4F 75 74 70 75 74 20 42 75 66 ..;jb Output Buf
000010: 66 65 72 20 45 6D 70 74 79 2E 0D 0A 69 6E 70 75 fer Empty...inpu
000020: 74 09 45 51 55 09 30 38 48 09 09 3B 6A 62 20 49 t.EQU.08H..;jb I
000030: 6E 70 75 74 20 52 65 67 69 73 74 65 72 20 46 75 nput Register Fu
000040: 6C 6C 2E 0D 0A 6D 6E 63 69 6E 62 09 45 51 55 09 ll...mncinb.EQU.
000050: 31 38 48 09 09 3B 6A 62 20 43 6F 6E 74 72 6F 6C 18H..;jb Control
000060: 20 50 6F 72 74 20 49 6E 69 74 69 61 6C 69 7A 61 Port Initializa
000070: 74 69 6F 6E 20 42 79 74 65 0D 0A 09 09 09 09 3B tion Byte......;
000080: 6A 62 20 20 28 38 2D 62 69 74 2C 20 6E 6F 20 70 jb (8-bit, no p
000090: 61 72 69 74 79 2C 20 31 2D 73 74 6F 70 2C 20 31 arity, 1-stop, 1
0000A0: 32 30 30 20 62 61 75 64 29 0D 0A 6D 6E 6D 69 6E 200 baud)..mnmin
0000B0: 62 09 45 51 55 09 30 42 48 09 09 3B 6A 62 20 4D b.EQU.0BH..;jb M
0000C0: 61 73 74 65 72 20 50 6F 72 74 20 49 6E 69 74 69 aster Port Initi
0000D0: 61 6C 69 7A 61 74 69 6F 6E 20 42 79 74 65 0D 0A alization Byte..
0000E0: 09 09 09 09 3B 6A 62 20 20 28 44 54 52 2C 20 52 ....;jb (DTR, R
0000F0: 54 53 2C 20 6E 6F 20 69 6E 74 65 72 72 75 70 74 TS, no interrupt
000100: 73 29 0D 0A 7A 38 30 09 45 51 55 09 54 52 55 45 s)..z80.EQU.TRUE
000110: 09 09 3B 5A 38 30 20 53 6F 66 74 63 61 72 64 0D ..;Z80 Softcard.
000120: 0A 45 4E 44 49 46 3B 61 70 36 35 35 31 0D 0A 0D .ENDIF;ap6551...
000130: 0A 49 46 20 6F 73 62 72 6E 31 0D 0A 3B 4F 73 62 .IF osbrn1..;Osb
000140: 6F 72 6E 65 20 31 20 75 73 65 73 20 36 38 35 30 orne 1 uses 6850
000150: 20 41 43 49 41 2C 20 62 75 74 20 6D 65 6D 6F 72 ACIA, but memor
000160: 79 20 6D 61 70 70 65 64 2E 20 20 44 65 72 69 76 y mapped. Deriv
000170: 65 64 20 66 72 6F 6D 20 41 70 70 6C 65 2E 0D 0A ed from Apple...
000180: 42 41 55 44 52 54 09 45 51 55 09 30 45 46 43 31 BAUDRT.EQU.0EFC1
000190: 48 09 3B 4D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 H.;Memory locati
0001A0: 6F 6E 20 77 68 65 72 65 20 62 61 75 64 20 72 61 on where baud ra
0001B0: 74 65 73 20 61 72 65 20 73 74 6F 72 65 64 2E 0D tes are stored..
0001C0: 0A 4F 53 54 4F 50 09 45 51 55 09 34 30 30 30 48 .OSTOP.EQU.4000H
0001D0: 09 3B 57 68 65 72 65 20 77 65 20 6D 6F 76 65 20 .;Where we move
0001E0: 4F 53 4D 4F 56 45 20 74 6F 20 61 74 20 73 74 61 OSMOVE to at sta
0001F0: 72 74 75 70 0D 0A 4F 53 50 4F 52 54 09 45 51 55 rtup..OSPORT.EQU
Size : 512 (Real : 512)
000000: 45 6E 61 62 6C 65 20 52 65 67 69 73 74 65 72 20 Enable Register
000010: 28 44 4C 41 42 20 3D 20 30 29 0D 0A 61 63 65 69 (DLAB = 0)..acei
000020: 69 72 09 45 51 55 09 32 09 3B 20 41 43 45 20 49 ir.EQU.2.; ACE I
000030: 6E 74 65 72 72 75 70 74 20 49 64 65 6E 74 69 66 nterrupt Identif
000040: 69 63 61 74 69 6F 6E 20 52 65 67 69 73 74 65 72 ication Register
000050: 0D 0A 61 63 65 6C 63 72 09 45 51 55 09 33 09 3B ..acelcr.EQU.3.;
000060: 20 41 43 45 20 4C 69 6E 65 20 43 6F 6E 74 72 6F ACE Line Contro
000070: 6C 20 52 65 67 69 73 74 65 72 0D 0A 61 63 65 6D l Register..acem
000080: 63 72 09 45 51 55 09 34 09 3B 20 41 43 45 20 4D cr.EQU.4.; ACE M
000090: 6F 64 65 6D 20 43 6F 6E 74 72 6F 6C 20 52 65 67 odem Control Reg
0000A0: 69 73 74 65 72 0D 0A 61 63 65 6C 73 72 09 45 51 ister..acelsr.EQ
0000B0: 55 09 35 09 3B 20 41 43 45 20 4C 69 6E 65 20 53 U.5.; ACE Line S
0000C0: 74 61 74 75 73 20 52 65 67 69 73 74 65 72 20 6F tatus Register o
0000D0: 66 66 73 65 74 0D 0A 61 63 65 6D 73 72 09 45 51 ffset..acemsr.EQ
0000E0: 55 09 36 09 3B 20 41 43 45 20 4D 6F 64 65 6D 20 U.6.; ACE Modem
0000F0: 53 74 61 74 75 73 20 52 65 67 69 73 74 65 72 0D Status Register.
000100: 0A 0D 0A 61 63 65 38 62 77 09 45 51 55 09 30 30 ...ace8bw.EQU.00
000110: 30 30 30 30 31 31 62 20 3B 20 38 20 62 69 74 20 000011b ; 8 bit
000120: 77 6F 72 64 73 0D 0A 61 63 65 73 62 09 45 51 55 words..acesb.EQU
000130: 09 30 31 30 30 30 30 30 30 62 20 3B 20 73 65 74 .01000000b ; set
000140: 20 62 72 65 61 6B 0D 0A 61 63 65 64 6C 61 09 45 break..acedla.E
000150: 51 55 09 31 30 30 30 30 30 30 30 62 20 3B 20 64 QU.10000000b ; d
000160: 69 76 69 73 6F 72 20 6C 61 74 63 68 20 61 63 63 ivisor latch acc
000170: 65 73 73 0D 0A 61 63 65 64 74 72 09 45 51 55 09 ess..acedtr.EQU.
000180: 30 30 30 30 30 30 30 31 62 20 3B 20 64 61 74 61 00000001b ; data
000190: 20 74 65 72 6D 69 6E 61 6C 20 72 65 61 64 79 0D terminal ready.
0001A0: 0A 61 63 65 6C 6F 6F 09 45 51 55 09 30 30 30 31 .aceloo.EQU.0001
0001B0: 30 30 30 30 62 20 3B 20 6C 6F 6F 70 62 61 63 6B 0000b ; loopback
0001C0: 20 6D 6F 64 65 0D 0A 61 63 65 64 72 09 45 51 55 mode..acedr.EQU
0001D0: 09 30 30 30 30 30 30 30 31 62 20 3B 20 64 61 74 .00000001b ; dat
0001E0: 61 20 72 65 61 64 79 0D 0A 61 63 65 74 68 65 09 a ready..acethe.
0001F0: 45 51 55 09 30 30 31 30 30 30 30 30 62 20 3B 20 EQU.00100000b ;
Size : 512 (Real : 512)
000000: 09 32 41 30 31 48 09 3B 43 6F 6D 6D 75 6E 69 63 .2A01H.;Communic
000010: 61 74 69 6F 6E 73 20 50 6F 72 74 2E 0D 0A 4F 53 ations Port...OS
000020: 50 52 54 53 09 45 51 55 09 32 41 30 30 48 09 3B PRTS.EQU.2A00H.;
000030: 43 6F 6D 6D 75 6E 69 63 61 74 69 6F 6E 73 20 50 Communications P
000040: 6F 72 74 20 53 74 61 74 75 73 2E 0D 0A 4F 55 54 ort Status...OUT
000050: 50 55 54 09 45 51 55 09 30 32 48 09 3B 4F 75 74 PUT.EQU.02H.;Out
000060: 70 75 74 20 42 75 66 66 65 72 20 45 6D 70 74 79 put Buffer Empty
000070: 2E 0D 0A 49 4E 50 55 54 09 45 51 55 09 30 31 48 ...INPUT.EQU.01H
000080: 09 3B 49 6E 70 75 74 20 52 65 67 69 73 74 65 72 .;Input Register
000090: 20 46 75 6C 6C 2E 0D 0A 4F 53 42 49 4E 31 09 45 Full...OSBIN1.E
0000A0: 51 55 09 35 37 48 09 3B 46 69 72 73 74 20 49 6E QU.57H.;First In
0000B0: 69 74 20 43 68 61 72 61 63 74 65 72 20 66 6F 72 it Character for
0000C0: 20 36 38 35 30 20 41 43 49 41 20 28 52 65 73 65 6850 ACIA (Rese
0000D0: 74 29 0D 0A 3B 28 49 20 77 6F 75 6C 64 20 68 61 t)..;(I would ha
0000E0: 76 65 20 74 68 6F 75 67 68 74 20 30 33 2C 20 62 ve thought 03, b
0000F0: 75 74 20 70 72 6F 6D 20 63 6F 64 65 20 77 72 69 ut prom code wri
000100: 74 65 73 20 35 37 20 74 68 65 72 65 29 0D 0A 4F tes 57 there)..O
000110: 53 42 49 31 32 09 45 51 55 09 35 35 48 09 3B 53 SBI12.EQU.55H.;S
000120: 65 63 6F 6E 64 20 49 6E 69 74 20 43 68 61 72 61 econd Init Chara
000130: 63 74 65 72 20 66 6F 72 20 41 43 49 41 20 28 38 cter for ACIA (8
000140: 2D 62 69 74 73 2C 20 31 32 30 30 29 0D 0A 4F 53 -bits, 1200)..OS
000150: 42 49 30 33 09 45 51 55 09 35 36 48 09 3B 53 65 BI03.EQU.56H.;Se
000160: 63 6F 6E 64 20 69 6E 69 74 20 63 68 61 72 2E 20 cond init char.
000170: 66 6F 72 20 41 43 49 41 20 28 38 20 62 69 74 73 for ACIA (8 bits
000180: 2C 20 33 30 30 29 0D 0A 3B 28 64 6F 6E 27 74 20 , 300)..;(don't
000190: 61 73 6B 2E 2E 20 49 20 64 6F 6E 27 74 20 6B 6E ask.. I don't kn
0001A0: 6F 77 20 77 68 79 20 53 45 54 55 50 20 77 72 69 ow why SETUP wri
0001B0: 74 65 73 20 35 35 20 61 6E 64 20 35 36 20 65 69 tes 55 and 56 ei
0001C0: 74 68 65 72 29 0D 0A 7A 38 30 09 45 51 55 09 54 ther)..z80.EQU.T
0001D0: 52 55 45 09 3B 5B 68 68 5D 20 61 20 7A 38 30 20 RUE.;[hh] a z80
0001E0: 68 65 72 65 2C 20 61 6C 73 6F 0D 0A 45 4E 44 49 here, also..ENDI
0001F0: 46 3B 6F 73 62 72 6E 31 0D 0A 0D 0A 49 46 20 74 F;osbrn1....IF t
Size : 512 (Real : 512)
000000: 74 72 61 6E 73 6D 69 74 74 65 72 20 68 6F 6C 64 transmitter hold
000010: 69 6E 67 20 72 65 67 69 73 74 65 72 20 65 6D 70 ing register emp
000020: 74 79 0D 0A 0D 0A 6D 6E 70 6F 72 74 09 45 51 55 ty....mnport.EQU
000030: 09 33 33 30 4F 09 3B 4D 6F 64 65 6D 20 64 61 74 .330O.;Modem dat
000040: 61 20 70 6F 72 74 0D 0A 6D 6E 70 72 74 73 09 45 a port..mnprts.E
000050: 51 55 09 6D 6E 70 6F 72 74 2B 61 63 65 6C 73 72 QU.mnport+acelsr
000060: 09 3B 4D 6F 64 65 6D 20 73 74 61 74 75 73 20 70 .;Modem status p
000070: 6F 72 74 0D 0A 6F 75 74 70 75 74 09 45 51 55 09 ort..output.EQU.
000080: 61 63 65 74 68 65 09 3B 54 72 61 6E 73 6D 69 74 acethe.;Transmit
000090: 74 65 72 20 65 6D 70 74 79 0D 0A 69 6E 70 75 74 ter empty..input
0000A0: 09 45 51 55 09 61 63 65 64 72 09 3B 49 6E 70 75 .EQU.acedr.;Inpu
0000B0: 74 20 64 61 74 61 20 61 76 61 69 6C 61 62 6C 65 t data available
0000C0: 0D 0A 7A 38 30 09 45 51 55 09 54 52 55 45 09 3B ..z80.EQU.TRUE.;
0000D0: 48 38 39 20 75 73 65 73 20 74 68 65 20 5A 38 30 H89 uses the Z80
0000E0: 0D 0A 45 4E 44 49 46 3B 68 65 61 74 68 0D 0A 0D ..ENDIF;heath...
0000F0: 0A 49 46 20 7A 31 30 30 0D 0A 6D 6E 70 6F 72 74 .IF z100..mnport
000100: 09 45 51 55 09 30 45 43 48 09 3B 4D 6F 64 65 6D .EQU.0ECH.;Modem
000110: 20 64 61 74 61 20 70 6F 72 74 0D 0A 6D 6E 70 72 data port..mnpr
000120: 74 73 09 45 51 55 09 30 45 44 48 09 3B 4D 6F 64 ts.EQU.0EDH.;Mod
000130: 65 6D 20 73 74 61 74 75 73 20 70 6F 72 74 0D 0A em status port..
000140: 6F 75 74 70 75 74 09 45 51 55 09 30 31 48 09 3B output.EQU.01H.;
000150: 54 72 61 6E 73 6D 69 74 74 65 72 20 65 6D 70 74 Transmitter empt
000160: 79 0D 0A 69 6E 70 75 74 09 45 51 55 09 30 32 48 y..input.EQU.02H
000170: 09 3B 49 6E 70 75 74 20 64 61 74 61 20 61 76 61 .;Input data ava
000180: 69 6C 61 62 6C 65 0D 0A 7A 38 30 09 45 51 55 09 ilable..z80.EQU.
000190: 46 41 4C 53 45 09 3B 5B 68 68 5D 20 74 68 69 73 FALSE.;[hh] this
0001A0: 20 6F 6E 65 27 73 20 61 6E 20 38 30 38 35 2E 0D one's an 8085..
0001B0: 0A 45 4E 44 49 46 3B 7A 31 30 30 0D 0A 0D 0A 49 .ENDIF;z100....I
0001C0: 46 20 74 72 73 38 30 0D 0A 3B 4E 45 45 44 53 20 F trs80..;NEEDS
0001D0: 64 69 73 70 6C 61 79 20 64 65 66 69 6E 69 74 69 display definiti
0001E0: 6F 6E 20 28 65 2E 67 2E 20 74 72 73 38 30 6C 62 on (e.g. trs80lb
0001F0: 20 6F 72 20 74 72 73 38 30 70 74 29 0D 0A 6D 6E or trs80pt)..mn
Size : 512 (Real : 512)
000000: 65 6C 63 6F 6E 0D 0A 4D 4E 50 4F 52 54 09 45 51 elcon..MNPORT.EQ
000010: 55 09 32 30 48 09 3B 4D 6F 64 65 6D 20 64 61 74 U.20H.;Modem dat
000020: 61 20 70 6F 72 74 0D 0A 4D 4E 50 52 54 53 09 45 a port..MNPRTS.E
000030: 51 55 09 32 31 48 09 3B 4D 6F 64 65 6D 20 73 74 QU.21H.;Modem st
000040: 61 74 75 73 20 70 6F 72 74 0D 0A 4F 55 54 50 55 atus port..OUTPU
000050: 54 09 45 51 55 09 30 31 48 09 3B 54 72 61 6E 73 T.EQU.01H.;Trans
000060: 6D 69 74 74 65 72 20 65 6D 70 74 79 0D 0A 49 4E mitter empty..IN
000070: 50 55 54 09 45 51 55 09 30 32 48 09 3B 49 6E 70 PUT.EQU.02H.;Inp
000080: 75 74 20 64 61 74 61 20 61 76 61 69 6C 61 62 6C ut data availabl
000090: 65 0D 0A 7A 38 30 09 45 51 55 09 46 41 4C 53 45 e..z80.EQU.FALSE
0000A0: 09 3B 49 20 64 6F 6E 27 74 20 6B 6E 6F 77 2E 2E .;I don't know..
0000B0: 2E 0D 0A 45 4E 44 49 46 3B 74 65 6C 63 6F 6E 0D ...ENDIF;telcon.
0000C0: 0A 0D 0A 49 46 20 72 6F 62 69 6E 0D 0A 3B 54 68 ...IF robin..;Th
0000D0: 6F 73 65 20 64 65 66 69 6E 69 74 69 6F 6E 73 20 ose definitions
0000E0: 62 65 6C 6F 77 20 74 68 61 74 20 61 72 65 20 63 below that are c
0000F0: 6F 6D 6D 65 6E 74 65 64 20 6F 75 74 20 61 72 65 ommented out are
000100: 20 6A 75 73 74 20 66 6F 72 20 69 6E 66 6F 72 6D just for inform
000110: 61 74 69 6F 6E 0D 0A 3B 2A 2A 2A 2A 2A 20 4E 4F ation..;***** NO
000120: 54 20 67 65 6E 65 72 61 6C 6C 79 20 66 6F 75 6E T generally foun
000130: 64 20 69 6E 20 64 69 73 74 72 69 62 75 74 65 64 d in distributed
000140: 20 64 6F 63 75 6D 65 6E 74 61 74 69 6F 6E 20 2A documentation *
000150: 2A 2A 2A 0D 0A 0D 0A 3B 70 62 61 75 73 6C 20 45 ***....;pbausl E
000160: 51 55 09 39 30 48 09 3B 54 68 65 20 42 61 75 64 QU.90H.;The Baud
000170: 2D 52 61 74 65 20 72 65 67 69 73 74 65 72 2E 0D -Rate register..
000180: 0A 70 72 6E 74 73 74 09 45 51 55 09 34 39 48 09 .prntst.EQU.49H.
000190: 3B 50 72 69 6E 74 65 72 0D 0A 3B 70 72 6E 64 61 ;Printer..;prnda
0001A0: 74 09 45 51 55 09 34 38 48 0D 0A 63 6F 6E 74 73 t.EQU.48H..conts
0001B0: 74 09 45 51 55 09 34 31 48 09 3B 43 6F 6E 73 6F t.EQU.41H.;Conso
0001C0: 6C 65 0D 0A 3B 63 6F 6E 64 61 74 09 45 51 55 09 le..;condat.EQU.
0001D0: 34 30 48 0D 0A 67 65 6E 74 73 74 09 45 51 55 09 40H..gentst.EQU.
0001E0: 35 31 48 09 3B 47 65 6E 65 72 61 6C 20 70 6F 72 51H.;General por
0001F0: 74 2E 0D 0A 3B 67 65 6E 64 61 74 09 45 51 55 09 t...;gendat.EQU.
Size : 512 (Real : 512)
000000: 70 6F 72 74 09 45 51 55 09 30 46 34 48 09 3B 4D port.EQU.0F4H.;M
000010: 6F 64 65 6D 20 64 61 74 61 20 70 6F 72 74 20 28 odem data port (
000020: 30 46 35 48 20 66 6F 72 20 70 6F 72 74 20 42 29 0F5H for port B)
000030: 0D 0A 6D 6E 70 72 74 73 09 45 51 55 09 30 46 36 ..mnprts.EQU.0F6
000040: 48 09 3B 4D 6F 64 65 6D 20 73 74 61 74 75 73 20 H.;Modem status
000050: 70 6F 72 74 20 28 30 46 37 48 20 66 6F 72 20 70 port (0F7H for p
000060: 6F 72 74 20 42 29 0D 0A 6F 75 74 70 75 74 09 45 ort B)..output.E
000070: 51 55 09 30 34 48 09 3B 54 72 61 6E 73 6D 69 74 QU.04H.;Transmit
000080: 74 65 72 20 65 6D 70 74 79 0D 0A 69 6E 70 75 74 ter empty..input
000090: 09 45 51 55 09 30 31 48 09 3B 49 6E 70 75 74 20 .EQU.01H.;Input
0000A0: 64 61 74 61 20 61 76 61 69 6C 61 62 6C 65 0D 0A data available..
0000B0: 7A 38 30 09 45 51 55 09 54 52 55 45 09 3B 5B 68 z80.EQU.TRUE.;[h
0000C0: 68 5D 20 41 6C 6C 20 54 52 53 2D 38 30 27 73 20 h] All TRS-80's
0000D0: 62 75 74 20 74 68 65 20 43 6F 43 6F 0D 0A 45 4E but the CoCo..EN
0000E0: 44 49 46 3B 74 72 73 38 30 0D 0A 0D 0A 49 46 20 DIF;trs80....IF
0000F0: 61 70 6D 6D 64 6D 0D 0A 3B 41 50 50 4C 45 20 53 apmmdm..;APPLE S
000100: 6C 6F 74 20 32 20 63 6F 6E 74 61 69 6E 73 20 4D lot 2 contains M
000110: 69 63 72 6F 6D 6F 64 65 6D 20 49 49 2E 0D 0A 4D icromodem II...M
000120: 4E 50 4F 52 54 09 45 51 55 09 30 45 30 41 37 48 NPORT.EQU.0E0A7H
000130: 09 3B 43 6F 6D 6D 75 6E 69 63 61 74 69 6F 6E 73 .;Communications
000140: 20 50 6F 72 74 2E 0D 0A 6D 6E 70 72 74 73 09 45 Port...mnprts.E
000150: 51 55 09 30 45 30 41 36 48 09 3B 43 6F 6D 6D 75 QU.0E0A6H.;Commu
000160: 6E 69 63 61 74 69 6F 6E 73 20 50 6F 72 74 20 53 nications Port S
000170: 74 61 74 75 73 2E 0D 0A 6D 6E 6D 6F 64 6D 09 45 tatus...mnmodm.E
000180: 51 55 09 30 45 30 41 35 48 09 3B 4D 6F 64 65 6D QU.0E0A5H.;Modem
000190: 20 43 6F 6E 74 72 6F 6C 20 50 6F 72 74 2E 0D 0A Control Port...
0001A0: 6F 72 67 6D 6F 64 09 45 51 55 09 38 45 48 09 3B orgmod.EQU.8EH.;
0001B0: 4D 6F 64 65 6D 20 4F 72 69 67 69 6E 61 74 65 20 Modem Originate
0001C0: 4D 6F 64 65 2E 0D 0A 4F 55 54 50 55 54 09 45 51 Mode...OUTPUT.EQ
0001D0: 55 09 30 32 48 09 3B 4F 75 74 70 75 74 20 42 75 U.02H.;Output Bu
0001E0: 66 66 65 72 20 45 6D 70 74 79 2E 0D 0A 49 4E 50 ffer Empty...INP
0001F0: 55 54 09 45 51 55 09 30 31 48 09 3B 49 6E 70 75 UT.EQU.01H.;Inpu
Size : 512 (Real : 512)
000000: 35 30 48 0D 0A 63 6F 6D 74 73 74 09 45 51 55 09 50H..comtst.EQU.
000010: 35 39 48 09 3B 43 4F 4D 4D 2D 50 6F 72 74 0D 0A 59H.;COMM-Port..
000020: 3B 63 6F 6D 64 61 74 09 45 51 55 09 35 38 48 0D ;comdat.EQU.58H.
000030: 0A 3B 6F 75 74 70 75 74 09 45 51 55 09 30 31 48 .;output.EQU.01H
000040: 09 3B 4F 75 74 70 75 74 20 72 65 61 64 79 20 62 .;Output ready b
000050: 69 74 2E 0D 0A 3B 69 6E 70 75 74 09 45 51 55 09 it...;input.EQU.
000060: 30 32 48 09 3B 49 6E 70 75 74 20 72 65 61 64 79 02H.;Input ready
000070: 20 62 69 74 2E 0D 0A 7A 38 30 09 45 51 55 09 54 bit...z80.EQU.T
000080: 52 55 45 09 3B 20 54 68 69 73 20 6F 6E 65 27 73 RUE.; This one's
000090: 20 61 20 5A 38 30 2E 0D 0A 45 4E 44 49 46 3B 72 a Z80...ENDIF;r
0000A0: 6F 62 69 6E 0D 0A 0D 0A 49 46 20 62 62 49 0D 0A obin....IF bbI..
0000B0: 6D 6E 70 6F 72 74 09 65 71 75 09 30 34 68 09 09 mnport.equ.04h..
0000C0: 3B 20 4D 6F 64 65 6D 20 64 61 74 61 20 70 6F 72 ; Modem data por
0000D0: 74 0D 0A 6D 6E 70 72 74 73 09 65 71 75 09 30 36 t..mnprts.equ.06
0000E0: 68 09 09 3B 20 4D 6F 64 65 6D 20 73 74 61 74 75 h..; Modem statu
0000F0: 73 20 70 6F 72 74 0D 0A 6F 75 74 70 75 74 09 65 s port..output.e
000100: 71 75 09 30 34 68 09 09 3B 20 54 72 61 6E 73 6D qu.04h..; Transm
000110: 69 74 20 62 75 66 66 65 72 20 65 6D 70 74 79 0D it buffer empty.
000120: 0A 69 6E 70 75 74 09 65 71 75 09 30 31 68 09 09 .input.equ.01h..
000130: 3B 20 52 65 63 65 69 76 65 20 64 61 74 61 20 61 ; Receive data a
000140: 76 61 69 6C 61 62 6C 65 0D 0A 62 61 75 64 72 74 vailable..baudrt
000150: 09 65 71 75 09 30 30 68 09 09 3B 20 42 61 75 64 .equ.00h..; Baud
000160: 20 72 61 74 65 20 70 6F 72 74 20 66 6F 72 20 63 rate port for c
000170: 68 61 6E 6E 65 6C 20 41 0D 0A 7A 38 30 09 45 51 hannel A..z80.EQ
000180: 55 09 54 52 55 45 09 09 3B 20 54 68 69 73 20 6F U.TRUE..; This o
000190: 6E 65 27 73 20 61 20 5A 38 30 2E 0D 0A 45 4E 44 ne's a Z80...END
0001A0: 49 46 3B 62 62 49 0D 0A 0D 0A 49 46 20 6E 6F 72 IF;bbI....IF nor
0001B0: 74 68 73 20 3B 54 68 65 20 62 61 73 69 63 20 4E ths ;The basic N
0001C0: 6F 72 74 68 73 74 61 72 20 48 6F 72 69 7A 6F 6E orthstar Horizon
0001D0: 20 42 49 4F 53 20 64 6F 65 73 20 6E 6F 74 20 61 BIOS does not a
0001E0: 63 63 65 73 73 20 70 6F 72 74 73 20 32 2D 35 0D ccess ports 2-5.
0001F0: 0A 70 6F 72 74 30 64 20 20 65 71 75 20 20 20 20 .port0d equ
Size : 512 (Real : 512)
000000: 74 20 52 65 67 69 73 74 65 72 20 46 75 6C 6C 2E t Register Full.
000010: 0D 0A 61 70 69 6E 63 31 09 45 51 55 09 30 33 48 ..apinc1.EQU.03H
000020: 09 3B 46 69 72 73 74 20 49 6E 69 74 20 43 68 61 .;First Init Cha
000030: 72 61 63 74 65 72 20 66 6F 72 20 36 38 35 30 20 racter for 6850
000040: 41 43 49 41 20 28 52 65 73 65 74 29 0D 0A 61 70 ACIA (Reset)..ap
000050: 69 6E 63 32 09 45 51 55 09 31 31 48 09 3B 53 65 inc2.EQU.11H.;Se
000060: 63 6F 6E 64 20 49 6E 69 74 20 43 68 61 72 61 63 cond Init Charac
000070: 74 65 72 20 66 6F 72 20 41 43 49 41 20 28 38 2D ter for ACIA (8-
000080: 62 69 74 73 29 0D 0A 61 70 6F 66 66 68 09 45 51 bits)..apoffh.EQ
000090: 55 09 38 30 48 09 3B 53 65 74 20 69 66 20 4F 46 U.80H.;Set if OF
0000A0: 46 48 4F 4F 4B 0D 0A 41 50 33 30 30 09 45 51 55 FHOOK..AP300.EQU
0000B0: 09 31 09 3B 33 30 30 20 42 61 75 64 0D 0A 7A 38 .1.;300 Baud..z8
0000C0: 30 09 45 51 55 09 54 52 55 45 09 3B 5A 38 30 20 0.EQU.TRUE.;Z80
0000D0: 53 6F 66 74 63 61 72 64 0D 0A 45 4E 44 49 46 3B Softcard..ENDIF;
0000E0: 61 70 6D 6D 64 6D 0D 0A 0D 0A 49 46 20 61 70 36 apmmdm....IF ap6
0000F0: 35 35 31 09 09 3B 6A 62 0D 0A 6D 6E 70 6F 72 74 551..;jb..mnport
000100: 09 45 51 55 09 30 45 30 38 38 48 2B 28 31 30 48 .EQU.0E088H+(10H
000110: 2A 61 70 73 6C 6F 74 29 09 3B 6A 62 20 43 6F 6D *apslot).;jb Com
000120: 6D 75 6E 69 63 61 74 69 6F 6E 73 20 50 6F 72 74 munications Port
000130: 2E 0D 0A 6D 6E 70 72 74 73 09 45 51 55 09 30 45 ...mnprts.EQU.0E
000140: 30 38 39 48 2B 28 31 30 48 2A 61 70 73 6C 6F 74 089H+(10H*apslot
000150: 29 09 3B 6A 62 20 43 6F 6D 6D 75 6E 69 63 61 74 ).;jb Communicat
000160: 69 6F 6E 73 20 50 6F 72 74 20 53 74 61 74 75 73 ions Port Status
000170: 2E 0D 0A 6D 6E 70 72 74 63 09 45 51 55 09 30 45 ...mnprtc.EQU.0E
000180: 30 38 42 48 2B 28 31 30 48 2A 61 70 73 6C 6F 74 08BH+(10H*apslot
000190: 29 09 3B 6A 62 20 43 6F 6D 6D 75 6E 69 63 61 74 ).;jb Communicat
0001A0: 69 6F 6E 73 20 43 6F 6E 74 72 6F 6C 0D 0A 6D 6E ions Control..mn
0001B0: 70 72 74 6D 09 45 51 55 09 30 45 30 38 41 48 2B prtm.EQU.0E08AH+
0001C0: 28 31 30 48 2A 61 70 73 6C 6F 74 29 09 3B 6A 62 (10H*apslot).;jb
0001D0: 20 43 6F 6D 6D 75 6E 69 63 61 74 69 6F 6E 73 20 Communications
0001E0: 4D 61 73 74 65 72 20 28 63 6F 6D 6D 61 6E 64 29 Master (command)
0001F0: 0D 0A 6F 75 74 70 75 74 09 45 51 55 09 31 30 48 ..output.EQU.10H
Size : 512 (Real : 512)
000000: 20 30 32 68 20 20 20 20 20 20 20 20 20 20 20 20 02h
000010: 20 3B 50 6F 72 74 20 30 20 64 61 74 61 20 28 63 ;Port 0 data (c
000020: 6F 6E 73 6F 6C 65 29 0D 0A 70 6F 72 74 30 73 20 onsole)..port0s
000030: 20 65 71 75 20 20 20 20 20 30 33 68 20 20 20 20 equ 03h
000040: 20 20 20 20 20 20 20 20 20 3B 50 6F 72 74 20 30 ;Port 0
000050: 20 73 74 61 74 75 73 0D 0A 70 6F 72 74 31 64 20 status..port1d
000060: 20 65 71 75 20 20 20 20 20 30 34 68 20 20 20 20 equ 04h
000070: 20 20 20 20 20 20 20 20 20 3B 50 6F 72 74 20 31 ;Port 1
000080: 20 64 61 74 61 20 28 70 72 69 6E 74 65 72 29 0D data (printer).
000090: 0A 70 6F 72 74 31 73 20 20 65 71 75 20 20 20 20 .port1s equ
0000A0: 20 30 35 68 20 20 20 20 20 20 20 20 20 20 20 20 05h
0000B0: 20 3B 50 6F 72 74 20 31 20 73 74 61 74 75 73 0D ;Port 1 status.
0000C0: 0A 0D 0A 70 6F 72 74 32 62 20 20 65 71 75 20 20 ...port2b equ
0000D0: 20 20 20 31 30 68 20 20 20 20 20 20 20 20 20 20 10h
0000E0: 20 20 20 3B 50 6F 72 74 20 32 20 62 61 75 64 0D ;Port 2 baud.
0000F0: 0A 70 6F 72 74 32 69 20 20 65 71 75 20 20 20 20 .port2i equ
000100: 20 31 31 68 20 20 20 20 20 20 20 20 20 20 20 20 11h
000110: 20 3B 50 6F 72 74 20 32 20 69 6E 74 65 72 72 75 ;Port 2 interru
000120: 70 74 20 6D 61 73 6B 0D 0A 70 6F 72 74 32 64 20 pt mask..port2d
000130: 20 65 71 75 20 20 20 20 20 31 32 68 20 20 20 20 equ 12h
000140: 20 20 20 20 20 20 20 20 20 3B 50 6F 72 74 20 32 ;Port 2
000150: 20 64 61 74 61 0D 0A 70 6F 72 74 32 73 20 20 65 data..port2s e
000160: 71 75 20 20 20 20 20 31 33 68 20 20 20 20 20 20 qu 13h
000170: 20 20 20 20 20 20 20 3B 50 6F 72 74 20 32 20 73 ;Port 2 s
000180: 74 61 74 75 73 0D 0A 0D 0A 70 6F 72 74 33 62 20 tatus....port3b
000190: 20 65 71 75 20 20 20 20 20 31 34 68 20 20 20 20 equ 14h
0001A0: 20 20 20 20 20 20 20 20 20 3B 50 6F 72 74 20 33 ;Port 3
0001B0: 20 62 61 75 64 0D 0A 70 6F 72 74 33 69 20 20 65 baud..port3i e
0001C0: 71 75 20 20 20 20 20 31 35 68 20 20 20 20 20 20 qu 15h
0001D0: 20 20 20 20 20 20 20 3B 50 6F 72 74 20 33 20 69 ;Port 3 i
0001E0: 6E 74 65 72 72 75 70 74 20 6D 61 73 6B 0D 0A 70 nterrupt mask..p
0001F0: 6F 72 74 33 64 20 20 65 71 75 20 20 20 20 20 31 ort3d equ 1
Size : 512 (Real : 512)
000000: 3B 6D 6D 64 49 0D 0A 0D 0A 49 46 20 6D 64 49 09 ;mmdI....IF mdI.
000010: 3B 4D 6F 72 72 6F 77 20 44 65 63 69 73 69 6F 6E ;Morrow Decision
000020: 20 49 20 2D 20 74 68 65 20 62 69 67 20 73 75 63 I - the big suc
000030: 6B 65 72 0D 0A 6D 6E 70 6F 72 74 09 65 71 75 09 ker..mnport.equ.
000040: 34 38 48 09 09 3B 20 4D 6F 64 65 6D 20 64 61 74 48H..; Modem dat
000050: 61 20 70 6F 72 74 2E 0D 0A 6D 6E 70 72 74 73 09 a port...mnprts.
000060: 65 71 75 09 34 44 48 09 09 3B 20 4D 6F 64 65 6D equ.4DH..; Modem
000070: 20 73 74 61 74 75 73 20 70 6F 72 74 2E 0D 0A 6F status port...o
000080: 75 74 70 75 74 09 65 71 75 09 32 30 48 09 09 3B utput.equ.20H..;
000090: 20 54 72 61 6E 73 6D 69 74 74 65 72 20 65 6D 70 Transmitter emp
0000A0: 74 79 2E 0D 0A 69 6E 70 75 74 09 65 71 75 09 31 ty...input.equ.1
0000B0: 09 09 3B 20 49 6E 70 75 74 20 64 61 74 61 20 61 ..; Input data a
0000C0: 76 61 69 6C 61 62 6C 65 2E 0D 0A 6D 62 61 73 65 vailable...mbase
0000D0: 09 65 71 75 09 34 38 48 09 09 3B 20 42 61 73 65 .equ.48H..; Base
0000E0: 20 61 64 64 72 65 73 73 20 6F 66 20 4D 75 6C 74 address of Mult
0000F0: 69 20 49 2F 4F 20 70 6F 72 74 0D 0A 09 09 09 09 i I/O port......
000100: 3B 20 20 20 73 65 6C 65 63 74 6F 72 20 61 72 65 ; selector are
000110: 61 2E 0D 0A 67 72 70 73 65 6C 09 65 71 75 09 34 a...grpsel.equ.4
000120: 46 48 09 09 3B 20 47 72 6F 75 70 20 73 65 6C 65 FH..; Group sele
000130: 63 74 20 70 6F 72 74 2E 0D 0A 72 62 72 09 65 71 ct port...rbr.eq
000140: 75 09 34 38 48 09 09 3B 20 52 65 61 64 20 44 61 u.48H..; Read Da
000150: 74 61 20 42 75 66 66 65 72 2E 0D 0A 67 72 6F 75 ta Buffer...grou
000160: 70 09 65 71 75 09 31 09 09 3B 20 4D 75 6C 74 69 p.equ.1..; Multi
000170: 20 49 2F 4F 20 47 72 6F 75 70 20 62 79 74 65 20 I/O Group byte
000180: 66 6F 72 20 73 65 72 69 61 6C 20 70 6F 72 74 73 for serial ports
000190: 2E 0D 0A 63 6F 6E 67 72 70 09 65 71 75 09 31 09 ...congrp.equ.1.
0001A0: 09 3B 20 53 65 72 69 61 6C 20 50 6F 72 74 20 31 .; Serial Port 1
0001B0: 20 66 6F 72 20 63 6F 6E 73 6F 6C 65 0D 0A 6D 64 for console..md
0001C0: 6D 67 72 70 09 65 71 75 09 33 09 09 3B 20 53 65 mgrp.equ.3..; Se
0001D0: 72 69 61 6C 20 50 6F 72 74 20 33 20 66 6F 72 20 rial Port 3 for
0001E0: 6D 6F 64 65 6D 2E 0D 0A 0D 0A 3B 20 46 6F 6C 6C modem.....; Foll
0001F0: 6F 77 69 6E 67 20 61 72 65 20 6E 65 65 64 65 64 owing are needed
Size : 512 (Real : 512)
000000: 36 68 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 6h ;
000010: 50 6F 72 74 20 33 20 64 61 74 61 0D 0A 70 6F 72 Port 3 data..por
000020: 74 33 73 20 20 65 71 75 20 20 20 20 20 31 37 68 t3s equ 17h
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 50 6F ;Po
000040: 72 74 20 33 20 73 74 61 74 75 73 0D 0A 0D 0A 70 rt 3 status....p
000050: 6F 72 74 34 62 20 20 65 71 75 20 20 20 20 20 31 ort4b equ 1
000060: 38 68 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 8h ;
000070: 50 6F 72 74 20 34 20 62 61 75 64 0D 0A 70 6F 72 Port 4 baud..por
000080: 74 34 69 20 20 65 71 75 20 20 20 20 20 31 39 68 t4i equ 19h
000090: 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 50 6F ;Po
0000A0: 72 74 20 34 20 69 6E 74 65 72 72 75 70 74 20 6D rt 4 interrupt m
0000B0: 61 73 6B 0D 0A 70 6F 72 74 34 64 20 20 65 71 75 ask..port4d equ
0000C0: 20 20 20 20 20 31 41 68 20 20 20 20 20 20 20 20 1Ah
0000D0: 20 20 20 20 20 3B 50 6F 72 74 20 34 20 64 61 74 ;Port 4 dat
0000E0: 61 0D 0A 70 6F 72 74 34 73 20 20 65 71 75 20 20 a..port4s equ
0000F0: 20 20 20 31 42 68 20 20 20 20 20 20 20 20 20 20 1Bh
000100: 20 20 20 3B 50 6F 72 74 20 34 20 73 74 61 74 75 ;Port 4 statu
000110: 73 0D 0A 0D 0A 70 6F 72 74 35 62 20 20 65 71 75 s....port5b equ
000120: 20 20 20 20 20 31 43 68 20 20 20 20 20 20 20 20 1Ch
000130: 20 20 20 20 20 3B 50 6F 72 74 20 35 20 62 61 75 ;Port 5 bau
000140: 64 0D 0A 70 6F 72 74 35 69 20 20 65 71 75 20 20 d..port5i equ
000150: 20 20 20 31 44 68 20 20 20 20 20 20 20 20 20 20 1Dh
000160: 20 20 20 3B 50 6F 72 74 20 35 20 69 6E 74 65 72 ;Port 5 inter
000170: 72 75 70 74 20 6D 61 73 6B 0D 0A 70 6F 72 74 35 rupt mask..port5
000180: 64 20 20 65 71 75 20 20 20 20 20 31 45 68 20 20 d equ 1Eh
000190: 20 20 20 20 20 20 20 20 20 20 20 3B 50 6F 72 74 ;Port
0001A0: 20 35 20 64 61 74 61 0D 0A 70 6F 72 74 35 73 20 5 data..port5s
0001B0: 20 65 71 75 20 20 20 20 20 31 46 68 20 20 20 20 equ 1Fh
0001C0: 20 20 20 20 20 20 20 20 20 3B 50 6F 72 74 20 35 ;Port 5
0001D0: 20 73 74 61 74 75 73 0D 0A 0D 0A 4E 53 31 39 4B status....NS19K
0001E0: 32 09 45 51 55 09 30 30 48 09 09 3B 31 39 2E 32 2.EQU.00H..;19.2
0001F0: 20 6B 69 6C 6F 62 61 75 64 0D 0A 4E 53 39 36 30 kilobaud..NS960
Size : 512 (Real : 512)
000000: 20 66 6F 72 20 62 61 75 64 20 72 61 74 65 20 63 for baud rate c
000010: 68 61 6E 67 65 73 2E 2E 2E 5B 54 6F 61 64 20 48 hanges...[Toad H
000020: 61 6C 6C 5D 0D 0A 0D 0A 64 6C 6D 09 65 71 75 09 all]....dlm.equ.
000030: 34 39 48 09 09 3B 20 42 61 75 64 20 52 61 74 65 49H..; Baud Rate
000040: 20 44 69 76 69 73 6F 72 20 28 4D 6F 73 74 20 53 Divisor (Most S
000050: 69 67 20 42 69 74 29 0D 0A 64 6C 6C 09 65 71 75 ig Bit)..dll.equ
000060: 09 34 38 48 09 09 3B 20 42 61 75 64 20 52 61 74 .48H..; Baud Rat
000070: 65 20 44 69 76 69 73 6F 72 20 28 4C 65 61 73 74 e Divisor (Least
000080: 20 53 69 67 20 42 69 74 29 0D 0A 69 65 72 09 65 Sig Bit)..ier.e
000090: 71 75 09 34 39 48 09 09 3B 20 49 6E 74 65 72 72 qu.49H..; Interr
0000A0: 75 70 74 20 45 6E 61 62 6C 65 20 52 65 67 69 73 upt Enable Regis
0000B0: 74 65 72 0D 0A 6C 63 72 09 65 71 75 09 34 42 48 ter..lcr.equ.4BH
0000C0: 09 09 3B 20 4C 69 6E 65 20 43 6F 6E 74 72 6F 6C ..; Line Control
0000D0: 20 52 65 67 69 73 74 65 72 0D 0A 6C 73 72 09 65 Register..lsr.e
0000E0: 71 75 09 34 44 48 09 09 3B 20 4C 69 6E 65 20 53 qu.4DH..; Line S
0000F0: 74 61 74 75 73 20 52 65 67 69 73 74 65 72 0D 0A tatus Register..
000100: 6D 73 72 09 65 71 75 09 34 45 48 09 09 3B 20 4D msr.equ.4EH..; M
000110: 6F 64 65 6D 20 53 74 61 74 75 73 20 52 65 67 69 odem Status Regi
000120: 73 74 65 72 0D 0A 64 6C 61 62 09 65 71 75 09 38 ster..dlab.equ.8
000130: 30 48 09 09 3B 20 44 69 76 69 73 6F 72 20 4C 61 0H..; Divisor La
000140: 74 63 68 20 41 63 63 65 73 73 20 42 69 74 0D 0A tch Access Bit..
000150: 77 6C 73 30 09 65 71 75 09 31 09 09 3B 20 57 6F wls0.equ.1..; Wo
000160: 72 64 20 4C 65 6E 67 74 68 20 53 65 6C 65 63 74 rd Length Select
000170: 20 42 69 74 20 30 0D 0A 77 6C 73 31 09 65 71 75 Bit 0..wls1.equ
000180: 09 32 09 09 3B 20 57 6F 72 64 20 4C 65 6E 67 74 .2..; Word Lengt
000190: 68 20 53 65 6C 65 63 74 20 42 69 74 20 31 20 66 h Select Bit 1 f
0001A0: 6F 72 20 38 20 62 69 74 20 77 6F 72 64 0D 0A 73 or 8 bit word..s
0001B0: 74 62 09 65 71 75 09 34 09 09 3B 20 53 74 6F 70 tb.equ.4..; Stop
0001C0: 20 62 69 74 20 63 6F 75 6E 74 20 2D 20 32 20 73 bit count - 2 s
0001D0: 74 6F 70 20 62 69 74 73 0D 0A 69 6D 61 73 6B 09 top bits..imask.
0001E0: 65 71 75 09 30 09 09 3B 20 49 6E 74 65 72 72 75 equ.0..; Interru
0001F0: 70 74 20 6D 61 73 6B 20 28 61 6C 6C 20 64 69 73 pt mask (all dis
Size : 512 (Real : 512)
000000: 30 09 45 51 55 09 30 31 48 09 09 3B 39 36 30 30 0.EQU.01H..;9600
000010: 20 62 61 75 64 0D 0A 4E 53 34 38 30 30 09 45 51 baud..NS4800.EQ
000020: 55 09 30 32 48 09 09 3B 34 38 30 30 20 62 61 75 U.02H..;4800 bau
000030: 64 0D 0A 4E 53 32 34 30 30 09 45 51 55 09 30 33 d..NS2400.EQU.03
000040: 48 09 09 3B 32 34 30 30 20 62 61 75 64 0D 0A 4E H..;2400 baud..N
000050: 53 31 32 30 30 09 45 51 55 09 30 34 48 09 09 3B S1200.EQU.04H..;
000060: 31 32 30 30 20 62 61 75 64 0D 0A 4E 53 30 36 30 1200 baud..NS060
000070: 30 09 45 51 55 09 30 35 48 09 09 3B 20 36 30 30 0.EQU.05H..; 600
000080: 20 62 61 75 64 0D 0A 4E 53 30 33 30 30 09 45 51 baud..NS0300.EQ
000090: 55 09 30 36 48 09 09 3B 20 33 30 30 20 62 61 75 U.06H..; 300 bau
0000A0: 64 0D 0A 4E 53 30 31 31 30 09 45 51 55 09 30 37 d..NS0110.EQU.07
0000B0: 48 09 09 3B 20 31 31 30 20 62 61 75 64 0D 0A 3B H..; 110 baud..;
0000C0: 3B 20 53 65 74 20 74 6F 20 75 73 65 20 70 6F 72 ; Set to use por
0000D0: 74 20 35 20 61 74 20 31 32 30 30 20 62 61 75 64 t 5 at 1200 baud
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2A 2A 2A ***
0000F0: 2A 2A 0D 0A 6D 6E 70 6F 72 74 20 20 65 71 75 20 **..mnport equ
000100: 20 20 20 20 70 6F 72 74 35 64 09 09 3B 44 61 74 port5d..;Dat
000110: 61 20 70 6F 72 74 0D 0A 6D 6E 70 72 74 73 09 65 a port..mnprts.e
000120: 71 75 09 70 6F 72 74 35 73 09 09 3B 53 74 61 74 qu.port5s..;Stat
000130: 75 73 20 70 6F 72 74 0D 0A 62 61 75 64 72 74 09 us port..baudrt.
000140: 65 71 75 09 70 6F 72 74 35 62 09 09 3B 42 61 75 equ.port5b..;Bau
000150: 64 20 72 61 74 65 20 70 6F 72 74 0D 0A 62 61 75 d rate port..bau
000160: 64 69 6E 69 09 65 71 75 09 6E 73 31 32 30 30 09 dini.equ.ns1200.
000170: 09 3B 49 6E 69 74 69 61 6C 20 62 61 75 64 20 72 .;Initial baud r
000180: 61 74 65 0D 0A 6F 75 74 70 75 74 09 45 51 55 09 ate..output.EQU.
000190: 31 09 09 3B 42 69 74 20 6F 66 20 55 41 52 54 20 1..;Bit of UART
0001A0: 73 74 61 74 75 73 20 66 6F 72 20 74 72 61 6E 73 status for trans
0001B0: 6D 69 74 74 65 72 20 72 65 61 64 79 0D 0A 69 6E mitter ready..in
0001C0: 70 75 74 09 45 51 55 09 32 09 09 3B 42 69 74 20 put.EQU.2..;Bit
0001D0: 6F 66 20 55 41 52 54 20 73 74 61 74 75 73 20 66 of UART status f
0001E0: 6F 72 20 72 65 63 65 69 76 65 72 20 72 65 61 64 or receiver read
0001F0: 79 0D 0A 7A 38 30 09 65 71 75 09 46 41 4C 53 45 y..z80.equ.FALSE
Size : 512 (Real : 512)
000000: 61 62 6C 65 64 29 0D 0A 7A 38 30 09 45 51 55 09 abled)..z80.EQU.
000010: 54 52 55 45 09 09 3B 20 54 68 69 73 20 6F 6E 65 TRUE..; This one
000020: 27 73 20 61 20 5A 38 30 2E 0D 0A 45 4E 44 49 46 's a Z80...ENDIF
000030: 09 3B 6D 64 49 20 20 20 4E 4F 54 45 3A 20 6E 65 .;mdI NOTE: ne
000040: 65 64 73 20 74 65 72 6D 69 6E 61 6C 20 64 65 66 eds terminal def
000050: 69 6E 69 74 69 6F 6E 2E 20 5B 54 6F 61 64 20 48 inition. [Toad H
000060: 61 6C 6C 5D 0D 0A 0D 0A 49 46 20 6D 69 6B 6B 6F all]....IF mikko
000070: 0D 0A 73 69 6F 61 63 09 45 51 55 09 30 46 46 31 ..sioac.EQU.0FF1
000080: 32 48 09 09 3B 53 49 4F 20 63 68 61 6E 6E 65 6C 2H..;SIO channel
000090: 20 41 20 72 65 67 69 73 74 65 72 28 73 29 20 61 A register(s) a
0000A0: 64 64 72 65 73 73 0D 0A 73 69 6F 6F 33 09 45 51 ddress..sioo3.EQ
0000B0: 55 09 30 31 30 30 30 30 30 31 42 20 09 3B 53 49 U.01000001B .;SI
0000C0: 4F 20 57 72 69 74 65 20 52 65 67 2E 20 33 20 6F O Write Reg. 3 o
0000D0: 72 69 67 69 6E 61 6C 20 73 65 74 75 70 20 28 3F riginal setup (?
0000E0: 29 0D 0A 09 09 09 09 3B 52 58 20 37 20 62 69 74 )......;RX 7 bit
0000F0: 73 2C 73 79 6E 63 68 20 6D 6F 64 65 20 62 69 74 s,synch mode bit
000100: 73 20 30 2C 52 58 20 65 6E 61 62 6C 65 0D 0A 73 s 0,RX enable..s
000110: 69 6F 6E 33 09 45 51 55 09 31 31 30 30 31 31 31 ion3.EQU.1100111
000120: 31 42 09 3B 53 49 4F 20 57 72 69 74 65 20 52 65 1B.;SIO Write Re
000130: 67 2E 20 33 20 4B 45 52 4D 49 54 20 73 65 74 75 g. 3 KERMIT setu
000140: 70 0D 0A 09 09 09 09 3B 52 58 20 38 20 62 69 74 p......;RX 8 bit
000150: 73 2C 73 79 6E 63 68 20 6D 6F 64 65 20 62 69 74 s,synch mode bit
000160: 73 20 30 2C 52 58 20 65 6E 61 62 6C 65 0D 0A 73 s 0,RX enable..s
000170: 69 6F 6F 34 09 45 51 55 09 30 31 30 30 31 31 31 ioo4.EQU.0100111
000180: 31 42 09 3B 53 49 4F 20 57 72 69 74 65 20 52 65 1B.;SIO Write Re
000190: 67 2E 20 34 20 6F 72 69 67 69 6E 61 6C 20 73 65 g. 4 original se
0001A0: 74 75 70 20 28 3F 29 0D 0A 09 09 09 09 3B 58 31 tup (?)......;X1
0001B0: 36 20 63 6C 6F 63 6B 2C 38 20 62 69 74 20 73 79 6 clock,8 bit sy
0001C0: 6E 63 68 28 69 67 6E 6F 72 65 64 29 2C 0D 0A 09 nch(ignored),...
0001D0: 09 09 09 3B 32 73 74 6F 70 20 62 69 74 73 2C 70 ...;2stop bits,p
0001E0: 61 72 20 65 76 65 6E 28 6F 6E 29 0D 0A 73 69 6F ar even(on)..sio
0001F0: 6E 34 09 45 51 55 09 30 31 30 30 30 31 30 30 42 n4.EQU.01000100B
Size : 512 (Real : 512)
000000: 0D 0A 45 4E 44 49 46 3B 6E 6F 72 74 68 73 0D 0A ..ENDIF;norths..
000010: 0D 0A 49 46 20 62 62 49 49 0D 0A 6D 6E 70 6F 72 ..IF bbII..mnpor
000020: 74 09 65 71 75 09 38 30 68 09 09 3B 20 4D 6F 64 t.equ.80h..; Mod
000030: 65 6D 20 64 61 74 61 20 70 6F 72 74 20 28 53 49 em data port (SI
000040: 4F 20 63 68 61 6E 6E 65 6C 20 41 29 0D 0A 6D 6E O channel A)..mn
000050: 70 72 74 73 09 65 71 75 09 38 31 68 09 09 3B 20 prts.equ.81h..;
000060: 4D 6F 64 65 6D 20 73 74 61 74 75 73 20 70 6F 72 Modem status por
000070: 74 0D 0A 6F 75 74 70 75 74 09 65 71 75 09 30 34 t..output.equ.04
000080: 68 09 09 3B 20 54 72 61 6E 73 6D 69 74 20 62 75 h..; Transmit bu
000090: 66 66 65 72 20 65 6D 70 74 79 0D 0A 69 6E 70 75 ffer empty..inpu
0000A0: 74 09 65 71 75 09 30 31 68 09 09 3B 20 52 65 63 t.equ.01h..; Rec
0000B0: 65 69 76 65 20 64 61 74 61 20 61 76 61 69 6C 61 eive data availa
0000C0: 62 6C 65 0D 0A 62 61 75 64 72 74 09 65 71 75 09 ble..baudrt.equ.
0000D0: 38 39 68 09 09 3B 20 42 61 75 64 20 72 61 74 65 89h..; Baud rate
0000E0: 20 70 6F 72 74 20 66 6F 72 20 63 68 61 6E 6E 65 port for channe
0000F0: 6C 20 41 0D 0A 7A 38 30 09 45 51 55 09 54 52 55 l A..z80.EQU.TRU
000100: 45 09 09 3B 20 54 68 69 73 20 6F 6E 65 27 73 20 E..; This one's
000110: 61 20 5A 38 30 2E 0D 0A 45 4E 44 49 46 3B 62 62 a Z80...ENDIF;bb
000120: 49 49 0D 0A 0D 0A 49 46 20 63 70 74 38 35 78 78 II....IF cpt85xx
000130: 0D 0A 62 61 75 64 72 74 09 45 51 55 09 34 43 68 ..baudrt.EQU.4Ch
000140: 09 09 3B 20 42 61 75 64 20 72 61 74 65 20 67 65 ..; Baud rate ge
000150: 6E 65 72 61 74 65 72 20 28 4E 61 74 69 6F 6E 61 nerater (Nationa
000160: 6C 20 4D 4D 35 33 30 37 29 0D 0A 6D 6E 70 6F 72 l MM5307)..mnpor
000170: 74 09 45 51 55 09 34 42 68 09 09 3B 20 43 6F 6D t.EQU.4Bh..; Com
000180: 6D 20 70 6F 72 74 20 64 61 74 61 20 72 65 67 69 m port data regi
000190: 73 74 65 72 20 28 49 6E 74 65 6C 20 38 32 35 31 ster (Intel 8251
0001A0: 29 0D 0A 6D 6E 70 72 74 73 09 45 51 55 09 34 41 )..mnprts.EQU.4A
0001B0: 68 09 09 3B 20 43 6F 6D 6D 20 70 6F 72 74 20 63 h..; Comm port c
0001C0: 6F 6D 6D 61 6E 64 2F 73 74 61 74 75 73 20 72 65 ommand/status re
0001D0: 67 69 73 74 65 72 0D 0A 6F 75 74 70 75 74 09 45 gister..output.E
0001E0: 51 55 09 30 31 68 09 09 3B 20 54 72 61 6E 73 6D QU.01h..; Transm
0001F0: 69 74 74 65 72 20 62 75 66 66 65 72 20 65 6D 70 itter buffer emp
Size : 512 (Real : 512)
000000: 09 3B 53 49 4F 20 57 72 69 74 65 20 52 65 67 2E .;SIO Write Reg.
000010: 20 34 20 4B 45 52 4D 49 54 20 73 65 74 75 70 0D 4 KERMIT setup.
000020: 0A 09 09 09 09 3B 58 31 36 20 63 6C 6F 63 6B 2C .....;X16 clock,
000030: 38 20 62 69 74 20 73 79 6E 63 68 28 69 67 6E 6F 8 bit synch(igno
000040: 72 65 64 29 2C 0D 0A 09 09 09 09 3B 31 73 74 6F red),......;1sto
000050: 70 20 62 69 74 2C 70 61 72 20 6F 66 66 0D 0A 73 p bit,par off..s
000060: 69 6F 6F 35 09 45 51 55 09 31 30 31 30 31 30 31 ioo5.EQU.1010101
000070: 30 42 09 3B 53 49 4F 20 57 72 69 74 65 20 52 65 0B.;SIO Write Re
000080: 67 2E 20 35 20 6F 72 69 67 69 6E 61 6C 20 73 65 g. 5 original se
000090: 74 75 70 20 28 3F 29 0D 0A 09 09 09 09 3B 44 54 tup (?)......;DT
0000A0: 52 2C 54 58 20 37 20 62 69 74 73 2C 54 58 20 65 R,TX 7 bits,TX e
0000B0: 6E 61 62 6C 65 2C 52 54 53 0D 0A 73 69 6F 6E 35 nable,RTS..sion5
0000C0: 09 45 51 55 09 31 31 31 30 31 30 31 30 42 09 3B .EQU.11101010B.;
0000D0: 53 49 4F 20 57 72 69 74 65 20 52 65 67 2E 20 35 SIO Write Reg. 5
0000E0: 20 4B 45 52 4D 49 54 20 73 65 74 75 70 0D 0A 09 KERMIT setup...
0000F0: 09 09 09 3B 44 54 52 2C 54 58 20 38 20 62 69 74 ...;DTR,TX 8 bit
000100: 73 2C 54 58 20 65 6E 61 62 6C 65 2C 52 54 53 0D s,TX enable,RTS.
000110: 0A 74 78 63 6C 6B 09 45 51 55 09 30 46 46 33 30 .txclk.EQU.0FF30
000120: 48 09 3B 42 61 75 64 20 72 61 74 65 20 67 65 6E H.;Baud rate gen
000130: 65 72 61 74 6F 72 20 28 43 54 43 29 20 66 6F 72 erator (CTC) for
000140: 20 74 72 61 6E 73 6D 69 74 74 65 72 0D 0A 72 78 transmitter..rx
000150: 63 6C 6B 09 45 51 55 09 30 46 46 33 31 48 09 3B clk.EQU.0FF31H.;
000160: 42 61 75 64 20 72 61 74 65 20 67 65 6E 65 72 61 Baud rate genera
000170: 74 6F 72 20 28 43 54 43 29 20 66 6F 72 20 72 65 tor (CTC) for re
000180: 63 65 69 76 65 72 0D 0A 63 68 6D 61 73 6B 09 45 ceiver..chmask.E
000190: 51 55 09 30 46 31 46 32 48 09 3B 4D 61 73 6B 20 QU.0F1F2H.;Mask
0001A0: 62 79 74 65 20 61 64 64 72 65 73 73 20 66 6F 72 byte address for
0001B0: 20 53 49 4F 20 63 68 2E 20 41 20 72 65 63 65 70 SIO ch. A recep
0001C0: 74 69 6F 6E 0D 0A 7A 38 30 09 45 51 55 09 54 52 tion..z80.EQU.TR
0001D0: 55 45 09 3B 49 74 27 73 20 67 6F 74 20 61 20 53 UE.;It's got a S
0001E0: 49 4F 20 61 6E 64 20 61 20 43 54 43 2C 20 69 74 IO and a CTC, it
0001F0: 20 6D 75 73 74 20 62 65 20 61 20 5A 38 30 0D 0A must be a Z80..
Size : 512 (Real : 512)
000000: 74 79 20 66 6C 61 67 0D 0A 69 6E 70 75 74 09 45 ty flag..input.E
000010: 51 55 09 30 32 68 09 09 3B 20 52 65 63 69 76 65 QU.02h..; Recive
000020: 72 20 62 75 66 66 65 72 20 66 75 6C 6C 20 66 6C r buffer full fl
000030: 61 67 0D 0A 54 78 45 6D 70 74 79 09 45 51 55 09 ag..TxEmpty.EQU.
000040: 30 34 68 09 09 3B 20 54 72 61 6E 73 6D 69 74 74 04h..; Transmitt
000050: 65 72 20 65 6D 70 74 79 20 66 6C 61 67 0D 0A 7A er empty flag..z
000060: 38 30 09 45 51 55 09 46 41 4C 53 45 09 09 3B 20 80.EQU.FALSE..;
000070: 49 74 27 73 20 72 65 61 6C 6C 79 20 61 6E 20 38 It's really an 8
000080: 30 38 30 20 5B 6F 72 20 38 30 38 35 20 2E 2E 2E 080 [or 8085 ...
000090: 20 73 61 6D 65 20 74 68 69 6E 67 5D 0D 0A 45 4E same thing]..EN
0000A0: 44 49 46 3B 63 70 74 38 35 78 78 0D 0A 0D 0A 49 DIF;cpt85xx....I
0000B0: 46 20 6D 6D 64 49 09 3B 4D 6F 72 72 6F 77 20 4D F mmdI.;Morrow M
0000C0: 69 63 72 6F 44 65 63 69 73 69 6F 6E 20 2D 20 74 icroDecision - t
0000D0: 68 65 20 73 69 6E 67 6C 65 2D 62 6F 61 72 64 20 he single-board
0000E0: 6F 6E 65 0D 0A 6D 6E 70 6F 72 74 09 45 51 55 09 one..mnport.EQU.
0000F0: 30 46 45 48 09 3B 4D 6F 72 72 6F 77 20 50 72 69 0FEH.;Morrow Pri
000100: 6E 74 65 72 20 55 41 52 54 20 64 61 74 61 20 70 nter UART data p
000110: 6F 72 74 0D 0A 6D 6E 70 72 74 73 09 45 51 55 09 ort..mnprts.EQU.
000120: 30 46 46 48 09 3B 4D 6F 72 72 6F 77 20 50 72 69 0FFH.;Morrow Pri
000130: 6E 74 65 72 20 55 41 52 54 20 63 6F 6D 6D 61 6E nter UART comman
000140: 64 2F 73 74 61 74 75 73 0D 0A 6F 75 74 70 75 74 d/status..output
000150: 09 45 51 55 09 30 31 48 09 3B 4F 75 74 70 75 74 .EQU.01H.;Output
000160: 20 72 65 61 64 79 20 62 69 74 2E 0D 0A 69 6E 70 ready bit...inp
000170: 75 74 09 45 51 55 09 30 32 48 09 3B 49 6E 70 75 ut.EQU.02H.;Inpu
000180: 74 20 20 72 65 61 64 79 20 62 69 74 2E 0D 0A 3B t ready bit...;
000190: 4E 6F 74 65 3A 09 4E 65 65 64 73 20 74 65 72 6D Note:.Needs term
0001A0: 69 6E 61 6C 20 64 65 66 69 6E 69 74 69 6F 6E 20 inal definition
0001B0: 28 76 74 31 30 30 2C 20 76 74 35 32 2C 20 74 76 (vt100, vt52, tv
0001C0: 69 39 32 35 2C 20 61 64 6D 33 61 20 6F 72 20 63 i925, adm3a or c
0001D0: 72 74 20 61 62 6F 76 65 29 0D 0A 7A 38 30 09 45 rt above)..z80.E
0001E0: 51 55 09 46 41 4C 53 45 09 3B 49 20 64 6F 6E 27 QU.FALSE.;I don'
0001F0: 74 20 6B 6E 6F 77 2E 2E 2E 0D 0A 45 4E 44 49 46 t know.....ENDIF
Size : 512 (Real : 512)
000000: 45 4E 44 49 46 3B 6D 69 6B 6B 6F 0D 0A 0D 0A 49 ENDIF;mikko....I
000010: 46 20 72 6F 62 69 6E 20 4F 52 20 64 6D 49 49 0D F robin OR dmII.
000020: 0A 7A 38 30 09 45 51 55 09 54 52 55 45 09 3B 20 .z80.EQU.TRUE.;
000030: 54 68 69 73 20 6F 6E 65 27 73 20 61 20 5A 38 30 This one's a Z80
000040: 0D 0A 45 4E 44 49 46 3B 72 6F 62 69 6E 20 4F 52 ..ENDIF;robin OR
000050: 20 64 6D 49 49 0D 0A 0D 0A 49 46 20 67 65 6E 65 dmII....IF gene
000060: 72 20 4F 52 20 63 70 6D 33 09 3B 20 54 6F 20 62 r OR cpm3.; To b
000070: 65 20 74 72 75 6C 79 20 67 65 6E 65 72 69 63 2C e truly generic,
000080: 20 77 65 20 6D 75 73 74 20 61 73 73 75 6D 65 20 we must assume
000090: 38 30 38 30 2E 0D 0A 7A 38 30 09 45 51 55 09 46 8080...z80.EQU.F
0000A0: 41 4C 53 45 0D 0A 45 4E 44 49 46 3B 67 65 6E 65 ALSE..ENDIF;gene
0000B0: 72 20 4F 52 20 63 70 6D 33 0D 0A 3B 0C 0D 0A 49 r OR cpm3..;...I
0000C0: 46 20 62 72 61 69 6E 20 4F 52 20 6F 73 69 20 4F F brain OR osi O
0000D0: 52 20 61 70 70 6C 65 20 4F 52 20 74 65 6C 63 6F R apple OR telco
0000E0: 6E 20 4F 52 20 78 65 72 38 32 30 0D 0A 64 65 66 n OR xer820..def
0000F0: 65 73 63 09 45 51 55 09 27 5D 27 2D 31 30 30 4F esc.EQU.']'-100O
000100: 09 3B 54 68 65 20 64 65 66 61 75 6C 74 20 65 73 .;The default es
000110: 63 61 70 65 20 63 68 61 72 61 63 74 65 72 2E 0D cape character..
000120: 0A 45 4E 44 49 46 3B 62 72 61 69 6E 20 4F 52 20 .ENDIF;brain OR
000130: 6F 73 69 20 4F 52 20 61 70 70 6C 65 20 4F 52 20 osi OR apple OR
000140: 74 65 6C 63 6F 6E 20 4F 52 20 78 65 72 38 32 30 telcon OR xer820
000150: 0D 0A 0D 0A 49 46 20 76 65 63 74 6F 72 0D 0A 64 ....IF vector..d
000160: 65 66 65 73 63 09 45 51 55 09 27 7E 27 09 09 3B efesc.EQU.'~'..;
000170: 56 65 63 74 6F 72 20 63 61 6E 27 74 20 74 79 70 Vector can't typ
000180: 65 20 27 5D 27 2E 0D 0A 45 4E 44 49 46 3B 76 65 e ']'...ENDIF;ve
000190: 63 74 6F 72 0D 0A 0D 0A 49 46 20 72 6F 62 69 6E ctor....IF robin
0001A0: 20 4F 52 20 64 6D 49 49 20 4F 52 20 6D 69 6B 6B OR dmII OR mikk
0001B0: 6F 20 4F 52 20 68 65 61 74 68 20 4F 52 20 7A 31 o OR heath OR z1
0001C0: 30 30 20 4F 52 20 6B 70 49 49 20 4F 52 20 6C 6F 00 OR kpII OR lo
0001D0: 62 6F 0D 0A 64 65 66 65 73 63 09 45 51 55 09 27 bo..defesc.EQU.'
0001E0: 5C 27 2D 31 30 30 4F 09 3B 54 68 65 20 64 65 66 \'-100O.;The def
0001F0: 61 75 6C 74 20 69 73 20 43 6F 6E 74 72 6F 6C 20 ault is Control
Size : 512 (Real : 512)
000000: 22 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 0D "...call.prtstr.
000010: 0A 09 6C 78 69 09 64 2C 74 74 79 74 79 70 09 3B ..lxi.d,ttytyp.;
000020: 20 74 65 72 6D 69 6E 61 6C 20 74 79 70 65 0D 0A terminal type..
000030: 09 63 61 6C 6C 09 70 72 74 73 74 72 0D 0A 45 4E .call.prtstr..EN
000040: 44 49 46 3B 61 64 6D 33 61 20 4F 52 20 74 76 69 DIF;adm3a OR tvi
000050: 39 32 35 20 4F 52 20 76 74 35 32 20 4F 52 20 76 925 OR vt52 OR v
000060: 74 31 30 30 20 4F 52 20 73 6D 72 74 76 64 09 3B t100 OR smrtvd.;
000070: 5B 37 5D 0D 0A 09 63 61 6C 6C 09 70 72 63 72 6C [7]...call.prcrl
000080: 66 09 09 3B 20 70 72 69 6E 74 20 43 52 2F 4C 46 f..; print CR/LF
000090: 0D 0A 3B 0D 0A 3B 20 6E 6F 77 2C 20 74 6F 20 77 ..;..; now, to w
0000A0: 6F 72 6B 2E 2E 2E 0D 0A 3B 0D 0A 49 46 20 4E 4F ork.....;..IF NO
0000B0: 54 20 6F 73 62 72 6E 31 09 09 09 3B 20 6C 6F 63 T osbrn1...; loc
0000C0: 61 74 65 20 6C 61 72 67 65 20 62 75 66 66 65 72 ate large buffer
0000D0: 20 66 6F 72 20 6D 75 6C 74 69 2D 73 65 63 74 6F for multi-secto
0000E0: 72 20 49 2F 4F 0D 0A 3B 20 57 68 61 74 20 77 65 r I/O..; What we
0000F0: 20 77 61 6E 74 20 74 6F 20 64 6F 20 68 65 72 65 want to do here
000100: 20 69 73 20 66 69 6E 64 20 74 68 65 20 63 63 70 is find the ccp
000110: 2E 20 20 53 70 61 63 65 20 62 65 74 77 65 65 6E . Space between
000120: 20 6F 76 6C 65 6E 64 20 61 6E 64 20 74 68 65 20 ovlend and the
000130: 63 63 70 0D 0A 3B 20 69 73 20 61 76 61 69 6C 61 ccp..; is availa
000140: 62 6C 65 20 66 6F 72 20 62 75 66 66 65 72 69 6E ble for bufferin
000150: 67 2C 20 65 78 63 65 70 74 20 77 65 20 64 6F 6E g, except we don
000160: 27 74 20 77 61 6E 74 20 74 6F 20 75 73 65 20 6D 't want to use m
000170: 6F 72 65 20 74 68 61 6E 20 6D 61 78 73 65 63 0D ore than maxsec.
000180: 0A 3B 20 62 75 66 66 65 72 73 20 28 69 66 20 77 .; buffers (if w
000190: 65 20 75 73 65 20 74 6F 6F 20 6D 61 6E 79 2C 20 e use too many,
0001A0: 74 68 65 20 72 65 6D 6F 74 65 20 65 6E 64 20 63 the remote end c
0001B0: 6F 75 6C 64 20 74 69 6D 65 20 6F 75 74 20 77 68 ould time out wh
0001C0: 69 6C 65 20 77 65 27 72 65 0D 0A 3B 20 77 72 69 ile we're..; wri
0001D0: 74 69 6E 67 20 74 6F 20 64 69 73 6B 29 2E 20 20 ting to disk).
0001E0: 6D 61 78 73 65 63 20 69 73 20 73 79 73 74 65 6D maxsec is system
0001F0: 2D 64 65 70 65 6E 64 65 6E 74 2C 20 62 75 74 20 -dependent, but
Size : 512 (Real : 512)
000000: 5C 20 2D 2D 20 69 74 27 73 20 65 61 73 69 65 72 \ -- it's easier
000010: 20 42 2E 45 2E 0D 0A 45 4E 44 49 46 3B 72 6F 62 B.E...ENDIF;rob
000020: 69 6E 20 4F 52 20 64 6D 49 49 20 4F 52 20 6D 69 in OR dmII OR mi
000030: 6B 6B 6F 20 4F 52 20 68 65 61 74 68 20 4F 52 20 kko OR heath OR
000040: 7A 31 30 30 20 4F 52 20 6B 70 49 49 20 4F 52 20 z100 OR kpII OR
000050: 6C 6F 62 6F 0D 0A 0D 0A 49 46 20 63 72 74 20 4F lobo....IF crt O
000060: 52 20 76 74 31 30 30 20 4F 52 20 76 74 35 32 20 R vt100 OR vt52
000070: 4F 52 20 74 76 69 39 32 35 20 4F 52 20 61 64 6D OR tvi925 OR adm
000080: 33 61 20 4F 52 20 73 6D 72 74 76 64 20 4F 52 20 3a OR smrtvd OR
000090: 63 70 74 38 35 78 78 0D 0A 64 65 66 65 73 63 09 cpt85xx..defesc.
0000A0: 45 51 55 09 27 5C 27 2D 31 30 30 4F 09 3B 53 74 EQU.'\'-100O.;St
0000B0: 69 6C 6C 20 43 6F 6E 74 72 6F 6C 2D 5C 20 28 6A ill Control-\ (j
0000C0: 75 73 74 20 72 61 6E 20 6F 75 74 20 6F 66 20 72 ust ran out of r
0000D0: 6F 6F 6D 2E 2E 2E 29 0D 0A 45 4E 44 49 46 3B 63 oom...)..ENDIF;c
0000E0: 72 74 20 4F 52 20 76 74 31 30 30 20 4F 52 20 76 rt OR vt100 OR v
0000F0: 74 35 32 20 4F 52 20 74 76 69 39 32 35 20 4F 52 t52 OR tvi925 OR
000100: 20 61 64 6D 33 61 20 4F 52 20 73 6D 72 74 76 64 adm3a OR smrtvd
000110: 20 4F 52 20 63 70 74 38 35 78 78 0D 0A 0D 0A 69 OR cpt85xx....i
000120: 66 20 6F 73 62 72 6E 31 0D 0A 64 65 66 65 73 63 f osbrn1..defesc
000130: 20 20 65 71 75 20 20 20 20 20 27 4F 27 2D 31 30 equ 'O'-10
000140: 30 4F 20 20 20 20 20 20 20 20 3B 20 47 65 72 6D 0O ; Germ
000150: 61 6E 20 4F 73 62 6F 72 6E 65 73 20 63 61 6E 27 an Osbornes can'
000160: 74 20 64 6F 20 43 6F 6E 74 72 6F 6C 20 5C 0D 0A t do Control \..
000170: 65 6E 64 69 66 20 6F 73 62 72 6E 31 20 20 20 20 endif osbrn1
000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000190: 3B 20 43 6F 6E 74 72 6F 6C 20 4F 20 69 73 20 63 ; Control O is c
0001A0: 6C 6F 73 65 20 65 6E 6F 75 67 68 2E 0D 0A 0D 0A lose enough.....
0001B0: 49 46 20 74 72 73 38 30 0D 0A 64 65 66 65 73 63 IF trs80..defesc
0001C0: 09 45 51 55 09 27 5F 27 2D 31 30 30 4F 09 3B 43 .EQU.'_'-100O.;C
0001D0: 54 52 4C 2D 5F 20 28 44 6F 77 6E 2D 61 72 72 6F TRL-_ (Down-arro
0001E0: 77 20 6F 6E 20 54 52 53 2D 38 30 20 6B 65 79 62 w on TRS-80 keyb
0001F0: 6F 61 72 64 29 0D 0A 45 4E 44 49 46 3B 74 72 73 oard)..ENDIF;trs
Size : 512 (Real : 512)
000000: 66 6F 72 20 6E 6F 77 20 77 65 27 6C 6C 20 6A 75 for now we'll ju
000010: 73 74 0D 0A 3B 20 75 73 65 20 38 4B 62 79 74 65 st..; use 8Kbyte
000020: 73 2E 20 20 49 66 20 79 6F 75 20 67 65 74 20 72 s. If you get r
000030: 65 74 72 61 6E 73 6D 69 73 73 69 6F 6E 73 20 61 etransmissions a
000040: 6E 64 20 6F 74 68 65 72 20 70 72 6F 74 6F 63 6F nd other protoco
000050: 6C 20 65 72 72 6F 72 73 20 61 66 74 65 72 0D 0A l errors after..
000060: 3B 20 74 72 61 6E 73 66 65 72 72 69 6E 67 20 74 ; transferring t
000070: 68 65 20 66 69 72 73 74 20 6D 61 78 73 65 63 20 he first maxsec
000080: 73 65 63 74 6F 72 73 2C 20 6C 6F 77 65 72 20 6D sectors, lower m
000090: 61 78 73 65 63 2E 0D 0A 0D 0A 3B 20 49 27 6D 20 axsec.....; I'm
0000A0: 65 78 63 6C 75 64 69 6E 67 20 74 68 65 20 4F 73 excluding the Os
0000B0: 62 6F 72 6E 65 20 31 20 66 6F 72 20 6E 6F 77 20 borne 1 for now
0000C0: 62 65 63 61 75 73 65 20 69 74 20 6E 65 65 64 73 because it needs
0000D0: 20 63 6F 64 65 20 75 70 20 61 74 20 34 30 30 30 code up at 4000
0000E0: 48 2C 0D 0A 3B 20 73 6F 20 77 65 27 64 20 68 61 H,..; so we'd ha
0000F0: 76 65 20 74 6F 20 73 74 61 72 74 20 74 68 65 20 ve to start the
000100: 62 75 66 66 65 72 20 61 66 74 65 72 20 74 68 61 buffer after tha
000110: 74 2E 0D 0A 0D 0A 6D 61 78 73 65 63 09 45 51 55 t.....maxsec.EQU
000120: 09 28 38 2A 31 30 32 34 29 2F 62 75 66 73 69 7A .(8*1024)/bufsiz
000130: 09 3B 20 38 4B 20 2F 20 6E 75 6D 62 65 72 20 6F .; 8K / number o
000140: 66 20 62 79 74 65 73 20 70 65 72 20 73 65 63 74 f bytes per sect
000150: 6F 72 0D 0A 0D 0A 09 6C 78 69 09 68 2C 6F 76 6C or.....lxi.h,ovl
000160: 65 6E 64 09 3B 20 67 65 74 20 73 74 61 72 74 20 end.; get start
000170: 6F 66 20 62 75 66 66 65 72 0D 0A 09 73 68 6C 64 of buffer...shld
000180: 09 62 75 66 61 64 72 09 09 3B 20 73 74 6F 72 65 .bufadr..; store
000190: 20 69 6E 20 6C 69 6E 6B 61 67 65 20 73 65 63 74 in linkage sect
0001A0: 69 6F 6E 0D 0A 09 6D 76 69 09 61 2C 6D 61 78 73 ion...mvi.a,maxs
0001B0: 65 63 09 3B 20 67 65 74 20 73 69 7A 65 20 6F 66 ec.; get size of
0001C0: 20 62 75 66 66 65 72 2C 20 69 6E 20 73 65 63 74 buffer, in sect
0001D0: 6F 72 73 0D 0A 09 73 74 61 09 62 75 66 73 65 63 ors...sta.bufsec
0001E0: 09 09 3B 20 73 74 6F 72 65 20 74 68 61 74 2C 20 ..; store that,
0001F0: 74 6F 6F 2E 0D 0A 45 4E 44 49 46 3B 4E 4F 54 20 too...ENDIF;NOT
Size : 512 (Real : 512)
000000: 38 30 0D 0A 0D 0A 3B 20 53 65 6C 65 63 74 20 69 80....; Select i
000010: 6E 69 74 69 61 6C 20 73 65 74 74 69 6E 67 20 66 nitial setting f
000020: 6F 72 20 56 54 2D 35 32 20 65 6D 75 6C 61 74 69 or VT-52 emulati
000030: 6F 6E 20 66 6C 61 67 2E 0D 0A 49 46 20 63 72 74 on flag...IF crt
000040: 09 09 09 09 3B 20 49 66 20 64 75 6D 62 20 6F 72 ....; If dumb or
000050: 20 75 6E 6B 6E 6F 77 6E 20 63 6F 6E 73 6F 6C 65 unknown console
000060: 2C 0D 0A 76 74 76 61 6C 09 45 51 55 09 30 46 46 ,..vtval.EQU.0FF
000070: 48 09 09 3B 20 20 77 65 20 63 61 6E 27 74 20 73 H..; we can't s
000080: 75 70 70 6F 72 74 20 56 54 35 32 20 65 6D 75 6C upport VT52 emul
000090: 61 74 69 6F 6E 0D 0A 45 4E 44 49 46 3B 63 72 74 ation..ENDIF;crt
0000A0: 0D 0A 0D 0A 49 46 20 68 65 61 74 68 20 4F 52 20 ....IF heath OR
0000B0: 7A 31 30 30 20 4F 52 20 74 65 6C 63 6F 6E 20 4F z100 OR telcon O
0000C0: 52 20 76 74 35 32 20 3B 20 49 66 20 63 6F 6E 73 R vt52 ; If cons
0000D0: 6F 6C 65 20 6C 6F 6F 6B 73 20 6C 69 6B 65 20 28 ole looks like (
0000E0: 6F 72 20 69 73 29 20 56 54 35 32 0D 0A 76 74 76 or is) VT52..vtv
0000F0: 61 6C 09 45 51 55 09 30 09 09 3B 20 20 77 65 20 al.EQU.0..; we
000100: 64 6F 6E 27 74 20 6E 65 65 64 20 56 54 35 32 20 don't need VT52
000110: 65 6D 75 6C 61 74 69 6F 6E 0D 0A 45 4E 44 49 46 emulation..ENDIF
000120: 3B 68 65 61 74 68 20 4F 52 20 7A 31 30 30 20 4F ;heath OR z100 O
000130: 52 20 74 65 6C 63 6F 6E 20 4F 52 20 76 74 35 32 R telcon OR vt52
000140: 0D 0A 0D 0A 49 46 20 72 6F 62 69 6E 20 4F 52 20 ....IF robin OR
000150: 64 6D 49 49 20 4F 52 20 76 74 31 30 30 09 3B 20 dmII OR vt100.;
000160: 49 66 20 63 6F 6E 73 6F 6C 65 20 6C 6F 6F 6B 73 If console looks
000170: 20 6C 69 6B 65 20 56 54 31 30 30 0D 0A 76 74 76 like VT100..vtv
000180: 61 6C 09 45 51 55 09 30 09 09 3B 20 77 65 20 70 al.EQU.0..; we p
000190: 72 6F 62 61 62 6C 79 20 64 6F 6E 27 74 20 77 61 robably don't wa
0001A0: 6E 74 20 56 54 35 32 20 65 6D 75 6C 61 74 69 6F nt VT52 emulatio
0001B0: 6E 0D 0A 45 4E 44 49 46 3B 72 6F 62 69 6E 20 4F n..ENDIF;robin O
0001C0: 52 20 64 6D 49 49 20 4F 52 20 76 74 31 30 30 0D R dmII OR vt100.
0001D0: 0A 0D 0A 3B 20 49 66 20 6E 6F 6E 65 20 6F 66 20 ...; If none of
0001E0: 74 68 65 20 61 62 6F 76 65 2C 20 64 65 66 61 75 the above, defau
0001F0: 6C 74 20 74 6F 20 56 54 35 32 2D 45 4D 55 4C 41 lt to VT52-EMULA
Size : 512 (Real : 512)
000000: 6F 73 62 72 6E 31 0D 0A 0D 0A 49 46 20 69 6F 62 osbrn1....IF iob
000010: 79 74 09 09 09 3B 20 28 61 63 74 75 61 6C 6C 79 yt...; (actually
000020: 2C 20 77 65 20 6F 75 67 68 74 20 74 6F 20 64 6F , we ought to do
000030: 20 74 68 69 73 20 66 6F 72 20 65 76 65 72 79 62 this for everyb
000040: 6F 64 79 29 0D 0A 09 63 61 6C 6C 09 69 6E 69 61 ody)...call.inia
000050: 64 72 09 3B 49 6E 69 74 69 61 6C 69 7A 65 20 74 dr.;Initialize t
000060: 68 65 20 42 49 4F 53 20 61 64 64 72 65 73 73 65 he BIOS addresse
000070: 73 0D 0A 09 6D 76 69 09 63 2C 67 74 69 6F 62 09 s...mvi.c,gtiob.
000080: 3B 47 65 74 20 63 75 72 72 65 6E 74 20 49 2F 4F ;Get current I/O
000090: 20 62 79 74 65 0D 0A 09 63 61 6C 6C 09 62 64 6F byte...call.bdo
0000A0: 73 09 3B 46 72 6F 6D 20 43 50 2F 4D 0D 0A 09 73 s.;From CP/M...s
0000B0: 74 61 09 63 6F 6E 69 6F 62 09 3B 52 65 6D 65 6D ta.coniob.;Remem
0000C0: 62 65 72 20 77 68 65 72 65 20 63 6F 6E 73 6F 6C ber where consol
0000D0: 65 20 69 73 0D 0A 45 4E 44 49 46 3B 69 6F 62 79 e is..ENDIF;ioby
0000E0: 74 0D 0A 0D 0A 49 46 20 6F 73 62 72 6E 31 0D 0A t....IF osbrn1..
0000F0: 09 6C 78 69 09 64 2C 6F 73 74 6F 70 09 09 3B 77 .lxi.d,ostop..;w
000100: 68 65 72 65 20 77 65 27 72 65 20 6D 6F 76 69 6E here we're movin
000110: 67 20 69 74 20 74 6F 0D 0A 09 6C 78 69 09 68 2C g it to...lxi.h,
000120: 6F 73 6D 6F 76 65 09 3B 77 68 61 74 20 77 65 27 osmove.;what we'
000130: 72 65 20 6D 6F 76 69 6E 67 0D 0A 09 6D 76 69 09 re moving...mvi.
000140: 62 2C 6F 73 6D 63 74 09 09 3B 48 6F 77 20 6D 61 b,osmct..;How ma
000150: 6E 79 20 62 79 74 65 73 20 77 65 27 72 65 20 6D ny bytes we're m
000160: 6F 76 69 6E 67 0D 0A 09 63 61 6C 6C 09 6D 6F 76 oving...call.mov
000170: 65 72 0D 0A 09 6C 64 61 09 62 61 75 64 72 74 09 er...lda.baudrt.
000180: 09 3B 20 46 69 6E 64 20 6F 75 74 20 77 68 61 74 .; Find out what
000190: 20 73 70 65 65 64 20 69 73 20 63 75 72 72 65 6E speed is curren
0001A0: 74 0D 0A 09 61 6E 69 09 31 0D 0A 09 6D 76 69 09 t...ani.1...mvi.
0001B0: 61 2C 6F 73 62 69 30 33 09 3B 20 61 73 73 75 6D a,osbi03.; assum
0001C0: 65 20 33 30 30 20 62 61 75 64 0D 0A 09 6A 7A 09 e 300 baud...jz.
0001D0: 6F 73 73 74 72 31 0D 0A 09 6D 76 69 09 61 2C 6F osstr1...mvi.a,o
0001E0: 73 62 69 31 32 09 3B 20 6E 6F 70 65 2C 20 69 74 sbi12.; nope, it
0001F0: 27 73 20 31 32 30 30 2E 0D 0A 6F 73 73 74 72 31 's 1200...osstr1
Size : 512 (Real : 512)
000000: 54 49 4F 4E 20 4F 4E 2E 0D 0A 49 46 20 4E 4F 54 TION ON...IF NOT
000010: 20 28 63 72 74 20 4F 52 20 68 65 61 74 68 20 4F (crt OR heath O
000020: 52 20 7A 31 30 30 20 4F 52 20 74 65 6C 63 6F 6E R z100 OR telcon
000030: 20 4F 52 20 76 74 35 32 20 4F 52 20 72 6F 62 69 OR vt52 OR robi
000040: 6E 20 4F 52 20 64 6D 49 49 20 4F 52 20 76 74 31 n OR dmII OR vt1
000050: 30 30 29 0D 0A 76 74 76 61 6C 09 45 51 55 09 31 00)..vtval.EQU.1
000060: 0D 0A 45 4E 44 49 46 3B 4E 4F 54 20 28 63 72 74 ..ENDIF;NOT (crt
000070: 20 4F 52 20 68 65 61 74 68 20 4F 52 20 7A 31 30 OR heath OR z10
000080: 30 20 4F 52 20 74 65 6C 63 6F 6E 20 4F 52 20 76 0 OR telcon OR v
000090: 74 35 32 20 4F 52 20 72 6F 62 69 6E 20 4F 52 20 t52 OR robin OR
0000A0: 64 6D 49 49 20 4F 52 20 76 74 31 30 30 29 0D 0A dmII OR vt100)..
0000B0: 0D 0A 3B 20 53 65 74 20 74 68 65 20 66 75 7A 7A ..; Set the fuzz
0000C0: 79 20 74 69 6D 65 6F 75 74 20 76 61 6C 75 65 2E y timeout value.
0000D0: 20 20 52 61 6E 67 65 20 69 73 20 31 20 28 56 45 Range is 1 (VE
0000E0: 52 59 20 73 68 6F 72 74 29 20 74 68 72 6F 75 67 RY short) throug
0000F0: 68 20 30 66 66 66 66 48 20 74 6F 20 7A 65 72 6F h 0ffffH to zero
000100: 0D 0A 3B 20 28 6D 61 78 69 6D 75 6D 29 2E 20 20 ..; (maximum).
000110: 54 68 65 20 61 63 74 75 61 6C 20 64 75 72 61 74 The actual durat
000120: 69 6F 6E 20 69 73 20 61 20 66 75 6E 63 74 69 6F ion is a functio
000130: 6E 20 6F 66 20 74 68 65 20 6C 6F 6F 70 20 6C 65 n of the loop le
000140: 6E 67 74 68 20 61 6E 64 20 74 68 65 0D 0A 3B 20 ngth and the..;
000150: 70 72 6F 63 65 73 73 6F 72 20 73 70 65 65 64 2E processor speed.
000160: 20 20 46 6F 72 20 6E 6F 77 2C 20 77 65 27 6C 6C For now, we'll
000170: 20 6D 61 6B 65 20 69 74 20 7A 65 72 6F 20 66 6F make it zero fo
000180: 72 20 65 76 65 72 79 62 6F 64 79 2C 20 62 75 74 r everybody, but
000190: 20 66 65 65 6C 20 66 72 65 65 0D 0A 3B 20 74 6F feel free..; to
0001A0: 20 63 68 61 6E 67 65 20 69 74 20 66 6F 72 20 79 change it for y
0001B0: 6F 75 72 20 73 79 73 74 65 6D 2E 0D 0A 66 75 7A our system...fuz
0001C0: 76 61 6C 09 45 51 55 09 30 0D 0A 0D 0A 3B 0C 0D val.EQU.0....;..
0001D0: 0A 3B 0D 0A 3B 09 53 79 73 74 65 6D 2D 64 65 70 .;..;.System-dep
0001E0: 65 6E 64 65 6E 74 20 69 6E 69 74 69 61 6C 69 7A endent initializ
0001F0: 61 74 69 6F 6E 0D 0A 3B 09 43 61 6C 6C 65 64 20 ation..;.Called
Size : 512 (Real : 512)
000000: 3A 09 73 74 61 09 73 70 65 65 64 09 09 3B 20 73 :.sta.speed..; s
000010: 61 76 65 20 69 6E 69 74 69 61 6C 20 73 70 65 65 ave initial spee
000020: 64 0D 0A 09 73 74 61 09 73 70 65 65 64 2B 31 09 d...sta.speed+1.
000030: 09 3B 20 20 61 73 20 31 36 20 62 69 74 73 2C 20 .; as 16 bits,
000040: 74 6F 20 6D 61 74 63 68 20 73 70 65 65 64 20 74 to match speed t
000050: 61 62 6C 65 20 65 6E 74 72 69 65 73 0D 0A 09 6D able entries...m
000060: 6F 76 09 64 2C 61 0D 0A 09 6D 6F 76 09 65 2C 61 ov.d,a...mov.e,a
000070: 09 09 3B 20 67 65 74 20 69 6E 69 74 69 61 6C 20 ..; get initial
000080: 73 70 65 65 64 20 69 6E 20 44 45 0D 0A 09 63 61 speed in DE...ca
000090: 6C 6C 09 73 79 73 73 70 64 09 09 3B 73 65 74 20 ll.sysspd..;set
0000A0: 75 70 20 70 61 72 69 74 79 20 65 74 63 2E 0D 0A up parity etc...
0000B0: 45 4E 44 49 46 3B 6F 73 62 72 6E 31 0D 0A 0D 0A ENDIF;osbrn1....
0000C0: 49 46 20 62 62 49 20 4F 52 20 62 62 49 49 0D 0A IF bbI OR bbII..
0000D0: 09 6C 78 69 09 64 2C 73 69 6F 74 62 6C 09 3B 20 .lxi.d,siotbl.;
0000E0: 4C 6F 61 64 20 74 68 65 20 61 64 64 72 65 73 73 Load the address
0000F0: 20 6F 66 20 74 68 65 20 73 74 61 74 75 73 20 61 of the status a
000100: 62 6C 65 0D 0A 09 6D 76 69 09 63 2C 73 69 6F 6C ble...mvi.c,siol
000110: 65 6E 09 3B 20 4C 65 6E 67 74 68 20 6F 66 20 73 en.; Length of s
000120: 74 61 74 75 73 20 74 61 62 6C 65 0D 0A 73 69 6F tatus table..sio
000130: 6C 75 70 3A 09 3B 4C 6F 6F 70 20 62 61 63 6B 20 lup:.;Loop back
000140: 68 65 72 65 20 66 6F 72 20 65 61 63 68 20 63 6F here for each co
000150: 6D 6D 61 6E 64 20 62 79 74 65 0D 0A 09 6C 64 61 mmand byte...lda
000160: 78 09 64 09 09 3B 20 4C 6F 61 64 20 74 68 65 20 x.d..; Load the
000170: 66 69 72 73 74 20 62 79 74 65 20 69 6E 74 6F 20 first byte into
000180: 41 0D 0A 09 69 6E 78 09 64 09 09 3B 20 49 6E 64 A...inx.d..; Ind
000190: 65 78 20 74 68 65 20 70 6F 69 6E 74 65 72 0D 0A ex the pointer..
0001A0: 09 6F 75 74 09 6D 6E 70 72 74 73 09 09 3B 20 53 .out.mnprts..; S
0001B0: 65 6E 64 20 69 74 20 74 6F 20 74 68 65 20 73 74 end it to the st
0001C0: 61 74 75 73 20 70 6F 72 74 0D 0A 09 64 63 72 09 atus port...dcr.
0001D0: 63 09 09 3B 20 44 65 63 72 65 6D 65 6E 74 20 74 c..; Decrement t
0001E0: 68 65 20 62 79 74 65 20 63 6F 75 6E 74 65 72 0D he byte counter.
0001F0: 0A 09 6A 6E 7A 09 73 69 6F 6C 75 70 09 09 3B 20 ..jnz.siolup..;
Size : 512 (Real : 512)
000000: 6F 6E 63 65 20 61 74 20 70 72 6F 67 72 61 6D 20 once at program
000010: 73 74 61 72 74 2E 0D 0A 73 79 73 69 6E 69 74 3A start...sysinit:
000020: 0D 0A 09 6D 76 69 09 63 2C 67 65 74 76 6E 6D 09 ...mvi.c,getvnm.
000030: 3B 20 67 65 74 20 74 68 65 20 42 44 4F 53 20 76 ; get the BDOS v
000040: 65 72 73 69 6F 6E 20 6E 75 6D 62 65 72 20 28 65 ersion number (e
000050: 2E 67 2E 20 32 32 48 2C 20 33 31 48 29 0D 0A 09 .g. 22H, 31H)...
000060: 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 6D 6F 76 09 call.bdos...mov.
000070: 61 2C 6C 0D 0A 09 73 74 61 09 62 64 6F 73 76 72 a,l...sta.bdosvr
000080: 09 09 3B 20 61 6E 64 20 73 74 6F 72 65 20 69 74 ..; and store it
000090: 20 61 77 61 79 20 66 6F 72 20 66 75 74 75 72 65 away for future
0000A0: 20 72 65 66 65 72 65 6E 63 65 0D 0A 3B 0D 0A 09 reference..;...
0000B0: 6C 78 69 09 64 2C 63 66 67 6D 73 67 09 3B 20 22 lxi.d,cfgmsg.; "
0000C0: 63 6F 6E 66 69 67 75 72 65 64 20 66 6F 72 20 22 configured for "
0000D0: 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 0D 0A ...call.prtstr..
0000E0: 09 6C 78 69 09 64 2C 73 79 73 76 65 72 09 3B 20 .lxi.d,sysver.;
0000F0: 67 65 74 20 63 6F 6E 66 69 67 75 72 61 74 69 6F get configuratio
000100: 6E 20 77 65 27 72 65 20 63 6F 6E 66 69 67 75 72 n we're configur
000110: 65 64 20 66 6F 72 0D 0A 09 63 61 6C 6C 09 70 72 ed for...call.pr
000120: 74 73 74 72 09 09 3B 20 70 72 69 6E 74 20 69 74 tstr..; print it
000130: 2E 0D 0A 3B 0D 0A 3B 09 49 66 20 77 65 27 72 65 ...;..;.If we're
000140: 20 73 65 74 20 75 70 20 74 6F 20 64 6F 20 73 70 set up to do sp
000150: 65 63 69 61 6C 20 74 65 72 6D 69 6E 61 6C 20 68 ecial terminal h
000160: 61 6E 64 6C 69 6E 67 2C 20 73 61 79 20 77 68 61 andling, say wha
000170: 74 20 6B 69 6E 64 0D 0A 3B 09 6F 66 20 74 65 72 t kind..;.of ter
000180: 6D 69 6E 61 6C 20 77 65 20 65 78 70 65 63 74 2E minal we expect.
000190: 2E 2E 20 28 75 6E 6C 65 73 73 20 69 74 27 73 20 .. (unless it's
0001A0: 74 68 65 20 67 65 6E 65 72 69 63 20 27 63 72 74 the generic 'crt
0001B0: 27 29 0D 0A 49 46 20 61 64 6D 33 61 20 4F 52 20 ')..IF adm3a OR
0001C0: 74 76 69 39 32 35 20 4F 52 20 76 74 35 32 20 4F tvi925 OR vt52 O
0001D0: 52 20 76 74 31 30 30 20 4F 52 20 73 6D 72 74 76 R vt100 OR smrtv
0001E0: 64 09 09 3B 5B 37 5D 0D 0A 09 6C 78 69 09 64 2C d..;[7]...lxi.d,
0001F0: 77 69 74 6D 73 67 09 3B 20 22 20 77 69 74 68 20 witmsg.; " with
Size : 512 (Real : 512)
000000: 4A 75 6D 70 20 62 61 63 6B 20 66 6F 72 20 6D 6F Jump back for mo
000010: 72 65 20 63 6F 6D 6D 61 6E 64 73 0D 0A 45 4E 44 re commands..END
000020: 49 46 3B 62 62 49 20 6F 72 20 62 62 49 49 0D 0A IF;bbI or bbII..
000030: 0D 0A 49 46 20 63 70 74 38 35 78 78 0D 0A 09 6D ..IF cpt85xx...m
000040: 76 69 09 61 2C 38 30 68 09 09 3B 20 53 65 6E 64 vi.a,80h..; Send
000050: 20 55 41 52 54 20 72 65 73 65 74 20 5B 66 6F 72 UART reset [for
000060: 63 65 20 69 64 6C 65 5D 20 62 79 20 73 65 74 74 ce idle] by sett
000070: 69 6E 67 0D 0A 09 6F 75 74 09 62 61 75 64 72 74 ing...out.baudrt
000080: 09 09 3B 20 20 20 20 62 69 74 20 37 20 6F 66 20 ..; bit 7 of
000090: 62 61 75 64 20 72 61 74 65 20 49 2F 4F 20 70 6F baud rate I/O po
0000A0: 72 74 0D 0A 09 6D 76 69 09 61 2C 30 46 68 09 09 rt...mvi.a,0Fh..
0000B0: 3B 20 43 6C 65 61 72 20 72 65 73 65 74 20 62 69 ; Clear reset bi
0000C0: 74 20 61 6E 64 20 64 65 66 61 75 6C 74 20 74 6F t and default to
0000D0: 20 39 36 30 30 20 62 61 75 64 0D 0A 09 6F 75 74 9600 baud...out
0000E0: 09 62 61 75 64 72 74 0D 0A 09 6D 76 69 09 61 2C .baudrt...mvi.a,
0000F0: 34 45 68 09 09 3B 20 53 65 74 20 55 41 52 54 20 4Eh..; Set UART
000100: 6D 6F 64 65 20 74 6F 20 61 73 79 6E 63 20 31 36 mode to async 16
000110: 78 20 63 6C 6F 63 6B 2C 20 38 20 64 61 74 61 0D x clock, 8 data.
000120: 0A 09 6F 75 74 09 6D 6E 70 72 74 73 09 09 3B 20 ..out.mnprts..;
000130: 20 20 20 62 69 74 73 2C 20 6E 6F 20 70 61 72 69 bits, no pari
000140: 74 79 2C 20 61 6E 64 20 31 20 73 74 6F 70 20 62 ty, and 1 stop b
000150: 69 74 0D 0A 09 6D 76 69 09 61 2C 33 37 68 09 09 it...mvi.a,37h..
000160: 3B 20 53 65 74 20 63 6F 6D 6D 61 6E 64 20 74 6F ; Set command to
000170: 20 54 78 20 65 6E 61 62 6C 65 2C 20 44 54 52 20 Tx enable, DTR
000180: 6F 6E 2C 20 52 78 20 65 6E 61 62 6C 65 2C 0D 0A on, Rx enable,..
000190: 09 6F 75 74 09 6D 6E 70 72 74 73 09 09 3B 20 20 .out.mnprts..;
0001A0: 20 20 62 72 65 61 6B 20 6F 66 66 2C 20 65 72 72 break off, err
0001B0: 6F 72 20 72 65 73 65 74 2C 20 61 6E 64 20 52 54 or reset, and RT
0001C0: 53 20 6F 6E 0D 0A 45 4E 44 49 46 3B 63 70 74 38 S on..ENDIF;cpt8
0001D0: 35 78 78 0D 0A 0D 0A 49 46 20 6C 6F 62 6F 09 3B 5xx....IF lobo.;
0001E0: 5B 68 68 5D 0D 0A 09 6C 78 69 09 64 2C 73 69 6F [hh]...lxi.d,sio
0001F0: 74 62 6C 09 3B 5B 68 68 5D 20 61 64 64 72 65 73 tbl.;[hh] addres
Size : 512 (Real : 512)
000000: 73 6F 20 77 65 20 63 61 6E 20 74 65 6C 6C 20 77 so we can tell w
000010: 68 61 74 20 73 70 65 65 64 20 69 73 20 73 65 6C hat speed is sel
000020: 65 63 74 65 64 2E 0D 0A 3B 0D 0A 09 6D 76 69 09 ected...;...mvi.
000030: 61 2C 30 37 68 09 09 3B 5B 37 5D 20 67 65 74 20 a,07h..;[7] get
000040: 76 61 6C 75 65 20 66 6F 72 20 31 32 30 30 20 62 value for 1200 b
000050: 61 75 64 0D 0A 09 6F 75 74 09 62 61 75 64 72 74 aud...out.baudrt
000060: 09 09 3B 5B 37 5D 20 73 65 74 20 69 74 20 66 6F ..;[7] set it fo
000070: 72 20 70 6F 72 74 20 32 0D 0A 09 73 74 61 09 73 r port 2...sta.s
000080: 70 65 65 64 09 09 3B 5B 37 5D 20 73 61 76 65 20 peed..;[7] save
000090: 66 6F 72 20 73 74 61 74 75 73 20 64 69 73 70 6C for status displ
0000A0: 61 79 0D 0A 09 73 74 61 09 73 70 65 65 64 2B 31 ay...sta.speed+1
0000B0: 0D 0A 45 4E 44 49 46 3B 5B 37 5D 20 64 65 6C 70 ..ENDIF;[7] delp
0000C0: 68 69 0D 0A 3B 0C 0D 0A 49 46 20 68 65 61 74 68 hi..;...IF heath
0000D0: 0D 0A 3B 0D 0A 3B 09 53 79 73 74 65 6D 20 64 65 ..;..;.System de
0000E0: 70 65 6E 64 65 6E 74 20 73 74 61 72 74 75 70 20 pendent startup
0000F0: 66 6F 72 20 48 38 39 0D 0A 3B 0D 0A 0D 0A 09 63 for H89..;.....c
000100: 61 6C 6C 09 6D 64 6D 6F 66 6C 09 09 3B 20 6B 65 all.mdmofl..; ke
000110: 65 70 20 74 68 65 20 6C 69 6E 65 20 73 61 66 65 ep the line safe
000120: 20 66 72 6F 6D 20 67 61 72 62 61 67 65 0D 0A 0D from garbage...
000130: 0A 3B 09 46 69 72 73 74 2C 20 74 65 6C 6C 20 4B .;.First, tell K
000140: 65 72 6D 69 74 20 74 68 65 20 6D 6F 64 65 6D 20 ermit the modem
000150: 70 6F 72 74 27 73 20 63 75 72 72 65 6E 74 20 73 port's current s
000160: 70 65 65 64 0D 0A 09 69 6E 09 6D 6E 70 6F 72 74 peed...in.mnport
000170: 2B 61 63 65 6C 63 72 0D 0A 09 6F 72 69 09 61 63 +acelcr...ori.ac
000180: 65 64 6C 61 0D 0A 09 6F 75 74 09 6D 6E 70 6F 72 edla...out.mnpor
000190: 74 2B 61 63 65 6C 63 72 09 3B 20 61 63 63 65 73 t+acelcr.; acces
0001A0: 73 20 74 68 65 20 41 43 45 27 73 20 64 69 76 69 s the ACE's divi
0001B0: 73 6F 72 20 6C 61 74 63 68 0D 0A 09 69 6E 09 6D sor latch...in.m
0001C0: 6E 70 6F 72 74 2B 61 63 65 64 6C 6C 09 3B 20 67 nport+acedll.; g
0001D0: 65 74 20 74 68 65 20 6C 6F 77 20 62 79 74 65 0D et the low byte.
0001E0: 0A 09 73 74 61 09 73 70 65 65 64 0D 0A 09 69 6E ..sta.speed...in
0001F0: 09 6D 6E 70 6F 72 74 2B 61 63 65 64 6C 68 09 3B .mnport+acedlh.;
Size : 512 (Real : 512)
000000: 73 20 6F 66 20 73 74 61 74 75 73 20 74 61 62 6C s of status tabl
000010: 65 0D 0A 09 6D 76 69 09 63 2C 73 69 6F 6C 65 6E e...mvi.c,siolen
000020: 09 3B 5B 68 68 5D 20 6C 65 6E 67 74 68 20 6F 66 .;[hh] length of
000030: 20 74 68 65 20 74 61 62 6C 65 0D 0A 73 69 6F 6C the table..siol
000040: 75 70 3A 09 3B 5B 68 68 5D 20 6C 6F 6F 70 20 68 up:.;[hh] loop h
000050: 65 72 65 20 66 6F 72 20 65 61 63 68 20 63 6F 6D ere for each com
000060: 6D 61 6E 64 20 62 79 74 65 0D 0A 09 6C 64 61 78 mand byte...ldax
000070: 09 64 09 09 3B 5B 68 68 5D 20 6C 6F 61 64 20 66 .d..;[hh] load f
000080: 69 72 73 74 20 62 79 74 65 20 69 6E 74 6F 20 41 irst byte into A
000090: 0D 0A 09 69 6E 78 09 64 09 09 3B 5B 68 68 5D 20 ...inx.d..;[hh]
0000A0: 69 6E 64 65 78 20 70 6F 69 6E 74 65 72 20 74 6F index pointer to
0000B0: 20 6E 65 78 74 20 62 75 74 65 0D 0A 09 73 74 61 next bute...sta
0000C0: 09 6D 6E 70 72 74 73 09 09 3B 5B 68 68 5D 20 73 .mnprts..;[hh] s
0000D0: 65 6E 64 20 69 74 20 74 6F 20 73 74 61 74 75 73 end it to status
0000E0: 20 70 6F 72 74 20 41 0D 0A 09 73 74 61 09 6D 6E port A...sta.mn
0000F0: 70 72 74 73 2B 32 09 3B 5B 68 68 5D 20 61 6E 64 prts+2.;[hh] and
000100: 20 74 6F 20 73 74 61 74 75 73 20 70 6F 72 74 20 to status port
000110: 42 0D 0A 09 64 63 72 09 63 09 09 3B 5B 68 68 5D B...dcr.c..;[hh]
000120: 20 64 65 63 72 65 6D 65 6E 74 20 74 68 65 20 63 decrement the c
000130: 6F 75 6E 74 65 72 0D 0A 09 6A 6E 7A 09 73 69 6F ounter...jnz.sio
000140: 6C 75 70 09 09 3B 5B 68 68 5D 20 6C 6F 6F 70 20 lup..;[hh] loop
000150: 62 61 63 6B 20 66 6F 72 20 6D 6F 72 65 20 63 6F back for more co
000160: 6D 6D 61 6E 64 73 0D 0A 09 6D 76 69 09 61 2C 30 mmands...mvi.a,0
000170: 35 48 09 09 3B 5B 68 68 5D 20 76 61 6C 75 65 20 5H..;[hh] value
000180: 66 6F 72 20 33 30 30 20 62 61 75 64 0D 0A 09 73 for 300 baud...s
000190: 74 61 09 62 61 75 64 72 74 09 09 3B 5B 68 68 5D ta.baudrt..;[hh]
0001A0: 20 73 74 61 72 74 69 6E 67 20 64 65 66 61 75 6C starting defaul
0001B0: 74 20 66 6F 72 20 70 6F 72 74 20 41 0D 0A 09 73 t for port A...s
0001C0: 74 61 09 62 61 75 64 72 74 2B 34 09 3B 5B 68 68 ta.baudrt+4.;[hh
0001D0: 5D 20 61 6E 64 20 66 6F 72 20 70 6F 72 74 20 42 ] and for port B
0001E0: 0D 0A 09 73 74 61 09 73 70 65 65 64 09 09 3B 5B ...sta.speed..;[
0001F0: 68 68 5D 20 74 65 6C 6C 20 70 72 6F 67 72 61 6D hh] tell program
Size : 512 (Real : 512)
000000: 20 61 6E 64 20 74 68 65 20 68 69 67 68 20 62 79 and the high by
000010: 74 65 0D 0A 09 73 74 61 09 73 70 65 65 64 2B 31 te...sta.speed+1
000020: 0D 0A 0D 0A 3B 09 4E 6F 77 20 73 65 74 20 75 70 ....;.Now set up
000030: 20 74 68 65 20 70 6F 72 74 20 66 6F 72 20 4B 65 the port for Ke
000040: 72 6D 69 74 0D 0A 09 6D 76 69 09 61 2C 61 63 65 rmit...mvi.a,ace
000050: 38 62 77 09 3B 20 38 20 64 61 74 61 20 62 69 74 8bw.; 8 data bit
000060: 73 2C 20 31 20 73 74 6F 70 20 62 69 74 2C 20 6E s, 1 stop bit, n
000070: 6F 20 70 61 72 69 74 79 0D 0A 09 6F 75 74 09 6D o parity...out.m
000080: 6E 70 6F 72 74 2B 61 63 65 6C 63 72 0D 0A 09 69 nport+acelcr...i
000090: 6E 09 6D 6E 70 6F 72 74 2B 61 63 65 6D 63 72 0D n.mnport+acemcr.
0000A0: 0A 09 6F 72 69 09 61 63 65 64 74 72 09 09 3B 20 ..ori.acedtr..;
0000B0: 72 61 69 73 65 20 44 54 52 20 28 6A 75 73 74 20 raise DTR (just
0000C0: 69 6E 20 63 61 73 65 29 0D 0A 09 6F 75 74 09 6D in case)...out.m
0000D0: 6E 70 6F 72 74 2B 61 63 65 6D 63 72 0D 0A 09 63 nport+acemcr...c
0000E0: 61 6C 6C 09 6D 64 6D 6F 6E 6C 09 09 3B 20 61 6E all.mdmonl..; an
0000F0: 64 20 70 75 74 20 74 68 65 20 41 43 45 20 62 61 d put the ACE ba
000100: 63 6B 20 6F 6E 20 6C 69 6E 65 0D 0A 09 72 65 74 ck on line...ret
000110: 0D 0A 0D 0A 3B 09 54 61 6B 65 20 74 68 65 20 41 ....;.Take the A
000120: 43 45 20 6F 66 66 20 6C 69 6E 65 20 62 65 66 6F CE off line befo
000130: 72 65 20 6D 6F 64 69 66 79 69 6E 67 20 69 74 73 re modifying its
000140: 20 73 74 61 74 65 0D 0A 6D 64 6D 6F 66 6C 3A 0D state..mdmofl:.
000150: 0A 09 69 6E 09 6D 6E 70 6F 72 74 2B 61 63 65 69 ..in.mnport+acei
000160: 65 72 09 3B 20 73 61 76 65 20 74 68 65 20 41 43 er.; save the AC
000170: 45 27 73 20 69 6E 74 65 72 72 75 70 74 20 73 74 E's interrupt st
000180: 61 74 65 0D 0A 09 73 74 61 09 69 65 72 73 61 76 ate...sta.iersav
000190: 0D 0A 09 78 72 61 09 61 0D 0A 09 6F 75 74 09 6D ...xra.a...out.m
0001A0: 6E 70 6F 72 74 2B 61 63 65 69 65 72 09 3B 20 61 nport+aceier.; a
0001B0: 6E 64 20 64 69 73 61 62 6C 65 20 41 43 45 20 69 nd disable ACE i
0001C0: 6E 74 65 72 72 75 70 74 73 0D 0A 09 69 6E 09 6D nterrupts...in.m
0001D0: 6E 70 6F 72 74 2B 61 63 65 6D 63 72 09 3B 20 6E nport+acemcr.; n
0001E0: 6F 77 20 70 75 74 20 74 68 65 20 41 43 45 20 69 ow put the ACE i
0001F0: 6E 20 6C 6F 6F 70 62 61 63 6B 20 6D 6F 64 65 0D n loopback mode.
Size : 512 (Real : 512)
000000: 20 74 68 65 79 27 72 65 20 73 65 74 0D 0A 09 6D they're set...m
000010: 76 69 09 61 2C 30 45 34 48 09 09 3B 5B 68 68 5D vi.a,0E4H..;[hh]
000020: 20 76 61 6C 75 65 20 66 6F 72 20 70 6F 72 74 20 value for port
000030: 41 0D 0A 09 73 74 61 09 70 6F 72 74 09 09 3B 5B A...sta.port..;[
000040: 68 68 5D 20 74 65 6C 6C 20 70 72 6F 67 72 61 6D hh] tell program
000050: 20 77 65 27 76 65 20 73 65 74 20 74 68 69 73 2C we've set this,
000060: 20 74 6F 6F 0D 0A 09 6D 76 69 09 61 2C 30 44 30 too...mvi.a,0D0
000070: 48 09 09 3B 5B 68 68 5D 20 70 6F 72 74 20 41 20 H..;[hh] port A
000080: 62 61 75 64 20 72 61 74 65 20 76 61 6C 75 65 0D baud rate value.
000090: 0A 09 73 74 61 09 70 6F 72 74 2B 31 09 09 3B 5B ..sta.port+1..;[
0000A0: 68 68 5D 20 73 61 76 65 20 74 68 69 73 20 61 73 hh] save this as
0000B0: 20 77 65 6C 6C 2C 20 66 6F 72 20 63 6F 6E 73 69 well, for consi
0000C0: 73 74 61 6E 63 79 0D 0A 45 4E 44 49 46 09 3B 6C stancy..ENDIF.;l
0000D0: 6F 62 6F 0D 0A 0D 0A 49 46 20 6D 69 6B 6B 6F 0D obo....IF mikko.
0000E0: 0A 09 6C 78 69 09 64 2C 6D 69 6E 74 62 6C 09 3B ..lxi.d,mintbl.;
0000F0: 41 64 64 72 65 73 73 20 6F 66 20 4B 45 52 4D 49 Address of KERMI
000100: 54 20 52 65 67 20 76 61 6C 75 65 73 20 28 77 68 T Reg values (wh
000110: 61 74 29 0D 0A 09 6D 76 69 09 63 2C 6D 69 6E 6C at)...mvi.c,minl
000120: 65 6E 09 3B 4C 65 6E 67 74 68 20 6F 66 20 74 61 en.;Length of ta
000130: 62 6C 65 20 28 68 6F 77 20 6D 61 6E 79 29 0D 0A ble (how many)..
000140: 09 6C 78 69 09 68 2C 73 69 6F 61 63 09 09 3B 53 .lxi.h,sioac..;S
000150: 65 6E 64 20 64 61 74 61 20 74 6F 20 63 68 2E 20 end data to ch.
000160: 41 20 53 49 4F 20 72 65 67 69 73 74 65 72 73 20 A SIO registers
000170: 28 74 6F 20 77 68 65 72 65 29 0D 0A 09 63 61 6C (to where)...cal
000180: 6C 09 6D 6F 76 6D 69 6B 0D 0A 09 6D 76 69 09 61 l.movmik...mvi.a
000190: 2C 30 46 46 48 09 09 3B 53 65 74 20 63 68 2E 20 ,0FFH..;Set ch.
0001A0: 41 20 6D 61 73 6B 20 74 6F 20 75 73 65 20 61 6C A mask to use al
0001B0: 6C 20 62 69 74 73 0D 0A 09 73 74 61 09 63 68 6D l bits...sta.chm
0001C0: 61 73 6B 0D 0A 45 4E 44 49 46 3B 6D 69 6B 6B 6F ask..ENDIF;mikko
0001D0: 0D 0A 0D 0A 49 46 20 62 72 61 69 6E 0D 0A 09 6C ....IF brain...l
0001E0: 64 61 09 62 61 75 64 72 74 09 09 3B 20 66 65 74 da.baudrt..; fet
0001F0: 63 68 20 63 75 72 72 65 6E 74 20 62 61 75 64 20 ch current baud
Size : 512 (Real : 512)
000000: 0A 09 6F 72 69 09 61 63 65 6C 6F 6F 0D 0A 09 6F ..ori.aceloo...o
000010: 75 74 09 6D 6E 70 6F 72 74 2B 61 63 65 6D 63 72 ut.mnport+acemcr
000020: 0D 0A 09 72 65 74 0D 0A 0D 0A 3B 09 50 75 74 20 ...ret....;.Put
000030: 74 68 65 20 41 43 45 20 62 61 63 6B 20 6F 6E 20 the ACE back on
000040: 6C 69 6E 65 0D 0A 6D 64 6D 6F 6E 6C 3A 0D 0A 09 line..mdmonl:...
000050: 69 6E 09 6D 6E 70 6F 72 74 09 09 3B 20 66 6C 75 in.mnport..; flu
000060: 73 68 20 6C 65 66 74 2D 6F 76 65 72 20 67 61 72 sh left-over gar
000070: 62 61 67 65 20 69 6E 20 74 68 65 20 72 65 63 65 bage in the rece
000080: 69 76 65 20 62 75 66 66 65 72 0D 0A 09 6D 76 69 ive buffer...mvi
000090: 09 61 2C 37 09 09 3B 20 77 61 69 74 20 61 62 6F .a,7..; wait abo
0000A0: 75 74 20 32 20 33 30 30 2D 62 61 75 64 20 63 68 ut 2 300-baud ch
0000B0: 61 72 61 63 74 65 72 20 74 69 6D 65 73 0D 0A 09 aracter times...
0000C0: 63 61 6C 6C 09 64 65 6C 61 79 0D 0A 09 69 6E 09 call.delay...in.
0000D0: 6D 6E 70 6F 72 74 09 09 3B 20 61 6E 64 20 66 6C mnport..; and fl
0000E0: 75 73 68 20 6D 6F 72 65 20 67 61 72 62 61 67 65 ush more garbage
0000F0: 0D 0A 09 69 6E 09 6D 6E 70 6F 72 74 2B 61 63 65 ...in.mnport+ace
000100: 6D 63 72 09 3B 20 74 61 6B 65 20 74 68 65 20 41 mcr.; take the A
000110: 43 45 20 6F 75 74 20 6F 66 20 6C 6F 6F 70 62 61 CE out of loopba
000120: 63 6B 20 6D 6F 64 65 0D 0A 09 61 6E 69 09 30 46 ck mode...ani.0F
000130: 46 48 2D 61 63 65 6C 6F 6F 0D 0A 09 6F 75 74 09 FH-aceloo...out.
000140: 6D 6E 70 6F 72 74 2B 61 63 65 6D 63 72 0D 0A 09 mnport+acemcr...
000150: 6C 64 61 09 69 65 72 73 61 76 0D 0A 09 6F 75 74 lda.iersav...out
000160: 09 6D 6E 70 6F 72 74 2B 61 63 65 69 65 72 09 3B .mnport+aceier.;
000170: 20 61 6E 64 20 72 65 73 74 6F 72 65 20 74 68 65 and restore the
000180: 20 41 43 45 27 73 20 69 6E 74 65 72 72 75 70 74 ACE's interrupt
000190: 20 73 74 61 74 65 0D 0A 09 72 65 74 0D 0A 0D 0A state...ret....
0001A0: 69 65 72 73 61 76 3A 09 64 73 09 31 0D 0A 45 4E iersav:.ds.1..EN
0001B0: 44 49 46 3B 68 65 61 74 68 0D 0A 0D 0A 09 72 65 DIF;heath.....re
0001C0: 74 09 09 09 3B 20 72 65 74 75 72 6E 20 66 72 6F t...; return fro
0001D0: 6D 20 73 79 73 74 65 6D 2D 64 65 70 65 6E 64 65 m system-depende
0001E0: 6E 74 20 72 6F 75 74 69 6E 65 0D 0A 0D 0A 62 64 nt routine....bd
0001F0: 6F 73 76 72 3A 09 64 73 09 31 09 09 3B 20 73 70 osvr:.ds.1..; sp
Size : 512 (Real : 512)
000000: 72 61 74 65 0D 0A 09 61 6E 69 09 30 46 30 48 09 rate...ani.0F0H.
000010: 09 3B 20 65 78 74 72 61 63 74 20 6C 65 66 74 20 .; extract left
000020: 6E 69 62 62 6C 65 0D 0A 09 72 72 63 09 09 09 3B nibble...rrc...;
000030: 20 73 68 69 66 74 20 72 69 67 68 74 20 34 20 70 shift right 4 p
000040: 6C 61 63 65 73 0D 0A 09 72 72 63 0D 0A 09 72 72 laces...rrc...rr
000050: 63 0D 0A 09 72 72 63 0D 0A 09 73 74 61 09 73 70 c...rrc...sta.sp
000060: 65 65 64 09 09 3B 20 73 74 6F 72 65 20 61 73 20 eed..; store as
000070: 63 6F 6D 6D 20 70 6F 72 74 20 73 70 65 65 64 0D comm port speed.
000080: 0A 09 73 74 61 09 73 70 65 65 64 2B 31 09 09 3B ..sta.speed+1..;
000090: 20 20 28 31 36 20 62 69 74 73 2C 20 74 6F 20 6D (16 bits, to m
0000A0: 61 74 63 68 20 73 70 65 65 64 20 74 61 62 6C 65 atch speed table
0000B0: 20 65 6E 74 72 69 65 73 29 0D 0A 45 4E 44 49 46 entries)..ENDIF
0000C0: 3B 62 72 61 69 6E 0D 0A 0D 0A 49 46 20 6D 64 49 ;brain....IF mdI
0000D0: 0D 0A 09 6C 78 69 09 68 2C 39 36 09 09 3B 44 65 ...lxi.h,96..;De
0000E0: 66 61 75 6C 74 20 31 32 30 30 20 62 61 75 64 20 fault 1200 baud
0000F0: 6D 6F 64 65 6D 20 70 6F 72 74 20 73 70 65 65 64 modem port speed
000100: 0D 0A 09 73 68 6C 64 09 73 70 65 65 64 09 09 3B ...shld.speed..;
000110: 53 74 6F 72 65 20 61 73 20 6D 6F 64 65 6D 20 70 Store as modem p
000120: 6F 72 74 20 73 70 65 65 64 0D 0A 09 63 61 6C 6C ort speed...call
000130: 09 73 79 73 73 70 64 09 09 3B 49 6E 69 74 69 61 .sysspd..;Initia
000140: 6C 69 7A 65 20 74 68 65 20 70 6F 72 74 0D 0A 45 lize the port..E
000150: 4E 44 49 46 3B 6D 64 49 20 20 5B 54 6F 61 64 20 NDIF;mdI [Toad
000160: 48 61 6C 6C 5D 0D 0A 0D 0A 49 46 20 61 70 36 35 Hall]....IF ap65
000170: 35 31 0D 0A 09 6C 64 61 09 6D 6E 70 72 74 63 09 51...lda.mnprtc.
000180: 09 3B 20 72 65 61 64 20 63 6F 6E 74 72 6F 6C 20 .; read control
000190: 70 6F 72 74 0D 0A 09 61 6E 69 09 30 66 48 09 09 port...ani.0fH..
0001A0: 3B 20 65 78 74 72 61 63 74 20 6C 6F 77 20 6F 72 ; extract low or
0001B0: 64 65 72 20 6E 79 62 62 6C 65 0D 0A 09 73 74 61 der nybble...sta
0001C0: 09 73 70 65 65 64 09 09 3B 20 73 74 6F 72 65 20 .speed..; store
0001D0: 61 73 20 63 6F 6D 6D 20 6C 69 6E 65 20 73 70 65 as comm line spe
0001E0: 65 64 0D 0A 09 73 74 61 09 73 70 65 65 64 2B 31 ed...sta.speed+1
0001F0: 09 09 3B 20 20 28 31 36 20 62 69 74 73 2C 20 74 ..; (16 bits, t
Size : 512 (Real : 512)
000000: 61 63 65 20 74 6F 20 73 61 76 65 20 74 68 65 20 ace to save the
000010: 42 44 4F 53 20 76 65 72 73 69 6F 6E 20 6E 75 6D BDOS version num
000020: 62 65 72 0D 0A 0D 0A 3B 0C 0D 0A 49 46 20 69 6F ber....;...IF io
000030: 62 79 74 0D 0A 3B 09 54 68 69 73 20 6F 6E 65 20 byt..;.This one
000040: 69 73 20 68 6F 70 65 66 75 6C 6C 79 20 74 68 65 is hopefully the
000050: 20 6C 61 73 74 20 22 69 6D 70 72 6F 76 65 6D 65 last "improveme
000060: 6E 74 22 20 69 6E 20 76 69 65 77 20 6F 66 20 47 nt" in view of G
000070: 45 4E 45 52 49 43 0D 0A 3B 4B 65 72 6D 69 74 2E ENERIC..;Kermit.
000080: 20 49 74 20 75 73 65 73 20 66 6F 72 20 43 68 61 It uses for Cha
000090: 72 61 63 74 65 72 2D 49 2F 4F 20 74 68 65 20 42 racter-I/O the B
0000A0: 49 4F 53 2D 72 6F 75 74 69 6E 65 73 20 28 20 69 IOS-routines ( i
0000B0: 6E 73 74 65 61 64 20 6F 66 20 74 68 65 0D 0A 3B nstead of the..;
0000C0: 22 6E 6F 72 6D 61 6C 22 20 42 44 4F 53 20 72 6F "normal" BDOS ro
0000D0: 75 74 69 6E 65 73 2E 20 57 68 61 74 20 64 6F 65 utines. What doe
0000E0: 73 20 69 74 20 67 69 76 65 20 75 73 20 28 68 6F s it give us (ho
0000F0: 70 65 66 75 6C 6C 79 29 20 3A 20 4D 6F 72 65 20 pefully) : More
000100: 73 70 65 65 64 2C 0D 0A 3B 68 69 67 68 65 72 20 speed,..;higher
000110: 63 68 61 6E 63 65 20 6F 66 20 73 75 63 63 65 73 chance of succes
000120: 73 20 28 20 49 2F 4F 20 62 79 74 65 20 69 6D 70 s ( I/O byte imp
000130: 6C 65 6D 65 6E 74 65 64 20 69 6E 20 42 49 4F 53 lemented in BIOS
000140: 20 5B 69 66 20 61 74 20 61 6C 6C 5D 29 2C 0D 0A [if at all]),..
000150: 3B 62 75 74 20 6E 6F 20 22 65 78 74 72 61 22 20 ;but no "extra"
000160: 64 65 76 69 63 65 20 68 61 6E 64 6C 69 6E 67 20 device handling
000170: 2D 20 74 68 61 74 27 73 20 64 6F 6E 65 20 62 79 - that's done by
000180: 20 42 44 4F 53 2E 0D 0A 3B 0D 0A 3B 09 48 6F 77 BDOS...;..;.How
000190: 20 64 6F 20 77 65 20 22 67 65 74 22 20 74 68 65 do we "get" the
0001A0: 20 63 61 6C 6C 2D 61 64 72 65 73 73 65 73 3F 20 call-adresses?
0001B0: 20 4C 6F 63 61 74 69 6F 6E 20 30 20 68 61 73 20 Location 0 has
0001C0: 61 20 4A 4D 50 20 57 61 72 6D 2D 42 6F 6F 74 0D a JMP Warm-Boot.
0001D0: 0A 3B 69 6E 20 43 50 2F 4D 20 77 68 69 63 68 20 .;in CP/M which
0001E0: 70 6F 69 6E 74 73 20 69 6E 74 6F 20 74 68 65 20 points into the
0001F0: 73 65 63 6F 6E 64 20 6C 6F 63 61 74 69 6F 6E 20 second location
Size : 512 (Real : 512)
000000: 6F 20 6D 61 74 63 68 20 73 70 65 65 64 20 74 61 o match speed ta
000010: 62 6C 65 20 65 6E 74 72 69 65 73 29 0D 0A 09 6D ble entries)...m
000020: 76 69 09 61 2C 6D 6E 6D 69 6E 62 09 3B 6A 62 20 vi.a,mnminb.;jb
000030: 69 6E 69 74 69 61 6C 69 7A 61 74 69 6F 6E 20 72 initialization r
000040: 6F 75 74 69 6E 65 0D 0A 09 73 74 61 09 6D 6E 70 outine...sta.mnp
000050: 72 74 73 09 09 3B 6A 62 0D 0A 09 73 74 61 09 6D rts..;jb...sta.m
000060: 6E 70 72 74 6D 09 09 3B 6A 62 20 69 6E 69 74 69 nprtm..;jb initi
000070: 61 6C 69 7A 65 20 6D 61 73 74 65 72 20 28 63 6F alize master (co
000080: 6D 6D 61 6E 64 29 20 70 6F 72 74 0D 0A 09 6D 76 mmand) port...mv
000090: 69 09 61 2C 6D 6E 63 69 6E 62 09 3B 6A 62 0D 0A i.a,mncinb.;jb..
0000A0: 09 73 74 61 09 6D 6E 70 72 74 63 09 09 3B 6A 62 .sta.mnprtc..;jb
0000B0: 20 69 6E 69 74 69 61 6C 69 7A 65 20 63 6F 6E 74 initialize cont
0000C0: 72 6F 6C 20 70 6F 72 74 0D 0A 45 4E 44 49 46 3B rol port..ENDIF;
0000D0: 61 70 36 35 35 31 0D 0A 0D 0A 49 46 20 6E 6F 72 ap6551....IF nor
0000E0: 74 68 73 0D 0A 09 6D 76 69 09 61 2C 62 61 75 64 ths...mvi.a,baud
0000F0: 69 6E 69 09 3B 47 65 74 20 69 6E 69 74 69 61 6C ini.;Get initial
000100: 20 73 70 65 65 64 0D 0A 09 6F 75 74 09 62 61 75 speed...out.bau
000110: 64 72 74 0D 0A 09 73 74 61 09 73 70 65 65 64 09 drt...sta.speed.
000120: 09 3B 73 61 76 65 20 66 6F 72 20 73 74 61 74 75 .;save for statu
000130: 73 20 64 69 73 70 6C 61 79 0D 0A 09 73 74 61 09 s display...sta.
000140: 73 70 65 65 64 2B 31 0D 0A 45 4E 44 49 46 3B 6E speed+1..ENDIF;n
000150: 6F 72 74 68 73 0D 0A 0D 0A 49 46 20 64 65 6C 70 orths....IF delp
000160: 68 69 09 09 09 3B 5B 37 5D 0D 0A 3B 0D 0A 3B 09 hi...;[7]..;..;.
000170: 73 68 6F 76 65 20 74 68 65 20 64 65 66 61 75 6C shove the defaul
000180: 74 20 62 61 75 64 20 72 61 74 65 20 28 31 32 30 t baud rate (120
000190: 30 29 20 69 6E 20 74 6F 20 74 68 65 20 44 65 6C 0) in to the Del
0001A0: 70 68 69 20 70 6F 72 74 20 61 64 64 72 65 73 73 phi port address
0001B0: 0D 0A 3B 09 66 6F 72 20 74 68 65 20 62 61 75 64 ..;.for the baud
0001C0: 20 72 61 74 65 20 67 65 6E 65 72 61 74 6F 72 20 rate generator
0001D0: 6F 6E 20 70 6F 72 74 20 32 2C 20 74 68 65 20 64 on port 2, the d
0001E0: 65 66 61 75 6C 74 20 70 6F 72 74 3B 20 73 61 76 efault port; sav
0001F0: 65 20 74 68 69 73 0D 0A 3B 09 76 61 6C 75 65 20 e this..;.value
Size : 512 (Real : 512)
000000: 6F 66 20 74 68 65 20 42 49 4F 53 20 4A 4D 50 2D of the BIOS JMP-
000010: 56 65 63 74 6F 72 2E 20 20 54 68 65 0D 0A 3B 6E Vector. The..;n
000020: 65 78 74 20 74 68 72 65 65 20 6C 6F 63 61 74 69 ext three locati
000030: 6F 6E 73 20 6F 66 20 74 68 65 20 4A 4D 50 2D 56 ons of the JMP-V
000040: 65 63 74 6F 72 20 70 6F 69 6E 74 20 74 6F 20 74 ector point to t
000050: 68 65 20 43 4F 4E 53 54 41 54 2C 43 4F 4E 49 4E he CONSTAT,CONIN
000060: 2C 43 4F 4E 4F 55 54 0D 0A 3B 42 49 4F 53 2D 72 ,CONOUT..;BIOS-r
000070: 6F 75 74 69 6E 65 73 2E 20 20 43 4F 4E 4F 55 54 outines. CONOUT
000080: 20 77 61 6E 74 73 20 74 68 65 20 63 68 61 72 61 wants the chara
000090: 63 74 65 72 20 69 6E 20 43 2E 0D 0A 3B 0D 0A 3B cter in C...;..;
0000A0: 2D 20 42 65 72 6E 69 65 20 45 69 62 65 6E 0D 0A - Bernie Eiben..
0000B0: 0D 0A 69 6E 69 61 64 72 3A 09 6C 68 6C 64 09 31 ..iniadr:.lhld.1
0000C0: 09 09 3B 67 65 74 20 42 49 4F 53 20 57 61 72 6D ..;get BIOS Warm
0000D0: 73 74 61 72 74 2D 61 64 64 72 65 73 73 0D 0A 09 start-address...
0000E0: 6C 78 69 09 64 2C 33 09 09 3B 6E 65 78 74 20 61 lxi.d,3..;next a
0000F0: 64 72 65 73 73 20 69 73 20 43 4F 4E 53 54 41 54 dress is CONSTAT
000100: 20 69 6E 20 42 49 4F 53 0D 0A 09 64 61 64 09 64 in BIOS...dad.d
000110: 0D 0A 09 73 68 6C 64 09 62 63 6F 6E 73 74 2B 31 ...shld.bconst+1
000120: 09 3B 73 74 75 66 66 20 69 74 20 69 6E 74 6F 20 .;stuff it into
000130: 74 68 65 20 63 61 6C 6C 2D 69 6E 73 74 72 75 63 the call-instruc
000140: 74 69 6F 6E 0D 0A 09 6C 78 69 09 64 2C 33 09 09 tion...lxi.d,3..
000150: 3B 6E 65 78 74 20 61 64 72 65 73 73 20 69 73 20 ;next adress is
000160: 43 4F 4E 49 4E 20 69 6E 20 42 49 4F 53 0D 0A 09 CONIN in BIOS...
000170: 64 61 64 09 64 0D 0A 09 73 68 6C 64 09 62 63 6F dad.d...shld.bco
000180: 6E 69 6E 2B 31 09 3B 0D 0A 09 6C 78 69 09 64 2C nin+1.;...lxi.d,
000190: 33 09 09 3B 6E 65 78 74 20 61 64 72 65 73 73 20 3..;next adress
0001A0: 69 73 20 43 4F 4E 4F 55 54 20 69 6E 20 42 49 4F is CONOUT in BIO
0001B0: 53 0D 0A 09 64 61 64 09 64 0D 0A 09 73 68 6C 64 S...dad.d...shld
0001C0: 09 62 63 6E 6F 75 74 2B 31 0D 0A 09 6C 78 69 09 .bcnout+1...lxi.
0001D0: 64 2C 33 09 09 3B 6E 65 78 74 20 61 64 64 72 65 d,3..;next addre
0001E0: 73 73 20 69 73 20 4C 49 53 54 20 69 6E 20 42 49 ss is LIST in BI
0001F0: 4F 53 0D 0A 09 64 61 64 09 64 0D 0A 09 73 68 6C OS...dad.d...shl
Size : 512 (Real : 512)
000000: 30 0D 0A 6D 69 6F 6C 65 6E 09 65 71 75 09 24 2D 0..miolen.equ.$-
000010: 6D 69 6F 74 62 6C 09 3B 4D 69 6B 72 6F 4D 69 6B miotbl.;MikroMik
000020: 6B 6F 20 53 49 4F 20 74 61 62 6C 65 20 6C 65 6E ko SIO table len
000030: 67 74 68 20 28 6F 72 69 67 69 6E 61 6C 20 76 61 gth (original va
000040: 6C 75 65 73 29 0D 0A 0D 0A 3B 20 63 6F 6D 6D 61 lues)....; comma
000050: 6E 64 20 6C 69 73 74 20 74 6F 20 73 65 74 20 75 nd list to set u
000060: 70 20 53 49 4F 20 63 68 69 70 20 66 6F 72 20 6F p SIO chip for o
000070: 70 65 72 61 74 69 6F 6E 20 77 69 74 68 20 4B 65 peration with Ke
000080: 72 6D 69 74 0D 0A 6D 69 6E 74 62 6C 3A 09 64 62 rmit..mintbl:.db
000090: 09 33 09 09 3B 72 65 67 2E 20 33 0D 0A 09 64 62 .3..;reg. 3...db
0000A0: 09 73 69 6F 6E 33 0D 0A 09 64 62 09 35 09 09 3B .sion3...db.5..;
0000B0: 72 65 67 2E 20 35 0D 0A 09 64 62 09 73 69 6F 6E reg. 5...db.sion
0000C0: 35 0D 0A 09 64 62 09 34 09 09 3B 72 65 67 2E 20 5...db.4..;reg.
0000D0: 34 0D 0A 09 64 62 09 73 69 6F 6E 34 0D 0A 09 64 4...db.sion4...d
0000E0: 62 09 30 09 09 3B 72 65 73 65 6C 65 63 74 20 72 b.0..;reselect r
0000F0: 65 67 2E 20 30 0D 0A 6D 69 6E 6C 65 6E 09 65 71 eg. 0..minlen.eq
000100: 75 09 24 2D 6D 69 6E 74 62 6C 09 3B 4D 69 6B 72 u.$-mintbl.;Mikr
000110: 6F 4D 69 6B 6B 6F 20 53 49 4F 20 74 61 62 6C 65 oMikko SIO table
000120: 20 6C 65 6E 67 74 68 20 28 4B 45 52 4D 49 54 20 length (KERMIT
000130: 76 61 6C 75 65 73 29 0D 0A 45 4E 44 49 46 3B 6D values)..ENDIF;m
000140: 69 6B 6B 6F 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 73 ikko..;...;..;.s
000150: 79 73 74 65 6D 2D 64 65 70 65 6E 64 65 6E 74 20 ystem-dependent
000160: 74 65 72 6D 69 6E 61 74 69 6F 6E 20 70 72 6F 63 termination proc
000170: 65 73 73 69 6E 67 0D 0A 3B 09 49 66 20 77 65 27 essing..;.If we'
000180: 76 65 20 63 68 61 6E 67 65 64 20 61 6E 79 74 68 ve changed anyth
000190: 69 6E 67 2C 20 74 68 69 73 20 69 73 20 6F 75 72 ing, this is our
0001A0: 20 6C 61 73 74 20 63 68 61 6E 63 65 20 74 6F 20 last chance to
0001B0: 70 75 74 20 69 74 20 62 61 63 6B 2E 0D 0A 73 79 put it back...sy
0001C0: 73 65 78 69 74 3A 0D 0A 49 46 20 6D 69 6B 6B 6F sexit:..IF mikko
0001D0: 0D 0A 09 6C 78 69 09 64 2C 6D 69 6F 74 62 6C 09 ...lxi.d,miotbl.
0001E0: 3B 4C 6F 61 64 20 74 68 65 20 61 64 72 65 73 73 ;Load the adress
0001F0: 20 6F 66 20 6F 72 69 67 69 6E 61 6C 20 72 65 67 of original reg
Size : 512 (Real : 512)
000000: 64 09 62 6C 73 6F 75 74 2B 31 0D 0A 09 72 65 74 d.blsout+1...ret
000010: 09 09 09 3B 41 6E 64 20 72 65 74 75 72 6E 0D 0A ...;And return..
000020: 0D 0A 62 63 6F 6E 73 74 3A 09 6A 6D 70 09 24 2D ..bconst:.jmp.$-
000030: 24 09 09 3B 43 61 6C 6C 20 42 49 4F 53 20 64 69 $..;Call BIOS di
000040: 72 65 63 74 6C 79 20 28 66 69 6C 6C 65 64 20 69 rectly (filled i
000050: 6E 20 62 79 20 69 6E 69 61 64 72 29 0D 0A 0D 0A n by iniadr)....
000060: 62 63 6F 6E 69 6E 3A 09 6A 6D 70 09 24 2D 24 09 bconin:.jmp.$-$.
000070: 09 3B 43 61 6C 6C 20 42 49 4F 53 20 64 69 72 65 .;Call BIOS dire
000080: 63 74 6C 79 20 28 66 69 6C 6C 65 64 20 69 6E 20 ctly (filled in
000090: 62 79 20 69 6E 69 61 64 72 29 0D 0A 0D 0A 62 63 by iniadr)....bc
0000A0: 6E 6F 75 74 3A 09 6A 6D 70 09 24 2D 24 09 09 3B nout:.jmp.$-$..;
0000B0: 43 61 6C 6C 20 42 49 4F 53 20 64 69 72 65 63 74 Call BIOS direct
0000C0: 6C 79 20 28 66 69 6C 6C 65 64 20 69 6E 20 62 79 ly (filled in by
0000D0: 20 69 6E 69 61 64 72 29 0D 0A 0D 0A 62 6C 73 6F iniadr)....blso
0000E0: 75 74 3A 09 6A 6D 70 09 24 2D 24 09 09 3B 20 2E ut:.jmp.$-$..; .
0000F0: 2E 2E 2E 0D 0A 45 4E 44 49 46 3B 69 6F 62 79 74 .....ENDIF;iobyt
000100: 0D 0A 0D 0A 49 46 20 6D 69 6B 6B 6F 09 09 09 3B ....IF mikko...;
000110: 63 75 72 72 65 6E 74 6C 79 20 66 6F 72 20 4D 49 currently for MI
000120: 4B 52 4F 4D 49 4B 4B 4F 20 6F 6E 6C 79 0D 0A 3B KROMIKKO only..;
000130: 20 63 6F 70 79 20 63 6F 6D 6D 61 6E 64 20 62 6C copy command bl
000140: 6F 63 6B 20 69 6E 74 6F 20 6D 65 6D 6F 72 79 2D ock into memory-
000150: 6D 61 70 70 65 64 20 53 49 4F 2E 0D 0A 6D 6F 76 mapped SIO...mov
000160: 6D 69 6B 3A 09 64 69 09 09 09 3B 64 69 73 61 62 mik:.di...;disab
000170: 6C 65 20 69 6E 74 65 72 72 75 70 74 73 0D 0A 6D le interrupts..m
000180: 6F 76 6D 6B 31 3A 09 6C 64 61 78 09 64 09 09 3B ovmk1:.ldax.d..;
000190: 47 65 74 20 61 20 72 65 67 69 73 74 65 72 20 76 Get a register v
0001A0: 61 6C 75 65 0D 0A 09 6D 6F 76 09 6D 2C 61 09 09 alue...mov.m,a..
0001B0: 3B 4F 75 74 70 75 74 20 69 74 0D 0A 09 69 6E 78 ;Output it...inx
0001C0: 09 64 09 09 3B 4E 65 78 74 20 76 61 6C 75 65 0D .d..;Next value.
0001D0: 0A 09 64 63 72 09 63 09 09 3B 44 65 63 72 65 6D ..dcr.c..;Decrem
0001E0: 65 6E 74 20 63 6F 75 6E 74 65 72 0D 0A 09 6A 6E ent counter...jn
0001F0: 7A 09 6D 6F 76 6D 6B 31 09 09 3B 52 65 70 65 61 z.movmk1..;Repea
Size : 512 (Real : 512)
000000: 20 76 61 6C 75 65 73 0D 0A 09 6D 76 69 09 63 2C values...mvi.c,
000010: 6D 69 6F 6C 65 6E 09 3B 4C 65 6E 67 74 68 20 6F miolen.;Length o
000020: 66 20 74 61 62 6C 65 0D 0A 09 6C 78 69 09 68 2C f table...lxi.h,
000030: 73 69 6F 61 63 09 09 3B 53 65 6E 64 20 64 61 74 sioac..;Send dat
000040: 61 20 74 6F 20 63 68 20 41 20 53 49 4F 20 72 65 a to ch A SIO re
000050: 67 69 73 74 65 72 73 0D 0A 09 63 61 6C 6C 09 6D gisters...call.m
000060: 6F 76 6D 69 6B 0D 0A 09 6D 76 69 09 61 2C 30 37 ovmik...mvi.a,07
000070: 46 48 09 09 3B 53 65 74 20 63 68 20 41 20 6D 61 FH..;Set ch A ma
000080: 73 6B 20 74 6F 20 75 73 65 20 6A 75 73 74 20 37 sk to use just 7
000090: 20 62 69 74 73 0D 0A 09 73 74 61 09 63 68 6D 61 bits...sta.chma
0000A0: 73 6B 0D 0A 45 4E 44 49 46 3B 6D 69 6B 6B 6F 0D sk..ENDIF;mikko.
0000B0: 0A 0D 0A 49 46 20 63 70 74 38 35 78 78 0D 0A 09 ...IF cpt85xx...
0000C0: 6D 76 69 09 61 2C 38 30 68 09 09 3B 20 52 65 73 mvi.a,80h..; Res
0000D0: 65 74 20 28 66 6F 72 63 65 20 69 64 6C 65 29 20 et (force idle)
0000E0: 74 68 65 20 38 32 35 31 20 55 41 52 54 20 76 69 the 8251 UART vi
0000F0: 61 20 62 69 74 20 37 0D 0A 09 6F 75 74 09 62 61 a bit 7...out.ba
000100: 75 64 72 74 09 09 3B 20 20 20 20 6F 66 20 74 68 udrt..; of th
000110: 65 20 62 61 75 64 20 72 61 74 65 20 67 65 6E 65 e baud rate gene
000120: 72 61 74 65 72 20 70 6F 72 74 0D 0A 09 6D 76 69 rater port...mvi
000130: 09 61 2C 30 30 68 09 09 3B 20 61 6E 64 20 74 75 .a,00h..; and tu
000140: 72 6E 20 6F 66 66 20 74 68 65 20 62 61 75 64 20 rn off the baud
000150: 72 61 74 65 20 67 65 6E 65 72 61 74 65 72 0D 0A rate generater..
000160: 09 6F 75 74 09 62 61 75 64 72 74 0D 0A 45 4E 44 .out.baudrt..END
000170: 49 46 3B 63 70 74 38 35 78 78 0D 0A 09 72 65 74 IF;cpt85xx...ret
000180: 0D 0A 0D 0A 3B 0D 0A 3B 09 73 79 73 74 65 6D 2D ....;..;.system-
000190: 64 65 70 65 6E 64 65 6E 74 20 70 72 6F 63 65 73 dependent proces
0001A0: 73 69 6E 67 20 66 6F 72 20 73 74 61 72 74 20 6F sing for start o
0001B0: 66 20 43 4F 4E 4E 45 43 54 20 63 6F 6D 6D 61 6E f CONNECT comman
0001C0: 64 0D 0A 3B 0D 0A 73 79 73 63 6F 6E 3A 0D 0A 49 d..;..syscon:..I
0001D0: 46 20 61 70 6D 6D 64 6D 0D 0A 09 63 61 6C 6C 09 F apmmdm...call.
0001E0: 63 6B 64 69 61 6C 09 09 3B 53 65 65 20 69 66 20 ckdial..;See if
0001F0: 64 69 61 6C 69 6E 67 20 69 73 20 72 65 71 75 69 dialing is requi
Size : 512 (Real : 512)
000000: 74 20 75 6E 74 69 6C 20 64 6F 6E 65 0D 0A 09 65 t until done...e
000010: 69 0D 0A 09 72 65 74 0D 0A 45 4E 44 49 46 3B 6D i...ret..ENDIF;m
000020: 69 6B 6B 6F 0D 0A 3B 0C 0D 0A 49 46 20 6F 73 62 ikko..;...IF osb
000030: 72 6E 31 0D 0A 6F 73 6D 6F 76 65 3A 0D 0A 6F 73 rn1..osmove:..os
000040: 66 6C 61 67 09 65 71 75 09 30 45 46 30 38 48 09 flag.equ.0EF08H.
000050: 09 3B 4F 73 62 6F 72 6E 65 20 31 20 42 61 6E 6B .;Osborne 1 Bank
000060: 2D 32 20 66 6C 61 67 0D 0A 3B 0D 0A 3B 20 72 65 -2 flag..;..; re
000070: 74 75 72 6E 20 6D 6F 64 65 6D 20 73 74 61 74 75 turn modem statu
000080: 8E 16 05 00 02 14 C3 11 87 99 87 A5 87 AB 87 B1 ................
000090: 87 EB 22 43 8A EB 7B 32 D6 94 21 00 00 22 45 8A .."C..{2..!.."E.
0000A0: 39 22 0F 8A 31 41 8A AF 32 E0 94 32 DE 94 21 74 9"..1A..2..2..!t
0000B0: 94 E5 79 FE 29 D0 4B 21 47 87 5F 16 00 19 19 5E ..y.).K!G._....^
0000C0: 23 56 2A 43 8A EB E9 03 95 C8 89 90 88 CE 89 12 #V*C............
0000D0: 95 0F 95 D4 89 ED 89 F3 89 F8 89 E1 88 FE 89 7E ...............~
0000E0: 93 83 93 45 93 9C 93 A5 93 AB 93 C8 93 D7 93 E0 ...E............
0000F0: 93 E6 93 EC 93 F5 93 FE 93 04 94 0A 94 11 94 2C ...............,
000100: 73 20 69 6E 20 41 0D 0A 3B 0D 0A 4F 53 4C 44 53 s in A..;..OSLDS
000110: 54 09 45 51 55 09 6F 73 74 6F 70 2D 6F 73 6D 6F T.EQU.ostop-osmo
000120: 76 65 2B 24 0D 0A 09 44 49 0D 0A 09 4F 55 54 09 ve+$...DI...OUT.
000130: 30 0D 0A 09 4C 44 41 09 6F 73 70 72 74 73 09 09 0...LDA.osprts..
000140: 3B 52 65 61 64 20 74 68 65 20 73 74 61 74 75 73 ;Read the status
000150: 20 70 6F 72 74 0D 0A 09 4F 55 54 09 31 0D 0A 09 port...OUT.1...
000160: 45 49 0D 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 20 73 EI...ret..;..; s
000170: 65 74 20 6D 6F 64 65 6D 20 73 74 61 74 75 73 20 et modem status
000180: 66 72 6F 6D 20 41 0D 0A 3B 0D 0A 4F 53 53 54 53 from A..;..OSSTS
000190: 54 09 65 71 75 09 6F 73 74 6F 70 2D 6F 73 6D 6F T.equ.ostop-osmo
0001A0: 76 65 2B 24 0D 0A 09 44 49 0D 0A 09 4F 55 54 09 ve+$...DI...OUT.
0001B0: 30 0D 0A 09 53 54 41 09 6F 73 70 72 74 73 09 3B 0...STA.osprts.;
0001C0: 57 72 69 74 65 20 74 68 65 20 63 6F 6E 74 72 6F Write the contro
0001D0: 6C 20 70 6F 72 74 0D 0A 09 6A 6D 70 09 6F 73 73 l port...jmp.oss
0001E0: 74 65 78 0D 0A 3B 0D 0A 3B 20 72 65 61 64 20 63 tex..;..; read c
0001F0: 68 61 72 61 63 74 65 72 20 66 72 6F 6D 20 6D 6F haracter from mo
Size : 512 (Real : 512)
000000: 72 65 64 2E 0D 0A 09 20 6A 6D 70 09 6B 65 72 6D red.... jmp.kerm
000010: 69 74 09 09 3B 47 6F 20 74 6F 20 63 6F 6D 6D 61 it..;Go to comma
000020: 6E 64 20 6C 6F 6F 70 20 69 66 20 61 62 6F 72 74 nd loop if abort
000030: 65 64 2E 0D 0A 45 4E 44 49 46 3B 61 70 6D 6D 64 ed...ENDIF;apmmd
000040: 6D 0D 0A 0D 0A 49 46 20 72 6F 62 69 6E 20 4F 52 m....IF robin OR
000050: 20 74 72 73 38 30 20 4F 52 20 63 70 74 38 35 78 trs80 OR cpt85x
000060: 78 09 3B 46 6F 72 20 52 6F 62 69 6E 2F 54 52 53 x.;For Robin/TRS
000070: 38 30 2F 43 50 54 2D 38 35 78 78 2C 20 61 64 64 80/CPT-85xx, add
000080: 20 73 6F 6D 65 20 6D 6F 72 65 20 69 6E 66 6F 0D some more info.
000090: 0A 09 6C 78 69 09 64 2C 63 6F 6E 6D 73 67 09 3B ..lxi.d,conmsg.;
0000A0: 20 61 62 6F 75 74 20 6F 62 73 63 75 72 65 20 6B about obscure k
0000B0: 65 79 20 63 6F 6D 62 69 6E 61 74 69 6F 6E 73 0D ey combinations.
0000C0: 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 0D 0A 45 ..call.prtstr..E
0000D0: 4E 44 49 46 3B 72 6F 62 69 6E 20 4F 52 20 74 72 NDIF;robin OR tr
0000E0: 73 38 30 20 4F 52 20 63 70 74 38 35 78 78 0D 0A s80 OR cpt85xx..
0000F0: 0D 0A 49 46 20 6F 73 62 72 6E 31 09 09 09 3B 2A ..IF osbrn1...;*
000100: 2A 2A 20 54 68 69 73 20 69 73 20 53 6F 66 74 77 ** This is Softw
000110: 61 72 65 20 64 65 70 65 6E 64 65 6E 74 20 2A 2A are dependent **
000120: 2A 0D 0A 09 6C 68 6C 64 09 31 09 09 3B 4D 6F 64 *...lhld.1..;Mod
000130: 69 66 79 20 62 61 63 6B 2D 61 72 72 6F 77 20 63 ify back-arrow c
000140: 6F 64 65 20 74 6F 20 44 45 4C 45 54 45 0D 0A 09 ode to DELETE...
000150: 6D 76 69 09 6C 2C 30 09 09 3B 47 65 74 20 42 49 mvi.l,0..;Get BI
000160: 4F 53 2D 73 74 61 72 74 20 61 64 64 72 65 73 73 OS-start address
000170: 0D 0A 09 6C 78 69 09 64 2C 38 35 48 09 09 3B 41 ...lxi.d,85H..;A
000180: 64 72 65 73 73 20 66 6F 72 20 6B 65 79 2D 63 6F dress for key-co
000190: 64 65 20 3D 20 58 58 38 35 48 0D 0A 09 64 61 64 de = XX85H...dad
0001A0: 09 64 0D 0A 09 6D 6F 76 09 65 2C 6D 09 09 3B 47 .d...mov.e,m..;G
0001B0: 65 74 20 69 74 20 69 6E 20 44 45 0D 0A 09 69 6E et it in DE...in
0001C0: 78 09 68 0D 0A 09 6D 6F 76 09 64 2C 6D 0D 0A 09 x.h...mov.d,m...
0001D0: 78 63 68 67 09 09 09 3B 4D 65 6D 6F 72 79 20 70 xchg...;Memory p
0001E0: 6F 69 6E 74 65 72 20 74 6F 20 48 4C 0D 0A 09 6D ointer to HL...m
0001F0: 76 69 09 6D 2C 64 65 6C 09 09 3B 6D 6F 64 69 66 vi.m,del..;modif
Size : 512 (Real : 512)
000000: 64 65 6D 20 69 6E 74 6F 20 41 0D 0A 3B 0D 0A 4F dem into A..;..O
000010: 53 4C 44 44 41 09 65 71 75 09 6F 73 74 6F 70 2D SLDDA.equ.ostop-
000020: 6F 73 6D 6F 76 65 2B 24 0D 0A 09 44 49 0D 0A 09 osmove+$...DI...
000030: 4F 55 54 09 30 0D 0A 09 4C 44 41 09 6F 73 70 6F OUT.0...LDA.ospo
000040: 72 74 0D 0A 09 4F 55 54 09 31 0D 0A 09 45 49 0D rt...OUT.1...EI.
000050: 0A 09 72 65 74 0D 0A 3B 0D 0A 3B 09 6F 75 74 70 ..ret..;..;.outp
000060: 75 74 20 63 68 61 72 61 63 74 65 72 20 69 6E 20 ut character in
000070: 41 20 74 6F 20 6D 6F 64 65 6D 0D 0A 3B 0D 0A 4F A to modem..;..O
000080: 53 53 54 44 41 09 65 71 75 09 6F 73 74 6F 70 2D SSTDA.equ.ostop-
000090: 6F 73 6D 6F 76 65 2B 24 0D 0A 09 44 49 0D 0A 09 osmove+$...DI...
0000A0: 4F 55 54 09 30 0D 0A 09 53 54 41 09 6F 73 70 6F OUT.0...STA.ospo
0000B0: 72 74 0D 0A 6F 73 73 74 65 78 09 65 71 75 09 6F rt..osstex.equ.o
0000C0: 73 74 6F 70 2D 6F 73 6D 6F 76 65 2B 24 0D 0A 09 stop-osmove+$...
0000D0: 4F 55 54 09 31 0D 0A 09 6D 76 69 09 61 2C 31 0D OUT.1...mvi.a,1.
0000E0: 0A 09 73 74 61 09 6F 73 66 6C 61 67 0D 0A 09 45 ..sta.osflag...E
0000F0: 49 0D 0A 09 72 65 74 0D 0A 6F 73 6D 63 74 09 65 I...ret..osmct.e
000100: 71 75 09 24 2D 6F 73 6D 6F 76 65 0D 0A 45 4E 44 qu.$-osmove..END
000110: 49 46 3B 6F 73 62 72 6E 31 0D 0A 0D 0A 49 46 20 IF;osbrn1....IF
000120: 62 62 49 20 4F 52 20 62 62 49 49 20 4F 52 20 6C bbI OR bbII OR l
000130: 6F 62 6F 0D 0A 3B 20 4C 69 73 74 20 6F 66 20 63 obo..; List of c
000140: 6F 6D 6D 61 6E 64 73 20 74 6F 20 73 65 74 20 75 ommands to set u
000150: 70 20 53 49 4F 20 63 68 61 6E 6E 65 6C 20 41 20 p SIO channel A
000160: 66 6F 72 20 61 73 79 6E 63 68 72 6F 6E 6F 75 73 for asynchronous
000170: 20 6F 70 65 72 61 74 69 6F 6E 2E 0D 0A 73 69 6F operation...sio
000180: 74 62 6C 3A 09 44 42 09 31 38 48 09 09 3B 20 43 tbl:.DB.18H..; C
000190: 68 61 6E 6E 65 6C 20 72 65 73 65 74 0D 0A 09 44 hannel reset...D
0001A0: 42 09 31 38 48 09 09 3B 20 61 6E 6F 74 68 65 72 B.18H..; another
0001B0: 2C 20 69 6E 20 63 61 73 65 20 72 65 67 69 73 74 , in case regist
0001C0: 65 72 20 30 20 77 61 73 6E 27 74 20 73 65 6C 65 er 0 wasn't sele
0001D0: 63 74 65 64 0D 0A 09 44 42 09 30 34 48 09 09 3B cted...DB.04H..;
0001E0: 20 53 65 6C 65 63 74 20 72 65 67 69 73 74 65 72 Select register
0001F0: 20 34 0D 0A 09 44 42 09 34 34 48 09 09 3B 20 31 4...DB.44H..; 1
Size : 512 (Real : 512)
000000: 79 20 74 68 65 20 63 6F 64 65 0D 0A 45 4E 44 49 y the code..ENDI
000010: 46 3B 6F 73 62 72 6E 31 0D 0A 09 72 65 74 0D 0A F;osbrn1...ret..
000020: 0D 0A 63 6F 6E 6D 73 67 3A 09 09 3B 20 4D 65 73 ..conmsg:..; Mes
000030: 73 61 67 65 73 20 70 72 69 6E 74 65 64 20 77 68 sages printed wh
000040: 65 6E 20 65 6E 74 65 72 69 6E 67 20 74 72 61 6E en entering tran
000050: 73 70 61 72 65 6E 74 20 28 43 4F 4E 4E 45 43 54 sparent (CONNECT
000060: 29 20 6D 6F 64 65 3A 0D 0A 49 46 20 72 6F 62 69 ) mode:..IF robi
000070: 6E 09 3B 20 20 66 6F 72 20 52 6F 62 69 6E 2C 20 n.; for Robin,
000080: 63 6F 6E 74 72 6F 6C 2D 53 20 6B 65 79 20 69 73 control-S key is
000090: 20 68 69 64 64 65 6E 0D 0A 09 64 62 09 27 20 28 hidden...db.' (
0000A0: 54 79 70 65 20 4C 65 66 74 20 41 72 72 6F 77 20 Type Left Arrow
0000B0: 74 6F 20 73 65 6E 64 20 43 54 52 4C 2D 53 29 27 to send CTRL-S)'
0000C0: 2C 63 72 2C 6C 66 2C 27 24 27 0D 0A 45 4E 44 49 ,cr,lf,'$'..ENDI
0000D0: 46 3B 72 6F 62 69 6E 0D 0A 49 46 20 74 72 73 38 F;robin..IF trs8
0000E0: 30 09 3B 20 20 66 6F 72 20 54 52 53 2D 38 30 2C 0.; for TRS-80,
0000F0: 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 65 the preferred e
000100: 73 63 61 70 65 20 6B 65 79 20 69 73 20 68 69 64 scape key is hid
000110: 64 65 6E 0D 0A 09 64 62 09 27 20 28 43 6F 6E 74 den...db.' (Cont
000120: 72 6F 6C 2D 5F 20 69 73 20 74 68 65 20 44 6F 77 rol-_ is the Dow
000130: 6E 2D 41 72 72 6F 77 20 6B 65 79 20 6F 6E 20 74 n-Arrow key on t
000140: 68 65 20 54 52 53 2D 38 30 20 6B 65 79 62 6F 61 he TRS-80 keyboa
000150: 72 64 29 27 0D 0A 09 64 62 09 63 72 2C 6C 66 2C rd)'...db.cr,lf,
000160: 27 24 27 0D 0A 45 4E 44 49 46 3B 74 72 73 38 30 '$'..ENDIF;trs80
000170: 0D 0A 49 46 20 63 70 74 38 35 78 78 09 3B 20 20 ..IF cpt85xx.;
000180: 66 6F 72 20 43 50 54 2D 38 35 78 78 2C 20 73 6F for CPT-85xx, so
000190: 6D 65 20 67 72 61 70 68 69 63 73 20 6D 61 70 20 me graphics map
0001A0: 22 66 75 6E 6E 79 22 20 74 6F 20 6B 65 79 62 6F "funny" to keybo
0001B0: 61 72 64 20 69 6E 20 43 50 2F 4D 0D 0A 09 64 62 ard in CP/M...db
0001C0: 09 27 20 28 55 73 65 20 20 43 4F 44 45 20 2B 20 .' (Use CODE +
0001D0: 53 48 49 46 54 20 2B 20 31 2F 32 20 20 6B 65 79 SHIFT + 1/2 key
0001E0: 20 74 6F 20 67 65 6E 65 72 61 74 65 20 61 20 43 to generate a C
0001F0: 6F 6E 74 72 6F 6C 2D 5C 29 27 0D 0A 09 64 62 09 ontrol-\)'...db.
Size : 512 (Real : 512)
000000: 20 73 74 6F 70 20 62 69 74 2C 20 63 6C 6F 63 6B stop bit, clock
000010: 2A 31 36 0D 0A 20 09 44 42 09 30 31 48 09 09 3B *16.. .DB.01H..;
000020: 20 53 65 6C 65 63 74 20 72 65 67 69 73 74 65 72 Select register
000030: 20 31 0D 0A 09 44 42 09 30 30 48 09 09 3B 20 4E 1...DB.00H..; N
000040: 6F 20 69 6E 74 65 72 72 75 70 74 73 20 65 6E 61 o interrupts ena
000050: 62 6C 65 64 0D 0A 20 09 44 42 09 30 33 48 09 09 bled.. .DB.03H..
000060: 3B 20 53 65 6C 65 63 74 20 72 65 67 69 73 74 65 ; Select registe
000070: 72 20 33 0D 0A 20 09 44 42 09 30 43 31 48 09 09 r 3.. .DB.0C1H..
000080: 3B 20 52 78 20 65 6E 61 62 6C 65 2C 20 38 20 62 ; Rx enable, 8 b
000090: 69 74 20 52 78 20 63 68 61 72 61 63 74 65 72 0D it Rx character.
0000A0: 0A 20 09 44 42 09 30 35 48 09 09 3B 20 53 65 6C . .DB.05H..; Sel
0000B0: 65 63 74 20 72 65 67 69 73 74 65 72 20 35 0D 0A ect register 5..
0000C0: 20 09 44 42 09 30 45 41 48 09 09 3B 20 54 78 20 .DB.0EAH..; Tx
0000D0: 65 6E 61 62 6C 65 2C 20 38 20 62 69 74 20 54 78 enable, 8 bit Tx
0000E0: 20 63 68 61 72 61 63 74 65 72 2C 0D 0A 20 09 09 character,.. ..
0000F0: 09 09 3B 20 20 72 61 69 73 65 20 44 54 52 20 61 ..; raise DTR a
000100: 6E 64 20 52 54 53 0D 0A 73 69 6F 6C 65 6E 09 65 nd RTS..siolen.e
000110: 71 75 09 24 2D 73 69 6F 74 62 6C 09 3B 20 6C 65 qu.$-siotbl.; le
000120: 6E 67 74 68 20 6F 66 20 63 6F 6D 6D 61 6E 64 20 ngth of command
000130: 6C 69 73 74 0D 0A 45 4E 44 49 46 3B 62 62 49 20 list..ENDIF;bbI
000140: 6F 72 20 62 62 49 49 20 4F 52 20 6C 6F 62 6F 0D or bbII OR lobo.
000150: 0A 0D 0A 49 46 20 6D 69 6B 6B 6F 0D 0A 3B 20 63 ...IF mikko..; c
000160: 6F 6D 6D 61 6E 64 20 6C 69 73 74 20 74 6F 20 73 ommand list to s
000170: 65 74 20 53 49 4F 20 63 68 69 70 20 62 61 63 6B et SIO chip back
000180: 20 74 6F 20 6E 6F 72 6D 61 6C 20 73 74 61 74 65 to normal state
000190: 0D 0A 6D 69 6F 74 62 6C 3A 09 64 62 09 33 09 09 ..miotbl:.db.3..
0001A0: 3B 72 65 67 2E 20 33 0D 0A 09 64 62 09 73 69 6F ;reg. 3...db.sio
0001B0: 6F 33 0D 0A 09 64 62 09 35 09 09 3B 72 65 67 2E o3...db.5..;reg.
0001C0: 20 35 0D 0A 09 64 62 09 73 69 6F 6F 35 0D 0A 09 5...db.sioo5...
0001D0: 64 62 09 34 09 09 3B 72 65 67 2E 20 34 0D 0A 09 db.4..;reg. 4...
0001E0: 64 62 09 73 69 6F 6F 34 0D 0A 09 64 62 09 30 09 db.sioo4...db.0.
0001F0: 09 3B 72 65 73 65 6C 65 63 74 20 72 65 67 2E 20 .;reselect reg.
Size : 512 (Real : 512)
000000: 63 72 2C 6C 66 2C 27 24 27 0D 0A 45 4E 44 49 46 cr,lf,'$'..ENDIF
000010: 3B 63 70 74 38 35 78 78 0D 0A 3B 0C 0D 0A 49 46 ;cpt85xx..;...IF
000020: 20 61 70 6D 6D 64 6D 0D 0A 3B 54 68 69 73 20 63 apmmdm..;This c
000030: 6F 64 65 20 77 61 73 20 6D 6F 73 74 6C 79 20 74 ode was mostly t
000040: 61 6B 65 6E 20 66 72 6F 6D 0D 0A 3B 09 41 50 4D aken from..;.APM
000050: 4F 44 45 4D 2E 41 53 4D 20 56 32 2E 31 0D 0A 3B ODEM.ASM V2.1..;
000060: 09 42 61 73 65 64 20 6F 6E 20 4D 4F 44 45 4D 2E .Based on MODEM.
000070: 41 53 4D 20 62 79 20 57 61 72 64 20 43 68 72 69 ASM by Ward Chri
000080: 73 74 65 6E 73 65 6E 0D 0A 3B 09 4D 6F 64 69 66 stensen..;.Modif
000090: 69 65 64 20 66 6F 72 20 74 68 65 20 41 70 70 6C ied for the Appl
0000A0: 65 20 5D 5B 20 62 79 20 47 6F 72 64 6F 6E 20 42 e ][ by Gordon B
0000B0: 61 6E 6B 73 20 31 2D 4A 61 6E 2D 38 31 0D 0A 3B anks 1-Jan-81..;
0000C0: 09 4D 69 63 72 6F 6D 6F 64 65 6D 20 5D 5B 20 64 .Micromodem ][ d
0000D0: 69 61 6C 65 72 20 6F 70 74 69 6F 6E 20 62 79 20 ialer option by
0000E0: 44 61 76 20 48 6F 6C 6C 65 20 20 32 2D 46 65 62 Dav Holle 2-Feb
0000F0: 2D 38 31 0D 0A 3B 09 43 6F 64 65 20 6D 6F 64 69 -81..;.Code modi
000100: 66 69 65 64 20 66 6F 72 20 4B 45 52 4D 49 54 20 fied for KERMIT
000110: 62 79 20 53 63 6F 74 74 20 52 6F 62 69 6E 73 6F by Scott Robinso
000120: 6E 20 31 34 2D 4F 63 74 2D 38 32 0D 0A 3B 0D 0A n 14-Oct-82..;..
000130: 3B 43 6F 6D 65 20 68 65 72 65 20 74 6F 20 73 65 ;Come here to se
000140: 65 20 69 66 20 77 65 20 6E 65 65 64 20 74 6F 20 e if we need to
000150: 64 69 61 6C 20 61 20 6E 75 6D 62 65 72 2E 0D 0A dial a number...
000160: 3B 0D 0A 63 6B 64 69 61 6C 3A 09 6C 64 61 09 6D ;..ckdial:.lda.m
000170: 6E 70 6F 72 74 09 09 3B 61 63 63 65 73 73 20 74 nport..;access t
000180: 68 65 20 64 61 74 61 20 70 6F 72 74 0D 0A 09 6C he data port...l
000190: 64 61 09 6D 6E 70 72 74 73 09 09 3B 63 68 65 63 da.mnprts..;chec
0001A0: 6B 20 73 74 61 74 75 73 0D 0A 09 61 6E 69 09 34 k status...ani.4
0001B0: 09 09 3B 64 6F 20 77 65 20 61 6C 72 65 61 64 79 ..;do we already
0001C0: 20 68 61 76 65 20 63 61 72 72 69 65 72 3F 0D 0A have carrier?..
0001D0: 09 6A 7A 09 72 73 6B 70 09 09 3B 59 65 73 2C 20 .jz.rskp..;Yes,
0001E0: 6A 75 73 74 20 63 6F 6E 74 69 6E 75 65 0D 0A 09 just continue...
0001F0: 78 72 61 20 09 61 09 09 3B 48 61 6E 67 75 70 20 xra .a..;Hangup
Size : 512 (Real : 512)
000000: 70 6C 65 20 5A 38 30 0D 0A 09 09 09 09 3B 63 6C ple Z80......;cl
000010: 6F 63 6B 3D 32 2E 30 34 31 4D 48 7A 29 0D 0A 3B ock=2.041MHz)..;
000020: 0D 0A 64 65 6C 61 79 32 3A 09 64 63 72 09 65 09 ..delay2:.dcr.e.
000030: 09 3B 63 6F 75 6E 74 0D 0A 09 6A 6E 7A 09 64 65 .;count...jnz.de
000040: 6C 61 79 32 09 09 3B 64 6F 77 6E 0D 0A 3B 0D 0A lay2..;down..;..
000050: 09 64 63 72 09 63 09 09 3B 6D 6F 72 65 20 6D 69 .dcr.c..;more mi
000060: 6C 6C 69 73 65 63 73 3F 0D 0A 09 6A 6E 7A 09 64 llisecs?...jnz.d
000070: 65 6C 61 79 31 09 09 3B 79 65 73 0D 0A 09 64 63 elay1..;yes...dc
000080: 72 09 62 09 09 3B 6E 6F 20 2D 20 6D 6F 72 65 20 r.b..;no - more
000090: 69 6E 20 68 69 20 62 79 74 65 3F 0D 0A 09 6A 6E in hi byte?...jn
0000A0: 7A 09 64 65 6C 61 79 31 09 09 3B 79 65 73 0D 0A z.delay1..;yes..
0000B0: 09 70 6F 70 09 64 09 09 3B 6E 6F 2C 09 72 65 73 .pop.d..;no,.res
0000C0: 74 6F 72 65 20 44 2C 45 0D 0A 09 70 6F 70 09 62 tore D,E...pop.b
0000D0: 09 09 3B 09 72 65 73 74 6F 72 65 20 42 2C 43 0D ..;.restore B,C.
0000E0: 0A 09 72 65 74 0D 0A 45 4E 44 49 46 3B 61 70 6D ..ret..ENDIF;apm
0000F0: 6D 64 6D 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 73 79 mdm..;...;..;.sy
000100: 73 63 6C 73 20 2D 20 73 79 73 74 65 6D 2D 64 65 scls - system-de
000110: 70 65 6E 64 65 6E 74 20 63 6C 6F 73 65 20 72 6F pendent close ro
000120: 75 74 69 6E 65 0D 0A 3B 09 63 61 6C 6C 65 64 20 utine..;.called
000130: 77 68 65 6E 20 65 78 69 74 69 6E 67 20 74 72 61 when exiting tra
000140: 6E 73 70 61 72 65 6E 74 20 73 65 73 73 69 6F 6E nsparent session
000150: 2E 0D 0A 3B 0D 0A 73 79 73 63 6C 73 3A 0D 0A 49 ...;..syscls:..I
000160: 46 20 6F 73 62 72 6E 31 0D 0A 09 6C 68 6C 64 09 F osbrn1...lhld.
000170: 31 09 09 3B 4D 6F 64 69 66 79 20 62 61 63 6B 2D 1..;Modify back-
000180: 61 72 72 6F 77 20 63 6F 64 65 20 74 6F 20 42 41 arrow code to BA
000190: 43 4B 53 50 41 43 45 0D 0A 09 6D 76 69 09 6C 2C CKSPACE...mvi.l,
0001A0: 30 09 09 3B 47 65 74 20 42 49 4F 53 20 61 64 64 0..;Get BIOS add
0001B0: 72 65 73 73 0D 0A 09 6C 78 69 09 64 2C 38 35 48 ress...lxi.d,85H
0001C0: 09 09 3B 41 64 64 72 65 73 73 20 66 6F 72 20 6B ..;Address for k
0001D0: 65 79 2D 63 6F 64 65 20 3D 58 58 38 35 48 0D 0A ey-code =XX85H..
0001E0: 09 64 61 64 09 64 0D 0A 09 6D 6F 76 09 65 2C 6D .dad.d...mov.e,m
0001F0: 09 09 3B 47 65 74 20 69 74 20 69 6E 20 44 45 0D ..;Get it in DE.
Size : 512 (Real : 512)
000000: 50 68 6F 6E 65 20 66 6F 72 20 73 74 61 72 74 65 Phone for starte
000010: 72 73 0D 0A 09 73 74 61 09 6D 6E 6D 6F 64 6D 0D rs...sta.mnmodm.
000020: 0A 09 6C 78 69 09 62 2C 31 30 30 30 09 09 3B 44 ..lxi.b,1000..;D
000030: 65 6C 61 79 20 66 6F 72 20 61 20 73 65 63 6F 6E elay for a secon
000040: 64 0D 0A 09 63 61 6C 6C 09 64 65 6C 61 79 0D 0A d...call.delay..
000050: 09 6D 76 69 09 61 2C 38 46 48 09 09 3B 6F 72 67 .mvi.a,8FH..;org
000060: 6D 6F 64 2B 61 70 33 30 30 2B 61 70 6F 66 66 68 mod+ap300+apoffh
000070: 0D 0A 09 73 74 61 09 68 6F 6C 64 64 09 09 3B 73 ...sta.holdd..;s
000080: 74 6F 72 69 6E 67 20 6D 6F 64 65 20 66 6F 72 20 toring mode for
000090: 61 66 74 65 72 20 64 69 61 6C 69 6E 67 0D 0A 09 after dialing...
0000A0: 6D 76 69 09 41 2C 38 44 48 09 09 3B 47 6F 20 4F mvi.A,8DH..;Go O
0000B0: 66 66 68 6F 6F 6B 20 74 6F 20 73 74 61 72 74 20 ffhook to start
0000C0: 64 69 61 6C 69 6E 67 20 73 65 71 75 65 6E 63 65 dialing sequence
0000D0: 0D 0A 09 73 74 61 09 6D 6E 6D 6F 64 6D 0D 0A 09 ...sta.mnmodm...
0000E0: 6D 76 69 09 61 2C 61 70 69 6E 63 31 09 3B 49 6E mvi.a,apinc1.;In
0000F0: 69 74 20 41 43 49 41 0D 0A 09 73 74 61 09 6D 6E it ACIA...sta.mn
000100: 70 6F 72 74 0D 0A 09 6D 76 69 09 61 2C 61 70 69 port...mvi.a,api
000110: 6E 63 32 09 3B 53 65 74 20 41 43 49 41 20 62 69 nc2.;Set ACIA bi
000120: 74 73 20 70 65 72 20 63 68 61 72 61 63 74 65 72 ts per character
000130: 0D 0A 09 73 74 61 09 6D 6E 70 6F 72 74 0D 0A 0D ...sta.mnport...
000140: 0A 09 6C 78 69 09 62 2C 32 35 30 30 09 09 3B 77 ..lxi.b,2500..;w
000150: 61 69 74 20 32 2E 35 20 73 65 63 6F 6E 64 73 20 ait 2.5 seconds
000160: 66 6F 72 20 64 69 61 6C 20 74 6F 6E 65 0D 0A 09 for dial tone...
000170: 63 61 6C 6C 09 64 65 6C 61 79 0D 0A 09 6C 78 69 call.delay...lxi
000180: 09 64 2C 64 69 61 6C 6D 73 09 3B 41 73 6B 20 74 .d,dialms.;Ask t
000190: 68 65 20 75 73 65 72 20 66 6F 72 20 74 68 65 20 he user for the
0001A0: 6E 75 6D 62 65 72 0D 0A 09 63 61 6C 6C 09 70 72 number...call.pr
0001B0: 74 73 74 72 0D 0A 3B 0D 0A 67 74 64 69 61 6C 3A tstr..;..gtdial:
0001C0: 20 6D 76 69 09 63 2C 63 6F 6E 69 6E 09 09 3B 47 mvi.c,conin..;G
0001D0: 65 74 20 61 20 63 68 61 72 61 63 74 65 72 0D 0A et a character..
0001E0: 09 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 70 75 73 .call.bdos...pus
0001F0: 68 09 70 73 77 09 09 3B 73 61 76 65 20 69 74 0D h.psw..;save it.
Size : 512 (Real : 512)
000000: 0A 09 69 6E 78 09 68 0D 0A 09 6D 6F 76 09 64 2C ..inx.h...mov.d,
000010: 6D 0D 0A 09 78 63 68 67 09 09 09 3B 41 64 64 72 m...xchg...;Addr
000020: 65 73 73 20 74 6F 20 48 4C 0D 0A 09 6D 76 69 09 ess to HL...mvi.
000030: 6D 2C 62 73 09 09 3B 4D 6F 64 69 66 79 20 63 6F m,bs..;Modify co
000040: 64 65 0D 0A 45 4E 44 49 46 3B 6F 73 62 72 6E 31 de..ENDIF;osbrn1
000050: 0D 0A 09 72 65 74 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B ...ret..;...;..;
000060: 09 73 79 73 69 6E 68 20 2D 20 68 65 6C 70 20 66 .sysinh - help f
000070: 6F 72 20 73 79 73 74 65 6D 2D 64 65 70 65 6E 64 or system-depend
000080: 65 6E 74 20 73 70 65 63 69 61 6C 20 66 75 6E 63 ent special func
000090: 74 69 6F 6E 73 2E 0D 0A 3B 09 63 61 6C 6C 65 64 tions...;.called
0000A0: 20 69 6E 20 72 65 73 70 6F 6E 73 65 20 74 6F 20 in response to
0000B0: 3C 65 73 63 61 70 65 3E 3F 2C 20 61 66 74 65 72 <escape>?, after
0000C0: 20 6C 69 73 74 69 6E 67 20 61 6C 6C 20 74 68 65 listing all the
0000D0: 0D 0A 3B 09 73 79 73 74 65 6D 2D 69 6E 64 65 70 ..;.system-indep
0000E0: 65 6E 64 65 6E 74 20 65 73 63 61 70 65 20 73 65 endent escape se
0000F0: 71 75 65 6E 63 65 73 2E 0D 0A 3B 0D 0A 73 79 73 quences...;..sys
000100: 69 6E 68 3A 09 0D 0A 49 46 20 61 70 6D 6D 64 6D inh:...IF apmmdm
000110: 20 4F 52 20 72 6F 62 69 6E 20 4F 52 20 64 6D 49 OR robin OR dmI
000120: 49 20 4F 52 20 62 62 49 49 20 4F 52 20 62 62 49 I OR bbII OR bbI
000130: 20 4F 52 20 63 70 74 38 35 78 78 20 4F 52 20 68 OR cpt85xx OR h
000140: 65 61 74 68 20 4F 52 20 6C 6F 62 6F 0D 0A 09 6C eath OR lobo...l
000150: 78 69 09 64 2C 69 6E 68 6C 70 73 09 3B 20 77 65 xi.d,inhlps.; we
000160: 20 67 6F 74 20 6F 70 74 69 6F 6E 73 2E 2E 2E 0D got options....
000170: 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 09 09 3B ..call.prtstr..;
000180: 20 70 72 69 6E 74 20 74 68 65 6D 2E 0D 0A 45 4E print them...EN
000190: 44 49 46 3B 61 70 6D 6D 64 6D 20 4F 52 20 72 6F DIF;apmmdm OR ro
0001A0: 62 69 6E 20 4F 52 20 64 6D 49 49 20 4F 52 20 62 bin OR dmII OR b
0001B0: 62 49 49 20 4F 52 20 62 62 49 20 4F 52 20 63 70 bII OR bbI OR cp
0001C0: 74 38 35 78 78 20 4F 52 20 68 65 61 74 68 20 4F t85xx OR heath O
0001D0: 52 20 6C 6F 62 6F 0D 0A 09 72 65 74 0D 0A 0D 0A R lobo...ret....
0001E0: 3B 61 64 64 69 74 69 6F 6E 61 6C 2C 20 73 79 73 ;additional, sys
0001F0: 74 65 6D 2D 64 65 70 65 6E 64 65 6E 74 20 68 65 tem-dependent he
Size : 512 (Real : 512)
000000: 0A 09 63 70 69 09 33 30 48 09 09 3B 69 73 20 69 ..cpi.30H..;is i
000010: 74 20 62 69 67 20 65 6E 6F 75 67 68 20 74 6F 20 t big enough to
000020: 64 69 61 6C 3F 0D 0A 09 6A 63 09 64 69 61 6C 65 dial?...jc.diale
000030: 64 09 09 3B 6E 6F 0D 0A 09 63 70 69 09 33 41 48 d..;no...cpi.3AH
000040: 09 09 3B 69 73 20 69 74 20 74 6F 6F 20 62 69 67 ..;is it too big
000050: 20 74 6F 20 64 69 61 6C 3F 0D 0A 09 6A 6E 63 09 to dial?...jnc.
000060: 64 69 61 6C 65 64 09 09 3B 79 65 73 0D 0A 09 61 dialed..;yes...a
000070: 6E 69 09 30 46 48 09 09 3B 6F 6B 2C 20 69 74 27 ni.0FH..;ok, it'
000080: 73 20 61 20 64 69 67 69 74 2C 20 67 65 74 20 69 s a digit, get i
000090: 74 73 20 76 61 6C 75 65 0D 0A 09 6A 6E 7A 09 64 ts value...jnz.d
0000A0: 69 61 6C 6E 7A 09 09 3B 64 69 61 6C 20 6E 6F 6E ialnz..;dial non
0000B0: 7A 65 72 6F 20 64 69 67 69 74 73 20 61 73 2D 69 zero digits as-i
0000C0: 73 0D 0A 09 6D 76 69 09 41 2C 31 30 09 09 3B 64 s...mvi.A,10..;d
0000D0: 69 61 6C 20 7A 65 72 6F 20 61 73 20 74 65 6E 0D ial zero as ten.
0000E0: 0A 3B 0D 0A 64 69 61 6C 6E 7A 3A 09 6D 6F 76 09 .;..dialnz:.mov.
0000F0: 65 2C 61 09 09 3B 63 6F 75 6E 74 20 70 75 6C 73 e,a..;count puls
000100: 65 73 20 69 6E 20 45 2D 72 65 67 0D 0A 64 6F 70 es in E-reg..dop
000110: 75 6C 73 3A 20 6D 76 69 09 61 2C 30 44 48 09 09 uls: mvi.a,0DH..
000120: 3B 70 75 74 20 69 74 20 6F 6E 2D 68 6F 6F 6B 0D ;put it on-hook.
000130: 0A 09 73 74 61 09 6D 6E 6D 6F 64 6D 0D 0A 09 6C ..sta.mnmodm...l
000140: 78 69 09 62 2C 36 31 09 09 3B 36 31 2D 6D 69 6C xi.b,61..;61-mil
000150: 6C 69 73 65 63 20 70 75 6C 73 65 0D 0A 09 63 61 lisec pulse...ca
000160: 6C 6C 09 64 65 6C 61 79 0D 0A 09 6D 76 69 09 61 ll.delay...mvi.a
000170: 2C 38 44 48 09 09 3B 74 61 6B 65 20 69 74 20 6F ,8DH..;take it o
000180: 66 66 2D 68 6F 6F 6B 20 61 67 61 69 6E 2E 2E 2E ff-hook again...
000190: 0D 0A 09 73 74 61 09 6D 6E 6D 6F 64 6D 0D 0A 09 ...sta.mnmodm...
0001A0: 6C 78 69 09 62 2C 33 39 09 09 3B 33 39 2D 6D 69 lxi.b,39..;39-mi
0001B0: 6C 6C 69 73 65 63 20 64 65 6C 61 79 20 62 65 74 llisec delay bet
0001C0: 77 65 65 6E 20 70 75 6C 73 65 73 0D 0A 09 63 61 ween pulses...ca
0001D0: 6C 6C 09 64 65 6C 61 79 0D 0A 09 64 63 72 09 65 ll.delay...dcr.e
0001E0: 09 09 3B 61 6E 79 20 6D 6F 72 65 20 70 75 6C 73 ..;any more puls
0001F0: 65 73 20 74 6F 20 64 6F 3F 0D 0A 09 6A 6E 7A 09 es to do?...jnz.
Size : 512 (Real : 512)
000000: 6C 70 20 66 6F 72 20 74 72 61 6E 73 70 61 72 65 lp for transpare
000010: 6E 74 20 6D 6F 64 65 0D 0A 3B 20 28 74 77 6F 2D nt mode..; (two-
000020: 63 68 61 72 61 63 74 65 72 20 65 73 63 61 70 65 character escape
000030: 20 73 65 71 75 65 6E 63 65 73 29 0D 0A 69 6E 68 sequences)..inh
000040: 6C 70 73 3A 0D 0A 0D 0A 49 46 20 72 6F 62 69 6E lps:....IF robin
000050: 20 4F 52 20 64 6D 49 49 20 4F 52 20 62 62 49 49 OR dmII OR bbII
000060: 20 4F 52 20 62 62 49 20 4F 52 20 63 70 74 38 35 OR bbI OR cpt85
000070: 78 78 20 4F 52 20 68 65 61 74 68 20 4F 52 20 6C xx OR heath OR l
000080: 6F 62 6F 0D 0A 09 64 62 09 63 72 2C 6C 66 2C 27 obo...db.cr,lf,'
000090: 42 20 20 54 72 61 6E 73 6D 69 74 20 61 20 42 52 B Transmit a BR
0000A0: 45 41 4B 27 0D 0A 45 4E 44 49 46 3B 72 6F 62 69 EAK'..ENDIF;robi
0000B0: 6E 20 4F 52 20 64 6D 49 49 20 4F 52 20 62 62 49 n OR dmII OR bbI
0000C0: 49 20 4F 52 20 62 62 49 20 4F 52 20 63 70 74 38 I OR bbI OR cpt8
0000D0: 35 78 78 20 4F 52 20 68 65 61 74 68 20 4F 52 20 5xx OR heath OR
0000E0: 6C 6F 62 6F 0D 0A 0D 0A 49 46 20 61 70 6D 6D 64 lobo....IF apmmd
0000F0: 6D 20 4F 52 20 68 65 61 74 68 20 4F 52 20 6C 6F m OR heath OR lo
000100: 62 6F 0D 0A 09 64 62 09 63 72 2C 6C 66 2C 27 44 bo...db.cr,lf,'D
000110: 20 20 44 72 6F 70 20 74 68 65 20 6C 69 6E 65 27 Drop the line'
000120: 0D 0A 45 4E 44 49 46 3B 61 70 6D 6D 64 6D 20 4F ..ENDIF;apmmdm O
000130: 52 20 68 65 61 74 68 20 4F 52 20 6C 6F 62 6F 0D R heath OR lobo.
000140: 0A 0D 0A 09 64 62 09 27 24 27 09 09 09 3B 5B 68 ....db.'$'...;[h
000150: 68 5D 20 74 61 62 6C 65 20 74 65 72 6D 69 6E 61 h] table termina
000160: 74 6F 72 0D 0A 0D 0A 3B 0D 0A 3B 09 73 79 73 69 tor....;..;.sysi
000170: 6E 74 20 2D 20 73 79 73 74 65 6D 20 64 65 70 65 nt - system depe
000180: 6E 64 65 6E 74 20 73 70 65 63 69 61 6C 20 66 75 ndent special fu
000190: 6E 63 74 69 6F 6E 73 0D 0A 3B 09 63 61 6C 6C 65 nctions..;.calle
0001A0: 64 20 77 68 65 6E 20 74 72 61 6E 73 70 61 72 65 d when transpare
0001B0: 6E 74 20 65 73 63 61 70 65 20 63 68 61 72 61 63 nt escape charac
0001C0: 74 65 72 20 68 61 73 20 62 65 65 6E 20 74 79 70 ter has been typ
0001D0: 65 64 3B 0D 0A 3B 09 74 68 65 20 73 65 63 6F 6E ed;..;.the secon
0001E0: 64 20 63 68 61 72 61 63 74 65 72 20 6F 66 20 74 d character of t
0001F0: 68 65 20 73 65 71 75 65 6E 63 65 20 69 73 20 69 he sequence is i
Size : 512 (Real : 512)
000000: 64 6F 70 75 6C 73 09 09 3B 79 65 70 2C 20 64 6F dopuls..;yep, do
000010: 20 27 65 6D 0D 0A 09 6C 78 69 09 62 2C 36 30 30 'em...lxi.b,600
000020: 09 09 3B 64 65 6C 61 79 20 36 30 30 20 6D 73 65 ..;delay 600 mse
000030: 63 73 20 62 65 74 77 65 65 6E 20 64 69 67 69 74 cs between digit
000040: 73 0D 0A 09 63 61 6C 6C 09 64 65 6C 61 79 0D 0A s...call.delay..
000050: 3B 0D 0A 64 69 61 6C 65 64 3A 09 70 6F 70 09 70 ;..dialed:.pop.p
000060: 73 77 09 09 3B 67 65 74 20 62 61 63 6B 20 74 68 sw..;get back th
000070: 65 20 63 68 61 72 0D 0A 09 63 70 69 09 63 72 09 e char...cpi.cr.
000080: 09 3B 64 6F 20 77 65 20 68 61 76 65 20 61 20 43 .;do we have a C
000090: 52 20 28 64 6F 6E 65 20 64 69 61 6C 69 6E 67 29 R (done dialing)
0000A0: 3F 0D 0A 09 6A 6E 7A 09 67 74 64 69 61 6C 09 09 ?...jnz.gtdial..
0000B0: 3B 6E 6F 2C 20 6B 65 65 70 20 6F 6E 20 64 69 61 ;no, keep on dia
0000C0: 6C 69 6E 27 0D 0A 09 6C 78 69 09 64 2C 64 69 61 lin'...lxi.d,dia
0000D0: 6C 6D 32 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 lm2...call.prtst
0000E0: 72 0D 0A 0D 0A 74 69 63 74 6F 63 3A 20 6D 76 69 r....tictoc: mvi
0000F0: 09 63 2C 64 63 6F 6E 69 6F 09 3B 44 69 72 65 63 .c,dconio.;Direc
000100: 74 20 63 6F 6E 73 6F 6C 65 20 69 6E 70 75 74 2E t console input.
000110: 0D 0A 09 6D 76 69 09 65 2C 30 46 46 48 0D 0A 09 ...mvi.e,0FFH...
000120: 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 6F 72 61 09 call.bdos...ora.
000130: 61 09 09 3B 48 61 76 65 20 61 20 63 68 61 72 63 a..;Have a charc
000140: 74 65 72 3F 0D 0A 09 6A 6E 7A 20 09 6E 6F 64 69 ter?...jnz .nodi
000150: 61 6C 09 09 3B 49 66 20 73 6F 20 77 65 20 61 62 al..;If so we ab
000160: 6F 72 74 0D 0A 09 6C 64 61 09 6D 6E 70 6F 72 74 ort...lda.mnport
000170: 09 20 09 3B 61 63 63 65 73 73 20 74 68 65 20 64 . .;access the d
000180: 61 74 61 20 70 6F 72 74 0D 0A 09 6C 64 61 09 6D ata port...lda.m
000190: 6E 70 72 74 73 09 09 3B 67 65 74 20 6D 6F 64 65 nprts..;get mode
0001A0: 6D 20 73 74 61 74 75 73 0D 0A 09 61 6E 69 09 34 m status...ani.4
0001B0: 09 09 3B 63 61 72 72 69 65 72 3F 0D 0A 09 6A 6E ..;carrier?...jn
0001C0: 7A 09 74 69 63 74 6F 63 09 09 3B 4E 6F 0D 0A 3B z.tictoc..;No..;
0001D0: 0D 0A 09 6C 64 61 09 68 6F 6C 64 64 09 09 3B 67 ...lda.holdd..;g
0001E0: 65 74 20 74 68 65 20 6F 6C 64 20 6D 6F 64 65 6D et the old modem
0001F0: 20 63 6F 6E 74 72 6F 6C 20 62 79 74 65 0D 0A 09 control byte...
Size : 512 (Real : 512)
000000: 6E 20 41 20 28 61 6E 64 20 69 6E 20 42 29 2E 0D n A (and in B)..
000010: 0A 3B 09 72 65 74 75 72 6E 73 3A 0D 0A 3B 09 6E .;.returns:..;.n
000020: 6F 6E 2D 73 6B 69 70 3A 20 73 65 71 75 65 6E 63 on-skip: sequenc
000030: 65 20 68 61 73 20 62 65 65 6E 20 70 72 6F 63 65 e has been proce
000040: 73 73 65 64 0D 0A 3B 09 73 6B 69 70 3A 09 73 65 ssed..;.skip:.se
000050: 71 75 65 6E 63 65 20 77 61 73 20 6E 6F 74 20 72 quence was not r
000060: 65 63 6F 67 6E 69 7A 65 64 0D 0A 73 79 73 69 6E ecognized..sysin
000070: 74 3A 09 61 6E 69 09 31 33 37 4F 09 09 3B 20 63 t:.ani.137O..; c
000080: 6F 6E 76 65 72 74 20 6C 6F 77 65 72 20 63 61 73 onvert lower cas
000090: 65 20 74 6F 20 75 70 70 65 72 2C 20 66 6F 72 20 e to upper, for
0000A0: 74 65 73 74 69 6E 67 2E 2E 2E 0D 0A 49 46 20 61 testing.....IF a
0000B0: 70 6D 6D 64 6D 0D 0A 09 63 70 69 09 27 44 27 09 pmmdm...cpi.'D'.
0000C0: 09 3B 44 69 73 63 6F 6E 6E 65 63 74 20 4D 6F 64 .;Disconnect Mod
0000D0: 65 6D 3F 0D 0A 09 6A 6E 7A 09 69 6E 74 63 30 30 em?...jnz.intc00
0000E0: 09 09 3B 4E 6F 2E 0D 0A 09 78 72 61 09 61 09 09 ..;No....xra.a..
0000F0: 3B 59 65 73 2C 20 68 61 6E 67 75 70 20 74 68 65 ;Yes, hangup the
000100: 20 6D 6F 64 65 6D 0D 0A 09 73 74 61 09 6D 6E 6D modem...sta.mnm
000110: 6F 64 6D 0D 0A 09 72 65 74 09 09 09 3B 20 63 6F odm...ret...; co
000120: 6D 6D 61 6E 64 20 68 61 73 20 62 65 65 6E 20 65 mmand has been e
000130: 78 65 63 75 74 65 64 0D 0A 69 6E 74 63 30 30 3A xecuted..intc00:
000140: 0D 0A 45 4E 44 49 46 3B 61 70 6D 6D 64 6D 0D 0A ..ENDIF;apmmdm..
000150: 0D 0A 49 46 20 68 65 61 74 68 0D 0A 09 63 70 69 ..IF heath...cpi
000160: 09 27 44 27 09 09 3B 20 64 72 6F 70 20 6C 69 6E .'D'..; drop lin
000170: 65 3F 0D 0A 09 6A 6E 7A 09 69 6E 74 63 30 30 09 e?...jnz.intc00.
000180: 09 3B 20 6E 6F 3A 20 20 74 72 79 20 6E 65 78 74 .; no: try next
000190: 20 66 75 6E 63 74 69 6F 6E 20 63 68 61 72 61 63 function charac
0001A0: 74 65 72 0D 0A 0D 0A 6D 64 6D 64 72 70 3A 09 69 ter....mdmdrp:.i
0001B0: 6E 09 6D 6E 70 6F 72 74 2B 61 63 65 6D 63 72 09 n.mnport+acemcr.
0001C0: 3B 20 28 77 65 20 61 6C 73 6F 20 67 65 74 20 68 ; (we also get h
0001D0: 65 72 65 20 66 72 6F 6D 20 73 79 73 62 79 65 29 ere from sysbye)
0001E0: 0D 0A 09 61 6E 69 09 30 46 46 48 2D 61 63 65 64 ...ani.0FFH-aced
0001F0: 74 72 0D 0A 09 6F 75 74 09 6D 6E 70 6F 72 74 2B tr...out.mnport+
Size : 512 (Real : 512)
000000: 73 74 61 09 6D 6E 6D 6F 64 6D 09 09 3B 74 75 72 sta.mnmodm..;tur
000010: 6E 20 6F 75 72 20 63 61 72 72 69 65 72 20 6F 6E n our carrier on
000020: 0D 0A 0D 0A 09 6C 78 69 09 64 2C 64 69 61 6C 6D .....lxi.d,dialm
000030: 33 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 0D 3...call.prtstr.
000040: 0A 09 6A 6D 70 09 72 73 6B 70 0D 0A 6E 6F 64 69 ..jmp.rskp..nodi
000050: 61 6C 3A 20 78 72 61 09 61 09 09 3B 48 61 6E 67 al: xra.a..;Hang
000060: 75 70 20 74 68 65 20 6D 6F 64 65 6D 2E 0D 0A 09 up the modem....
000070: 73 74 61 09 6D 6E 6D 6F 64 6D 0D 0A 09 72 65 74 sta.mnmodm...ret
000080: 09 09 09 3B 52 65 74 75 72 6E 20 74 6F 20 61 62 ...;Return to ab
000090: 6F 72 74 20 74 68 65 20 63 6F 6D 6D 61 6E 64 2E ort the command.
0000A0: 0D 0A 3B 0D 0A 68 6F 6C 64 64 3A 09 64 62 09 30 ..;..holdd:.db.0
0000B0: 09 09 3B 4D 6F 64 65 6D 20 73 65 74 75 70 20 63 ..;Modem setup c
0000C0: 6F 64 65 0D 0A 64 69 61 6C 6D 73 3A 09 44 42 09 ode..dialms:.DB.
0000D0: 27 4E 75 6D 62 65 72 20 74 6F 20 44 69 61 6C 3A 'Number to Dial:
0000E0: 20 24 27 0D 0A 64 69 61 6C 6D 32 3A 09 44 42 09 $'..dialm2:.DB.
0000F0: 43 52 2C 4C 46 2C 27 41 77 61 69 74 69 6E 67 20 CR,LF,'Awaiting
000100: 43 61 72 72 69 65 72 2E 2E 2E 2E 28 61 6E 79 20 Carrier....(any
000110: 6B 65 79 20 61 62 6F 72 74 73 29 24 27 0D 0A 64 key aborts)$'..d
000120: 69 61 6C 6D 33 3A 09 44 42 09 63 72 2C 6C 66 2C ialm3:.DB.cr,lf,
000130: 27 43 6F 6E 6E 65 63 74 65 64 2E 27 2C 43 52 2C 'Connected.',CR,
000140: 4C 46 2C 27 24 27 0D 0A 3B 0D 0A 3B 44 45 4C 41 LF,'$'..;..;DELA
000150: 59 20 77 61 69 74 20 66 6F 72 20 74 68 65 20 6E Y wait for the n
000160: 75 6D 62 65 72 20 6F 66 20 6D 69 6C 6C 69 73 65 umber of millise
000170: 63 73 20 69 6E 20 42 2C 43 0D 0A 3B 0D 0A 64 65 cs in B,C..;..de
000180: 6C 61 79 3A 09 70 75 73 68 09 62 09 09 3B 73 61 lay:.push.b..;sa
000190: 76 65 20 42 2C 43 0D 0A 09 70 75 73 68 09 64 09 ve B,C...push.d.
0001A0: 09 3B 73 61 76 65 20 44 2C 45 0D 0A 09 69 6E 72 .;save D,E...inr
0001B0: 09 62 09 09 3B 62 75 6D 70 20 42 20 66 6F 72 20 .b..;bump B for
0001C0: 6C 61 74 65 72 20 44 43 52 0D 0A 3B 0D 0A 64 65 later DCR..;..de
0001D0: 6C 61 79 31 3A 09 6D 76 69 09 65 2C 31 32 36 09 lay1:.mvi.e,126.
0001E0: 09 3B 64 65 6C 61 79 20 63 6F 75 6E 74 20 66 6F .;delay count fo
0001F0: 72 20 31 20 6D 69 6C 6C 69 73 65 63 20 28 41 70 r 1 millisec (Ap
Size : 512 (Real : 512)
000000: 61 63 65 6D 63 72 09 3B 20 79 65 73 3A 20 64 72 acemcr.; yes: dr
000010: 6F 70 20 44 54 52 0D 0A 09 6D 76 69 09 61 2C 35 op DTR...mvi.a,5
000020: 30 09 09 3B 20 20 20 20 20 20 66 6F 72 20 68 61 0..; for ha
000030: 6C 66 20 61 20 73 65 63 6F 6E 64 0D 0A 09 63 61 lf a second...ca
000040: 6C 6C 09 64 65 6C 61 79 0D 0A 09 69 6E 09 6D 6E ll.delay...in.mn
000050: 70 6F 72 74 2B 61 63 65 6D 63 72 0D 0A 09 6F 72 port+acemcr...or
000060: 69 09 61 63 65 64 74 72 0D 0A 09 6F 75 74 09 6D i.acedtr...out.m
000070: 6E 70 6F 72 74 2B 61 63 65 6D 63 72 09 3B 20 20 nport+acemcr.;
000080: 20 20 20 20 61 6E 64 20 74 68 65 6E 20 72 65 73 and then res
000090: 74 6F 72 65 20 69 74 0D 0A 09 72 65 74 0D 0A 69 tore it...ret..i
0000A0: 6E 74 63 30 30 3A 0D 0A 45 4E 44 49 46 3B 68 65 ntc00:..ENDIF;he
0000B0: 61 74 68 0D 0A 0D 0A 49 46 20 72 6F 62 69 6E 20 ath....IF robin
0000C0: 4F 52 20 64 6D 49 49 20 4F 52 20 62 62 49 20 4F OR dmII OR bbI O
0000D0: 52 20 62 62 49 49 20 4F 52 20 63 70 74 38 35 78 R bbII OR cpt85x
0000E0: 78 20 4F 52 20 68 65 61 74 68 20 4F 52 20 6C 6F x OR heath OR lo
0000F0: 62 6F 0D 0A 09 63 70 69 09 27 42 27 09 09 3B 20 bo...cpi.'B'..;
000100: 73 65 6E 64 20 62 72 65 61 6B 3F 0D 0A 09 6A 7A send break?...jz
000110: 09 73 65 6E 64 62 72 09 09 3B 20 79 65 73 2C 20 .sendbr..; yes,
000120: 67 6F 20 64 6F 20 69 74 2E 20 20 72 65 74 75 72 go do it. retur
000130: 6E 20 6E 6F 6E 73 6B 69 70 20 77 68 65 6E 20 74 n nonskip when t
000140: 68 72 6F 75 67 68 2E 0D 0A 45 4E 44 49 46 3B 72 hrough...ENDIF;r
000150: 6F 62 69 6E 20 4F 52 20 64 6D 49 49 20 4F 52 20 obin OR dmII OR
000160: 62 62 49 20 4F 52 20 62 62 49 49 20 4F 52 20 63 bbI OR bbII OR c
000170: 70 74 38 35 78 78 20 4F 52 20 68 65 61 74 68 20 pt85xx OR heath
000180: 4F 52 20 6C 6F 62 6F 0D 0A 49 46 20 6C 6F 62 6F OR lobo..IF lobo
000190: 09 3B 5B 68 68 5D 0D 0A 09 63 70 69 09 27 44 27 .;[hh]...cpi.'D'
0001A0: 09 09 3B 5B 68 68 5D 20 64 69 73 63 6F 6E 6E 65 ..;[hh] disconne
0001B0: 63 74 3F 0D 0A 09 6A 7A 09 64 69 73 63 6F 6E 09 ct?...jz.discon.
0001C0: 09 3B 5B 68 68 5D 20 79 65 73 2C 20 67 6F 20 64 .;[hh] yes, go d
0001D0: 6F 20 69 74 2E 20 6E 6F 6E 73 6B 69 70 20 72 65 o it. nonskip re
0001E0: 74 75 72 6E 20 77 68 65 6E 20 64 6F 6E 65 2E 0D turn when done..
0001F0: 0A 45 4E 44 49 46 09 3B 6C 6F 62 6F 0D 0A 0D 0A .ENDIF.;lobo....
Size : 512 (Real : 512)
000000: 74 20 61 6E 6F 74 68 65 72 20 63 68 61 72 61 63 t another charac
000010: 74 65 72 3B 0D 0A 3B 09 74 68 65 20 70 72 65 76 ter;..;.the prev
000020: 69 6F 75 73 20 63 68 61 72 61 63 74 65 72 20 69 ious character i
000030: 73 20 73 74 69 6C 6C 20 62 65 69 6E 67 20 73 68 s still being sh
000040: 69 66 74 65 64 20 6F 6E 74 6F 20 74 68 65 20 6C ifted onto the l
000050: 69 6E 65 2E 0D 0A 3B 09 41 6E 6F 74 68 65 72 20 ine...;.Another
000060: 73 74 61 74 75 73 20 62 69 74 2C 20 22 61 6C 6C status bit, "all
000070: 20 64 6F 6E 65 22 2C 20 69 73 20 73 65 74 20 74 done", is set t
000080: 6F 20 69 6E 64 69 63 61 74 65 20 74 68 61 74 20 o indicate that
000090: 74 68 65 0D 0A 3B 09 74 72 61 6E 73 6D 69 74 74 the..;.transmitt
0000A0: 65 72 20 69 73 20 72 65 61 6C 6C 79 20 69 64 6C er is really idl
0000B0: 65 2E 0D 0A 73 6E 64 62 72 31 3A 09 6D 76 69 09 e...sndbr1:.mvi.
0000C0: 61 2C 31 09 09 3B 20 73 65 6C 65 63 74 20 52 65 a,1..; select Re
0000D0: 61 64 20 52 65 67 69 73 74 65 72 20 31 0D 0A 09 ad Register 1...
0000E0: 6F 75 74 09 6D 6E 70 72 74 73 0D 0A 09 69 6E 09 out.mnprts...in.
0000F0: 6D 6E 70 72 74 73 09 09 3B 20 72 65 61 64 20 74 mnprts..; read t
000100: 68 65 20 63 6F 6E 74 65 6E 74 73 0D 0A 09 61 6E he contents...an
000110: 69 09 31 09 09 3B 20 74 65 73 74 20 22 61 6C 6C i.1..; test "all
000120: 20 64 6F 6E 65 22 20 66 6C 61 67 0D 0A 09 6A 7A done" flag...jz
000130: 09 73 6E 64 62 72 31 09 09 3B 20 6C 6F 6F 70 20 .sndbr1..; loop
000140: 75 6E 74 69 6C 20 69 74 27 73 20 6E 6F 6E 7A 65 until it's nonze
000150: 72 6F 2E 0D 0A 3B 0D 0A 3B 09 4E 65 78 74 2C 20 ro...;..;.Next,
000160: 73 65 74 20 74 68 65 20 22 73 65 6E 64 20 62 72 set the "send br
000170: 65 61 6B 22 20 62 69 74 20 74 6F 20 73 74 61 72 eak" bit to star
000180: 74 20 74 68 65 20 74 72 61 6E 73 6D 69 74 74 65 t the transmitte
000190: 72 20 73 70 61 63 69 6E 67 2E 0D 0A 09 6D 76 69 r spacing....mvi
0001A0: 09 61 2C 35 09 09 3B 20 73 65 6C 65 63 74 20 57 .a,5..; select W
0001B0: 72 69 74 65 20 52 65 67 69 73 74 65 72 20 35 0D rite Register 5.
0001C0: 0A 09 6F 75 74 09 6D 6E 70 72 74 73 0D 0A 09 6D ..out.mnprts...m
0001D0: 76 69 09 61 2C 30 46 41 48 09 09 3B 20 54 78 20 vi.a,0FAH..; Tx
0001E0: 65 6E 61 62 6C 65 2C 20 38 20 62 69 74 20 54 78 enable, 8 bit Tx
0001F0: 20 63 68 61 72 61 63 74 65 72 2C 20 53 65 6E 64 character, Send
Size : 512 (Real : 512)
000000: 09 6A 6D 70 09 72 73 6B 70 09 09 3B 20 74 61 6B .jmp.rskp..; tak
000010: 65 20 73 6B 69 70 20 72 65 74 75 72 6E 20 2D 20 e skip return -
000020: 63 6F 6D 6D 61 6E 64 20 6E 6F 74 20 72 65 63 6F command not reco
000030: 67 6E 69 7A 65 64 2E 0D 0A 0D 0A 3B 0C 0D 0A 49 gnized.....;...I
000040: 46 20 72 6F 62 69 6E 20 3B 44 65 66 69 6E 69 74 F robin ;Definit
000050: 69 6F 6E 73 20 26 20 63 6F 64 65 20 74 6F 20 73 ions & code to s
000060: 65 6E 64 20 61 20 42 52 45 41 4B 20 28 75 6E 67 end a BREAK (ung
000070: 65 6E 65 72 69 63 61 6C 6C 79 2C 20 6E 6F 20 6F enerically, no o
000080: 74 68 65 72 20 77 61 79 29 2E 0D 0A 0D 0A 63 6F ther way).....co
000090: 6D 63 74 6C 09 65 71 75 09 35 39 68 09 09 3B 56 mctl.equ.59h..;V
0000A0: 54 31 38 30 20 63 6F 6D 6D 75 6E 69 63 61 74 69 T180 communicati
0000B0: 6F 6E 73 20 70 6F 72 74 0D 0A 63 72 74 63 74 6C ons port..crtctl
0000C0: 09 65 71 75 09 34 31 68 09 09 3B 56 54 31 38 30 .equ.41h..;VT180
0000D0: 20 63 72 74 20 70 6F 72 74 0D 0A 0D 0A 3B 56 54 crt port....;VT
0000E0: 31 38 30 20 73 65 72 69 61 6C 20 70 6F 72 74 20 180 serial port
0000F0: 63 6F 6D 6D 61 6E 64 20 62 69 74 73 0D 0A 0D 0A command bits....
000100: 74 78 65 09 65 71 75 09 31 09 09 3B 74 72 61 6E txe.equ.1..;tran
000110: 73 6D 69 74 20 65 6E 61 62 6C 65 0D 0A 64 74 72 smit enable..dtr
000120: 09 65 71 75 09 32 09 09 3B 64 74 72 20 6F 6E 0D .equ.2..;dtr on.
000130: 0A 72 78 65 09 65 71 75 09 34 09 09 3B 72 78 20 .rxe.equ.4..;rx
000140: 65 6E 61 62 6C 65 0D 0A 73 6E 64 62 72 6B 09 65 enable..sndbrk.e
000150: 71 75 09 38 0D 0A 72 65 72 72 09 65 71 75 09 31 qu.8..rerr.equ.1
000160: 30 68 09 09 3B 72 65 73 65 74 20 65 72 72 6F 72 0h..;reset error
000170: 0D 0A 72 74 73 09 65 71 75 09 32 30 68 09 09 3B ..rts.equ.20h..;
000180: 52 54 53 20 6F 6E 0D 0A 72 65 73 65 74 09 65 71 RTS on..reset.eq
000190: 75 09 34 30 68 09 09 3B 70 6F 72 74 20 72 65 73 u.40h..;port res
0001A0: 65 74 0D 0A 0D 0A 3B 53 65 6E 64 20 61 20 62 72 et....;Send a br
0001B0: 65 61 6B 20 74 6F 20 74 68 65 20 63 6F 6D 6D 75 eak to the commu
0001C0: 6E 69 63 61 74 69 6F 6E 73 20 70 6F 72 74 2E 0D nications port..
0001D0: 0A 3B 0D 0A 0D 0A 73 65 6E 64 62 72 3A 09 6C 78 .;....sendbr:.lx
0001E0: 69 09 68 2C 33 38 35 30 30 09 09 3B 32 35 30 20 i.h,38500..;250
0001F0: 6D 73 28 3F 29 0D 0A 09 6C 64 61 09 70 72 74 61 ms(?)...lda.prta
Size : 512 (Real : 512)
000000: 20 42 72 65 61 6B 2C 0D 0A 09 6F 75 74 09 6D 6E Break,...out.mn
000010: 70 72 74 73 09 09 3B 20 20 44 54 52 20 61 6E 64 prts..; DTR and
000020: 20 52 54 53 20 6F 6E 2E 0D 0A 3B 0D 0A 3B 09 4E RTS on...;..;.N
000030: 6F 77 2C 20 64 65 6C 61 79 20 66 6F 72 20 33 30 ow, delay for 30
000040: 20 68 75 6E 64 72 65 64 74 68 73 20 6F 66 20 61 hundredths of a
000050: 20 73 65 63 6F 6E 64 0D 0A 09 6D 76 69 09 61 2C second...mvi.a,
000060: 33 30 09 09 3B 20 64 65 6C 61 79 20 63 6F 75 6E 30..; delay coun
000070: 74 0D 0A 09 63 61 6C 6C 09 64 65 6C 61 79 0D 0A t...call.delay..
000080: 3B 0D 0A 3B 09 54 69 6D 65 27 73 20 75 70 2E 20 ;..;.Time's up.
000090: 50 75 74 20 74 72 61 6E 73 6D 69 74 74 65 72 20 Put transmitter
0000A0: 62 61 63 6B 20 69 6E 20 6E 6F 72 6D 61 6C 20 73 back in normal s
0000B0: 74 61 74 65 20 28 64 61 74 61 20 62 79 74 65 20 tate (data byte
0000C0: 69 73 20 74 68 65 0D 0A 3B 09 73 61 6D 65 20 61 is the..;.same a
0000D0: 73 20 74 68 65 20 6F 6E 65 20 69 6E 20 73 69 6F s the one in sio
0000E0: 74 62 6C 3A 20 66 6F 72 20 57 72 69 74 65 20 52 tbl: for Write R
0000F0: 65 67 69 73 74 65 72 20 35 29 20 61 6E 64 20 72 egister 5) and r
000100: 65 74 75 72 6E 2E 0D 0A 09 6D 76 69 09 61 2C 35 eturn....mvi.a,5
000110: 09 09 3B 20 73 65 6C 65 63 74 20 57 72 69 74 65 ..; select Write
000120: 20 52 65 67 69 73 74 65 72 20 35 0D 0A 09 6F 75 Register 5...ou
000130: 74 09 6D 6E 70 72 74 73 0D 0A 09 6D 76 69 09 61 t.mnprts...mvi.a
000140: 2C 30 45 41 48 09 09 3B 20 54 78 20 65 6E 61 62 ,0EAH..; Tx enab
000150: 6C 65 2C 20 38 20 62 69 74 20 54 78 20 63 68 61 le, 8 bit Tx cha
000160: 72 61 63 74 65 72 2C 0D 0A 09 6F 75 74 09 6D 6E racter,...out.mn
000170: 70 72 74 73 09 09 3B 20 20 44 54 52 20 61 6E 64 prts..; DTR and
000180: 20 52 54 53 20 6F 6E 2E 0D 0A 09 72 65 74 09 09 RTS on....ret..
000190: 09 3B 20 64 6F 6E 65 2E 0D 0A 45 4E 44 49 46 3B .; done...ENDIF;
0001A0: 62 62 49 20 4F 52 20 62 62 49 49 0D 0A 0D 0A 49 bbI OR bbII....I
0001B0: 46 20 6C 6F 62 6F 09 3B 5B 68 68 5D 20 09 54 68 F lobo.;[hh] .Th
0001C0: 69 73 20 72 6F 75 74 69 6E 65 20 73 65 6E 64 73 is routine sends
0001D0: 20 61 20 62 72 65 61 6B 20 74 6F 6E 65 20 6F 72 a break tone or
0001E0: 20 64 69 73 63 6F 6E 6E 65 63 74 73 20 61 20 6D disconnects a m
0001F0: 6F 64 65 6D 0D 0A 3B 09 09 28 74 68 6F 73 65 20 odem..;..(those
Size : 512 (Real : 512)
000000: 64 72 09 09 3B 47 65 74 20 61 64 64 72 65 73 73 dr..;Get address
000010: 20 6F 66 20 73 65 6C 65 63 74 65 64 20 70 6F 72 of selected por
000020: 74 0D 0A 09 6D 6F 76 09 63 2C 61 09 09 3B 49 6E t...mov.c,a..;In
000030: 74 6F 20 43 0D 0A 09 6D 76 69 09 61 2C 73 6E 64 to C...mvi.a,snd
000040: 62 72 6B 2B 64 74 72 0D 0A 3B 09 4F 55 54 09 43 brk+dtr..;.OUT.C
000050: 2C 41 09 09 3B 57 61 6E 74 20 74 6F 20 73 65 6E ,A..;Want to sen
000060: 64 20 74 6F 20 70 6F 72 74 20 61 64 64 72 65 73 d to port addres
000070: 73 65 64 20 62 79 20 43 0D 0A 09 64 62 09 30 45 sed by C...db.0E
000080: 44 48 2C 30 37 39 48 09 3B 4F 70 20 63 6F 64 65 DH,079H.;Op code
000090: 20 66 6F 72 20 61 62 6F 76 65 20 69 6E 73 74 72 for above instr
0000A0: 75 63 74 69 6F 6E 0D 0A 73 6E 64 62 72 31 3A 09 uction..sndbr1:.
0000B0: 64 63 78 09 68 09 09 3B 74 69 6D 69 6E 67 20 6C dcx.h..;timing l
0000C0: 6F 6F 70 2E 2E 2E 0D 0A 09 6D 6F 76 09 61 2C 6C oop......mov.a,l
0000D0: 0D 0A 09 6F 72 61 09 68 0D 0A 09 6A 6E 7A 09 73 ...ora.h...jnz.s
0000E0: 6E 64 62 72 31 09 09 3B 2E 2E 2E 75 6E 74 69 6C ndbr1..;...until
0000F0: 20 6F 76 65 72 0D 0A 09 6C 64 61 09 70 72 74 61 over...lda.prta
000100: 64 72 09 09 3B 47 65 74 20 74 68 65 20 61 64 64 dr..;Get the add
000110: 72 65 73 73 20 66 6F 72 20 74 68 65 20 70 6F 72 ress for the por
000120: 74 0D 0A 09 6D 6F 76 09 63 2C 61 09 09 3B 49 6E t...mov.c,a..;In
000130: 74 6F 20 43 0D 0A 09 6D 76 69 09 61 2C 74 78 65 to C...mvi.a,txe
000140: 2B 64 74 72 2B 72 78 65 2B 72 65 72 72 2B 72 74 +dtr+rxe+rerr+rt
000150: 73 09 3B 65 6E 61 62 6C 65 20 74 72 2F 72 63 2C s.;enable tr/rc,
000160: 20 64 74 72 2C 20 72 65 73 65 74 20 65 72 72 6F dtr, reset erro
000170: 72 0D 0A 3B 09 6F 75 74 09 63 2C 61 09 09 3B 5A r..;.out.c,a..;Z
000180: 2D 38 30 20 6F 6E 6C 79 20 69 6E 73 74 72 75 63 -80 only instruc
000190: 74 69 6F 6E 0D 0A 09 64 62 09 30 45 44 48 2C 30 tion...db.0EDH,0
0001A0: 37 39 48 09 3B 4F 70 20 63 6F 64 65 20 66 6F 72 79H.;Op code for
0001B0: 20 61 62 6F 76 65 20 69 6E 73 74 72 75 63 74 69 above instructi
0001C0: 6F 6E 0D 0A 09 6F 75 74 09 63 6F 6E 74 73 74 09 on...out.contst.
0001D0: 09 3B 72 65 73 65 74 20 70 6F 72 74 73 0D 0A 09 .;reset ports...
0001E0: 72 65 74 0D 0A 45 4E 44 49 46 3B 72 6F 62 69 6E ret..ENDIF;robin
0001F0: 0D 0A 3B 0C 0D 0A 49 46 20 64 6D 49 49 09 09 09 ..;...IF dmII...
Size : 512 (Real : 512)
000000: 74 68 61 74 20 72 65 73 70 6F 6E 64 20 74 6F 20 that respond to
000010: 69 74 29 20 62 79 20 73 65 74 74 69 6E 67 20 74 it) by setting t
000020: 68 65 20 44 54 52 20 6C 69 6E 65 20 6C 6F 77 0D he DTR line low.
000030: 0A 3B 09 09 66 6F 72 20 33 30 30 20 6D 73 2E 0D .;..for 300 ms..
000040: 0A 3B 0D 0A 73 65 6E 64 62 72 3A 09 6D 76 69 09 .;..sendbr:.mvi.
000050: 61 2C 30 35 48 09 09 3B 5B 68 68 5D 20 77 72 69 a,05H..;[hh] wri
000060: 74 65 20 72 65 67 69 73 74 65 72 20 35 0D 0A 09 te register 5...
000070: 63 61 6C 6C 09 6F 75 74 63 74 6C 09 09 3B 5B 68 call.outctl..;[h
000080: 68 5D 20 73 65 6E 64 20 69 74 20 74 6F 20 63 6F h] send it to co
000090: 6E 74 72 6F 6C 20 70 6F 72 74 0D 0A 09 6D 76 69 ntrol port...mvi
0000A0: 09 61 2C 30 46 41 48 09 09 3B 5B 68 68 5D 20 76 .a,0FAH..;[hh] v
0000B0: 61 6C 75 65 20 74 6F 20 73 65 6E 64 20 62 72 65 alue to send bre
0000C0: 61 6B 20 74 6F 6E 65 0D 0A 09 6A 6D 70 09 73 6E ak tone...jmp.sn
0000D0: 64 62 72 31 09 09 3B 5B 68 68 5D 0D 0A 3B 0D 0A dbr1..;[hh]..;..
0000E0: 64 69 73 63 6F 6E 3A 09 6D 76 69 09 61 2C 30 35 discon:.mvi.a,05
0000F0: 48 09 09 3B 5B 68 68 5D 20 77 72 69 74 65 20 72 H..;[hh] write r
000100: 65 67 69 73 74 65 72 20 35 0D 0A 09 63 61 6C 6C egister 5...call
000110: 09 6F 75 74 63 74 6C 09 09 3B 5B 68 68 5D 20 73 .outctl..;[hh] s
000120: 65 6E 64 20 69 74 20 74 6F 20 74 68 65 20 63 6F end it to the co
000130: 6E 74 72 6F 6C 20 70 6F 72 74 0D 0A 09 6D 76 69 ntrol port...mvi
000140: 09 61 2C 30 36 41 48 09 09 3B 5B 68 68 5D 20 44 .a,06AH..;[hh] D
000150: 54 52 20 6F 66 66 20 61 6E 64 20 62 72 65 61 6B TR off and break
000160: 20 74 6F 6E 65 20 6F 6E 0D 0A 73 6E 64 62 72 31 tone on..sndbr1
000170: 3A 09 63 61 6C 6C 09 6F 75 74 63 74 6C 09 09 3B :.call.outctl..;
000180: 5B 68 68 5D 20 73 65 6E 64 20 74 6F 20 63 6F 6E [hh] send to con
000190: 74 72 6F 6C 20 70 6F 72 74 0D 0A 09 6D 76 69 09 trol port...mvi.
0001A0: 61 2C 33 30 09 09 3B 5B 68 68 5D 20 64 65 6C 61 a,30..;[hh] dela
0001B0: 79 20 63 6F 75 6E 74 20 66 6F 72 20 33 30 30 20 y count for 300
0001C0: 6D 73 2E 0D 0A 09 63 61 6C 6C 09 64 65 6C 61 79 ms....call.delay
0001D0: 09 09 3B 5B 68 68 5D 20 77 61 69 74 20 61 20 77 ..;[hh] wait a w
0001E0: 68 69 6C 65 2E 2E 2E 0D 0A 09 6D 76 69 09 61 2C hile......mvi.a,
0001F0: 30 35 48 09 09 3B 5B 68 68 5D 20 77 72 69 74 65 05H..;[hh] write
Size : 512 (Real : 512)
000000: 09 3B 5B 6A 64 5D 20 74 68 69 73 20 61 64 64 65 .;[jd] this adde
000010: 64 20 74 6F 20 73 65 6E 64 20 62 72 65 61 6B 20 d to send break
000020: 6F 6E 20 44 45 43 6D 61 74 65 0D 0A 0D 0A 3B 20 on DECmate....;
000030: 44 45 43 6D 61 74 65 20 63 6F 6D 6D 61 6E 64 20 DECmate command
000040: 63 6F 64 65 73 20 66 6F 72 20 36 31 32 30 20 49 codes for 6120 I
000050: 2F 4F 20 70 72 6F 63 65 73 73 6F 72 0D 0A 6F 62 /O processor..ob
000060: 6F 66 66 09 65 71 75 09 33 66 68 09 09 3B 20 6F off.equ.3fh..; o
000070: 66 66 73 65 74 20 6F 66 20 6F 75 74 62 79 74 20 ffset of outbyt
000080: 72 6F 75 74 69 6E 65 20 66 6F 72 20 36 31 32 30 routine for 6120
000090: 0D 0A 70 72 74 63 74 6C 09 65 71 75 09 30 32 68 ..prtctl.equ.02h
0000A0: 09 09 3B 20 70 6F 72 74 20 63 6F 6E 74 72 6F 6C ..; port control
0000B0: 0D 0A 62 72 64 61 74 09 65 71 75 09 30 36 68 09 ..brdat.equ.06h.
0000C0: 09 3B 20 64 61 74 61 20 74 6F 20 74 65 6C 6C 20 .; data to tell
0000D0: 36 31 32 30 20 74 6F 20 73 65 6E 64 20 61 20 62 6120 to send a b
0000E0: 72 65 61 6B 0D 0A 62 72 64 75 72 09 65 71 75 09 reak..brdur.equ.
0000F0: 33 30 09 09 3B 20 64 75 72 61 74 69 6F 6E 2C 20 30..; duration,
000100: 33 30 20 3D 20 33 30 30 20 6D 73 2E 0D 0A 0D 0A 30 = 300 ms.....
000110: 73 65 6E 64 62 72 3A 09 6C 78 69 09 62 2C 28 62 sendbr:.lxi.b,(b
000120: 72 64 61 74 20 2A 20 31 30 30 68 29 20 2B 20 70 rdat * 100h) + p
000130: 72 74 63 74 6C 20 3B 20 63 2F 70 72 74 63 74 6C rtctl ; c/prtctl
000140: 2C 20 62 2F 62 72 64 61 74 0D 0A 09 63 61 6C 6C , b/brdat...call
000150: 09 6F 75 74 62 79 74 0D 0A 09 6C 78 69 09 62 2C .outbyt...lxi.b,
000160: 62 72 64 75 72 2A 31 30 30 68 09 09 3B 20 62 2F brdur*100h..; b/
000170: 64 75 72 61 74 69 6F 6E 2C 20 63 2F 30 0D 0A 3B duration, c/0..;
000180: 09 66 61 6C 6C 20 74 68 72 6F 75 67 68 20 69 6E .fall through in
000190: 74 6F 20 6F 75 74 62 79 74 0D 0A 0D 0A 6F 75 74 to outbyt....out
0001A0: 62 79 74 3A 09 6C 68 6C 64 09 31 09 09 3B 20 67 byt:.lhld.1..; g
0001B0: 65 74 20 77 61 72 6D 20 62 6F 6F 74 20 61 64 64 et warm boot add
0001C0: 72 65 73 73 0D 0A 09 6C 78 69 09 64 2C 6F 62 6F ress...lxi.d,obo
0001D0: 66 66 09 09 3B 20 6F 66 66 73 65 74 20 6F 66 20 ff..; offset of
0001E0: 6F 75 74 62 79 74 20 72 6F 75 74 69 6E 65 0D 0A outbyt routine..
0001F0: 09 64 61 64 09 64 09 09 3B 20 63 6F 6D 70 75 74 .dad.d..; comput
Size : 512 (Real : 512)
000000: 20 72 65 67 69 73 74 65 72 20 35 0D 0A 09 63 61 register 5...ca
000010: 6C 6C 09 6F 75 74 63 74 6C 09 09 3B 5B 68 68 5D ll.outctl..;[hh]
000020: 20 67 65 74 20 69 74 27 73 20 61 74 74 65 6E 74 get it's attent
000030: 69 6F 6E 0D 0A 09 6D 76 69 09 61 2C 30 45 41 48 ion...mvi.a,0EAH
000040: 09 09 3B 5B 68 68 5D 20 6E 6F 72 6D 61 6C 20 38 ..;[hh] normal 8
000050: 20 62 69 74 73 2C 20 44 54 52 20 6F 6E 2C 20 52 bits, DTR on, R
000060: 54 53 20 6F 6E 2C 20 65 74 63 2E 0D 0A 09 63 61 TS on, etc....ca
000070: 6C 6C 09 6F 75 74 63 74 6C 09 09 3B 5B 68 68 5D ll.outctl..;[hh]
000080: 20 72 65 73 74 6F 72 65 20 53 49 4F 0D 0A 09 72 restore SIO...r
000090: 65 74 0D 0A 3B 0D 0A 6F 75 74 63 74 6C 3A 09 73 et..;..outctl:.s
0000A0: 74 61 09 6D 6E 70 72 74 73 09 09 3B 5B 68 68 5D ta.mnprts..;[hh]
0000B0: 0D 0A 09 72 65 74 0D 0A 45 4E 44 49 46 09 3B 6C ...ret..ENDIF.;l
0000C0: 6F 62 6F 0D 0A 3B 0C 0D 0A 0D 0A 49 46 20 63 70 obo..;.....IF cp
0000D0: 74 38 35 78 78 09 09 09 3B 5B 6C 6D 6A 5D 20 73 t85xx...;[lmj] s
0000E0: 65 6E 64 20 62 72 65 61 6B 20 6F 6E 20 63 70 74 end break on cpt
0000F0: 38 35 78 78 0D 0A 73 65 6E 64 62 72 3A 0D 0A 3B 85xx..sendbr:..;
000100: 0D 0A 3B 09 45 6E 73 75 72 65 20 74 68 61 74 20 ..;.Ensure that
000110: 74 68 65 20 74 72 61 6E 73 6D 69 74 74 65 72 20 the transmitter
000120: 68 61 73 20 66 69 6E 69 73 68 65 64 20 73 65 6E has finished sen
000130: 64 69 6E 67 20 62 75 66 66 65 72 65 64 20 63 68 ding buffered ch
000140: 61 72 73 0D 0A 73 6E 64 62 72 31 3A 09 69 6E 09 ars..sndbr1:.in.
000150: 6D 6E 70 72 74 73 09 09 3B 20 67 65 74 20 55 41 mnprts..; get UA
000160: 52 54 20 73 74 61 74 75 73 0D 0A 09 61 6E 69 09 RT status...ani.
000170: 54 78 45 6D 70 74 79 09 09 3B 20 65 76 65 72 79 TxEmpty..; every
000180: 74 68 69 6E 67 20 73 65 6E 74 3F 0D 0A 09 6A 7A thing sent?...jz
000190: 09 73 6E 64 62 72 31 09 09 3B 20 6E 6F 2C 20 77 .sndbr1..; no, w
0001A0: 61 69 74 20 61 20 62 69 74 20 6D 6F 72 65 0D 0A ait a bit more..
0001B0: 3B 0D 0A 3B 09 42 65 67 69 6E 20 73 65 6E 64 69 ;..;.Begin sendi
0001C0: 6E 67 20 61 20 62 72 65 61 6B 20 62 79 20 73 65 ng a break by se
0001D0: 74 74 69 6E 67 20 62 69 74 20 69 6E 20 55 41 52 tting bit in UAR
0001E0: 54 20 63 6F 6D 6D 61 6E 64 20 72 65 67 69 73 74 T command regist
0001F0: 65 72 0D 0A 09 6D 76 69 09 61 2C 33 46 68 09 09 er...mvi.a,3Fh..
Size : 512 (Real : 512)
000000: 65 20 61 64 64 72 65 73 73 0D 0A 09 70 63 68 6C e address...pchl
000010: 09 09 09 3B 20 62 72 61 6E 63 68 20 74 68 65 72 ...; branch ther
000020: 65 20 28 61 20 63 61 6C 6C 72 65 74 29 0D 0A 0D e (a callret)...
000030: 0A 45 4E 44 49 46 3B 64 6D 49 49 0D 0A 3B 0C 0D .ENDIF;dmII..;..
000040: 0A 49 46 20 62 62 49 20 4F 52 20 62 62 49 49 09 .IF bbI OR bbII.
000050: 09 09 3B 5B 63 6A 63 5D 20 73 65 6E 64 20 62 72 ..;[cjc] send br
000060: 65 61 6B 20 6F 6E 20 4B 61 79 70 72 6F 20 61 6E eak on Kaypro an
000070: 64 20 62 62 49 49 0D 0A 3B 20 4F 66 66 69 63 69 d bbII..; Offici
000080: 61 6C 6C 79 2C 20 61 20 22 62 72 65 61 6B 22 20 ally, a "break"
000090: 69 73 20 33 30 30 20 6D 69 6C 6C 69 73 65 63 6F is 300 milliseco
0000A0: 6E 64 73 20 6F 66 20 22 73 70 61 63 65 22 20 28 nds of "space" (
0000B0: 69 64 6C 65 20 6C 69 6E 65 20 69 73 0D 0A 3B 20 idle line is..;
0000C0: 22 6D 61 72 6B 22 29 2E 20 20 28 6F 72 20 6D 61 "mark"). (or ma
0000D0: 79 62 65 20 32 30 30 20 6D 69 6C 6C 69 73 65 63 ybe 200 millisec
0000E0: 6F 6E 64 73 3B 20 49 20 66 6F 72 67 65 74 2E 29 onds; I forget.)
0000F0: 20 20 54 68 65 20 74 69 6D 69 6E 67 20 69 73 6E The timing isn
000100: 27 74 0D 0A 3B 20 75 73 75 61 6C 6C 79 20 74 68 't..; usually th
000110: 61 74 20 63 72 69 74 69 63 61 6C 2C 20 62 75 74 at critical, but
000120: 20 77 65 27 6C 6C 20 6D 61 6B 65 20 61 6E 20 61 we'll make an a
000130: 74 74 65 6D 70 74 2C 20 61 74 20 6C 65 61 73 74 ttempt, at least
000140: 2E 20 20 53 65 6E 64 69 6E 67 0D 0A 3B 20 74 6F . Sending..; to
000150: 6F 20 6C 6F 6E 67 20 61 20 62 72 65 61 6B 20 63 o long a break c
000160: 61 6E 20 63 61 75 73 65 20 73 6F 6D 65 20 6D 6F an cause some mo
000170: 64 65 6D 73 20 74 6F 20 68 61 6E 67 20 75 70 2E dems to hang up.
000180: 0D 0A 0D 0A 73 65 6E 64 62 72 3A 09 0D 0A 3B 09 ....sendbr:...;.
000190: 46 69 72 73 74 2C 20 6D 61 6B 65 20 73 75 72 65 First, make sure
0001A0: 20 74 68 65 20 74 72 61 6E 73 6D 69 74 74 65 72 the transmitter
0001B0: 20 69 73 20 72 65 61 6C 6C 79 20 65 6D 70 74 79 is really empty
0001C0: 2E 20 20 28 54 68 65 20 53 49 4F 20 73 65 74 73 . (The SIO sets
0001D0: 0D 0A 3B 09 22 74 72 61 6E 73 6D 69 74 74 65 72 ..;."transmitter
0001E0: 20 62 75 66 66 65 72 20 65 6D 70 74 79 22 20 77 buffer empty" w
0001F0: 68 65 6E 20 69 74 20 63 61 6E 20 61 63 63 65 70 hen it can accep
Size : 512 (Real : 512)
000000: 3B 20 53 65 74 20 54 78 45 6E 61 2C 20 44 54 52 ; Set TxEna, DTR
000010: 2C 20 52 78 45 6E 61 2C 20 53 42 72 65 61 6B 2C , RxEna, SBreak,
000020: 20 45 72 72 52 73 74 2C 20 52 54 53 0D 0A 09 6F ErrRst, RTS...o
000030: 75 74 09 6D 6E 70 72 74 73 0D 0A 3B 0D 0A 3B 09 ut.mnprts..;..;.
000040: 57 61 69 74 20 66 6F 72 20 32 35 30 20 6D 69 6C Wait for 250 mil
000050: 6C 69 73 65 63 6F 6E 64 73 20 28 75 73 69 6E 67 liseconds (using
000060: 20 68 75 6E 64 72 65 64 74 68 73 20 73 65 63 6F hundredths seco
000070: 6E 64 20 64 65 61 6C 79 20 72 6F 75 74 69 6E 65 nd dealy routine
000080: 29 0D 0A 09 6D 76 69 09 61 2C 32 35 0D 0A 09 63 )...mvi.a,25...c
000090: 61 6C 6C 09 64 65 6C 61 79 0D 0A 3B 0D 0A 3B 09 all.delay..;..;.
0000A0: 52 65 73 75 6D 65 20 6E 6F 72 6D 61 6C 20 6F 70 Resume normal op
0000B0: 65 72 61 74 69 6F 6E 20 62 79 20 63 6C 65 61 72 eration by clear
0000C0: 69 6E 67 20 74 68 65 20 53 65 6E 64 42 72 65 61 ing the SendBrea
0000D0: 6B 20 63 6F 6D 6D 61 6E 64 20 62 69 74 0D 0A 09 k command bit...
0000E0: 6D 76 69 09 61 2C 33 37 68 09 09 3B 53 65 74 20 mvi.a,37h..;Set
0000F0: 54 78 45 6E 61 2C 20 44 54 52 2C 20 52 78 45 6E TxEna, DTR, RxEn
000100: 61 2C 20 45 72 72 52 73 74 2C 20 52 54 53 0D 0A a, ErrRst, RTS..
000110: 09 6F 75 74 09 6D 6E 70 72 74 73 0D 0A 3B 0D 0A .out.mnprts..;..
000120: 09 72 65 74 09 09 09 3B 64 6F 6E 65 0D 0A 45 4E .ret...;done..EN
000130: 44 49 46 3B 63 70 74 38 35 78 78 0D 0A 0D 0A 3B DIF;cpt85xx....;
000140: 0C 0D 0A 49 46 20 68 65 61 74 68 0D 0A 3B 0D 0A ...IF heath..;..
000150: 3B 09 53 65 6E 64 20 42 52 45 41 4B 20 6F 6E 20 ;.Send BREAK on
000160: 48 38 39 0D 0A 3B 0D 0A 73 65 6E 64 62 72 3A 09 H89..;..sendbr:.
000170: 69 6E 09 6D 6E 70 6F 72 74 2B 61 63 65 6C 63 72 in.mnport+acelcr
000180: 0D 0A 09 6F 72 69 09 61 63 65 73 62 0D 0A 09 6F ...ori.acesb...o
000190: 75 74 09 6D 6E 70 6F 72 74 2B 61 63 65 6C 63 72 ut.mnport+acelcr
0001A0: 09 3B 20 73 65 74 20 41 43 45 20 62 72 65 61 6B .; set ACE break
0001B0: 20 63 6F 6E 64 69 74 69 6F 6E 0D 0A 09 6D 76 69 condition...mvi
0001C0: 09 61 2C 33 30 0D 0A 09 63 61 6C 6C 09 64 65 6C .a,30...call.del
0001D0: 61 79 09 09 3B 20 77 61 69 74 20 33 30 30 20 6D ay..; wait 300 m
0001E0: 69 6C 6C 69 73 65 63 6F 6E 64 73 0D 0A 09 69 6E illiseconds...in
0001F0: 09 6D 6E 70 6F 72 74 2B 61 63 65 6C 63 72 0D 0A .mnport+acelcr..
Size : 512 (Real : 512)
000000: 68 5D 0D 0A 09 63 61 6C 6C 09 64 69 73 63 6F 6E h]...call.discon
000010: 09 09 3B 5B 68 68 5D 20 66 6F 72 63 65 20 6D 6F ..;[hh] force mo
000020: 64 65 6D 20 74 6F 20 68 61 6E 67 20 75 70 0D 0A dem to hang up..
000030: 45 4E 44 49 46 3B 6C 6F 62 6F 0D 0A 09 72 65 74 ENDIF;lobo...ret
000040: 0D 0A 3B 0C 0D 0A 3B 09 54 68 69 73 20 69 73 20 ..;...;.This is
000050: 74 68 65 20 73 79 73 74 65 6D 2D 64 65 70 65 6E the system-depen
000060: 64 65 6E 74 20 63 6F 6D 6D 61 6E 64 20 74 6F 20 dent command to
000070: 63 68 61 6E 67 65 20 74 68 65 20 62 61 75 64 20 change the baud
000080: 72 61 74 65 2E 0D 0A 3B 09 44 45 20 63 6F 6E 74 rate...;.DE cont
000090: 61 69 6E 73 20 74 68 65 20 74 77 6F 2D 62 79 74 ains the two-byt
0000A0: 65 20 76 61 6C 75 65 20 66 72 6F 6D 20 74 68 65 e value from the
0000B0: 20 62 61 75 64 20 72 61 74 65 20 74 61 62 6C 65 baud rate table
0000C0: 3B 20 74 68 69 73 0D 0A 3B 09 76 61 6C 75 65 20 ; this..;.value
0000D0: 69 73 20 61 6C 73 6F 20 73 74 6F 72 65 64 20 69 is also stored i
0000E0: 6E 20 27 73 70 65 65 64 27 2E 0D 0A 73 79 73 73 n 'speed'...syss
0000F0: 70 64 3A 0D 0A 0D 0A 3B 20 53 65 74 20 74 68 65 pd:....; Set the
000100: 20 73 70 65 65 64 20 66 6F 72 20 74 68 65 20 42 speed for the B
000110: 72 61 69 6E 0D 0A 49 46 20 62 72 61 69 6E 0D 0A rain..IF brain..
000120: 09 6C 64 61 09 62 61 75 64 72 74 09 09 3B 47 65 .lda.baudrt..;Ge
000130: 74 20 74 68 65 20 70 72 65 73 65 6E 74 20 62 61 t the present ba
000140: 75 64 20 72 61 74 65 73 2E 0D 0A 09 61 6E 69 09 ud rates....ani.
000150: 30 66 48 09 09 3B 74 75 72 6E 20 6F 66 66 20 74 0fH..;turn off t
000160: 68 65 20 6C 65 66 74 0D 0A 09 6D 6F 76 09 64 2C he left...mov.d,
000170: 61 09 09 3B 53 65 74 20 69 74 20 61 73 69 64 65 a..;Set it aside
000180: 2E 0D 0A 09 6D 6F 76 09 61 2C 65 09 09 3B 47 65 ....mov.a,e..;Ge
000190: 74 20 74 68 65 20 6E 65 77 20 62 61 75 64 20 72 t the new baud r
0001A0: 61 74 65 2E 0D 0A 09 72 6C 63 09 09 09 3B 53 68 ate....rlc...;Sh
0001B0: 69 66 74 20 6C 65 66 74 20 34 20 70 6C 61 63 65 ift left 4 place
0001C0: 73 2E 0D 0A 09 72 6C 63 0D 0A 09 72 6C 63 0D 0A s....rlc...rlc..
0001D0: 09 72 6C 63 0D 0A 09 6F 72 61 09 64 09 09 3B 20 .rlc...ora.d..;
0001E0: 63 6F 6D 62 69 6E 65 20 77 69 74 68 20 74 68 65 combine with the
0001F0: 20 6F 6C 64 20 62 61 75 64 20 72 61 74 65 0D 0A old baud rate..
Size : 512 (Real : 512)
000000: 09 61 6E 69 09 30 46 46 48 2D 61 63 65 73 62 0D .ani.0FFH-acesb.
000010: 0A 09 6F 75 74 09 6D 6E 70 6F 72 74 2B 61 63 65 ..out.mnport+ace
000020: 6C 63 72 09 3B 20 61 6E 64 20 63 6C 65 61 72 20 lcr.; and clear
000030: 41 43 45 20 62 72 65 61 6B 20 63 6F 6E 64 69 74 ACE break condit
000040: 69 6F 6E 0D 0A 09 72 65 74 0D 0A 0D 0A 45 4E 44 ion...ret....END
000050: 49 46 3B 68 65 61 74 68 0D 0A 0D 0A 49 46 20 62 IF;heath....IF b
000060: 62 49 20 4F 52 20 62 62 49 49 20 4F 52 20 63 70 bI OR bbII OR cp
000070: 74 38 35 78 78 20 4F 52 20 68 65 61 74 68 20 4F t85xx OR heath O
000080: 52 20 6C 6F 62 6F 0D 0A 3B 0D 0A 3B 5B 63 6A 63 R lobo..;..;[cjc
000090: 5D 09 44 65 6C 61 79 20 72 6F 75 74 69 6E 65 2E ].Delay routine.
0000A0: 20 20 43 61 6C 6C 65 64 20 77 69 74 68 20 74 69 Called with ti
0000B0: 6D 65 20 28 68 75 6E 64 72 65 64 74 68 73 20 6F me (hundredths o
0000C0: 66 20 73 65 63 6F 6E 64 73 29 20 69 6E 20 41 2E f seconds) in A.
0000D0: 0D 0A 3B 09 54 68 65 20 69 6E 6E 65 72 20 6C 6F ..;.The inner lo
0000E0: 6F 70 20 64 65 6C 61 79 73 20 31 30 30 31 20 54 op delays 1001 T
0000F0: 2D 73 74 61 74 65 73 2C 20 61 73 73 75 6D 69 6E -states, assumin
000100: 67 20 6E 6F 20 77 61 69 74 20 73 74 61 74 65 73 g no wait states
000110: 20 61 72 65 0D 0A 3B 09 69 6E 73 65 72 74 65 64 are..;.inserted
000120: 3B 20 74 68 69 73 20 69 73 20 72 65 70 65 61 74 ; this is repeat
000130: 65 64 20 43 50 55 53 50 44 20 74 69 6D 65 73 2C ed CPUSPD times,
000140: 20 66 6F 72 20 61 20 74 6F 74 61 6C 20 64 65 6C for a total del
000150: 61 79 20 6F 66 20 6A 75 73 74 0D 0A 3B 09 6F 76 ay of just..;.ov
000160: 65 72 20 30 2E 30 31 20 73 65 63 6F 6E 64 2E 20 er 0.01 second.
000170: 28 43 50 55 53 50 44 20 73 68 6F 75 6C 64 20 62 (CPUSPD should b
000180: 65 20 73 65 74 20 74 6F 20 74 68 65 20 73 79 73 e set to the sys
000190: 74 65 6D 20 63 6C 6F 63 6B 20 72 61 74 65 2C 0D tem clock rate,.
0001A0: 0A 3B 09 69 6E 20 75 6E 69 74 73 20 6F 66 20 31 .;.in units of 1
0001B0: 30 30 4B 48 7A 3A 20 66 6F 72 20 61 6E 20 75 6E 00KHz: for an un
0001C0: 6D 6F 64 69 66 69 65 64 20 4B 61 79 70 72 6F 20 modified Kaypro
0001D0: 49 49 2C 20 74 68 61 74 27 73 20 32 35 20 66 6F II, that's 25 fo
0001E0: 72 0D 0A 3B 09 32 2E 35 20 4D 48 7A 2E 20 20 53 r..;.2.5 MHz. S
0001F0: 6F 6D 65 20 65 6E 74 65 72 70 72 69 73 69 6E 67 ome enterprising
Size : 512 (Real : 512)
000000: 09 73 74 61 09 62 61 75 64 72 74 09 09 3B 53 74 .sta.baudrt..;St
000010: 6F 72 65 20 74 68 65 20 6E 65 77 20 62 61 75 64 ore the new baud
000020: 20 72 61 74 65 73 2E 0D 0A 09 6F 75 74 09 62 61 rates....out.ba
000030: 75 64 73 74 09 09 3B 53 65 74 20 74 68 65 20 62 udst..;Set the b
000040: 61 75 64 20 72 61 74 65 73 2E 0D 0A 09 72 65 74 aud rates....ret
000050: 0D 0A 45 4E 44 49 46 3B 62 72 61 69 6E 0D 0A 0D ..ENDIF;brain...
000060: 0A 3B 20 53 65 74 20 74 68 65 20 73 70 65 65 64 .; Set the speed
000070: 20 66 6F 72 20 74 68 65 20 4F 73 62 6F 72 6E 65 for the Osborne
000080: 20 49 0D 0A 49 46 20 6F 73 62 72 6E 31 0D 0A 09 I..IF osbrn1...
000090: 6D 76 69 09 61 2C 6F 73 62 69 6E 31 09 3B 52 65 mvi.a,osbin1.;Re
0000A0: 73 65 74 20 74 68 65 20 41 43 49 41 0D 0A 09 63 set the ACIA...c
0000B0: 61 6C 6C 09 6F 73 73 74 73 74 09 09 3B 57 72 69 all.osstst..;Wri
0000C0: 74 65 20 74 68 65 20 63 6F 6E 74 72 6F 6C 20 70 te the control p
0000D0: 6F 72 74 0D 0A 6F 73 62 73 31 3A 09 69 6E 72 09 ort..osbs1:.inr.
0000E0: 63 09 09 3B 57 61 69 74 69 6E 67 20 6C 6F 6F 70 c..;Waiting loop
0000F0: 0D 0A 09 6A 6E 7A 09 6F 73 62 73 31 0D 0A 09 6D ...jnz.osbs1...m
000100: 6F 76 09 61 2C 65 09 09 3B 20 67 65 74 20 74 68 ov.a,e..; get th
000110: 65 20 73 70 65 63 69 66 69 65 64 20 73 70 65 65 e specified spee
000120: 64 0D 0A 09 6A 6D 70 09 6F 73 73 74 73 74 09 09 d...jmp.osstst..
000130: 3B 57 72 69 74 65 20 74 68 65 20 63 6F 6E 74 72 ;Write the contr
000140: 6F 6C 20 72 65 67 2E 0D 0A 45 4E 44 49 46 3B 6F ol reg...ENDIF;o
000150: 73 62 72 6E 31 0D 0A 0D 0A 3B 20 53 65 74 20 74 sbrn1....; Set t
000160: 68 65 20 73 70 65 65 64 20 66 6F 72 20 62 69 67 he speed for big
000170: 62 6F 61 72 64 20 49 49 0D 0A 49 46 20 62 62 49 board II..IF bbI
000180: 49 0D 0A 09 64 69 09 09 09 3B 20 64 6F 6E 27 74 I...di...; don't
000190: 20 6C 65 74 20 61 6E 79 74 68 69 6E 67 20 62 65 let anything be
0001A0: 74 77 65 65 6E 20 74 68 65 20 64 61 74 61 20 62 tween the data b
0001B0: 79 74 65 73 0D 0A 09 6D 76 69 09 61 2C 30 31 30 ytes...mvi.a,010
0001C0: 30 30 31 31 31 62 09 3B 20 67 65 74 20 74 68 65 00111b.; get the
0001D0: 20 63 6F 6D 6D 61 6E 64 20 62 79 74 65 20 28 6C command byte (l
0001E0: 6F 61 64 20 74 69 6D 65 20 63 6F 6E 73 74 61 6E oad time constan
0001F0: 74 29 0D 0A 09 6F 75 74 09 62 61 75 64 72 74 09 t)...out.baudrt.
Size : 512 (Real : 512)
000000: 20 73 6F 75 6C 20 63 6F 75 6C 64 20 64 65 74 65 soul could dete
000010: 72 6D 69 6E 65 20 77 68 65 74 68 65 72 20 6F 72 rmine whether or
000020: 20 6E 6F 74 20 74 68 65 0D 0A 3B 09 4B 61 79 70 not the..;.Kayp
000030: 72 6F 20 61 63 74 75 61 6C 6C 79 20 69 6E 73 65 ro actually inse
000040: 72 74 73 20 61 20 77 61 69 74 20 73 74 61 74 65 rts a wait state
000050: 20 6F 6E 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 on instruction
000060: 66 65 74 63 68 20 28 61 20 63 6F 6D 6D 6F 6E 0D fetch (a common.
000070: 0A 3B 09 70 72 61 63 74 69 63 65 29 3B 20 69 66 .;.practice); if
000080: 20 73 6F 2C 20 74 68 65 20 6D 61 67 69 63 20 6E so, the magic n
000090: 75 6D 62 65 72 20 61 74 20 64 65 6C 61 79 32 20 umber at delay2
0000A0: 6E 65 65 64 73 20 74 6F 20 62 65 20 64 65 63 72 needs to be decr
0000B0: 65 61 73 65 64 2E 0D 0A 3B 09 28 57 65 20 61 6C eased...;.(We al
0000C0: 73 6F 20 6E 65 67 6C 65 63 74 20 74 6F 20 63 6F so neglect to co
0000D0: 6E 73 69 64 65 72 20 74 69 6D 65 20 73 70 65 6E nsider time spen
0000E0: 74 20 61 74 20 69 6E 74 65 72 72 75 70 74 20 6C t at interrupt l
0000F0: 65 76 65 6C 29 2E 0D 0A 3B 0D 0A 3B 09 63 61 6C evel)...;..;.cal
000100: 6C 65 64 20 62 79 3A 20 73 65 6E 64 62 72 0D 0A led by: sendbr..
000110: 3B 09 64 65 73 74 72 6F 79 73 20 42 43 0D 0A 0D ;.destroys BC...
000120: 0A 64 65 6C 61 79 3A 09 6D 76 69 09 63 2C 63 70 .delay:.mvi.c,cp
000130: 75 73 70 64 09 3B 20 4E 75 6D 62 65 72 20 6F 66 uspd.; Number of
000140: 20 74 69 6D 65 73 20 74 6F 20 77 61 69 74 20 31 times to wait 1
000150: 30 30 30 20 54 2D 73 74 61 74 65 73 20 74 6F 0D 000 T-states to.
000160: 0A 09 09 09 09 3B 20 20 6D 61 6B 65 20 2E 30 31 .....; make .01
000170: 20 73 65 63 6F 6E 64 20 64 65 6C 61 79 0D 0A 64 second delay..d
000180: 65 6C 61 79 32 3A 09 6D 76 69 09 62 2C 37 30 09 elay2:.mvi.b,70.
000190: 09 3B 20 4E 75 6D 62 65 72 20 6F 66 20 74 69 6D .; Number of tim
0001A0: 65 73 20 74 6F 20 65 78 65 63 75 74 65 20 69 6E es to execute in
0001B0: 6E 65 72 20 6C 6F 6F 70 20 74 6F 0D 0A 09 09 09 ner loop to.....
0001C0: 09 3B 20 20 6D 61 6B 65 20 31 30 30 30 20 54 2D .; make 1000 T-
0001D0: 73 74 61 74 65 20 64 65 6C 61 79 0D 0A 64 65 6C state delay..del
0001E0: 61 79 33 3A 09 64 63 72 09 62 09 09 3B 20 34 20 ay3:.dcr.b..; 4
0001F0: 54 2D 73 74 61 74 65 73 20 28 2A 20 37 30 20 2A T-states (* 70 *
Size : 512 (Real : 512)
000000: 09 3B 20 6F 75 74 70 75 74 20 69 74 20 74 6F 20 .; output it to
000010: 43 54 43 0D 0A 09 6D 6F 76 09 61 2C 65 09 09 3B CTC...mov.a,e..;
000020: 20 47 65 74 20 74 68 65 20 70 61 72 73 65 64 20 Get the parsed
000030: 76 61 6C 75 65 2E 0D 0A 09 6F 75 74 09 62 61 75 value....out.bau
000040: 64 72 74 09 09 3B 20 54 65 6C 6C 20 74 68 65 20 drt..; Tell the
000050: 62 61 75 64 20 72 61 74 65 20 67 65 6E 65 72 61 baud rate genera
000060: 74 6F 72 2E 0D 0A 09 65 69 09 09 09 3B 20 65 6E tor....ei...; en
000070: 64 20 6F 66 20 63 72 69 74 69 63 61 6C 20 73 65 d of critical se
000080: 63 74 69 6F 6E 0D 0A 09 72 65 74 0D 0A 45 4E 44 ction...ret..END
000090: 49 46 3B 62 62 49 49 0D 0A 0D 0A 3B 5B 68 68 5D IF;bbII....;[hh]
0000A0: 20 73 65 74 20 74 68 65 20 73 70 65 65 64 20 66 set the speed f
0000B0: 6F 72 20 61 20 6C 6F 62 6F 20 4D 41 58 2D 38 30 or a lobo MAX-80
0000C0: 0D 0A 49 46 20 6C 6F 62 6F 0D 0A 09 6D 6F 76 09 ..IF lobo...mov.
0000D0: 61 2C 65 09 09 3B 5B 68 68 5D 20 67 65 74 20 74 a,e..;[hh] get t
0000E0: 68 65 20 70 61 72 73 65 64 20 76 61 6C 75 65 0D he parsed value.
0000F0: 0A 73 65 74 62 64 3A 09 73 74 61 09 62 61 75 64 .setbd:.sta.baud
000100: 72 74 09 09 3B 5B 68 68 5D 20 61 6E 64 20 73 65 rt..;[hh] and se
000110: 6E 64 20 69 74 20 74 6F 20 74 68 65 20 62 61 75 nd it to the bau
000120: 64 20 72 61 74 65 20 70 6F 72 74 0D 0A 09 72 65 d rate port...re
000130: 74 09 09 09 3B 5B 68 68 5D 0D 0A 45 4E 44 49 46 t...;[hh]..ENDIF
000140: 3B 6C 6F 62 6F 0D 0A 0D 0A 3B 20 53 65 74 20 74 ;lobo....; Set t
000150: 68 65 20 73 70 65 65 64 20 66 6F 72 20 62 69 67 he speed for big
000160: 62 6F 61 72 64 20 49 20 6F 72 20 74 68 65 20 64 board I or the d
000170: 65 6C 70 68 69 20 6F 72 20 74 68 65 20 43 50 54 elphi or the CPT
000180: 2D 38 35 78 78 20 6F 72 20 4E 6F 72 74 68 73 74 -85xx or Northst
000190: 61 72 0D 0A 49 46 20 62 62 49 20 4F 52 20 64 65 ar..IF bbI OR de
0001A0: 6C 70 68 69 20 4F 52 20 63 70 74 38 35 78 78 0D lphi OR cpt85xx.
0001B0: 0A 09 6D 6F 76 09 61 2C 65 09 09 3B 20 67 65 74 ..mov.a,e..; get
0001C0: 20 74 68 65 20 70 61 72 73 65 64 20 76 61 6C 75 the parsed valu
0001D0: 65 0D 0A 09 6F 75 74 09 62 61 75 64 72 74 09 09 e...out.baudrt..
0001E0: 3B 20 54 65 6C 6C 20 74 68 65 20 62 61 75 64 20 ; Tell the baud
0001F0: 72 61 74 65 20 67 65 6E 65 72 61 74 6F 72 2E 0D rate generator..
Size : 512 (Real : 512)
000000: 20 63 70 75 73 70 64 29 0D 0A 09 6A 6E 7A 09 64 cpuspd)...jnz.d
000010: 65 6C 61 79 33 09 09 3B 20 31 30 20 54 2D 73 74 elay3..; 10 T-st
000020: 61 74 65 73 20 28 2A 20 37 30 20 2A 20 63 70 75 ates (* 70 * cpu
000030: 73 70 64 29 0D 0A 09 64 63 72 09 63 09 09 3B 20 spd)...dcr.c..;
000040: 34 20 54 2D 73 74 61 74 65 73 20 28 2A 20 63 70 4 T-states (* cp
000050: 75 73 70 64 29 0D 0A 09 6A 6E 7A 09 64 65 6C 61 uspd)...jnz.dela
000060: 79 32 09 09 3B 20 31 30 20 54 2D 73 74 61 74 65 y2..; 10 T-state
000070: 73 20 28 2A 20 63 70 75 73 70 64 29 0D 0A 09 09 s (* cpuspd)....
000080: 09 09 3B 20 74 6F 74 61 6C 20 64 65 6C 61 79 3A ..; total delay:
000090: 20 28 28 31 34 20 2A 20 37 30 29 20 2B 20 31 34 ((14 * 70) + 14
0000A0: 29 20 2A 20 63 70 75 73 70 64 0D 0A 09 09 09 09 ) * cpuspd......
0000B0: 3B 20 20 3D 20 31 30 30 31 20 2A 20 63 70 75 73 ; = 1001 * cpus
0000C0: 70 64 0D 0A 09 64 63 72 09 61 09 09 3B 20 34 20 pd...dcr.a..; 4
0000D0: 54 2D 73 74 61 74 65 73 0D 0A 09 6A 6E 7A 09 64 T-states...jnz.d
0000E0: 65 6C 61 79 09 09 3B 20 31 30 20 54 2D 73 74 61 elay..; 10 T-sta
0000F0: 74 65 73 0D 0A 09 72 65 74 09 09 09 3B 20 67 72 tes...ret...; gr
000100: 61 6E 64 20 74 6F 74 61 6C 3A 20 28 28 31 30 30 and total: ((100
000110: 31 20 2A 20 63 70 75 73 70 64 29 20 2B 20 31 34 1 * cpuspd) + 14
000120: 29 20 2A 20 61 0D 0A 45 4E 44 49 46 3B 62 62 49 ) * a..ENDIF;bbI
000130: 20 4F 52 20 62 62 49 49 20 4F 52 20 63 70 74 38 OR bbII OR cpt8
000140: 35 78 78 20 4F 52 20 68 65 61 74 68 20 4F 52 20 5xx OR heath OR
000150: 6C 6F 62 6F 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 73 lobo..;...;..;.s
000160: 79 73 66 6C 74 20 2D 20 73 79 73 74 65 6D 2D 64 ysflt - system-d
000170: 65 70 65 6E 64 65 6E 74 20 66 69 6C 74 65 72 0D ependent filter.
000180: 0A 3B 09 63 61 6C 6C 65 64 20 77 69 74 68 20 63 .;.called with c
000190: 68 61 72 61 63 74 65 72 20 69 6E 20 45 2E 0D 0A haracter in E...
0001A0: 3B 09 69 66 20 74 68 69 73 20 63 68 61 72 61 63 ;.if this charac
0001B0: 74 65 72 20 73 68 6F 75 6C 64 20 6E 6F 74 20 62 ter should not b
0001C0: 65 20 70 72 69 6E 74 65 64 2C 20 72 65 74 75 72 e printed, retur
0001D0: 6E 20 77 69 74 68 20 41 20 3D 20 7A 65 72 6F 2E n with A = zero.
0001E0: 0D 0A 3B 09 70 72 65 73 65 72 76 65 73 20 62 63 ..;.preserves bc
0001F0: 2C 20 64 65 2C 20 68 6C 2E 0D 0A 3B 09 6E 6F 74 , de, hl...;.not
Size : 512 (Real : 512)
000000: 0A 09 72 65 74 0D 0A 45 4E 44 49 46 3B 62 62 49 ..ret..ENDIF;bbI
000010: 20 4F 52 20 64 65 6C 70 68 69 20 4F 52 20 63 70 OR delphi OR cp
000020: 74 38 35 78 78 20 4F 52 20 6E 6F 72 74 68 73 0D t85xx OR norths.
000030: 0A 0D 0A 3B 20 53 65 74 20 74 68 65 20 73 70 65 ...; Set the spe
000040: 65 64 20 66 6F 72 20 4D 69 63 72 6F 4D 69 6B 6B ed for MicroMikk
000050: 6F 2E 20 20 44 45 20 69 73 20 62 61 75 64 20 72 o. DE is baud r
000060: 61 74 65 20 6D 75 6C 74 69 70 6C 69 65 72 0D 0A ate multiplier..
000070: 49 46 20 6D 69 6B 6B 6F 0D 0A 09 64 69 0D 0A 09 IF mikko...di...
000080: 6C 78 69 09 68 2C 74 78 63 6C 6B 0D 0A 09 6D 6F lxi.h,txclk...mo
000090: 76 09 6D 2C 64 09 09 3B 4C 53 42 20 66 69 72 73 v.m,d..;LSB firs
0000A0: 74 20 28 73 77 61 70 70 65 64 20 69 6E 20 6D 65 t (swapped in me
0000B0: 6D 6F 72 79 29 0D 0A 09 6D 6F 76 09 6D 2C 65 09 mory)...mov.m,e.
0000C0: 09 3B 4D 53 42 20 6C 61 73 74 0D 0A 09 6C 78 69 .;MSB last...lxi
0000D0: 09 68 2C 72 78 63 6C 6B 0D 0A 09 6D 6F 76 09 6D .h,rxclk...mov.m
0000E0: 2C 64 0D 0A 09 6D 6F 76 09 6D 2C 65 0D 0A 09 6D ,d...mov.m,e...m
0000F0: 76 69 09 62 2C 30 09 09 3B 22 6D 6F 64 69 66 69 vi.b,0..;"modifi
000100: 65 72 22 20 66 6F 72 20 31 20 73 74 6F 70 20 62 er" for 1 stop b
000110: 69 74 0D 0A 09 6D 76 69 09 61 2C 32 09 09 3B 54 it...mvi.a,2..;T
000120: 65 73 74 20 4D 53 42 20 6F 66 20 73 70 65 65 64 est MSB of speed
000130: 20 3E 32 20 28 31 31 30 20 62 70 73 20 6F 72 20 >2 (110 bps or
000140: 6C 65 73 73 29 0D 0A 09 63 6D 70 09 65 0D 0A 09 less)...cmp.e...
000150: 6A 70 09 6D 69 6B 73 70 31 0D 0A 09 6D 76 69 09 jp.miksp1...mvi.
000160: 62 2C 30 30 30 30 31 30 30 30 42 09 3B 22 6D 6F b,00001000B.;"mo
000170: 64 69 66 69 65 72 22 20 66 6F 72 20 32 20 73 74 difier" for 2 st
000180: 6F 70 20 62 69 74 73 0D 0A 6D 69 6B 73 70 31 3A op bits..miksp1:
000190: 09 6D 76 69 09 61 2C 34 09 09 3B 53 65 6C 65 63 .mvi.a,4..;Selec
0001A0: 74 20 53 49 4F 20 52 65 67 20 34 0D 0A 09 6C 78 t SIO Reg 4...lx
0001B0: 69 09 68 2C 73 69 6F 61 63 0D 0A 09 6D 6F 76 09 i.h,sioac...mov.
0001C0: 6D 2C 61 0D 0A 09 6D 76 69 09 61 2C 73 69 6F 6E m,a...mvi.a,sion
0001D0: 34 09 09 3B 47 65 74 20 76 61 6C 75 65 73 0D 0A 4..;Get values..
0001E0: 09 6F 72 61 09 62 09 09 3B 41 64 64 20 6D 6F 64 .ora.b..;Add mod
0001F0: 69 66 69 65 72 0D 0A 09 6D 6F 76 09 6D 2C 61 09 ifier...mov.m,a.
Size : 512 (Real : 512)
000000: 65 3A 20 3C 78 6F 6E 3E 2C 3C 78 6F 66 66 3E 2C e: <xon>,<xoff>,
000010: 3C 64 65 6C 3E 2C 20 61 6E 64 20 3C 6E 75 6C 3E <del>, and <nul>
000020: 20 61 72 65 20 61 6C 77 61 79 73 20 64 69 73 63 are always disc
000030: 61 72 64 65 64 2E 0D 0A 73 79 73 66 6C 74 3A 0D arded...sysflt:.
000040: 0A 09 6D 6F 76 09 61 2C 65 09 09 3B 20 67 65 74 ..mov.a,e..; get
000050: 20 63 68 61 72 61 63 74 65 72 20 66 6F 72 20 74 character for t
000060: 65 73 74 69 6E 67 0D 0A 49 46 20 6D 69 6B 6B 6F esting..IF mikko
000070: 0D 0A 09 63 70 69 09 27 4F 27 2D 31 30 30 4F 09 ...cpi.'O'-100O.
000080: 3B 43 6F 6E 74 72 6F 6C 2D 4F 27 73 20 6C 6F 63 ;Control-O's loc
000090: 6B 20 6B 65 79 62 6F 61 72 64 0D 0A 09 72 6E 7A k keyboard...rnz
0000A0: 09 09 09 3B 20 69 66 20 6E 6F 74 20 63 6F 6E 74 ...; if not cont
0000B0: 72 6F 6C 2D 4F 2C 20 69 74 27 73 20 6F 6B 2E 0D rol-O, it's ok..
0000C0: 0A 09 78 72 61 09 61 09 09 3B 20 64 6F 6E 27 74 ..xra.a..; don't
0000D0: 20 61 6C 6C 6F 77 20 63 6F 6E 74 72 6F 6C 2D 4F allow control-O
0000E0: 20 6F 75 74 2E 0D 0A 45 4E 44 49 46 3B 6D 69 6B out...ENDIF;mik
0000F0: 6B 6F 0D 0A 09 72 65 74 0D 0A 3B 0C 0D 0A 3B 0D ko...ret..;...;.
000100: 0A 3B 20 73 79 73 74 65 6D 2D 64 65 70 65 6E 64 .; system-depend
000110: 65 6E 74 20 70 72 6F 63 65 73 73 69 6E 67 20 66 ent processing f
000120: 6F 72 20 42 59 45 20 63 6F 6D 6D 61 6E 64 2E 0D or BYE command..
000130: 0A 3B 20 20 66 6F 72 20 61 70 6D 6D 64 6D 2C 20 .; for apmmdm,
000140: 68 65 61 74 68 2C 20 61 6E 64 20 6C 6F 62 6F 2C heath, and lobo,
000150: 20 68 61 6E 67 20 75 70 20 74 68 65 20 70 68 6F hang up the pho
000160: 6E 65 2E 0D 0A 73 79 73 62 79 65 3A 0D 0A 49 46 ne...sysbye:..IF
000170: 20 61 70 6D 6D 64 6D 0D 0A 09 78 72 61 09 61 09 apmmdm...xra.a.
000180: 09 3B 48 61 6E 67 75 70 20 6F 75 72 20 65 6E 64 .;Hangup our end
000190: 2C 20 74 6F 6F 2E 0D 0A 09 73 74 61 09 6D 6E 6D , too....sta.mnm
0001A0: 6F 64 6D 0D 0A 45 4E 44 49 46 3B 61 70 6D 6D 64 odm..ENDIF;apmmd
0001B0: 6D 0D 0A 0D 0A 49 46 20 68 65 61 74 68 0D 0A 09 m....IF heath...
0001C0: 63 61 6C 6C 09 6D 64 6D 64 72 70 09 09 3B 20 20 call.mdmdrp..;
0001D0: 53 6C 65 61 7A 79 20 62 75 74 20 65 66 66 65 63 Sleazy but effec
0001E0: 74 69 76 65 0D 0A 45 4E 44 49 46 3B 68 65 61 74 tive..ENDIF;heat
0001F0: 68 0D 0A 0D 0A 49 46 20 6C 6F 62 6F 09 3B 5B 68 h....IF lobo.;[h
Size : 512 (Real : 512)
000000: 09 3B 53 65 74 20 76 61 6C 75 65 20 28 73 74 6F .;Set value (sto
000010: 70 20 62 69 74 73 29 0D 0A 09 65 69 0D 0A 09 72 p bits)...ei...r
000020: 65 74 0D 0A 45 4E 44 49 46 3B 6D 69 6B 6B 6F 0D et..ENDIF;mikko.
000030: 0A 0D 0A 3B 20 53 65 74 20 74 68 65 20 73 70 65 ...; Set the spe
000040: 65 64 20 66 6F 72 20 41 70 70 6C 65 20 77 69 74 ed for Apple wit
000050: 68 20 36 35 35 31 20 41 43 49 41 0D 0A 49 46 20 h 6551 ACIA..IF
000060: 61 70 36 35 35 31 0D 0A 09 6C 64 61 09 6D 6E 70 ap6551...lda.mnp
000070: 72 74 63 09 09 3B 6A 62 20 72 65 61 64 20 63 6F rtc..;jb read co
000080: 6E 74 72 6F 6C 20 70 6F 72 74 0D 0A 09 61 6E 69 ntrol port...ani
000090: 09 30 46 30 48 09 09 3B 6A 62 20 7A 61 70 20 6C .0F0H..;jb zap l
0000A0: 6F 77 20 6F 72 64 65 72 20 6E 79 62 62 6C 65 0D ow order nybble.
0000B0: 0A 09 6F 72 61 09 65 09 09 3B 6A 62 20 70 75 74 ..ora.e..;jb put
0000C0: 20 72 61 74 65 20 69 6E 20 6C 6F 77 20 6F 72 64 rate in low ord
0000D0: 65 72 20 6E 79 62 62 6C 65 0D 0A 09 73 74 61 09 er nybble...sta.
0000E0: 6D 6E 70 72 74 63 09 09 3B 6A 62 20 73 65 6E 64 mnprtc..;jb send
0000F0: 20 74 6F 20 63 6F 6E 74 72 6F 6C 20 70 6F 72 74 to control port
000100: 0D 0A 09 72 65 74 0D 0A 45 4E 44 49 46 3B 61 70 ...ret..ENDIF;ap
000110: 36 35 35 31 0D 0A 0D 0A 3B 20 53 65 74 20 74 68 6551....; Set th
000120: 65 20 73 70 65 65 64 20 66 6F 72 20 74 68 65 20 e speed for the
000130: 44 65 63 69 73 69 6F 6E 20 49 0D 0A 49 46 20 6D Decision I..IF m
000140: 64 49 0D 0A 09 63 61 6C 6C 09 73 65 6C 6D 64 6D dI...call.selmdm
000150: 09 09 3B 4C 65 74 27 73 20 62 65 20 61 62 73 6F ..;Let's be abso
000160: 6C 75 74 65 6C 79 20 73 75 72 65 2C 20 68 75 68 lutely sure, huh
000170: 3F 0D 0A 09 6D 76 69 09 61 2C 64 6C 61 62 2B 77 ?...mvi.a,dlab+w
000180: 6C 73 31 2B 77 6C 73 30 2B 73 74 62 20 3B 53 65 ls1+wls0+stb ;Se
000190: 74 20 64 61 74 61 20 6C 61 74 63 68 20 61 63 63 t data latch acc
0001A0: 65 73 73 20 62 69 74 0D 0A 09 6F 75 74 09 6C 63 ess bit...out.lc
0001B0: 72 09 09 3B 4F 75 74 20 74 6F 20 4C 69 6E 65 20 r..;Out to Line
0001C0: 43 6F 6E 74 72 6F 6C 20 52 65 67 69 73 74 65 72 Control Register
0001D0: 0D 0A 09 6C 68 6C 64 09 73 70 65 65 64 09 09 3B ...lhld.speed..;
0001E0: 4C 6F 61 64 20 62 61 75 64 72 61 74 65 20 6D 75 Load baudrate mu
0001F0: 6C 74 69 70 6C 69 65 72 0D 0A 09 78 63 68 67 0D ltiplier...xchg.
Size : 512 (Real : 512)
000000: 68 0D 0A 09 64 62 09 30 34 68 2C 27 32 34 30 30 h...db.04h,'2400
000010: 24 27 2C 09 31 30 68 2C 31 30 68 0D 0A 09 64 62 $',.10h,10h...db
000020: 09 30 33 68 2C 27 33 30 30 24 27 2C 09 38 30 68 .03h,'300$',.80h
000030: 2C 38 30 68 0D 0A 09 64 62 09 30 35 68 2C 27 33 ,80h...db.05h,'3
000040: 38 34 30 30 24 27 2C 09 30 31 68 2C 30 31 68 0D 8400$',.01h,01h.
000050: 0A 09 64 62 09 30 34 68 2C 27 34 38 30 30 24 27 ..db.04h,'4800$'
000060: 2C 09 30 38 68 2C 30 38 68 0D 0A 09 64 62 09 30 ,.08h,08h...db.0
000070: 33 68 2C 27 36 30 30 24 27 2C 09 34 30 68 2C 34 3h,'600$',.40h,4
000080: 30 68 0D 0A 09 64 62 09 30 34 68 2C 27 39 36 30 0h...db.04h,'960
000090: 30 24 27 2C 09 30 34 68 2C 30 34 68 0D 0A 0D 0A 0$',.04h,04h....
0000A0: 73 70 68 74 62 6C 3A 20 64 62 09 63 72 2C 6C 66 sphtbl: db.cr,lf
0000B0: 2C 27 20 20 20 33 30 30 20 20 20 36 30 30 20 20 ,' 300 600
0000C0: 31 32 30 30 20 20 32 34 30 30 20 20 34 38 30 30 1200 2400 4800
0000D0: 20 20 39 36 30 30 20 31 39 32 30 30 20 33 38 34 9600 19200 384
0000E0: 30 30 24 27 0D 0A 45 4E 44 49 46 3B 62 62 49 49 00$'..ENDIF;bbII
0000F0: 0D 0A 0D 0A 49 46 20 63 70 74 38 35 78 78 0D 0A ....IF cpt85xx..
000100: 73 70 64 74 62 6C 3A 09 64 62 09 31 35 09 09 09 spdtbl:.db.15...
000110: 3B 20 31 35 20 65 6E 74 72 69 65 73 0D 0A 09 64 ; 15 entries...d
000120: 62 09 30 33 2C 27 31 31 30 24 27 2C 09 30 33 68 b.03,'110$',.03h
000130: 2C 30 33 68 0D 0A 09 64 62 09 30 34 2C 27 31 32 ,03h...db.04,'12
000140: 30 30 24 27 2C 09 30 39 68 2C 30 39 68 0D 0A 09 00$',.09h,09h...
000150: 64 62 09 30 35 2C 27 31 33 34 2E 35 24 27 2C 09 db.05,'134.5$',.
000160: 30 34 68 2C 30 34 68 0D 0A 09 64 62 09 30 33 2C 04h,04h...db.03,
000170: 27 31 35 30 24 27 2C 09 30 35 68 2C 30 35 68 0D '150$',.05h,05h.
000180: 0A 09 64 62 09 30 34 2C 27 31 38 30 30 24 27 2C ..db.04,'1800$',
000190: 09 30 41 68 2C 30 41 68 0D 0A 09 64 62 09 30 34 .0Ah,0Ah...db.04
0001A0: 2C 27 32 34 30 30 24 27 2C 09 30 42 68 2C 30 42 ,'2400$',.0Bh,0B
0001B0: 68 0D 0A 09 64 62 09 30 33 2C 27 33 30 30 24 27 h...db.03,'300$'
0001C0: 2C 09 30 36 68 2C 30 36 68 0D 0A 09 64 62 09 30 ,.06h,06h...db.0
0001D0: 34 2C 27 33 36 30 30 24 27 2C 09 30 43 68 2C 30 4,'3600$',.0Ch,0
0001E0: 43 68 0D 0A 09 64 62 09 30 34 2C 27 34 38 30 30 Ch...db.04,'4800
0001F0: 24 27 2C 09 30 44 68 2C 30 44 68 0D 0A 09 64 62 $',.0Dh,0Dh...db
Size : 512 (Real : 512)
000000: 0A 09 6D 6F 76 09 61 2C 64 09 09 3B 47 65 74 20 ..mov.a,d..;Get
000010: 6C 6F 77 20 6F 72 64 65 72 20 62 79 74 65 20 66 low order byte f
000020: 6F 72 20 62 61 75 64 20 72 61 74 65 0D 0A 09 6F or baud rate...o
000030: 75 74 09 64 6C 6D 09 09 3B 4F 75 74 20 74 6F 20 ut.dlm..;Out to
000040: 74 68 65 20 4D 53 42 20 64 69 76 69 73 6F 72 20 the MSB divisor
000050: 70 6F 72 74 0D 0A 09 6D 6F 76 09 61 2C 65 09 09 port...mov.a,e..
000060: 3B 2E 2E 2E 61 6E 64 20 74 68 65 20 68 69 67 68 ;...and the high
000070: 20 6F 72 64 65 72 20 62 79 74 65 0D 0A 09 6F 75 order byte...ou
000080: 74 09 64 6C 6C 09 09 3B 4F 75 74 20 74 6F 20 74 t.dll..;Out to t
000090: 68 65 20 4C 53 42 20 64 69 76 69 73 6F 72 20 70 he LSB divisor p
0000A0: 6F 72 74 0D 0A 09 6D 76 69 09 61 2C 77 6C 73 31 ort...mvi.a,wls1
0000B0: 2B 77 6C 73 30 2B 73 74 62 09 3B 45 6E 61 62 6C +wls0+stb.;Enabl
0000C0: 65 20 44 69 76 69 73 6F 72 20 41 63 63 65 73 73 e Divisor Access
0000D0: 20 4C 61 74 63 68 0D 0A 09 6F 75 74 09 6C 63 72 Latch...out.lcr
0000E0: 09 09 3B 4F 75 74 20 74 6F 20 41 43 45 20 4C 69 ..;Out to ACE Li
0000F0: 6E 65 20 43 6F 6E 74 72 6F 6C 20 52 65 67 69 73 ne Control Regis
000100: 74 65 72 0D 0A 09 78 72 61 09 61 09 09 3B 43 6C ter...xra.a..;Cl
000110: 65 61 72 20 41 0D 0A 09 6F 75 74 09 69 65 72 09 ear A...out.ier.
000120: 09 3B 53 65 74 20 6E 6F 20 69 6E 74 65 72 72 75 .;Set no interru
000130: 70 74 73 0D 0A 09 6F 75 74 09 6C 73 72 09 09 3B pts...out.lsr..;
000140: 43 6C 65 61 72 20 73 74 61 74 75 73 0D 0A 09 69 Clear status...i
000150: 6E 09 6D 73 72 09 09 3B 43 6C 65 61 72 20 4D 6F n.msr..;Clear Mo
000160: 64 65 6D 20 53 74 61 74 75 73 20 52 65 67 69 73 dem Status Regis
000170: 74 65 72 0D 0A 09 69 6E 09 6C 73 72 09 09 3B 43 ter...in.lsr..;C
000180: 6C 65 61 72 20 4C 69 6E 65 20 53 74 61 74 75 73 lear Line Status
000190: 20 52 65 67 69 73 74 65 72 0D 0A 09 69 6E 09 72 Register...in.r
0001A0: 62 72 09 09 3B 43 6C 65 61 72 20 52 65 63 65 69 br..;Clear Recei
0001B0: 76 65 72 20 42 75 66 66 65 72 73 0D 0A 09 69 6E ver Buffers...in
0001C0: 09 72 62 72 0D 0A 09 72 65 74 0D 0A 45 4E 44 49 .rbr...ret..ENDI
0001D0: 46 09 3B 6D 64 49 09 5B 54 6F 61 64 20 48 61 6C F.;mdI.[Toad Hal
0001E0: 6C 5D 0D 0A 0D 0A 49 46 20 68 65 61 74 68 0D 0A l]....IF heath..
0001F0: 3B 0D 0A 3B 09 53 65 74 20 73 70 65 65 64 20 66 ;..;.Set speed f
Size : 512 (Real : 512)
000000: 09 30 32 2C 27 35 30 24 27 2C 09 30 31 68 2C 30 .02,'50$',.01h,0
000010: 31 68 0D 0A 09 64 62 09 30 33 2C 27 36 30 30 24 1h...db.03,'600$
000020: 27 2C 09 30 37 68 2C 30 37 68 0D 0A 09 64 62 09 ',.07h,07h...db.
000030: 30 34 2C 27 37 32 30 30 24 27 2C 09 30 45 68 2C 04,'7200$',.0Eh,
000040: 30 45 68 0D 0A 09 64 62 09 30 32 2C 27 37 35 24 0Eh...db.02,'75$
000050: 27 2C 09 30 32 68 2C 30 32 68 0D 0A 09 64 62 09 ',.02h,02h...db.
000060: 30 33 2C 27 39 30 30 24 27 2C 09 30 38 68 2C 30 03,'900$',.08h,0
000070: 38 68 0D 0A 09 64 62 09 30 34 2C 27 39 36 30 30 8h...db.04,'9600
000080: 24 27 2C 09 30 46 68 2C 30 46 68 0D 0A 0D 0A 73 $',.0Fh,0Fh....s
000090: 70 68 74 62 6C 3A 20 64 62 09 63 72 2C 6C 66 2C phtbl: db.cr,lf,
0000A0: 27 20 20 20 35 30 09 20 37 35 20 20 20 20 31 31 ' 50. 75 11
0000B0: 30 20 20 20 20 31 33 34 2E 35 20 20 31 35 30 20 0 134.5 150
0000C0: 20 20 20 33 30 30 20 20 20 20 36 30 30 20 20 20 300 600
0000D0: 20 39 30 30 27 0D 0A 09 64 62 09 63 72 2C 6C 66 900'...db.cr,lf
0000E0: 2C 27 20 31 32 30 30 20 20 20 31 38 30 30 20 20 ,' 1200 1800
0000F0: 20 32 34 30 30 20 20 20 33 36 30 30 20 20 20 34 2400 3600 4
000100: 38 30 30 20 20 20 37 32 30 30 20 20 20 39 36 30 800 7200 960
000110: 30 24 27 0D 0A 45 4E 44 49 46 3B 63 70 74 38 35 0$'..ENDIF;cpt85
000120: 78 78 0D 0A 0D 0A 49 46 20 6D 69 6B 6B 6F 0D 0A xx....IF mikko..
000130: 73 70 64 74 62 6C 3A 09 64 62 09 39 68 09 09 09 spdtbl:.db.9h...
000140: 3B 39 20 65 6E 74 72 69 65 73 0D 0A 09 64 62 09 ;9 entries...db.
000150: 30 33 68 2C 27 31 31 30 24 27 0D 0A 09 64 77 09 03h,'110$'...dw.
000160: 30 33 36 39 68 0D 0A 09 64 62 09 30 34 68 2C 27 0369h...db.04h,'
000170: 31 32 30 30 24 27 0D 0A 09 64 77 09 30 30 35 30 1200$'...dw.0050
000180: 68 0D 0A 09 64 62 09 30 33 68 2C 27 31 35 30 24 h...db.03h,'150$
000190: 27 0D 0A 09 64 77 09 30 32 38 30 68 0D 0A 09 64 '...dw.0280h...d
0001A0: 62 09 30 34 68 2C 27 32 34 30 30 24 27 0D 0A 09 b.04h,'2400$'...
0001B0: 64 77 09 30 30 32 38 68 0D 0A 09 64 62 09 30 33 dw.0028h...db.03
0001C0: 68 2C 27 33 30 30 24 27 0D 0A 09 64 77 09 30 31 h,'300$'...dw.01
0001D0: 34 30 68 0D 0A 09 64 62 09 30 34 68 2C 27 34 38 40h...db.04h,'48
0001E0: 30 30 24 27 0D 0A 09 64 77 09 30 30 31 34 68 0D 00$'...dw.0014h.
0001F0: 0A 09 64 62 09 30 33 68 2C 27 36 30 30 24 27 0D ..db.03h,'600$'.
Size : 512 (Real : 512)
000000: 6F 72 20 48 38 39 0D 0A 3B 0D 0A 09 63 61 6C 6C or H89..;...call
000010: 09 6D 64 6D 6F 66 6C 09 09 3B 20 6B 65 65 70 20 .mdmofl..; keep
000020: 74 68 65 20 6C 69 6E 65 20 73 61 66 65 20 66 72 the line safe fr
000030: 6F 6D 20 67 61 72 62 61 67 65 0D 0A 09 69 6E 09 om garbage...in.
000040: 6D 6E 70 6F 72 74 2B 61 63 65 6C 63 72 0D 0A 09 mnport+acelcr...
000050: 6F 72 69 09 61 63 65 64 6C 61 0D 0A 09 6F 75 74 ori.acedla...out
000060: 09 6D 6E 70 6F 72 74 2B 61 63 65 6C 63 72 09 3B .mnport+acelcr.;
000070: 20 61 63 63 65 73 73 20 74 68 65 20 41 43 45 27 access the ACE'
000080: 73 20 64 69 76 69 73 6F 72 20 6C 61 74 63 68 0D s divisor latch.
000090: 0A 09 6D 6F 76 09 61 2C 65 09 09 3B 20 6C 6F 77 ..mov.a,e..; low
0000A0: 20 62 79 74 65 20 6F 66 20 73 70 65 65 64 20 69 byte of speed i
0000B0: 73 20 69 6E 20 45 0D 0A 09 6F 75 74 09 6D 6E 70 s in E...out.mnp
0000C0: 6F 72 74 2B 61 63 65 64 6C 6C 09 3B 20 73 65 74 ort+acedll.; set
0000D0: 20 74 68 65 20 6C 6F 77 20 62 79 74 65 0D 0A 09 the low byte...
0000E0: 6D 6F 76 09 61 2C 64 09 09 3B 20 68 69 67 68 20 mov.a,d..; high
0000F0: 62 79 74 65 20 6F 66 20 73 70 65 65 64 20 69 73 byte of speed is
000100: 20 69 6E 20 44 0D 0A 09 6F 75 74 09 6D 6E 70 6F in D...out.mnpo
000110: 72 74 2B 61 63 65 64 6C 68 09 3B 20 73 65 74 20 rt+acedlh.; set
000120: 74 68 65 20 68 69 67 68 20 62 79 74 65 0D 0A 09 the high byte...
000130: 69 6E 09 6D 6E 70 6F 72 74 2B 61 63 65 6C 63 72 in.mnport+acelcr
000140: 0D 0A 09 61 6E 69 09 30 46 46 48 2D 61 63 65 64 ...ani.0FFH-aced
000150: 6C 61 0D 0A 09 6F 75 74 09 6D 6E 70 6F 72 74 2B la...out.mnport+
000160: 61 63 65 6C 63 72 09 3B 20 64 65 2D 61 63 63 65 acelcr.; de-acce
000170: 73 73 20 74 68 65 20 41 43 45 27 73 20 64 69 76 ss the ACE's div
000180: 69 73 6F 72 20 6C 61 74 63 68 0D 0A 09 63 61 6C isor latch...cal
000190: 6C 09 6D 64 6D 6F 6E 6C 09 09 3B 20 61 6E 64 20 l.mdmonl..; and
0001A0: 70 75 74 20 74 68 65 20 41 43 45 20 62 61 63 6B put the ACE back
0001B0: 20 6F 6E 20 6C 69 6E 65 0D 0A 09 72 65 74 0D 0A on line...ret..
0001C0: 45 4E 44 49 46 3B 68 65 61 74 68 0D 0A 0D 0A 3B ENDIF;heath....;
0001D0: 0C 0D 0A 3B 09 53 70 65 65 64 20 74 61 62 6C 65 ...;.Speed table
0001E0: 73 0D 0A 3B 20 28 4E 6F 74 65 20 74 68 61 74 20 s..; (Note that
0001F0: 73 70 65 65 64 20 74 61 62 6C 65 73 20 4D 55 53 speed tables MUS
Size : 512 (Real : 512)
000000: 0A 09 64 77 09 30 30 41 30 48 0D 0A 09 64 62 09 ..dw.00A0H...db.
000010: 30 32 68 2C 27 37 35 24 27 0D 0A 09 64 77 09 30 02h,'75$'...dw.0
000020: 35 30 30 68 0D 0A 09 64 62 09 30 34 68 2C 27 39 500h...db.04h,'9
000030: 36 30 30 24 27 0D 0A 09 64 77 09 30 30 30 61 68 600$'...dw.000ah
000040: 0D 0A 0D 0A 73 70 68 74 62 6C 3A 09 64 62 09 63 ....sphtbl:.db.c
000050: 72 2C 6C 66 2C 27 20 20 37 35 20 20 31 31 30 20 r,lf,' 75 110
000060: 20 31 35 30 20 20 33 30 30 20 20 36 30 30 20 20 150 300 600
000070: 31 32 30 30 20 20 32 34 30 30 20 20 34 38 30 30 1200 2400 4800
000080: 20 20 39 36 30 30 24 27 0D 0A 45 4E 44 49 46 3B 9600$'..ENDIF;
000090: 6D 69 6B 6B 6F 0D 0A 0D 0A 49 46 20 6F 73 62 72 mikko....IF osbr
0000A0: 6E 31 0D 0A 73 70 64 74 62 6C 3A 09 64 62 09 30 n1..spdtbl:.db.0
0000B0: 32 68 09 09 09 3B 32 20 65 6E 74 72 69 65 73 0D 2h...;2 entries.
0000C0: 0A 09 64 62 09 30 34 68 2C 27 31 32 30 30 24 27 ..db.04h,'1200$'
0000D0: 2C 09 4F 53 42 49 31 32 2C 4F 53 42 49 31 32 0D ,.OSBI12,OSBI12.
0000E0: 0A 09 64 62 09 30 33 68 2C 27 33 30 30 24 27 2C ..db.03h,'300$',
0000F0: 09 4F 53 42 49 30 33 2C 4F 53 42 49 30 33 0D 0A .OSBI03,OSBI03..
000100: 0D 0A 73 70 68 74 62 6C 3A 09 64 62 09 63 72 2C ..sphtbl:.db.cr,
000110: 6C 66 2C 27 20 20 33 30 30 27 2C 63 72 2C 6C 66 lf,' 300',cr,lf
000120: 2C 27 20 31 32 30 30 24 27 0D 0A 45 4E 44 49 46 ,' 1200$'..ENDIF
000130: 3B 6F 73 62 72 6E 31 0D 0A 0D 0A 49 46 20 61 70 ;osbrn1....IF ap
000140: 36 35 35 31 09 09 09 09 09 3B 6A 62 0D 0A 73 70 6551.....;jb..sp
000150: 64 74 62 6C 3A 09 64 62 09 30 44 48 09 09 09 09 dtbl:.db.0DH....
000160: 3B 6A 62 20 31 33 20 65 6E 74 72 69 65 73 0D 0A ;jb 13 entries..
000170: 09 64 62 09 30 33 48 2C 27 31 31 30 24 27 2C 09 .db.03H,'110$',.
000180: 30 33 48 2C 30 33 48 09 3B 6A 62 0D 0A 09 64 62 03H,03H.;jb...db
000190: 09 30 34 48 2C 27 31 32 30 30 24 27 2C 09 30 38 .04H,'1200$',.08
0001A0: 48 2C 30 38 48 09 3B 6A 62 0D 0A 09 64 62 09 30 H,08H.;jb...db.0
0001B0: 35 48 2C 27 31 33 34 2E 35 24 27 2C 09 30 34 48 5H,'134.5$',.04H
0001C0: 2C 30 34 48 09 3B 6A 62 0D 0A 09 64 62 09 30 33 ,04H.;jb...db.03
0001D0: 48 2C 27 31 35 30 24 27 2C 09 30 35 48 2C 30 35 H,'150$',.05H,05
0001E0: 48 09 3B 6A 62 0D 0A 09 64 62 09 30 34 48 2C 27 H.;jb...db.04H,'
0001F0: 31 38 30 30 24 27 2C 09 30 39 48 2C 30 39 48 09 1800$',.09H,09H.
Size : 512 (Real : 512)
000000: 54 20 62 65 20 69 6E 20 61 6C 70 68 61 62 65 74 T be in alphabet
000010: 69 63 61 6C 20 6F 72 64 65 72 20 66 6F 72 20 6C ical order for l
000020: 61 74 65 72 0D 0A 3B 20 6C 6F 6F 6B 75 70 20 70 ater..; lookup p
000030: 72 6F 63 65 64 75 72 65 73 2C 20 61 6E 64 20 6D rocedures, and m
000040: 75 73 74 20 62 65 67 69 6E 20 77 69 74 68 20 61 ust begin with a
000050: 20 76 61 6C 75 65 20 73 68 6F 77 69 6E 67 20 74 value showing t
000060: 68 65 20 74 6F 74 61 6C 0D 0A 3B 20 6E 75 6D 62 he total..; numb
000070: 65 72 20 6F 66 20 65 6E 74 72 69 65 73 2E 20 20 er of entries.
000080: 54 68 65 20 73 70 65 65 64 20 68 65 6C 70 20 74 The speed help t
000090: 61 62 6C 65 73 20 61 72 65 20 6A 75 73 74 20 66 ables are just f
0000A0: 6F 72 20 75 73 20 70 6F 6F 72 0D 0A 3B 20 68 75 or us poor..; hu
0000B0: 6D 61 6E 73 2E 0D 0A 0D 0A 3B 09 64 62 09 73 74 mans.....;.db.st
0000C0: 72 69 6E 67 20 6C 65 6E 67 74 68 2C 73 74 72 69 ring length,stri
0000D0: 6E 67 2C 64 69 76 69 73 6F 72 20 28 32 20 69 64 ng,divisor (2 id
0000E0: 65 6E 74 69 63 61 6C 20 62 79 74 65 73 20 6F 72 entical bytes or
0000F0: 20 31 20 77 6F 72 64 29 0D 0A 3B 20 5B 54 6F 61 1 word)..; [Toa
000100: 64 20 48 61 6C 6C 5D 0D 0A 0D 0A 49 46 20 62 62 d Hall]....IF bb
000110: 49 20 4F 52 20 62 72 61 69 6E 20 4F 52 20 64 65 I OR brain OR de
000120: 6C 70 68 69 20 4F 52 20 6C 6F 62 6F 09 3B 5B 68 lphi OR lobo.;[h
000130: 68 5D 0D 0A 73 70 64 74 62 6C 3A 09 64 62 09 31 h]..spdtbl:.db.1
000140: 30 68 09 09 09 3B 31 36 20 65 6E 74 72 69 65 73 0h...;16 entries
000150: 0D 0A 09 64 62 09 30 33 68 2C 27 31 31 30 24 27 ...db.03h,'110$'
000160: 2C 09 30 32 68 2C 30 32 68 0D 0A 09 64 62 09 30 ,.02h,02h...db.0
000170: 34 68 2C 27 31 32 30 30 24 27 2C 09 30 37 68 2C 4h,'1200$',.07h,
000180: 30 37 68 0D 0A 09 64 62 09 30 35 68 2C 27 31 33 07h...db.05h,'13
000190: 34 2E 35 24 27 2C 09 30 33 68 2C 30 33 68 0D 0A 4.5$',.03h,03h..
0001A0: 09 64 62 09 30 33 68 2C 27 31 35 30 24 27 2C 09 .db.03h,'150$',.
0001B0: 30 34 68 2C 30 34 68 0D 0A 09 64 62 09 30 34 68 04h,04h...db.04h
0001C0: 2C 27 31 38 30 30 24 27 2C 09 30 38 68 2C 30 38 ,'1800$',.08h,08
0001D0: 68 0D 0A 09 64 62 09 30 35 68 2C 27 31 39 32 30 h...db.05h,'1920
0001E0: 30 24 27 2C 09 30 66 68 2C 30 66 68 0D 0A 09 64 0$',.0fh,0fh...d
0001F0: 62 09 30 34 68 2C 27 32 30 30 30 24 27 2C 09 30 b.04h,'2000$',.0
Size : 512 (Real : 512)
000000: 3B 6A 62 0D 0A 09 64 62 09 30 35 48 2C 27 31 39 ;jb...db.05H,'19
000010: 32 30 30 24 27 2C 09 30 46 48 2C 30 46 48 09 3B 200$',.0FH,0FH.;
000020: 6A 62 0D 0A 09 64 62 09 30 34 48 2C 27 32 34 30 jb...db.04H,'240
000030: 30 24 27 2C 09 30 41 48 2C 30 41 48 09 3B 6A 62 0$',.0AH,0AH.;jb
000040: 0D 0A 09 64 62 09 30 33 48 2C 27 33 30 30 24 27 ...db.03H,'300$'
000050: 2C 09 30 36 48 2C 30 36 48 09 3B 6A 62 0D 0A 09 ,.06H,06H.;jb...
000060: 64 62 09 30 34 48 2C 27 33 36 30 30 24 27 2C 09 db.04H,'3600$',.
000070: 30 42 48 2C 30 42 48 09 3B 6A 62 0D 0A 09 64 62 0BH,0BH.;jb...db
000080: 09 30 34 48 2C 27 34 38 30 30 24 27 2C 09 30 43 .04H,'4800$',.0C
000090: 48 2C 30 43 48 09 3B 6A 62 0D 0A 09 64 62 09 30 H,0CH.;jb...db.0
0000A0: 33 48 2C 27 36 30 30 24 27 2C 09 30 37 48 2C 30 3H,'600$',.07H,0
0000B0: 37 48 09 3B 6A 62 0D 0A 09 64 62 09 30 34 48 2C 7H.;jb...db.04H,
0000C0: 27 37 32 30 30 24 27 2C 09 30 44 48 2C 30 44 48 '7200$',.0DH,0DH
0000D0: 09 3B 6A 62 0D 0A 09 64 62 09 30 34 48 2C 27 39 .;jb...db.04H,'9
0000E0: 36 30 30 24 27 2C 09 30 45 48 2C 30 45 48 09 3B 600$',.0EH,0EH.;
0000F0: 6A 62 0D 0A 0D 0A 73 70 68 74 62 6C 3A 09 64 62 jb....sphtbl:.db
000100: 09 63 72 2C 6C 66 2C 27 20 20 31 31 30 20 20 20 .cr,lf,' 110
000110: 20 31 33 34 2E 35 20 20 31 35 30 20 20 20 20 33 134.5 150 3
000120: 30 30 20 20 20 20 36 30 30 20 20 20 31 32 30 30 00 600 1200
000130: 20 20 20 31 38 30 30 27 0D 0A 09 64 62 09 63 72 1800'...db.cr
000140: 2C 6C 66 2C 27 20 32 34 30 30 20 20 20 33 36 30 ,lf,' 2400 360
000150: 30 20 20 20 34 38 30 30 20 20 20 37 32 30 30 20 0 4800 7200
000160: 20 20 39 36 30 30 20 20 31 39 32 30 30 24 27 0D 9600 19200$'.
000170: 0A 45 4E 44 49 46 3B 61 70 36 35 35 31 0D 0A 0D .ENDIF;ap6551...
000180: 0A 49 46 20 6D 64 49 0D 0A 73 70 64 74 62 6C 3A .IF mdI..spdtbl:
000190: 09 64 62 09 30 64 68 09 09 09 3B 20 31 33 20 65 .db.0dh...; 13 e
0001A0: 6E 74 72 69 65 73 0D 0A 09 64 62 09 30 33 68 2C ntries...db.03h,
0001B0: 20 20 27 31 31 30 24 27 0D 0A 09 09 64 77 09 09 '110$'....dw..
0001C0: 31 30 34 37 0D 0A 09 64 62 09 30 34 68 2C 20 27 1047...db.04h, '
0001D0: 31 32 30 30 24 27 0D 0A 09 09 64 77 09 09 39 36 1200$'....dw..96
0001E0: 0D 0A 09 64 62 09 30 33 68 2C 20 20 27 31 35 30 ...db.03h, '150
0001F0: 24 27 0D 0A 09 09 64 77 09 09 37 36 38 0D 0A 09 $'....dw..768...
Size : 512 (Real : 512)
000000: 39 68 2C 30 39 68 0D 0A 09 64 62 09 30 34 68 2C 9h,09h...db.04h,
000010: 27 32 34 30 30 24 27 2C 09 30 61 68 2C 30 61 68 '2400$',.0ah,0ah
000020: 0D 0A 09 64 62 09 30 33 68 2C 27 33 30 30 24 27 ...db.03h,'300$'
000030: 2C 09 30 35 68 2C 30 35 68 0D 0A 09 64 62 09 30 ,.05h,05h...db.0
000040: 34 68 2C 27 33 36 30 30 24 27 2C 09 30 62 68 2C 4h,'3600$',.0bh,
000050: 30 62 68 0D 0A 09 64 62 09 30 34 68 2C 27 34 38 0bh...db.04h,'48
000060: 30 30 24 27 2C 09 30 63 68 2C 30 63 68 0D 0A 09 00$',.0ch,0ch...
000070: 64 62 09 30 32 68 2C 27 35 30 24 27 2C 09 30 30 db.02h,'50$',.00
000080: 68 2C 30 30 68 0D 0A 09 64 62 09 30 33 68 2C 27 h,00h...db.03h,'
000090: 36 30 30 24 27 2C 09 30 36 68 2C 30 36 68 0D 0A 600$',.06h,06h..
0000A0: 09 64 62 09 30 34 68 2C 27 37 32 30 30 24 27 2C .db.04h,'7200$',
0000B0: 09 30 64 68 2C 30 64 68 0D 0A 09 64 62 09 30 32 .0dh,0dh...db.02
0000C0: 68 2C 27 37 35 24 27 2C 09 30 31 68 2C 30 31 68 h,'75$',.01h,01h
0000D0: 0D 0A 09 64 62 09 30 34 68 2C 27 39 36 30 30 24 ...db.04h,'9600$
0000E0: 27 2C 09 30 65 68 2C 30 65 68 0D 0A 0D 0A 73 70 ',.0eh,0eh....sp
0000F0: 68 74 62 6C 3A 20 64 62 09 63 72 2C 6C 66 2C 27 htbl: db.cr,lf,'
000100: 20 20 20 35 30 09 20 37 35 20 20 20 20 31 31 30 50. 75 110
000110: 20 20 20 20 31 33 34 2E 35 20 20 31 35 30 20 20 134.5 150
000120: 20 20 33 30 30 20 20 20 20 36 30 30 20 20 20 31 300 600 1
000130: 32 30 30 27 0D 0A 09 64 62 09 63 72 2C 6C 66 2C 200'...db.cr,lf,
000140: 27 20 31 38 30 30 20 20 20 32 30 30 30 20 20 20 ' 1800 2000
000150: 32 34 30 30 20 20 20 33 36 30 30 20 20 20 34 38 2400 3600 48
000160: 30 30 20 20 20 37 32 30 30 20 20 20 39 36 30 30 00 7200 9600
000170: 20 20 31 39 32 30 30 24 27 0D 0A 45 4E 44 49 46 19200$'..ENDIF
000180: 3B 62 62 49 20 4F 52 20 62 72 61 69 6E 20 4F 52 ;bbI OR brain OR
000190: 20 64 65 6C 70 68 69 20 4F 52 20 6C 6F 62 6F 09 delphi OR lobo.
0001A0: 3B 5B 68 68 5D 0D 0A 0D 0A 49 46 20 62 62 49 49 ;[hh]....IF bbII
0001B0: 0D 0A 73 70 64 74 62 6C 3A 09 64 62 09 38 09 09 ..spdtbl:.db.8..
0001C0: 09 3B 20 38 20 65 6E 74 72 69 65 73 0D 0A 09 64 .; 8 entries...d
0001D0: 62 09 30 34 68 2C 27 31 32 30 30 24 27 2C 09 32 b.04h,'1200$',.2
0001E0: 30 68 2C 32 30 68 0D 0A 09 64 62 09 30 35 68 2C 0h,20h...db.05h,
0001F0: 27 31 39 32 30 30 24 27 2C 09 30 32 68 2C 30 32 '19200$',.02h,02
Size : 512 (Real : 512)
000000: 64 62 09 30 35 68 2C 27 31 39 32 30 30 24 27 0D db.05h,'19200$'.
000010: 0A 09 09 64 77 09 09 36 0D 0A 09 64 62 09 30 34 ...dw..6...db.04
000020: 68 2C 20 27 32 34 30 30 24 27 0D 0A 09 09 64 77 h, '2400$'....dw
000030: 09 09 34 38 0D 0A 09 64 62 09 30 33 68 2C 20 20 ..48...db.03h,
000040: 27 33 30 30 24 27 0D 0A 09 09 64 77 09 09 33 38 '300$'....dw..38
000050: 34 0D 0A 09 64 62 09 30 35 68 2C 27 33 38 34 30 4...db.05h,'3840
000060: 30 24 27 0D 0A 09 09 64 77 09 09 33 0D 0A 09 64 0$'....dw..3...d
000070: 62 09 30 33 68 2C 20 20 27 34 35 30 24 27 0D 0A b.03h, '450$'..
000080: 09 09 64 77 09 09 32 38 38 0D 0A 09 64 62 09 30 ..dw..288...db.0
000090: 34 68 2C 20 27 34 38 30 30 24 27 0D 0A 09 09 64 4h, '4800$'....d
0000A0: 77 09 09 32 34 0D 0A 09 64 62 09 30 35 68 2C 27 w..24...db.05h,'
0000B0: 35 36 30 30 30 24 27 0D 0A 09 09 64 77 09 09 32 56000$'....dw..2
0000C0: 0D 0A 09 64 62 09 30 33 68 2C 20 20 27 36 30 30 ...db.03h, '600
0000D0: 24 27 0D 0A 09 09 64 77 09 09 31 39 32 0D 0A 09 $'....dw..192...
0000E0: 64 62 09 30 32 68 2C 20 20 20 27 37 35 24 27 0D db.02h, '75$'.
0000F0: 0A 09 09 64 77 09 09 31 35 33 36 0D 0A 09 64 62 ...dw..1536...db
000100: 09 30 34 68 2C 20 27 39 36 30 30 24 27 0D 0A 09 .04h, '9600$'...
000110: 09 64 77 09 09 31 32 0D 0A 0D 0A 73 70 68 74 62 .dw..12....sphtb
000120: 6C 3A 09 64 62 09 63 72 2C 6C 66 2C 27 20 20 20 l:.db.cr,lf,'
000130: 37 35 20 20 20 20 31 31 30 20 20 20 20 31 35 30 75 110 150
000140: 20 20 20 20 33 30 30 20 20 20 20 34 35 30 20 20 300 450
000150: 20 20 36 30 30 20 20 20 31 32 30 30 27 0D 0A 09 600 1200'...
000160: 64 62 09 63 72 2C 6C 66 2C 27 20 32 34 30 30 20 db.cr,lf,' 2400
000170: 20 20 34 38 30 30 20 20 20 39 36 30 30 20 20 31 4800 9600 1
000180: 39 32 30 30 20 20 33 38 34 30 30 20 20 35 36 30 9200 38400 560
000190: 30 30 24 27 0D 0A 0D 0A 3B 28 4C 6F 72 64 20 6B 00$'....;(Lord k
0001A0: 6E 6F 77 73 20 77 68 61 74 20 79 6F 75 27 6C 6C nows what you'll
0001B0: 20 62 65 20 63 6F 6D 6D 75 6E 69 63 61 74 69 6E be communicatin
0001C0: 67 20 77 69 74 68 20 61 74 20 35 36 30 30 30 20 g with at 56000
0001D0: 62 61 75 64 2C 20 62 75 74 20 74 68 65 0D 0A 3B baud, but the..;
0001E0: 4D 75 6C 74 69 2D 49 2F 4F 20 62 6F 61 72 64 20 Multi-I/O board
0001F0: 6C 69 74 65 72 61 74 75 72 65 20 73 61 79 73 20 literature says
Size : 512 (Real : 512)
000000: 74 77 6F 20 70 6C 61 63 65 73 20 77 65 20 75 73 two places we us
000010: 65 2E 2E 2E 0D 0A 09 73 74 61 09 69 6E 70 6D 64 e......sta.inpmd
000020: 32 2B 31 09 3B 5B 68 68 5D 20 4D 4E 50 4F 52 54 2+1.;[hh] MNPORT
000030: 20 69 6E 20 74 68 65 20 6F 76 65 72 6C 61 79 0D in the overlay.
000040: 0A 09 73 74 61 09 70 6F 72 74 09 09 3B 5B 68 68 ..sta.port..;[hh
000050: 5D 20 69 6E 66 6F 72 6D 20 70 72 6F 67 72 61 6D ] inform program
000060: 20 6F 66 20 74 68 65 20 63 68 61 6E 67 65 20 69 of the change i
000070: 6E 20 70 6F 72 74 73 0D 0A 09 69 6E 72 09 61 09 n ports...inr.a.
000080: 09 3B 5B 68 68 5D 20 73 74 61 74 75 73 20 70 6F .;[hh] status po
000090: 72 74 20 3D 20 64 61 74 61 20 70 6F 72 74 20 2B rt = data port +
0000A0: 20 31 20 69 6E 20 74 68 65 20 4C 6F 62 6F 0D 0A 1 in the Lobo..
0000B0: 09 73 74 61 09 6F 75 74 6D 64 31 2B 31 09 3B 5B .sta.outmd1+1.;[
0000C0: 68 68 5D 20 73 74 6F 72 65 20 69 74 20 61 74 20 hh] store it at
0000D0: 74 68 65 20 74 68 72 65 65 20 70 6C 61 63 65 73 the three places
0000E0: 2E 2E 2E 0D 0A 09 73 74 61 09 69 6E 70 6D 64 31 ......sta.inpmd1
0000F0: 2B 31 09 3B 5B 68 68 5D 20 77 65 20 75 73 65 20 +1.;[hh] we use
000100: 4D 4E 50 52 54 53 2E 2E 2E 0D 0A 09 73 74 61 09 MNPRTS......sta.
000110: 6F 75 74 63 74 6C 2B 31 09 3B 5B 68 68 5D 20 69 outctl+1.;[hh] i
000120: 6E 20 74 68 65 20 6F 76 65 72 6C 61 79 0D 0A 09 n the overlay...
000130: 6D 6F 76 09 61 2C 64 09 09 3B 5B 68 68 5D 20 6E mov.a,d..;[hh] n
000140: 6F 77 20 67 65 74 20 74 68 65 20 62 61 75 64 20 ow get the baud
000150: 72 61 74 65 20 70 6F 72 74 20 76 61 6C 75 65 0D rate port value.
000160: 0A 09 73 74 61 09 67 65 74 62 64 2B 31 09 09 3B ..sta.getbd+1..;
000170: 5B 68 68 5D 20 73 74 6F 72 65 20 69 74 20 69 6E [hh] store it in
000180: 20 74 68 65 20 74 77 6F 20 70 6C 61 63 65 73 20 the two places
000190: 77 65 20 75 73 65 2E 2E 2E 0D 0A 09 73 74 61 09 we use......sta.
0001A0: 73 65 74 62 64 2B 31 09 09 3B 5B 68 68 5D 20 42 setbd+1..;[hh] B
0001B0: 41 55 44 52 54 20 69 6E 20 74 68 65 20 6F 76 65 AUDRT in the ove
0001C0: 72 6C 61 79 0D 0A 09 73 74 61 09 70 6F 72 74 2B rlay...sta.port+
0001D0: 31 09 09 3B 5B 68 68 5D 20 64 6F 6E 27 74 20 6E 1..;[hh] don't n
0001E0: 65 65 64 20 74 6F 2C 20 62 75 74 20 6B 65 65 70 eed to, but keep
0001F0: 73 20 69 74 20 63 6F 6E 73 69 73 74 61 6E 74 0D s it consistant.
Size : 512 (Real : 512)
000000: 69 74 27 6C 6C 20 64 6F 20 69 74 2C 20 73 6F 20 it'll do it, so
000010: 77 68 61 74 20 74 68 65 20 68 65 63 6B 2E 2E 2E what the heck...
000020: 2E 0D 0A 3B 6D 69 67 68 74 20 61 73 20 77 65 6C ...;might as wel
000030: 6C 20 74 68 72 6F 77 20 69 74 20 69 6E 20 68 65 l throw it in he
000040: 72 65 20 6A 75 73 74 20 74 6F 20 73 68 6F 77 20 re just to show
000050: 6F 66 66 2E 2E 2E 73 75 72 65 20 68 6F 70 65 20 off...sure hope
000060: 74 68 65 0D 0A 3B 70 6F 72 74 20 64 6F 6E 27 74 the..;port don't
000070: 20 6D 65 6C 74 2E 2E 2E 29 0D 0A 0D 0A 45 4E 44 melt...)....END
000080: 49 46 09 3B 6D 64 49 09 5B 54 6F 61 64 20 48 61 IF.;mdI.[Toad Ha
000090: 6C 6C 5D 0D 0A 0D 0A 49 46 20 68 65 61 74 68 0D ll]....IF heath.
0000A0: 0A 3B 0D 0A 3B 09 53 70 65 65 64 20 73 65 6C 65 .;..;.Speed sele
0000B0: 63 74 69 6F 6E 20 74 61 62 6C 65 20 66 6F 72 20 ction table for
0000C0: 48 38 39 20 20 28 4F 4B 2C 20 73 6F 20 49 20 67 H89 (OK, so I g
0000D0: 6F 74 20 61 20 6C 69 74 74 6C 65 20 63 61 72 72 ot a little carr
0000E0: 69 65 64 20 61 77 61 79 2E 2E 2E 29 0D 0A 3B 0D ied away...)..;.
0000F0: 0A 0D 0A 73 70 64 74 62 6C 3A 09 64 62 09 31 39 ...spdtbl:.db.19
000100: 09 09 3B 20 31 39 20 65 6E 74 72 69 65 73 0D 0A ..; 19 entries..
000110: 09 64 62 09 33 2C 27 31 31 30 24 27 0D 0A 09 64 .db.3,'110$'...d
000120: 77 09 31 30 34 37 0D 0A 09 64 62 09 34 2C 27 31 w.1047...db.4,'1
000130: 32 30 30 24 27 0D 0A 09 64 77 09 39 36 0D 0A 09 200$'...dw.96...
000140: 64 62 09 35 2C 27 31 33 34 2E 35 24 27 0D 0A 09 db.5,'134.5$'...
000150: 64 77 09 38 35 37 0D 0A 09 64 62 09 34 2C 27 31 dw.857...db.4,'1
000160: 38 30 30 24 27 0D 0A 09 64 77 09 36 34 0D 0A 09 800$'...dw.64...
000170: 64 62 09 35 2C 27 31 39 32 30 30 24 27 0D 0A 09 db.5,'19200$'...
000180: 64 77 09 36 0D 0A 09 64 62 09 33 2C 27 32 30 30 dw.6...db.3,'200
000190: 24 27 0D 0A 09 64 77 09 35 37 36 0D 0A 09 64 62 $'...dw.576...db
0001A0: 09 34 2C 27 32 34 30 30 24 27 0D 0A 09 64 77 09 .4,'2400$'...dw.
0001B0: 34 38 0D 0A 09 64 62 09 33 2C 27 33 30 30 24 27 48...db.3,'300$'
0001C0: 0D 0A 09 64 77 09 33 38 34 0D 0A 09 64 62 09 34 ...dw.384...db.4
0001D0: 2C 27 33 36 30 30 24 27 0D 0A 09 64 77 09 33 32 ,'3600$'...dw.32
0001E0: 0D 0A 09 64 62 09 35 2C 27 33 38 34 30 30 24 27 ...db.5,'38400$'
0001F0: 0D 0A 09 64 77 09 33 0D 0A 09 64 62 09 33 2C 27 ...dw.3...db.3,'
Size : 512 (Real : 512)
000000: 0A 67 65 74 62 64 3A 09 6C 64 61 09 62 61 75 64 .getbd:.lda.baud
000010: 72 74 09 09 3B 5B 68 68 5D 20 67 65 74 20 62 61 rt..;[hh] get ba
000020: 75 64 20 72 61 74 65 20 76 61 6C 75 65 20 66 72 ud rate value fr
000030: 6F 6D 20 70 6F 72 74 0D 0A 09 73 74 61 09 73 70 om port...sta.sp
000040: 65 65 64 09 09 3B 5B 68 68 5D 20 74 65 6C 6C 20 eed..;[hh] tell
000050: 53 54 41 54 2E 20 62 61 75 64 20 72 61 74 65 20 STAT. baud rate
000060: 66 6F 72 20 65 61 63 68 20 70 6F 72 74 0D 0A 09 for each port...
000070: 09 09 09 3B 5B 68 68 5D 20 69 73 20 69 6E 64 65 ...;[hh] is inde
000080: 70 65 6E 64 61 6E 74 20 6F 66 20 74 68 65 20 6F pendant of the o
000090: 74 68 65 72 0D 0A 45 4E 44 49 46 09 3B 6C 6F 62 ther..ENDIF.;lob
0000A0: 6F 0D 0A 0D 0A 49 46 20 69 6F 62 79 74 0D 0A 09 o....IF iobyt...
0000B0: 6D 6F 76 09 61 2C 6D 09 09 3B 47 65 74 20 74 68 mov.a,m..;Get th
0000C0: 65 20 49 2F 4F 20 62 79 74 65 0D 0A 09 73 74 61 e I/O byte...sta
0000D0: 09 70 72 74 69 6F 62 09 09 3B 53 61 76 65 20 74 .prtiob..;Save t
0000E0: 68 65 20 64 65 73 69 72 65 64 20 49 4F 20 62 79 he desired IO by
0000F0: 74 65 20 66 6F 72 20 74 68 69 73 20 70 6F 72 74 te for this port
000100: 0D 0A 09 69 6E 78 09 68 09 09 3B 50 6F 69 6E 74 ...inx.h..;Point
000110: 20 61 74 20 6E 65 78 74 20 65 6E 74 72 79 0D 0A at next entry..
000120: 09 6D 6F 76 09 61 2C 6D 09 09 3B 47 65 74 20 74 .mov.a,m..;Get t
000130: 68 65 20 6F 75 74 70 75 74 20 66 75 6E 63 74 69 he output functi
000140: 6F 6E 0D 0A 09 73 74 61 09 70 72 74 66 75 6E 09 on...sta.prtfun.
000150: 09 3B 53 61 76 65 20 69 74 0D 0A 45 4E 44 49 46 .;Save it..ENDIF
000160: 3B 69 6F 62 79 74 0D 0A 0D 0A 49 46 20 69 6F 62 ;iobyt....IF iob
000170: 79 74 20 41 4E 44 20 72 6F 62 69 6E 0D 0A 09 69 yt AND robin...i
000180: 6E 78 09 68 09 09 3B 50 6F 69 6E 74 20 61 74 20 nx.h..;Point at
000190: 6E 65 78 74 20 65 6E 74 72 79 0D 0A 09 6D 6F 76 next entry...mov
0001A0: 09 61 2C 6D 09 09 3B 47 65 74 20 74 68 65 20 68 .a,m..;Get the h
0001B0: 61 72 64 77 61 72 65 20 61 64 64 72 65 73 73 20 ardware address
0001C0: 66 6F 72 20 74 68 65 20 70 6F 72 74 0D 0A 09 73 for the port...s
0001D0: 74 61 09 70 72 74 61 64 72 09 09 3B 53 74 6F 72 ta.prtadr..;Stor
0001E0: 65 20 69 74 0D 0A 45 4E 44 49 46 3B 69 6F 62 79 e it..ENDIF;ioby
0001F0: 74 20 41 4E 44 20 72 6F 62 69 6E 0D 0A 09 72 65 t AND robin...re
Size : 512 (Real : 512)
000000: 34 35 30 24 27 0D 0A 09 64 77 09 32 35 36 0D 0A 450$'...dw.256..
000010: 09 64 62 09 34 2C 27 34 38 30 30 24 27 0D 0A 09 .db.4,'4800$'...
000020: 64 77 09 32 34 0D 0A 09 64 62 09 32 2C 27 35 30 dw.24...db.2,'50
000030: 24 27 0D 0A 09 64 77 09 32 33 30 34 0D 0A 09 64 $'...dw.2304...d
000040: 62 09 35 2C 27 35 36 30 30 30 24 27 0D 0A 09 64 b.5,'56000$'...d
000050: 77 09 32 0D 0A 09 64 62 09 33 2C 27 36 30 30 24 w.2...db.3,'600$
000060: 27 0D 0A 09 64 77 09 31 39 32 0D 0A 09 64 62 09 '...dw.192...db.
000070: 34 2C 27 37 32 30 30 24 27 0D 0A 09 64 77 09 31 4,'7200$'...dw.1
000080: 36 0D 0A 09 64 62 09 32 2C 27 37 35 24 27 0D 0A 6...db.2,'75$'..
000090: 09 64 77 09 31 35 33 36 0D 0A 09 64 62 09 33 2C .dw.1536...db.3,
0000A0: 27 39 30 30 24 27 0D 0A 09 64 77 09 31 32 38 0D '900$'...dw.128.
0000B0: 0A 09 64 62 09 34 2C 27 39 36 30 30 24 27 0D 0A ..db.4,'9600$'..
0000C0: 09 64 77 09 31 32 0D 0A 0D 0A 73 70 68 74 62 6C .dw.12....sphtbl
0000D0: 3A 09 64 62 09 63 72 2C 6C 66 0D 0A 09 64 62 09 :.db.cr,lf...db.
0000E0: 27 20 20 20 20 35 30 20 20 20 20 37 35 20 20 20 ' 50 75
0000F0: 31 31 30 20 31 33 34 2E 35 20 20 20 32 30 30 20 110 134.5 200
000100: 20 20 33 30 30 20 20 20 34 35 30 20 20 20 36 30 300 450 60
000110: 30 20 20 20 39 30 30 20 20 31 32 30 30 27 0D 0A 0 900 1200'..
000120: 09 64 62 09 63 72 2C 6C 66 2C 27 20 20 31 38 30 .db.cr,lf,' 180
000130: 30 20 20 32 34 30 30 20 20 33 36 30 30 20 20 34 0 2400 3600 4
000140: 38 30 30 20 20 37 32 30 30 20 20 39 36 30 30 20 800 7200 9600
000150: 31 39 32 30 30 20 33 38 34 30 30 20 35 36 30 30 19200 38400 5600
000160: 30 24 27 0D 0A 45 4E 44 49 46 3B 68 65 61 74 68 0$'..ENDIF;heath
000170: 0D 0A 0D 0A 49 46 20 6E 6F 72 74 68 73 0D 0A 73 ....IF norths..s
000180: 70 64 74 62 6C 3A 09 64 62 09 38 09 09 3B 20 38 pdtbl:.db.8..; 8
000190: 20 65 6E 74 72 69 65 73 0D 0A 09 64 62 09 33 2C entries...db.3,
0001A0: 27 31 31 30 24 27 2C 09 30 37 48 2C 30 37 48 0D '110$',.07H,07H.
0001B0: 0A 09 64 62 09 34 2C 27 31 32 30 30 24 27 2C 09 ..db.4,'1200$',.
0001C0: 30 34 48 2C 30 34 48 0D 0A 09 64 62 09 35 2C 27 04H,04H...db.5,'
0001D0: 31 39 32 30 30 24 27 2C 09 30 30 48 2C 30 30 48 19200$',.00H,00H
0001E0: 0D 0A 09 64 62 09 34 2C 27 32 34 30 30 24 27 2C ...db.4,'2400$',
0001F0: 09 30 33 48 2C 30 33 48 0D 0A 09 64 62 09 33 2C .03H,03H...db.3,
Size : 512 (Real : 512)
000000: 74 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 50 6F 72 74 t..;...;..;.Port
000010: 20 74 61 62 6C 65 73 20 66 6F 72 20 4C 6F 62 6F tables for Lobo
000020: 20 4D 41 58 2D 38 30 0D 0A 49 46 20 6C 6F 62 6F MAX-80..IF lobo
000030: 09 3B 5B 68 68 5D 0D 0A 3B 20 68 65 6C 70 20 74 .;[hh]..; help t
000040: 65 78 74 0D 0A 70 72 68 74 62 6C 3A 09 64 62 09 ext..prhtbl:.db.
000050: 63 72 2C 6C 66 2C 27 52 53 2D 32 33 32 20 70 6F cr,lf,'RS-232 po
000060: 72 74 20 41 20 6F 72 20 42 24 27 0D 0A 3B 0D 0A rt A or B$'..;..
000070: 3B 20 63 6F 6D 6D 61 6E 64 20 74 61 62 6C 65 0D ; command table.
000080: 0A 70 72 74 74 62 6C 3A 09 64 62 09 30 32 48 09 .prttbl:.db.02H.
000090: 09 09 3B 5B 68 68 5D 20 74 77 6F 20 65 6E 74 72 ..;[hh] two entr
0000A0: 69 65 73 0D 0A 09 64 62 09 30 31 48 2C 27 41 24 ies...db.01H,'A$
0000B0: 27 2C 30 45 34 48 2C 30 44 30 48 0D 0A 09 64 62 ',0E4H,0D0H...db
0000C0: 09 30 31 48 2C 27 42 24 27 2C 30 45 36 48 2C 30 .01H,'B$',0E6H,0
0000D0: 44 34 48 0D 0A 45 4E 44 49 46 09 3B 6C 6F 62 6F D4H..ENDIF.;lobo
0000E0: 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 50 6F 72 74 20 ..;...;..;.Port
0000F0: 74 61 62 6C 65 73 20 66 6F 72 20 47 45 4E 45 52 tables for GENER
000100: 49 43 20 43 50 4D 20 32 2E 32 0D 0A 49 46 20 67 IC CPM 2.2..IF g
000110: 65 6E 65 72 0D 0A 3B 20 68 65 6C 70 20 74 65 78 ener..; help tex
000120: 74 0D 0A 70 72 68 74 62 6C 3A 09 64 62 09 63 72 t..prhtbl:.db.cr
000130: 2C 6C 66 2C 27 43 52 54 20 64 65 76 69 63 65 27 ,lf,'CRT device'
000140: 0D 0A 09 64 62 09 63 72 2C 6C 66 2C 27 50 54 52 ...db.cr,lf,'PTR
000150: 20 64 65 76 69 63 65 27 0D 0A 09 64 62 09 63 72 device'...db.cr
000160: 2C 6C 66 2C 27 54 54 59 20 64 65 76 69 63 65 27 ,lf,'TTY device'
000170: 0D 0A 09 64 62 09 63 72 2C 6C 66 2C 27 55 43 31 ...db.cr,lf,'UC1
000180: 20 64 65 76 69 63 65 27 0D 0A 09 64 62 09 63 72 device'...db.cr
000190: 2C 6C 66 2C 27 55 52 31 20 64 65 76 69 63 65 27 ,lf,'UR1 device'
0001A0: 0D 0A 09 64 62 09 63 72 2C 6C 66 2C 27 55 52 32 ...db.cr,lf,'UR2
0001B0: 20 64 65 76 69 63 65 24 27 0D 0A 0D 0A 3B 20 63 device$'....; c
0001C0: 6F 6D 6D 61 6E 64 20 74 61 62 6C 65 0D 0A 70 72 ommand table..pr
0001D0: 74 74 62 6C 3A 09 64 62 09 30 36 48 09 09 3B 53 ttbl:.db.06H..;S
0001E0: 69 78 20 64 65 76 69 63 65 73 20 74 6F 20 63 68 ix devices to ch
0001F0: 6F 6F 73 65 20 66 72 6F 6D 0D 0A 09 64 62 09 30 oose from...db.0
Size : 512 (Real : 512)
000000: 27 33 30 30 24 27 2C 09 30 36 48 2C 30 36 48 0D '300$',.06H,06H.
000010: 0A 09 64 62 09 34 2C 27 34 38 30 30 24 27 2C 09 ..db.4,'4800$',.
000020: 30 32 48 2C 30 32 48 0D 0A 09 64 62 09 33 2C 27 02H,02H...db.3,'
000030: 36 30 30 24 27 2C 09 30 35 48 2C 30 35 48 0D 0A 600$',.05H,05H..
000040: 09 64 62 09 34 2C 27 39 36 30 30 24 27 2C 09 30 .db.4,'9600$',.0
000050: 31 48 2C 30 31 48 0D 0A 0D 0A 73 70 68 74 62 6C 1H,01H....sphtbl
000060: 3A 09 64 62 09 63 72 2C 6C 66 0D 0A 09 64 62 09 :.db.cr,lf...db.
000070: 27 20 20 20 31 31 30 20 20 20 33 30 30 20 20 20 ' 110 300
000080: 36 30 30 20 20 31 32 30 30 20 20 32 34 30 30 20 600 1200 2400
000090: 20 34 38 30 30 20 20 39 36 30 30 20 31 39 32 30 4800 9600 1920
0000A0: 30 24 27 0D 0A 45 4E 44 49 46 3B 6E 6F 72 74 68 0$'..ENDIF;north
0000B0: 73 0D 0A 0D 0A 3B 20 54 68 65 20 66 6F 6C 6C 6F s....; The follo
0000C0: 77 69 6E 67 20 63 6F 6E 64 69 74 69 6F 6E 61 6C wing conditional
0000D0: 73 20 77 65 72 65 20 6F 6E 63 65 20 61 20 68 75 s were once a hu
0000E0: 67 65 20 69 66 20 6E 6F 74 20 73 74 61 74 65 6D ge if not statem
0000F0: 65 6E 74 2E 20 20 54 68 65 72 65 0D 0A 3B 20 77 ent. There..; w
000100: 61 73 6E 27 74 20 65 6E 6F 75 67 68 20 72 6F 6F asn't enough roo
000110: 6D 20 74 6F 20 61 64 64 20 74 68 65 20 6C 6F 62 m to add the lob
000120: 6F 20 74 6F 20 74 68 65 20 6C 69 73 74 2C 20 73 o to the list, s
000130: 6F 20 69 74 20 68 61 64 20 74 6F 20 62 65 20 62 o it had to be b
000140: 72 6F 6B 65 6E 0D 0A 3B 20 69 6E 74 6F 20 32 2C roken..; into 2,
000150: 20 77 68 69 63 68 20 79 6F 75 20 63 61 6E 27 74 which you can't
000160: 20 64 6F 20 77 69 74 68 20 61 6E 20 69 66 20 6E do with an if n
000170: 6F 74 2E 20 20 49 20 72 65 64 69 64 20 69 74 20 ot. I redid it
000180: 61 73 20 74 77 6F 20 69 66 73 20 61 6E 64 0D 0A as two ifs and..
000190: 3B 20 61 70 70 6C 69 65 64 20 74 68 65 6D 20 74 ; applied them t
0001A0: 6F 20 74 68 6F 73 65 20 74 68 61 74 20 77 6F 75 o those that wou
0001B0: 6C 64 6E 27 74 20 73 65 74 20 62 61 75 64 2E 20 ldn't set baud.
0001C0: 5B 48 61 6C 20 48 6F 73 74 65 74 6C 65 72 5D 0D [Hal Hostetler].
0001D0: 0A 49 46 20 72 6F 62 69 6E 20 4F 52 20 67 65 6E .IF robin OR gen
0001E0: 65 72 20 4F 52 20 64 6D 49 49 20 4F 52 20 76 65 er OR dmII OR ve
0001F0: 63 74 6F 72 20 4F 52 20 7A 31 30 30 20 4F 52 20 ctor OR z100 OR
Size : 512 (Real : 512)
000000: 33 48 2C 27 43 52 54 24 27 0D 0A 09 09 64 77 09 3H,'CRT$'....dw.
000010: 63 72 74 70 74 62 0D 0A 09 64 62 09 30 33 48 2C crtptb...db.03H,
000020: 27 50 54 52 24 27 0D 0A 09 09 64 77 09 70 74 72 'PTR$'....dw.ptr
000030: 70 74 62 0D 0A 09 64 62 09 30 33 48 2C 27 54 54 ptb...db.03H,'TT
000040: 59 24 27 0D 0A 09 09 64 77 09 74 74 79 70 74 62 Y$'....dw.ttyptb
000050: 0D 0A 09 64 62 09 30 33 48 2C 27 55 43 31 24 27 ...db.03H,'UC1$'
000060: 0D 0A 09 09 64 77 09 75 63 31 70 74 62 0D 0A 09 ....dw.uc1ptb...
000070: 64 62 09 30 33 48 2C 27 55 52 31 24 27 0D 0A 09 db.03H,'UR1$'...
000080: 09 64 77 09 75 72 31 70 74 62 0D 0A 09 64 62 09 .dw.ur1ptb...db.
000090: 30 33 48 2C 27 55 52 32 24 27 0D 0A 09 09 64 77 03H,'UR2$'....dw
0000A0: 09 75 72 32 70 74 62 0D 0A 0D 0A 3B 20 70 6F 72 .ur2ptb....; por
0000B0: 74 20 65 6E 74 72 79 20 74 61 62 6C 65 0D 0A 3B t entry table..;
0000C0: 20 74 61 62 6C 65 20 65 6E 74 72 69 65 73 20 61 table entries a
0000D0: 72 65 3A 0D 0A 3B 09 64 62 09 69 6F 62 79 74 65 re:..;.db.iobyte
0000E0: 2D 76 61 6C 75 65 2C 20 42 44 4F 53 20 6F 75 74 -value, BDOS out
0000F0: 70 75 74 20 66 75 6E 63 74 69 6F 6E 2C 20 72 65 put function, re
000100: 73 65 72 76 65 64 0D 0A 63 72 74 70 74 62 3A 09 served..crtptb:.
000110: 64 62 09 63 72 74 69 6F 2C 63 6F 6E 6F 75 74 2C db.crtio,conout,
000120: 30 0D 0A 70 74 72 70 74 62 3A 09 64 62 09 70 74 0..ptrptb:.db.pt
000130: 72 69 6F 2C 70 75 6E 6F 75 74 2C 30 0D 0A 74 74 rio,punout,0..tt
000140: 79 70 74 62 3A 09 64 62 09 74 74 79 69 6F 2C 63 yptb:.db.ttyio,c
000150: 6F 6E 6F 75 74 2C 30 0D 0A 75 63 31 70 74 62 3A onout,0..uc1ptb:
000160: 09 64 62 09 75 63 31 69 6F 2C 63 6F 6E 6F 75 74 .db.uc1io,conout
000170: 2C 30 0D 0A 75 72 31 70 74 62 3A 09 64 62 09 75 ,0..ur1ptb:.db.u
000180: 72 31 69 6F 2C 70 75 6E 6F 75 74 2C 30 0D 0A 75 r1io,punout,0..u
000190: 72 32 70 74 62 3A 09 64 62 09 75 72 32 69 6F 2C r2ptb:.db.ur2io,
0001A0: 70 75 6E 6F 75 74 2C 30 0D 0A 45 4E 44 49 46 3B punout,0..ENDIF;
0001B0: 67 65 6E 65 72 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 gener..;...;..;.
0001C0: 50 6F 72 74 20 74 61 62 6C 65 73 20 66 6F 72 20 Port tables for
0001D0: 44 45 43 6D 61 74 65 20 49 49 20 6F 72 20 4D 69 DECmate II or Mi
0001E0: 63 72 6F 4D 69 6B 6B 6F 0D 0A 3B 0D 0A 49 46 20 croMikko..;..IF
0001F0: 64 6D 49 49 20 4F 52 20 6D 69 6B 6B 6F 0D 0A 3B dmII OR mikko..;
Size : 512 (Real : 512)
000000: 74 72 73 38 30 20 4F 52 20 74 65 6C 63 6F 6E 0D trs80 OR telcon.
000010: 0A 73 70 64 74 62 6C 09 65 71 75 09 30 09 09 3B .spdtbl.equ.0..;
000020: 20 53 45 54 20 42 41 55 44 20 6E 6F 74 20 73 75 SET BAUD not su
000030: 70 70 6F 72 74 65 64 2E 0D 0A 73 70 68 74 62 6C pported...sphtbl
000040: 09 65 71 75 09 30 0D 0A 45 4E 44 49 46 3B 72 6F .equ.0..ENDIF;ro
000050: 62 69 6E 20 4F 52 20 67 65 6E 65 72 20 4F 52 20 bin OR gener OR
000060: 64 6D 49 49 20 4F 52 20 76 65 63 74 6F 72 20 4F dmII OR vector O
000070: 52 20 7A 31 30 30 20 4F 52 20 74 72 73 38 30 20 R z100 OR trs80
000080: 4F 52 20 74 65 6C 63 6F 6E 0D 0A 3B 0D 0A 49 46 OR telcon..;..IF
000090: 20 6D 6D 64 49 20 4F 52 20 6F 73 69 20 4F 52 20 mmdI OR osi OR
0000A0: 63 70 6D 33 20 4F 52 20 61 70 6D 6D 64 6D 0D 0A cpm3 OR apmmdm..
0000B0: 73 70 64 74 62 6C 09 45 51 55 09 30 09 09 3B 5B spdtbl.EQU.0..;[
0000C0: 68 68 5D 20 53 45 54 20 42 41 55 44 20 6E 6F 74 hh] SET BAUD not
0000D0: 20 73 75 70 70 6F 72 74 65 64 2E 0D 0A 73 70 68 supported...sph
0000E0: 74 62 6C 09 45 51 55 09 30 09 09 3B 5B 68 68 5D tbl.EQU.0..;[hh]
0000F0: 20 72 61 6E 20 6F 75 74 20 6F 66 20 72 6F 6F 6D ran out of room
000100: 20 61 62 6F 76 65 2E 2E 2E 0D 0A 45 4E 44 49 46 above.....ENDIF
000110: 3B 6D 6D 64 49 20 4F 52 20 6F 73 69 20 4F 52 20 ;mmdI OR osi OR
000120: 63 70 6D 33 20 4F 52 20 61 70 6D 6D 64 6D 0D 0A cpm3 OR apmmdm..
000130: 3B 0C 0D 0A 3B 09 54 68 69 73 20 69 73 20 74 68 ;...;.This is th
000140: 65 20 73 79 73 74 65 6D 2D 64 65 70 65 6E 64 65 e system-depende
000150: 6E 74 20 53 45 54 20 50 4F 52 54 20 63 6F 6D 6D nt SET PORT comm
000160: 61 6E 64 2E 0D 0A 3B 09 48 4C 20 63 6F 6E 74 61 and...;.HL conta
000170: 69 6E 73 20 74 68 65 20 61 72 67 75 6D 65 6E 74 ins the argument
000180: 20 66 72 6F 6D 20 74 68 65 20 63 6F 6D 6D 61 6E from the comman
000190: 64 20 74 61 62 6C 65 2E 0D 0A 73 79 73 70 72 74 d table...sysprt
0001A0: 3A 0D 0A 49 46 20 6C 6F 62 6F 09 3B 5B 68 68 5D :..IF lobo.;[hh]
0001B0: 0D 0A 09 6D 6F 76 09 61 2C 65 09 09 3B 5B 68 68 ...mov.a,e..;[hh
0001C0: 5D 20 67 65 74 20 74 68 65 20 64 61 74 61 20 70 ] get the data p
0001D0: 6F 72 74 20 76 61 6C 75 65 20 61 6E 64 20 73 74 ort value and st
0001E0: 6F 72 65 20 61 74 0D 0A 09 73 74 61 09 6F 75 74 ore at...sta.out
0001F0: 6D 64 33 2B 31 09 3B 5B 68 68 5D 20 74 68 65 20 md3+1.;[hh] the
Size : 512 (Real : 512)
000000: 20 68 65 6C 70 20 74 65 78 74 0D 0A 70 72 68 74 help text..prht
000010: 62 6C 3A 09 64 62 09 63 72 2C 6C 66 2C 27 43 4F bl:.db.cr,lf,'CO
000020: 4D 4D 55 4E 49 43 41 54 49 4F 4E 53 20 70 6F 72 MMUNICATIONS por
000030: 74 24 27 0D 0A 0D 0A 3B 20 63 6F 6D 6D 61 6E 64 t$'....; command
000040: 20 74 61 62 6C 65 0D 0A 70 72 74 74 62 6C 3A 09 table..prttbl:.
000050: 64 62 09 30 31 48 09 09 3B 4F 6E 6C 79 20 6F 6E db.01H..;Only on
000060: 65 20 70 6F 72 74 20 6B 6E 6F 77 6E 20 61 74 20 e port known at
000070: 74 68 69 73 20 70 6F 69 6E 74 0D 0A 09 64 62 09 this point...db.
000080: 30 45 48 2C 27 43 4F 4D 4D 55 4E 49 43 41 54 49 0EH,'COMMUNICATI
000090: 4F 4E 53 24 27 0D 0A 09 09 64 77 09 63 6F 6D 70 ONS$'....dw.comp
0000A0: 74 62 09 3B 61 64 64 72 65 73 73 20 6F 66 20 69 tb.;address of i
0000B0: 6E 66 6F 0D 0A 0D 0A 3B 20 70 6F 72 74 20 65 6E nfo....; port en
0000C0: 74 72 79 20 74 61 62 6C 65 0D 0A 3B 20 74 61 62 try table..; tab
0000D0: 6C 65 20 65 6E 74 72 69 65 73 20 61 72 65 3A 0D le entries are:.
0000E0: 0A 3B 09 64 62 09 69 6F 62 79 74 65 2D 76 61 6C .;.db.iobyte-val
0000F0: 75 65 2C 20 42 44 4F 53 20 6F 75 74 70 75 74 20 ue, BDOS output
000100: 66 75 6E 63 74 69 6F 6E 2C 20 72 65 73 65 72 76 function, reserv
000110: 65 64 0D 0A 63 6F 6D 70 74 62 3A 09 64 62 09 62 ed..comptb:.db.b
000120: 61 74 69 6F 2C 70 75 6E 6F 75 74 2C 30 0D 0A 0D atio,punout,0...
000130: 0A 45 4E 44 49 46 3B 64 6D 49 49 20 4F 52 20 6D .ENDIF;dmII OR m
000140: 69 6B 6B 6F 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 50 ikko..;...;..;.P
000150: 6F 72 74 20 74 61 62 6C 65 73 20 66 6F 72 20 52 ort tables for R
000160: 6F 62 69 6E 0D 0A 3B 0D 0A 49 46 20 72 6F 62 69 obin..;..IF robi
000170: 6E 0D 0A 3B 20 68 65 6C 70 20 74 65 78 74 0D 0A n..; help text..
000180: 70 72 68 74 62 6C 3A 09 64 62 09 63 72 2C 6C 66 prhtbl:.db.cr,lf
000190: 2C 27 43 4F 4D 4D 55 4E 49 43 41 54 49 4F 4E 53 ,'COMMUNICATIONS
0001A0: 20 70 6F 72 74 27 0D 0A 09 64 62 09 63 72 2C 6C port'...db.cr,l
0001B0: 66 2C 27 47 45 4E 45 52 41 4C 20 70 75 72 70 6F f,'GENERAL purpo
0001C0: 73 65 20 70 6F 72 74 27 0D 0A 09 64 62 09 63 72 se port'...db.cr
0001D0: 2C 6C 66 2C 27 50 52 49 4E 54 45 52 20 70 6F 72 ,lf,'PRINTER por
0001E0: 74 24 27 0D 0A 0D 0A 3B 20 63 6F 6D 6D 61 6E 64 t$'....; command
0001F0: 20 74 61 62 6C 65 0D 0A 70 72 74 74 62 6C 3A 09 table..prttbl:.
Size : 512 (Real : 512)
000000: 61 72 72 79 0D 0A 09 6D 76 69 09 63 2C 33 09 09 arry...mvi.c,3..
000010: 3B 66 6F 72 20 33 20 62 79 74 65 73 0D 0A 09 6C ;for 3 bytes...l
000020: 78 69 09 68 2C 62 75 66 66 2B 33 09 3B 70 6F 69 xi.h,buff+3.;poi
000030: 6E 74 20 74 6F 20 61 64 64 72 20 2B 20 31 0D 0A nt to addr + 1..
000040: 64 69 72 31 38 63 3A 09 64 63 78 09 68 09 09 3B dir18c:.dcx.h..;
000050: 70 6F 69 6E 74 20 74 6F 20 6C 65 73 73 20 73 69 point to less si
000060: 67 2E 20 62 79 74 65 0D 0A 09 6D 6F 76 09 61 2C g. byte...mov.a,
000070: 6D 09 09 3B 67 65 74 20 62 79 74 65 0D 0A 09 72 m..;get byte...r
000080: 61 72 09 09 09 3B 63 61 72 72 79 20 2D 3E 20 41 ar...;carry -> A
000090: 20 2D 3E 20 63 61 72 72 79 0D 0A 09 6D 6F 76 09 -> carry...mov.
0000A0: 6D 2C 61 09 09 3B 70 75 74 20 62 61 63 6B 20 62 m,a..;put back b
0000B0: 79 74 65 0D 0A 09 64 63 72 09 63 09 09 3B 66 6F yte...dcr.c..;fo
0000C0: 72 20 61 6C 6C 20 62 79 74 65 73 20 28 63 61 72 r all bytes (car
0000D0: 72 79 20 6E 6F 74 20 6D 6F 64 29 0D 0A 09 6A 6E ry not mod)...jn
0000E0: 7A 09 64 69 72 31 38 63 0D 0A 09 64 63 72 09 62 z.dir18c...dcr.b
0000F0: 09 09 3B 73 68 69 66 74 20 31 20 62 69 74 20 33 ..;shift 1 bit 3
000100: 20 74 69 6D 65 73 0D 0A 09 6A 6E 7A 09 64 69 72 times...jnz.dir
000110: 31 38 62 0D 0A 09 6D 6F 76 09 65 2C 6D 09 09 3B 18b...mov.e,m..;
000120: 67 65 74 20 6C 65 61 73 74 20 73 69 67 20 62 79 get least sig by
000130: 74 65 0D 0A 09 69 6E 78 09 68 0D 0A 09 6D 6F 76 te...inx.h...mov
000140: 09 64 2C 6D 09 09 3B 67 65 74 20 6D 6F 73 74 20 .d,m..;get most
000150: 73 69 67 20 62 79 74 65 0D 0A 09 78 63 68 67 09 sig byte...xchg.
000160: 09 09 3B 67 65 74 20 4B 20 66 72 65 65 20 69 6E ..;get K free in
000170: 20 48 4C 0D 0A 09 72 65 74 0D 0A 0D 0A 3B 20 74 HL...ret....; t
000180: 68 65 20 72 65 73 74 20 61 72 65 20 43 50 2F 4D he rest are CP/M
000190: 20 32 2E 32 20 73 79 73 74 65 6D 73 2C 20 73 6F 2.2 systems, so
0001A0: 20 75 73 65 20 74 68 65 20 61 6C 6C 6F 63 20 76 use the alloc v
0001B0: 65 63 74 6F 72 0D 0A 63 70 32 73 70 63 3A 09 6D ector..cp2spc:.m
0001C0: 76 69 09 63 2C 67 65 74 61 6C 76 20 09 3B 41 64 vi.c,getalv .;Ad
0001D0: 64 72 65 73 73 20 6F 66 20 43 50 2F 4D 20 41 6C dress of CP/M Al
0001E0: 6C 6F 63 61 74 69 6F 6E 20 56 65 63 74 6F 72 0D location Vector.
0001F0: 0A 09 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 78 63 ..call.bdos...xc
Size : 512 (Real : 512)
000000: 64 62 09 30 33 48 09 09 3B 54 68 72 65 65 20 65 db.03H..;Three e
000010: 6E 74 72 69 65 73 0D 0A 09 64 62 09 30 45 48 2C ntries...db.0EH,
000020: 27 43 4F 4D 4D 55 4E 49 43 41 54 49 4F 4E 53 24 'COMMUNICATIONS$
000030: 27 0D 0A 09 09 64 77 09 63 6F 6D 70 74 62 0D 0A '....dw.comptb..
000040: 09 64 62 09 30 37 48 2C 27 47 45 4E 45 52 41 4C .db.07H,'GENERAL
000050: 24 27 0D 0A 09 09 64 77 09 67 70 70 70 74 62 0D $'....dw.gppptb.
000060: 0A 09 64 62 09 30 37 48 2C 27 50 52 49 4E 54 45 ..db.07H,'PRINTE
000070: 52 24 27 0D 0A 09 09 64 77 09 70 72 6E 70 74 62 R$'....dw.prnptb
000080: 0D 0A 0D 0A 3B 20 70 6F 72 74 20 65 6E 74 72 79 ....; port entry
000090: 20 74 61 62 6C 65 0D 0A 3B 20 74 61 62 6C 65 20 table..; table
0000A0: 65 6E 74 72 69 65 73 20 61 72 65 3A 0D 0A 3B 09 entries are:..;.
0000B0: 64 62 09 69 6F 62 79 74 65 2D 76 61 6C 75 65 2C db.iobyte-value,
0000C0: 20 42 44 4F 53 20 6F 75 74 70 75 74 20 66 75 6E BDOS output fun
0000D0: 63 74 69 6F 6E 2C 20 68 61 72 64 77 61 72 65 20 ction, hardware
0000E0: 70 6F 72 74 20 61 64 64 72 65 73 73 0D 0A 3B 09 port address..;.
0000F0: 09 09 09 09 09 20 20 20 20 28 63 6F 6E 74 72 6F ..... (contro
000100: 6C 2F 73 74 61 74 75 73 29 0D 0A 3B 0D 0A 3B 41 l/status)..;..;A
000110: 74 20 70 72 65 73 65 6E 74 2C 20 74 68 65 20 68 t present, the h
000120: 61 72 64 77 61 72 65 20 70 6F 72 74 20 61 64 64 ardware port add
000130: 72 65 73 73 20 69 73 20 6F 6E 6C 79 20 75 73 65 ress is only use
000140: 64 20 66 6F 72 20 73 65 6E 64 69 6E 67 20 61 20 d for sending a
000150: 62 72 65 61 6B 2E 0D 0A 63 6F 6D 70 74 62 3A 09 break...comptb:.
000160: 64 62 09 62 61 74 69 6F 2C 70 75 6E 6F 75 74 2C db.batio,punout,
000170: 63 6F 6D 74 73 74 0D 0A 67 70 70 70 74 62 3A 09 comtst..gppptb:.
000180: 64 62 09 67 70 70 69 6F 2C 63 6F 6E 6F 75 74 2C db.gppio,conout,
000190: 67 65 6E 74 73 74 0D 0A 70 72 6E 70 74 62 3A 09 gentst..prnptb:.
0001A0: 64 62 09 6C 70 74 69 6F 2C 63 6F 6E 6F 75 74 2C db.lptio,conout,
0001B0: 70 72 6E 74 73 74 0D 0A 0D 0A 70 72 74 61 64 72 prntst....prtadr
0001C0: 3A 09 64 62 09 63 6F 6D 74 73 74 09 09 3B 73 70 :.db.comtst..;sp
0001D0: 61 63 65 20 66 6F 72 20 63 75 72 72 65 6E 74 20 ace for current
0001E0: 68 61 72 64 77 61 72 65 20 70 6F 72 74 20 61 64 hardware port ad
0001F0: 64 72 65 73 73 0D 0A 45 4E 44 49 46 3B 72 6F 62 dress..ENDIF;rob
Size : 512 (Real : 512)
000000: 68 67 09 09 09 3B 47 65 74 20 69 74 73 20 6C 65 hg...;Get its le
000010: 6E 67 74 68 0D 0A 09 6C 68 6C 64 09 62 6D 61 78 ngth...lhld.bmax
000020: 0D 0A 09 69 6E 78 09 68 0D 0A 09 6C 78 69 09 62 ...inx.h...lxi.b
000030: 2C 30 09 09 3B 49 6E 69 74 69 61 6C 69 7A 65 20 ,0..;Initialize
000040: 42 6C 6F 63 6B 20 63 6F 75 6E 74 20 74 6F 20 7A Block count to z
000050: 65 72 6F 0D 0A 64 69 72 31 39 3A 09 70 75 73 68 ero..dir19:.push
000060: 09 64 09 09 3B 53 61 76 65 20 61 6C 6C 6F 63 61 .d..;Save alloca
000070: 74 69 6F 6E 20 61 64 64 72 65 73 73 0D 0A 09 6C tion address...l
000080: 64 61 78 09 64 0D 0A 09 6D 76 69 09 65 2C 38 09 dax.d...mvi.e,8.
000090: 09 3B 73 65 74 20 74 6F 20 70 72 6F 63 65 73 73 .;set to process
0000A0: 20 38 20 62 6C 6F 63 6B 73 0D 0A 64 69 72 32 30 8 blocks..dir20
0000B0: 3A 09 72 61 6C 09 09 09 3B 54 65 73 74 20 62 69 :.ral...;Test bi
0000C0: 74 0D 0A 09 6A 63 09 64 69 72 32 30 61 0D 0A 09 t...jc.dir20a...
0000D0: 69 6E 78 09 62 0D 0A 64 69 72 32 30 61 3A 09 6D inx.b..dir20a:.m
0000E0: 6F 76 09 64 2C 61 09 09 3B 53 61 76 65 20 62 69 ov.d,a..;Save bi
0000F0: 74 73 0D 0A 09 64 63 78 09 68 0D 0A 09 6D 6F 76 ts...dcx.h...mov
000100: 09 61 2C 6C 0D 0A 09 6F 72 61 09 68 0D 0A 09 6A .a,l...ora.h...j
000110: 7A 09 64 69 72 32 31 09 09 3B 51 75 69 74 20 69 z.dir21..;Quit i
000120: 66 20 6F 75 74 20 6F 66 20 62 6C 6F 63 6B 73 0D f out of blocks.
000130: 0A 09 6D 6F 76 09 61 2C 64 09 09 3B 52 65 73 74 ..mov.a,d..;Rest
000140: 6F 72 65 20 62 69 74 73 0D 0A 09 64 63 72 09 65 ore bits...dcr.e
000150: 09 09 3B 63 6F 75 6E 74 20 64 6F 77 6E 20 38 20 ..;count down 8
000160: 62 69 74 73 0D 0A 09 6A 6E 7A 09 64 69 72 32 30 bits...jnz.dir20
000170: 09 09 3B 64 6F 20 61 6E 6F 74 68 65 72 20 62 69 ..;do another bi
000180: 74 0D 0A 09 70 6F 70 09 64 09 09 3B 42 75 6D 70 t...pop.d..;Bump
000190: 20 74 6F 20 6E 65 78 74 20 63 6F 75 6E 74 20 6F to next count o
0001A0: 66 20 41 6C 6C 6F 63 61 74 69 6F 6E 20 56 65 63 f Allocation Vec
0001B0: 74 6F 72 0D 0A 09 69 6E 78 09 64 0D 0A 09 6A 6D tor...inx.d...jm
0001C0: 70 09 64 69 72 31 39 09 09 3B 70 72 6F 63 65 73 p.dir19..;proces
0001D0: 73 20 69 74 0D 0A 0D 0A 64 69 72 32 31 3A 09 70 s it....dir21:.p
0001E0: 6F 70 09 64 09 09 3B 43 6C 65 61 72 20 41 6C 6C op.d..;Clear All
0001F0: 6F 63 61 74 69 6F 6E 20 76 65 63 74 6F 72 20 66 ocation vector f
Size : 512 (Real : 512)
000000: 69 6E 0D 0A 0D 0A 49 46 20 69 6F 62 79 74 0D 0A in....IF iobyt..
000010: 70 72 74 66 75 6E 3A 09 64 62 09 70 75 6E 6F 75 prtfun:.db.punou
000020: 74 09 09 3B 46 75 6E 63 74 69 6F 6E 20 74 6F 20 t..;Function to
000030: 75 73 65 20 66 6F 72 20 6F 75 74 70 75 74 20 74 use for output t
000040: 6F 20 63 6F 6D 6D 20 70 6F 72 74 0D 0A 70 72 74 o comm port..prt
000050: 69 6F 62 3A 09 64 62 09 62 61 74 69 6F 09 09 3B iob:.db.batio..;
000060: 49 2F 4F 20 62 79 74 65 20 74 6F 20 75 73 65 20 I/O byte to use
000070: 66 6F 72 20 63 6F 6D 6D 75 6E 69 63 61 74 69 6E for communicatin
000080: 67 0D 0A 63 6F 6E 69 6F 62 3A 09 64 62 09 64 65 g..coniob:.db.de
000090: 66 69 6F 09 09 3B 49 2F 4F 20 62 79 74 65 20 74 fio..;I/O byte t
0000A0: 6F 20 75 73 65 20 66 6F 72 20 63 6F 6E 73 6F 6C o use for consol
0000B0: 65 0D 0A 45 4E 44 49 46 3B 69 6F 62 79 74 0D 0A e..ENDIF;iobyt..
0000C0: 0D 0A 49 46 20 4E 4F 54 20 28 69 6F 62 79 74 20 ..IF NOT (iobyt
0000D0: 4F 52 20 6C 6F 62 6F 29 09 09 3B 5B 68 68 5D 0D OR lobo)..;[hh].
0000E0: 0A 70 72 74 74 62 6C 09 65 71 75 09 30 09 09 3B .prttbl.equ.0..;
0000F0: 20 53 45 54 20 50 4F 52 54 20 69 73 20 6E 6F 74 SET PORT is not
000100: 20 73 75 70 70 6F 72 74 65 64 0D 0A 70 72 68 74 supported..prht
000110: 62 6C 09 65 71 75 09 30 0D 0A 45 4E 44 49 46 3B bl.equ.0..ENDIF;
000120: 4E 4F 54 20 69 6F 62 79 74 20 4F 52 20 6C 6F 62 NOT iobyt OR lob
000130: 6F 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 53 65 74 20 o..;...;..;.Set
000140: 75 70 20 73 63 72 65 65 6E 20 64 69 73 70 6C 61 up screen displa
000150: 79 20 66 6F 72 20 66 69 6C 65 20 74 72 61 6E 73 y for file trans
000160: 66 65 72 0D 0A 3B 09 63 61 6C 6C 65 64 20 77 69 fer..;.called wi
000170: 74 68 20 6B 65 72 6D 69 74 20 76 65 72 73 69 6F th kermit versio
000180: 6E 20 69 6E 20 44 45 0D 0A 3B 0D 0A 73 79 73 73 n in DE..;..syss
000190: 63 72 3A 09 70 75 73 68 09 64 09 09 3B 20 73 61 cr:.push.d..; sa
0001A0: 76 65 20 76 65 72 73 69 6F 6E 20 66 6F 72 20 61 ve version for a
0001B0: 20 62 69 74 0D 0A 09 6C 78 69 09 64 2C 6F 75 74 bit...lxi.d,out
0001C0: 6C 69 6E 09 3B 20 63 6C 65 61 72 20 73 63 72 65 lin.; clear scre
0001D0: 65 6E 2C 20 70 6F 73 69 74 69 6F 6E 20 63 75 72 en, position cur
0001E0: 73 6F 72 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 sor...call.prtst
0001F0: 72 09 09 3B 20 64 6F 20 69 74 0D 0A 09 70 6F 70 r..; do it...pop
Size : 512 (Real : 512)
000000: 72 6F 6D 20 73 74 61 63 6B 0D 0A 09 6D 6F 76 09 rom stack...mov.
000010: 6C 2C 63 09 09 3B 43 6F 70 79 20 62 6C 6F 63 6B l,c..;Copy block
000020: 20 74 6F 20 27 48 4C 27 0D 0A 09 6D 6F 76 09 68 to 'HL'...mov.h
000030: 2C 62 0D 0A 09 6C 64 61 09 62 73 68 69 66 74 66 ,b...lda.bshiftf
000040: 09 09 3B 47 65 74 20 42 6C 6F 63 6B 20 53 68 69 ..;Get Block Shi
000050: 66 74 20 46 61 63 74 6F 72 0D 0A 09 73 75 69 09 ft Factor...sui.
000060: 33 09 09 3B 43 6F 6E 76 65 72 74 20 66 72 6F 6D 3..;Convert from
000070: 20 72 65 63 6F 72 64 73 20 74 6F 20 74 68 6F 75 records to thou
000080: 73 61 6E 64 73 0D 0A 09 72 7A 09 09 09 3B 53 6B sands...rz...;Sk
000090: 69 70 20 73 68 69 66 74 73 20 69 66 20 31 4B 20 ip shifts if 1K
0000A0: 62 6C 6F 63 6B 73 0D 0A 64 69 72 32 32 3A 09 64 blocks..dir22:.d
0000B0: 61 64 09 68 09 09 3B 4D 75 6C 74 69 70 6C 79 20 ad.h..;Multiply
0000C0: 62 6C 6F 63 6B 73 20 62 79 20 27 4B 20 70 65 72 blocks by 'K per
0000D0: 20 42 6C 6F 63 6B 27 0D 0A 09 64 63 72 09 61 0D Block'...dcr.a.
0000E0: 0A 09 6A 6E 7A 09 64 69 72 32 32 0D 0A 09 72 65 ..jnz.dir22...re
0000F0: 74 0D 0A 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 73 65 t....;...;..;.se
000100: 6C 6D 64 6D 20 2D 20 73 65 6C 65 63 74 20 6D 6F lmdm - select mo
000110: 64 65 6D 20 70 6F 72 74 0D 0A 3B 09 73 65 6C 63 dem port..;.selc
000120: 6F 6E 20 2D 20 73 65 6C 65 63 74 20 63 6F 6E 73 on - select cons
000130: 6F 6C 65 20 70 6F 72 74 0D 0A 3B 09 73 65 6C 6D ole port..;.selm
000140: 64 6D 20 69 73 20 63 61 6C 6C 65 64 20 62 65 66 dm is called bef
000150: 6F 72 65 20 75 73 69 6E 67 20 69 6E 70 6D 64 6D ore using inpmdm
000160: 20 6F 72 20 6F 75 74 6D 64 6D 3B 0D 0A 3B 09 73 or outmdm;..;.s
000170: 65 6C 63 6F 6E 20 69 73 20 63 61 6C 6C 65 64 20 elcon is called
000180: 62 65 66 6F 72 65 20 75 73 69 6E 67 20 69 6E 70 before using inp
000190: 63 6F 6E 20 6F 72 20 6F 75 74 63 6F 6E 2E 0D 0A con or outcon...
0001A0: 3B 09 46 6F 72 20 69 6F 62 79 74 20 73 79 73 74 ;.For iobyt syst
0001B0: 65 6D 73 2C 20 64 69 64 64 6C 65 20 74 68 65 20 ems, diddle the
0001C0: 49 2F 4F 20 62 79 74 65 20 74 6F 20 73 65 6C 65 I/O byte to sele
0001D0: 63 74 20 63 6F 6E 73 6F 6C 65 20 6F 72 20 63 6F ct console or co
0001E0: 6D 6D 20 70 6F 72 74 3B 0D 0A 3B 09 46 6F 72 20 mm port;..;.For
0001F0: 44 65 63 69 73 69 6F 6E 20 49 2C 20 73 77 69 74 Decision I, swit
Size : 512 (Real : 512)
000000: 09 64 09 09 3B 20 67 65 74 20 4B 65 72 6D 69 74 .d..; get Kermit
000010: 27 73 20 76 65 72 73 69 6F 6E 0D 0A 49 46 20 4E 's version..IF N
000020: 4F 54 20 28 6F 73 69 20 4F 52 20 63 72 74 29 09 OT (osi OR crt).
000030: 09 3B 20 67 6F 74 20 63 75 72 73 6F 72 20 63 6F .; got cursor co
000040: 6E 74 72 6F 6C 3F 0D 0A 09 63 61 6C 6C 09 70 72 ntrol?...call.pr
000050: 74 73 74 72 09 09 3B 20 70 72 69 6E 74 20 69 74 tstr..; print it
000060: 0D 0A 09 6D 76 69 09 65 2C 27 5B 27 09 09 3B 20 ...mvi.e,'['..;
000070: 6F 70 65 6E 20 62 72 61 63 6B 65 74 0D 0A 09 63 open bracket...c
000080: 61 6C 6C 09 6F 75 74 63 6F 6E 09 09 3B 20 70 72 all.outcon..; pr
000090: 69 6E 74 20 69 74 20 28 63 6C 6F 73 65 20 62 72 int it (close br
0000A0: 61 63 6B 65 74 20 69 73 20 69 6E 20 6F 75 74 6C acket is in outl
0000B0: 6E 32 29 0D 0A 09 6C 78 69 09 64 2C 73 79 73 76 n2)...lxi.d,sysv
0000C0: 65 72 09 3B 20 67 65 74 20 6E 61 6D 65 20 61 6E er.; get name an
0000D0: 64 20 76 65 72 73 69 6F 6E 20 6F 66 20 73 79 73 d version of sys
0000E0: 74 65 6D 20 6D 6F 64 75 6C 65 0D 0A 09 63 61 6C tem module...cal
0000F0: 6C 09 70 72 74 73 74 72 0D 0A 09 6C 78 69 09 64 l.prtstr...lxi.d
000100: 2C 6F 75 74 6C 6E 32 09 3B 20 79 65 73 2C 20 70 ,outln2.; yes, p
000110: 72 69 6E 74 20 66 69 65 6C 64 20 6E 61 6D 65 73 rint field names
000120: 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 0D 0A ...call.prtstr..
000130: 09 6C 64 61 09 64 62 67 66 6C 67 09 09 3B 20 69 .lda.dbgflg..; i
000140: 73 20 64 65 62 75 67 67 69 6E 67 20 65 6E 61 62 s debugging enab
000150: 6C 65 64 3F 0D 0A 09 6F 72 61 09 61 0D 0A 09 72 led?...ora.a...r
000160: 7A 09 09 09 3B 20 66 69 6E 69 73 68 65 64 20 69 z...; finished i
000170: 66 20 6E 6F 20 64 65 62 75 67 67 69 6E 67 0D 0A f no debugging..
000180: 09 6C 78 69 09 64 2C 6F 75 74 6C 6E 33 09 3B 20 .lxi.d,outln3.;
000190: 73 65 74 20 75 70 20 64 65 62 75 67 67 69 6E 67 set up debugging
0001A0: 20 66 69 65 6C 64 73 0D 0A 09 63 61 6C 6C 09 70 fields...call.p
0001B0: 72 74 73 74 72 0D 0A 45 4E 44 49 46 3B 4E 4F 54 rtstr..ENDIF;NOT
0001C0: 20 28 6F 73 69 20 4F 52 20 63 72 74 29 0D 0A 09 (osi OR crt)...
0001D0: 72 65 74 0D 0A 3B 0C 0D 0A 3B 09 43 61 6C 63 75 ret..;...;.Calcu
0001E0: 6C 61 74 65 20 66 72 65 65 20 73 70 61 63 65 20 late free space
0001F0: 66 6F 72 20 63 75 72 72 65 6E 74 20 64 72 69 76 for current driv
Size : 512 (Real : 512)
000000: 63 68 65 73 20 4D 75 6C 74 69 20 49 2F 4F 20 62 ches Multi I/O b
000010: 6F 61 72 64 20 74 6F 20 63 6F 6E 73 6F 6C 65 20 oard to console
000020: 6F 72 20 6D 6F 64 65 6D 20 73 65 72 69 61 6C 0D or modem serial.
000030: 0A 3B 09 70 6F 72 74 2E 20 20 5B 54 6F 61 64 20 .;.port. [Toad
000040: 48 61 6C 6C 5D 0D 0A 3B 09 46 6F 72 20 74 68 65 Hall]..;.For the
000050: 20 72 65 73 74 2C 20 64 6F 65 73 20 6E 6F 74 68 rest, does noth
000060: 69 6E 67 2E 0D 0A 3B 09 70 72 65 73 65 72 76 65 ing...;.preserve
000070: 73 20 62 63 2C 20 64 65 2C 20 68 6C 2E 0D 0A 73 s bc, de, hl...s
000080: 65 6C 6D 64 6D 3A 0D 0A 49 46 20 69 6F 62 79 74 elmdm:..IF iobyt
000090: 0D 0A 09 6C 64 61 09 70 72 74 69 6F 62 09 09 3B ...lda.prtiob..;
0000A0: 53 65 74 20 75 70 20 66 6F 72 20 6F 75 74 70 75 Set up for outpu
0000B0: 74 20 74 6F 20 67 6F 20 74 6F 20 74 68 65 20 63 t to go to the c
0000C0: 6F 6D 6D 20 70 6F 72 74 0D 0A 09 73 74 61 09 69 omm port...sta.i
0000D0: 6F 62 79 74 65 09 09 3B 53 77 69 74 63 68 20 62 obyte..;Switch b
0000E0: 79 74 65 20 64 69 72 65 63 74 6C 79 0D 0A 45 4E yte directly..EN
0000F0: 44 49 46 3B 69 6F 62 79 74 0D 0A 0D 0A 49 46 20 DIF;iobyt....IF
000100: 6D 64 49 0D 0A 09 6C 64 61 09 67 72 6F 75 70 0D mdI...lda.group.
000110: 0A 09 6F 72 69 09 6D 64 6D 67 72 70 09 09 3B 4D ..ori.mdmgrp..;M
000120: 61 73 6B 20 6D 6F 64 65 6D 20 73 65 72 69 61 6C ask modem serial
000130: 20 70 6F 72 74 0D 0A 09 6F 75 74 09 67 72 70 73 port...out.grps
000140: 65 6C 0D 0A 45 4E 44 49 46 3B 6D 64 49 20 20 5B el..ENDIF;mdI [
000150: 54 6F 61 64 20 48 61 6C 6C 5D 0D 0A 0D 0A 09 72 Toad Hall].....r
000160: 65 74 0D 0A 0D 0A 73 65 6C 63 6F 6E 3A 0D 0A 49 et....selcon:..I
000170: 46 20 69 6F 62 79 74 0D 0A 09 6C 64 61 09 63 6F F iobyt...lda.co
000180: 6E 69 6F 62 09 09 3B 53 65 74 20 75 70 20 66 6F niob..;Set up fo
000190: 72 20 6F 75 74 70 75 74 20 74 6F 20 67 6F 20 74 r output to go t
0001A0: 6F 20 74 68 65 20 63 6F 6E 73 6F 6C 65 20 70 6F o the console po
0001B0: 72 74 0D 0A 09 73 74 61 09 69 6F 62 79 74 65 09 rt...sta.iobyte.
0001C0: 09 3B 53 77 69 74 63 68 20 64 69 72 65 63 74 6C .;Switch directl
0001D0: 79 0D 0A 45 4E 44 49 46 3B 69 6F 62 79 74 0D 0A y..ENDIF;iobyt..
0001E0: 0D 0A 49 46 20 6D 64 49 0D 0A 09 6C 64 61 09 67 ..IF mdI...lda.g
0001F0: 72 6F 75 70 0D 0A 09 6F 72 69 09 63 6F 6E 67 72 roup...ori.congr
Size : 512 (Real : 512)
000000: 65 0D 0A 3B 09 72 65 74 75 72 6E 73 20 76 61 6C e..;.returns val
000010: 75 65 20 69 6E 20 48 4C 0D 0A 73 79 73 73 70 63 ue in HL..sysspc
000020: 3A 0D 0A 09 6C 64 61 09 62 64 6F 73 76 72 09 09 :...lda.bdosvr..
000030: 3B 63 70 6D 33 27 73 20 61 6C 6C 6F 63 20 76 65 ;cpm3's alloc ve
000040: 63 74 20 6D 61 79 20 62 65 20 69 6E 20 61 6E 6F ct may be in ano
000050: 74 68 65 72 20 62 61 6E 6B 0D 0A 09 63 70 69 09 ther bank...cpi.
000060: 33 30 48 09 09 3B 63 70 6D 33 20 6F 72 20 6C 61 30H..;cpm3 or la
000070: 74 65 72 3F 0D 0A 09 6A 6D 09 63 70 32 73 70 63 ter?...jm.cp2spc
000080: 09 09 3B 6E 6F 3A 20 75 73 65 20 63 70 2F 6D 20 ..;no: use cp/m
000090: 32 20 61 6C 67 6F 72 69 74 68 6D 0D 0A 09 6C 64 2 algorithm...ld
0000A0: 61 09 66 63 62 09 09 3B 49 66 20 6E 6F 20 64 72 a.fcb..;If no dr
0000B0: 69 76 65 2C 20 67 65 74 0D 0A 09 6F 72 61 09 61 ive, get...ora.a
0000C0: 09 09 3B 20 6C 6F 67 67 65 64 20 69 6E 20 64 72 ..; logged in dr
0000D0: 69 76 65 0D 0A 09 6A 7A 09 64 69 72 31 38 30 0D ive...jz.dir180.
0000E0: 0A 09 64 63 72 09 61 09 09 3B 46 43 42 20 64 72 ..dcr.a..;FCB dr
0000F0: 69 76 65 20 41 3D 31 20 6E 6F 72 6D 61 6C 69 7A ive A=1 normaliz
000100: 65 20 74 6F 20 62 65 20 41 3D 30 0D 0A 09 6A 6D e to be A=0...jm
000110: 70 09 64 69 72 31 38 61 0D 0A 0D 0A 64 69 72 31 p.dir18a....dir1
000120: 38 30 3A 09 6D 76 69 09 63 2C 72 64 64 72 76 0D 80:.mvi.c,rddrv.
000130: 0A 09 63 61 6C 6C 09 62 64 6F 73 0D 0A 64 69 72 ..call.bdos..dir
000140: 31 38 61 3A 09 6D 6F 76 09 65 2C 61 09 09 3B 64 18a:.mov.e,a..;d
000150: 72 69 76 65 20 69 6E 20 65 0D 0A 09 6D 76 69 09 rive in e...mvi.
000160: 63 2C 67 65 74 66 73 09 09 3B 67 65 74 20 66 72 c,getfs..;get fr
000170: 65 65 20 73 70 61 63 65 20 42 44 4F 53 20 66 75 ee space BDOS fu
000180: 6E 63 74 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 nct...call.bdos.
000190: 09 3B 72 65 74 75 72 6E 73 20 66 72 65 65 20 72 .;returns free r
0001A0: 65 63 73 20 28 33 20 62 79 74 65 73 20 69 6E 20 ecs (3 bytes in
0001B0: 62 75 66 66 2E 2E 62 75 66 66 2B 32 29 0D 0A 09 buff..buff+2)...
0001C0: 6D 76 69 09 62 2C 33 09 09 3B 63 6F 6E 76 20 72 mvi.b,3..;conv r
0001D0: 65 63 73 20 74 6F 20 4B 20 62 79 20 33 20 62 69 ecs to K by 3 bi
0001E0: 74 20 73 68 69 66 74 0D 0A 64 69 72 31 38 62 3A t shift..dir18b:
0001F0: 09 78 72 61 09 61 09 09 3B 63 6C 65 61 72 20 63 .xra.a..;clear c
Size : 512 (Real : 512)
000000: 70 09 09 3B 4D 61 73 6B 20 63 6F 6E 73 6F 6C 65 p..;Mask console
000010: 20 73 65 72 69 61 6C 20 70 6F 72 74 20 28 31 29 serial port (1)
000020: 0D 0A 09 6F 75 74 09 67 72 70 73 65 6C 0D 0A 45 ...out.grpsel..E
000030: 4E 44 49 46 3B 6D 64 49 20 20 5B 54 6F 61 64 20 NDIF;mdI [Toad
000040: 48 61 6C 6C 5D 0D 0A 0D 0A 09 72 65 74 0D 0A 3B Hall].....ret..;
000050: 0C 0D 0A 3B 09 47 65 74 20 63 68 61 72 61 63 74 ...;.Get charact
000060: 65 72 20 66 72 6F 6D 20 63 6F 6E 73 6F 6C 65 2C er from console,
000070: 20 6F 72 20 72 65 74 75 72 6E 20 7A 65 72 6F 2E or return zero.
000080: 0D 0A 3B 09 72 65 73 75 6C 74 20 69 73 20 72 65 ..;.result is re
000090: 74 75 72 6E 65 64 20 69 6E 20 41 2E 20 20 64 65 turned in A. de
0000A0: 73 74 72 6F 79 73 20 62 63 2C 20 64 65 2C 20 68 stroys bc, de, h
0000B0: 6C 2E 0D 0A 3B 0D 0A 69 6E 70 63 6F 6E 3A 0D 0A l...;..inpcon:..
0000C0: 49 46 20 4E 4F 54 20 69 6F 62 79 74 0D 0A 09 6D IF NOT iobyt...m
0000D0: 76 69 09 63 2C 64 63 6F 6E 69 6F 09 3B 44 69 72 vi.c,dconio.;Dir
0000E0: 65 63 74 20 63 6F 6E 73 6F 6C 65 20 49 2F 4F 20 ect console I/O
0000F0: 42 44 4F 53 20 63 61 6C 6C 2E 0D 0A 09 6D 76 69 BDOS call....mvi
000100: 09 65 2C 30 46 46 48 09 09 3B 49 6E 70 75 74 2E .e,0FFH..;Input.
000110: 0D 0A 09 63 61 6C 6C 09 42 44 4F 53 0D 0A 45 4E ...call.BDOS..EN
000120: 44 49 46 3B 4E 4F 54 20 69 6F 62 79 74 0D 0A 0D DIF;NOT iobyt...
000130: 0A 49 46 20 69 6F 62 79 74 0D 0A 09 63 61 6C 6C .IF iobyt...call
000140: 09 62 63 6F 6E 73 74 09 09 3B 47 65 74 20 74 68 .bconst..;Get th
000150: 65 20 73 74 61 74 75 73 0D 0A 09 6F 72 61 09 61 e status...ora.a
000160: 09 09 3B 41 6E 79 74 68 69 6E 67 20 74 68 65 72 ..;Anything ther
000170: 65 3F 0D 0A 09 72 7A 09 09 09 3B 4E 6F 2C 20 66 e?...rz...;No, f
000180: 6F 72 67 65 74 20 69 74 0D 0A 09 63 61 6C 6C 09 orget it...call.
000190: 62 63 6F 6E 69 6E 09 09 3B 59 65 73 2C 20 67 65 bconin..;Yes, ge
0001A0: 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 0D t the character.
0001B0: 0A 45 4E 44 49 46 3B 69 6F 62 79 74 0D 0A 09 72 .ENDIF;iobyt...r
0001C0: 65 74 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 4F 75 74 et..;...;..;.Out
0001D0: 70 75 74 20 63 68 61 72 61 63 74 65 72 20 69 6E put character in
0001E0: 20 45 20 74 6F 20 74 68 65 20 63 6F 6E 73 6F 6C E to the consol
0001F0: 65 2E 0D 0A 3B 09 64 65 73 74 72 6F 79 73 20 62 e...;.destroys b
Size : 512 (Real : 512)
000000: 72 6E 2E 0D 0A 69 6E 70 6D 64 32 3A 09 6C 64 61 rn...inpmd2:.lda
000010: 09 6D 6E 70 6F 72 74 09 09 3B 49 66 20 73 6F 2C .mnport..;If so,
000020: 20 67 65 74 20 74 68 65 20 63 68 61 72 2E 0D 0A get the char...
000030: 45 4E 44 49 46 3B 6F 73 69 20 4F 52 20 61 70 70 ENDIF;osi OR app
000040: 6C 65 0D 0A 0D 0A 49 46 20 6F 73 62 72 6E 31 0D le....IF osbrn1.
000050: 0A 09 63 61 6C 6C 09 6F 73 6C 64 73 74 09 09 3B ..call.osldst..;
000060: 52 65 61 64 20 74 68 65 20 73 74 61 74 75 73 20 Read the status
000070: 70 6F 72 74 0D 0A 09 61 6E 69 09 69 6E 70 75 74 port...ani.input
000080: 09 09 3B 53 6F 6D 65 74 68 69 6E 67 20 74 68 65 ..;Something the
000090: 72 65 3F 0D 0A 09 72 7A 09 09 09 3B 4E 6F 70 65 re?...rz...;Nope
0000A0: 0D 0A 09 63 61 6C 6C 09 6F 73 6C 64 64 61 09 09 ...call.osldda..
0000B0: 3B 52 65 61 64 20 74 68 65 20 64 61 74 61 20 70 ;Read the data p
0000C0: 6F 72 74 0D 0A 45 4E 44 49 46 3B 6F 73 62 72 6E ort..ENDIF;osbrn
0000D0: 31 0D 0A 0D 0A 49 46 20 69 6E 6F 75 74 0D 0A 3B 1....IF inout..;
0000E0: 4E 6F 74 65 3A 20 6D 6F 64 65 6D 20 70 6F 72 74 Note: modem port
0000F0: 20 73 68 6F 75 6C 64 20 61 6C 72 65 61 64 79 20 should already
000100: 62 65 20 73 65 6C 65 63 74 65 64 20 66 6F 72 20 be selected for
000110: 6D 64 49 2E 20 20 5B 54 6F 61 64 20 48 61 6C 6C mdI. [Toad Hall
000120: 5D 0D 0A 09 69 6E 09 6D 6E 70 72 74 73 09 09 3B ]...in.mnprts..;
000130: 47 65 74 20 74 68 65 20 70 6F 72 74 20 73 74 61 Get the port sta
000140: 74 75 73 20 69 6E 74 6F 20 41 2E 0D 0A 09 61 6E tus into A....an
000150: 69 09 69 6E 70 75 74 09 09 3B 53 65 65 20 69 66 i.input..;See if
000160: 20 74 68 65 20 69 6E 70 75 74 20 72 65 61 64 79 the input ready
000170: 20 62 69 74 20 69 73 20 6F 6E 2E 0D 0A 09 72 7A bit is on....rz
000180: 09 09 09 3B 49 66 20 6E 6F 74 20 74 68 65 6E 20 ...;If not then
000190: 72 65 74 75 72 6E 2E 0D 0A 09 69 6E 09 6D 6E 70 return....in.mnp
0001A0: 6F 72 74 09 09 3B 49 66 20 73 6F 2C 20 67 65 74 ort..;If so, get
0001B0: 20 74 68 65 20 63 68 61 72 2E 0D 0A 45 4E 44 49 the char...ENDI
0001C0: 46 3B 69 6E 6F 75 74 0D 0A 09 72 65 74 09 09 09 F;inout...ret...
0001D0: 3B 20 72 65 74 75 72 6E 20 77 69 74 68 20 63 68 ; return with ch
0001E0: 61 72 61 63 74 65 72 20 69 6E 20 41 0D 0A 0D 0A aracter in A....
0001F0: 3B 0D 0A 3B 09 66 6C 73 6D 64 6D 20 2D 20 66 6C ;..;.flsmdm - fl
Size : 512 (Real : 512)
000000: 63 2C 20 64 65 2C 20 68 6C 0D 0A 3B 0D 0A 6F 75 c, de, hl..;..ou
000010: 74 63 6F 6E 3A 0D 0A 49 46 20 4E 4F 54 20 69 6F tcon:..IF NOT io
000020: 62 79 74 0D 0A 09 6D 76 69 09 63 2C 64 63 6F 6E byt...mvi.c,dcon
000030: 69 6F 09 3B 43 6F 6E 73 6F 6C 65 20 6F 75 74 70 io.;Console outp
000040: 75 74 20 62 64 6F 73 20 63 61 6C 6C 2E 0D 0A 09 ut bdos call....
000050: 63 61 6C 6C 09 62 64 6F 73 09 09 3B 4F 75 74 70 call.bdos..;Outp
000060: 75 74 20 74 68 65 20 63 68 61 72 20 74 6F 20 74 ut the char to t
000070: 68 65 20 63 6F 6E 73 6F 6C 65 2E 0D 0A 45 4E 44 he console...END
000080: 49 46 3B 4E 4F 54 20 69 6F 62 79 74 0D 0A 0D 0A IF;NOT iobyt....
000090: 49 46 20 69 6F 62 79 74 0D 0A 09 6D 6F 76 09 63 IF iobyt...mov.c
0000A0: 2C 65 09 09 3B 43 68 61 72 61 63 74 65 72 0D 0A ,e..;Character..
0000B0: 09 63 61 6C 6C 09 62 63 6E 6F 75 74 09 09 3B 74 .call.bcnout..;t
0000C0: 6F 20 43 6F 6E 73 6F 6C 65 0D 0A 45 4E 44 49 46 o Console..ENDIF
0000D0: 3B 69 6F 62 79 74 0D 0A 09 72 65 74 0D 0A 3B 0C ;iobyt...ret..;.
0000E0: 0D 0A 3B 0D 0A 3B 09 6F 75 74 6D 64 6D 20 2D 20 ..;..;.outmdm -
0000F0: 6F 75 74 70 75 74 20 61 20 63 68 61 72 20 66 72 output a char fr
000100: 6F 6D 20 45 20 74 6F 20 74 68 65 20 6D 6F 64 65 om E to the mode
000110: 6D 2E 0D 0A 3B 09 09 74 68 65 20 70 61 72 69 74 m...;..the parit
000120: 79 20 62 69 74 20 68 61 73 20 62 65 65 6E 20 73 y bit has been s
000130: 65 74 20 61 73 20 6E 65 63 65 73 73 61 72 79 2E et as necessary.
000140: 0D 0A 3B 09 72 65 74 75 72 6E 73 20 6E 6F 6E 73 ..;.returns nons
000150: 6B 69 70 3B 20 62 63 2C 20 64 65 2C 20 68 6C 20 kip; bc, de, hl
000160: 70 72 65 73 65 72 76 65 64 2E 0D 0A 6F 75 74 6D preserved...outm
000170: 64 6D 3A 0D 0A 49 46 20 6F 73 69 20 4F 52 20 61 dm:..IF osi OR a
000180: 70 70 6C 65 20 4F 52 20 6C 6F 62 6F 09 09 3B 5B pple OR lobo..;[
000190: 68 68 5D 0D 0A 09 70 75 73 68 09 68 0D 0A 6F 75 hh]...push.h..ou
0001A0: 74 6D 64 31 3A 09 6C 78 69 09 68 2C 6D 6E 70 72 tmd1:.lxi.h,mnpr
0001B0: 74 73 09 3B 61 64 64 72 65 73 73 20 6F 66 20 74 ts.;address of t
0001C0: 68 65 20 70 6F 72 74 20 73 74 61 74 75 73 20 72 he port status r
0001D0: 65 67 69 73 74 65 72 0D 0A 6F 75 74 6D 64 32 3A egister..outmd2:
0001E0: 09 6D 6F 76 09 61 2C 6D 09 09 3B 20 67 65 74 20 .mov.a,m..; get
0001F0: 70 6F 72 74 20 73 74 61 74 75 73 20 69 6E 20 41 port status in A
Size : 512 (Real : 512)
000000: 75 73 68 20 63 6F 6D 6D 20 6C 69 6E 65 2E 0D 0A ush comm line...
000010: 3B 09 4D 6F 64 65 6D 20 69 73 20 73 65 6C 65 63 ;.Modem is selec
000020: 74 65 64 2E 0D 0A 3B 09 43 75 72 72 65 6E 74 6C ted...;.Currentl
000030: 79 2C 20 6A 75 73 74 20 67 65 74 73 20 63 68 61 y, just gets cha
000040: 72 61 63 74 65 72 73 20 75 6E 74 69 6C 20 6E 6F racters until no
000050: 6E 65 20 61 72 65 20 61 76 61 69 6C 61 62 6C 65 ne are available
000060: 2E 0D 0A 0D 0A 66 6C 73 6D 64 6D 3A 09 63 61 6C .....flsmdm:.cal
000070: 6C 09 69 6E 70 6D 64 6D 09 09 3B 20 54 72 79 20 l.inpmdm..; Try
000080: 74 6F 20 67 65 74 20 61 20 63 68 61 72 61 63 74 to get a charact
000090: 65 72 0D 0A 09 6F 72 61 09 61 09 09 3B 20 47 6F er...ora.a..; Go
0000A0: 74 20 6F 6E 65 3F 0D 0A 09 6A 6E 7A 09 66 6C 73 t one?...jnz.fls
0000B0: 6D 64 6D 09 09 3B 20 49 66 20 73 6F 2C 20 74 72 mdm..; If so, tr
0000C0: 79 20 66 6F 72 20 61 6E 6F 74 68 65 72 0D 0A 09 y for another...
0000D0: 72 65 74 09 09 09 3B 20 52 65 63 65 69 76 65 72 ret...; Receiver
0000E0: 20 69 73 20 64 72 61 69 6E 65 64 2E 20 20 52 65 is drained. Re
0000F0: 74 75 72 6E 2E 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 turn...;...;..;.
000100: 6F 75 74 6C 70 74 20 2D 20 6F 75 74 70 75 74 20 outlpt - output
000110: 63 68 61 72 61 63 74 65 72 20 69 6E 20 45 20 74 character in E t
000120: 6F 20 70 72 69 6E 74 65 72 0D 0A 3B 09 63 6F 6E o printer..;.con
000130: 73 6F 6C 65 20 69 73 20 73 65 6C 65 63 74 65 64 sole is selected
000140: 2E 0D 0A 3B 09 70 72 65 73 65 72 76 65 73 20 64 ...;.preserves d
000150: 65 2E 0D 0A 6F 75 74 6C 70 74 3A 0D 0A 09 70 75 e...outlpt:...pu
000160: 73 68 09 64 09 09 3B 20 73 61 76 65 20 44 45 20 sh.d..; save DE
000170: 69 6E 20 65 69 74 68 65 72 20 63 61 73 65 0D 0A in either case..
000180: 0D 0A 49 46 20 4E 4F 54 20 69 6F 62 79 74 0D 0A ..IF NOT iobyt..
000190: 09 6D 76 69 09 63 2C 6C 73 74 6F 75 74 0D 0A 09 .mvi.c,lstout...
0001A0: 63 61 6C 6C 09 62 64 6F 73 09 09 3B 43 68 61 72 call.bdos..;Char
0001B0: 20 74 6F 20 70 72 69 6E 74 65 72 0D 0A 45 4E 44 to printer..END
0001C0: 49 46 3B 4E 4F 54 20 69 6F 62 79 74 0D 0A 49 46 IF;NOT iobyt..IF
0001D0: 20 69 6F 62 79 74 0D 0A 09 6D 6F 76 09 63 2C 65 iobyt...mov.c,e
0001E0: 0D 0A 09 63 61 6C 6C 09 62 6C 73 6F 75 74 0D 0A ...call.blsout..
0001F0: 45 4E 44 49 46 3B 69 6F 62 79 74 0D 0A 0D 0A 09 ENDIF;iobyt.....
Size : 512 (Real : 512)
000000: 0D 0A 09 61 6E 69 09 6F 75 74 70 75 74 09 09 3B ...ani.output..;
000010: 4C 6F 6F 70 20 74 69 6C 6C 20 72 65 61 64 79 2E Loop till ready.
000020: 0D 0A 09 6A 7A 09 6F 75 74 6D 64 32 0D 0A 6F 75 ...jz.outmd2..ou
000030: 74 6D 64 33 3A 09 6C 78 69 09 68 2C 6D 6E 70 6F tmd3:.lxi.h,mnpo
000040: 72 74 09 3B 61 64 64 72 65 73 73 20 6F 66 20 70 rt.;address of p
000050: 6F 72 74 20 64 61 74 61 20 72 65 67 69 73 74 65 ort data registe
000060: 72 0D 0A 09 6D 6F 76 09 6D 2C 65 09 09 3B 20 77 r...mov.m,e..; w
000070: 72 69 74 65 20 74 68 65 20 63 68 61 72 61 63 74 rite the charact
000080: 65 72 0D 0A 09 70 6F 70 09 68 0D 0A 09 72 65 74 er...pop.h...ret
000090: 0D 0A 45 4E 44 49 46 3B 6F 73 69 20 4F 52 20 61 ..ENDIF;osi OR a
0000A0: 70 70 6C 65 20 4F 52 20 6C 6F 62 6F 0D 0A 0D 0A pple OR lobo....
0000B0: 49 46 20 6F 73 62 72 6E 31 0D 0A 09 63 61 6C 6C IF osbrn1...call
0000C0: 09 6F 73 6C 64 73 74 09 09 3B 52 65 61 64 20 74 .osldst..;Read t
0000D0: 68 65 20 73 74 61 74 75 73 20 70 6F 72 74 0D 0A he status port..
0000E0: 09 61 6E 69 09 6F 75 74 70 75 74 09 09 3B 4C 6F .ani.output..;Lo
0000F0: 6F 70 20 74 69 6C 6C 20 72 65 61 64 79 2E 0D 0A op till ready...
000100: 09 6A 7A 09 6F 75 74 6D 64 6D 0D 0A 09 6D 6F 76 .jz.outmdm...mov
000110: 09 61 2C 65 0D 0A 09 6A 6D 70 09 6F 73 73 74 64 .a,e...jmp.osstd
000120: 61 09 09 3B 57 72 69 74 65 20 74 6F 20 74 68 65 a..;Write to the
000130: 20 64 61 74 61 20 70 6F 72 74 0D 0A 45 4E 44 49 data port..ENDI
000140: 46 3B 6F 73 62 72 6E 31 0D 0A 0D 0A 49 46 20 69 F;osbrn1....IF i
000150: 6E 6F 75 74 0D 0A 09 69 6E 09 6D 6E 70 72 74 73 nout...in.mnprts
000160: 09 09 3B 47 65 74 20 74 68 65 20 6F 75 74 70 75 ..;Get the outpu
000170: 74 20 64 6F 6E 65 20 66 6C 61 67 2E 0D 0A 09 61 t done flag....a
000180: 6E 69 09 6F 75 74 70 75 74 09 09 3B 49 73 20 69 ni.output..;Is i
000190: 74 20 73 65 74 3F 0D 0A 09 6A 7A 09 6F 75 74 6D t set?...jz.outm
0001A0: 64 6D 09 09 3B 49 66 20 6E 6F 74 2C 20 6C 6F 6F dm..;If not, loo
0001B0: 70 20 75 6E 74 69 6C 20 69 74 20 69 73 2E 0D 0A p until it is...
0001C0: 09 6D 6F 76 09 61 2C 65 0D 0A 09 6F 75 74 09 6D .mov.a,e...out.m
0001D0: 6E 70 6F 72 74 09 09 3B 4F 75 74 70 75 74 20 69 nport..;Output i
0001E0: 74 2E 0D 0A 09 72 65 74 0D 0A 45 4E 44 49 46 3B t....ret..ENDIF;
0001F0: 69 6E 6F 75 74 0D 0A 0D 0A 49 46 20 69 6F 62 79 inout....IF ioby
Size : 512 (Real : 512)
000000: 70 6F 70 09 64 09 09 3B 20 72 65 73 74 6F 72 65 pop.d..; restore
000010: 20 73 61 76 65 64 20 72 65 67 69 73 74 65 72 20 saved register
000020: 70 61 69 72 0D 0A 09 72 65 74 0D 0A 3B 0C 0D 0A pair...ret..;...
000030: 3B 0D 0A 3B 09 53 63 72 65 65 6E 20 6D 61 6E 69 ;..;.Screen mani
000040: 70 75 6C 61 74 69 6F 6E 20 72 6F 75 74 69 6E 65 pulation routine
000050: 73 0D 0A 3B 09 63 73 72 70 6F 73 20 2D 20 6D 6F s..;.csrpos - mo
000060: 76 65 20 74 6F 20 72 6F 77 20 42 2C 20 63 6F 6C ve to row B, col
000070: 75 6D 6E 20 43 0D 0A 3B 0D 0A 3B 09 63 73 72 70 umn C..;..;.csrp
000080: 6F 73 20 66 6F 72 20 74 65 72 6D 69 6E 61 6C 73 os for terminals
000090: 20 74 68 61 74 20 75 73 65 20 61 20 6C 65 61 64 that use a lead
0000A0: 69 6E 20 73 65 71 75 65 6E 63 65 20 66 6F 6C 6C in sequence foll
0000B0: 6F 77 65 64 0D 0A 3B 09 20 62 79 20 28 72 6F 77 owed..;. by (row
0000C0: 20 2B 20 33 31 2E 29 20 61 6E 64 20 28 63 6F 6C + 31.) and (col
0000D0: 75 6D 6E 20 2B 20 33 31 2E 29 0D 0A 3B 0D 0A 49 umn + 31.)..;..I
0000E0: 46 20 4E 4F 54 20 28 72 6F 62 69 6E 20 4F 52 20 F NOT (robin OR
0000F0: 64 6D 49 49 20 4F 52 20 76 74 31 30 30 20 4F 52 dmII OR vt100 OR
000100: 20 6F 73 69 20 4F 52 20 63 72 74 20 4F 52 20 76 osi OR crt OR v
000110: 65 63 74 6F 72 29 0D 0A 63 73 72 70 6F 73 3A 09 ector)..csrpos:.
000120: 70 75 73 68 09 62 09 09 3B 20 73 61 76 65 20 63 push.b..; save c
000130: 6F 6F 72 64 69 6E 61 74 65 73 0D 0A 09 6C 78 69 oordinates...lxi
000140: 09 64 2C 63 75 72 6C 64 6E 09 3B 20 67 65 74 20 .d,curldn.; get
000150: 63 75 72 73 6F 72 20 6C 65 61 64 69 6E 20 73 65 cursor leadin se
000160: 71 75 65 6E 63 65 0D 0A 09 63 61 6C 6C 09 70 72 quence...call.pr
000170: 74 73 74 72 09 09 3B 20 70 72 69 6E 74 20 69 74 tstr..; print it
000180: 0D 0A 09 70 6F 70 09 68 09 09 3B 20 72 65 73 74 ...pop.h..; rest
000190: 6F 72 65 20 63 6F 6F 72 64 69 6E 61 74 65 73 0D ore coordinates.
0001A0: 0A 09 6D 6F 76 09 61 2C 68 09 09 3B 20 67 65 74 ..mov.a,h..; get
0001B0: 20 72 6F 77 0D 0A 09 61 64 69 09 28 27 20 27 2D row...adi.(' '-
0001C0: 31 29 09 09 3B 20 73 70 61 63 65 20 69 73 20 72 1)..; space is r
0001D0: 6F 77 20 6F 6E 65 0D 0A 09 6D 6F 76 09 65 2C 61 ow one...mov.e,a
0001E0: 0D 0A 09 70 75 73 68 09 68 0D 0A 09 63 61 6C 6C ...push.h...call
0001F0: 09 6F 75 74 63 6F 6E 09 09 3B 20 6F 75 74 70 75 .outcon..; outpu
Size : 512 (Real : 512)
000000: 74 0D 0A 3B 2A 2A 2A 2A 20 4E 6F 74 65 20 74 68 t..;**** Note th
000010: 61 74 20 77 65 20 65 6E 74 65 72 20 66 72 6F 6D at we enter from
000020: 20 6F 75 74 70 6B 74 20 77 69 74 68 20 74 68 65 outpkt with the
000030: 20 49 2F 4F 20 62 79 74 65 20 61 6C 72 65 61 64 I/O byte alread
000040: 79 20 73 65 74 20 75 70 20 66 6F 72 0D 0A 3B 20 y set up for..;
000050: 20 6F 75 74 70 75 74 20 74 6F 20 67 6F 20 74 6F output to go to
000060: 20 74 68 65 20 63 6F 6D 6D 20 70 6F 72 74 0D 0A the comm port..
000070: 09 70 75 73 68 09 68 0D 0A 09 70 75 73 68 09 62 .push.h...push.b
000080: 0D 0A 09 6C 64 61 09 70 72 74 66 75 6E 09 09 3B ...lda.prtfun..;
000090: 47 65 74 20 74 68 65 20 6F 75 74 70 75 74 20 66 Get the output f
0000A0: 75 6E 63 74 69 6F 6E 0D 0A 09 6D 6F 76 09 63 2C unction...mov.c,
0000B0: 61 09 09 3B 49 6E 74 6F 20 43 0D 0A 09 63 61 6C a..;Into C...cal
0000C0: 6C 09 62 64 6F 73 09 09 3B 41 6E 64 20 6F 75 74 l.bdos..;And out
0000D0: 70 75 74 20 74 68 65 20 63 68 61 72 61 63 74 65 put the characte
0000E0: 72 0D 0A 09 70 6F 70 09 62 0D 0A 09 70 6F 70 09 r...pop.b...pop.
0000F0: 68 0D 0A 09 72 65 74 0D 0A 45 4E 44 49 46 3B 69 h...ret..ENDIF;i
000100: 6F 62 79 74 0D 0A 0D 0A 49 46 20 63 70 6D 33 0D obyt....IF cpm3.
000110: 0A 09 70 75 73 68 09 68 0D 0A 09 70 75 73 68 09 ..push.h...push.
000120: 62 0D 0A 09 6D 76 69 09 63 2C 61 75 78 6F 75 74 b...mvi.c,auxout
000130: 09 3B 4F 75 74 70 75 74 20 74 6F 20 74 68 65 20 .;Output to the
000140: 61 75 78 20 6F 75 74 70 75 74 20 64 65 76 69 63 aux output devic
000150: 65 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 0D 0A 09 e...call.bdos...
000160: 70 6F 70 09 62 0D 0A 09 70 6F 70 09 68 0D 0A 09 pop.b...pop.h...
000170: 72 65 74 0D 0A 45 4E 44 49 46 3B 63 70 6D 33 0D ret..ENDIF;cpm3.
000180: 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 67 65 74 20 63 68 .;...;..;.get ch
000190: 61 72 61 63 74 65 72 20 66 72 6F 6D 20 6D 6F 64 aracter from mod
0001A0: 65 6D 3B 20 72 65 74 75 72 6E 20 7A 65 72 6F 20 em; return zero
0001B0: 69 66 20 6E 6F 6E 65 20 61 76 61 69 6C 61 62 6C if none availabl
0001C0: 65 2E 0D 0A 3B 09 66 6F 72 20 49 4F 42 59 54 20 e...;.for IOBYT
0001D0: 73 79 73 74 65 6D 73 2C 20 74 68 65 20 6D 6F 64 systems, the mod
0001E0: 65 6D 20 70 6F 72 74 20 68 61 73 20 61 6C 72 65 em port has alre
0001F0: 61 64 79 20 62 65 65 6E 20 73 65 6C 65 63 74 65 ady been selecte
Size : 512 (Real : 512)
000000: 74 20 72 6F 77 0D 0A 09 70 6F 70 09 68 0D 0A 09 t row...pop.h...
000010: 6D 6F 76 09 61 2C 6C 09 09 3B 20 67 65 74 20 63 mov.a,l..; get c
000020: 6F 6C 75 6D 6E 0D 0A 09 61 64 69 09 28 27 20 27 olumn...adi.(' '
000030: 2D 31 29 09 09 3B 20 73 70 61 63 65 20 69 73 20 -1)..; space is
000040: 63 6F 6C 75 6D 6E 20 6F 6E 65 0D 0A 09 6D 6F 76 column one...mov
000050: 09 65 2C 61 0D 0A 09 6A 6D 70 09 6F 75 74 63 6F .e,a...jmp.outco
000060: 6E 09 09 3B 20 6F 75 74 70 75 74 20 69 74 20 61 n..; output it a
000070: 6E 64 20 72 65 74 75 72 6E 0D 0A 45 4E 44 49 46 nd return..ENDIF
000080: 3B 4E 4F 54 20 28 72 6F 62 69 6E 20 4F 52 20 64 ;NOT (robin OR d
000090: 6D 49 49 20 4F 52 20 76 74 31 30 30 20 4F 52 20 mII OR vt100 OR
0000A0: 6F 73 69 20 4F 52 20 63 72 74 20 4F 52 20 76 65 osi OR crt OR ve
0000B0: 63 74 6F 72 29 0D 0A 3B 0D 0A 3B 09 63 73 72 70 ctor)..;..;.csrp
0000C0: 6F 73 20 66 6F 72 20 41 4E 53 49 20 74 65 72 6D os for ANSI term
0000D0: 69 6E 61 6C 73 0D 0A 3B 0D 0A 49 46 20 72 6F 62 inals..;..IF rob
0000E0: 69 6E 20 4F 52 20 64 6D 49 49 20 4F 52 20 76 74 in OR dmII OR vt
0000F0: 31 30 30 0D 0A 63 73 72 70 6F 73 3A 09 70 75 73 100..csrpos:.pus
000100: 68 09 62 09 09 3B 20 73 61 76 65 20 63 6F 6F 72 h.b..; save coor
000110: 64 69 6E 61 74 65 73 0D 0A 09 6C 78 69 09 64 2C dinates...lxi.d,
000120: 63 75 72 6C 64 6E 09 3B 20 67 65 74 20 63 75 72 curldn.; get cur
000130: 73 6F 72 20 6C 65 61 64 69 6E 20 73 65 71 75 65 sor leadin seque
000140: 6E 63 65 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 nce...call.prtst
000150: 72 09 09 3B 20 70 72 69 6E 74 20 69 74 0D 0A 09 r..; print it...
000160: 70 6F 70 09 68 09 09 3B 20 70 65 65 6B 20 61 74 pop.h..; peek at
000170: 20 63 6F 6F 72 64 69 6E 61 74 65 73 0D 0A 09 70 coordinates...p
000180: 75 73 68 09 68 09 09 3B 20 20 74 68 65 6E 20 73 ush.h..; then s
000190: 61 76 65 20 61 77 61 79 20 61 67 61 69 6E 0D 0A ave away again..
0001A0: 09 6D 6F 76 09 6C 2C 68 09 09 3B 20 6C 20 3D 20 .mov.l,h..; l =
0001B0: 72 6F 77 0D 0A 09 6D 76 69 09 68 2C 30 09 09 3B row...mvi.h,0..;
0001C0: 20 68 6C 20 3D 20 72 6F 77 0D 0A 09 63 61 6C 6C hl = row...call
0001D0: 09 6E 6F 75 74 09 09 3B 20 6F 75 74 70 75 74 20 .nout..; output
0001E0: 69 6E 20 64 65 63 69 6D 61 6C 0D 0A 09 6D 76 69 in decimal...mvi
0001F0: 09 65 2C 27 3B 27 09 09 3B 20 66 6F 6C 6C 6F 77 .e,';'..; follow
Size : 512 (Real : 512)
000000: 64 2E 0D 0A 3B 09 64 65 73 74 72 6F 79 73 20 62 d...;.destroys b
000010: 63 2C 20 64 65 2C 20 68 6C 2E 0D 0A 69 6E 70 6D c, de, hl...inpm
000020: 64 6D 3A 0D 0A 49 46 20 69 6F 62 79 74 0D 0A 09 dm:..IF iobyt...
000030: 63 61 6C 6C 09 62 63 6F 6E 73 74 09 09 3B 49 73 call.bconst..;Is
000040: 20 43 68 61 72 20 61 74 20 43 4F 4D 4D 2D 50 6F Char at COMM-Po
000050: 72 74 3F 0D 0A 09 6F 72 61 09 61 09 09 3B 73 6F rt?...ora.a..;so
000060: 6D 65 74 68 69 6E 67 20 74 68 65 72 65 3F 0D 0A mething there?..
000070: 09 72 7A 09 09 09 3B 20 72 65 74 75 72 6E 20 69 .rz...; return i
000080: 66 20 6E 6F 74 68 69 6E 67 20 74 68 65 72 65 0D f nothing there.
000090: 0A 09 63 61 6C 6C 09 62 63 6F 6E 69 6E 09 09 3B ..call.bconin..;
0000A0: 20 64 61 74 61 20 70 72 65 73 65 6E 74 2E 20 72 data present. r
0000B0: 65 61 64 20 64 61 74 61 2E 0D 0A 45 4E 44 49 46 ead data...ENDIF
0000C0: 3B 69 6F 62 79 74 0D 0A 0D 0A 49 46 20 63 70 6D ;iobyt....IF cpm
0000D0: 33 0D 0A 09 6D 76 69 09 63 2C 61 75 78 69 73 74 3...mvi.c,auxist
0000E0: 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 09 3B 69 ...call.bdos..;i
0000F0: 73 20 63 68 61 72 20 61 74 20 61 75 78 69 6E 3F s char at auxin?
000100: 0D 0A 09 6F 72 61 09 61 09 09 3B 73 6F 6D 65 74 ...ora.a..;somet
000110: 68 69 6E 67 20 74 68 65 72 65 3F 0D 0A 09 72 7A hing there?...rz
000120: 09 09 09 3B 6E 6F 0D 0A 09 6D 76 69 09 63 2C 61 ...;no...mvi.c,a
000130: 75 78 69 6E 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 uxin...call.bdos
000140: 09 09 3B 72 65 61 64 20 63 68 61 72 20 66 72 6F ..;read char fro
000150: 6D 20 61 75 78 69 6E 0D 0A 45 4E 44 49 46 3B 63 m auxin..ENDIF;c
000160: 70 6D 33 0D 0A 0D 0A 49 46 20 6F 73 69 20 4F 52 pm3....IF osi OR
000170: 20 61 70 70 6C 65 20 4F 52 20 6C 6F 62 6F 09 09 apple OR lobo..
000180: 3B 5B 68 68 5D 0D 0A 69 6E 70 6D 64 31 3A 09 6C ;[hh]..inpmd1:.l
000190: 64 61 09 6D 6E 70 72 74 73 09 09 3B 47 65 74 20 da.mnprts..;Get
0001A0: 74 68 65 20 70 6F 72 74 20 73 74 61 74 75 73 20 the port status
0001B0: 69 6E 74 6F 20 41 2E 0D 0A 09 61 6E 69 09 69 6E into A....ani.in
0001C0: 70 75 74 09 09 3B 53 65 65 20 69 66 20 74 68 65 put..;See if the
0001D0: 20 69 6E 70 75 74 20 72 65 61 64 79 20 62 69 74 input ready bit
0001E0: 20 69 73 20 6F 6E 2E 0D 0A 09 72 7A 09 09 09 3B is on....rz...;
0001F0: 49 66 20 6E 6F 74 20 74 68 65 6E 20 72 65 74 75 If not then retu
Size : 512 (Real : 512)
000000: 20 77 69 74 68 20 73 65 6D 69 63 6F 6C 6F 6E 0D with semicolon.
000010: 0A 09 63 61 6C 6C 09 6F 75 74 63 6F 6E 09 09 3B ..call.outcon..;
000020: 20 70 72 69 6E 74 20 69 74 0D 0A 09 70 6F 70 09 print it...pop.
000030: 68 09 09 3B 20 72 65 73 74 6F 72 65 20 63 6F 6C h..; restore col
000040: 75 6D 6E 0D 0A 09 6D 76 69 09 68 2C 30 09 09 3B umn...mvi.h,0..;
000050: 20 68 6C 20 3D 20 63 6F 6C 75 6D 6E 0D 0A 09 63 hl = column...c
000060: 61 6C 6C 09 6E 6F 75 74 0D 0A 09 6D 76 69 09 65 all.nout...mvi.e
000070: 2C 27 48 27 09 09 3B 20 74 65 72 6D 69 6E 61 74 ,'H'..; terminat
000080: 65 20 77 69 74 68 20 27 6D 6F 76 65 20 63 75 72 e with 'move cur
000090: 73 6F 72 27 20 63 6F 6D 6D 61 6E 64 0D 0A 09 6A sor' command...j
0000A0: 6D 70 09 6F 75 74 63 6F 6E 09 09 3B 20 6F 75 74 mp.outcon..; out
0000B0: 70 75 74 20 69 74 20 61 6E 64 20 72 65 74 75 72 put it and retur
0000C0: 6E 0D 0A 45 4E 44 49 46 3B 72 6F 62 69 6E 20 4F n..ENDIF;robin O
0000D0: 52 20 64 6D 49 49 20 4F 52 20 76 74 31 30 30 0D R dmII OR vt100.
0000E0: 0A 3B 0D 0A 3B 09 63 73 72 70 6F 73 20 66 6F 72 .;..;.csrpos for
0000F0: 20 74 68 65 20 56 65 63 74 6F 72 20 47 65 6E 65 the Vector Gene
000100: 72 61 6C 2E 20 20 49 74 27 73 20 77 65 69 72 64 ral. It's weird
000110: 2E 0D 0A 3B 0D 0A 49 46 20 76 65 63 74 6F 72 0D ...;..IF vector.
000120: 0A 63 73 72 70 6F 73 3A 20 64 63 72 09 62 09 09 .csrpos: dcr.b..
000130: 3B 20 76 65 63 74 6F 72 20 75 73 65 73 20 7A 65 ; vector uses ze
000140: 72 6F 2D 62 61 73 65 64 20 61 64 64 72 65 73 73 ro-based address
000150: 69 6E 67 3F 0D 0A 09 64 63 72 09 63 0D 0A 09 70 ing?...dcr.c...p
000160: 75 73 68 09 62 09 09 3B 20 73 61 76 65 20 63 6F ush.b..; save co
000170: 6F 72 64 69 6E 61 74 65 73 0D 0A 09 6D 76 69 09 ordinates...mvi.
000180: 65 2C 65 73 63 09 09 3B 20 70 72 69 6E 74 20 61 e,esc..; print a
000190: 6E 20 65 73 63 61 70 65 0D 0A 09 63 61 6C 6C 09 n escape...call.
0001A0: 6F 75 74 63 6F 6E 0D 0A 09 70 6F 70 09 64 09 09 outcon...pop.d..
0001B0: 3B 20 70 65 65 6B 20 61 74 20 63 6F 6F 72 64 69 ; peek at coordi
0001C0: 6E 61 74 65 73 0D 0A 09 70 75 73 68 09 64 0D 0A nates...push.d..
0001D0: 09 63 61 6C 6C 09 6F 75 74 63 6F 6E 09 09 3B 20 .call.outcon..;
0001E0: 6F 75 74 70 75 74 20 63 6F 6C 75 6D 6E 0D 0A 09 output column...
0001F0: 70 6F 70 09 64 0D 0A 09 6D 6F 76 09 65 2C 64 09 pop.d...mov.e,d.
Size : 512 (Real : 512)
000000: 0D 0A 3B 20 65 72 61 73 65 20 74 68 65 20 63 68 ..; erase the ch
000010: 61 72 61 63 74 65 72 20 61 74 20 74 68 65 20 63 aracter at the c
000020: 75 72 72 65 6E 74 20 63 75 72 73 6F 72 20 70 6F urrent cursor po
000030: 73 69 74 69 6F 6E 0D 0A 63 6C 72 73 70 63 3A 09 sition..clrspc:.
000040: 6D 76 69 09 65 2C 27 20 27 0D 0A 09 63 61 6C 6C mvi.e,' '...call
000050: 09 6F 75 74 63 6F 6E 0D 0A 09 6D 76 69 09 65 2C .outcon...mvi.e,
000060: 62 73 09 09 3B 67 65 74 20 61 20 62 61 63 6B 73 bs..;get a backs
000070: 70 61 63 65 0D 0A 09 6A 6D 70 09 6F 75 74 63 6F pace...jmp.outco
000080: 6E 0D 0A 0D 0A 3B 20 65 72 61 73 65 20 74 68 65 n....; erase the
000090: 20 63 75 72 72 65 6E 74 20 6C 69 6E 65 0D 0A 63 current line..c
0000A0: 6C 72 6C 69 6E 3A 09 6C 78 69 09 64 2C 65 72 61 lrlin:.lxi.d,era
0000B0: 6C 69 6E 0D 0A 09 6A 6D 70 09 70 72 74 73 74 72 lin...jmp.prtstr
0000C0: 0D 0A 0D 0A 3B 20 65 72 61 73 65 20 74 68 65 20 ....; erase the
0000D0: 77 68 6F 6C 65 20 73 63 72 65 65 6E 2C 20 61 6E whole screen, an
0000E0: 64 20 67 6F 20 68 6F 6D 65 2E 20 70 72 65 73 65 d go home. prese
0000F0: 72 76 65 73 20 62 20 28 62 75 74 20 6E 6F 74 20 rves b (but not
000100: 63 29 0D 0A 63 6C 72 74 6F 70 3A 09 6C 78 69 09 c)..clrtop:.lxi.
000110: 64 2C 65 72 61 73 63 72 0D 0A 09 6A 6D 70 09 70 d,erascr...jmp.p
000120: 72 74 73 74 72 0D 0A 0D 0A 3B 20 53 6F 6D 65 20 rtstr....; Some
000130: 66 72 65 71 75 65 6E 74 6C 79 2D 75 73 65 64 20 frequently-used
000140: 72 6F 75 74 69 6E 65 73 20 28 64 75 70 6C 69 63 routines (duplic
000150: 61 74 65 73 20 6F 66 20 74 68 6F 73 65 20 69 6E ates of those in
000160: 20 43 50 34 4D 49 54 29 3A 0D 0A 3B 09 70 72 63 CP4MIT):..;.prc
000170: 72 6C 66 20 2D 20 6F 75 74 70 75 74 20 61 20 43 rlf - output a C
000180: 52 2F 4C 46 0D 0A 3B 09 70 72 74 73 74 72 20 2D R/LF..;.prtstr -
000190: 20 6F 75 74 70 75 74 20 73 74 72 69 6E 67 20 69 output string i
0001A0: 6E 20 44 45 0D 0A 3B 09 72 73 6B 70 20 2D 20 72 n DE..;.rskp - r
0001B0: 65 74 75 72 6E 2C 20 73 6B 69 70 70 69 6E 67 20 eturn, skipping
0001C0: 6F 76 65 72 20 65 72 72 6F 72 20 72 65 74 75 72 over error retur
0001D0: 6E 0D 0A 70 72 63 72 6C 66 3A 09 6C 78 69 09 64 n..prcrlf:.lxi.d
0001E0: 2C 63 72 6C 66 0D 0A 70 72 74 73 74 72 3A 09 6D ,crlf..prtstr:.m
0001F0: 76 69 09 63 2C 70 72 73 74 72 0D 0A 09 6A 6D 70 vi.c,prstr...jmp
Size : 512 (Real : 512)
000000: 09 3B 20 67 65 74 20 72 6F 77 0D 0A 09 6A 6D 70 .; get row...jmp
000010: 09 6F 75 74 63 6F 6E 09 09 3B 20 6F 75 74 70 75 .outcon..; outpu
000020: 74 20 61 6E 64 20 72 65 74 75 72 6E 0D 0A 45 4E t and return..EN
000030: 44 49 46 3B 76 65 63 74 6F 72 0D 0A 49 46 20 6F DIF;vector..IF o
000040: 73 69 20 4F 52 20 63 72 74 09 09 09 3B 20 73 79 si OR crt...; sy
000050: 73 74 65 6D 73 20 77 69 74 68 6F 75 74 20 63 75 stems without cu
000060: 72 73 6F 72 20 70 6F 73 69 74 69 6F 6E 69 6E 67 rsor positioning
000070: 0D 0A 63 73 72 70 6F 73 3A 09 72 65 74 09 09 09 ..csrpos:.ret...
000080: 3B 20 64 75 6D 6D 79 20 72 6F 75 74 69 6E 65 20 ; dummy routine
000090: 72 65 66 65 72 65 6E 63 65 64 20 62 79 20 6C 69 referenced by li
0000A0: 6E 6B 61 67 65 20 73 65 63 74 69 6F 6E 0D 0A 45 nkage section..E
0000B0: 4E 44 49 46 3B 6F 73 69 20 4F 52 20 63 72 74 0D NDIF;osi OR crt.
0000C0: 0A 0D 0A 3B 0D 0A 3B 20 70 6F 73 69 74 69 6F 6E ...;..; position
0000D0: 20 74 6F 20 76 61 72 69 6F 75 73 20 66 69 65 6C to various fiel
0000E0: 64 73 3A 0D 0A 3B 20 66 6F 72 20 74 68 65 20 4B ds:..; for the K
0000F0: 65 72 6D 69 74 73 20 77 69 74 68 20 63 75 72 73 ermits with curs
000100: 6F 72 20 70 6F 73 69 74 69 6F 6E 69 6E 67 2C 20 or positioning,
000110: 74 68 65 20 64 69 73 70 6C 61 79 20 6C 6F 6F 6B the display look
000120: 73 20 6C 69 6B 65 20 74 68 69 73 3A 0D 0A 3B 09 s like this:..;.
000130: 20 20 20 20 35 20 20 20 31 30 20 20 20 31 35 20 5 10 15
000140: 20 20 32 30 20 20 20 32 35 20 20 20 33 30 20 20 20 25 30
000150: 20 33 35 0D 0A 3B 20 20 20 20 20 20 2B 2D 2D 2D 35..; +---
000160: 2D 7C 2D 2D 2D 2D 7C 2D 2D 2D 2D 7C 2D 2D 2D 2D -|----|----|----
000170: 7C 2D 2D 2D 2D 7C 2D 2D 2D 2D 7C 2D 2D 2D 2D 7C |----|----|----|
000180: 2E 2E 2E 0D 0A 3B 20 20 20 20 31 20 7C 0D 0A 3B .....; 1 |..;
000190: 20 20 20 20 32 20 7C 09 09 4B 65 72 6D 69 74 2D 2 |..Kermit-
0001A0: 38 30 20 76 34 2E 30 20 5B 73 79 73 74 65 6D 5D 80 v4.0 [system]
0001B0: 0D 0A 3B 20 20 20 20 33 20 7C 0D 0A 3B 20 20 20 ..; 3 |..;
0001C0: 20 34 20 7C 4E 75 6D 62 65 72 20 6F 66 20 70 61 4 |Number of pa
0001D0: 63 6B 65 74 73 3A 20 5F 5F 5F 5F 0D 0A 3B 20 20 ckets: ____..;
0001E0: 20 20 35 20 7C 4E 75 6D 62 65 72 20 6F 66 20 72 5 |Number of r
0001F0: 65 74 72 69 65 73 3A 20 5F 5F 5F 5F 0D 0A 3B 20 etries: ____..;
Size : 512 (Real : 512)
000000: 09 62 64 6F 73 0D 0A 0D 0A 72 73 6B 70 3A 09 70 .bdos....rskp:.p
000010: 6F 70 09 68 09 09 3B 20 47 65 74 20 74 68 65 20 op.h..; Get the
000020: 72 65 74 75 72 6E 20 61 64 64 72 65 73 73 0D 0A return address..
000030: 09 69 6E 78 09 68 09 09 3B 20 49 6E 63 72 65 6D .inx.h..; Increm
000040: 65 6E 74 20 62 79 20 74 68 72 65 65 0D 0A 09 69 ent by three...i
000050: 6E 78 09 68 0D 0A 09 69 6E 78 09 68 0D 0A 09 70 nx.h...inx.h...p
000060: 63 68 6C 0D 0A 0D 0A 3B 09 43 6F 70 79 20 62 6C chl....;.Copy bl
000070: 6F 63 6B 20 6F 66 20 64 61 74 61 0D 0A 3B 09 73 ock of data..;.s
000080: 6F 75 72 63 65 20 69 6E 20 48 4C 2C 20 64 65 73 ource in HL, des
000090: 74 69 6E 61 74 69 6F 6E 20 69 6E 20 44 45 2C 20 tination in DE,
0000A0: 62 79 74 65 20 63 6F 75 6E 74 20 69 6E 20 42 43 byte count in BC
0000B0: 0D 0A 3B 09 63 61 6C 6C 65 64 20 62 79 3A 20 63 ..;.called by: c
0000C0: 70 34 73 79 73 2C 20 6D 66 6E 61 6D 65 0D 0A 3B p4sys, mfname..;
0000D0: 0D 0A 6D 6F 76 65 72 3A 0D 0A 49 46 20 4E 4F 54 ..mover:..IF NOT
0000E0: 20 7A 38 30 09 09 3B 20 38 30 38 30 27 73 20 68 z80..; 8080's h
0000F0: 61 76 65 20 74 6F 20 64 6F 20 69 74 20 74 68 65 ave to do it the
000100: 20 68 61 72 64 20 77 61 79 0D 0A 09 6D 6F 76 09 hard way...mov.
000110: 61 2C 6D 0D 0A 09 73 74 61 78 09 64 0D 0A 09 69 a,m...stax.d...i
000120: 6E 78 09 68 0D 0A 09 69 6E 78 09 64 0D 0A 09 64 nx.h...inx.d...d
000130: 63 78 09 62 0D 0A 09 6D 6F 76 09 61 2C 62 0D 0A cx.b...mov.a,b..
000140: 09 6F 72 61 09 63 0D 0A 09 6A 6E 7A 09 6D 6F 76 .ora.c...jnz.mov
000150: 65 72 0D 0A 45 4E 44 49 46 3B 4E 4F 54 20 7A 38 er..ENDIF;NOT z8
000160: 30 0D 0A 49 46 20 7A 38 30 0D 0A 09 64 62 09 30 0..IF z80...db.0
000170: 45 44 68 2C 30 42 30 68 09 3B 20 5A 38 30 20 4C EDh,0B0h.; Z80 L
000180: 44 49 52 20 69 6E 73 74 72 75 63 74 69 6F 6E 0D DIR instruction.
000190: 0A 45 4E 44 49 46 3B 7A 38 30 0D 0A 09 72 65 74 .ENDIF;z80...ret
0001A0: 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 4D 69 73 63 65 ..;...;..;.Misce
0001B0: 6C 6C 61 6E 65 6F 75 73 20 6D 65 73 73 61 67 65 llaneous message
0001C0: 73 0D 0A 3B 0D 0A 63 72 6C 66 3A 09 64 62 09 63 s..;..crlf:.db.c
0001D0: 72 2C 6C 66 2C 27 24 27 0D 0A 0D 0A 63 66 67 6D r,lf,'$'....cfgm
0001E0: 73 67 3A 09 64 62 09 27 63 6F 6E 66 69 67 75 72 sg:.db.'configur
0001F0: 65 64 20 66 6F 72 20 24 27 0D 0A 0D 0A 49 46 20 ed for $'....IF
Size : 512 (Real : 512)
000000: 20 20 20 36 20 7C 46 69 6C 65 20 6E 61 6D 65 3A 6 |File name:
000010: 20 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 0D 0A 3B ____________..;
000020: 20 20 20 20 37 20 7C 3C 65 72 72 6F 72 3E 2E 2E 7 |<error>..
000030: 2E 0D 0A 3B 20 20 20 20 38 20 7C 3C 73 74 61 74 ...; 8 |<stat
000040: 75 73 3E 2E 2E 2E 0D 0A 3B 20 20 20 20 39 20 7C us>.....; 9 |
000050: 52 50 61 63 6B 3A 20 5F 5F 5F 28 69 66 20 64 65 RPack: ___(if de
000060: 62 75 67 67 69 6E 67 29 2E 2E 2E 0D 0A 3B 20 20 bugging).....;
000070: 20 31 30 20 7C 0D 0A 3B 20 20 20 31 31 20 7C 53 10 |..; 11 |S
000080: 50 61 63 6B 3A 20 5F 5F 5F 28 69 66 20 64 65 62 Pack: ___(if deb
000090: 75 67 67 69 6E 67 29 2E 2E 2E 0D 0A 3B 20 20 20 ugging).....;
0000A0: 31 32 20 7C 0D 0A 3B 20 20 20 31 33 20 7C 4B 65 12 |..; 13 |Ke
0000B0: 72 6D 69 74 2D 38 30 20 20 41 3A 3E 09 28 77 68 rmit-80 A:>.(wh
0000C0: 65 6E 20 66 69 6E 69 73 68 65 64 29 0D 0A 3B 0D en finished)..;.
0000D0: 0A 0D 0A 49 46 20 4E 4F 54 20 28 6F 73 69 20 4F ...IF NOT (osi O
0000E0: 52 20 63 72 74 29 0D 0A 73 63 72 6E 70 3A 09 6C R crt)..scrnp:.l
0000F0: 78 69 09 62 2C 34 2A 31 30 30 48 2B 32 30 0D 0A xi.b,4*100H+20..
000100: 09 6A 6D 70 09 63 73 72 70 6F 73 0D 0A 0D 0A 73 .jmp.csrpos....s
000110: 63 72 6E 72 74 3A 09 6C 78 69 09 62 2C 35 2A 31 crnrt:.lxi.b,5*1
000120: 30 30 48 2B 32 30 0D 0A 09 6A 6D 70 09 63 73 72 00H+20...jmp.csr
000130: 70 6F 73 0D 0A 0D 0A 73 63 72 66 6C 6E 3A 09 6C pos....scrfln:.l
000140: 78 69 09 62 2C 36 2A 31 30 30 48 2B 31 32 0D 0A xi.b,6*100H+12..
000150: 09 63 61 6C 6C 09 63 73 72 70 6F 73 0D 0A 63 6C .call.csrpos..cl
000160: 72 65 6F 6C 3A 09 6C 78 69 09 64 2C 74 6B 0D 0A reol:.lxi.d,tk..
000170: 09 6A 6D 70 09 70 72 74 73 74 72 0D 0A 0D 0A 73 .jmp.prtstr....s
000180: 63 72 65 72 72 3A 09 6C 78 69 09 62 2C 37 2A 31 crerr:.lxi.b,7*1
000190: 30 30 48 2B 31 0D 0A 09 63 61 6C 6C 09 63 73 72 00H+1...call.csr
0001A0: 70 6F 73 0D 0A 09 6A 6D 70 09 63 6C 72 65 6F 6C pos...jmp.clreol
0001B0: 0D 0A 0D 0A 73 63 72 73 74 3A 09 6C 78 69 09 62 ....scrst:.lxi.b
0001C0: 2C 38 2A 31 30 30 48 2B 31 0D 0A 09 63 61 6C 6C ,8*100H+1...call
0001D0: 09 63 73 72 70 6F 73 0D 0A 09 6A 6D 70 09 63 6C .csrpos...jmp.cl
0001E0: 72 65 6F 6C 0D 0A 0D 0A 72 70 70 6F 73 3A 09 6C reol....rppos:.l
0001F0: 78 69 09 62 2C 39 2A 31 30 30 48 2B 38 0D 0A 09 xi.b,9*100H+8...
Size : 512 (Real : 512)
000000: 61 64 6D 33 61 20 4F 52 20 74 76 69 39 32 35 20 adm3a OR tvi925
000010: 4F 52 20 76 74 35 32 20 4F 52 20 76 74 31 30 30 OR vt52 OR vt100
000020: 20 4F 52 20 73 6D 72 74 76 64 09 09 3B 20 5B 37 OR smrtvd..; [7
000030: 5D 0D 0A 77 69 74 6D 73 67 3A 09 64 62 09 27 20 ]..witmsg:.db.'
000040: 77 69 74 68 20 24 27 0D 0A 45 4E 44 49 46 3B 61 with $'..ENDIF;a
000050: 64 6D 33 61 20 4F 52 20 74 76 69 39 32 35 20 4F dm3a OR tvi925 O
000060: 52 20 76 74 35 32 20 4F 52 20 76 74 31 30 30 20 R vt52 OR vt100
000070: 4F 52 20 73 6D 72 74 76 64 09 3B 20 5B 37 5D 0D OR smrtvd.; [7].
000080: 0A 0D 0A 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ...;************
000090: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 54 65 **************Te
0000A0: 72 6D 69 6E 61 6C 20 74 61 62 6C 65 73 2A 2A 2A rminal tables***
0000B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0000C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0A 49 46 20 4E 4F *********..IF NO
0000D0: 54 20 28 6F 73 69 20 4F 52 20 63 72 74 29 09 3B T (osi OR crt).;
0000E0: 20 67 6F 74 20 63 75 72 73 6F 72 20 63 6F 6E 74 got cursor cont
0000F0: 72 6F 6C 3F 0D 0A 6F 75 74 6C 6E 32 3A 09 64 62 rol?..outln2:.db
000100: 09 27 5D 27 2C 63 72 2C 6C 66 2C 63 72 2C 6C 66 .']',cr,lf,cr,lf
000110: 2C 27 4E 75 6D 62 65 72 20 6F 66 20 70 61 63 6B ,'Number of pack
000120: 65 74 73 3A 27 0D 0A 09 64 62 09 63 72 2C 6C 66 ets:'...db.cr,lf
000130: 2C 27 4E 75 6D 62 65 72 20 6F 66 20 72 65 74 72 ,'Number of retr
000140: 69 65 73 3A 27 0D 0A 09 64 62 09 63 72 2C 6C 66 ies:'...db.cr,lf
000150: 2C 27 46 69 6C 65 20 6E 61 6D 65 3A 24 27 0D 0A ,'File name:$'..
000160: 6F 75 74 6C 6E 33 3A 09 64 62 09 63 72 2C 6C 66 outln3:.db.cr,lf
000170: 2C 63 72 2C 6C 66 09 09 3B 20 64 65 62 75 67 67 ,cr,lf..; debugg
000180: 69 6E 67 20 6D 65 73 73 61 67 65 73 0D 0A 09 64 ing messages...d
000190: 62 09 63 72 2C 6C 66 2C 27 52 50 61 63 6B 3A 27 b.cr,lf,'RPack:'
0001A0: 0D 0A 09 64 62 09 63 72 2C 6C 66 09 09 09 3B 20 ...db.cr,lf...;
0001B0: 62 6C 61 6E 6B 20 6C 69 6E 65 20 69 6E 20 63 61 blank line in ca
0001C0: 73 65 20 6F 66 20 6C 6F 6E 67 20 70 61 63 6B 65 se of long packe
0001D0: 74 0D 0A 09 64 62 09 63 72 2C 6C 66 2C 27 53 50 t...db.cr,lf,'SP
0001E0: 61 63 6B 3A 24 27 0D 0A 45 4E 44 49 46 3B 4E 4F ack:$'..ENDIF;NO
0001F0: 54 20 28 6F 73 69 20 4F 52 20 63 72 74 29 0D 0A T (osi OR crt)..
Size : 512 (Real : 512)
000000: 63 61 6C 6C 09 63 73 72 70 6F 73 0D 0A 09 6A 6D call.csrpos...jm
000010: 70 09 63 6C 72 65 6F 6C 0D 0A 0D 0A 73 70 70 6F p.clreol....sppo
000020: 73 3A 09 6C 78 69 09 62 2C 31 31 2A 31 30 30 48 s:.lxi.b,11*100H
000030: 2B 38 0D 0A 09 63 61 6C 6C 09 63 73 72 70 6F 73 +8...call.csrpos
000040: 0D 0A 09 6A 6D 70 09 63 6C 72 65 6F 6C 0D 0A 0D ...jmp.clreol...
000050: 0A 73 63 72 65 6E 64 3A 09 6C 78 69 09 62 2C 31 .scrend:.lxi.b,1
000060: 33 2A 31 30 30 48 2B 31 0D 0A 09 63 61 6C 6C 09 3*100H+1...call.
000070: 63 73 72 70 6F 73 0D 0A 63 6C 72 65 6F 73 3A 09 csrpos..clreos:.
000080: 6C 78 69 09 64 2C 74 6A 0D 0A 09 6A 6D 70 09 70 lxi.d,tj...jmp.p
000090: 72 74 73 74 72 0D 0A 45 4E 44 49 46 3B 4E 4F 54 rtstr..ENDIF;NOT
0000A0: 20 28 6F 73 69 20 4F 52 20 63 72 74 29 0D 0A 0D (osi OR crt)...
0000B0: 0A 49 46 20 6F 73 69 20 4F 52 20 63 72 74 09 3B .IF osi OR crt.;
0000C0: 20 6E 6F 20 63 75 72 73 6F 72 20 63 6F 6E 74 72 no cursor contr
0000D0: 6F 6C 0D 0A 73 63 72 6E 70 3A 09 6D 76 69 09 65 ol..scrnp:.mvi.e
0000E0: 2C 27 20 27 0D 0A 09 6A 6D 70 09 6F 75 74 63 6F ,' '...jmp.outco
0000F0: 6E 0D 0A 0D 0A 73 63 72 6E 72 74 3A 09 6D 76 69 n....scrnrt:.mvi
000100: 09 65 2C 27 20 27 0D 0A 09 63 61 6C 6C 09 6F 75 .e,' '...call.ou
000110: 74 63 6F 6E 0D 0A 09 6D 76 69 09 65 2C 27 25 27 tcon...mvi.e,'%'
000120: 0D 0A 09 6A 6D 70 09 6F 75 74 63 6F 6E 0D 0A 0D ...jmp.outcon...
000130: 0A 73 63 72 66 6C 6E 3A 0D 0A 73 63 72 65 72 72 .scrfln:..screrr
000140: 3A 0D 0A 73 63 72 73 74 3A 0D 0A 73 63 72 65 6E :..scrst:..scren
000150: 64 3A 09 6A 6D 70 09 70 72 63 72 6C 66 09 09 3B d:.jmp.prcrlf..;
000160: 50 72 69 6E 74 20 43 52 2F 4C 46 09 5B 54 6F 61 Print CR/LF.[Toa
000170: 64 20 48 61 6C 6C 5D 0D 0A 0D 0A 72 70 70 6F 73 d Hall]....rppos
000180: 3A 09 6C 78 69 09 64 2C 70 72 70 61 63 6B 0D 0A :.lxi.d,prpack..
000190: 09 6A 6D 70 09 70 72 74 73 74 72 0D 0A 0D 0A 73 .jmp.prtstr....s
0001A0: 70 70 6F 73 3A 09 6C 78 69 09 64 2C 70 73 70 61 ppos:.lxi.d,pspa
0001B0: 63 6B 0D 0A 09 6A 6D 70 09 70 72 74 73 74 72 0D ck...jmp.prtstr.
0001C0: 0A 45 4E 44 49 46 3B 6F 73 69 20 4F 52 20 63 72 .ENDIF;osi OR cr
0001D0: 74 0D 0A 0D 0A 3B 0D 0A 3B 20 64 65 6C 63 68 72 t....;..; delchr
0001E0: 20 2D 20 6D 61 6B 65 20 64 65 6C 65 74 65 20 6C - make delete l
0001F0: 6F 6F 6B 20 6C 69 6B 65 20 61 20 62 61 63 6B 73 ook like a backs
Size : 512 (Real : 512)
000000: 0D 0A 49 46 20 6C 6F 62 6F 09 3B 5B 68 68 5D 0D ..IF lobo.;[hh].
000010: 0A 73 79 73 76 65 72 3A 09 64 62 09 27 4C 6F 62 .sysver:.db.'Lob
000020: 6F 20 4D 41 58 2D 38 30 24 27 0D 0A 6F 75 74 6C o MAX-80$'..outl
000030: 69 6E 3A 09 64 62 09 65 73 63 2C 27 2A 27 2C 63 in:.db.esc,'*',c
000040: 72 2C 6C 66 2C 74 61 62 2C 74 61 62 2C 27 24 27 r,lf,tab,tab,'$'
000050: 0D 0A 65 72 61 73 63 72 3A 09 64 62 09 65 73 63 ..erascr:.db.esc
000060: 2C 27 2A 24 27 09 09 3B 5B 68 68 5D 20 63 6C 65 ,'*$'..;[hh] cle
000070: 61 72 20 73 63 72 65 65 6E 20 61 6E 64 20 68 6F ar screen and ho
000080: 6D 65 20 63 75 72 73 6F 72 0D 0A 65 72 61 6C 69 me cursor..erali
000090: 6E 3A 09 64 62 09 63 72 2C 65 73 63 2C 27 52 24 n:.db.cr,esc,'R$
0000A0: 27 09 09 3B 5B 68 68 5D 20 63 6C 65 61 72 20 6C '..;[hh] clear l
0000B0: 69 6E 65 0D 0A 63 75 72 6C 64 6E 3A 09 64 62 09 ine..curldn:.db.
0000C0: 65 73 63 2C 27 3D 24 27 09 09 3B 5B 68 68 5D 20 esc,'=$'..;[hh]
0000D0: 63 75 72 73 6F 72 20 6C 65 61 64 2D 69 6E 20 73 cursor lead-in s
0000E0: 74 72 69 6E 67 0D 0A 64 65 6C 73 74 72 3A 09 64 tring..delstr:.d
0000F0: 62 09 62 73 2C 27 20 27 2C 62 73 2C 62 73 2C 27 b.bs,' ',bs,bs,'
000100: 24 27 09 3B 5B 68 68 5D 20 3F 3F 61 64 6A 75 73 $'.;[hh] ??adjus
000110: 74 20 66 6F 72 20 65 63 68 6F 69 6E 67 20 64 65 t for echoing de
000120: 6C 65 74 65 0D 0A 74 74 61 62 3A 09 09 09 09 09 lete..ttab:.....
000130: 3B 5B 68 68 5D 20 74 61 62 6C 65 20 73 74 61 72 ;[hh] table star
000140: 74 20 6C 6F 63 61 74 69 6F 6E 0D 0A 74 61 3A 09 t location..ta:.
000150: 64 62 09 30 42 48 2C 27 24 27 2C 30 2C 30 09 09 db.0BH,'$',0,0..
000160: 3B 5B 68 68 5D 20 63 75 72 73 6F 72 20 75 70 0D ;[hh] cursor up.
000170: 0A 74 62 3A 09 64 62 09 30 41 48 2C 27 24 27 2C .tb:.db.0AH,'$',
000180: 30 2C 30 09 09 3B 5B 68 68 5D 20 63 75 72 73 6F 0,0..;[hh] curso
000190: 72 20 64 6F 77 6E 0D 0A 74 63 3A 09 64 62 09 30 r down..tc:.db.0
0001A0: 43 48 2C 27 24 27 2C 30 2C 30 09 09 3B 5B 68 68 CH,'$',0,0..;[hh
0001B0: 5D 20 63 75 72 73 6F 72 20 72 69 67 68 74 0D 0A ] cursor right..
0001C0: 74 64 3A 09 64 62 09 30 38 48 2C 27 24 27 2C 30 td:.db.08H,'$',0
0001D0: 2C 30 09 09 3B 5B 68 68 5D 20 63 75 72 73 6F 72 ,0..;[hh] cursor
0001E0: 20 6C 65 66 74 0D 0A 74 65 3A 09 64 62 09 65 73 left..te:.db.es
0001F0: 63 2C 27 2A 24 27 2C 30 09 09 3B 5B 68 68 5D 20 c,'*$',0..;[hh]
Size : 512 (Real : 512)
000000: 70 61 63 65 2E 20 20 55 6E 6C 65 73 73 20 64 65 pace. Unless de
000010: 6C 65 74 65 20 69 73 20 61 20 70 72 69 6E 74 69 lete is a printi
000020: 6E 67 0D 0A 3B 09 63 68 61 72 61 63 74 65 72 2C ng..;.character,
000030: 20 77 65 20 6A 75 73 74 20 6E 65 65 64 20 74 6F we just need to
000040: 20 70 72 69 6E 74 20 61 20 62 61 63 6B 73 70 61 print a backspa
000050: 63 65 2E 20 28 77 65 27 6C 6C 20 6F 75 74 70 75 ce. (we'll outpu
000060: 74 20 63 6C 72 73 70 63 0D 0A 3B 09 61 66 74 65 t clrspc..;.afte
000070: 72 77 61 72 64 73 29 0D 0A 3B 09 46 6F 72 20 4B rwards)..;.For K
000080: 61 79 70 72 6F 20 61 6E 64 20 56 65 63 74 6F 72 aypro and Vector
000090: 20 47 65 6E 65 72 61 6C 2C 20 64 65 6C 65 74 65 General, delete
0000A0: 20 70 75 74 73 20 61 20 62 6C 6F 74 63 68 20 6F puts a blotch o
0000B0: 6E 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 3B n the screen...;
0000C0: 09 46 6F 72 20 41 70 70 6C 65 20 61 6E 64 20 4F .For Apple and O
0000D0: 73 62 6F 72 6E 65 20 31 2C 20 64 65 6C 65 74 65 sborne 1, delete
0000E0: 20 6D 6F 76 65 73 20 62 75 74 20 64 6F 65 73 6E moves but doesn
0000F0: 27 74 20 70 72 69 6E 74 2E 0D 0A 64 65 6C 63 68 't print...delch
000100: 72 3A 0D 0A 49 46 20 62 62 49 20 4F 52 20 76 65 r:..IF bbI OR ve
000110: 63 74 6F 72 20 4F 52 20 61 70 70 6C 65 20 4F 52 ctor OR apple OR
000120: 20 6F 73 62 72 6E 31 20 4F 52 20 6C 6F 62 6F 0D osbrn1 OR lobo.
000130: 0A 09 6C 78 69 09 64 2C 64 65 6C 73 74 72 0D 0A ..lxi.d,delstr..
000140: 09 6A 6D 70 09 70 72 74 73 74 72 0D 0A 45 4E 44 .jmp.prtstr..END
000150: 49 46 3B 62 62 49 20 4F 52 20 76 65 63 74 6F 72 IF;bbI OR vector
000160: 20 4F 52 20 61 70 70 6C 65 20 4F 52 20 6F 73 62 OR apple OR osb
000170: 72 6E 31 20 4F 52 20 6C 6F 62 6F 0D 0A 49 46 20 rn1 OR lobo..IF
000180: 4E 4F 54 20 28 62 62 49 20 4F 52 20 76 65 63 74 NOT (bbI OR vect
000190: 6F 72 20 4F 52 20 61 70 70 6C 65 20 4F 52 20 6F or OR apple OR o
0001A0: 73 62 72 6E 31 29 0D 0A 09 6D 76 69 09 65 2C 62 sbrn1)...mvi.e,b
0001B0: 73 09 09 3B 67 65 74 20 61 20 62 61 63 6B 73 70 s..;get a backsp
0001C0: 61 63 65 0D 0A 09 6A 6D 70 09 6F 75 74 63 6F 6E ace...jmp.outcon
0001D0: 0D 0A 45 4E 44 49 46 3B 4E 4F 54 20 28 62 62 49 ..ENDIF;NOT (bbI
0001E0: 20 4F 52 20 76 65 63 74 6F 72 20 4F 52 20 61 70 OR vector OR ap
0001F0: 70 6C 65 20 4F 52 20 6F 73 62 72 6E 31 29 0D 0A ple OR osbrn1)..
Size : 512 (Real : 512)
000000: 63 6C 65 61 72 20 64 69 73 70 6C 61 79 20 28 68 clear display (h
000010: 6F 6D 65 73 20 63 75 72 73 6F 72 29 0D 0A 74 66 omes cursor)..tf
000020: 3A 09 64 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 :.db.'$',0,0,0..
000030: 3B 5B 68 68 5D 20 28 63 61 6E 27 74 29 20 65 6E ;[hh] (can't) en
000040: 74 65 72 20 67 72 61 70 68 69 63 73 20 6D 6F 64 ter graphics mod
000050: 65 0D 0A 74 67 3A 09 64 62 09 27 24 27 2C 30 2C e..tg:.db.'$',0,
000060: 30 2C 30 09 09 3B 5B 68 68 5D 20 28 63 61 6E 27 0,0..;[hh] (can'
000070: 74 29 20 65 78 69 74 20 67 72 61 70 68 69 63 73 t) exit graphics
000080: 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 09 30 31 mode..th:.db.01
000090: 45 48 2C 27 24 27 2C 30 2C 30 09 09 3B 5B 68 68 EH,'$',0,0..;[hh
0000A0: 5D 20 68 6F 6D 65 20 63 75 72 73 6F 72 0D 0A 74 ] home cursor..t
0000B0: 69 3A 09 64 62 09 65 73 63 2C 27 45 24 27 2C 30 i:.db.esc,'E$',0
0000C0: 09 09 3B 5B 68 68 5D 20 72 65 76 65 72 73 65 20 ..;[hh] reverse
0000D0: 6C 69 6E 65 66 65 65 64 20 28 69 6E 73 65 72 74 linefeed (insert
0000E0: 20 6C 69 6E 65 29 0D 0A 74 6A 3A 09 64 62 09 65 line)..tj:.db.e
0000F0: 73 63 2C 27 59 24 27 2C 30 09 09 3B 5B 68 68 5D sc,'Y$',0..;[hh]
000100: 20 63 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 clear to end of
000110: 20 73 63 72 65 65 6E 0D 0A 74 6B 3A 09 64 62 09 screen..tk:.db.
000120: 65 73 63 2C 27 54 24 27 2C 30 09 09 3B 5B 68 68 esc,'T$',0..;[hh
000130: 5D 20 63 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F ] clear to end o
000140: 66 20 6C 69 6E 65 0D 0A 45 4E 44 49 46 09 3B 6C f line..ENDIF.;l
000150: 6F 62 6F 0D 0A 0D 0A 3B 0C 0D 0A 49 46 20 62 72 obo....;...IF br
000160: 61 69 6E 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 ain..sysver:.db.
000170: 27 49 6E 74 65 72 74 65 63 20 53 75 70 65 72 42 'Intertec SuperB
000180: 72 61 69 6E 24 27 0D 0A 6F 75 74 6C 69 6E 3A 09 rain$'..outlin:.
000190: 64 62 09 28 27 41 27 2D 31 30 30 4F 29 2C 65 73 db.('A'-100O),es
0001A0: 63 2C 27 7E 6B 27 2C 63 72 2C 6C 66 2C 74 61 62 c,'~k',cr,lf,tab
0001B0: 2C 74 61 62 2C 27 24 27 0D 0A 65 72 61 73 63 72 ,tab,'$'..erascr
0001C0: 3A 09 64 62 09 28 27 41 27 2D 31 30 30 4F 29 2C :.db.('A'-100O),
0001D0: 65 73 63 2C 27 7E 6B 24 27 20 09 3B 43 6C 65 61 esc,'~k$' .;Clea
0001E0: 72 20 73 63 72 65 65 6E 20 61 6E 64 20 67 6F 20 r screen and go
0001F0: 68 6F 6D 65 2E 0D 0A 65 72 61 6C 69 6E 3A 09 64 home...eralin:.d
Size : 512 (Real : 512)
000000: 65 20 6C 69 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A e linefeed...tj:
000010: 09 64 62 09 65 73 63 2C 27 59 24 27 2C 30 09 09 .db.esc,'Y$',0..
000020: 3B 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 ;Clear to end of
000030: 20 73 63 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 screen...tk:.db
000040: 09 65 73 63 2C 27 54 24 27 2C 30 09 09 3B 43 6C .esc,'T$',0..;Cl
000050: 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 ear to end of li
000060: 6E 65 2E 0D 0A 45 4E 44 49 46 3B 61 70 70 6C 65 ne...ENDIF;apple
000070: 0D 0A 3B 0C 0D 0A 49 46 20 76 65 63 74 6F 72 0D ..;...IF vector.
000080: 0A 73 79 73 76 65 72 3A 09 64 62 09 27 56 65 63 .sysver:.db.'Vec
000090: 74 6F 72 20 47 72 61 70 68 69 63 73 24 27 0D 0A tor Graphics$'..
0000A0: 6F 75 74 6C 69 6E 3A 09 64 62 09 28 27 44 27 2D outlin:.db.('D'-
0000B0: 31 30 30 4F 29 2C 63 72 2C 6C 66 2C 74 61 62 2C 100O),cr,lf,tab,
0000C0: 74 61 62 2C 27 24 27 0D 0A 65 72 61 73 63 72 3A tab,'$'..erascr:
0000D0: 09 64 62 09 28 27 44 27 2D 31 30 30 4F 29 2C 27 .db.('D'-100O),'
0000E0: 24 27 09 20 09 3B 43 6C 65 61 72 20 73 63 72 65 $'. .;Clear scre
0000F0: 65 6E 20 61 6E 64 20 67 6F 20 68 6F 6D 65 2E 0D en and go home..
000100: 0A 65 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 28 .eralin:.db.cr,(
000110: 27 51 27 2D 31 30 30 4F 29 2C 27 24 27 09 3B 43 'Q'-100O),'$'.;C
000120: 6C 65 61 72 20 6C 69 6E 65 2E 0D 0A 64 65 6C 73 lear line...dels
000130: 74 72 3A 09 64 62 09 62 73 2C 27 20 27 2C 62 73 tr:.db.bs,' ',bs
000140: 2C 62 73 2C 27 24 27 09 3B 20 61 64 6A 75 73 74 ,bs,'$'.; adjust
000150: 20 66 6F 72 20 65 63 68 6F 69 6E 67 20 64 65 6C for echoing del
000160: 65 74 65 20 63 68 61 72 61 63 74 65 72 0D 0A 74 ete character..t
000170: 74 61 62 3A 09 09 09 09 09 3B 54 61 62 6C 65 20 tab:.....;Table
000180: 73 74 61 72 74 20 6C 6F 63 61 74 69 6F 6E 2E 0D start location..
000190: 0A 74 61 3A 09 64 62 09 28 27 55 27 2D 31 30 30 .ta:.db.('U'-100
0001A0: 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 73 O),'$',0,0.;Curs
0001B0: 6F 72 20 75 70 2E 0D 0A 74 62 3A 09 64 62 09 31 or up...tb:.db.1
0001C0: 32 4F 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 2O,'$',0,0..;Cur
0001D0: 73 6F 72 20 64 6F 77 6E 2E 0D 0A 74 63 3A 09 64 sor down...tc:.d
0001E0: 62 09 28 27 5A 27 2D 31 30 30 4F 29 2C 27 24 27 b.('Z'-100O),'$'
0001F0: 2C 30 2C 30 09 3B 43 75 72 73 6F 72 20 72 69 67 ,0,0.;Cursor rig
Size : 512 (Real : 512)
000000: 62 09 63 72 2C 65 73 63 2C 27 7E 4B 24 27 09 09 b.cr,esc,'~K$'..
000010: 3B 43 6C 65 61 72 20 6C 69 6E 65 2E 0D 0A 63 75 ;Clear line...cu
000020: 72 6C 64 6E 3A 09 64 62 09 65 73 63 2C 27 59 24 rldn:.db.esc,'Y$
000030: 27 09 09 3B 20 6C 65 61 64 69 6E 20 66 6F 72 20 '..; leadin for
000040: 63 75 72 73 6F 72 20 70 6F 73 69 74 69 6F 6E 69 cursor positioni
000050: 6E 67 0D 0A 74 74 61 62 3A 09 09 09 09 09 3B 54 ng..ttab:.....;T
000060: 61 62 6C 65 20 73 74 61 72 74 20 6C 6F 63 61 74 able start locat
000070: 69 6F 6E 2E 0D 0A 74 61 3A 09 64 62 09 28 27 4B ion...ta:.db.('K
000080: 27 2D 31 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 '-100O),'$',0,0.
000090: 3B 43 75 72 73 6F 72 20 75 70 2E 0D 0A 74 62 3A ;Cursor up...tb:
0000A0: 09 64 62 09 31 32 4F 2C 27 24 27 2C 30 2C 30 09 .db.12O,'$',0,0.
0000B0: 09 3B 43 75 72 73 6F 72 20 64 6F 77 6E 2E 0D 0A .;Cursor down...
0000C0: 74 63 3A 09 64 62 09 28 27 46 27 2D 31 30 30 4F tc:.db.('F'-100O
0000D0: 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 73 6F ),'$',0,0.;Curso
0000E0: 72 20 72 69 67 68 74 2E 0D 0A 74 64 3A 09 64 62 r right...td:.db
0000F0: 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 .'$',0,0,0..;(ca
000100: 6E 27 74 29 20 43 75 72 73 6F 72 20 6C 65 66 74 n't) Cursor left
000110: 0D 0A 74 65 3A 09 64 62 09 27 24 27 2C 30 2C 30 ..te:.db.'$',0,0
000120: 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 43 6C 65 ,0..;(can't) Cle
000130: 61 72 20 64 69 73 70 6C 61 79 0D 0A 74 66 3A 09 ar display..tf:.
000140: 64 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 db.'$',0,0,0..;(
000150: 63 61 6E 27 74 29 20 45 6E 74 65 72 20 67 72 61 can't) Enter gra
000160: 70 68 69 63 73 20 6D 6F 64 65 0D 0A 74 67 3A 09 phics mode..tg:.
000170: 64 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 db.'$',0,0,0..;(
000180: 63 61 6E 27 74 29 20 45 78 69 74 20 67 72 61 70 can't) Exit grap
000190: 68 69 63 73 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 hics mode..th:.d
0001A0: 62 09 28 27 41 27 2D 31 30 30 4F 29 2C 27 24 27 b.('A'-100O),'$'
0001B0: 2C 30 2C 30 09 3B 43 75 72 73 6F 72 20 68 6F 6D ,0,0.;Cursor hom
0001C0: 65 2E 0D 0A 74 69 3A 09 64 62 09 28 27 4B 27 2D e...ti:.db.('K'-
0001D0: 31 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 52 100O),'$',0,0.;R
0001E0: 65 76 65 72 73 65 20 6C 69 6E 65 66 65 65 64 2E everse linefeed.
0001F0: 0D 0A 74 6A 3A 09 64 62 09 65 73 63 2C 27 7E 6B ..tj:.db.esc,'~k
Size : 512 (Real : 512)
000000: 68 74 2E 0D 0A 74 64 3A 09 64 62 09 27 24 27 2C ht...td:.db.'$',
000010: 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 0,0,0..;(can't)
000020: 43 75 72 73 6F 72 20 6C 65 66 74 0D 0A 74 65 3A Cursor left..te:
000030: 09 64 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B .db.'$',0,0,0..;
000040: 28 63 61 6E 27 74 29 20 43 6C 65 61 72 20 64 69 (can't) Clear di
000050: 73 70 6C 61 79 0D 0A 74 66 3A 09 64 62 09 27 24 splay..tf:.db.'$
000060: 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 ',0,0,0..;(can't
000070: 29 20 45 6E 74 65 72 20 67 72 61 70 68 69 63 73 ) Enter graphics
000080: 20 6D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 27 24 mode..tg:.db.'$
000090: 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 ',0,0,0..;(can't
0000A0: 29 20 45 78 69 74 20 67 72 61 70 68 69 63 73 20 ) Exit graphics
0000B0: 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 09 28 27 42 mode..th:.db.('B
0000C0: 27 2D 31 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 '-100O),'$',0,0.
0000D0: 3B 43 75 72 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 ;Cursor home...t
0000E0: 69 3A 09 64 62 09 28 27 55 27 2D 31 30 30 4F 29 i:.db.('U'-100O)
0000F0: 2C 27 24 27 2C 30 2C 30 09 3B 52 65 76 65 72 73 ,'$',0,0.;Revers
000100: 65 20 6C 69 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A e linefeed...tj:
000110: 09 64 62 09 28 27 50 27 2D 31 30 30 4F 29 2C 27 .db.('P'-100O),'
000120: 24 27 2C 30 2C 30 09 3B 43 6C 65 61 72 20 74 6F $',0,0.;Clear to
000130: 20 65 6E 64 20 6F 66 20 73 63 72 65 65 6E 2E 0D end of screen..
000140: 0A 74 6B 3A 09 64 62 09 28 27 51 27 2D 31 30 30 .tk:.db.('Q'-100
000150: 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 6C 65 61 O),'$',0,0.;Clea
000160: 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 r to end of line
000170: 2E 0D 0A 45 4E 44 49 46 3B 76 65 63 74 6F 72 0D ...ENDIF;vector.
000180: 0A 3B 0C 0D 0A 49 46 20 74 65 6C 63 6F 6E 0D 0A .;...IF telcon..
000190: 73 79 73 76 65 72 3A 09 64 62 09 27 54 65 6C 63 sysver:.db.'Telc
0001A0: 6F 6E 20 5A 6F 72 62 61 24 27 0D 0A 45 4E 44 49 on Zorba$'..ENDI
0001B0: 46 3B 74 65 6C 63 6F 6E 0D 0A 0D 0A 49 46 20 68 F;telcon....IF h
0001C0: 65 61 74 68 0D 0A 73 79 73 76 65 72 3A 09 64 62 eath..sysver:.db
0001D0: 09 27 48 65 61 74 68 2F 5A 65 6E 69 74 68 20 38 .'Heath/Zenith 8
0001E0: 39 24 27 0D 0A 45 4E 44 49 46 3B 68 65 61 74 68 9$'..ENDIF;heath
0001F0: 0D 0A 0D 0A 49 46 20 7A 31 30 30 0D 0A 73 79 73 ....IF z100..sys
Size : 512 (Real : 512)
000000: 24 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 $',0..;Clear to
000010: 65 6E 64 20 6F 66 20 73 63 72 65 65 6E 2E 0D 0A end of screen...
000020: 74 6B 3A 09 64 62 09 65 73 63 2C 27 7E 4B 24 27 tk:.db.esc,'~K$'
000030: 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 65 6E ,0..;Clear to en
000040: 64 20 6F 66 20 6C 69 6E 65 2E 0D 0A 45 4E 44 49 d of line...ENDI
000050: 46 3B 62 72 61 69 6E 0D 0A 0D 0A 3B 0C 0D 0A 49 F;brain....;...I
000060: 46 20 6F 73 62 72 6E 31 0D 0A 73 79 73 76 65 72 F osbrn1..sysver
000070: 3A 09 64 62 09 27 4F 73 62 6F 72 6E 65 20 31 24 :.db.'Osborne 1$
000080: 27 0D 0A 6F 75 74 6C 69 6E 3A 09 64 62 09 31 41 '..outlin:.db.1A
000090: 48 2C 63 72 2C 6C 66 2C 74 61 62 2C 27 24 27 09 H,cr,lf,tab,'$'.
0000A0: 3B 28 43 6C 65 61 72 20 73 63 72 65 65 6E 2C 20 ;(Clear screen,
0000B0: 68 6F 6D 65 20 63 75 72 73 6F 72 29 0D 0A 65 72 home cursor)..er
0000C0: 61 73 63 72 3A 09 64 62 09 31 41 48 2C 27 24 27 ascr:.db.1AH,'$'
0000D0: 09 09 09 3B 43 6C 65 61 72 20 73 63 72 65 65 6E ...;Clear screen
0000E0: 20 61 6E 64 20 67 6F 20 68 6F 6D 65 2E 0D 0A 65 and go home...e
0000F0: 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 65 73 63 ralin:.db.cr,esc
000100: 2C 27 54 24 27 09 09 3B 43 6C 65 61 72 20 6C 69 ,'T$'..;Clear li
000110: 6E 65 2E 0D 0A 64 65 6C 73 74 72 3A 09 64 62 09 ne...delstr:.db.
000120: 62 73 2C 62 73 2C 27 24 27 09 09 3B 20 41 64 6A bs,bs,'$'..; Adj
000130: 75 73 74 20 66 6F 72 20 64 65 6C 65 74 65 0D 0A ust for delete..
000140: 63 75 72 6C 64 6E 3A 09 64 62 09 65 73 63 2C 27 curldn:.db.esc,'
000150: 3D 24 27 09 09 3B 43 75 72 73 6F 72 20 6C 65 61 =$'..;Cursor lea
000160: 64 2D 69 6E 0D 0A 74 74 61 62 3A 09 09 09 09 09 d-in..ttab:.....
000170: 3B 54 61 62 6C 65 20 73 74 61 72 74 20 6C 6F 63 ;Table start loc
000180: 61 74 69 6F 6E 2E 0D 0A 74 61 3A 09 64 62 09 28 ation...ta:.db.(
000190: 27 4B 27 2D 31 30 30 4F 29 2C 27 24 27 2C 30 2C 'K'-100O),'$',0,
0001A0: 30 09 3B 43 75 72 73 6F 72 20 75 70 2E 0D 0A 74 0.;Cursor up...t
0001B0: 62 3A 09 64 62 09 31 32 4F 2C 27 24 27 2C 30 2C b:.db.12O,'$',0,
0001C0: 30 09 09 3B 43 75 72 73 6F 72 20 64 6F 77 6E 2E 0..;Cursor down.
0001D0: 0D 0A 74 63 3A 09 64 62 09 28 27 4C 27 2D 31 30 ..tc:.db.('L'-10
0001E0: 30 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 0O),'$',0,0.;Cur
0001F0: 73 6F 72 20 72 69 67 68 74 2E 0D 0A 74 64 3A 09 sor right...td:.
Size : 512 (Real : 512)
000000: 76 65 72 3A 09 64 62 09 27 48 65 61 74 68 2F 5A ver:.db.'Heath/Z
000010: 65 6E 69 74 68 20 5A 2D 31 30 30 20 43 50 2F 4D enith Z-100 CP/M
000020: 24 27 0D 0A 45 4E 44 49 46 3B 7A 31 30 30 0D 0A $'..ENDIF;z100..
000030: 0D 0A 49 46 20 76 74 35 32 09 09 3B 20 44 45 43 ..IF vt52..; DEC
000040: 20 56 54 35 32 0D 0A 74 74 79 74 79 70 3A 09 64 VT52..ttytyp:.d
000050: 62 09 27 56 54 35 32 24 27 0D 0A 45 4E 44 49 46 b.'VT52$'..ENDIF
000060: 3B 76 74 35 32 0D 0A 0D 0A 49 46 20 68 65 61 74 ;vt52....IF heat
000070: 68 20 4F 52 20 7A 31 30 30 20 4F 52 20 74 65 6C h OR z100 OR tel
000080: 63 6F 6E 20 4F 52 20 76 74 35 32 0D 0A 6F 75 74 con OR vt52..out
000090: 6C 69 6E 3A 09 64 62 09 65 73 63 2C 27 48 27 2C lin:.db.esc,'H',
0000A0: 65 73 63 2C 27 4A 27 2C 63 72 2C 6C 66 2C 74 61 esc,'J',cr,lf,ta
0000B0: 62 2C 74 61 62 2C 27 24 27 0D 0A 65 72 61 73 63 b,tab,'$'..erasc
0000C0: 72 3A 09 64 62 09 65 73 63 2C 27 48 27 2C 65 73 r:.db.esc,'H',es
0000D0: 63 2C 27 4A 24 27 20 09 3B 43 6C 65 61 72 20 73 c,'J$' .;Clear s
0000E0: 63 72 65 65 6E 20 61 6E 64 20 67 6F 20 68 6F 6D creen and go hom
0000F0: 65 2E 0D 0A 65 72 61 6C 69 6E 3A 09 64 62 09 63 e...eralin:.db.c
000100: 72 2C 65 73 63 2C 27 4B 24 27 09 09 3B 43 6C 65 r,esc,'K$'..;Cle
000110: 61 72 20 6C 69 6E 65 2E 0D 0A 63 75 72 6C 64 6E ar line...curldn
000120: 3A 09 64 62 09 65 73 63 2C 27 59 24 27 09 09 3B :.db.esc,'Y$'..;
000130: 63 75 72 73 6F 72 20 6C 65 61 64 69 6E 0D 0A 74 cursor leadin..t
000140: 74 61 62 3A 09 09 09 09 09 3B 54 61 62 6C 65 20 tab:.....;Table
000150: 73 74 61 72 74 20 6C 6F 63 61 74 69 6F 6E 2E 0D start location..
000160: 0A 74 61 3A 09 64 62 09 65 73 63 2C 27 41 24 27 .ta:.db.esc,'A$'
000170: 2C 30 09 09 3B 43 75 72 73 6F 72 20 75 70 2E 0D ,0..;Cursor up..
000180: 0A 74 62 3A 09 64 62 09 65 73 63 2C 27 42 24 27 .tb:.db.esc,'B$'
000190: 2C 30 09 09 3B 43 75 72 73 6F 72 20 64 6F 77 6E ,0..;Cursor down
0001A0: 2E 0D 0A 74 63 3A 09 64 62 09 65 73 63 2C 27 43 ...tc:.db.esc,'C
0001B0: 24 27 2C 30 09 09 3B 43 75 72 73 6F 72 20 72 69 $',0..;Cursor ri
0001C0: 67 68 74 2E 0D 0A 74 64 3A 09 64 62 09 65 73 63 ght...td:.db.esc
0001D0: 2C 27 44 24 27 2C 30 09 09 3B 43 75 72 73 6F 72 ,'D$',0..;Cursor
0001E0: 20 6C 65 66 74 0D 0A 74 65 3A 09 64 62 09 65 73 left..te:.db.es
0001F0: 63 2C 27 45 24 27 2C 30 09 09 3B 43 6C 65 61 72 c,'E$',0..;Clear
Size : 512 (Real : 512)
000000: 64 62 09 62 73 2C 27 24 27 2C 30 2C 30 09 09 3B db.bs,'$',0,0..;
000010: 43 75 72 73 6F 72 20 6C 65 66 74 2E 0D 0A 74 65 Cursor left...te
000020: 3A 09 64 62 09 73 75 62 74 2C 27 24 27 2C 30 2C :.db.subt,'$',0,
000030: 30 09 09 3B 43 6C 65 61 72 20 73 63 72 65 65 6E 0..;Clear screen
000040: 2E 0D 0A 74 66 3A 09 64 62 09 27 24 27 2C 30 2C ...tf:.db.'$',0,
000050: 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 45 6E 0,0..;(can't) En
000060: 74 65 72 20 67 72 61 70 68 69 63 73 20 6D 6F 64 ter graphics mod
000070: 65 0D 0A 74 67 3A 09 64 62 09 27 24 27 2C 30 2C e..tg:.db.'$',0,
000080: 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 45 78 0,0..;(can't) Ex
000090: 69 74 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 it graphics mode
0000A0: 0D 0A 74 68 3A 09 64 62 09 28 27 5E 27 2D 31 30 ..th:.db.('^'-10
0000B0: 30 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 0O),'$',0,0.;Cur
0000C0: 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 69 3A 09 64 sor home...ti:.d
0000D0: 62 09 28 27 4B 27 2D 31 30 30 4F 29 2C 27 24 27 b.('K'-100O),'$'
0000E0: 2C 30 2C 30 09 3B 52 65 76 65 72 73 65 20 6C 69 ,0,0.;Reverse li
0000F0: 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A 09 64 62 09 nefeed...tj:.db.
000100: 65 73 63 2C 27 54 24 27 2C 30 09 09 3B 28 63 61 esc,'T$',0..;(ca
000110: 6E 27 74 29 20 43 6C 65 61 72 20 74 6F 20 65 6E n't) Clear to en
000120: 64 20 6F 66 20 73 63 72 65 65 6E 2E 0D 0A 74 6B d of screen...tk
000130: 3A 09 64 62 09 65 73 63 2C 27 54 24 27 2C 30 09 :.db.esc,'T$',0.
000140: 09 3B 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F .;Clear to end o
000150: 66 20 6C 69 6E 65 2E 0D 0A 45 4E 44 49 46 3B 6F f line...ENDIF;o
000160: 73 62 72 6E 31 0D 0A 3B 0C 0D 0A 49 46 20 61 70 sbrn1..;...IF ap
000170: 70 6C 65 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 ple..sysver:.db.
000180: 27 41 70 70 6C 65 20 49 49 20 43 50 2F 4D 24 27 'Apple II CP/M$'
000190: 0D 0A 6F 75 74 6C 69 6E 3A 09 64 62 09 28 27 5E ..outlin:.db.('^
0001A0: 27 2D 31 30 30 4F 29 2C 65 73 63 2C 27 59 27 2C '-100O),esc,'Y',
0001B0: 63 72 2C 6C 66 2C 27 20 20 24 27 0D 0A 65 72 61 cr,lf,' $'..era
0001C0: 73 63 72 3A 09 64 62 09 28 27 5E 27 2D 31 30 30 scr:.db.('^'-100
0001D0: 4F 29 2C 65 73 63 2C 27 59 24 27 09 3B 43 6C 65 O),esc,'Y$'.;Cle
0001E0: 61 72 20 73 63 72 65 65 6E 20 61 6E 64 20 67 6F ar screen and go
0001F0: 20 68 6F 6D 65 2E 0D 0A 65 72 61 6C 69 6E 3A 09 home...eralin:.
Size : 512 (Real : 512)
000000: 20 64 69 73 70 6C 61 79 0D 0A 74 66 3A 09 64 62 display..tf:.db
000010: 09 65 73 63 2C 27 46 24 27 2C 30 09 09 3B 45 6E .esc,'F$',0..;En
000020: 74 65 72 20 47 72 61 70 68 69 63 73 20 4D 6F 64 ter Graphics Mod
000030: 65 0D 0A 74 67 3A 09 64 62 09 65 73 63 2C 27 47 e..tg:.db.esc,'G
000040: 24 27 2C 30 09 09 3B 45 78 69 74 20 47 72 61 70 $',0..;Exit Grap
000050: 68 69 63 73 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 hics mode..th:.d
000060: 62 09 65 73 63 2C 27 48 24 27 2C 30 09 09 3B 43 b.esc,'H$',0..;C
000070: 75 72 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 69 3A ursor home...ti:
000080: 09 64 62 09 65 73 63 2C 27 49 24 27 2C 30 09 09 .db.esc,'I$',0..
000090: 3B 52 65 76 65 72 73 65 20 6C 69 6E 65 66 65 65 ;Reverse linefee
0000A0: 64 2E 0D 0A 74 6A 3A 09 64 62 09 65 73 63 2C 27 d...tj:.db.esc,'
0000B0: 4A 24 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F J$',0..;Clear to
0000C0: 20 65 6E 64 20 6F 66 20 73 63 72 65 65 6E 2E 0D end of screen..
0000D0: 0A 74 6B 3A 09 64 62 09 65 73 63 2C 27 4B 24 27 .tk:.db.esc,'K$'
0000E0: 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 65 6E ,0..;Clear to en
0000F0: 64 20 6F 66 20 6C 69 6E 65 2E 0D 0A 45 4E 44 49 d of line...ENDI
000100: 46 3B 68 65 61 74 68 20 4F 52 20 7A 31 30 30 20 F;heath OR z100
000110: 4F 52 20 74 65 6C 63 6F 6E 20 4F 52 20 76 74 35 OR telcon OR vt5
000120: 32 0D 0A 3B 0C 0D 0A 49 46 20 74 72 73 38 30 6C 2..;...IF trs80l
000130: 62 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 27 54 b..sysver:.db.'T
000140: 52 53 2D 38 30 20 49 49 20 4C 69 66 65 62 6F 61 RS-80 II Lifeboa
000150: 74 20 43 50 2F 4D 24 27 0D 0A 6F 75 74 6C 69 6E t CP/M$'..outlin
000160: 3A 09 64 62 09 65 73 63 2C 27 3A 27 2C 63 72 2C :.db.esc,':',cr,
000170: 6C 66 2C 74 61 62 2C 74 61 62 2C 27 24 27 0D 0A lf,tab,tab,'$'..
000180: 65 72 61 73 63 72 3A 09 64 62 09 65 73 63 2C 27 erascr:.db.esc,'
000190: 3A 24 27 09 09 3B 43 6C 65 61 72 20 73 63 72 65 :$'..;Clear scre
0001A0: 65 6E 20 61 6E 64 20 67 6F 20 68 6F 6D 65 2E 0D en and go home..
0001B0: 0A 65 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 65 .eralin:.db.cr,e
0001C0: 73 63 2C 27 54 24 27 09 09 3B 43 6C 65 61 72 20 sc,'T$'..;Clear
0001D0: 6C 69 6E 65 2E 0D 0A 63 75 72 6C 64 6E 3A 09 64 line...curldn:.d
0001E0: 62 09 65 73 63 2C 27 3D 24 27 09 09 3B 43 75 72 b.esc,'=$'..;Cur
0001F0: 73 6F 72 20 6C 65 61 64 2D 69 6E 0D 0A 74 74 61 sor lead-in..tta
Size : 512 (Real : 512)
000000: 64 62 09 63 72 2C 65 73 63 2C 27 54 24 27 09 09 db.cr,esc,'T$'..
000010: 3B 43 6C 65 61 72 20 6C 69 6E 65 2E 0D 0A 64 65 ;Clear line...de
000020: 6C 73 74 72 3A 09 64 62 09 62 73 2C 62 73 2C 27 lstr:.db.bs,bs,'
000030: 24 27 09 09 3B 20 41 64 6A 75 73 74 20 66 6F 72 $'..; Adjust for
000040: 20 64 65 6C 65 74 65 0D 0A 63 75 72 6C 64 6E 3A delete..curldn:
000050: 09 64 62 09 65 73 63 2C 27 3D 24 27 09 09 3B 43 .db.esc,'=$'..;C
000060: 75 72 73 6F 72 20 6C 65 61 64 2D 69 6E 0D 0A 74 ursor lead-in..t
000070: 74 61 62 3A 09 09 09 09 09 3B 54 61 62 6C 65 20 tab:.....;Table
000080: 73 74 61 72 74 20 6C 6F 63 61 74 69 6F 6E 2E 0D start location..
000090: 0A 74 61 3A 09 64 62 09 28 27 4B 27 2D 31 30 30 .ta:.db.('K'-100
0000A0: 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 73 O),'$',0,0.;Curs
0000B0: 6F 72 20 75 70 2E 0D 0A 74 62 3A 09 64 62 09 31 or up...tb:.db.1
0000C0: 32 4F 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 2O,'$',0,0..;Cur
0000D0: 73 6F 72 20 64 6F 77 6E 2E 0D 0A 74 63 3A 09 64 sor down...tc:.d
0000E0: 62 09 28 27 46 27 2D 31 30 30 4F 29 2C 27 24 27 b.('F'-100O),'$'
0000F0: 2C 30 2C 30 09 3B 43 75 72 73 6F 72 20 72 69 67 ,0,0.;Cursor rig
000100: 68 74 2E 0D 0A 74 64 3A 09 64 62 09 27 24 27 2C ht...td:.db.'$',
000110: 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 0,0,0..;(can't)
000120: 43 75 72 73 6F 72 20 6C 65 66 74 0D 0A 74 65 3A Cursor left..te:
000130: 09 64 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B .db.'$',0,0,0..;
000140: 28 63 61 6E 27 74 29 20 43 6C 65 61 72 20 64 69 (can't) Clear di
000150: 73 70 6C 61 79 0D 0A 74 66 3A 09 64 62 09 27 24 splay..tf:.db.'$
000160: 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 ',0,0,0..;(can't
000170: 29 20 45 6E 74 65 72 20 67 72 61 70 68 69 63 73 ) Enter graphics
000180: 20 6D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 27 24 mode..tg:.db.'$
000190: 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 ',0,0,0..;(can't
0001A0: 29 20 45 78 69 74 20 67 72 61 70 68 69 63 73 20 ) Exit graphics
0001B0: 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 09 28 27 5E mode..th:.db.('^
0001C0: 27 2D 31 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 '-100O),'$',0,0.
0001D0: 3B 43 75 72 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 ;Cursor home...t
0001E0: 69 3A 09 64 62 09 28 27 4B 27 2D 31 30 30 4F 29 i:.db.('K'-100O)
0001F0: 2C 27 24 27 2C 30 2C 30 09 3B 52 65 76 65 72 73 ,'$',0,0.;Revers
Size : 512 (Real : 512)
000000: 62 3A 09 09 09 09 09 3B 54 61 62 6C 65 20 73 74 b:.....;Table st
000010: 61 72 74 20 6C 6F 63 61 74 69 6F 6E 2E 0D 0A 74 art location...t
000020: 61 3A 09 64 62 09 30 42 48 2C 27 24 27 2C 30 2C a:.db.0BH,'$',0,
000030: 30 09 09 3B 43 75 72 73 6F 72 20 75 70 2E 0D 0A 0..;Cursor up...
000040: 74 62 3A 09 64 62 09 30 41 48 2C 27 24 27 2C 30 tb:.db.0AH,'$',0
000050: 2C 30 09 09 3B 43 75 72 73 6F 72 20 64 6F 77 6E ,0..;Cursor down
000060: 2E 0D 0A 74 63 3A 09 64 62 09 30 43 48 2C 27 24 ...tc:.db.0CH,'$
000070: 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 72 ',0,0..;Cursor r
000080: 69 67 68 74 2E 0D 0A 74 64 3A 09 64 62 09 62 73 ight...td:.db.bs
000090: 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F ,'$',0,0..;Curso
0000A0: 72 20 6C 65 66 74 0D 0A 74 65 3A 09 64 62 09 65 r left..te:.db.e
0000B0: 73 63 2C 27 3A 24 27 2C 30 09 09 3B 43 6C 65 61 sc,':$',0..;Clea
0000C0: 72 20 64 69 73 70 6C 61 79 0D 0A 74 66 3A 09 64 r display..tf:.d
0000D0: 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 b.'$',0,0,0..;(c
0000E0: 61 6E 27 74 29 20 45 6E 74 65 72 20 47 72 61 70 an't) Enter Grap
0000F0: 68 69 63 73 20 4D 6F 64 65 0D 0A 74 67 3A 09 64 hics Mode..tg:.d
000100: 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 b.'$',0,0,0..;(c
000110: 61 6E 27 74 29 20 45 78 69 74 20 47 72 61 70 68 an't) Exit Graph
000120: 69 63 73 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 ics mode..th:.db
000130: 09 31 45 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 .1EH,'$',0,0..;C
000140: 75 72 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 69 3A ursor home...ti:
000150: 09 64 62 09 30 42 48 2C 27 24 27 2C 30 2C 30 09 .db.0BH,'$',0,0.
000160: 09 3B 52 65 76 65 72 73 65 20 6C 69 6E 65 66 65 .;Reverse linefe
000170: 65 64 2E 0D 0A 74 6A 3A 09 64 62 09 65 73 63 2C ed...tj:.db.esc,
000180: 27 59 24 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 'Y$',0..;Clear t
000190: 6F 20 65 6E 64 20 6F 66 20 73 63 72 65 65 6E 2E o end of screen.
0001A0: 0D 0A 74 6B 3A 09 64 62 09 65 73 63 2C 27 54 24 ..tk:.db.esc,'T$
0001B0: 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 65 ',0..;Clear to e
0001C0: 6E 64 20 6F 66 20 6C 69 6E 65 2E 0D 0A 45 4E 44 nd of line...END
0001D0: 49 46 3B 74 72 73 38 30 6C 62 0D 0A 3B 0C 0D 0A IF;trs80lb..;...
0001E0: 49 46 20 74 72 73 38 30 70 74 0D 0A 73 79 73 76 IF trs80pt..sysv
0001F0: 65 72 3A 09 64 62 09 27 54 52 53 2D 38 30 20 49 er:.db.'TRS-80 I
Size : 512 (Real : 512)
000000: 30 41 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 0AH,'$',0,0..;Cu
000010: 72 73 6F 72 20 64 6F 77 6E 2E 0D 0A 74 63 3A 09 rsor down...tc:.
000020: 64 62 09 30 43 48 2C 27 24 27 2C 30 2C 30 09 09 db.0CH,'$',0,0..
000030: 3B 43 75 72 73 6F 72 20 72 69 67 68 74 2E 0D 0A ;Cursor right...
000040: 74 64 3A 09 64 62 09 62 73 2C 27 24 27 2C 30 2C td:.db.bs,'$',0,
000050: 30 09 09 3B 43 75 72 73 6F 72 20 6C 65 66 74 0D 0..;Cursor left.
000060: 0A 74 65 3A 09 64 62 09 73 75 62 74 2C 27 24 27 .te:.db.subt,'$'
000070: 2C 30 2C 30 09 09 3B 43 6C 65 61 72 20 64 69 73 ,0,0..;Clear dis
000080: 70 6C 61 79 0D 0A 74 66 3A 09 64 62 09 65 73 63 play..tf:.db.esc
000090: 2C 27 47 24 27 2C 30 09 09 3B 20 45 6E 74 65 72 ,'G$',0..; Enter
0000A0: 20 47 72 61 70 68 69 63 73 20 4D 6F 64 65 20 28 Graphics Mode (
0000B0: 73 65 6C 65 63 74 20 47 72 65 65 6B 29 0D 0A 74 select Greek)..t
0000C0: 67 3A 09 64 62 09 65 73 63 2C 27 41 24 27 2C 30 g:.db.esc,'A$',0
0000D0: 09 09 3B 20 45 78 69 74 20 47 72 61 70 68 69 63 ..; Exit Graphic
0000E0: 73 20 6D 6F 64 65 20 28 73 65 6C 65 63 74 20 41 s mode (select A
0000F0: 53 43 49 49 29 0D 0A 74 68 3A 09 64 62 09 31 45 SCII)..th:.db.1E
000100: 48 2C 27 24 27 2C 30 2C 30 09 09 3B 20 43 75 72 H,'$',0,0..; Cur
000110: 73 6F 72 20 68 6F 6D 65 2E 09 09 5B 55 54 4B 30 sor home...[UTK0
000120: 31 36 5D 0D 0A 74 69 3A 09 64 62 09 65 73 63 2C 16]..ti:.db.esc,
000130: 27 45 27 2C 27 24 27 2C 30 09 09 3B 20 52 65 76 'E','$',0..; Rev
000140: 65 72 73 65 20 6C 69 6E 65 66 65 65 64 2E 20 28 erse linefeed. (
000150: 69 6E 73 65 72 74 20 6C 69 6E 65 29 0D 0A 74 6A insert line)..tj
000160: 3A 09 64 62 09 27 57 27 2D 31 30 30 4F 2C 27 24 :.db.'W'-100O,'$
000170: 27 2C 30 2C 30 09 3B 20 43 6C 65 61 72 20 74 6F ',0,0.; Clear to
000180: 20 65 6E 64 20 6F 66 20 73 63 72 65 65 6E 2E 0D end of screen..
000190: 0A 74 6B 3A 09 64 62 09 27 58 27 2D 31 30 30 4F .tk:.db.'X'-100O
0001A0: 2C 27 24 27 2C 30 2C 30 09 3B 20 43 6C 65 61 72 ,'$',0,0.; Clear
0001B0: 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 2E to end of line.
0001C0: 0D 0A 45 4E 44 49 46 20 3B 20 6B 70 69 69 0D 0A ..ENDIF ; kpii..
0001D0: 3B 0C 0D 0A 49 46 20 78 65 72 38 32 30 0D 0A 73 ;...IF xer820..s
0001E0: 79 73 76 65 72 3A 09 64 62 09 27 58 65 72 6F 78 ysver:.db.'Xerox
0001F0: 20 38 32 30 24 27 0D 0A 6F 75 74 6C 69 6E 3A 09 820$'..outlin:.
Size : 512 (Real : 512)
000000: 49 20 50 2B 54 20 43 50 2F 4D 24 27 0D 0A 6F 75 I P+T CP/M$'..ou
000010: 74 6C 69 6E 3A 09 64 62 09 30 43 48 2C 63 72 2C tlin:.db.0CH,cr,
000020: 6C 66 2C 74 61 62 2C 74 61 62 2C 27 24 27 0D 0A lf,tab,tab,'$'..
000030: 65 72 61 73 63 72 3A 09 64 62 09 30 43 48 2C 27 erascr:.db.0CH,'
000040: 24 27 09 09 09 3B 43 6C 65 61 72 20 73 63 72 65 $'...;Clear scre
000050: 65 6E 20 61 6E 64 20 67 6F 20 68 6F 6D 65 2E 0D en and go home..
000060: 0A 65 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 30 .eralin:.db.cr,0
000070: 31 48 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 6C 1H,'$'..;Clear l
000080: 69 6E 65 2E 0D 0A 63 75 72 6C 64 6E 3A 09 64 62 ine...curldn:.db
000090: 09 65 73 63 2C 27 59 24 27 09 09 3B 43 75 72 73 .esc,'Y$'..;Curs
0000A0: 6F 72 20 6C 65 61 64 2D 69 6E 0D 0A 74 74 61 62 or lead-in..ttab
0000B0: 3A 09 3B 54 61 62 6C 65 20 73 74 61 72 74 20 6C :.;Table start l
0000C0: 6F 63 61 74 69 6F 6E 09 09 3B 4D 75 73 74 20 62 ocation..;Must b
0000D0: 65 20 34 20 62 79 74 65 73 20 65 61 63 68 0D 0A e 4 bytes each..
0000E0: 74 61 3A 09 64 62 09 31 45 48 2C 27 24 27 2C 30 ta:.db.1EH,'$',0
0000F0: 2C 30 09 09 3B 43 75 72 73 6F 72 20 75 70 2E 0D ,0..;Cursor up..
000100: 0A 74 62 3A 09 64 62 09 31 46 48 2C 27 24 27 2C .tb:.db.1FH,'$',
000110: 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 64 6F 77 0,0..;Cursor dow
000120: 6E 2E 0D 0A 74 63 3A 09 64 62 09 31 44 48 2C 27 n...tc:.db.1DH,'
000130: 24 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 $',0,0..;Cursor
000140: 72 69 67 68 74 2E 0D 0A 74 64 3A 09 64 62 09 31 right...td:.db.1
000150: 43 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 CH,'$',0,0..;Cur
000160: 73 6F 72 20 6C 65 66 74 0D 0A 74 65 3A 09 64 62 sor left..te:.db
000170: 09 30 43 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 .0CH,'$',0,0..;C
000180: 6C 65 61 72 20 64 69 73 70 6C 61 79 0D 0A 74 66 lear display..tf
000190: 3A 09 64 62 09 31 31 48 2C 27 24 27 2C 30 2C 30 :.db.11H,'$',0,0
0001A0: 09 09 3B 45 6E 74 65 72 20 47 72 61 70 68 69 63 ..;Enter Graphic
0001B0: 73 20 4D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 31 s Mode..tg:.db.1
0001C0: 34 48 2C 27 24 27 2C 30 2C 30 09 09 3B 45 78 69 4H,'$',0,0..;Exi
0001D0: 74 20 47 72 61 70 68 69 63 73 20 6D 6F 64 65 0D t Graphics mode.
0001E0: 0A 74 68 3A 09 64 62 09 30 36 48 2C 27 24 27 2C .th:.db.06H,'$',
0001F0: 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 68 6F 6D 0,0..;Cursor hom
Size : 512 (Real : 512)
000000: 64 62 09 73 75 62 74 2C 63 72 2C 6C 66 2C 74 61 db.subt,cr,lf,ta
000010: 62 2C 74 61 62 2C 27 24 27 0D 0A 65 72 61 73 63 b,tab,'$'..erasc
000020: 72 3A 09 64 62 09 73 75 62 74 2C 27 24 27 09 09 r:.db.subt,'$'..
000030: 3B 43 6C 65 61 72 20 73 63 72 65 65 6E 20 61 6E ;Clear screen an
000040: 64 20 68 6F 6D 65 2E 0D 0A 65 72 61 6C 69 6E 3A d home...eralin:
000050: 09 64 62 09 63 72 2C 31 38 48 2C 27 24 27 09 09 .db.cr,18H,'$'..
000060: 3B 43 6C 65 61 72 20 6C 69 6E 65 2E 0D 0A 63 75 ;Clear line...cu
000070: 72 6C 64 6E 3A 09 64 62 09 65 73 63 2C 27 3D 24 rldn:.db.esc,'=$
000080: 27 09 09 3B 43 75 72 73 6F 72 20 6C 65 61 64 2D '..;Cursor lead-
000090: 69 6E 0D 0A 64 65 6C 73 74 72 3A 09 64 62 09 62 in..delstr:.db.b
0000A0: 73 2C 27 20 27 2C 62 73 2C 62 73 2C 27 24 27 09 s,' ',bs,bs,'$'.
0000B0: 3B 20 61 64 6A 75 73 74 20 66 6F 72 20 65 63 68 ; adjust for ech
0000C0: 6F 69 6E 67 20 64 65 6C 65 74 65 20 63 68 61 72 oing delete char
0000D0: 61 63 74 65 72 0D 0A 74 74 61 62 3A 09 09 09 09 acter..ttab:....
0000E0: 09 3B 54 61 62 6C 65 20 73 74 61 72 74 20 6C 6F .;Table start lo
0000F0: 63 61 74 69 6F 6E 2E 0D 0A 74 61 3A 09 64 62 09 cation...ta:.db.
000100: 30 42 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 0BH,'$',0,0..;Cu
000110: 72 73 6F 72 20 75 70 2E 0D 0A 74 62 3A 09 64 62 rsor up...tb:.db
000120: 09 30 41 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 .0AH,'$',0,0..;C
000130: 75 72 73 6F 72 20 64 6F 77 6E 2E 0D 0A 74 63 3A ursor down...tc:
000140: 09 64 62 09 30 43 48 2C 27 24 27 2C 30 2C 30 09 .db.0CH,'$',0,0.
000150: 09 3B 43 75 72 73 6F 72 20 72 69 67 68 74 2E 0D .;Cursor right..
000160: 0A 74 64 3A 09 64 62 09 62 73 2C 27 24 27 2C 30 .td:.db.bs,'$',0
000170: 2C 30 09 09 3B 43 75 72 73 6F 72 20 6C 65 66 74 ,0..;Cursor left
000180: 0D 0A 74 65 3A 09 64 62 09 73 75 62 74 2C 27 24 ..te:.db.subt,'$
000190: 27 2C 30 2C 30 09 09 3B 43 6C 65 61 72 20 64 69 ',0,0..;Clear di
0001A0: 73 70 6C 61 79 0D 0A 74 66 3A 09 64 62 09 27 24 splay..tf:.db.'$
0001B0: 27 2C 30 2C 30 2C 30 09 09 3B 20 45 6E 74 65 72 ',0,0,0..; Enter
0001C0: 20 47 72 61 70 68 69 63 73 20 4D 6F 64 65 20 28 Graphics Mode (
0001D0: 63 61 6E 27 74 29 0D 0A 74 67 3A 09 64 62 09 27 can't)..tg:.db.'
0001E0: 24 27 2C 30 2C 30 2C 30 09 09 3B 20 45 78 69 74 $',0,0,0..; Exit
0001F0: 20 47 72 61 70 68 69 63 73 20 6D 6F 64 65 20 28 Graphics mode (
Size : 512 (Real : 512)
000000: 65 2E 0D 0A 74 69 3A 09 64 62 09 31 45 48 2C 27 e...ti:.db.1EH,'
000010: 24 27 2C 30 2C 30 09 09 3B 52 65 76 65 72 73 65 $',0,0..;Reverse
000020: 20 6C 69 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A 09 linefeed...tj:.
000030: 64 62 09 30 32 48 2C 27 24 27 2C 30 2C 30 09 09 db.02H,'$',0,0..
000040: 3B 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 ;Clear to end of
000050: 20 73 63 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 screen...tk:.db
000060: 09 30 31 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 .01H,'$',0,0..;C
000070: 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C lear to end of l
000080: 69 6E 65 2E 0D 0A 45 4E 44 49 46 3B 74 72 73 38 ine...ENDIF;trs8
000090: 30 70 74 0D 0A 3B 0C 0D 0A 49 46 20 72 6F 62 69 0pt..;...IF robi
0000A0: 6E 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 27 56 n..sysver:.db.'V
0000B0: 54 31 38 30 20 22 52 6F 62 69 6E 22 24 27 0D 0A T180 "Robin"$'..
0000C0: 45 4E 44 49 46 3B 72 6F 62 69 6E 0D 0A 0D 0A 49 ENDIF;robin....I
0000D0: 46 20 64 6D 49 49 0D 0A 73 79 73 76 65 72 3A 09 F dmII..sysver:.
0000E0: 64 62 09 27 44 45 43 6D 61 74 65 20 49 49 20 43 db.'DECmate II C
0000F0: 50 2F 4D 2D 38 30 24 27 0D 0A 45 4E 44 49 46 3B P/M-80$'..ENDIF;
000100: 64 6D 49 49 0D 0A 0D 0A 49 46 20 76 74 31 30 30 dmII....IF vt100
000110: 0D 0A 74 74 79 74 79 70 3A 09 64 62 09 27 56 54 ..ttytyp:.db.'VT
000120: 31 30 30 24 27 0D 0A 45 4E 44 49 46 3B 76 74 31 100$'..ENDIF;vt1
000130: 30 30 0D 0A 0D 0A 49 46 20 6E 6F 72 74 68 73 0D 00....IF norths.
000140: 0A 73 79 73 76 65 72 3A 09 64 62 09 27 4E 6F 72 .sysver:.db.'Nor
000150: 74 68 73 74 61 72 20 48 6F 72 69 7A 6F 6E 24 27 thstar Horizon$'
000160: 0D 0A 45 4E 44 49 46 3B 6E 6F 72 74 68 73 0D 0A ..ENDIF;norths..
000170: 0D 0A 49 46 20 72 6F 62 69 6E 20 4F 52 20 64 6D ..IF robin OR dm
000180: 49 49 20 6F 72 20 76 74 31 30 30 0D 0A 3B 20 4E II or vt100..; N
000190: 6F 74 65 20 74 68 61 74 20 77 65 20 63 61 6E 6E ote that we cann
0001A0: 6F 74 20 73 75 70 70 6F 72 74 20 47 72 61 70 68 ot support Graph
0001B0: 69 63 73 20 4D 6F 64 65 20 6F 72 20 74 68 65 20 ics Mode or the
0001C0: 48 31 39 20 65 72 61 73 65 2D 73 63 72 65 65 6E H19 erase-screen
0001D0: 20 63 6F 6D 6D 61 6E 64 0D 0A 3B 20 28 3C 65 73 command..; (<es
0001E0: 63 3E 45 29 2C 20 62 65 63 61 75 73 65 20 74 68 c>E), because th
0001F0: 65 20 73 65 71 75 65 6E 63 65 73 20 61 72 65 20 e sequences are
Size : 512 (Real : 512)
000000: 63 61 6E 27 74 29 0D 0A 74 68 3A 09 64 62 09 31 can't)..th:.db.1
000010: 45 48 2C 27 24 27 2C 30 2C 30 09 09 3B 20 43 75 EH,'$',0,0..; Cu
000020: 72 73 6F 72 20 68 6F 6D 65 2E 09 09 5B 55 54 4B rsor home...[UTK
000030: 30 31 36 5D 0D 0A 74 69 3A 09 64 62 09 30 42 48 016]..ti:.db.0BH
000040: 2C 27 24 27 2C 30 2C 30 09 09 3B 20 52 65 76 65 ,'$',0,0..; Reve
000050: 72 73 65 20 6C 69 6E 65 66 65 65 64 2E 20 28 63 rse linefeed. (c
000060: 75 72 73 6F 72 20 75 70 29 0D 0A 74 6A 3A 09 64 ursor up)..tj:.d
000070: 62 09 31 31 48 2C 27 24 27 2C 30 2C 30 09 09 3B b.11H,'$',0,0..;
000080: 20 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 Clear to end of
000090: 20 73 63 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 screen...tk:.db
0000A0: 09 31 38 48 2C 27 24 27 2C 30 2C 30 09 09 3B 20 .18H,'$',0,0..;
0000B0: 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 Clear to end of
0000C0: 6C 69 6E 65 2E 0D 0A 45 4E 44 49 46 20 3B 20 78 line...ENDIF ; x
0000D0: 65 72 38 32 30 0D 0A 3B 0C 0D 0A 49 46 20 6D 69 er820..;...IF mi
0000E0: 6B 6B 6F 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 kko..sysver:.db.
0000F0: 27 4D 69 6B 72 6F 4D 69 6B 6B 6F 24 27 0D 0A 6F 'MikroMikko$'..o
000100: 75 74 6C 69 6E 3A 09 64 62 09 73 75 62 74 2C 63 utlin:.db.subt,c
000110: 72 2C 6C 66 2C 74 61 62 2C 27 24 27 0D 0A 65 72 r,lf,tab,'$'..er
000120: 61 73 63 72 3A 09 64 62 09 73 75 62 74 2C 27 24 ascr:.db.subt,'$
000130: 27 09 09 3B 43 6C 65 61 72 20 73 63 72 65 65 6E '..;Clear screen
000140: 20 61 6E 64 20 67 6F 20 68 6F 6D 65 2E 0D 0A 65 and go home...e
000150: 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 31 43 48 ralin:.db.cr,1CH
000160: 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 6C 69 6E ,'$'..;Clear lin
000170: 65 2E 0D 0A 63 75 72 6C 64 6E 3A 09 64 62 09 65 e...curldn:.db.e
000180: 73 63 2C 27 3D 24 27 09 09 3B 63 75 72 73 6F 72 sc,'=$'..;cursor
000190: 20 6C 65 61 64 69 6E 0D 0A 74 74 61 62 3A 09 09 leadin..ttab:..
0001A0: 09 09 09 3B 54 61 62 6C 65 20 73 74 61 72 74 20 ...;Table start
0001B0: 6C 6F 63 61 74 69 6F 6E 2E 0D 0A 74 61 3A 09 64 location...ta:.d
0001C0: 62 09 30 42 48 2C 27 24 27 2C 30 2C 30 09 09 3B b.0BH,'$',0,0..;
0001D0: 43 75 72 73 6F 72 20 75 70 2E 0D 0A 74 62 3A 09 Cursor up...tb:.
0001E0: 64 62 09 30 41 48 2C 27 24 27 2C 30 2C 30 09 09 db.0AH,'$',0,0..
0001F0: 3B 43 75 72 73 6F 72 20 64 6F 77 6E 2E 0D 0A 74 ;Cursor down...t
Size : 512 (Real : 512)
000000: 6D 6F 72 65 20 74 68 61 6E 20 74 68 72 65 65 20 more than three
000010: 62 79 74 65 73 2E 0D 0A 6F 75 74 6C 69 6E 3A 09 bytes...outlin:.
000020: 64 62 09 65 73 63 2C 33 43 48 2C 65 73 63 2C 27 db.esc,3CH,esc,'
000030: 5B 48 27 2C 65 73 63 2C 27 5B 4A 27 2C 63 72 2C [H',esc,'[J',cr,
000040: 6C 66 2C 74 61 62 2C 74 61 62 2C 27 24 27 0D 0A lf,tab,tab,'$'..
000050: 65 72 61 73 63 72 3A 09 64 62 09 65 73 63 2C 27 erascr:.db.esc,'
000060: 5B 48 27 2C 65 73 63 2C 27 5B 4A 24 27 20 09 3B [H',esc,'[J$' .;
000070: 43 6C 65 61 72 20 73 63 72 65 65 6E 20 61 6E 64 Clear screen and
000080: 20 67 6F 20 68 6F 6D 65 2E 0D 0A 65 72 61 6C 69 go home...erali
000090: 6E 3A 09 64 62 09 63 72 2C 65 73 63 2C 27 5B 4B n:.db.cr,esc,'[K
0000A0: 24 27 09 09 3B 43 6C 65 61 72 20 6C 69 6E 65 2E $'..;Clear line.
0000B0: 0D 0A 63 75 72 6C 64 6E 3A 09 64 62 09 65 73 63 ..curldn:.db.esc
0000C0: 2C 27 5B 24 27 09 09 3B 20 43 75 72 73 6F 72 20 ,'[$'..; Cursor
0000D0: 6C 65 61 64 69 6E 0D 0A 74 74 61 62 3A 0D 0A 74 leadin..ttab:..t
0000E0: 61 3A 09 64 62 09 65 73 63 2C 27 5B 41 24 27 09 a:.db.esc,'[A$'.
0000F0: 09 3B 20 43 75 72 73 6F 72 20 75 70 2E 0D 0A 74 .; Cursor up...t
000100: 62 3A 09 64 62 09 65 73 63 2C 27 5B 42 24 27 09 b:.db.esc,'[B$'.
000110: 09 3B 20 43 75 72 73 6F 72 20 64 6F 77 6E 2E 0D .; Cursor down..
000120: 0A 74 63 3A 09 64 62 09 65 73 63 2C 27 5B 43 24 .tc:.db.esc,'[C$
000130: 27 09 09 3B 20 43 75 72 73 6F 72 20 72 69 67 68 '..; Cursor righ
000140: 74 2E 0D 0A 74 64 3A 09 64 62 09 65 73 63 2C 27 t...td:.db.esc,'
000150: 5B 44 24 27 09 09 3B 20 43 75 72 73 6F 72 20 6C [D$'..; Cursor l
000160: 65 66 74 0D 0A 74 65 3A 09 64 62 09 27 24 27 2C eft..te:.db.'$',
000170: 30 2C 30 2C 30 09 09 3B 20 28 63 61 6E 27 74 29 0,0,0..; (can't)
000180: 20 43 6C 65 61 72 20 64 69 73 70 6C 61 79 0D 0A Clear display..
000190: 74 66 3A 09 64 62 09 27 24 27 2C 30 2C 30 2C 30 tf:.db.'$',0,0,0
0001A0: 09 09 3B 20 28 64 6F 6E 27 74 29 20 45 6E 74 65 ..; (don't) Ente
0001B0: 72 20 47 72 61 70 68 69 63 73 20 4D 6F 64 65 0D r Graphics Mode.
0001C0: 0A 74 67 3A 09 64 62 09 27 24 27 2C 30 2C 30 2C .tg:.db.'$',0,0,
0001D0: 30 09 09 3B 20 28 64 6F 6E 27 74 29 20 45 78 69 0..; (don't) Exi
0001E0: 74 20 47 72 61 70 68 69 63 73 20 6D 6F 64 65 0D t Graphics mode.
0001F0: 0A 74 68 3A 09 64 62 09 65 73 63 2C 27 5B 48 24 .th:.db.esc,'[H$
Size : 512 (Real : 512)
000000: 63 3A 09 64 62 09 30 43 48 2C 27 24 27 2C 30 2C c:.db.0CH,'$',0,
000010: 30 09 09 3B 43 75 72 73 6F 72 20 72 69 67 68 74 0..;Cursor right
000020: 2E 0D 0A 74 64 3A 09 64 62 09 62 73 2C 27 24 27 ...td:.db.bs,'$'
000030: 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 6C 65 ,0,0..;Cursor le
000040: 66 74 0D 0A 74 65 3A 09 64 62 09 73 75 62 74 2C ft..te:.db.subt,
000050: 27 24 27 2C 30 2C 30 09 09 3B 43 6C 65 61 72 20 '$',0,0..;Clear
000060: 64 69 73 70 6C 61 79 0D 0A 74 66 3A 09 64 62 09 display..tf:.db.
000070: 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E '$',0,0,0..;(can
000080: 27 74 29 20 45 6E 74 65 72 20 47 72 61 70 68 69 't) Enter Graphi
000090: 63 73 20 4D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 cs Mode..tg:.db.
0000A0: 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E '$',0,0,0..;(can
0000B0: 27 74 29 20 45 78 69 74 20 47 72 61 70 68 69 63 't) Exit Graphic
0000C0: 73 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 09 31 s mode..th:.db.1
0000D0: 45 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 EH,'$',0,0..;Cur
0000E0: 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 69 3A 09 64 sor home...ti:.d
0000F0: 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 b.'$',0,0,0..;(c
000100: 61 6E 27 74 29 20 52 65 76 65 72 73 65 20 6C 69 an't) Reverse li
000110: 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A 09 64 62 09 nefeed...tj:.db.
000120: 31 63 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 6C 1cH,'$',0,0..;Cl
000130: 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 73 63 ear to end of sc
000140: 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 09 31 63 reen...tk:.db.1c
000150: 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 6C 65 61 H,'$',0,0..;Clea
000160: 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 r to end of line
000170: 2E 0D 0A 45 4E 44 49 46 3B 6D 69 6B 6B 6F 0D 0A ...ENDIF;mikko..
000180: 3B 0C 0D 0A 49 46 20 67 65 6E 65 72 20 6F 72 20 ;...IF gener or
000190: 63 70 6D 33 0D 0A 73 79 73 76 65 72 3A 09 64 62 cpm3..sysver:.db
0001A0: 09 27 47 65 6E 65 72 69 63 20 43 50 2F 4D 2D 38 .'Generic CP/M-8
0001B0: 30 24 27 0D 0A 45 4E 44 49 46 3B 67 65 6E 65 72 0$'..ENDIF;gener
0001C0: 20 6F 72 20 63 70 6D 33 0D 0A 0D 0A 49 46 20 62 or cpm3....IF b
0001D0: 62 49 49 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 bII..sysver:.db.
0001E0: 27 42 69 67 20 42 6F 61 72 64 20 49 49 24 27 0D 'Big Board II$'.
0001F0: 0A 45 4E 44 49 46 3B 62 62 49 49 0D 0A 0D 0A 49 .ENDIF;bbII....I
Size : 512 (Real : 512)
000000: 27 09 09 3B 20 43 75 72 73 6F 72 20 68 6F 6D 65 '..; Cursor home
000010: 2E 0D 0A 74 69 3A 09 64 62 09 65 73 63 2C 27 4D ...ti:.db.esc,'M
000020: 24 27 2C 30 09 09 3B 20 52 65 76 65 72 73 65 20 $',0..; Reverse
000030: 6C 69 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A 09 64 linefeed...tj:.d
000040: 62 09 65 73 63 2C 27 5B 4A 24 27 09 09 3B 20 43 b.esc,'[J$'..; C
000050: 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 73 lear to end of s
000060: 63 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 09 65 creen...tk:.db.e
000070: 73 63 2C 27 5B 4B 24 27 09 09 3B 20 43 6C 65 61 sc,'[K$'..; Clea
000080: 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 r to end of line
000090: 2E 0D 0A 45 4E 44 49 46 3B 72 6F 62 69 6E 20 4F ...ENDIF;robin O
0000A0: 52 20 64 6D 49 49 20 6F 72 20 76 74 31 30 30 0D R dmII or vt100.
0000B0: 0A 3B 0C 0D 0A 49 46 20 6B 70 69 69 0D 0A 73 79 .;...IF kpii..sy
0000C0: 73 76 65 72 3A 09 64 62 09 27 4B 61 79 70 72 6F sver:.db.'Kaypro
0000D0: 20 49 49 24 27 0D 0A 6F 75 74 6C 69 6E 3A 09 64 II$'..outlin:.d
0000E0: 62 09 73 75 62 74 2C 63 72 2C 6C 66 2C 74 61 62 b.subt,cr,lf,tab
0000F0: 2C 74 61 62 2C 27 24 27 0D 0A 65 72 61 73 63 72 ,tab,'$'..erascr
000100: 3A 09 64 62 09 73 75 62 74 2C 27 24 27 09 09 3B :.db.subt,'$'..;
000110: 43 6C 65 61 72 20 73 63 72 65 65 6E 20 61 6E 64 Clear screen and
000120: 20 68 6F 6D 65 2E 0D 0A 65 72 61 6C 69 6E 3A 09 home...eralin:.
000130: 64 62 09 63 72 2C 31 38 48 2C 27 24 27 09 09 3B db.cr,18H,'$'..;
000140: 43 6C 65 61 72 20 6C 69 6E 65 2E 0D 0A 63 75 72 Clear line...cur
000150: 6C 64 6E 3A 09 64 62 09 65 73 63 2C 27 3D 24 27 ldn:.db.esc,'=$'
000160: 09 09 3B 43 75 72 73 6F 72 20 6C 65 61 64 2D 69 ..;Cursor lead-i
000170: 6E 0D 0A 64 65 6C 73 74 72 3A 09 64 62 09 62 73 n..delstr:.db.bs
000180: 2C 27 20 27 2C 62 73 2C 62 73 2C 27 24 27 09 3B ,' ',bs,bs,'$'.;
000190: 20 61 64 6A 75 73 74 20 66 6F 72 20 65 63 68 6F adjust for echo
0001A0: 69 6E 67 20 64 65 6C 65 74 65 20 63 68 61 72 61 ing delete chara
0001B0: 63 74 65 72 0D 0A 74 74 61 62 3A 09 09 09 09 09 cter..ttab:.....
0001C0: 3B 54 61 62 6C 65 20 73 74 61 72 74 20 6C 6F 63 ;Table start loc
0001D0: 61 74 69 6F 6E 2E 0D 0A 74 61 3A 09 64 62 09 30 ation...ta:.db.0
0001E0: 42 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 BH,'$',0,0..;Cur
0001F0: 73 6F 72 20 75 70 2E 0D 0A 74 62 3A 09 64 62 09 sor up...tb:.db.
Size : 512 (Real : 512)
000000: 46 20 63 70 74 38 35 78 78 0D 0A 73 79 73 76 65 F cpt85xx..sysve
000010: 72 3A 09 64 62 09 27 43 50 54 2D 38 35 78 78 20 r:.db.'CPT-85xx
000020: 75 6E 64 65 72 20 43 6F 6D 70 75 50 61 6B 20 43 under CompuPak C
000030: 50 2F 4D 24 27 0D 0A 45 4E 44 49 46 3B 63 70 74 P/M$'..ENDIF;cpt
000040: 38 35 78 78 0D 0A 0D 0A 49 46 20 6D 64 49 0D 0A 85xx....IF mdI..
000050: 73 79 73 76 65 72 3A 09 64 62 09 27 4D 6F 72 72 sysver:.db.'Morr
000060: 6F 77 20 44 65 63 69 73 69 6F 6E 20 49 24 27 0D ow Decision I$'.
000070: 0A 45 4E 44 49 46 3B 6D 64 49 20 20 5B 54 6F 61 .ENDIF;mdI [Toa
000080: 64 20 48 61 6C 6C 5D 0D 0A 0D 0A 49 46 20 6D 6D d Hall]....IF mm
000090: 64 49 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 27 dI..sysver:.db.'
0000A0: 4D 69 63 72 6F 44 65 63 69 73 69 6F 6E 20 49 24 MicroDecision I$
0000B0: 27 0D 0A 45 4E 44 49 46 3B 6D 6D 64 49 0D 0A 0D '..ENDIF;mmdI...
0000C0: 0A 49 46 20 6F 73 69 0D 0A 73 79 73 76 65 72 3A .IF osi..sysver:
0000D0: 09 64 62 09 27 4F 68 69 6F 20 53 63 69 65 6E 74 .db.'Ohio Scient
0000E0: 69 66 69 63 24 27 0D 0A 45 4E 44 49 46 3B 6F 73 ific$'..ENDIF;os
0000F0: 69 0D 0A 0D 0A 49 46 20 6F 73 69 20 4F 52 20 63 i....IF osi OR c
000100: 72 74 0D 0A 6F 75 74 6C 69 6E 3A 09 64 62 09 63 rt..outlin:.db.c
000110: 72 2C 6C 66 2C 27 53 74 61 72 74 69 6E 67 20 2E r,lf,'Starting .
000120: 2E 2E 24 27 0D 0A 65 72 61 73 63 72 09 65 71 75 ..$'..erascr.equ
000130: 09 63 72 6C 66 09 09 09 3B 22 48 6F 6D 65 20 26 .crlf...;"Home &
000140: 20 63 6C 65 61 72 22 20 28 62 65 73 74 20 77 65 clear" (best we
000150: 20 63 61 6E 20 64 6F 29 2E 0D 0A 65 72 61 6C 69 can do)...erali
000160: 6E 3A 09 64 62 09 27 5E 55 27 2C 63 72 2C 6C 66 n:.db.'^U',cr,lf
000170: 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 6C 69 6E ,'$'..;Clear lin
000180: 65 2E 0D 0A 70 72 70 61 63 6B 3A 09 64 62 09 63 e...prpack:.db.c
000190: 72 2C 6C 66 2C 27 52 50 61 63 6B 3A 20 24 27 0D r,lf,'RPack: $'.
0001A0: 0A 70 73 70 61 63 6B 3A 09 64 62 09 63 72 2C 6C .pspack:.db.cr,l
0001B0: 66 2C 27 53 50 61 63 6B 3A 20 24 27 0D 0A 74 74 f,'SPack: $'..tt
0001C0: 61 62 09 65 71 75 09 30 09 09 09 3B 20 6E 6F 20 ab.equ.0...; no
0001D0: 56 54 35 32 20 74 61 62 6C 65 0D 0A 45 4E 44 49 VT52 table..ENDI
0001E0: 46 3B 6F 73 69 20 4F 52 20 63 72 74 0D 0A 0D 0A F;osi OR crt....
0001F0: 49 46 20 74 76 69 39 32 35 0D 0A 3B 28 69 6E 63 IF tvi925..;(inc
Size : 512 (Real : 512)
000000: 61 3A 09 64 62 09 28 27 4B 27 2D 31 30 30 4F 29 a:.db.('K'-100O)
000010: 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 73 6F 72 ,'$',0,0.;Cursor
000020: 20 75 70 2E 0D 0A 74 62 3A 09 64 62 09 31 32 4F up...tb:.db.12O
000030: 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F ,'$',0,0..;Curso
000040: 72 20 64 6F 77 6E 2E 0D 0A 74 63 3A 09 64 62 09 r down...tc:.db.
000050: 28 27 41 27 2D 31 30 30 4F 29 2C 27 24 27 2C 30 ('A'-100O),'$',0
000060: 2C 30 09 3B 43 75 72 73 6F 72 20 72 69 67 68 74 ,0.;Cursor right
000070: 2E 0D 0A 74 64 3A 09 64 62 09 28 27 48 27 2D 31 ...td:.db.('H'-1
000080: 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 00O),'$',0,0.;Cu
000090: 72 73 6F 72 20 6C 65 66 74 2E 0D 0A 74 65 3A 09 rsor left...te:.
0000A0: 64 62 09 28 27 4C 27 2D 31 30 30 4F 29 2C 27 24 db.('L'-100O),'$
0000B0: 27 2C 30 2C 30 09 3B 43 6C 65 61 72 20 73 63 72 ',0,0.;Clear scr
0000C0: 65 65 6E 20 61 6E 64 20 68 6F 6D 65 20 63 75 72 een and home cur
0000D0: 73 6F 72 0D 0A 74 66 3A 09 64 62 09 27 24 27 2C sor..tf:.db.'$',
0000E0: 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 0,0,0..;(can't)
0000F0: 45 6E 74 65 72 20 47 72 61 70 68 69 63 73 20 6D Enter Graphics m
000100: 6F 64 65 0D 0A 74 67 3A 09 64 62 09 27 24 27 2C ode..tg:.db.'$',
000110: 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 0,0,0..;(can't)
000120: 45 78 69 74 20 47 72 61 70 68 69 63 73 20 6D 6F Exit Graphics mo
000130: 64 65 0D 0A 74 68 3A 09 64 62 09 28 27 5A 27 2D de..th:.db.('Z'-
000140: 31 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 100O),'$',0,0.;C
000150: 75 72 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 69 3A ursor home...ti:
000160: 09 64 62 09 28 27 4B 27 2D 31 30 30 4F 29 2C 27 .db.('K'-100O),'
000170: 24 27 2C 30 2C 30 09 3B 52 65 76 65 72 73 65 20 $',0,0.;Reverse
000180: 6C 69 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A 09 64 linefeed...tj:.d
000190: 62 09 65 73 63 2C 27 59 24 27 2C 30 09 09 3B 43 b.esc,'Y$',0..;C
0001A0: 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 73 lear to end of s
0001B0: 63 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 09 65 creen...tk:.db.e
0001C0: 73 63 2C 27 54 24 27 2C 30 09 09 3B 43 6C 65 61 sc,'T$',0..;Clea
0001D0: 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 r to end of line
0001E0: 2E 0D 0A 45 4E 44 49 46 3B 73 6D 72 74 76 64 0D ...ENDIF;smrtvd.
0001F0: 0A 0D 0A 6F 76 6C 65 6E 64 09 65 71 75 09 24 09 ...ovlend.equ.$.
Size : 512 (Real : 512)
000000: 69 64 65 6E 74 61 6C 6C 79 2C 20 77 6F 72 6B 73 identally, works
000010: 20 66 69 6E 65 20 66 6F 72 20 46 72 65 65 64 6F fine for Freedo
000020: 6D 20 31 30 30 20 61 6C 73 6F 20 20 5B 54 6F 61 m 100 also [Toa
000030: 64 20 48 61 6C 6C 5D 29 0D 0A 3B 61 64 6D 33 61 d Hall])..;adm3a
000040: 20 65 6E 74 72 79 20 61 6E 64 20 74 76 69 39 32 entry and tvi92
000050: 35 20 65 6E 74 72 79 20 73 65 70 61 72 61 74 65 5 entry separate
000060: 64 20 74 6F 20 72 65 6D 6F 76 65 20 77 61 72 6E d to remove warn
000070: 69 6E 67 20 6D 65 73 73 61 67 65 2E 0D 0A 74 74 ing message...tt
000080: 79 74 79 70 3A 09 64 62 09 27 54 56 49 39 32 35 ytyp:.db.'TVI925
000090: 24 27 0D 0A 6F 75 74 6C 69 6E 3A 09 64 62 09 27 $'..outlin:.db.'
0000A0: 5A 27 2D 36 34 2C 30 2C 30 2C 63 72 2C 6C 66 2C Z'-64,0,0,cr,lf,
0000B0: 27 24 27 0D 0A 65 72 61 73 63 72 3A 09 64 62 09 '$'..erascr:.db.
0000C0: 27 5A 27 2D 36 34 2C 30 2C 30 2C 27 24 27 09 09 'Z'-64,0,0,'$'..
0000D0: 3B 43 6C 65 61 72 20 73 63 72 65 65 6E 20 61 6E ;Clear screen an
0000E0: 64 20 68 6F 6D 65 0D 0A 65 72 61 6C 69 6E 3A 09 d home..eralin:.
0000F0: 64 62 09 65 73 63 2C 27 59 24 27 2C 30 09 09 3B db.esc,'Y$',0..;
000100: 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 Clear to end of
000110: 73 72 65 65 6E 0D 0A 63 75 72 6C 64 6E 3A 09 64 sreen..curldn:.d
000120: 62 09 63 72 2C 65 73 63 2C 27 3D 24 27 09 09 3B b.cr,esc,'=$'..;
000130: 43 75 72 73 6F 72 20 6C 65 61 64 2D 69 6E 0D 0A Cursor lead-in..
000140: 74 74 61 62 3A 09 3B 54 61 62 6C 65 20 73 74 61 ttab:.;Table sta
000150: 72 74 20 6C 6F 63 61 74 69 6F 6E 09 09 3B 28 4D rt location..;(M
000160: 55 53 54 20 62 65 20 34 20 62 79 74 65 73 20 65 UST be 4 bytes e
000170: 61 63 68 29 0D 0A 74 61 3A 09 64 62 09 27 4B 27 ach)..ta:.db.'K'
000180: 2D 36 34 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 -64,'$',0,0..;Cu
000190: 72 73 6F 72 20 75 70 2C 20 73 74 6F 70 20 61 74 rsor up, stop at
0001A0: 20 74 6F 70 0D 0A 74 62 3A 09 64 62 09 27 56 27 top..tb:.db.'V'
0001B0: 2D 36 34 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 -64,'$',0,0..;Cu
0001C0: 72 73 6F 72 20 64 6F 77 6E 2C 20 73 74 6F 70 20 rsor down, stop
0001D0: 61 74 20 62 6F 74 74 6F 6D 0D 0A 74 63 3A 09 64 at bottom..tc:.d
0001E0: 62 09 27 4C 27 2D 36 34 2C 27 24 27 2C 30 2C 30 b.'L'-64,'$',0,0
0001F0: 09 09 3B 43 75 72 73 6F 72 20 72 69 67 68 74 2C ..;Cursor right,
Size : 512 (Real : 512)
000000: 3B 20 45 6E 64 20 6F 66 20 6F 76 65 72 6C 61 79 ; End of overlay
000010: 0D 0A 0D 0A 09 45 4E 44 0D 0A 20 67 65 74 20 63 .....END.. get c
000020: 6F 6C 75 6D 6E 0D 0A 09 61 64 69 09 28 27 20 27 olumn...adi.(' '
000030: 2D 31 29 09 09 3B 20 73 70 61 63 65 20 69 73 20 -1)..; space is
000040: 63 6F 6C 75 6D 6E 20 6F 6E 65 0D 0A 09 6D 6F 76 column one...mov
000050: 09 65 2C 61 0D 0A 09 6A 6D 70 09 6F 75 74 63 6F .e,a...jmp.outco
000060: 6E 09 09 3B 20 6F 75 74 70 75 74 20 69 74 20 61 n..; output it a
000070: 6E 64 20 72 65 74 75 72 6E 0D 0A 45 4E 44 49 46 nd return..ENDIF
000080: 3B 4E 4F 54 20 28 72 6F 62 69 6E 20 4F 52 20 64 ;NOT (robin OR d
000090: 6D 49 49 20 4F 52 20 76 74 31 30 30 20 4F 52 20 mII OR vt100 OR
0000A0: 6F 73 69 20 4F 52 20 63 72 74 20 4F 52 20 76 65 osi OR crt OR ve
0000B0: 63 74 6F 72 29 0D 0A 3B 0D 0A 3B 09 63 73 72 70 ctor)..;..;.csrp
0000C0: 6F 73 20 66 6F 72 20 41 4E 53 49 20 74 65 72 6D os for ANSI term
0000D0: 69 6E 61 6C 73 0D 0A 3B 0D 0A 49 46 20 72 6F 62 inals..;..IF rob
0000E0: 69 6E 20 4F 52 20 64 6D 49 49 20 4F 52 20 76 74 in OR dmII OR vt
0000F0: 31 30 30 0D 0A 63 73 72 70 6F 73 3A 09 70 75 73 100..csrpos:.pus
000100: 68 09 62 09 09 3B 20 73 61 76 65 20 63 6F 6F 72 h.b..; save coor
000110: 64 69 6E 61 74 65 73 0D 0A 09 6C 78 69 09 64 2C dinates...lxi.d,
000120: 63 75 72 6C 64 6E 09 3B 20 67 65 74 20 63 75 72 curldn.; get cur
000130: 73 6F 72 20 6C 65 61 64 69 6E 20 73 65 71 75 65 sor leadin seque
000140: 6E 63 65 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 nce...call.prtst
000150: 72 09 09 3B 20 70 72 69 6E 74 20 69 74 0D 0A 09 r..; print it...
000160: 70 6F 70 09 68 09 09 3B 20 70 65 65 6B 20 61 74 pop.h..; peek at
000170: 20 63 6F 6F 72 64 69 6E 61 74 65 73 0D 0A 09 70 coordinates...p
000180: 75 73 68 09 68 09 09 3B 20 20 74 68 65 6E 20 73 ush.h..; then s
000190: 61 76 65 20 61 77 61 79 20 61 67 61 69 6E 0D 0A ave away again..
0001A0: 09 6D 6F 76 09 6C 2C 68 09 09 3B 20 6C 20 3D 20 .mov.l,h..; l =
0001B0: 72 6F 77 0D 0A 09 6D 76 69 09 68 2C 30 09 09 3B row...mvi.h,0..;
0001C0: 20 68 6C 20 3D 20 72 6F 77 0D 0A 09 63 61 6C 6C hl = row...call
0001D0: 09 6E 6F 75 74 09 09 3B 20 6F 75 74 70 75 74 20 .nout..; output
0001E0: 69 6E 20 64 65 63 69 6D 61 6C 0D 0A 09 6D 76 69 in decimal...mvi
0001F0: 09 65 2C 27 3B 27 09 09 3B 20 66 6F 6C 6C 6F 77 .e,';'..; follow
Size : 512 (Real : 512)
000000: 20 73 74 6F 70 20 61 74 20 72 69 67 68 74 0D 0A stop at right..
000010: 74 64 3A 09 64 62 09 27 48 27 2D 36 34 2C 27 24 td:.db.'H'-64,'$
000020: 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 6C ',0,0..;Cursor l
000030: 65 66 74 2C 20 73 74 6F 70 20 61 74 20 6C 65 66 eft, stop at lef
000040: 74 0D 0A 74 65 3A 09 64 62 09 27 5A 27 2D 36 34 t..te:.db.'Z'-64
000050: 2C 30 2C 30 2C 27 24 27 09 09 3B 43 6C 65 61 72 ,0,0,'$'..;Clear
000060: 20 64 69 73 70 6C 61 79 20 28 32 20 70 61 64 20 display (2 pad
000070: 6E 75 6C 6C 73 29 0D 0A 74 66 3A 09 64 62 09 27 nulls)..tf:.db.'
000080: 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 $',0,0,0..;(can'
000090: 74 29 20 45 6E 74 65 72 20 47 72 61 70 68 69 63 t) Enter Graphic
0000A0: 73 20 6D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 27 s mode..tg:.db.'
0000B0: 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 $',0,0,0..;(can'
0000C0: 74 29 20 45 78 69 74 20 47 72 61 70 68 69 63 73 t) Exit Graphics
0000D0: 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 09 31 45 mode..th:.db.1E
0000E0: 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 73 H,'$',0,0..;Curs
0000F0: 6F 72 20 68 6F 6D 65 0D 0A 74 69 3A 09 64 62 09 or home..ti:.db.
000100: 65 73 63 2C 27 6A 24 27 2C 30 09 09 3B 52 65 76 esc,'j$',0..;Rev
000110: 65 72 73 65 20 6C 69 6E 65 66 65 65 64 2C 20 73 erse linefeed, s
000120: 63 72 6F 6C 6C 0D 0A 74 6A 3A 09 64 62 09 65 73 croll..tj:.db.es
000130: 63 2C 27 59 24 27 2C 30 09 09 3B 43 6C 65 61 72 c,'Y$',0..;Clear
000140: 20 74 6F 20 65 6E 64 20 6F 66 20 73 72 65 65 6E to end of sreen
000150: 0D 0A 74 6B 3A 09 64 62 09 65 73 63 2C 27 54 24 ..tk:.db.esc,'T$
000160: 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 65 ',0..;Clear to e
000170: 6E 64 20 6F 66 20 6C 69 6E 65 0D 0A 45 4E 44 49 nd of line..ENDI
000180: 46 3B 74 76 69 39 32 35 0D 0A 0D 0A 49 46 20 61 F;tvi925....IF a
000190: 64 6D 33 61 0D 0A 74 74 79 74 79 70 3A 09 64 62 dm3a..ttytyp:.db
0001A0: 09 27 41 44 4D 33 41 24 27 0D 0A 6F 75 74 6C 69 .'ADM3A$'..outli
0001B0: 6E 3A 09 64 62 09 27 5A 27 2D 36 34 2C 30 2C 30 n:.db.'Z'-64,0,0
0001C0: 2C 63 72 2C 6C 66 2C 27 24 27 0D 0A 65 72 61 73 ,cr,lf,'$'..eras
0001D0: 63 72 3A 09 64 62 09 27 5A 27 2D 36 34 2C 30 2C cr:.db.'Z'-64,0,
0001E0: 30 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 73 63 0,'$'..;Clear sc
0001F0: 72 65 65 6E 20 61 6E 64 20 68 6F 6D 65 0D 0A 65 reen and home..e
Size : 512 (Real : 512)
000000: 20 77 69 74 68 20 73 65 6D 69 63 6F 6C 6F 6E 0D with semicolon.
000010: 0A 09 63 61 6C 6C 09 6F 75 74 63 6F 6E 09 09 3B ..call.outcon..;
000020: 20 70 72 69 6E 74 20 69 74 0D 0A 09 70 6F 70 09 print it...pop.
000030: 68 09 09 3B 20 72 65 73 74 6F 72 65 20 63 6F 6C h..; restore col
000040: 75 6D 6E 0D 0A 09 6D 76 69 09 68 2C 30 09 09 3B umn...mvi.h,0..;
000050: 20 68 6C 20 3D 20 63 6F 6C 75 6D 6E 0D 0A 09 63 hl = column...c
000060: 61 6C 6C 09 6E 6F 75 74 0D 0A 09 6D 76 69 09 65 all.nout...mvi.e
000070: 2C 27 48 27 09 09 3B 20 74 65 72 6D 69 6E 61 74 ,'H'..; terminat
000080: 65 20 77 69 74 68 20 27 6D 6F 76 65 20 63 75 72 e with 'move cur
000090: 73 6F 72 27 20 63 6F 6D 6D 61 6E 64 0D 0A 09 6A sor' command...j
0000A0: 6D 70 09 6F 75 74 63 6F 6E 09 09 3B 20 6F 75 74 mp.outcon..; out
0000B0: 70 75 74 20 69 74 20 61 6E 64 20 72 65 74 75 72 put it and retur
0000C0: 6E 0D 0A 45 4E 44 49 46 3B 72 6F 62 69 6E 20 4F n..ENDIF;robin O
0000D0: 52 20 64 6D 49 49 20 4F 52 20 76 74 31 30 30 0D R dmII OR vt100.
0000E0: 0A 3B 0D 0A 3B 09 63 73 72 70 6F 73 20 66 6F 72 .;..;.csrpos for
0000F0: 20 74 68 65 20 56 65 63 74 6F 72 20 47 65 6E 65 the Vector Gene
000100: 72 61 6C 2E 20 20 49 74 27 73 20 77 65 69 72 64 ral. It's weird
000110: 2E 0D 0A 3B 0D 0A 49 46 20 76 65 63 74 6F 72 0D ...;..IF vector.
000120: 0A 63 73 72 70 6F 73 3A 20 64 63 72 09 62 09 09 .csrpos: dcr.b..
000130: 3B 20 76 65 63 74 6F 72 20 75 73 65 73 20 7A 65 ; vector uses ze
000140: 72 6F 2D 62 61 73 65 64 20 61 64 64 72 65 73 73 ro-based address
000150: 69 6E 67 3F 0D 0A 09 64 63 72 09 63 0D 0A 09 70 ing?...dcr.c...p
000160: 75 73 68 09 62 09 09 3B 20 73 61 76 65 20 63 6F ush.b..; save co
000170: 6F 72 64 69 6E 61 74 65 73 0D 0A 09 6D 76 69 09 ordinates...mvi.
000180: 65 2C 65 73 63 09 09 3B 20 70 72 69 6E 74 20 61 e,esc..; print a
000190: 6E 20 65 73 63 61 70 65 0D 0A 09 63 61 6C 6C 09 n escape...call.
0001A0: 6F 75 74 63 6F 6E 0D 0A 09 70 6F 70 09 64 09 09 outcon...pop.d..
0001B0: 3B 20 70 65 65 6B 20 61 74 20 63 6F 6F 72 64 69 ; peek at coordi
0001C0: 6E 61 74 65 73 0D 0A 09 70 75 73 68 09 64 0D 0A nates...push.d..
0001D0: 09 63 61 6C 6C 09 6F 75 74 63 6F 6E 09 09 3B 20 .call.outcon..;
0001E0: 6F 75 74 70 75 74 20 63 6F 6C 75 6D 6E 0D 0A 09 output column...
0001F0: 70 6F 70 09 64 0D 0A 09 6D 6F 76 09 65 2C 64 09 pop.d...mov.e,d.
Size : 512 (Real : 512)
000000: 72 61 6C 69 6E 3A 09 64 62 09 65 73 63 2C 27 59 ralin:.db.esc,'Y
000010: 24 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 $',0..;Clear to
000020: 65 6E 64 20 6F 66 20 73 72 65 65 6E 0D 0A 63 75 end of sreen..cu
000030: 72 6C 64 6E 3A 09 64 62 09 63 72 2C 65 73 63 2C rldn:.db.cr,esc,
000040: 27 3D 24 27 09 09 3B 43 75 72 73 6F 72 20 6C 65 '=$'..;Cursor le
000050: 61 64 2D 69 6E 0D 0A 74 74 61 62 3A 09 3B 54 61 ad-in..ttab:.;Ta
000060: 62 6C 65 20 73 74 61 72 74 20 6C 6F 63 61 74 69 ble start locati
000070: 6F 6E 09 09 3B 28 4D 55 53 54 20 62 65 20 34 20 on..;(MUST be 4
000080: 62 79 74 65 73 20 65 61 63 68 29 0D 0A 74 61 3A bytes each)..ta:
000090: 09 64 62 09 27 4B 27 2D 36 34 2C 27 24 27 2C 30 .db.'K'-64,'$',0
0000A0: 2C 30 09 09 3B 43 75 72 73 6F 72 20 75 70 2C 20 ,0..;Cursor up,
0000B0: 73 74 6F 70 20 61 74 20 74 6F 70 0D 0A 74 62 3A stop at top..tb:
0000C0: 09 64 62 09 27 4A 27 2D 36 34 2C 27 24 27 2C 30 .db.'J'-64,'$',0
0000D0: 2C 30 09 09 3B 43 75 72 73 6F 72 20 64 6F 77 6E ,0..;Cursor down
0000E0: 20 43 54 52 4C 2D 4A 0D 0A 74 63 3A 09 64 62 09 CTRL-J..tc:.db.
0000F0: 27 4C 27 2D 36 34 2C 27 24 27 2C 30 2C 30 09 09 'L'-64,'$',0,0..
000100: 3B 43 75 72 73 6F 72 20 72 69 67 68 74 2C 20 73 ;Cursor right, s
000110: 74 6F 70 20 61 74 20 72 69 67 68 74 0D 0A 74 64 top at right..td
000120: 3A 09 64 62 09 27 48 27 2D 36 34 2C 27 24 27 2C :.db.'H'-64,'$',
000130: 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 6C 65 66 0,0..;Cursor lef
000140: 74 2C 20 73 74 6F 70 20 61 74 20 6C 65 66 74 0D t, stop at left.
000150: 0A 74 65 3A 09 64 62 09 27 5A 27 2D 36 34 2C 30 .te:.db.'Z'-64,0
000160: 2C 30 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 64 ,0,'$'..;Clear d
000170: 69 73 70 6C 61 79 20 28 32 20 70 61 64 20 6E 75 isplay (2 pad nu
000180: 6C 6C 73 29 0D 0A 74 66 3A 09 64 62 09 27 24 27 lls)..tf:.db.'$'
000190: 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 ,0,0,0..;(can't)
0001A0: 20 45 6E 74 65 72 20 47 72 61 70 68 69 63 73 20 Enter Graphics
0001B0: 6D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 27 24 27 mode..tg:.db.'$'
0001C0: 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 ,0,0,0..;(can't)
0001D0: 20 45 78 69 74 20 47 72 61 70 68 69 63 73 20 6D Exit Graphics m
0001E0: 6F 64 65 0D 0A 74 68 3A 09 64 62 09 31 45 48 2C ode..th:.db.1EH,
0001F0: 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 '$',0,0..;Cursor
Size : 512 (Real : 512)
000000: 09 3B 20 67 65 74 20 72 6F 77 0D 0A 09 6A 6D 70 .; get row...jmp
000010: 09 6F 75 74 63 6F 6E 09 09 3B 20 6F 75 74 70 75 .outcon..; outpu
000020: 74 20 61 6E 64 20 72 65 74 75 72 6E 0D 0A 45 4E t and return..EN
000030: 44 49 46 3B 76 65 63 74 6F 72 0D 0A 49 46 20 6F DIF;vector..IF o
000040: 73 69 20 4F 52 20 63 72 74 09 09 09 3B 20 73 79 si OR crt...; sy
000050: 73 74 65 6D 73 20 77 69 74 68 6F 75 74 20 63 75 stems without cu
000060: 72 73 6F 72 20 70 6F 73 69 74 69 6F 6E 69 6E 67 rsor positioning
000070: 0D 0A 63 73 72 70 6F 73 3A 09 72 65 74 09 09 09 ..csrpos:.ret...
000080: 3B 20 64 75 6D 6D 79 20 72 6F 75 74 69 6E 65 20 ; dummy routine
000090: 72 65 66 65 72 65 6E 63 65 64 20 62 79 20 6C 69 referenced by li
0000A0: 6E 6B 61 67 65 20 73 65 63 74 69 6F 6E 0D 0A 45 nkage section..E
0000B0: 4E 44 49 46 3B 6F 73 69 20 4F 52 20 63 72 74 0D NDIF;osi OR crt.
0000C0: 0A 0D 0A 3B 0D 0A 3B 20 70 6F 73 69 74 69 6F 6E ...;..; position
0000D0: 20 74 6F 20 76 61 72 69 6F 75 73 20 66 69 65 6C to various fiel
0000E0: 64 73 3A 0D 0A 3B 20 66 6F 72 20 74 68 65 20 4B ds:..; for the K
0000F0: 65 72 6D 69 74 73 20 77 69 74 68 20 63 75 72 73 ermits with curs
000100: 6F 72 20 70 6F 73 69 74 69 6F 6E 69 6E 67 2C 20 or positioning,
000110: 74 68 65 20 64 69 73 70 6C 61 79 20 6C 6F 6F 6B the display look
000120: 73 20 6C 69 6B 65 20 74 68 69 73 3A 0D 0A 3B 09 s like this:..;.
000130: 20 20 20 20 35 20 20 20 31 30 20 20 20 31 35 20 5 10 15
000140: 20 20 32 30 20 20 20 32 35 20 20 20 33 30 20 20 20 25 30
000150: 20 33 35 0D 0A 3B 20 20 20 20 20 20 2B 2D 2D 2D 35..; +---
000160: 2D 7C 2D 2D 2D 2D 7C 2D 2D 2D 2D 7C 2D 2D 2D 2D -|----|----|----
000170: 7C 2D 2D 2D 2D 7C 2D 2D 2D 2D 7C 2D 2D 2D 2D 7C |----|----|----|
000180: 2E 2E 2E 0D 0A 3B 20 20 20 20 31 20 7C 0D 0A 3B .....; 1 |..;
000190: 20 20 20 20 32 20 7C 09 09 4B 65 72 6D 69 74 2D 2 |..Kermit-
0001A0: 38 30 20 76 34 2E 30 20 5B 73 79 73 74 65 6D 5D 80 v4.0 [system]
0001B0: 0D 0A 3B 20 20 20 20 33 20 7C 0D 0A 3B 20 20 20 ..; 3 |..;
0001C0: 20 34 20 7C 4E 75 6D 62 65 72 20 6F 66 20 70 61 4 |Number of pa
0001D0: 63 6B 65 74 73 3A 20 5F 5F 5F 5F 0D 0A 3B 20 20 ckets: ____..;
0001E0: 20 20 35 20 7C 4E 75 6D 62 65 72 20 6F 66 20 72 5 |Number of r
0001F0: 65 74 72 69 65 73 3A 20 5F 5F 5F 5F 0D 0A 3B 20 etries: ____..;
Size : 512 (Real : 512)
000000: 20 68 6F 6D 65 0D 0A 74 69 3A 09 64 62 09 27 4B home..ti:.db.'K
000010: 27 2D 36 34 2C 27 24 27 2C 30 2C 30 09 09 3B 52 '-64,'$',0,0..;R
000020: 65 76 65 72 73 65 20 6C 69 6E 65 66 65 65 64 0D everse linefeed.
000030: 0A 74 6A 3A 09 64 62 09 27 24 27 2C 30 2C 30 2C .tj:.db.'$',0,0,
000040: 30 09 09 3B 28 63 61 6E 27 74 29 20 43 6C 65 61 0..;(can't) Clea
000050: 72 20 74 6F 20 65 6E 64 20 6F 66 20 73 63 72 65 r to end of scre
000060: 65 6E 0D 0A 74 6B 3A 09 64 62 09 27 24 27 2C 30 en..tk:.db.'$',0
000070: 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 43 ,0,0..;(can't) C
000080: 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C lear to end of l
000090: 69 6E 65 0D 0A 45 4E 44 49 46 3B 61 64 6D 33 61 ine..ENDIF;adm3a
0000A0: 0D 0A 0D 0A 49 46 20 64 65 6C 70 68 69 09 3B 20 ....IF delphi.;
0000B0: 5B 37 5D 20 6E 65 77 20 73 79 73 74 65 6D 0D 0A [7] new system..
0000C0: 73 79 73 76 65 72 3A 09 64 62 09 27 44 69 67 69 sysver:.db.'Digi
0000D0: 63 6F 6D 70 20 44 65 6C 70 68 69 20 31 30 30 24 comp Delphi 100$
0000E0: 27 0D 0A 65 6E 64 69 66 3B 64 65 6C 70 68 69 0D '..endif;delphi.
0000F0: 0A 0D 0A 49 46 20 73 6D 72 74 76 64 09 3B 20 5B ...IF smrtvd.; [
000100: 37 5D 20 6E 65 77 20 74 65 72 6D 69 6E 61 6C 0D 7] new terminal.
000110: 0A 74 74 79 74 79 70 3A 09 64 62 09 27 53 6D 61 .ttytyp:.db.'Sma
000120: 72 74 76 69 64 2D 38 30 24 27 0D 0A 6F 75 74 6C rtvid-80$'..outl
000130: 69 6E 3A 09 64 62 09 65 73 63 2C 27 2B 27 2C 63 in:.db.esc,'+',c
000140: 72 2C 6C 66 2C 74 61 62 2C 74 61 62 2C 27 24 27 r,lf,tab,tab,'$'
000150: 0D 0A 65 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C ..eralin:.db.cr,
000160: 65 73 63 2C 27 54 24 27 09 09 09 3B 43 6C 65 61 esc,'T$'...;Clea
000170: 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 r to end of line
000180: 2E 0D 0A 65 72 61 73 63 72 3A 09 64 62 09 65 73 ...erascr:.db.es
000190: 63 2C 27 2B 24 27 09 09 20 09 3B 43 6C 65 61 72 c,'+$'.. .;Clear
0001A0: 20 73 63 72 65 65 6E 20 61 6E 64 20 67 6F 20 68 screen and go h
0001B0: 6F 6D 65 2E 0D 0A 63 75 72 6C 64 6E 3A 09 64 62 ome...curldn:.db
0001C0: 09 65 73 63 2C 27 3D 24 27 09 09 09 3B 43 75 72 .esc,'=$'...;Cur
0001D0: 73 6F 72 20 6C 65 61 64 2D 69 6E 0D 0A 74 74 61 sor lead-in..tta
0001E0: 62 3A 09 09 09 09 09 3B 54 61 62 6C 65 20 73 74 b:.....;Table st
0001F0: 61 72 74 20 6C 6F 63 61 74 69 6F 6E 2E 0D 0A 74 art location...t
Size : 512 (Real : 512)
000000: 20 20 20 36 20 7C 46 69 6C 65 20 6E 61 6D 65 3A 6 |File name:
000010: 20 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 0D 0A 3B ____________..;
000020: 20 20 20 20 37 20 7C 3C 65 72 72 6F 72 3E 2E 2E 7 |<error>..
000030: 2E 0D 0A 3B 20 20 20 20 38 20 7C 3C 73 74 61 74 ...; 8 |<stat
000040: 75 73 3E 2E 2E 2E 0D 0A 3B 20 20 20 20 39 20 7C us>.....; 9 |
000050: 52 50 61 63 6B 3A 20 5F 5F 5F 28 69 66 20 64 65 RPack: ___(if de
000060: 62 75 67 67 69 6E 67 29 2E 2E 2E 0D 0A 3B 20 20 bugging).....;
000070: 20 31 30 20 7C 0D 0A 3B 20 20 20 31 31 20 7C 53 10 |..; 11 |S
000080: 50 61 63 6B 3A 20 5F 5F 5F 28 69 66 20 64 65 62 Pack: ___(if deb
000090: 75 67 67 69 6E 67 29 2E 2E 2E 0D 0A 3B 20 20 20 ugging).....;
0000A0: 31 32 20 7C 0D 0A 3B 20 20 20 31 33 20 7C 4B 65 12 |..; 13 |Ke
0000B0: 72 6D 69 74 2D 38 30 20 20 41 3A 3E 09 28 77 68 rmit-80 A:>.(wh
0000C0: 65 6E 20 66 69 6E 69 73 68 65 64 29 0D 0A 3B 0D en finished)..;.
0000D0: 0A 0D 0A 49 46 20 4E 4F 54 20 28 6F 73 69 20 4F ...IF NOT (osi O
0000E0: 52 20 63 72 74 29 0D 0A 73 63 72 6E 70 3A 09 6C R crt)..scrnp:.l
0000F0: 78 69 09 62 2C 34 2A 31 30 30 48 2B 32 30 0D 0A xi.b,4*100H+20..
000100: 09 6A 6D 70 09 63 73 72 70 6F 73 0D 0A 0D 0A 73 .jmp.csrpos....s
000110: 63 72 6E 72 74 3A 09 6C 78 69 09 62 2C 35 2A 31 crnrt:.lxi.b,5*1
000120: 30 30 48 2B 32 30 0D 0A 09 6A 6D 70 09 63 73 72 00H+20...jmp.csr
000130: 70 6F 73 0D 0A 0D 0A 73 63 72 66 6C 6E 3A 09 6C pos....scrfln:.l
000140: 78 69 09 62 2C 36 2A 31 30 30 48 2B 31 32 0D 0A xi.b,6*100H+12..
000150: 09 63 61 6C 6C 09 63 73 72 70 6F 73 0D 0A 63 6C .call.csrpos..cl
000160: 72 65 6F 6C 3A 09 6C 78 69 09 64 2C 74 6B 0D 0A reol:.lxi.d,tk..
000170: 09 6A 6D 70 09 70 72 74 73 74 72 0D 0A 0D 0A 73 .jmp.prtstr....s
000180: 63 72 65 72 72 3A 09 6C 78 69 09 62 2C 37 2A 31 crerr:.lxi.b,7*1
000190: 30 30 48 2B 31 0D 0A 09 63 61 6C 6C 09 63 73 72 00H+1...call.csr
0001A0: 70 6F 73 0D 0A 09 6A 6D 70 09 63 6C 72 65 6F 6C pos...jmp.clreol
0001B0: 0D 0A 0D 0A 73 63 72 73 74 3A 09 6C 78 69 09 62 ....scrst:.lxi.b
0001C0: 2C 38 2A 31 30 30 48 2B 31 0D 0A 09 63 61 6C 6C ,8*100H+1...call
0001D0: 09 63 73 72 70 6F 73 0D 0A 09 6A 6D 70 09 63 6C .csrpos...jmp.cl
0001E0: 72 65 6F 6C 0D 0A 0D 0A 72 70 70 6F 73 3A 09 6C reol....rppos:.l
0001F0: 78 69 09 62 2C 39 2A 31 30 30 48 2B 38 0D 0A 09 xi.b,9*100H+8...
Size : 512 (Real : 512)
000000: 61 64 6D 33 61 20 4F 52 20 74 76 69 39 32 35 20 adm3a OR tvi925
000010: 4F 52 20 76 74 35 32 20 4F 52 20 76 74 31 30 30 OR vt52 OR vt100
000020: 20 4F 52 20 73 6D 72 74 76 64 09 09 3B 20 5B 37 OR smrtvd..; [7
000030: 5D 0D 0A 77 69 74 6D 73 67 3A 09 64 62 09 27 20 ]..witmsg:.db.'
000040: 77 69 74 68 20 24 27 0D 0A 45 4E 44 49 46 3B 61 with $'..ENDIF;a
000050: 64 6D 33 61 20 4F 52 20 74 76 69 39 32 35 20 4F dm3a OR tvi925 O
000060: 52 20 76 74 35 32 20 4F 52 20 76 74 31 30 30 20 R vt52 OR vt100
000070: 4F 52 20 73 6D 72 74 76 64 09 3B 20 5B 37 5D 0D OR smrtvd.; [7].
000080: 0A 0D 0A 3B 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ...;************
000090: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 54 65 **************Te
0000A0: 72 6D 69 6E 61 6C 20 74 61 62 6C 65 73 2A 2A 2A rminal tables***
0000B0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
0000C0: 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0A 49 46 20 4E 4F *********..IF NO
0000D0: 54 20 28 6F 73 69 20 4F 52 20 63 72 74 29 09 3B T (osi OR crt).;
0000E0: 20 67 6F 74 20 63 75 72 73 6F 72 20 63 6F 6E 74 got cursor cont
0000F0: 72 6F 6C 3F 0D 0A 6F 75 74 6C 6E 32 3A 09 64 62 rol?..outln2:.db
000100: 09 27 5D 27 2C 63 72 2C 6C 66 2C 63 72 2C 6C 66 .']',cr,lf,cr,lf
000110: 2C 27 4E 75 6D 62 65 72 20 6F 66 20 70 61 63 6B ,'Number of pack
000120: 65 74 73 3A 27 0D 0A 09 64 62 09 63 72 2C 6C 66 ets:'...db.cr,lf
000130: 2C 27 4E 75 6D 62 65 72 20 6F 66 20 72 65 74 72 ,'Number of retr
000140: 69 65 73 3A 27 0D 0A 09 64 62 09 63 72 2C 6C 66 ies:'...db.cr,lf
000150: 2C 27 46 69 6C 65 20 6E 61 6D 65 3A 24 27 0D 0A ,'File name:$'..
000160: 6F 75 74 6C 6E 33 3A 09 64 62 09 63 72 2C 6C 66 outln3:.db.cr,lf
000170: 2C 63 72 2C 6C 66 09 09 3B 20 64 65 62 75 67 67 ,cr,lf..; debugg
000180: 69 6E 67 20 6D 65 73 73 61 67 65 73 0D 0A 09 64 ing messages...d
000190: 62 09 63 72 2C 6C 66 2C 27 52 50 61 63 6B 3A 27 b.cr,lf,'RPack:'
0001A0: 0D 0A 09 64 62 09 63 72 2C 6C 66 09 09 09 3B 20 ...db.cr,lf...;
0001B0: 62 6C 61 6E 6B 20 6C 69 6E 65 20 69 6E 20 63 61 blank line in ca
0001C0: 73 65 20 6F 66 20 6C 6F 6E 67 20 70 61 63 6B 65 se of long packe
0001D0: 74 0D 0A 09 64 62 09 63 72 2C 6C 66 2C 27 53 50 t...db.cr,lf,'SP
0001E0: 61 63 6B 3A 24 27 0D 0A 45 4E 44 49 46 3B 4E 4F ack:$'..ENDIF;NO
0001F0: 54 20 28 6F 73 69 20 4F 52 20 63 72 74 29 0D 0A T (osi OR crt)..
Size : 512 (Real : 512)
000000: 63 61 6C 6C 09 63 73 72 70 6F 73 0D 0A 09 6A 6D call.csrpos...jm
000010: 70 09 63 6C 72 65 6F 6C 0D 0A 0D 0A 73 70 70 6F p.clreol....sppo
000020: 73 3A 09 6C 78 69 09 62 2C 31 31 2A 31 30 30 48 s:.lxi.b,11*100H
000030: 2B 38 0D 0A 09 63 61 6C 6C 09 63 73 72 70 6F 73 +8...call.csrpos
000040: 0D 0A 09 6A 6D 70 09 63 6C 72 65 6F 6C 0D 0A 0D ...jmp.clreol...
000050: 0A 73 63 72 65 6E 64 3A 09 6C 78 69 09 62 2C 31 .scrend:.lxi.b,1
000060: 33 2A 31 30 30 48 2B 31 0D 0A 09 63 61 6C 6C 09 3*100H+1...call.
000070: 63 73 72 70 6F 73 0D 0A 63 6C 72 65 6F 73 3A 09 csrpos..clreos:.
000080: 6C 78 69 09 64 2C 74 6A 0D 0A 09 6A 6D 70 09 70 lxi.d,tj...jmp.p
000090: 72 74 73 74 72 0D 0A 45 4E 44 49 46 3B 4E 4F 54 rtstr..ENDIF;NOT
0000A0: 20 28 6F 73 69 20 4F 52 20 63 72 74 29 0D 0A 0D (osi OR crt)...
0000B0: 0A 49 46 20 6F 73 69 20 4F 52 20 63 72 74 09 3B .IF osi OR crt.;
0000C0: 20 6E 6F 20 63 75 72 73 6F 72 20 63 6F 6E 74 72 no cursor contr
0000D0: 6F 6C 0D 0A 73 63 72 6E 70 3A 09 6D 76 69 09 65 ol..scrnp:.mvi.e
0000E0: 2C 27 20 27 0D 0A 09 6A 6D 70 09 6F 75 74 63 6F ,' '...jmp.outco
0000F0: 6E 0D 0A 0D 0A 73 63 72 6E 72 74 3A 09 6D 76 69 n....scrnrt:.mvi
000100: 09 65 2C 27 20 27 0D 0A 09 63 61 6C 6C 09 6F 75 .e,' '...call.ou
000110: 74 63 6F 6E 0D 0A 09 6D 76 69 09 65 2C 27 25 27 tcon...mvi.e,'%'
000120: 0D 0A 09 6A 6D 70 09 6F 75 74 63 6F 6E 0D 0A 0D ...jmp.outcon...
000130: 0A 73 63 72 66 6C 6E 3A 0D 0A 73 63 72 65 72 72 .scrfln:..screrr
000140: 3A 0D 0A 73 63 72 73 74 3A 0D 0A 73 63 72 65 6E :..scrst:..scren
000150: 64 3A 09 6A 6D 70 09 70 72 63 72 6C 66 09 09 3B d:.jmp.prcrlf..;
000160: 50 72 69 6E 74 20 43 52 2F 4C 46 09 5B 54 6F 61 Print CR/LF.[Toa
000170: 64 20 48 61 6C 6C 5D 0D 0A 0D 0A 72 70 70 6F 73 d Hall]....rppos
000180: 3A 09 6C 78 69 09 64 2C 70 72 70 61 63 6B 0D 0A :.lxi.d,prpack..
000190: 09 6A 6D 70 09 70 72 74 73 74 72 0D 0A 0D 0A 73 .jmp.prtstr....s
0001A0: 70 70 6F 73 3A 09 6C 78 69 09 64 2C 70 73 70 61 ppos:.lxi.d,pspa
0001B0: 63 6B 0D 0A 09 6A 6D 70 09 70 72 74 73 74 72 0D ck...jmp.prtstr.
0001C0: 0A 45 4E 44 49 46 3B 6F 73 69 20 4F 52 20 63 72 .ENDIF;osi OR cr
0001D0: 74 0D 0A 0D 0A 3B 0D 0A 3B 20 64 65 6C 63 68 72 t....;..; delchr
0001E0: 20 2D 20 6D 61 6B 65 20 64 65 6C 65 74 65 20 6C - make delete l
0001F0: 6F 6F 6B 20 6C 69 6B 65 20 61 20 62 61 63 6B 73 ook like a backs
Size : 512 (Real : 512)
000000: 0D 0A 49 46 20 6C 6F 62 6F 09 3B 5B 68 68 5D 0D ..IF lobo.;[hh].
000010: 0A 73 79 73 76 65 72 3A 09 64 62 09 27 4C 6F 62 .sysver:.db.'Lob
000020: 6F 20 4D 41 58 2D 38 30 24 27 0D 0A 6F 75 74 6C o MAX-80$'..outl
000030: 69 6E 3A 09 64 62 09 65 73 63 2C 27 2A 27 2C 63 in:.db.esc,'*',c
000040: 72 2C 6C 66 2C 74 61 62 2C 74 61 62 2C 27 24 27 r,lf,tab,tab,'$'
000050: 0D 0A 65 72 61 73 63 72 3A 09 64 62 09 65 73 63 ..erascr:.db.esc
000060: 2C 27 2A 24 27 09 09 3B 5B 68 68 5D 20 63 6C 65 ,'*$'..;[hh] cle
000070: 61 72 20 73 63 72 65 65 6E 20 61 6E 64 20 68 6F ar screen and ho
000080: 6D 65 20 63 75 72 73 6F 72 0D 0A 65 72 61 6C 69 me cursor..erali
000090: 6E 3A 09 64 62 09 63 72 2C 65 73 63 2C 27 52 24 n:.db.cr,esc,'R$
0000A0: 27 09 09 3B 5B 68 68 5D 20 63 6C 65 61 72 20 6C '..;[hh] clear l
0000B0: 69 6E 65 0D 0A 63 75 72 6C 64 6E 3A 09 64 62 09 ine..curldn:.db.
0000C0: 65 73 63 2C 27 3D 24 27 09 09 3B 5B 68 68 5D 20 esc,'=$'..;[hh]
0000D0: 63 75 72 73 6F 72 20 6C 65 61 64 2D 69 6E 20 73 cursor lead-in s
0000E0: 74 72 69 6E 67 0D 0A 64 65 6C 73 74 72 3A 09 64 tring..delstr:.d
0000F0: 62 09 62 73 2C 27 20 27 2C 62 73 2C 62 73 2C 27 b.bs,' ',bs,bs,'
000100: 24 27 09 3B 5B 68 68 5D 20 3F 3F 61 64 6A 75 73 $'.;[hh] ??adjus
000110: 74 20 66 6F 72 20 65 63 68 6F 69 6E 67 20 64 65 t for echoing de
000120: 6C 65 74 65 0D 0A 74 74 61 62 3A 09 09 09 09 09 lete..ttab:.....
000130: 3B 5B 68 68 5D 20 74 61 62 6C 65 20 73 74 61 72 ;[hh] table star
000140: 74 20 6C 6F 63 61 74 69 6F 6E 0D 0A 74 61 3A 09 t location..ta:.
000150: 64 62 09 30 42 48 2C 27 24 27 2C 30 2C 30 09 09 db.0BH,'$',0,0..
000160: 3B 5B 68 68 5D 20 63 75 72 73 6F 72 20 75 70 0D ;[hh] cursor up.
000170: 0A 74 62 3A 09 64 62 09 30 41 48 2C 27 24 27 2C .tb:.db.0AH,'$',
000180: 30 2C 30 09 09 3B 5B 68 68 5D 20 63 75 72 73 6F 0,0..;[hh] curso
000190: 72 20 64 6F 77 6E 0D 0A 74 63 3A 09 64 62 09 30 r down..tc:.db.0
0001A0: 43 48 2C 27 24 27 2C 30 2C 30 09 09 3B 5B 68 68 CH,'$',0,0..;[hh
0001B0: 5D 20 63 75 72 73 6F 72 20 72 69 67 68 74 0D 0A ] cursor right..
0001C0: 74 64 3A 09 64 62 09 30 38 48 2C 27 24 27 2C 30 td:.db.08H,'$',0
0001D0: 2C 30 09 09 3B 5B 68 68 5D 20 63 75 72 73 6F 72 ,0..;[hh] cursor
0001E0: 20 6C 65 66 74 0D 0A 74 65 3A 09 64 62 09 65 73 left..te:.db.es
0001F0: 63 2C 27 2A 24 27 2C 30 09 09 3B 5B 68 68 5D 20 c,'*$',0..;[hh]
Size : 512 (Real : 512)
000000: 70 61 63 65 2E 20 20 55 6E 6C 65 73 73 20 64 65 pace. Unless de
000010: 6C 65 74 65 20 69 73 20 61 20 70 72 69 6E 74 69 lete is a printi
000020: 6E 67 0D 0A 3B 09 63 68 61 72 61 63 74 65 72 2C ng..;.character,
000030: 20 77 65 20 6A 75 73 74 20 6E 65 65 64 20 74 6F we just need to
000040: 20 70 72 69 6E 74 20 61 20 62 61 63 6B 73 70 61 print a backspa
000050: 63 65 2E 20 28 77 65 27 6C 6C 20 6F 75 74 70 75 ce. (we'll outpu
000060: 74 20 63 6C 72 73 70 63 0D 0A 3B 09 61 66 74 65 t clrspc..;.afte
000070: 72 77 61 72 64 73 29 0D 0A 3B 09 46 6F 72 20 4B rwards)..;.For K
000080: 61 79 70 72 6F 20 61 6E 64 20 56 65 63 74 6F 72 aypro and Vector
000090: 20 47 65 6E 65 72 61 6C 2C 20 64 65 6C 65 74 65 General, delete
0000A0: 20 70 75 74 73 20 61 20 62 6C 6F 74 63 68 20 6F puts a blotch o
0000B0: 6E 20 74 68 65 20 73 63 72 65 65 6E 2E 0D 0A 3B n the screen...;
0000C0: 09 46 6F 72 20 41 70 70 6C 65 20 61 6E 64 20 4F .For Apple and O
0000D0: 73 62 6F 72 6E 65 20 31 2C 20 64 65 6C 65 74 65 sborne 1, delete
0000E0: 20 6D 6F 76 65 73 20 62 75 74 20 64 6F 65 73 6E moves but doesn
0000F0: 27 74 20 70 72 69 6E 74 2E 0D 0A 64 65 6C 63 68 't print...delch
000100: 72 3A 0D 0A 49 46 20 62 62 49 20 4F 52 20 76 65 r:..IF bbI OR ve
000110: 63 74 6F 72 20 4F 52 20 61 70 70 6C 65 20 4F 52 ctor OR apple OR
000120: 20 6F 73 62 72 6E 31 20 4F 52 20 6C 6F 62 6F 0D osbrn1 OR lobo.
000130: 0A 09 6C 78 69 09 64 2C 64 65 6C 73 74 72 0D 0A ..lxi.d,delstr..
000140: 09 6A 6D 70 09 70 72 74 73 74 72 0D 0A 45 4E 44 .jmp.prtstr..END
000150: 49 46 3B 62 62 49 20 4F 52 20 76 65 63 74 6F 72 IF;bbI OR vector
000160: 20 4F 52 20 61 70 70 6C 65 20 4F 52 20 6F 73 62 OR apple OR osb
000170: 72 6E 31 20 4F 52 20 6C 6F 62 6F 0D 0A 49 46 20 rn1 OR lobo..IF
000180: 4E 4F 54 20 28 62 62 49 20 4F 52 20 76 65 63 74 NOT (bbI OR vect
000190: 6F 72 20 4F 52 20 61 70 70 6C 65 20 4F 52 20 6F or OR apple OR o
0001A0: 73 62 72 6E 31 29 0D 0A 09 6D 76 69 09 65 2C 62 sbrn1)...mvi.e,b
0001B0: 73 09 09 3B 67 65 74 20 61 20 62 61 63 6B 73 70 s..;get a backsp
0001C0: 61 63 65 0D 0A 09 6A 6D 70 09 6F 75 74 63 6F 6E ace...jmp.outcon
0001D0: 0D 0A 45 4E 44 49 46 3B 4E 4F 54 20 28 62 62 49 ..ENDIF;NOT (bbI
0001E0: 20 4F 52 20 76 65 63 74 6F 72 20 4F 52 20 61 70 OR vector OR ap
0001F0: 70 6C 65 20 4F 52 20 6F 73 62 72 6E 31 29 0D 0A ple OR osbrn1)..
Size : 512 (Real : 512)
000000: 63 6C 65 61 72 20 64 69 73 70 6C 61 79 20 28 68 clear display (h
000010: 6F 6D 65 73 20 63 75 72 73 6F 72 29 0D 0A 74 66 omes cursor)..tf
000020: 3A 09 64 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 :.db.'$',0,0,0..
000030: 3B 5B 68 68 5D 20 28 63 61 6E 27 74 29 20 65 6E ;[hh] (can't) en
000040: 74 65 72 20 67 72 61 70 68 69 63 73 20 6D 6F 64 ter graphics mod
000050: 65 0D 0A 74 67 3A 09 64 62 09 27 24 27 2C 30 2C e..tg:.db.'$',0,
000060: 30 2C 30 09 09 3B 5B 68 68 5D 20 28 63 61 6E 27 0,0..;[hh] (can'
000070: 74 29 20 65 78 69 74 20 67 72 61 70 68 69 63 73 t) exit graphics
000080: 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 09 30 31 mode..th:.db.01
000090: 45 48 2C 27 24 27 2C 30 2C 30 09 09 3B 5B 68 68 EH,'$',0,0..;[hh
0000A0: 5D 20 68 6F 6D 65 20 63 75 72 73 6F 72 0D 0A 74 ] home cursor..t
0000B0: 69 3A 09 64 62 09 65 73 63 2C 27 45 24 27 2C 30 i:.db.esc,'E$',0
0000C0: 09 09 3B 5B 68 68 5D 20 72 65 76 65 72 73 65 20 ..;[hh] reverse
0000D0: 6C 69 6E 65 66 65 65 64 20 28 69 6E 73 65 72 74 linefeed (insert
0000E0: 20 6C 69 6E 65 29 0D 0A 74 6A 3A 09 64 62 09 65 line)..tj:.db.e
0000F0: 73 63 2C 27 59 24 27 2C 30 09 09 3B 5B 68 68 5D sc,'Y$',0..;[hh]
000100: 20 63 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 clear to end of
000110: 20 73 63 72 65 65 6E 0D 0A 74 6B 3A 09 64 62 09 screen..tk:.db.
000120: 65 73 63 2C 27 54 24 27 2C 30 09 09 3B 5B 68 68 esc,'T$',0..;[hh
000130: 5D 20 63 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F ] clear to end o
000140: 66 20 6C 69 6E 65 0D 0A 45 4E 44 49 46 09 3B 6C f line..ENDIF.;l
000150: 6F 62 6F 0D 0A 0D 0A 3B 0C 0D 0A 49 46 20 62 72 obo....;...IF br
000160: 61 69 6E 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 ain..sysver:.db.
000170: 27 49 6E 74 65 72 74 65 63 20 53 75 70 65 72 42 'Intertec SuperB
000180: 72 61 69 6E 24 27 0D 0A 6F 75 74 6C 69 6E 3A 09 rain$'..outlin:.
000190: 64 62 09 28 27 41 27 2D 31 30 30 4F 29 2C 65 73 db.('A'-100O),es
0001A0: 63 2C 27 7E 6B 27 2C 63 72 2C 6C 66 2C 74 61 62 c,'~k',cr,lf,tab
0001B0: 2C 74 61 62 2C 27 24 27 0D 0A 65 72 61 73 63 72 ,tab,'$'..erascr
0001C0: 3A 09 64 62 09 28 27 41 27 2D 31 30 30 4F 29 2C :.db.('A'-100O),
0001D0: 65 73 63 2C 27 7E 6B 24 27 20 09 3B 43 6C 65 61 esc,'~k$' .;Clea
0001E0: 72 20 73 63 72 65 65 6E 20 61 6E 64 20 67 6F 20 r screen and go
0001F0: 68 6F 6D 65 2E 0D 0A 65 72 61 6C 69 6E 3A 09 64 home...eralin:.d
Size : 512 (Real : 512)
000000: 0D 0A 3B 20 65 72 61 73 65 20 74 68 65 20 63 68 ..; erase the ch
000010: 61 72 61 63 74 65 72 20 61 74 20 74 68 65 20 63 aracter at the c
000020: 75 72 72 65 6E 74 20 63 75 72 73 6F 72 20 70 6F urrent cursor po
000030: 73 69 74 69 6F 6E 0D 0A 63 6C 72 73 70 63 3A 09 sition..clrspc:.
000040: 6D 76 69 09 65 2C 27 20 27 0D 0A 09 63 61 6C 6C mvi.e,' '...call
000050: 09 6F 75 74 63 6F 6E 0D 0A 09 6D 76 69 09 65 2C .outcon...mvi.e,
000060: 62 73 09 09 3B 67 65 74 20 61 20 62 61 63 6B 73 bs..;get a backs
000070: 70 61 63 65 0D 0A 09 6A 6D 70 09 6F 75 74 63 6F pace...jmp.outco
000080: 6E 0D 0A 0D 0A 3B 20 65 72 61 73 65 20 74 68 65 n....; erase the
000090: 20 63 75 72 72 65 6E 74 20 6C 69 6E 65 0D 0A 63 current line..c
0000A0: 6C 72 6C 69 6E 3A 09 6C 78 69 09 64 2C 65 72 61 lrlin:.lxi.d,era
0000B0: 6C 69 6E 0D 0A 09 6A 6D 70 09 70 72 74 73 74 72 lin...jmp.prtstr
0000C0: 0D 0A 0D 0A 3B 20 65 72 61 73 65 20 74 68 65 20 ....; erase the
0000D0: 77 68 6F 6C 65 20 73 63 72 65 65 6E 2C 20 61 6E whole screen, an
0000E0: 64 20 67 6F 20 68 6F 6D 65 2E 20 70 72 65 73 65 d go home. prese
0000F0: 72 76 65 73 20 62 20 28 62 75 74 20 6E 6F 74 20 rves b (but not
000100: 63 29 0D 0A 63 6C 72 74 6F 70 3A 09 6C 78 69 09 c)..clrtop:.lxi.
000110: 64 2C 65 72 61 73 63 72 0D 0A 09 6A 6D 70 09 70 d,erascr...jmp.p
000120: 72 74 73 74 72 0D 0A 0D 0A 3B 20 53 6F 6D 65 20 rtstr....; Some
000130: 66 72 65 71 75 65 6E 74 6C 79 2D 75 73 65 64 20 frequently-used
000140: 72 6F 75 74 69 6E 65 73 20 28 64 75 70 6C 69 63 routines (duplic
000150: 61 74 65 73 20 6F 66 20 74 68 6F 73 65 20 69 6E ates of those in
000160: 20 43 50 34 4D 49 54 29 3A 0D 0A 3B 09 70 72 63 CP4MIT):..;.prc
000170: 72 6C 66 20 2D 20 6F 75 74 70 75 74 20 61 20 43 rlf - output a C
000180: 52 2F 4C 46 0D 0A 3B 09 70 72 74 73 74 72 20 2D R/LF..;.prtstr -
000190: 20 6F 75 74 70 75 74 20 73 74 72 69 6E 67 20 69 output string i
0001A0: 6E 20 44 45 0D 0A 3B 09 72 73 6B 70 20 2D 20 72 n DE..;.rskp - r
0001B0: 65 74 75 72 6E 2C 20 73 6B 69 70 70 69 6E 67 20 eturn, skipping
0001C0: 6F 76 65 72 20 65 72 72 6F 72 20 72 65 74 75 72 over error retur
0001D0: 6E 0D 0A 70 72 63 72 6C 66 3A 09 6C 78 69 09 64 n..prcrlf:.lxi.d
0001E0: 2C 63 72 6C 66 0D 0A 70 72 74 73 74 72 3A 09 6D ,crlf..prtstr:.m
0001F0: 76 69 09 63 2C 70 72 73 74 72 0D 0A 09 6A 6D 70 vi.c,prstr...jmp
Size : 512 (Real : 512)
000000: 62 09 63 72 2C 65 73 63 2C 27 7E 4B 24 27 09 09 b.cr,esc,'~K$'..
000010: 3B 43 6C 65 61 72 20 6C 69 6E 65 2E 0D 0A 63 75 ;Clear line...cu
000020: 72 6C 64 6E 3A 09 64 62 09 65 73 63 2C 27 59 24 rldn:.db.esc,'Y$
000030: 27 09 09 3B 20 6C 65 61 64 69 6E 20 66 6F 72 20 '..; leadin for
000040: 63 75 72 73 6F 72 20 70 6F 73 69 74 69 6F 6E 69 cursor positioni
000050: 6E 67 0D 0A 74 74 61 62 3A 09 09 09 09 09 3B 54 ng..ttab:.....;T
000060: 61 62 6C 65 20 73 74 61 72 74 20 6C 6F 63 61 74 able start locat
000070: 69 6F 6E 2E 0D 0A 74 61 3A 09 64 62 09 28 27 4B ion...ta:.db.('K
000080: 27 2D 31 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 '-100O),'$',0,0.
000090: 3B 43 75 72 73 6F 72 20 75 70 2E 0D 0A 74 62 3A ;Cursor up...tb:
0000A0: 09 64 62 09 31 32 4F 2C 27 24 27 2C 30 2C 30 09 .db.12O,'$',0,0.
0000B0: 09 3B 43 75 72 73 6F 72 20 64 6F 77 6E 2E 0D 0A .;Cursor down...
0000C0: 74 63 3A 09 64 62 09 28 27 46 27 2D 31 30 30 4F tc:.db.('F'-100O
0000D0: 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 73 6F ),'$',0,0.;Curso
0000E0: 72 20 72 69 67 68 74 2E 0D 0A 74 64 3A 09 64 62 r right...td:.db
0000F0: 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 .'$',0,0,0..;(ca
000100: 6E 27 74 29 20 43 75 72 73 6F 72 20 6C 65 66 74 n't) Cursor left
000110: 0D 0A 74 65 3A 09 64 62 09 27 24 27 2C 30 2C 30 ..te:.db.'$',0,0
000120: 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 43 6C 65 ,0..;(can't) Cle
000130: 61 72 20 64 69 73 70 6C 61 79 0D 0A 74 66 3A 09 ar display..tf:.
000140: 64 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 db.'$',0,0,0..;(
000150: 63 61 6E 27 74 29 20 45 6E 74 65 72 20 67 72 61 can't) Enter gra
000160: 70 68 69 63 73 20 6D 6F 64 65 0D 0A 74 67 3A 09 phics mode..tg:.
000170: 64 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 db.'$',0,0,0..;(
000180: 63 61 6E 27 74 29 20 45 78 69 74 20 67 72 61 70 can't) Exit grap
000190: 68 69 63 73 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 hics mode..th:.d
0001A0: 62 09 28 27 41 27 2D 31 30 30 4F 29 2C 27 24 27 b.('A'-100O),'$'
0001B0: 2C 30 2C 30 09 3B 43 75 72 73 6F 72 20 68 6F 6D ,0,0.;Cursor hom
0001C0: 65 2E 0D 0A 74 69 3A 09 64 62 09 28 27 4B 27 2D e...ti:.db.('K'-
0001D0: 31 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 52 100O),'$',0,0.;R
0001E0: 65 76 65 72 73 65 20 6C 69 6E 65 66 65 65 64 2E everse linefeed.
0001F0: 0D 0A 74 6A 3A 09 64 62 09 65 73 63 2C 27 7E 6B ..tj:.db.esc,'~k
Size : 512 (Real : 512)
000000: 09 62 64 6F 73 0D 0A 0D 0A 72 73 6B 70 3A 09 70 .bdos....rskp:.p
000010: 6F 70 09 68 09 09 3B 20 47 65 74 20 74 68 65 20 op.h..; Get the
000020: 72 65 74 75 72 6E 20 61 64 64 72 65 73 73 0D 0A return address..
000030: 09 69 6E 78 09 68 09 09 3B 20 49 6E 63 72 65 6D .inx.h..; Increm
000040: 65 6E 74 20 62 79 20 74 68 72 65 65 0D 0A 09 69 ent by three...i
000050: 6E 78 09 68 0D 0A 09 69 6E 78 09 68 0D 0A 09 70 nx.h...inx.h...p
000060: 63 68 6C 0D 0A 0D 0A 3B 09 43 6F 70 79 20 62 6C chl....;.Copy bl
000070: 6F 63 6B 20 6F 66 20 64 61 74 61 0D 0A 3B 09 73 ock of data..;.s
000080: 6F 75 72 63 65 20 69 6E 20 48 4C 2C 20 64 65 73 ource in HL, des
000090: 74 69 6E 61 74 69 6F 6E 20 69 6E 20 44 45 2C 20 tination in DE,
0000A0: 62 79 74 65 20 63 6F 75 6E 74 20 69 6E 20 42 43 byte count in BC
0000B0: 0D 0A 3B 09 63 61 6C 6C 65 64 20 62 79 3A 20 63 ..;.called by: c
0000C0: 70 34 73 79 73 2C 20 6D 66 6E 61 6D 65 0D 0A 3B p4sys, mfname..;
0000D0: 0D 0A 6D 6F 76 65 72 3A 0D 0A 49 46 20 4E 4F 54 ..mover:..IF NOT
0000E0: 20 7A 38 30 09 09 3B 20 38 30 38 30 27 73 20 68 z80..; 8080's h
0000F0: 61 76 65 20 74 6F 20 64 6F 20 69 74 20 74 68 65 ave to do it the
000100: 20 68 61 72 64 20 77 61 79 0D 0A 09 6D 6F 76 09 hard way...mov.
000110: 61 2C 6D 0D 0A 09 73 74 61 78 09 64 0D 0A 09 69 a,m...stax.d...i
000120: 6E 78 09 68 0D 0A 09 69 6E 78 09 64 0D 0A 09 64 nx.h...inx.d...d
000130: 63 78 09 62 0D 0A 09 6D 6F 76 09 61 2C 62 0D 0A cx.b...mov.a,b..
000140: 09 6F 72 61 09 63 0D 0A 09 6A 6E 7A 09 6D 6F 76 .ora.c...jnz.mov
000150: 65 72 0D 0A 45 4E 44 49 46 3B 4E 4F 54 20 7A 38 er..ENDIF;NOT z8
000160: 30 0D 0A 49 46 20 7A 38 30 0D 0A 09 64 62 09 30 0..IF z80...db.0
000170: 45 44 68 2C 30 42 30 68 09 3B 20 5A 38 30 20 4C EDh,0B0h.; Z80 L
000180: 44 49 52 20 69 6E 73 74 72 75 63 74 69 6F 6E 0D DIR instruction.
000190: 0A 45 4E 44 49 46 3B 7A 38 30 0D 0A 09 72 65 74 .ENDIF;z80...ret
0001A0: 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 4D 69 73 63 65 ..;...;..;.Misce
0001B0: 6C 6C 61 6E 65 6F 75 73 20 6D 65 73 73 61 67 65 llaneous message
0001C0: 73 0D 0A 3B 0D 0A 63 72 6C 66 3A 09 64 62 09 63 s..;..crlf:.db.c
0001D0: 72 2C 6C 66 2C 27 24 27 0D 0A 0D 0A 63 66 67 6D r,lf,'$'....cfgm
0001E0: 73 67 3A 09 64 62 09 27 63 6F 6E 66 69 67 75 72 sg:.db.'configur
0001F0: 65 64 20 66 6F 72 20 24 27 0D 0A 0D 0A 49 46 20 ed for $'....IF
Size : 512 (Real : 512)
000000: 24 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 $',0..;Clear to
000010: 65 6E 64 20 6F 66 20 73 63 72 65 65 6E 2E 0D 0A end of screen...
000020: 74 6B 3A 09 64 62 09 65 73 63 2C 27 7E 4B 24 27 tk:.db.esc,'~K$'
000030: 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 65 6E ,0..;Clear to en
000040: 64 20 6F 66 20 6C 69 6E 65 2E 0D 0A 45 4E 44 49 d of line...ENDI
000050: 46 3B 62 72 61 69 6E 0D 0A 0D 0A 3B 0C 0D 0A 49 F;brain....;...I
000060: 46 20 6F 73 62 72 6E 31 0D 0A 73 79 73 76 65 72 F osbrn1..sysver
000070: 3A 09 64 62 09 27 4F 73 62 6F 72 6E 65 20 31 24 :.db.'Osborne 1$
000080: 27 0D 0A 6F 75 74 6C 69 6E 3A 09 64 62 09 31 41 '..outlin:.db.1A
000090: 48 2C 63 72 2C 6C 66 2C 74 61 62 2C 27 24 27 09 H,cr,lf,tab,'$'.
0000A0: 3B 28 43 6C 65 61 72 20 73 63 72 65 65 6E 2C 20 ;(Clear screen,
0000B0: 68 6F 6D 65 20 63 75 72 73 6F 72 29 0D 0A 65 72 home cursor)..er
0000C0: 61 73 63 72 3A 09 64 62 09 31 41 48 2C 27 24 27 ascr:.db.1AH,'$'
0000D0: 09 09 09 3B 43 6C 65 61 72 20 73 63 72 65 65 6E ...;Clear screen
0000E0: 20 61 6E 64 20 67 6F 20 68 6F 6D 65 2E 0D 0A 65 and go home...e
0000F0: 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 65 73 63 ralin:.db.cr,esc
000100: 2C 27 54 24 27 09 09 3B 43 6C 65 61 72 20 6C 69 ,'T$'..;Clear li
000110: 6E 65 2E 0D 0A 64 65 6C 73 74 72 3A 09 64 62 09 ne...delstr:.db.
000120: 62 73 2C 62 73 2C 27 24 27 09 09 3B 20 41 64 6A bs,bs,'$'..; Adj
000130: 75 73 74 20 66 6F 72 20 64 65 6C 65 74 65 0D 0A ust for delete..
000140: 63 75 72 6C 64 6E 3A 09 64 62 09 65 73 63 2C 27 curldn:.db.esc,'
000150: 3D 24 27 09 09 3B 43 75 72 73 6F 72 20 6C 65 61 =$'..;Cursor lea
000160: 64 2D 69 6E 0D 0A 74 74 61 62 3A 09 09 09 09 09 d-in..ttab:.....
000170: 3B 54 61 62 6C 65 20 73 74 61 72 74 20 6C 6F 63 ;Table start loc
000180: 61 74 69 6F 6E 2E 0D 0A 74 61 3A 09 64 62 09 28 ation...ta:.db.(
000190: 27 4B 27 2D 31 30 30 4F 29 2C 27 24 27 2C 30 2C 'K'-100O),'$',0,
0001A0: 30 09 3B 43 75 72 73 6F 72 20 75 70 2E 0D 0A 74 0.;Cursor up...t
0001B0: 62 3A 09 64 62 09 31 32 4F 2C 27 24 27 2C 30 2C b:.db.12O,'$',0,
0001C0: 30 09 09 3B 43 75 72 73 6F 72 20 64 6F 77 6E 2E 0..;Cursor down.
0001D0: 0D 0A 74 63 3A 09 64 62 09 28 27 4C 27 2D 31 30 ..tc:.db.('L'-10
0001E0: 30 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 0O),'$',0,0.;Cur
0001F0: 73 6F 72 20 72 69 67 68 74 2E 0D 0A 74 64 3A 09 sor right...td:.
Size : 512 (Real : 512)
000000: 76 65 72 3A 09 64 62 09 27 48 65 61 74 68 2F 5A ver:.db.'Heath/Z
000010: 65 6E 69 74 68 20 5A 2D 31 30 30 20 43 50 2F 4D enith Z-100 CP/M
000020: 24 27 0D 0A 45 4E 44 49 46 3B 7A 31 30 30 0D 0A $'..ENDIF;z100..
000030: 0D 0A 49 46 20 76 74 35 32 09 09 3B 20 44 45 43 ..IF vt52..; DEC
000040: 20 56 54 35 32 0D 0A 74 74 79 74 79 70 3A 09 64 VT52..ttytyp:.d
000050: 62 09 27 56 54 35 32 24 27 0D 0A 45 4E 44 49 46 b.'VT52$'..ENDIF
000060: 3B 76 74 35 32 0D 0A 0D 0A 49 46 20 68 65 61 74 ;vt52....IF heat
000070: 68 20 4F 52 20 7A 31 30 30 20 4F 52 20 74 65 6C h OR z100 OR tel
000080: 63 6F 6E 20 4F 52 20 76 74 35 32 0D 0A 6F 75 74 con OR vt52..out
000090: 6C 69 6E 3A 09 64 62 09 65 73 63 2C 27 48 27 2C lin:.db.esc,'H',
0000A0: 65 73 63 2C 27 4A 27 2C 63 72 2C 6C 66 2C 74 61 esc,'J',cr,lf,ta
0000B0: 62 2C 74 61 62 2C 27 24 27 0D 0A 65 72 61 73 63 b,tab,'$'..erasc
0000C0: 72 3A 09 64 62 09 65 73 63 2C 27 48 27 2C 65 73 r:.db.esc,'H',es
0000D0: 63 2C 27 4A 24 27 20 09 3B 43 6C 65 61 72 20 73 c,'J$' .;Clear s
0000E0: 63 72 65 65 6E 20 61 6E 64 20 67 6F 20 68 6F 6D creen and go hom
0000F0: 65 2E 0D 0A 65 72 61 6C 69 6E 3A 09 64 62 09 63 e...eralin:.db.c
000100: 72 2C 65 73 63 2C 27 4B 24 27 09 09 3B 43 6C 65 r,esc,'K$'..;Cle
000110: 61 72 20 6C 69 6E 65 2E 0D 0A 63 75 72 6C 64 6E ar line...curldn
000120: 3A 09 64 62 09 65 73 63 2C 27 59 24 27 09 09 3B :.db.esc,'Y$'..;
000130: 63 75 72 73 6F 72 20 6C 65 61 64 69 6E 0D 0A 74 cursor leadin..t
000140: 74 61 62 3A 09 09 09 09 09 3B 54 61 62 6C 65 20 tab:.....;Table
000150: 73 74 61 72 74 20 6C 6F 63 61 74 69 6F 6E 2E 0D start location..
000160: 0A 74 61 3A 09 64 62 09 65 73 63 2C 27 41 24 27 .ta:.db.esc,'A$'
000170: 2C 30 09 09 3B 43 75 72 73 6F 72 20 75 70 2E 0D ,0..;Cursor up..
000180: 0A 74 62 3A 09 64 62 09 65 73 63 2C 27 42 24 27 .tb:.db.esc,'B$'
000190: 2C 30 09 09 3B 43 75 72 73 6F 72 20 64 6F 77 6E ,0..;Cursor down
0001A0: 2E 0D 0A 74 63 3A 09 64 62 09 65 73 63 2C 27 43 ...tc:.db.esc,'C
0001B0: 24 27 2C 30 09 09 3B 43 75 72 73 6F 72 20 72 69 $',0..;Cursor ri
0001C0: 67 68 74 2E 0D 0A 74 64 3A 09 64 62 09 65 73 63 ght...td:.db.esc
0001D0: 2C 27 44 24 27 2C 30 09 09 3B 43 75 72 73 6F 72 ,'D$',0..;Cursor
0001E0: 20 6C 65 66 74 0D 0A 74 65 3A 09 64 62 09 65 73 left..te:.db.es
0001F0: 63 2C 27 45 24 27 2C 30 09 09 3B 43 6C 65 61 72 c,'E$',0..;Clear
Size : 512 (Real : 512)
000000: 64 62 09 62 73 2C 27 24 27 2C 30 2C 30 09 09 3B db.bs,'$',0,0..;
000010: 43 75 72 73 6F 72 20 6C 65 66 74 2E 0D 0A 74 65 Cursor left...te
000020: 3A 09 64 62 09 73 75 62 74 2C 27 24 27 2C 30 2C :.db.subt,'$',0,
000030: 30 09 09 3B 43 6C 65 61 72 20 73 63 72 65 65 6E 0..;Clear screen
000040: 2E 0D 0A 74 66 3A 09 64 62 09 27 24 27 2C 30 2C ...tf:.db.'$',0,
000050: 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 45 6E 0,0..;(can't) En
000060: 74 65 72 20 67 72 61 70 68 69 63 73 20 6D 6F 64 ter graphics mod
000070: 65 0D 0A 74 67 3A 09 64 62 09 27 24 27 2C 30 2C e..tg:.db.'$',0,
000080: 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 45 78 0,0..;(can't) Ex
000090: 69 74 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 it graphics mode
0000A0: 0D 0A 74 68 3A 09 64 62 09 28 27 5E 27 2D 31 30 ..th:.db.('^'-10
0000B0: 30 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 0O),'$',0,0.;Cur
0000C0: 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 69 3A 09 64 sor home...ti:.d
0000D0: 62 09 28 27 4B 27 2D 31 30 30 4F 29 2C 27 24 27 b.('K'-100O),'$'
0000E0: 2C 30 2C 30 09 3B 52 65 76 65 72 73 65 20 6C 69 ,0,0.;Reverse li
0000F0: 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A 09 64 62 09 nefeed...tj:.db.
000100: 65 73 63 2C 27 54 24 27 2C 30 09 09 3B 28 63 61 esc,'T$',0..;(ca
000110: 6E 27 74 29 20 43 6C 65 61 72 20 74 6F 20 65 6E n't) Clear to en
000120: 64 20 6F 66 20 73 63 72 65 65 6E 2E 0D 0A 74 6B d of screen...tk
000130: 3A 09 64 62 09 65 73 63 2C 27 54 24 27 2C 30 09 :.db.esc,'T$',0.
000140: 09 3B 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F .;Clear to end o
000150: 66 20 6C 69 6E 65 2E 0D 0A 45 4E 44 49 46 3B 6F f line...ENDIF;o
000160: 73 62 72 6E 31 0D 0A 3B 0C 0D 0A 49 46 20 61 70 sbrn1..;...IF ap
000170: 70 6C 65 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 ple..sysver:.db.
000180: 27 41 70 70 6C 65 20 49 49 20 43 50 2F 4D 24 27 'Apple II CP/M$'
000190: 0D 0A 6F 75 74 6C 69 6E 3A 09 64 62 09 28 27 5E ..outlin:.db.('^
0001A0: 27 2D 31 30 30 4F 29 2C 65 73 63 2C 27 59 27 2C '-100O),esc,'Y',
0001B0: 63 72 2C 6C 66 2C 27 20 20 24 27 0D 0A 65 72 61 cr,lf,' $'..era
0001C0: 73 63 72 3A 09 64 62 09 28 27 5E 27 2D 31 30 30 scr:.db.('^'-100
0001D0: 4F 29 2C 65 73 63 2C 27 59 24 27 09 3B 43 6C 65 O),esc,'Y$'.;Cle
0001E0: 61 72 20 73 63 72 65 65 6E 20 61 6E 64 20 67 6F ar screen and go
0001F0: 20 68 6F 6D 65 2E 0D 0A 65 72 61 6C 69 6E 3A 09 home...eralin:.
Size : 512 (Real : 512)
000000: 20 64 69 73 70 6C 61 79 0D 0A 74 66 3A 09 64 62 display..tf:.db
000010: 09 65 73 63 2C 27 46 24 27 2C 30 09 09 3B 45 6E .esc,'F$',0..;En
000020: 74 65 72 20 47 72 61 70 68 69 63 73 20 4D 6F 64 ter Graphics Mod
000030: 65 0D 0A 74 67 3A 09 64 62 09 65 73 63 2C 27 47 e..tg:.db.esc,'G
000040: 24 27 2C 30 09 09 3B 45 78 69 74 20 47 72 61 70 $',0..;Exit Grap
000050: 68 69 63 73 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 hics mode..th:.d
000060: 62 09 65 73 63 2C 27 48 24 27 2C 30 09 09 3B 43 b.esc,'H$',0..;C
000070: 75 72 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 69 3A ursor home...ti:
000080: 09 64 62 09 65 73 63 2C 27 49 24 27 2C 30 09 09 .db.esc,'I$',0..
000090: 3B 52 65 76 65 72 73 65 20 6C 69 6E 65 66 65 65 ;Reverse linefee
0000A0: 64 2E 0D 0A 74 6A 3A 09 64 62 09 65 73 63 2C 27 d...tj:.db.esc,'
0000B0: 4A 24 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F J$',0..;Clear to
0000C0: 20 65 6E 64 20 6F 66 20 73 63 72 65 65 6E 2E 0D end of screen..
0000D0: 0A 74 6B 3A 09 64 62 09 65 73 63 2C 27 4B 24 27 .tk:.db.esc,'K$'
0000E0: 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 65 6E ,0..;Clear to en
0000F0: 64 20 6F 66 20 6C 69 6E 65 2E 0D 0A 45 4E 44 49 d of line...ENDI
000100: 46 3B 68 65 61 74 68 20 4F 52 20 7A 31 30 30 20 F;heath OR z100
000110: 4F 52 20 74 65 6C 63 6F 6E 20 4F 52 20 76 74 35 OR telcon OR vt5
000120: 32 0D 0A 3B 0C 0D 0A 49 46 20 74 72 73 38 30 6C 2..;...IF trs80l
000130: 62 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 27 54 b..sysver:.db.'T
000140: 52 53 2D 38 30 20 49 49 20 4C 69 66 65 62 6F 61 RS-80 II Lifeboa
000150: 74 20 43 50 2F 4D 24 27 0D 0A 6F 75 74 6C 69 6E t CP/M$'..outlin
000160: 3A 09 64 62 09 65 73 63 2C 27 3A 27 2C 63 72 2C :.db.esc,':',cr,
000170: 6C 66 2C 74 61 62 2C 74 61 62 2C 27 24 27 0D 0A lf,tab,tab,'$'..
000180: 65 72 61 73 63 72 3A 09 64 62 09 65 73 63 2C 27 erascr:.db.esc,'
000190: 3A 24 27 09 09 3B 43 6C 65 61 72 20 73 63 72 65 :$'..;Clear scre
0001A0: 65 6E 20 61 6E 64 20 67 6F 20 68 6F 6D 65 2E 0D en and go home..
0001B0: 0A 65 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 65 .eralin:.db.cr,e
0001C0: 73 63 2C 27 54 24 27 09 09 3B 43 6C 65 61 72 20 sc,'T$'..;Clear
0001D0: 6C 69 6E 65 2E 0D 0A 63 75 72 6C 64 6E 3A 09 64 line...curldn:.d
0001E0: 62 09 65 73 63 2C 27 3D 24 27 09 09 3B 43 75 72 b.esc,'=$'..;Cur
0001F0: 73 6F 72 20 6C 65 61 64 2D 69 6E 0D 0A 74 74 61 sor lead-in..tta
Size : 512 (Real : 512)
000000: 64 62 09 63 72 2C 65 73 63 2C 27 54 24 27 09 09 db.cr,esc,'T$'..
000010: 3B 43 6C 65 61 72 20 6C 69 6E 65 2E 0D 0A 64 65 ;Clear line...de
000020: 6C 73 74 72 3A 09 64 62 09 62 73 2C 62 73 2C 27 lstr:.db.bs,bs,'
000030: 24 27 09 09 3B 20 41 64 6A 75 73 74 20 66 6F 72 $'..; Adjust for
000040: 20 64 65 6C 65 74 65 0D 0A 63 75 72 6C 64 6E 3A delete..curldn:
000050: 09 64 62 09 65 73 63 2C 27 3D 24 27 09 09 3B 43 .db.esc,'=$'..;C
000060: 75 72 73 6F 72 20 6C 65 61 64 2D 69 6E 0D 0A 74 ursor lead-in..t
000070: 74 61 62 3A 09 09 09 09 09 3B 54 61 62 6C 65 20 tab:.....;Table
000080: 73 74 61 72 74 20 6C 6F 63 61 74 69 6F 6E 2E 0D start location..
000090: 0A 74 61 3A 09 64 62 09 28 27 4B 27 2D 31 30 30 .ta:.db.('K'-100
0000A0: 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 73 O),'$',0,0.;Curs
0000B0: 6F 72 20 75 70 2E 0D 0A 74 62 3A 09 64 62 09 31 or up...tb:.db.1
0000C0: 32 4F 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 2O,'$',0,0..;Cur
0000D0: 73 6F 72 20 64 6F 77 6E 2E 0D 0A 74 63 3A 09 64 sor down...tc:.d
0000E0: 62 09 28 27 46 27 2D 31 30 30 4F 29 2C 27 24 27 b.('F'-100O),'$'
0000F0: 2C 30 2C 30 09 3B 43 75 72 73 6F 72 20 72 69 67 ,0,0.;Cursor rig
000100: 68 74 2E 0D 0A 74 64 3A 09 64 62 09 27 24 27 2C ht...td:.db.'$',
000110: 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 0,0,0..;(can't)
000120: 43 75 72 73 6F 72 20 6C 65 66 74 0D 0A 74 65 3A Cursor left..te:
000130: 09 64 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B .db.'$',0,0,0..;
000140: 28 63 61 6E 27 74 29 20 43 6C 65 61 72 20 64 69 (can't) Clear di
000150: 73 70 6C 61 79 0D 0A 74 66 3A 09 64 62 09 27 24 splay..tf:.db.'$
000160: 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 ',0,0,0..;(can't
000170: 29 20 45 6E 74 65 72 20 67 72 61 70 68 69 63 73 ) Enter graphics
000180: 20 6D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 27 24 mode..tg:.db.'$
000190: 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 ',0,0,0..;(can't
0001A0: 29 20 45 78 69 74 20 67 72 61 70 68 69 63 73 20 ) Exit graphics
0001B0: 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 09 28 27 5E mode..th:.db.('^
0001C0: 27 2D 31 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 '-100O),'$',0,0.
0001D0: 3B 43 75 72 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 ;Cursor home...t
0001E0: 69 3A 09 64 62 09 28 27 4B 27 2D 31 30 30 4F 29 i:.db.('K'-100O)
0001F0: 2C 27 24 27 2C 30 2C 30 09 3B 52 65 76 65 72 73 ,'$',0,0.;Revers
Size : 512 (Real : 512)
000000: 62 3A 09 09 09 09 09 3B 54 61 62 6C 65 20 73 74 b:.....;Table st
000010: 61 72 74 20 6C 6F 63 61 74 69 6F 6E 2E 0D 0A 74 art location...t
000020: 61 3A 09 64 62 09 30 42 48 2C 27 24 27 2C 30 2C a:.db.0BH,'$',0,
000030: 30 09 09 3B 43 75 72 73 6F 72 20 75 70 2E 0D 0A 0..;Cursor up...
000040: 74 62 3A 09 64 62 09 30 41 48 2C 27 24 27 2C 30 tb:.db.0AH,'$',0
000050: 2C 30 09 09 3B 43 75 72 73 6F 72 20 64 6F 77 6E ,0..;Cursor down
000060: 2E 0D 0A 74 63 3A 09 64 62 09 30 43 48 2C 27 24 ...tc:.db.0CH,'$
000070: 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 72 ',0,0..;Cursor r
000080: 69 67 68 74 2E 0D 0A 74 64 3A 09 64 62 09 62 73 ight...td:.db.bs
000090: 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F ,'$',0,0..;Curso
0000A0: 72 20 6C 65 66 74 0D 0A 74 65 3A 09 64 62 09 65 r left..te:.db.e
0000B0: 73 63 2C 27 3A 24 27 2C 30 09 09 3B 43 6C 65 61 sc,':$',0..;Clea
0000C0: 72 20 64 69 73 70 6C 61 79 0D 0A 74 66 3A 09 64 r display..tf:.d
0000D0: 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 b.'$',0,0,0..;(c
0000E0: 61 6E 27 74 29 20 45 6E 74 65 72 20 47 72 61 70 an't) Enter Grap
0000F0: 68 69 63 73 20 4D 6F 64 65 0D 0A 74 67 3A 09 64 hics Mode..tg:.d
000100: 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 b.'$',0,0,0..;(c
000110: 61 6E 27 74 29 20 45 78 69 74 20 47 72 61 70 68 an't) Exit Graph
000120: 69 63 73 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 ics mode..th:.db
000130: 09 31 45 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 .1EH,'$',0,0..;C
000140: 75 72 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 69 3A ursor home...ti:
000150: 09 64 62 09 30 42 48 2C 27 24 27 2C 30 2C 30 09 .db.0BH,'$',0,0.
000160: 09 3B 52 65 76 65 72 73 65 20 6C 69 6E 65 66 65 .;Reverse linefe
000170: 65 64 2E 0D 0A 74 6A 3A 09 64 62 09 65 73 63 2C ed...tj:.db.esc,
000180: 27 59 24 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 'Y$',0..;Clear t
000190: 6F 20 65 6E 64 20 6F 66 20 73 63 72 65 65 6E 2E o end of screen.
0001A0: 0D 0A 74 6B 3A 09 64 62 09 65 73 63 2C 27 54 24 ..tk:.db.esc,'T$
0001B0: 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 65 ',0..;Clear to e
0001C0: 6E 64 20 6F 66 20 6C 69 6E 65 2E 0D 0A 45 4E 44 nd of line...END
0001D0: 49 46 3B 74 72 73 38 30 6C 62 0D 0A 3B 0C 0D 0A IF;trs80lb..;...
0001E0: 49 46 20 74 72 73 38 30 70 74 0D 0A 73 79 73 76 IF trs80pt..sysv
0001F0: 65 72 3A 09 64 62 09 27 54 52 53 2D 38 30 20 49 er:.db.'TRS-80 I
Size : 512 (Real : 512)
000000: 65 20 6C 69 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A e linefeed...tj:
000010: 09 64 62 09 65 73 63 2C 27 59 24 27 2C 30 09 09 .db.esc,'Y$',0..
000020: 3B 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 ;Clear to end of
000030: 20 73 63 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 screen...tk:.db
000040: 09 65 73 63 2C 27 54 24 27 2C 30 09 09 3B 43 6C .esc,'T$',0..;Cl
000050: 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 ear to end of li
000060: 6E 65 2E 0D 0A 45 4E 44 49 46 3B 61 70 70 6C 65 ne...ENDIF;apple
000070: 0D 0A 3B 0C 0D 0A 49 46 20 76 65 63 74 6F 72 0D ..;...IF vector.
000080: 0A 73 79 73 76 65 72 3A 09 64 62 09 27 56 65 63 .sysver:.db.'Vec
000090: 74 6F 72 20 47 72 61 70 68 69 63 73 24 27 0D 0A tor Graphics$'..
0000A0: 6F 75 74 6C 69 6E 3A 09 64 62 09 28 27 44 27 2D outlin:.db.('D'-
0000B0: 31 30 30 4F 29 2C 63 72 2C 6C 66 2C 74 61 62 2C 100O),cr,lf,tab,
0000C0: 74 61 62 2C 27 24 27 0D 0A 65 72 61 73 63 72 3A tab,'$'..erascr:
0000D0: 09 64 62 09 28 27 44 27 2D 31 30 30 4F 29 2C 27 .db.('D'-100O),'
0000E0: 24 27 09 20 09 3B 43 6C 65 61 72 20 73 63 72 65 $'. .;Clear scre
0000F0: 65 6E 20 61 6E 64 20 67 6F 20 68 6F 6D 65 2E 0D en and go home..
000100: 0A 65 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 28 .eralin:.db.cr,(
000110: 27 51 27 2D 31 30 30 4F 29 2C 27 24 27 09 3B 43 'Q'-100O),'$'.;C
000120: 6C 65 61 72 20 6C 69 6E 65 2E 0D 0A 64 65 6C 73 lear line...dels
000130: 74 72 3A 09 64 62 09 62 73 2C 27 20 27 2C 62 73 tr:.db.bs,' ',bs
000140: 2C 62 73 2C 27 24 27 09 3B 20 61 64 6A 75 73 74 ,bs,'$'.; adjust
000150: 20 66 6F 72 20 65 63 68 6F 69 6E 67 20 64 65 6C for echoing del
000160: 65 74 65 20 63 68 61 72 61 63 74 65 72 0D 0A 74 ete character..t
000170: 74 61 62 3A 09 09 09 09 09 3B 54 61 62 6C 65 20 tab:.....;Table
000180: 73 74 61 72 74 20 6C 6F 63 61 74 69 6F 6E 2E 0D start location..
000190: 0A 74 61 3A 09 64 62 09 28 27 55 27 2D 31 30 30 .ta:.db.('U'-100
0001A0: 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 73 O),'$',0,0.;Curs
0001B0: 6F 72 20 75 70 2E 0D 0A 74 62 3A 09 64 62 09 31 or up...tb:.db.1
0001C0: 32 4F 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 2O,'$',0,0..;Cur
0001D0: 73 6F 72 20 64 6F 77 6E 2E 0D 0A 74 63 3A 09 64 sor down...tc:.d
0001E0: 62 09 28 27 5A 27 2D 31 30 30 4F 29 2C 27 24 27 b.('Z'-100O),'$'
0001F0: 2C 30 2C 30 09 3B 43 75 72 73 6F 72 20 72 69 67 ,0,0.;Cursor rig
Size : 512 (Real : 512)
000000: 49 20 50 2B 54 20 43 50 2F 4D 24 27 0D 0A 6F 75 I P+T CP/M$'..ou
000010: 74 6C 69 6E 3A 09 64 62 09 30 43 48 2C 63 72 2C tlin:.db.0CH,cr,
000020: 6C 66 2C 74 61 62 2C 74 61 62 2C 27 24 27 0D 0A lf,tab,tab,'$'..
000030: 65 72 61 73 63 72 3A 09 64 62 09 30 43 48 2C 27 erascr:.db.0CH,'
000040: 24 27 09 09 09 3B 43 6C 65 61 72 20 73 63 72 65 $'...;Clear scre
000050: 65 6E 20 61 6E 64 20 67 6F 20 68 6F 6D 65 2E 0D en and go home..
000060: 0A 65 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 30 .eralin:.db.cr,0
000070: 31 48 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 6C 1H,'$'..;Clear l
000080: 69 6E 65 2E 0D 0A 63 75 72 6C 64 6E 3A 09 64 62 ine...curldn:.db
000090: 09 65 73 63 2C 27 59 24 27 09 09 3B 43 75 72 73 .esc,'Y$'..;Curs
0000A0: 6F 72 20 6C 65 61 64 2D 69 6E 0D 0A 74 74 61 62 or lead-in..ttab
0000B0: 3A 09 3B 54 61 62 6C 65 20 73 74 61 72 74 20 6C :.;Table start l
0000C0: 6F 63 61 74 69 6F 6E 09 09 3B 4D 75 73 74 20 62 ocation..;Must b
0000D0: 65 20 34 20 62 79 74 65 73 20 65 61 63 68 0D 0A e 4 bytes each..
0000E0: 74 61 3A 09 64 62 09 31 45 48 2C 27 24 27 2C 30 ta:.db.1EH,'$',0
0000F0: 2C 30 09 09 3B 43 75 72 73 6F 72 20 75 70 2E 0D ,0..;Cursor up..
000100: 0A 74 62 3A 09 64 62 09 31 46 48 2C 27 24 27 2C .tb:.db.1FH,'$',
000110: 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 64 6F 77 0,0..;Cursor dow
000120: 6E 2E 0D 0A 74 63 3A 09 64 62 09 31 44 48 2C 27 n...tc:.db.1DH,'
000130: 24 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 $',0,0..;Cursor
000140: 72 69 67 68 74 2E 0D 0A 74 64 3A 09 64 62 09 31 right...td:.db.1
000150: 43 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 CH,'$',0,0..;Cur
000160: 73 6F 72 20 6C 65 66 74 0D 0A 74 65 3A 09 64 62 sor left..te:.db
000170: 09 30 43 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 .0CH,'$',0,0..;C
000180: 6C 65 61 72 20 64 69 73 70 6C 61 79 0D 0A 74 66 lear display..tf
000190: 3A 09 64 62 09 31 31 48 2C 27 24 27 2C 30 2C 30 :.db.11H,'$',0,0
0001A0: 09 09 3B 45 6E 74 65 72 20 47 72 61 70 68 69 63 ..;Enter Graphic
0001B0: 73 20 4D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 31 s Mode..tg:.db.1
0001C0: 34 48 2C 27 24 27 2C 30 2C 30 09 09 3B 45 78 69 4H,'$',0,0..;Exi
0001D0: 74 20 47 72 61 70 68 69 63 73 20 6D 6F 64 65 0D t Graphics mode.
0001E0: 0A 74 68 3A 09 64 62 09 30 36 48 2C 27 24 27 2C .th:.db.06H,'$',
0001F0: 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 68 6F 6D 0,0..;Cursor hom
Size : 512 (Real : 512)
000000: 68 74 2E 0D 0A 74 64 3A 09 64 62 09 27 24 27 2C ht...td:.db.'$',
000010: 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 0,0,0..;(can't)
000020: 43 75 72 73 6F 72 20 6C 65 66 74 0D 0A 74 65 3A Cursor left..te:
000030: 09 64 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B .db.'$',0,0,0..;
000040: 28 63 61 6E 27 74 29 20 43 6C 65 61 72 20 64 69 (can't) Clear di
000050: 73 70 6C 61 79 0D 0A 74 66 3A 09 64 62 09 27 24 splay..tf:.db.'$
000060: 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 ',0,0,0..;(can't
000070: 29 20 45 6E 74 65 72 20 67 72 61 70 68 69 63 73 ) Enter graphics
000080: 20 6D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 27 24 mode..tg:.db.'$
000090: 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 ',0,0,0..;(can't
0000A0: 29 20 45 78 69 74 20 67 72 61 70 68 69 63 73 20 ) Exit graphics
0000B0: 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 09 28 27 42 mode..th:.db.('B
0000C0: 27 2D 31 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 '-100O),'$',0,0.
0000D0: 3B 43 75 72 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 ;Cursor home...t
0000E0: 69 3A 09 64 62 09 28 27 55 27 2D 31 30 30 4F 29 i:.db.('U'-100O)
0000F0: 2C 27 24 27 2C 30 2C 30 09 3B 52 65 76 65 72 73 ,'$',0,0.;Revers
000100: 65 20 6C 69 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A e linefeed...tj:
000110: 09 64 62 09 28 27 50 27 2D 31 30 30 4F 29 2C 27 .db.('P'-100O),'
000120: 24 27 2C 30 2C 30 09 3B 43 6C 65 61 72 20 74 6F $',0,0.;Clear to
000130: 20 65 6E 64 20 6F 66 20 73 63 72 65 65 6E 2E 0D end of screen..
000140: 0A 74 6B 3A 09 64 62 09 28 27 51 27 2D 31 30 30 .tk:.db.('Q'-100
000150: 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 6C 65 61 O),'$',0,0.;Clea
000160: 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 r to end of line
000170: 2E 0D 0A 45 4E 44 49 46 3B 76 65 63 74 6F 72 0D ...ENDIF;vector.
000180: 0A 3B 0C 0D 0A 49 46 20 74 65 6C 63 6F 6E 0D 0A .;...IF telcon..
000190: 73 79 73 76 65 72 3A 09 64 62 09 27 54 65 6C 63 sysver:.db.'Telc
0001A0: 6F 6E 20 5A 6F 72 62 61 24 27 0D 0A 45 4E 44 49 on Zorba$'..ENDI
0001B0: 46 3B 74 65 6C 63 6F 6E 0D 0A 0D 0A 49 46 20 68 F;telcon....IF h
0001C0: 65 61 74 68 0D 0A 73 79 73 76 65 72 3A 09 64 62 eath..sysver:.db
0001D0: 09 27 48 65 61 74 68 2F 5A 65 6E 69 74 68 20 38 .'Heath/Zenith 8
0001E0: 39 24 27 0D 0A 45 4E 44 49 46 3B 68 65 61 74 68 9$'..ENDIF;heath
0001F0: 0D 0A 0D 0A 49 46 20 7A 31 30 30 0D 0A 73 79 73 ....IF z100..sys
Size : 512 (Real : 512)
000000: 65 2E 0D 0A 74 69 3A 09 64 62 09 31 45 48 2C 27 e...ti:.db.1EH,'
000010: 24 27 2C 30 2C 30 09 09 3B 52 65 76 65 72 73 65 $',0,0..;Reverse
000020: 20 6C 69 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A 09 linefeed...tj:.
000030: 64 62 09 30 32 48 2C 27 24 27 2C 30 2C 30 09 09 db.02H,'$',0,0..
000040: 3B 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 ;Clear to end of
000050: 20 73 63 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 screen...tk:.db
000060: 09 30 31 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 .01H,'$',0,0..;C
000070: 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C lear to end of l
000080: 69 6E 65 2E 0D 0A 45 4E 44 49 46 3B 74 72 73 38 ine...ENDIF;trs8
000090: 30 70 74 0D 0A 3B 0C 0D 0A 49 46 20 72 6F 62 69 0pt..;...IF robi
0000A0: 6E 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 27 56 n..sysver:.db.'V
0000B0: 54 31 38 30 20 22 52 6F 62 69 6E 22 24 27 0D 0A T180 "Robin"$'..
0000C0: 45 4E 44 49 46 3B 72 6F 62 69 6E 0D 0A 0D 0A 49 ENDIF;robin....I
0000D0: 46 20 64 6D 49 49 0D 0A 73 79 73 76 65 72 3A 09 F dmII..sysver:.
0000E0: 64 62 09 27 44 45 43 6D 61 74 65 20 49 49 20 43 db.'DECmate II C
0000F0: 50 2F 4D 2D 38 30 24 27 0D 0A 45 4E 44 49 46 3B P/M-80$'..ENDIF;
000100: 64 6D 49 49 0D 0A 0D 0A 49 46 20 76 74 31 30 30 dmII....IF vt100
000110: 0D 0A 74 74 79 74 79 70 3A 09 64 62 09 27 56 54 ..ttytyp:.db.'VT
000120: 31 30 30 24 27 0D 0A 45 4E 44 49 46 3B 76 74 31 100$'..ENDIF;vt1
000130: 30 30 0D 0A 0D 0A 49 46 20 6E 6F 72 74 68 73 0D 00....IF norths.
000140: 0A 73 79 73 76 65 72 3A 09 64 62 09 27 4E 6F 72 .sysver:.db.'Nor
000150: 74 68 73 74 61 72 20 48 6F 72 69 7A 6F 6E 24 27 thstar Horizon$'
000160: 0D 0A 45 4E 44 49 46 3B 6E 6F 72 74 68 73 0D 0A ..ENDIF;norths..
000170: 0D 0A 49 46 20 72 6F 62 69 6E 20 4F 52 20 64 6D ..IF robin OR dm
000180: 49 49 20 6F 72 20 76 74 31 30 30 0D 0A 3B 20 4E II or vt100..; N
000190: 6F 74 65 20 74 68 61 74 20 77 65 20 63 61 6E 6E ote that we cann
0001A0: 6F 74 20 73 75 70 70 6F 72 74 20 47 72 61 70 68 ot support Graph
0001B0: 69 63 73 20 4D 6F 64 65 20 6F 72 20 74 68 65 20 ics Mode or the
0001C0: 48 31 39 20 65 72 61 73 65 2D 73 63 72 65 65 6E H19 erase-screen
0001D0: 20 63 6F 6D 6D 61 6E 64 0D 0A 3B 20 28 3C 65 73 command..; (<es
0001E0: 63 3E 45 29 2C 20 62 65 63 61 75 73 65 20 74 68 c>E), because th
0001F0: 65 20 73 65 71 75 65 6E 63 65 73 20 61 72 65 20 e sequences are
Size : 512 (Real : 512)
000000: 63 61 6E 27 74 29 0D 0A 74 68 3A 09 64 62 09 31 can't)..th:.db.1
000010: 45 48 2C 27 24 27 2C 30 2C 30 09 09 3B 20 43 75 EH,'$',0,0..; Cu
000020: 72 73 6F 72 20 68 6F 6D 65 2E 09 09 5B 55 54 4B rsor home...[UTK
000030: 30 31 36 5D 0D 0A 74 69 3A 09 64 62 09 30 42 48 016]..ti:.db.0BH
000040: 2C 27 24 27 2C 30 2C 30 09 09 3B 20 52 65 76 65 ,'$',0,0..; Reve
000050: 72 73 65 20 6C 69 6E 65 66 65 65 64 2E 20 28 63 rse linefeed. (c
000060: 75 72 73 6F 72 20 75 70 29 0D 0A 74 6A 3A 09 64 ursor up)..tj:.d
000070: 62 09 31 31 48 2C 27 24 27 2C 30 2C 30 09 09 3B b.11H,'$',0,0..;
000080: 20 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 Clear to end of
000090: 20 73 63 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 screen...tk:.db
0000A0: 09 31 38 48 2C 27 24 27 2C 30 2C 30 09 09 3B 20 .18H,'$',0,0..;
0000B0: 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 Clear to end of
0000C0: 6C 69 6E 65 2E 0D 0A 45 4E 44 49 46 20 3B 20 78 line...ENDIF ; x
0000D0: 65 72 38 32 30 0D 0A 3B 0C 0D 0A 49 46 20 6D 69 er820..;...IF mi
0000E0: 6B 6B 6F 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 kko..sysver:.db.
0000F0: 27 4D 69 6B 72 6F 4D 69 6B 6B 6F 24 27 0D 0A 6F 'MikroMikko$'..o
000100: 75 74 6C 69 6E 3A 09 64 62 09 73 75 62 74 2C 63 utlin:.db.subt,c
000110: 72 2C 6C 66 2C 74 61 62 2C 27 24 27 0D 0A 65 72 r,lf,tab,'$'..er
000120: 61 73 63 72 3A 09 64 62 09 73 75 62 74 2C 27 24 ascr:.db.subt,'$
000130: 27 09 09 3B 43 6C 65 61 72 20 73 63 72 65 65 6E '..;Clear screen
000140: 20 61 6E 64 20 67 6F 20 68 6F 6D 65 2E 0D 0A 65 and go home...e
000150: 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 31 43 48 ralin:.db.cr,1CH
000160: 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 6C 69 6E ,'$'..;Clear lin
000170: 65 2E 0D 0A 63 75 72 6C 64 6E 3A 09 64 62 09 65 e...curldn:.db.e
000180: 73 63 2C 27 3D 24 27 09 09 3B 63 75 72 73 6F 72 sc,'=$'..;cursor
000190: 20 6C 65 61 64 69 6E 0D 0A 74 74 61 62 3A 09 09 leadin..ttab:..
0001A0: 09 09 09 3B 54 61 62 6C 65 20 73 74 61 72 74 20 ...;Table start
0001B0: 6C 6F 63 61 74 69 6F 6E 2E 0D 0A 74 61 3A 09 64 location...ta:.d
0001C0: 62 09 30 42 48 2C 27 24 27 2C 30 2C 30 09 09 3B b.0BH,'$',0,0..;
0001D0: 43 75 72 73 6F 72 20 75 70 2E 0D 0A 74 62 3A 09 Cursor up...tb:.
0001E0: 64 62 09 30 41 48 2C 27 24 27 2C 30 2C 30 09 09 db.0AH,'$',0,0..
0001F0: 3B 43 75 72 73 6F 72 20 64 6F 77 6E 2E 0D 0A 74 ;Cursor down...t
Size : 512 (Real : 512)
000000: 6D 6F 72 65 20 74 68 61 6E 20 74 68 72 65 65 20 more than three
000010: 62 79 74 65 73 2E 0D 0A 6F 75 74 6C 69 6E 3A 09 bytes...outlin:.
000020: 64 62 09 65 73 63 2C 33 43 48 2C 65 73 63 2C 27 db.esc,3CH,esc,'
000030: 5B 48 27 2C 65 73 63 2C 27 5B 4A 27 2C 63 72 2C [H',esc,'[J',cr,
000040: 6C 66 2C 74 61 62 2C 74 61 62 2C 27 24 27 0D 0A lf,tab,tab,'$'..
000050: 65 72 61 73 63 72 3A 09 64 62 09 65 73 63 2C 27 erascr:.db.esc,'
000060: 5B 48 27 2C 65 73 63 2C 27 5B 4A 24 27 20 09 3B [H',esc,'[J$' .;
000070: 43 6C 65 61 72 20 73 63 72 65 65 6E 20 61 6E 64 Clear screen and
000080: 20 67 6F 20 68 6F 6D 65 2E 0D 0A 65 72 61 6C 69 go home...erali
000090: 6E 3A 09 64 62 09 63 72 2C 65 73 63 2C 27 5B 4B n:.db.cr,esc,'[K
0000A0: 24 27 09 09 3B 43 6C 65 61 72 20 6C 69 6E 65 2E $'..;Clear line.
0000B0: 0D 0A 63 75 72 6C 64 6E 3A 09 64 62 09 65 73 63 ..curldn:.db.esc
0000C0: 2C 27 5B 24 27 09 09 3B 20 43 75 72 73 6F 72 20 ,'[$'..; Cursor
0000D0: 6C 65 61 64 69 6E 0D 0A 74 74 61 62 3A 0D 0A 74 leadin..ttab:..t
0000E0: 61 3A 09 64 62 09 65 73 63 2C 27 5B 41 24 27 09 a:.db.esc,'[A$'.
0000F0: 09 3B 20 43 75 72 73 6F 72 20 75 70 2E 0D 0A 74 .; Cursor up...t
000100: 62 3A 09 64 62 09 65 73 63 2C 27 5B 42 24 27 09 b:.db.esc,'[B$'.
000110: 09 3B 20 43 75 72 73 6F 72 20 64 6F 77 6E 2E 0D .; Cursor down..
000120: 0A 74 63 3A 09 64 62 09 65 73 63 2C 27 5B 43 24 .tc:.db.esc,'[C$
000130: 27 09 09 3B 20 43 75 72 73 6F 72 20 72 69 67 68 '..; Cursor righ
000140: 74 2E 0D 0A 74 64 3A 09 64 62 09 65 73 63 2C 27 t...td:.db.esc,'
000150: 5B 44 24 27 09 09 3B 20 43 75 72 73 6F 72 20 6C [D$'..; Cursor l
000160: 65 66 74 0D 0A 74 65 3A 09 64 62 09 27 24 27 2C eft..te:.db.'$',
000170: 30 2C 30 2C 30 09 09 3B 20 28 63 61 6E 27 74 29 0,0,0..; (can't)
000180: 20 43 6C 65 61 72 20 64 69 73 70 6C 61 79 0D 0A Clear display..
000190: 74 66 3A 09 64 62 09 27 24 27 2C 30 2C 30 2C 30 tf:.db.'$',0,0,0
0001A0: 09 09 3B 20 28 64 6F 6E 27 74 29 20 45 6E 74 65 ..; (don't) Ente
0001B0: 72 20 47 72 61 70 68 69 63 73 20 4D 6F 64 65 0D r Graphics Mode.
0001C0: 0A 74 67 3A 09 64 62 09 27 24 27 2C 30 2C 30 2C .tg:.db.'$',0,0,
0001D0: 30 09 09 3B 20 28 64 6F 6E 27 74 29 20 45 78 69 0..; (don't) Exi
0001E0: 74 20 47 72 61 70 68 69 63 73 20 6D 6F 64 65 0D t Graphics mode.
0001F0: 0A 74 68 3A 09 64 62 09 65 73 63 2C 27 5B 48 24 .th:.db.esc,'[H$
Size : 512 (Real : 512)
000000: 63 3A 09 64 62 09 30 43 48 2C 27 24 27 2C 30 2C c:.db.0CH,'$',0,
000010: 30 09 09 3B 43 75 72 73 6F 72 20 72 69 67 68 74 0..;Cursor right
000020: 2E 0D 0A 74 64 3A 09 64 62 09 62 73 2C 27 24 27 ...td:.db.bs,'$'
000030: 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 6C 65 ,0,0..;Cursor le
000040: 66 74 0D 0A 74 65 3A 09 64 62 09 73 75 62 74 2C ft..te:.db.subt,
000050: 27 24 27 2C 30 2C 30 09 09 3B 43 6C 65 61 72 20 '$',0,0..;Clear
000060: 64 69 73 70 6C 61 79 0D 0A 74 66 3A 09 64 62 09 display..tf:.db.
000070: 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E '$',0,0,0..;(can
000080: 27 74 29 20 45 6E 74 65 72 20 47 72 61 70 68 69 't) Enter Graphi
000090: 63 73 20 4D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 cs Mode..tg:.db.
0000A0: 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E '$',0,0,0..;(can
0000B0: 27 74 29 20 45 78 69 74 20 47 72 61 70 68 69 63 't) Exit Graphic
0000C0: 73 20 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 09 31 s mode..th:.db.1
0000D0: 45 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 EH,'$',0,0..;Cur
0000E0: 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 69 3A 09 64 sor home...ti:.d
0000F0: 62 09 27 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 b.'$',0,0,0..;(c
000100: 61 6E 27 74 29 20 52 65 76 65 72 73 65 20 6C 69 an't) Reverse li
000110: 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A 09 64 62 09 nefeed...tj:.db.
000120: 31 63 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 6C 1cH,'$',0,0..;Cl
000130: 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 73 63 ear to end of sc
000140: 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 09 31 63 reen...tk:.db.1c
000150: 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 6C 65 61 H,'$',0,0..;Clea
000160: 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 r to end of line
000170: 2E 0D 0A 45 4E 44 49 46 3B 6D 69 6B 6B 6F 0D 0A ...ENDIF;mikko..
000180: 3B 0C 0D 0A 49 46 20 67 65 6E 65 72 20 6F 72 20 ;...IF gener or
000190: 63 70 6D 33 0D 0A 73 79 73 76 65 72 3A 09 64 62 cpm3..sysver:.db
0001A0: 09 27 47 65 6E 65 72 69 63 20 43 50 2F 4D 2D 38 .'Generic CP/M-8
0001B0: 30 24 27 0D 0A 45 4E 44 49 46 3B 67 65 6E 65 72 0$'..ENDIF;gener
0001C0: 20 6F 72 20 63 70 6D 33 0D 0A 0D 0A 49 46 20 62 or cpm3....IF b
0001D0: 62 49 49 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 bII..sysver:.db.
0001E0: 27 42 69 67 20 42 6F 61 72 64 20 49 49 24 27 0D 'Big Board II$'.
0001F0: 0A 45 4E 44 49 46 3B 62 62 49 49 0D 0A 0D 0A 49 .ENDIF;bbII....I
Size : 512 (Real : 512)
000000: 27 09 09 3B 20 43 75 72 73 6F 72 20 68 6F 6D 65 '..; Cursor home
000010: 2E 0D 0A 74 69 3A 09 64 62 09 65 73 63 2C 27 4D ...ti:.db.esc,'M
000020: 24 27 2C 30 09 09 3B 20 52 65 76 65 72 73 65 20 $',0..; Reverse
000030: 6C 69 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A 09 64 linefeed...tj:.d
000040: 62 09 65 73 63 2C 27 5B 4A 24 27 09 09 3B 20 43 b.esc,'[J$'..; C
000050: 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 73 lear to end of s
000060: 63 72 65 65 6E 2E 0D 0A 74 6B 3A 09 64 62 09 65 creen...tk:.db.e
000070: 73 63 2C 27 5B 4B 24 27 09 09 3B 20 43 6C 65 61 sc,'[K$'..; Clea
000080: 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 r to end of line
000090: 2E 0D 0A 45 4E 44 49 46 3B 72 6F 62 69 6E 20 4F ...ENDIF;robin O
0000A0: 52 20 64 6D 49 49 20 6F 72 20 76 74 31 30 30 0D R dmII or vt100.
0000B0: 0A 3B 0C 0D 0A 49 46 20 6B 70 69 69 0D 0A 73 79 .;...IF kpii..sy
0000C0: 73 76 65 72 3A 09 64 62 09 27 4B 61 79 70 72 6F sver:.db.'Kaypro
0000D0: 20 49 49 24 27 0D 0A 6F 75 74 6C 69 6E 3A 09 64 II$'..outlin:.d
0000E0: 62 09 73 75 62 74 2C 63 72 2C 6C 66 2C 74 61 62 b.subt,cr,lf,tab
0000F0: 2C 74 61 62 2C 27 24 27 0D 0A 65 72 61 73 63 72 ,tab,'$'..erascr
000100: 3A 09 64 62 09 73 75 62 74 2C 27 24 27 09 09 3B :.db.subt,'$'..;
000110: 43 6C 65 61 72 20 73 63 72 65 65 6E 20 61 6E 64 Clear screen and
000120: 20 68 6F 6D 65 2E 0D 0A 65 72 61 6C 69 6E 3A 09 home...eralin:.
000130: 64 62 09 63 72 2C 31 38 48 2C 27 24 27 09 09 3B db.cr,18H,'$'..;
000140: 43 6C 65 61 72 20 6C 69 6E 65 2E 0D 0A 63 75 72 Clear line...cur
000150: 6C 64 6E 3A 09 64 62 09 65 73 63 2C 27 3D 24 27 ldn:.db.esc,'=$'
000160: 09 09 3B 43 75 72 73 6F 72 20 6C 65 61 64 2D 69 ..;Cursor lead-i
000170: 6E 0D 0A 64 65 6C 73 74 72 3A 09 64 62 09 62 73 n..delstr:.db.bs
000180: 2C 27 20 27 2C 62 73 2C 62 73 2C 27 24 27 09 3B ,' ',bs,bs,'$'.;
000190: 20 61 64 6A 75 73 74 20 66 6F 72 20 65 63 68 6F adjust for echo
0001A0: 69 6E 67 20 64 65 6C 65 74 65 20 63 68 61 72 61 ing delete chara
0001B0: 63 74 65 72 0D 0A 74 74 61 62 3A 09 09 09 09 09 cter..ttab:.....
0001C0: 3B 54 61 62 6C 65 20 73 74 61 72 74 20 6C 6F 63 ;Table start loc
0001D0: 61 74 69 6F 6E 2E 0D 0A 74 61 3A 09 64 62 09 30 ation...ta:.db.0
0001E0: 42 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 BH,'$',0,0..;Cur
0001F0: 73 6F 72 20 75 70 2E 0D 0A 74 62 3A 09 64 62 09 sor up...tb:.db.
Size : 512 (Real : 512)
000000: 46 20 63 70 74 38 35 78 78 0D 0A 73 79 73 76 65 F cpt85xx..sysve
000010: 72 3A 09 64 62 09 27 43 50 54 2D 38 35 78 78 20 r:.db.'CPT-85xx
000020: 75 6E 64 65 72 20 43 6F 6D 70 75 50 61 6B 20 43 under CompuPak C
000030: 50 2F 4D 24 27 0D 0A 45 4E 44 49 46 3B 63 70 74 P/M$'..ENDIF;cpt
000040: 38 35 78 78 0D 0A 0D 0A 49 46 20 6D 64 49 0D 0A 85xx....IF mdI..
000050: 73 79 73 76 65 72 3A 09 64 62 09 27 4D 6F 72 72 sysver:.db.'Morr
000060: 6F 77 20 44 65 63 69 73 69 6F 6E 20 49 24 27 0D ow Decision I$'.
000070: 0A 45 4E 44 49 46 3B 6D 64 49 20 20 5B 54 6F 61 .ENDIF;mdI [Toa
000080: 64 20 48 61 6C 6C 5D 0D 0A 0D 0A 49 46 20 6D 6D d Hall]....IF mm
000090: 64 49 0D 0A 73 79 73 76 65 72 3A 09 64 62 09 27 dI..sysver:.db.'
0000A0: 4D 69 63 72 6F 44 65 63 69 73 69 6F 6E 20 49 24 MicroDecision I$
0000B0: 27 0D 0A 45 4E 44 49 46 3B 6D 6D 64 49 0D 0A 0D '..ENDIF;mmdI...
0000C0: 0A 49 46 20 6F 73 69 0D 0A 73 79 73 76 65 72 3A .IF osi..sysver:
0000D0: 09 64 62 09 27 4F 68 69 6F 20 53 63 69 65 6E 74 .db.'Ohio Scient
0000E0: 69 66 69 63 24 27 0D 0A 45 4E 44 49 46 3B 6F 73 ific$'..ENDIF;os
0000F0: 69 0D 0A 0D 0A 49 46 20 6F 73 69 20 4F 52 20 63 i....IF osi OR c
000100: 72 74 0D 0A 6F 75 74 6C 69 6E 3A 09 64 62 09 63 rt..outlin:.db.c
000110: 72 2C 6C 66 2C 27 53 74 61 72 74 69 6E 67 20 2E r,lf,'Starting .
000120: 2E 2E 24 27 0D 0A 65 72 61 73 63 72 09 65 71 75 ..$'..erascr.equ
000130: 09 63 72 6C 66 09 09 09 3B 22 48 6F 6D 65 20 26 .crlf...;"Home &
000140: 20 63 6C 65 61 72 22 20 28 62 65 73 74 20 77 65 clear" (best we
000150: 20 63 61 6E 20 64 6F 29 2E 0D 0A 65 72 61 6C 69 can do)...erali
000160: 6E 3A 09 64 62 09 27 5E 55 27 2C 63 72 2C 6C 66 n:.db.'^U',cr,lf
000170: 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 6C 69 6E ,'$'..;Clear lin
000180: 65 2E 0D 0A 70 72 70 61 63 6B 3A 09 64 62 09 63 e...prpack:.db.c
000190: 72 2C 6C 66 2C 27 52 50 61 63 6B 3A 20 24 27 0D r,lf,'RPack: $'.
0001A0: 0A 70 73 70 61 63 6B 3A 09 64 62 09 63 72 2C 6C .pspack:.db.cr,l
0001B0: 66 2C 27 53 50 61 63 6B 3A 20 24 27 0D 0A 74 74 f,'SPack: $'..tt
0001C0: 61 62 09 65 71 75 09 30 09 09 09 3B 20 6E 6F 20 ab.equ.0...; no
0001D0: 56 54 35 32 20 74 61 62 6C 65 0D 0A 45 4E 44 49 VT52 table..ENDI
0001E0: 46 3B 6F 73 69 20 4F 52 20 63 72 74 0D 0A 0D 0A F;osi OR crt....
0001F0: 49 46 20 74 76 69 39 32 35 0D 0A 3B 28 69 6E 63 IF tvi925..;(inc
Size : 512 (Real : 512)
000000: 30 41 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 0AH,'$',0,0..;Cu
000010: 72 73 6F 72 20 64 6F 77 6E 2E 0D 0A 74 63 3A 09 rsor down...tc:.
000020: 64 62 09 30 43 48 2C 27 24 27 2C 30 2C 30 09 09 db.0CH,'$',0,0..
000030: 3B 43 75 72 73 6F 72 20 72 69 67 68 74 2E 0D 0A ;Cursor right...
000040: 74 64 3A 09 64 62 09 62 73 2C 27 24 27 2C 30 2C td:.db.bs,'$',0,
000050: 30 09 09 3B 43 75 72 73 6F 72 20 6C 65 66 74 0D 0..;Cursor left.
000060: 0A 74 65 3A 09 64 62 09 73 75 62 74 2C 27 24 27 .te:.db.subt,'$'
000070: 2C 30 2C 30 09 09 3B 43 6C 65 61 72 20 64 69 73 ,0,0..;Clear dis
000080: 70 6C 61 79 0D 0A 74 66 3A 09 64 62 09 65 73 63 play..tf:.db.esc
000090: 2C 27 47 24 27 2C 30 09 09 3B 20 45 6E 74 65 72 ,'G$',0..; Enter
0000A0: 20 47 72 61 70 68 69 63 73 20 4D 6F 64 65 20 28 Graphics Mode (
0000B0: 73 65 6C 65 63 74 20 47 72 65 65 6B 29 0D 0A 74 select Greek)..t
0000C0: 67 3A 09 64 62 09 65 73 63 2C 27 41 24 27 2C 30 g:.db.esc,'A$',0
0000D0: 09 09 3B 20 45 78 69 74 20 47 72 61 70 68 69 63 ..; Exit Graphic
0000E0: 73 20 6D 6F 64 65 20 28 73 65 6C 65 63 74 20 41 s mode (select A
0000F0: 53 43 49 49 29 0D 0A 74 68 3A 09 64 62 09 31 45 SCII)..th:.db.1E
000100: 48 2C 27 24 27 2C 30 2C 30 09 09 3B 20 43 75 72 H,'$',0,0..; Cur
000110: 73 6F 72 20 68 6F 6D 65 2E 09 09 5B 55 54 4B 30 sor home...[UTK0
000120: 31 36 5D 0D 0A 74 69 3A 09 64 62 09 65 73 63 2C 16]..ti:.db.esc,
000130: 27 45 27 2C 27 24 27 2C 30 09 09 3B 20 52 65 76 'E','$',0..; Rev
000140: 65 72 73 65 20 6C 69 6E 65 66 65 65 64 2E 20 28 erse linefeed. (
000150: 69 6E 73 65 72 74 20 6C 69 6E 65 29 0D 0A 74 6A insert line)..tj
000160: 3A 09 64 62 09 27 57 27 2D 31 30 30 4F 2C 27 24 :.db.'W'-100O,'$
000170: 27 2C 30 2C 30 09 3B 20 43 6C 65 61 72 20 74 6F ',0,0.; Clear to
000180: 20 65 6E 64 20 6F 66 20 73 63 72 65 65 6E 2E 0D end of screen..
000190: 0A 74 6B 3A 09 64 62 09 27 58 27 2D 31 30 30 4F .tk:.db.'X'-100O
0001A0: 2C 27 24 27 2C 30 2C 30 09 3B 20 43 6C 65 61 72 ,'$',0,0.; Clear
0001B0: 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 2E to end of line.
0001C0: 0D 0A 45 4E 44 49 46 20 3B 20 6B 70 69 69 0D 0A ..ENDIF ; kpii..
0001D0: 3B 0C 0D 0A 49 46 20 78 65 72 38 32 30 0D 0A 73 ;...IF xer820..s
0001E0: 79 73 76 65 72 3A 09 64 62 09 27 58 65 72 6F 78 ysver:.db.'Xerox
0001F0: 20 38 32 30 24 27 0D 0A 6F 75 74 6C 69 6E 3A 09 820$'..outlin:.
Size : 512 (Real : 512)
000000: 69 64 65 6E 74 61 6C 6C 79 2C 20 77 6F 72 6B 73 identally, works
000010: 20 66 69 6E 65 20 66 6F 72 20 46 72 65 65 64 6F fine for Freedo
000020: 6D 20 31 30 30 20 61 6C 73 6F 20 20 5B 54 6F 61 m 100 also [Toa
000030: 64 20 48 61 6C 6C 5D 29 0D 0A 3B 61 64 6D 33 61 d Hall])..;adm3a
000040: 20 65 6E 74 72 79 20 61 6E 64 20 74 76 69 39 32 entry and tvi92
000050: 35 20 65 6E 74 72 79 20 73 65 70 61 72 61 74 65 5 entry separate
000060: 64 20 74 6F 20 72 65 6D 6F 76 65 20 77 61 72 6E d to remove warn
000070: 69 6E 67 20 6D 65 73 73 61 67 65 2E 0D 0A 74 74 ing message...tt
000080: 79 74 79 70 3A 09 64 62 09 27 54 56 49 39 32 35 ytyp:.db.'TVI925
000090: 24 27 0D 0A 6F 75 74 6C 69 6E 3A 09 64 62 09 27 $'..outlin:.db.'
0000A0: 5A 27 2D 36 34 2C 30 2C 30 2C 63 72 2C 6C 66 2C Z'-64,0,0,cr,lf,
0000B0: 27 24 27 0D 0A 65 72 61 73 63 72 3A 09 64 62 09 '$'..erascr:.db.
0000C0: 27 5A 27 2D 36 34 2C 30 2C 30 2C 27 24 27 09 09 'Z'-64,0,0,'$'..
0000D0: 3B 43 6C 65 61 72 20 73 63 72 65 65 6E 20 61 6E ;Clear screen an
0000E0: 64 20 68 6F 6D 65 0D 0A 65 72 61 6C 69 6E 3A 09 d home..eralin:.
0000F0: 64 62 09 65 73 63 2C 27 59 24 27 2C 30 09 09 3B db.esc,'Y$',0..;
000100: 43 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 Clear to end of
000110: 73 72 65 65 6E 0D 0A 63 75 72 6C 64 6E 3A 09 64 sreen..curldn:.d
000120: 62 09 63 72 2C 65 73 63 2C 27 3D 24 27 09 09 3B b.cr,esc,'=$'..;
000130: 43 75 72 73 6F 72 20 6C 65 61 64 2D 69 6E 0D 0A Cursor lead-in..
000140: 74 74 61 62 3A 09 3B 54 61 62 6C 65 20 73 74 61 ttab:.;Table sta
000150: 72 74 20 6C 6F 63 61 74 69 6F 6E 09 09 3B 28 4D rt location..;(M
000160: 55 53 54 20 62 65 20 34 20 62 79 74 65 73 20 65 UST be 4 bytes e
000170: 61 63 68 29 0D 0A 74 61 3A 09 64 62 09 27 4B 27 ach)..ta:.db.'K'
000180: 2D 36 34 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 -64,'$',0,0..;Cu
000190: 72 73 6F 72 20 75 70 2C 20 73 74 6F 70 20 61 74 rsor up, stop at
0001A0: 20 74 6F 70 0D 0A 74 62 3A 09 64 62 09 27 56 27 top..tb:.db.'V'
0001B0: 2D 36 34 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 -64,'$',0,0..;Cu
0001C0: 72 73 6F 72 20 64 6F 77 6E 2C 20 73 74 6F 70 20 rsor down, stop
0001D0: 61 74 20 62 6F 74 74 6F 6D 0D 0A 74 63 3A 09 64 at bottom..tc:.d
0001E0: 62 09 27 4C 27 2D 36 34 2C 27 24 27 2C 30 2C 30 b.'L'-64,'$',0,0
0001F0: 09 09 3B 43 75 72 73 6F 72 20 72 69 67 68 74 2C ..;Cursor right,
Size : 512 (Real : 512)
000000: 64 62 09 73 75 62 74 2C 63 72 2C 6C 66 2C 74 61 db.subt,cr,lf,ta
000010: 62 2C 74 61 62 2C 27 24 27 0D 0A 65 72 61 73 63 b,tab,'$'..erasc
000020: 72 3A 09 64 62 09 73 75 62 74 2C 27 24 27 09 09 r:.db.subt,'$'..
000030: 3B 43 6C 65 61 72 20 73 63 72 65 65 6E 20 61 6E ;Clear screen an
000040: 64 20 68 6F 6D 65 2E 0D 0A 65 72 61 6C 69 6E 3A d home...eralin:
000050: 09 64 62 09 63 72 2C 31 38 48 2C 27 24 27 09 09 .db.cr,18H,'$'..
000060: 3B 43 6C 65 61 72 20 6C 69 6E 65 2E 0D 0A 63 75 ;Clear line...cu
000070: 72 6C 64 6E 3A 09 64 62 09 65 73 63 2C 27 3D 24 rldn:.db.esc,'=$
000080: 27 09 09 3B 43 75 72 73 6F 72 20 6C 65 61 64 2D '..;Cursor lead-
000090: 69 6E 0D 0A 64 65 6C 73 74 72 3A 09 64 62 09 62 in..delstr:.db.b
0000A0: 73 2C 27 20 27 2C 62 73 2C 62 73 2C 27 24 27 09 s,' ',bs,bs,'$'.
0000B0: 3B 20 61 64 6A 75 73 74 20 66 6F 72 20 65 63 68 ; adjust for ech
0000C0: 6F 69 6E 67 20 64 65 6C 65 74 65 20 63 68 61 72 oing delete char
0000D0: 61 63 74 65 72 0D 0A 74 74 61 62 3A 09 09 09 09 acter..ttab:....
0000E0: 09 3B 54 61 62 6C 65 20 73 74 61 72 74 20 6C 6F .;Table start lo
0000F0: 63 61 74 69 6F 6E 2E 0D 0A 74 61 3A 09 64 62 09 cation...ta:.db.
000100: 30 42 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 0BH,'$',0,0..;Cu
000110: 72 73 6F 72 20 75 70 2E 0D 0A 74 62 3A 09 64 62 rsor up...tb:.db
000120: 09 30 41 48 2C 27 24 27 2C 30 2C 30 09 09 3B 43 .0AH,'$',0,0..;C
000130: 75 72 73 6F 72 20 64 6F 77 6E 2E 0D 0A 74 63 3A ursor down...tc:
000140: 09 64 62 09 30 43 48 2C 27 24 27 2C 30 2C 30 09 .db.0CH,'$',0,0.
000150: 09 3B 43 75 72 73 6F 72 20 72 69 67 68 74 2E 0D .;Cursor right..
000160: 0A 74 64 3A 09 64 62 09 62 73 2C 27 24 27 2C 30 .td:.db.bs,'$',0
000170: 2C 30 09 09 3B 43 75 72 73 6F 72 20 6C 65 66 74 ,0..;Cursor left
000180: 0D 0A 74 65 3A 09 64 62 09 73 75 62 74 2C 27 24 ..te:.db.subt,'$
000190: 27 2C 30 2C 30 09 09 3B 43 6C 65 61 72 20 64 69 ',0,0..;Clear di
0001A0: 73 70 6C 61 79 0D 0A 74 66 3A 09 64 62 09 27 24 splay..tf:.db.'$
0001B0: 27 2C 30 2C 30 2C 30 09 09 3B 20 45 6E 74 65 72 ',0,0,0..; Enter
0001C0: 20 47 72 61 70 68 69 63 73 20 4D 6F 64 65 20 28 Graphics Mode (
0001D0: 63 61 6E 27 74 29 0D 0A 74 67 3A 09 64 62 09 27 can't)..tg:.db.'
0001E0: 24 27 2C 30 2C 30 2C 30 09 09 3B 20 45 78 69 74 $',0,0,0..; Exit
0001F0: 20 47 72 61 70 68 69 63 73 20 6D 6F 64 65 20 28 Graphics mode (
Size : 512 (Real : 512)
000000: 20 73 74 6F 70 20 61 74 20 72 69 67 68 74 0D 0A stop at right..
000010: 74 64 3A 09 64 62 09 27 48 27 2D 36 34 2C 27 24 td:.db.'H'-64,'$
000020: 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 6C ',0,0..;Cursor l
000030: 65 66 74 2C 20 73 74 6F 70 20 61 74 20 6C 65 66 eft, stop at lef
000040: 74 0D 0A 74 65 3A 09 64 62 09 27 5A 27 2D 36 34 t..te:.db.'Z'-64
000050: 2C 30 2C 30 2C 27 24 27 09 09 3B 43 6C 65 61 72 ,0,0,'$'..;Clear
000060: 20 64 69 73 70 6C 61 79 20 28 32 20 70 61 64 20 display (2 pad
000070: 6E 75 6C 6C 73 29 0D 0A 74 66 3A 09 64 62 09 27 nulls)..tf:.db.'
000080: 24 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 $',0,0,0..;(can'
000090: 74 29 20 45 6E 74 65 72 20 47 73 6F 72 20 6C 65 t) Enter Gsor le
0000A0: 66 74 2C 20 73 74 6F 70 20 61 74 20 6C 65 66 74 ft, stop at left
0000B0: 0D 0A 74 65 3A 09 64 62 09 27 5A 27 2D 36 34 2C ..te:.db.'Z'-64,
0000C0: 30 2C 30 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 0,0,'$'..;Clear
0000D0: 64 69 73 70 6C 61 79 20 28 32 20 70 61 64 20 6E display (2 pad n
0000E0: 75 6C 6C 73 29 0D 0A 74 66 3A 09 64 62 09 27 24 ulls)..tf:.db.'$
0000F0: 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 ',0,0,0..;(can't
000100: 29 20 45 6E 74 65 72 20 47 72 61 70 68 69 63 73 ) Enter Graphics
000110: 20 6D 6F 64 65 0D 0A 74 67 3A 09 64 62 09 27 24 mode..tg:.db.'$
000120: 27 2C 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 ',0,0,0..;(can't
000130: 29 20 45 78 69 74 20 47 72 61 70 68 69 63 73 20 ) Exit Graphics
000140: 6D 6F 64 65 0D 0A 74 68 3A 09 64 62 09 31 45 48 mode..th:.db.1EH
000150: 2C 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F ,'$',0,0..;Curso
000160: 72 20 68 6F 6D 65 0D 0A 74 69 3A 09 64 62 09 65 r home..ti:.db.e
000170: 73 63 2C 27 6A 24 27 2C 30 09 09 3B 52 65 76 65 sc,'j$',0..;Reve
000180: 72 73 65 20 6C 69 6E 65 66 65 65 64 2C 20 73 63 rse linefeed, sc
000190: 72 6F 6C 6C 0D 0A 74 6A 3A 09 64 62 09 65 73 63 roll..tj:.db.esc
0001A0: 2C 27 59 24 27 2C 30 09 09 3B 43 6C 65 61 72 20 ,'Y$',0..;Clear
0001B0: 74 6F 20 65 6E 64 20 6F 66 20 73 72 65 65 6E 0D to end of sreen.
0001C0: 0A 74 6B 3A 09 64 62 09 65 73 63 2C 27 54 24 27 .tk:.db.esc,'T$'
0001D0: 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 65 6E ,0..;Clear to en
0001E0: 64 20 6F 66 20 6C 69 6E 65 0D 0A 45 4E 44 49 46 d of line..ENDIF
0001F0: 3B 74 76 69 39 32 35 0D 0A 0D 0A 49 46 20 61 64 ;tvi925....IF ad
Size : 512 (Real : 512)
000000: 3B 20 43 50 34 54 54 2E 41 53 4D 0D 0A 3B 09 4B ; CP4TT.ASM..;.K
000010: 45 52 4D 49 54 20 2D 20 28 43 65 6C 74 69 63 20 ERMIT - (Celtic
000020: 66 6F 72 20 22 46 52 45 45 22 29 0D 0A 3B 0D 0A for "FREE")..;..
000030: 3B 09 54 68 69 73 20 69 73 20 74 68 65 20 43 50 ;.This is the CP
000040: 2F 4D 2D 38 30 20 69 6D 70 6C 65 6D 65 6E 74 61 /M-80 implementa
000050: 74 69 6F 6E 20 6F 66 20 74 68 65 20 43 6F 6C 75 tion of the Colu
000060: 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 0D mbia University.
000070: 0A 3B 09 4B 45 52 4D 49 54 20 66 69 6C 65 20 74 .;.KERMIT file t
000080: 72 61 6E 73 66 65 72 20 70 72 6F 74 6F 63 6F 6C ransfer protocol
000090: 2E 0D 0A 3B 0D 0A 3B 09 56 65 72 73 69 6F 6E 20 ...;..;.Version
0000A0: 34 2E 30 0D 0A 3B 0D 0A 3B 09 43 6F 70 79 72 69 4.0..;..;.Copyri
0000B0: 67 68 74 20 4A 75 6E 65 20 31 39 38 31 2C 31 39 ght June 1981,19
0000C0: 38 32 2C 31 39 38 33 2C 31 39 38 34 2C 31 39 38 82,1983,1984,198
0000D0: 35 0D 0A 3B 09 43 6F 6C 75 6D 62 69 61 20 55 6E 5..;.Columbia Un
0000E0: 69 76 65 72 73 69 74 79 0D 0A 3B 0D 0A 3B 20 4F iversity..;..; O
0000F0: 72 69 67 69 6E 61 6C 6C 79 20 77 72 69 74 74 65 riginally writte
000100: 6E 20 62 79 20 42 69 6C 6C 20 43 61 74 63 68 69 n by Bill Catchi
000110: 6E 67 73 20 6F 66 20 74 68 65 20 43 6F 6C 75 6D ngs of the Colum
000120: 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 20 43 bia University C
000130: 65 6E 74 65 72 20 66 6F 72 0D 0A 3B 20 43 6F 6D enter for..; Com
000140: 70 75 74 69 6E 67 20 41 63 74 69 76 69 74 69 65 puting Activitie
000150: 73 2C 20 36 31 32 20 57 2E 20 31 31 35 74 68 20 s, 612 W. 115th
000160: 53 74 2E 2C 20 4E 65 77 20 59 6F 72 6B 2C 20 4E St., New York, N
000170: 59 20 31 30 30 32 35 2E 0D 0A 3B 0D 0A 3B 20 43 Y 10025...;..; C
000180: 6F 6E 74 72 69 62 75 74 69 6F 6E 73 20 62 79 20 ontributions by
000190: 46 72 61 6E 6B 20 64 61 20 43 72 75 7A 2C 20 44 Frank da Cruz, D
0001A0: 61 70 68 6E 65 20 54 7A 6F 61 72 2C 20 42 65 72 aphne Tzoar, Ber
0001B0: 6E 69 65 20 45 69 62 65 6E 2C 0D 0A 3B 20 42 72 nie Eiben,..; Br
0001C0: 75 63 65 20 54 61 6E 6E 65 72 2C 20 4E 69 63 6B uce Tanner, Nick
0001D0: 20 42 75 73 68 2C 20 47 72 65 67 20 53 6D 61 6C Bush, Greg Smal
0001E0: 6C 2C 20 4B 69 6D 6D 6F 20 4C 61 61 6B 73 6F 6E l, Kimmo Laakson
0001F0: 65 6E 2C 20 4A 65 66 66 20 44 61 6D 65 6E 73 2C en, Jeff Damens,
Size : 512 (Real : 512)
000000: 6D 33 61 0D 0A 74 74 79 74 79 70 3A 09 64 62 09 m3a..ttytyp:.db.
000010: 27 41 44 4D 33 41 24 27 0D 0A 6F 75 74 6C 69 6E 'ADM3A$'..outlin
000020: 3A 09 64 62 09 27 5A 27 2D 36 34 2C 30 2C 30 2C :.db.'Z'-64,0,0,
000030: 63 72 2C 6C 66 2C 27 24 27 0D 0A 65 72 61 73 63 cr,lf,'$'..erasc
000040: 72 3A 09 64 62 09 27 5A 27 2D 36 34 2C 30 2C 30 r:.db.'Z'-64,0,0
000050: 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 73 63 72 ,'$'..;Clear scr
000060: 65 65 6E 20 61 6E 64 20 68 6F 6D 65 0D 0A 65 72 een and home..er
000070: 61 6C 69 6E 3A 09 64 62 09 65 73 63 2C 27 59 24 alin:.db.esc,'Y$
000080: 27 2C 30 09 09 3B 43 6C 65 61 72 20 74 6F 20 65 ',0..;Clear to e
000090: 6E 64 20 6F 66 20 73 72 65 65 6E 0D 0A 63 75 72 nd of sreen..cur
0000A0: 6C 64 6E 3A 09 64 62 09 63 72 2C 65 73 63 2C 27 ldn:.db.cr,esc,'
0000B0: 3D 24 27 09 09 3B 43 75 72 73 6F 72 20 6C 65 61 =$'..;Cursor lea
0000C0: 64 2D 69 6E 0D 0A 74 74 61 62 3A 09 3B 54 61 62 d-in..ttab:.;Tab
0000D0: 6C 65 20 73 74 61 72 74 20 6C 6F 63 61 74 69 6F le start locatio
0000E0: 6E 09 09 3B 28 4D 55 53 54 20 62 65 20 34 20 62 n..;(MUST be 4 b
0000F0: 79 74 65 73 20 65 61 63 68 29 0D 0A 74 61 3A 09 ytes each)..ta:.
000100: 64 62 09 27 4B 27 2D 36 34 2C 27 24 27 2C 30 2C db.'K'-64,'$',0,
000110: 30 09 09 3B 43 75 72 73 6F 72 20 75 70 2C 20 73 0..;Cursor up, s
000120: 74 6F 70 20 61 74 20 74 6F 70 0D 0A 74 62 3A 09 top at top..tb:.
000130: 64 62 09 27 4A 27 2D 36 34 2C 27 24 27 2C 30 2C db.'J'-64,'$',0,
000140: 30 09 09 3B 43 75 72 73 6F 72 20 64 6F 77 6E 20 0..;Cursor down
000150: 43 54 52 4C 2D 4A 0D 0A 74 63 3A 09 64 62 09 27 CTRL-J..tc:.db.'
000160: 4C 27 2D 36 34 2C 27 24 27 2C 30 2C 30 09 09 3B L'-64,'$',0,0..;
000170: 43 75 72 73 6F 72 20 72 69 67 68 74 2C 20 73 74 Cursor right, st
000180: 6F 70 20 61 74 20 72 69 67 68 74 0D 0A 74 64 3A op at right..td:
000190: 09 64 62 09 27 48 27 2D 36 34 2C 27 24 27 2C 30 .db.'H'-64,'$',0
0001A0: 2C 30 09 09 3B 43 75 72 73 6F 72 20 6C 65 66 74 ,0..;Cursor left
0001B0: 2C 20 73 74 6F 70 20 61 74 20 6C 65 66 74 0D 0A , stop at left..
0001C0: 74 65 3A 09 64 62 09 27 5A 27 2D 36 34 2C 30 2C te:.db.'Z'-64,0,
0001D0: 30 2C 27 24 27 09 09 3B 43 6C 65 61 72 20 64 69 0,'$'..;Clear di
0001E0: 73 70 6C 61 79 20 28 32 20 70 61 64 20 6E 75 6C splay (2 pad nul
0001F0: 6C 73 29 0D 0A 74 66 3A 09 64 62 09 27 24 27 2C ls)..tf:.db.'$',
Size : 512 (Real : 512)
000000: 20 61 6E 64 20 6D 61 6E 79 0D 0A 3B 20 6F 74 68 and many..; oth
000010: 65 72 73 2E 0D 0A 3B 0D 0A 3B 09 54 68 69 73 20 ers...;..;.This
000020: 66 69 6C 65 20 63 6F 6E 74 61 69 6E 73 20 74 68 file contains th
000030: 65 20 63 6F 64 65 20 66 6F 72 20 74 68 65 20 54 e code for the T
000040: 52 41 4E 53 4D 49 54 20 61 6E 64 20 43 4F 4E 4E RANSMIT and CONN
000050: 45 43 54 20 63 6F 6D 6D 61 6E 64 73 2C 0D 0A 3B ECT commands,..;
000060: 09 77 68 69 63 68 20 63 6F 6D 6D 75 6E 69 63 61 .which communica
000070: 74 65 20 77 69 74 68 20 61 20 68 6F 73 74 20 77 te with a host w
000080: 68 69 63 68 20 69 73 20 6E 6F 74 20 72 75 6E 6E hich is not runn
000090: 69 6E 67 20 4B 45 52 4D 49 54 2E 0D 0A 3B 0D 0A ing KERMIT...;..
0000A0: 3B 20 72 65 76 69 73 69 6F 6E 20 68 69 73 74 6F ; revision histo
0000B0: 72 79 3A 0D 0A 3B 20 65 64 69 74 20 34 3A 20 31 ry:..; edit 4: 1
0000C0: 33 2D 4A 61 6E 2D 38 35 20 62 79 20 56 61 6E 79 3-Jan-85 by Vany
0000D0: 61 20 4A 2E 43 6F 6F 70 65 72 20 50 69 6D 61 20 a J.Cooper Pima
0000E0: 43 6F 6D 6D 75 6E 2E 20 43 6F 6C 6C 65 67 65 20 Commun. College
0000F0: 54 65 6C 3A 20 36 30 32 2D 38 38 34 2D 36 38 30 Tel: 602-884-680
000100: 39 0D 0A 3B 0D 0A 3B 70 63 63 30 30 32 09 32 38 9..;..;pcc002.28
000110: 2D 44 65 63 2D 38 34 09 6D 6F 64 75 6C 65 73 3A -Dec-84.modules:
000120: 63 70 34 74 74 2C 63 70 34 75 74 6C 0D 0A 3B 09 cp4tt,cp4utl..;.
000130: 41 64 64 20 63 6F 6E 6E 65 63 74 20 6D 6F 64 65 Add connect mode
000140: 20 3C 65 73 63 3E 50 20 63 6F 6D 6D 61 6E 64 20 <esc>P command
000150: 74 6F 20 74 6F 67 67 6C 65 20 70 72 69 6E 74 65 to toggle printe
000160: 72 20 6F 6E 0D 0A 3B 09 61 6E 64 20 6F 66 66 2E r on..;.and off.
000170: 20 20 43 6F 6E 66 6C 69 63 74 73 20 77 69 74 68 Conflicts with
000180: 20 22 6F 66 66 69 63 69 61 6C 22 20 72 65 63 6F "official" reco
000190: 6D 6D 65 6E 64 65 64 20 63 6F 6D 6D 61 6E 64 73 mmended commands
0001A0: 0D 0A 3B 09 69 6E 20 70 72 6F 74 6F 63 6F 6C 20 ..;.in protocol
0001B0: 6D 61 6E 75 61 6C 2C 20 62 75 74 20 49 20 64 6F manual, but I do
0001C0: 6E 27 74 20 74 68 69 6E 6B 20 43 50 2F 4D 20 77 n't think CP/M w
0001D0: 69 6C 6C 20 65 76 65 72 20 67 65 74 0D 0A 3B 09 ill ever get..;.
0001E0: 61 20 50 55 53 48 20 63 6F 6D 6D 61 6E 64 2E 0D a PUSH command..
0001F0: 0A 3B 0D 0A 3B 70 63 63 30 30 33 2D 70 63 63 30 .;..;pcc003-pcc0
Size : 512 (Real : 512)
000000: 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 0,0,0..;(can't)
000010: 45 6E 74 65 72 20 47 72 61 70 68 69 63 73 20 6D Enter Graphics m
000020: 6F 64 65 0D 0A 74 67 3A 09 64 62 09 27 24 27 2C ode..tg:.db.'$',
000030: 30 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 0,0,0..;(can't)
000040: 45 78 69 74 20 47 72 61 70 68 69 63 73 20 6D 6F Exit Graphics mo
000050: 64 65 0D 0A 74 68 3A 09 64 62 09 31 45 48 2C 27 de..th:.db.1EH,'
000060: 24 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 20 $',0,0..;Cursor
000070: 68 6F 6D 65 0D 0A 74 69 3A 09 64 62 09 27 4B 27 home..ti:.db.'K'
000080: 2D 36 34 2C 27 24 27 2C 30 2C 30 09 09 3B 52 65 -64,'$',0,0..;Re
000090: 76 65 72 73 65 20 6C 69 6E 65 66 65 65 64 0D 0A verse linefeed..
0000A0: 74 6A 3A 09 64 62 09 27 24 27 2C 30 2C 30 2C 30 tj:.db.'$',0,0,0
0000B0: 09 09 3B 28 63 61 6E 27 74 29 20 43 6C 65 61 72 ..;(can't) Clear
0000C0: 20 74 6F 20 65 6E 64 20 6F 66 20 73 63 72 65 65 to end of scree
0000D0: 6E 0D 0A 74 6B 3A 09 64 62 09 27 24 27 2C 30 2C n..tk:.db.'$',0,
0000E0: 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 43 6C 0,0..;(can't) Cl
0000F0: 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 ear to end of li
000100: 6E 65 0D 0A 45 4E 44 49 46 3B 61 64 6D 33 61 0D ne..ENDIF;adm3a.
000110: 0A 0D 0A 49 46 20 64 65 6C 70 68 69 09 3B 20 5B ...IF delphi.; [
000120: 37 5D 20 6E 65 77 20 73 79 73 74 65 6D 0D 0A 73 7] new system..s
000130: 79 73 76 65 72 3A 09 64 62 09 27 44 69 67 69 63 ysver:.db.'Digic
000140: 6F 6D 70 20 44 65 6C 70 68 69 20 31 30 30 24 27 omp Delphi 100$'
000150: 0D 0A 65 6E 64 69 66 3B 64 65 6C 70 68 69 0D 0A ..endif;delphi..
000160: 0D 0A 49 46 20 73 6D 72 74 76 64 09 3B 20 5B 37 ..IF smrtvd.; [7
000170: 5D 20 6E 65 77 20 74 65 72 6D 69 6E 61 6C 0D 0A ] new terminal..
000180: 74 74 79 74 79 70 3A 09 64 62 09 27 53 6D 61 72 ttytyp:.db.'Smar
000190: 74 76 69 64 2D 38 30 24 27 0D 0A 6F 75 74 6C 69 tvid-80$'..outli
0001A0: 6E 3A 09 64 62 09 65 73 63 2C 27 2B 27 2C 63 72 n:.db.esc,'+',cr
0001B0: 2C 6C 66 2C 74 61 62 2C 74 61 62 2C 27 24 27 0D ,lf,tab,tab,'$'.
0001C0: 0A 65 72 61 6C 69 6E 3A 09 64 62 09 63 72 2C 65 .eralin:.db.cr,e
0001D0: 73 63 2C 27 54 24 27 09 09 09 3B 43 6C 65 61 72 sc,'T$'...;Clear
0001E0: 20 74 6F 20 65 6E 64 20 6F 66 20 6C 69 6E 65 2E to end of line.
0001F0: 0D 0A 65 72 61 73 63 72 3A 09 64 62 09 65 73 63 ..erascr:.db.esc
Size : 512 (Real : 512)
000000: 30 35 09 32 2D 4A 61 6E 2D 38 35 09 76 6A 63 09 05.2-Jan-85.vjc.
000010: 6D 6F 64 75 6C 65 73 3A 63 70 34 6D 69 74 2C 63 modules:cp4mit,c
000020: 70 34 74 74 2C 63 70 34 75 74 6C 0D 0A 3B 09 54 p4tt,cp4utl..;.T
000030: 68 65 73 65 20 65 64 69 74 73 20 6D 75 73 74 20 hese edits must
000040: 61 6C 6C 20 62 65 20 69 6E 73 74 61 6C 6C 65 64 all be installed
000050: 20 74 6F 67 65 74 68 65 72 20 61 6E 64 20 63 68 together and ch
000060: 61 6E 67 65 20 74 68 65 20 77 61 79 0D 0A 3B 09 ange the way..;.
000070: 6C 6F 67 67 69 6E 67 20 69 73 20 68 61 6E 64 6C logging is handl
000080: 65 64 2E 20 20 54 68 65 20 6C 6F 67 20 66 69 6C ed. The log fil
000090: 65 20 73 70 65 63 20 69 73 20 6D 6F 76 65 64 20 e spec is moved
0000A0: 74 6F 20 61 20 73 65 70 61 72 61 74 65 0D 0A 3B to a separate..;
0000B0: 09 66 63 62 2C 20 61 6E 64 20 6E 6F 74 20 6F 70 .fcb, and not op
0000C0: 65 6E 65 64 20 75 6E 74 69 6C 20 61 6E 20 61 63 ened until an ac
0000D0: 74 75 61 6C 20 43 4F 4E 4E 45 43 54 20 63 6F 6D tual CONNECT com
0000E0: 6D 61 6E 64 20 69 73 20 67 69 76 65 6E 2E 0D 0A mand is given...
0000F0: 3B 09 54 68 69 73 20 74 61 6B 65 73 20 63 61 72 ;.This takes car
000100: 65 20 6F 66 20 61 20 4E 41 53 54 59 20 62 75 67 e of a NASTY bug
000110: 20 74 68 61 74 20 69 66 20 79 6F 75 20 75 73 65 that if you use
000120: 64 20 61 6E 79 20 6F 74 68 65 72 20 66 69 6C 65 d any other file
000130: 0D 0A 3B 09 63 6F 6D 6D 61 6E 64 20 62 65 74 77 ..;.command betw
000140: 65 65 6E 20 74 68 65 20 4C 4F 47 20 61 6E 64 20 een the LOG and
000150: 43 4F 4E 4E 45 43 54 2C 20 74 68 65 20 6C 6F 67 CONNECT, the log
000160: 20 66 69 6C 65 20 77 6F 75 6C 64 20 67 65 74 0D file would get.
000170: 0A 3B 09 77 72 69 74 74 65 6E 20 6F 76 65 72 20 .;.written over
000180: 74 68 65 20 6C 61 73 74 20 66 69 6C 65 20 75 73 the last file us
000190: 65 64 2E 20 20 54 68 69 73 20 61 6C 73 6F 20 61 ed. This also a
0001A0: 6C 6C 6F 77 73 20 6C 6F 67 67 69 6E 67 20 74 6F llows logging to
0001B0: 0D 0A 3B 09 62 65 20 22 70 65 72 6D 61 6E 65 6E ..;.be "permanen
0001C0: 74 6C 79 22 20 65 6E 61 62 6C 65 64 20 75 6E 74 tly" enabled unt
0001D0: 69 6C 20 61 6E 20 43 4C 4F 53 45 20 28 6E 65 77 il an CLOSE (new
0001E0: 20 63 6F 6D 6D 61 6E 64 29 20 66 6F 72 20 61 6C command) for al
0001F0: 6C 0D 0A 3B 09 43 4F 4E 4E 45 43 54 20 73 65 73 l..;.CONNECT ses
Size : 512 (Real : 512)
000000: 2C 27 2B 24 27 09 09 20 09 3B 43 6C 65 61 72 20 ,'+$'.. .;Clear
000010: 73 63 72 65 65 6E 20 61 6E 64 20 67 6F 20 68 6F screen and go ho
000020: 6D 65 2E 0D 0A 63 75 72 6C 64 6E 3A 09 64 62 09 me...curldn:.db.
000030: 65 73 63 2C 27 3D 24 27 09 09 09 3B 43 75 72 73 esc,'=$'...;Curs
000040: 6F 72 20 6C 65 61 64 2D 69 6E 0D 0A 74 74 61 62 or lead-in..ttab
000050: 3A 09 09 09 09 09 3B 54 61 62 6C 65 20 73 74 61 :.....;Table sta
000060: 72 74 20 6C 6F 63 61 74 69 6F 6E 2E 0D 0A 74 61 rt location...ta
000070: 3A 09 64 62 09 28 27 4B 27 2D 31 30 30 4F 29 2C :.db.('K'-100O),
000080: 27 24 27 2C 30 2C 30 09 3B 43 75 72 73 6F 72 20 '$',0,0.;Cursor
000090: 75 70 2E 0D 0A 74 62 3A 09 64 62 09 31 32 4F 2C up...tb:.db.12O,
0000A0: 27 24 27 2C 30 2C 30 09 09 3B 43 75 72 73 6F 72 '$',0,0..;Cursor
0000B0: 20 64 6F 77 6E 2E 0D 0A 74 63 3A 09 64 62 09 28 down...tc:.db.(
0000C0: 27 41 27 2D 31 30 30 4F 29 2C 27 24 27 2C 30 2C 'A'-100O),'$',0,
0000D0: 30 09 3B 43 75 72 73 6F 72 20 72 69 67 68 74 2E 0.;Cursor right.
0000E0: 0D 0A 74 64 3A 09 64 62 09 28 27 48 27 2D 31 30 ..td:.db.('H'-10
0000F0: 30 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 72 0O),'$',0,0.;Cur
000100: 73 6F 72 20 6C 65 66 74 2E 0D 0A 74 65 3A 09 64 sor left...te:.d
000110: 62 09 28 27 4C 27 2D 31 30 30 4F 29 2C 27 24 27 b.('L'-100O),'$'
000120: 2C 30 2C 30 09 3B 43 6C 65 61 72 20 73 63 72 65 ,0,0.;Clear scre
000130: 65 6E 20 61 6E 64 20 68 6F 6D 65 20 63 75 72 73 en and home curs
000140: 6F 72 0D 0A 74 66 3A 09 64 62 09 27 24 27 2C 30 or..tf:.db.'$',0
000150: 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 45 ,0,0..;(can't) E
000160: 6E 74 65 72 20 47 72 61 70 68 69 63 73 20 6D 6F nter Graphics mo
000170: 64 65 0D 0A 74 67 3A 09 64 62 09 27 24 27 2C 30 de..tg:.db.'$',0
000180: 2C 30 2C 30 09 09 3B 28 63 61 6E 27 74 29 20 45 ,0,0..;(can't) E
000190: 78 69 74 20 47 72 61 70 68 69 63 73 20 6D 6F 64 xit Graphics mod
0001A0: 65 0D 0A 74 68 3A 09 64 62 09 28 27 5A 27 2D 31 e..th:.db.('Z'-1
0001B0: 30 30 4F 29 2C 27 24 27 2C 30 2C 30 09 3B 43 75 00O),'$',0,0.;Cu
0001C0: 72 73 6F 72 20 68 6F 6D 65 2E 0D 0A 74 69 3A 09 rsor home...ti:.
0001D0: 64 62 09 28 27 4B 27 2D 31 30 30 4F 29 2C 27 24 db.('K'-100O),'$
0001E0: 27 2C 30 2C 30 09 3B 52 65 76 65 72 73 65 20 6C ',0,0.;Reverse l
0001F0: 69 6E 65 66 65 65 64 2E 0D 0A 74 6A 3A 09 64 62 inefeed...tj:.db
Size : 512 (Real : 512)
000000: 73 69 6F 6E 73 2C 20 6C 69 6B 65 20 6D 6F 73 74 sions, like most
000010: 20 6F 74 68 65 72 20 6B 65 72 6D 69 74 73 20 64 other kermits d
000020: 6F 2E 20 20 49 66 20 61 20 6C 6F 67 20 66 69 6C o. If a log fil
000030: 65 0D 0A 3B 09 61 6C 72 65 61 64 79 20 65 78 69 e..;.already exi
000040: 73 74 73 2C 20 69 74 20 77 69 6C 6C 20 62 65 20 sts, it will be
000050: 61 70 70 65 6E 64 65 64 20 74 6F 2E 20 20 41 6C appended to. Al
000060: 73 6F 20 61 64 64 20 74 77 6F 20 6E 65 77 0D 0A so add two new..
000070: 3B 09 43 4F 4E 4E 45 43 54 20 6D 6F 64 65 20 63 ;.CONNECT mode c
000080: 6F 6D 6D 61 6E 64 73 20 3C 65 73 63 3E 51 20 74 ommands <esc>Q t
000090: 6F 20 73 75 73 70 65 6E 64 20 6C 6F 67 67 69 6E o suspend loggin
0000A0: 67 20 61 6E 64 20 3C 65 73 63 3E 52 20 74 6F 0D g and <esc>R to.
0000B0: 0A 3B 09 72 65 73 75 6D 65 2E 20 20 3C 65 73 63 .;.resume. <esc
0000C0: 3E 52 20 6D 65 61 6E 73 20 73 6F 6D 65 74 68 69 >R means somethi
0000D0: 6E 67 20 65 6C 73 65 20 64 75 72 69 6E 67 20 54 ng else during T
0000E0: 52 41 4E 53 4D 49 54 2C 20 62 75 74 0D 0A 3B 09 RANSMIT, but..;.
0000F0: 6C 6F 67 67 69 6E 67 20 69 73 20 6E 65 76 65 72 logging is never
000100: 20 6F 6E 20 74 68 65 6E 2C 20 73 6F 20 74 68 65 on then, so the
000110: 72 65 20 73 68 6F 75 6C 64 6E 27 74 20 62 65 20 re shouldn't be
000120: 61 6E 79 20 63 6F 6E 66 6C 69 63 74 2E 0D 0A 3B any conflict...;
000130: 09 49 20 61 6C 73 6F 20 63 68 61 6E 67 65 64 20 .I also changed
000140: 74 68 65 20 77 72 69 74 65 20 63 6F 64 65 2C 20 the write code,
000150: 73 6F 20 74 68 61 74 20 69 74 20 63 61 6E 20 68 so that it can h
000160: 61 6E 64 6C 65 20 6F 6E 65 20 6D 6F 72 65 0D 0A andle one more..
000170: 3B 09 63 68 61 72 61 63 74 65 72 20 61 66 74 65 ;.character afte
000180: 72 20 74 68 65 20 58 4F 46 46 20 69 73 20 73 65 r the XOFF is se
000190: 6E 64 20 74 6F 20 73 74 6F 70 20 74 68 65 20 68 nd to stop the h
0001A0: 6F 73 74 2E 20 20 54 68 69 73 20 61 6C 6C 6F 77 ost. This allow
0001B0: 73 0D 0A 3B 09 61 20 6C 69 74 74 6C 65 20 22 73 s..;.a little "s
0001C0: 6C 6F 70 22 20 66 6F 72 20 73 79 73 74 65 6D 73 lop" for systems
0001D0: 20 74 68 61 74 20 64 6F 6E 27 74 20 73 74 6F 70 that don't stop
0001E0: 20 69 6D 6D 65 64 69 61 74 65 6C 79 20 28 73 75 immediately (su
0001F0: 63 68 0D 0A 3B 09 61 73 20 54 4F 50 53 31 30 29 ch..;.as TOPS10)
Size : 512 (Real : 512)
000000: 09 65 73 63 2C 27 59 24 27 2C 30 09 09 3B 43 6C .esc,'Y$',0..;Cl
000010: 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 73 63 ear to end of sc
000020: 72 65 65 6E 0D 0A 74 6B 3A 20 20 20 20 20 64 62 reen..tk: db
000030: 20 20 20 20 20 20 65 73 63 2C 27 54 24 27 2C 30 esc,'T$',0
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3B 43 ;C
000050: 6C 65 61 72 20 74 6F 20 65 6E 64 20 6F 66 20 6C lear to end of l
000060: 69 6E 65 0D 0A 45 4E 44 49 46 3B 73 6D 72 74 76 ine..ENDIF;smrtv
000070: 64 0D 0A 6F 76 6C 65 6E 64 20 20 65 71 75 20 20 d..ovlend equ
000080: 20 20 20 24 20 20 20 20 20 20 20 20 20 20 20 20 $
000090: 20 20 20 20 20 20 20 20 20 20 20 3B 45 6E 64 20 ;End
0000A0: 6F 66 20 6F 76 65 72 6C 61 79 0D 0A 20 20 20 20 of overlay..
0000B0: 20 20 20 20 0D 0A 20 20 20 20 20 20 20 20 45 4E .. EN
0000C0: 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1A D .
0000D0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0000E0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
0000F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A ................
000100: 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 2C 20 62 75 74 20 69 74 20 64 69 64 6E 27 74 20 , but it didn't
000010: 68 65 6C 70 20 6D 75 63 68 2E 0D 0A 3B 0D 0A 3B help much...;..;
000020: 70 63 63 30 30 38 09 32 2D 4A 61 6E 2D 38 35 09 pcc008.2-Jan-85.
000030: 76 6A 63 09 6D 6F 64 75 6C 65 73 3A 63 70 34 64 vjc.modules:cp4d
000040: 65 66 2C 63 70 34 74 74 2C 63 70 34 75 74 6C 0D ef,cp4tt,cp4utl.
000050: 0A 3B 09 4B 65 79 62 6F 61 72 64 20 69 6E 70 75 .;.Keyboard inpu
000060: 74 20 64 75 72 69 6E 67 20 43 4F 4E 4E 45 43 54 t during CONNECT
000070: 20 6D 6F 64 65 20 63 61 6E 20 67 65 74 20 6C 6F mode can get lo
000080: 63 6B 65 64 20 6F 75 74 20 69 66 0D 0A 3B 09 74 cked out if..;.t
000090: 68 65 72 65 20 69 73 20 65 6E 6F 75 67 68 20 69 here is enough i
0000A0: 6E 70 75 74 20 66 72 6F 6D 20 74 68 65 20 6D 6F nput from the mo
0000B0: 64 65 6D 20 70 6F 72 74 20 74 6F 20 6B 65 65 70 dem port to keep
0000C0: 20 70 72 74 63 68 72 0D 0A 3B 09 62 75 73 79 2E prtchr..;.busy.
0000D0: 20 20 54 68 69 73 20 63 61 6E 20 68 61 70 70 65 This can happe
0000E0: 6E 20 66 6F 72 20 65 78 61 6D 70 6C 65 2C 20 69 n for example, i
0000F0: 66 20 74 68 65 20 70 72 69 6E 74 65 72 20 69 73 f the printer is
000100: 20 72 75 6E 6E 69 6E 67 0D 0A 3B 09 61 74 20 74 running..;.at t
000110: 68 65 20 73 61 6D 65 20 73 70 65 65 64 20 61 73 he same speed as
000120: 20 74 68 65 20 6D 6F 64 65 6D 20 6C 69 6E 65 2C the modem line,
000130: 20 6C 65 61 76 69 6E 67 20 79 6F 75 20 68 65 6C leaving you hel
000140: 70 6C 65 73 73 20 74 6F 0D 0A 3B 09 74 75 72 6E pless to..;.turn
000150: 20 69 74 20 6F 66 66 20 6F 72 20 61 62 6F 72 74 it off or abort
000160: 20 74 68 65 20 68 6F 73 74 2E 20 20 41 64 64 20 the host. Add
000170: 61 20 66 61 69 72 6E 65 73 73 20 63 6F 75 6E 74 a fairness count
000180: 2C 20 73 6F 20 74 68 61 74 0D 0A 3B 09 61 74 20 , so that..;.at
000190: 6C 65 61 73 74 20 65 76 65 72 79 20 70 72 66 61 least every prfa
0001A0: 69 72 20 63 68 61 72 61 63 74 65 72 73 20 77 65 ir characters we
0001B0: 20 6C 6F 6F 6B 20 61 74 20 63 6F 6E 73 6F 6C 65 look at console
0001C0: 20 69 6E 70 75 74 2E 0D 0A 3B 0D 0A 3B 70 63 63 input...;..;pcc
0001D0: 30 31 32 09 34 2D 4A 61 6E 2D 38 35 09 76 6A 63 012.4-Jan-85.vjc
0001E0: 09 6D 6F 64 75 6C 65 73 3A 63 70 34 6D 69 74 2C .modules:cp4mit,
0001F0: 63 70 34 74 74 2C 63 70 34 75 74 6C 0D 0A 3B 09 cp4tt,cp4utl..;.
Size : 512 (Real : 512)
000000: 65 2E 0D 0A 09 63 70 69 09 30 46 46 48 09 09 3B e....cpi.0FFH..;
000010: 53 75 63 63 65 65 64 3F 0D 0A 09 6A 6E 7A 09 78 Succeed?...jnz.x
000020: 6D 69 74 31 0D 0A 09 6C 78 69 09 64 2C 65 72 6D mit1...lxi.d,erm
000030: 73 31 35 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 s15...call.prtst
000040: 72 09 09 3B 44 69 73 70 6C 61 79 20 65 72 72 6F r..;Display erro
000050: 72 20 6D 73 67 2E 0D 0A 09 6A 6D 70 09 6B 65 72 r msg....jmp.ker
000060: 6D 69 74 0D 0A 0D 0A 78 6D 69 74 31 3A 09 6C 78 mit....xmit1:.lx
000070: 69 09 64 2C 69 6E 6D 73 31 39 09 3B 4F 75 74 70 i.d,inms19.;Outp
000080: 75 74 20 73 74 61 72 74 20 6D 65 73 73 61 67 65 ut start message
000090: 2E 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 0D ....call.prtstr.
0000A0: 0A 09 63 61 6C 6C 09 65 73 63 70 72 09 09 3B 50 ..call.escpr..;P
0000B0: 72 69 6E 74 20 74 68 65 20 65 73 63 61 70 65 20 rint the escape
0000C0: 63 68 61 72 61 63 74 65 72 2E 0D 0A 09 6C 78 69 character....lxi
0000D0: 09 64 2C 69 6E 6D 73 32 30 09 3B 4F 75 74 70 75 .d,inms20.;Outpu
0000E0: 74 20 32 6E 64 20 70 61 72 74 2E 0D 0A 09 63 61 t 2nd part....ca
0000F0: 6C 6C 09 70 72 74 73 74 72 0D 0A 09 63 61 6C 6C ll.prtstr...call
000100: 09 65 73 63 70 72 09 09 3B 50 72 69 6E 74 20 74 .escpr..;Print t
000110: 68 65 20 65 73 63 61 70 65 20 63 68 61 72 61 63 he escape charac
000120: 74 65 72 2E 0D 0A 09 6C 78 69 09 64 2C 69 6E 6D ter....lxi.d,inm
000130: 73 32 31 09 3B 50 72 69 6E 74 20 74 68 65 20 72 s21.;Print the r
000140: 65 73 74 2E 0D 0A 09 63 61 6C 6C 09 70 72 74 73 est....call.prts
000150: 74 72 0D 0A 09 6D 76 69 09 61 2C 31 09 09 3B 53 tr...mvi.a,1..;S
000160: 74 61 72 74 20 66 69 6C 65 20 49 2F 4F 2E 0D 0A tart file I/O...
000170: 09 73 74 61 09 66 69 6C 65 69 6F 0D 0A 09 78 72 .sta.fileio...xr
000180: 61 09 61 09 09 3B 43 6C 65 61 72 20 58 4F 46 46 a.a..;Clear XOFF
000190: 20 66 6C 61 67 2E 0D 0A 09 73 74 61 09 78 6F 66 flag....sta.xof
0001A0: 66 6C 67 0D 0A 09 3B 20 66 61 6C 6C 20 74 68 72 flg...; fall thr
0001B0: 6F 75 67 68 20 69 6E 74 6F 20 78 6E 65 78 74 2E ough into xnext.
0001C0: 2E 2E 0D 0A 3B 0C 0D 0A 3B 09 61 73 73 65 6D 62 ....;...;.assemb
0001D0: 6C 65 20 61 6E 6F 74 68 65 72 20 6C 69 6E 65 20 le another line
0001E0: 66 72 6F 6D 20 74 68 65 20 64 69 73 6B 20 66 69 from the disk fi
0001F0: 6C 65 2E 0D 0A 3B 09 68 65 72 65 20 66 72 6F 6D le...;.here from
Size : 512 (Real : 512)
000000: 55 73 65 20 74 68 65 20 62 69 67 20 62 75 66 66 Use the big buff
000010: 65 72 20 66 6F 72 20 74 68 65 20 6C 6F 67 20 66 er for the log f
000020: 69 6C 65 2E 20 20 4D 6F 76 65 20 74 68 65 20 6C ile. Move the l
000030: 6F 67 20 66 69 6C 65 20 62 61 63 6B 0D 0A 3B 09 og file back..;.
000040: 69 6E 74 6F 20 74 68 65 20 63 6F 6D 6D 6F 6E 20 into the common
000050: 66 63 62 20 61 6E 64 20 6F 6E 6C 79 20 73 61 76 fcb and only sav
000060: 65 20 74 68 65 20 64 72 69 76 65 2C 20 6E 61 6D e the drive, nam
000070: 65 2C 20 61 6E 64 0D 0A 3B 09 65 78 74 65 6E 73 e, and..;.extens
000080: 69 6F 6E 20 62 65 74 77 65 65 6E 20 63 6F 6E 6E ion between conn
000090: 65 63 74 73 2E 20 20 41 64 64 20 6E 65 77 20 72 ects. Add new r
0000A0: 6F 75 74 69 6E 65 73 20 74 6F 20 63 70 34 75 74 outines to cp4ut
0000B0: 6C 20 74 6F 0D 0A 3B 09 63 72 65 61 74 65 20 6F l to..;.create o
0000C0: 72 20 61 70 70 65 6E 64 20 74 6F 20 61 6E 20 65 r append to an e
0000D0: 78 69 73 74 69 6E 67 20 66 69 6C 65 2C 20 61 6E xisting file, an
0000E0: 64 20 74 6F 20 63 6F 6E 64 69 74 69 6F 6E 61 6C d to conditional
0000F0: 6C 79 0D 0A 3B 09 61 64 76 61 6E 63 65 20 62 75 ly..;.advance bu
000100: 66 66 65 72 73 20 6F 6E 6C 79 20 69 66 20 69 6E ffers only if in
000110: 20 6D 65 6D 6F 72 79 2E 20 20 52 65 6D 6F 76 65 memory. Remove
000120: 20 65 64 69 74 20 70 63 63 30 30 33 20 74 68 61 edit pcc003 tha
000130: 74 0D 0A 3B 09 61 6C 6C 6F 77 73 20 6F 6E 65 20 t..;.allows one
000140: 6D 6F 72 65 20 63 68 61 72 61 63 74 65 72 20 61 more character a
000150: 66 74 65 72 20 74 68 65 20 78 6F 66 66 2C 20 73 fter the xoff, s
000160: 69 6E 63 65 20 69 74 20 64 69 64 6E 27 74 0D 0A ince it didn't..
000170: 3B 09 72 65 61 6C 6C 79 20 77 6F 72 6B 20 76 65 ;.really work ve
000180: 72 79 20 77 65 6C 6C 20 61 6E 64 20 64 6F 65 73 ry well and does
000190: 20 6E 6F 74 20 66 69 74 20 69 6E 20 77 65 6C 6C not fit in well
0001A0: 20 77 69 74 68 20 74 68 65 20 77 61 79 0D 0A 3B with the way..;
0001B0: 09 74 68 65 20 62 75 66 66 65 72 20 61 64 76 61 .the buffer adva
0001C0: 6E 63 69 6E 67 20 72 6F 75 74 69 6E 65 73 20 61 ncing routines a
0001D0: 72 65 20 73 65 74 20 75 70 2E 20 20 49 66 20 73 re set up. If s
0001E0: 6F 6D 65 6F 6E 65 20 73 74 69 6C 6C 0D 0A 3B 09 omeone still..;.
0001F0: 74 68 69 6E 6B 73 20 74 68 69 73 20 77 6F 75 6C thinks this woul
Size : 512 (Real : 512)
000000: 3A 20 70 72 65 76 69 6F 75 73 20 70 61 67 65 2C : previous page,
000010: 20 72 65 78 6D 69 74 0D 0A 0D 0A 78 6E 65 78 74 rexmit....xnext
000020: 3A 09 63 61 6C 6C 09 70 72 74 63 68 72 09 09 3B :.call.prtchr..;
000030: 20 43 6F 70 79 20 63 68 61 72 61 63 74 65 72 73 Copy characters
000040: 20 66 72 6F 6D 20 63 6F 6D 6D 20 6C 69 6E 65 20 from comm line
000050: 74 6F 20 63 6F 6E 73 6F 6C 65 0D 0A 09 6D 76 69 to console...mvi
000060: 09 63 2C 63 6F 6E 73 74 61 09 3B 20 20 75 6E 74 .c,consta.; unt
000070: 69 6C 20 75 73 65 72 20 74 79 70 65 73 20 61 6E il user types an
000080: 79 74 68 69 6E 67 20 6F 6E 20 74 68 65 20 63 6F ything on the co
000090: 6E 73 6F 6C 65 2E 0D 0A 09 63 61 6C 6C 09 62 64 nsole....call.bd
0000A0: 6F 73 0D 0A 09 6F 72 61 09 61 0D 0A 09 6A 7A 09 os...ora.a...jz.
0000B0: 78 6E 65 78 74 09 09 3B 20 6E 6F 74 68 69 6E 67 xnext..; nothing
0000C0: 20 61 74 20 63 6F 6E 73 6F 6C 65 20 79 65 74 2E at console yet.
0000D0: 0D 0A 09 6C 64 61 09 65 6F 66 6C 61 67 09 09 3B ...lda.eoflag..;
0000E0: 45 4F 46 20 65 6E 63 6F 75 6E 74 65 72 65 64 3F EOF encountered?
0000F0: 0D 0A 09 6F 72 61 09 61 0D 0A 09 6A 6E 7A 09 78 ...ora.a...jnz.x
000100: 65 6E 64 09 09 3B 59 65 73 2C 20 66 69 6E 69 73 end..;Yes, finis
000110: 68 2E 0D 0A 09 78 72 61 09 61 09 09 3B 52 65 73 h....xra.a..;Res
000120: 65 74 20 6C 69 6E 65 20 62 75 66 66 65 72 20 63 et line buffer c
000130: 6F 75 6E 74 65 72 2E 0D 0A 09 6D 6F 76 09 63 2C ounter....mov.c,
000140: 61 0D 0A 09 73 74 61 09 63 6D 61 66 6C 67 09 09 a...sta.cmaflg..
000150: 3B 52 65 73 65 74 20 63 61 72 72 69 61 67 65 20 ;Reset carriage
000160: 72 65 74 75 72 6E 20 66 6C 61 67 2E 0D 0A 09 6C return flag....l
000170: 78 69 09 64 2C 63 6D 64 62 75 66 09 3B 55 73 65 xi.d,cmdbuf.;Use
000180: 20 63 6F 6D 6E 64 20 62 75 66 66 65 72 20 61 73 comnd buffer as
000190: 20 6C 69 6E 65 20 62 75 66 66 65 72 2E 0D 0A 09 line buffer....
0001A0: 6C 68 6C 64 09 62 75 66 70 6E 74 09 09 3B 20 47 lhld.bufpnt..; G
0001B0: 65 74 20 63 75 72 72 65 6E 74 20 62 75 66 66 65 et current buffe
0001C0: 72 20 70 6F 69 6E 74 65 72 2E 0D 0A 09 6C 64 61 r pointer....lda
0001D0: 09 63 68 72 63 6E 74 09 09 3B 20 47 65 74 20 63 .chrcnt..; Get c
0001E0: 75 72 72 65 6E 74 20 62 79 74 65 20 63 6F 75 6E urrent byte coun
0001F0: 74 0D 0A 09 6D 6F 76 09 62 2C 61 09 09 3B 20 20 t...mov.b,a..;
Size : 512 (Real : 512)
000000: 64 20 62 65 20 75 73 65 66 75 6C 2C 20 69 74 20 d be useful, it
000010: 63 6F 75 6C 64 20 62 65 20 70 75 74 20 62 61 63 could be put bac
000020: 6B 20 69 6E 20 77 69 74 68 20 61 0D 0A 3B 09 6C k in with a..;.l
000030: 69 74 74 6C 65 20 6D 6F 72 65 20 77 6F 72 6B 2E ittle more work.
000040: 0D 0A 3B 09 0D 0A 3B 09 57 68 69 6C 65 20 74 65 ..;...;.While te
000050: 73 74 69 6E 67 20 74 68 69 73 20 65 64 69 74 2C sting this edit,
000060: 20 49 20 61 6C 73 6F 20 6E 6F 74 69 63 65 64 20 I also noticed
000070: 61 6E 6F 74 68 65 72 20 62 75 67 20 74 68 61 74 another bug that
000080: 0D 0A 3B 09 74 68 65 20 63 6F 6D 6D 61 6E 64 20 ..;.the command
000090: 70 61 72 73 69 6E 67 20 72 6F 75 74 69 6E 65 73 parsing routines
0000A0: 20 64 6F 20 6E 6F 74 20 6C 69 6D 69 74 20 6F 72 do not limit or
0000B0: 20 63 68 65 63 6B 20 74 68 65 0D 0A 3B 09 6C 65 check the..;.le
0000C0: 6E 67 74 68 20 6F 66 20 63 6F 6D 6D 61 6E 64 20 ngth of command
0000D0: 6C 69 6E 65 73 20 6F 72 20 66 69 6C 65 20 73 70 lines or file sp
0000E0: 65 63 73 2C 20 74 72 61 73 68 69 6E 67 20 77 68 ecs, trashing wh
0000F0: 61 74 20 65 76 65 72 0D 0A 3B 09 63 6F 6D 65 73 at ever..;.comes
000100: 20 61 66 74 65 72 20 74 68 65 6D 2E 20 20 43 75 after them. Cu
000110: 72 72 65 6E 74 6C 79 20 62 65 63 61 75 73 65 20 rrently because
000120: 6F 66 20 77 68 65 72 65 20 74 68 65 20 66 63 62 of where the fcb
000130: 20 61 6E 64 0D 0A 3B 09 63 6F 6D 6D 61 6E 64 20 and..;.command
000140: 62 75 66 66 65 72 20 61 72 65 20 6C 6F 63 61 74 buffer are locat
000150: 65 64 2C 20 74 68 69 73 20 64 6F 65 73 20 6E 6F ed, this does no
000160: 74 20 75 73 75 61 6C 6C 79 20 63 61 75 73 65 20 t usually cause
000170: 61 0D 0A 3B 09 70 72 6F 62 6C 65 6D 2C 20 62 75 a..;.problem, bu
000180: 74 20 63 6F 75 6C 64 20 69 66 20 61 6E 20 65 78 t could if an ex
000190: 74 72 65 6D 65 6C 79 20 6C 6F 6E 67 20 6C 69 6E tremely long lin
0001A0: 65 20 77 61 73 20 74 79 70 65 64 20 69 6E 2C 0D e was typed in,.
0001B0: 0A 3B 09 6F 72 20 69 6E 20 74 68 65 20 66 75 74 .;.or in the fut
0001C0: 75 72 65 20 6D 75 6C 74 69 70 6C 65 20 66 63 62 ure multiple fcb
0001D0: 73 20 64 65 66 69 6E 65 64 20 65 6C 73 65 77 68 s defined elsewh
0001E0: 65 72 65 20 69 6E 20 6D 65 6D 6F 72 79 0D 0A 3B ere in memory..;
0001F0: 09 77 65 72 65 20 75 73 65 64 2E 20 20 4D 61 79 .were used. May
Size : 512 (Real : 512)
000000: 69 6E 20 42 0D 0A 78 6D 69 74 33 30 3A 09 64 63 in B..xmit30:.dc
000010: 72 09 62 09 09 3B 20 41 73 73 75 6D 65 20 74 68 r.b..; Assume th
000020: 65 72 65 27 73 20 61 20 63 68 61 72 61 63 74 65 ere's a characte
000030: 72 20 74 68 65 72 65 0D 0A 09 6A 70 09 78 6D 69 r there...jp.xmi
000040: 74 32 09 09 3B 20 49 66 20 74 68 65 72 65 20 77 t2..; If there w
000050: 61 73 2C 20 70 72 6F 63 65 65 64 2E 0D 0A 09 63 as, proceed....c
000060: 61 6C 6C 09 69 6E 62 75 66 09 09 3B 20 54 68 65 all.inbuf..; The
000070: 72 65 20 77 61 73 6E 27 74 2E 20 20 54 72 79 20 re wasn't. Try
000080: 66 6F 72 20 61 6E 6F 74 68 65 72 20 62 75 66 66 for another buff
000090: 65 72 2E 0D 0A 09 20 6A 6D 70 09 78 6D 69 74 33 er.... jmp.xmit3
0000A0: 38 09 09 3B 20 45 6E 64 20 6F 66 20 66 69 6C 65 8..; End of file
0000B0: 2E 0D 0A 09 6C 68 6C 64 09 62 75 66 70 6E 74 09 ....lhld.bufpnt.
0000C0: 09 3B 20 47 6F 74 20 61 6E 6F 74 68 65 72 20 62 .; Got another b
0000D0: 75 66 66 65 72 2E 20 20 47 65 74 20 6E 65 77 20 uffer. Get new
0000E0: 70 6F 69 6E 74 65 72 20 69 6E 20 48 4C 0D 0A 09 pointer in HL...
0000F0: 6C 64 61 09 63 68 72 63 6E 74 09 09 3B 20 20 61 lda.chrcnt..; a
000100: 6E 64 20 6E 65 77 20 62 79 74 65 20 63 6F 75 6E nd new byte coun
000110: 74 0D 0A 09 6D 6F 76 09 62 2C 61 09 09 3B 20 20 t...mov.b,a..;
000120: 69 6E 20 42 0D 0A 78 6D 69 74 32 3A 09 6D 6F 76 in B..xmit2:.mov
000130: 09 61 2C 6D 09 09 3B 47 65 74 20 61 20 63 68 61 .a,m..;Get a cha
000140: 72 61 63 74 65 72 20 66 72 6F 6D 20 64 69 73 6B racter from disk
000150: 20 62 75 66 66 65 72 2E 0D 0A 09 69 6E 78 09 68 buffer....inx.h
000160: 0D 0A 09 61 6E 69 09 37 46 48 09 09 3B 4D 61 73 ...ani.7FH..;Mas
000170: 6B 20 37 20 62 69 74 73 2E 0D 0A 09 6A 7A 09 78 k 7 bits....jz.x
000180: 6D 69 74 33 30 09 09 3B 53 6B 69 70 20 6E 75 6C mit30..;Skip nul
000190: 6C 73 2E 0D 0A 09 63 70 69 09 63 72 09 09 3B 43 ls....cpi.cr..;C
0001A0: 61 72 72 69 61 67 65 20 72 65 74 75 72 6E 3F 0D arriage return?.
0001B0: 0A 09 6A 7A 09 78 6D 69 74 33 32 0D 0A 09 63 70 ..jz.xmit32...cp
0001C0: 69 09 73 75 62 74 09 09 3B 43 54 52 4C 2D 5A 20 i.subt..;CTRL-Z
0001D0: 28 73 75 62 73 74 69 74 75 74 65 29 3F 0D 0A 09 (substitute)?...
0001E0: 6A 7A 09 78 6D 69 74 33 37 0D 0A 09 63 70 69 09 jz.xmit37...cpi.
0001F0: 6C 66 09 09 3B 4C 69 6E 65 20 66 65 65 64 3F 0D lf..;Line feed?.
Size : 512 (Real : 512)
000000: 62 65 20 74 68 69 73 20 73 68 6F 75 6C 64 20 62 be this should b
000010: 65 20 70 75 74 20 6F 6E 20 74 68 65 20 62 75 67 e put on the bug
000020: 20 6C 69 73 74 0D 0A 3B 09 73 6F 6D 65 77 68 65 list..;.somewhe
000030: 72 65 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 33 re...;..; edit 3
000040: 3A 20 4A 75 6C 79 20 32 37 2C 20 31 39 38 34 0D : July 27, 1984.
000050: 0A 3B 09 41 6C 6C 6F 77 20 61 73 73 65 6D 62 6C .;.Allow assembl
000060: 79 20 77 69 74 68 20 4C 41 53 4D 3A 20 74 6F 20 y with LASM: to
000070: 43 50 34 54 54 20 69 73 20 6C 69 6E 6B 65 64 20 CP4TT is linked
000080: 62 79 20 43 50 34 50 4B 54 2C 20 61 6E 64 20 6C by CP4PKT, and l
000090: 69 6E 6B 73 0D 0A 3B 09 74 6F 20 43 50 34 43 50 inks..;.to CP4CP
0000A0: 4D 3B 20 72 65 6D 6F 76 65 20 65 78 63 6C 61 6D M; remove exclam
0000B0: 61 74 69 6F 6E 20 70 6F 69 6E 74 73 20 73 6F 20 ation points so
0000C0: 61 73 20 6E 6F 74 20 74 6F 20 63 6F 6E 66 75 73 as not to confus
0000D0: 65 20 4C 41 53 4D 2E 0D 0A 3B 09 41 64 64 20 54 e LASM...;.Add T
0000E0: 6F 61 64 20 48 61 6C 6C 20 54 41 43 74 72 61 70 oad Hall TACtrap
0000F0: 20 74 6F 20 54 52 41 4E 53 4D 49 54 20 63 6F 6D to TRANSMIT com
000100: 6D 61 6E 64 20 28 54 41 43 20 69 6E 74 65 72 63 mand (TAC interc
000110: 65 70 74 20 63 68 61 72 61 63 74 65 72 0D 0A 3B ept character..;
000120: 09 69 73 20 6F 6E 6C 79 20 64 6F 75 62 6C 65 64 .is only doubled
000130: 20 69 66 20 69 74 27 73 20 64 61 74 61 3B 20 77 if it's data; w
000140: 68 65 6E 20 74 79 70 65 64 20 62 79 20 74 68 65 hen typed by the
000150: 20 75 73 65 72 2C 20 74 68 65 79 27 72 65 20 6E user, they're n
000160: 6F 74 0D 0A 3B 09 61 75 74 6F 6D 61 74 69 63 61 ot..;.automatica
000170: 6C 6C 79 20 64 6F 75 62 6C 65 64 29 0D 0A 3B 0D lly doubled)..;.
000180: 0A 3B 20 65 64 69 74 20 32 3A 20 4A 75 6E 65 20 .; edit 2: June
000190: 37 2C 20 31 39 38 34 0D 0A 3B 09 66 6F 72 6D 61 7, 1984..;.forma
0001A0: 74 74 69 6E 67 20 61 6E 64 20 64 6F 63 75 6D 65 tting and docume
0001B0: 6E 74 61 74 69 6F 6E 3B 20 61 64 64 20 6D 6F 64 ntation; add mod
0001C0: 75 6C 65 20 76 65 72 73 69 6F 6E 20 6E 75 6D 62 ule version numb
0001D0: 65 72 3B 20 6D 61 6B 65 20 73 75 72 65 0D 0A 3B er; make sure..;
0001E0: 09 63 6F 6E 73 6F 6C 65 20 69 73 20 73 65 6C 65 .console is sele
0001F0: 63 74 65 64 20 77 68 65 6E 20 6C 65 61 76 69 6E cted when leavin
Size : 512 (Real : 512)
000000: 0A 09 6A 7A 09 78 6D 69 74 33 39 0D 0A 09 73 74 ..jz.xmit39...st
000010: 61 78 09 64 09 09 3B 53 61 76 65 20 74 6F 20 62 ax.d..;Save to b
000020: 75 66 66 65 72 2E 0D 0A 09 69 6E 78 09 64 0D 0A uffer....inx.d..
000030: 09 6C 64 61 09 63 6D 61 66 6C 67 09 09 3B 43 61 .lda.cmaflg..;Ca
000040: 72 72 69 61 67 65 20 72 65 74 75 72 6E 20 73 65 rriage return se
000050: 65 6E 3F 0D 0A 09 6F 72 61 09 61 0D 0A 09 6A 6E en?...ora.a...jn
000060: 7A 09 78 6D 69 74 33 31 09 09 3B 59 65 73 2C 20 z.xmit31..;Yes,
000070: 64 6F 6E 27 74 20 63 6F 75 6E 74 20 74 68 69 73 don't count this
000080: 20 63 68 61 72 61 63 74 65 72 2E 0D 0A 09 69 6E character....in
000090: 72 09 63 09 09 3B 43 6F 75 6E 74 20 69 74 2E 0D r.c..;Count it..
0000A0: 0A 78 6D 69 74 33 31 3A 09 6A 6D 70 09 78 6D 69 .xmit31:.jmp.xmi
0000B0: 74 33 30 09 09 3B 4C 6F 6F 70 20 66 6F 72 20 6E t30..;Loop for n
0000C0: 65 78 74 20 69 6E 70 75 74 20 62 79 74 65 2E 0D ext input byte..
0000D0: 0A 0D 0A 3B 20 43 61 72 72 69 61 67 65 20 72 65 ...; Carriage re
0000E0: 74 75 72 6E 20 73 65 65 6E 2E 20 20 53 74 61 72 turn seen. Star
0000F0: 74 20 64 69 73 63 61 72 64 69 6E 67 20 63 68 61 t discarding cha
000100: 72 61 63 74 65 72 73 20 75 6E 74 69 6C 20 77 65 racters until we
000110: 20 73 65 65 20 61 20 6C 69 6E 65 2D 66 65 65 64 see a line-feed
000120: 2E 0D 0A 78 6D 69 74 33 32 3A 09 73 74 61 09 63 ...xmit32:.sta.c
000130: 6D 61 66 6C 67 09 09 3B 4D 61 72 6B 20 72 65 74 maflg..;Mark ret
000140: 75 72 6E 20 73 65 65 6E 2E 0D 0A 09 6A 6D 70 09 urn seen....jmp.
000150: 78 6D 69 74 33 30 09 09 3B 41 6E 64 20 63 6F 6E xmit30..;And con
000160: 74 69 6E 75 65 2E 0D 0A 0D 0A 3B 20 43 6F 6E 74 tinue.....; Cont
000170: 72 6F 6C 2D 5A 20 73 65 65 6E 2E 20 46 6F 72 63 rol-Z seen. Forc
000180: 65 20 65 6E 64 20 6F 66 20 66 69 6C 65 2C 20 61 e end of file, a
000190: 6E 64 20 73 65 6E 64 20 74 68 65 20 63 75 72 72 nd send the curr
0001A0: 65 6E 74 20 6C 69 6E 65 2E 0D 0A 78 6D 69 74 33 ent line...xmit3
0001B0: 37 3A 09 73 74 61 09 65 6F 66 6C 61 67 09 09 3B 7:.sta.eoflag..;
0001C0: 4D 61 72 6B 20 45 4F 46 20 66 6F 72 20 6E 65 78 Mark EOF for nex
0001D0: 74 20 6C 69 6E 65 2E 0D 0A 09 3B 20 66 61 6C 6C t line....; fall
0001E0: 20 74 68 72 6F 75 67 68 2E 2E 2E 0D 0A 3B 20 45 through.....; E
0001F0: 6E 64 20 6F 66 20 46 69 6C 65 20 65 6E 63 6F 75 nd of File encou
Size : 512 (Real : 512)
000000: 67 20 69 6E 74 63 68 72 2E 0D 0A 3B 0D 0A 3B 20 g intchr...;..;
000010: 65 64 69 74 20 31 3A 20 4D 61 79 2C 20 31 39 38 edit 1: May, 198
000020: 34 0D 0A 3B 09 65 78 74 72 61 63 74 65 64 20 66 4..;.extracted f
000030: 72 6F 6D 20 43 50 4D 42 41 53 45 2E 4D 38 30 20 rom CPMBASE.M80
000040: 76 65 72 73 69 6F 6E 20 33 2E 39 3B 20 6D 6F 64 version 3.9; mod
000050: 69 66 69 63 61 74 69 6F 6E 73 20 61 72 65 20 64 ifications are d
000060: 65 73 63 72 69 62 65 64 0D 0A 3B 09 69 6E 20 74 escribed..;.in t
000070: 68 65 20 61 63 63 6F 6D 70 61 6E 79 69 6E 67 20 he accompanying
000080: 2E 55 50 44 20 66 69 6C 65 2E 0D 0A 0D 0A 74 74 .UPD file.....tt
000090: 76 65 72 3A 09 64 62 09 27 43 50 34 54 54 2E 41 ver:.db.'CP4TT.A
0000A0: 53 4D 20 20 28 34 29 20 20 31 33 2D 4A 61 6E 2D SM (4) 13-Jan-
0000B0: 38 35 24 27 0D 0A 0D 0A 3B 09 54 68 69 73 20 69 85$'....;.This i
0000C0: 73 20 74 68 65 20 54 52 41 4E 53 4D 49 54 20 63 s the TRANSMIT c
0000D0: 6F 6D 6D 61 6E 64 2E 20 20 49 74 20 61 74 74 65 ommand. It atte
0000E0: 6D 70 74 73 20 74 6F 20 73 65 6E 64 20 61 20 66 mpts to send a f
0000F0: 69 6C 65 2C 20 65 76 65 6E 0D 0A 3B 09 74 68 6F ile, even..;.tho
000100: 75 67 68 20 74 68 65 72 65 20 69 73 20 6E 6F 20 ugh there is no
000110: 4B 45 52 4D 49 54 20 6F 6E 20 74 68 65 20 6F 74 KERMIT on the ot
000120: 68 65 72 20 73 69 64 65 2E 0D 0A 3B 09 68 65 72 her side...;.her
000130: 65 20 66 72 6F 6D 3A 20 6B 65 72 6D 69 74 0D 0A e from: kermit..
000140: 0D 0A 78 6D 69 74 3A 09 6D 76 69 09 61 2C 63 6D ..xmit:.mvi.a,cm
000150: 6F 66 69 09 09 3B 50 61 72 73 65 20 61 6E 20 69 ofi..;Parse an i
000160: 6E 70 75 74 20 66 69 6C 65 20 73 70 65 63 20 28 nput file spec (
000170: 6E 6F 6E 2D 77 69 6C 64 29 2E 0D 0A 09 6C 78 69 non-wild)....lxi
000180: 09 64 2C 66 63 62 09 09 3B 47 69 76 65 20 74 68 .d,fcb..;Give th
000190: 65 20 61 64 64 72 65 73 73 20 66 6F 72 20 74 68 e address for th
0001A0: 65 20 46 43 42 2E 0D 0A 09 63 61 6C 6C 09 63 6F e FCB....call.co
0001B0: 6D 6E 64 0D 0A 09 20 6A 6D 70 09 6B 65 72 6D 69 mnd... jmp.kermi
0001C0: 74 09 09 3B 47 69 76 65 20 75 70 20 6F 6E 20 62 t..;Give up on b
0001D0: 61 64 20 70 61 72 73 65 2E 0D 0A 09 63 61 6C 6C ad parse....call
0001E0: 09 63 66 6D 63 6D 64 0D 0A 09 63 61 6C 6C 09 67 .cfmcmd...call.g
0001F0: 65 74 66 69 6C 09 09 3B 4F 70 65 6E 20 66 69 6C etfil..;Open fil
Size : 512 (Real : 512)
000000: 6E 74 65 72 65 64 2E 20 65 6F 66 6C 61 67 20 68 ntered. eoflag h
000010: 61 73 20 61 6C 72 65 61 64 79 20 62 65 65 6E 20 as already been
000020: 73 65 74 3B 20 6A 75 73 74 20 73 65 6E 64 20 63 set; just send c
000030: 75 72 72 65 6E 74 20 6C 69 6E 65 2E 0D 0A 78 6D urrent line...xm
000040: 69 74 33 38 3A 0D 0A 09 3B 20 66 61 6C 6C 20 74 it38:...; fall t
000050: 68 72 6F 75 67 68 2E 2E 2E 0D 0A 3B 20 4C 69 6E hrough.....; Lin
000060: 65 66 65 65 64 20 73 65 65 6E 2E 20 73 65 6E 64 efeed seen. send
000070: 20 74 68 65 20 63 75 72 72 65 6E 74 20 6C 69 6E the current lin
000080: 65 2E 0D 0A 78 6D 69 74 33 39 3A 09 73 68 6C 64 e...xmit39:.shld
000090: 09 62 75 66 70 6E 74 09 09 3B 53 61 76 65 20 6E .bufpnt..;Save n
0000A0: 65 78 74 20 62 75 66 66 65 72 20 70 6F 69 6E 74 ext buffer point
0000B0: 65 72 2E 0D 0A 09 6D 6F 76 09 61 2C 62 09 09 3B er....mov.a,b..;
0000C0: 53 61 76 65 20 63 6F 75 6E 74 20 6F 66 20 72 65 Save count of re
0000D0: 6D 61 69 6E 69 6E 67 20 63 68 61 72 61 63 74 65 maining characte
0000E0: 72 73 2E 0D 0A 09 73 74 61 09 63 68 72 63 6E 74 rs....sta.chrcnt
0000F0: 0D 0A 09 6D 6F 76 09 61 2C 63 09 09 3B 53 61 76 ...mov.a,c..;Sav
000100: 65 20 6C 69 6E 65 20 6C 65 6E 67 74 68 2E 0D 0A e line length...
000110: 09 73 74 61 09 66 69 6C 63 6E 74 0D 0A 09 3B 20 .sta.filcnt...;
000120: 66 61 6C 6C 20 74 68 72 6F 75 67 68 20 69 6E 74 fall through int
000130: 6F 20 72 65 78 6D 69 74 2E 2E 2E 0D 0A 3B 0C 0D o rexmit.....;..
000140: 0A 0D 0A 3B 09 74 72 61 6E 73 6D 69 74 20 74 68 ...;.transmit th
000150: 65 20 62 75 66 66 65 72 65 64 20 6C 69 6E 65 2E e buffered line.
000160: 0D 0A 3B 09 68 65 72 65 20 66 72 6F 6D 3A 20 70 ..;.here from: p
000170: 72 65 76 69 6F 75 73 20 70 61 67 65 2C 20 69 6E revious page, in
000180: 74 63 68 72 0D 0A 0D 0A 72 65 78 6D 69 74 3A 09 tchr....rexmit:.
000190: 6C 64 61 09 66 69 6C 63 6E 74 09 09 3B 53 65 74 lda.filcnt..;Set
0001A0: 20 75 70 20 6C 69 6E 65 20 6C 65 6E 67 74 68 2E up line length.
0001B0: 0D 0A 09 73 74 61 09 63 6D 63 63 6E 74 0D 0A 09 ...sta.cmccnt...
0001C0: 6C 78 69 09 68 2C 63 6D 64 62 75 66 09 3B 53 65 lxi.h,cmdbuf.;Se
0001D0: 74 20 75 70 20 6C 69 6E 65 20 62 75 66 66 65 72 t up line buffer
0001E0: 20 70 6F 69 6E 74 65 72 2E 0D 0A 09 73 68 6C 64 pointer....shld
0001F0: 09 63 6D 63 70 74 72 0D 0A 78 6D 69 74 34 30 3A .cmcptr..xmit40:
Size : 512 (Real : 512)
000000: 3B 43 6C 6F 73 65 20 66 69 6C 65 2E 0D 0A 09 6C ;Close file....l
000010: 78 69 09 64 2C 66 63 62 0D 0A 09 63 61 6C 6C 09 xi.d,fcb...call.
000020: 62 64 6F 73 0D 0A 09 78 72 61 09 61 09 09 3B 54 bdos...xra.a..;T
000030: 65 72 6D 69 6E 61 74 65 20 66 69 6C 65 20 49 2F erminate file I/
000040: 4F 2E 0D 0A 09 73 74 61 09 66 69 6C 65 69 6F 0D O....sta.fileio.
000050: 0A 09 72 65 74 0D 0A 3B 0C 0D 0A 3B 20 20 20 74 ..ret..;...; t
000060: 65 6C 6E 65 74 20 2D 20 74 68 65 20 43 4F 4E 4E elnet - the CONN
000070: 45 43 54 20 63 6F 6D 6D 61 6E 64 2E 0D 0A 3B 09 ECT command...;.
000080: 68 65 72 65 20 66 72 6F 6D 3A 20 6B 65 72 6D 69 here from: kermi
000090: 74 0D 0A 3B 20 20 20 74 65 6C 6E 74 31 20 2D 20 t..; telnt1 -
0000A0: 65 6E 74 72 79 20 74 6F 20 63 6F 6E 6E 65 63 74 entry to connect
0000B0: 20 6D 6F 64 65 20 66 72 6F 6D 20 54 52 41 4E 53 mode from TRANS
0000C0: 4D 49 54 20 63 6F 6D 6D 61 6E 64 0D 0A 3B 09 68 MIT command..;.h
0000D0: 65 72 65 20 66 72 6F 6D 3A 20 78 65 6E 64 0D 0A ere from: xend..
0000E0: 0D 0A 74 65 6C 6E 65 74 3A 09 63 61 6C 6C 09 63 ..telnet:.call.c
0000F0: 66 6D 63 6D 64 0D 0A 09 6C 78 69 09 64 2C 69 6E fmcmd...lxi.d,in
000100: 66 6D 73 37 09 3B 4F 75 74 70 75 74 20 73 74 61 fms7.;Output sta
000110: 72 74 20 6F 66 20 6D 65 73 73 61 67 65 0D 0A 3B rt of message..;
000120: 20 65 6E 74 65 72 20 68 65 72 65 20 66 72 6F 6D enter here from
000130: 20 54 52 41 4E 53 4D 49 54 20 63 6F 6D 6D 61 6E TRANSMIT comman
000140: 64 2E 0D 0A 74 65 6C 6E 74 31 3A 09 63 61 6C 6C d...telnt1:.call
000150: 09 70 72 74 73 74 72 0D 0A 09 63 61 6C 6C 09 65 .prtstr...call.e
000160: 73 63 70 72 09 09 3B 50 72 69 6E 74 20 74 68 65 scpr..;Print the
000170: 20 65 73 63 61 70 65 20 63 68 61 72 2E 0D 0A 09 escape char....
000180: 6C 78 69 09 64 2C 69 6E 66 6D 73 38 09 3B 4F 75 lxi.d,infms8.;Ou
000190: 74 70 75 74 20 73 6F 6D 65 20 6D 6F 72 65 20 6F tput some more o
0001A0: 66 20 74 68 65 20 6D 65 73 73 61 67 65 0D 0A 09 f the message...
0001B0: 63 61 6C 6C 09 70 72 74 73 74 72 0D 0A 09 63 61 call.prtstr...ca
0001C0: 6C 6C 09 65 73 63 70 72 09 09 3B 50 72 69 6E 74 ll.escpr..;Print
0001D0: 20 74 68 65 20 65 73 63 61 70 65 20 63 68 61 72 the escape char
0001E0: 20 61 67 61 69 6E 2E 0D 0A 09 6C 78 69 09 64 2C again....lxi.d,
0001F0: 69 6E 6D 73 38 61 09 3B 50 72 69 6E 74 20 74 68 inms8a.;Print th
Size : 512 (Real : 512)
000000: 09 63 61 6C 6C 09 70 72 74 63 68 72 09 09 3B 52 .call.prtchr..;R
000010: 65 63 65 69 76 65 20 63 6F 6D 6D 2E 20 6C 69 6E eceive comm. lin
000020: 65 20 26 20 64 69 73 70 6C 61 79 2E 0D 0A 09 6C e & display....l
000030: 64 61 09 78 6F 66 66 6C 67 09 09 3B 58 4F 46 46 da.xofflg..;XOFF
000040: 20 72 65 63 65 69 76 65 64 3F 0D 0A 09 6F 72 61 received?...ora
000050: 09 61 0D 0A 09 6A 6E 7A 09 78 6D 69 74 34 30 09 .a...jnz.xmit40.
000060: 09 3B 59 65 73 2C 20 77 61 69 74 20 66 6F 72 20 .;Yes, wait for
000070: 58 4F 4E 0D 0A 09 6C 64 61 09 63 6D 63 63 6E 74 XON...lda.cmccnt
000080: 09 09 3B 41 6E 79 20 63 68 61 72 61 63 74 65 72 ..;Any character
000090: 73 20 6C 65 66 74 3F 0D 0A 09 64 63 72 09 61 0D s left?...dcr.a.
0000A0: 0A 09 6A 6D 09 78 6D 69 74 34 39 09 09 3B 4E 6F ..jm.xmit49..;No
0000B0: 2C 20 6E 65 78 74 20 73 74 61 74 65 2E 0D 0A 09 , next state....
0000C0: 73 74 61 09 63 6D 63 63 6E 74 0D 0A 09 63 61 6C sta.cmccnt...cal
0000D0: 6C 09 73 65 6C 6D 64 6D 09 09 3B 20 73 65 6C 65 l.selmdm..; sele
0000E0: 63 74 20 6D 6F 64 65 6D 20 66 6F 72 20 6F 75 74 ct modem for out
0000F0: 6D 64 6D 0D 0A 09 6C 68 6C 64 09 63 6D 63 70 74 mdm...lhld.cmcpt
000100: 72 09 09 3B 47 65 74 20 74 68 65 20 63 68 61 72 r..;Get the char
000110: 61 63 74 65 72 20 74 6F 20 62 65 20 73 65 6E 74 acter to be sent
000120: 0D 0A 09 6D 6F 76 09 61 2C 6D 0D 0A 09 69 6E 78 ...mov.a,m...inx
000130: 09 68 09 09 3B 42 75 6D 70 20 74 6F 20 6E 65 78 .h..;Bump to nex
000140: 74 20 63 68 61 72 61 63 74 65 72 2E 0D 0A 09 73 t character....s
000150: 68 6C 64 09 63 6D 63 70 74 72 0D 0A 09 63 61 6C hld.cmcptr...cal
000160: 6C 09 73 65 74 70 61 72 09 09 3B 53 65 74 20 70 l.setpar..;Set p
000170: 61 72 69 74 79 20 28 69 66 20 61 6E 79 29 2E 0D arity (if any)..
000180: 0A 09 6D 6F 76 09 65 2C 61 09 09 3B 53 61 76 65 ..mov.e,a..;Save
000190: 20 63 68 61 72 61 63 74 65 72 20 28 77 69 74 68 character (with
0001A0: 20 70 61 72 69 74 79 29 0D 0A 09 63 61 6C 6C 09 parity)...call.
0001B0: 6F 75 74 6D 64 6D 09 09 3B 4F 75 74 70 75 74 20 outmdm..;Output
0001C0: 69 74 20 74 6F 20 74 68 65 20 63 6F 6D 6D 2E 20 it to the comm.
0001D0: 6C 69 6E 65 2E 0D 0A 3B 20 54 41 43 20 74 72 61 line...; TAC tra
0001E0: 70 3A 20 49 66 20 74 68 69 73 20 63 68 61 72 61 p: If this chara
0001F0: 63 74 65 72 20 69 73 20 74 68 65 20 54 41 43 20 cter is the TAC
Size : 512 (Real : 512)
000000: 65 20 72 65 6D 61 69 6E 64 65 72 20 6F 66 20 74 e remainder of t
000010: 68 65 20 6D 65 73 73 61 67 65 0D 0A 09 63 61 6C he message...cal
000020: 6C 09 70 72 74 73 74 72 0D 0A 09 63 61 6C 6C 09 l.prtstr...call.
000030: 73 79 73 63 6F 6E 09 09 3B 64 6F 20 73 79 73 74 syscon..;do syst
000040: 65 6D 2D 64 65 70 65 6E 64 65 6E 74 20 73 74 75 em-dependent stu
000050: 66 66 0D 0A 09 6C 64 61 09 6C 6F 67 66 6C 67 09 ff...lda.logflg.
000060: 09 3B 5B 70 63 63 30 30 35 5D 20 57 61 6E 74 20 .;[pcc005] Want
000070: 61 20 6C 6F 67 3F 0D 0A 09 6F 72 61 09 61 09 09 a log?...ora.a..
000080: 3B 5B 70 63 63 30 30 35 5D 0D 0A 09 63 6E 7A 09 ;[pcc005]...cnz.
000090: 6C 6F 67 6F 70 6E 09 09 3B 5B 70 63 63 30 30 35 logopn..;[pcc005
0000A0: 5D 20 4F 70 65 6E 20 69 66 20 73 6F 0D 0A 0D 0A ] Open if so....
0000B0: 63 68 72 6C 75 70 3A 09 63 61 6C 6C 09 70 72 74 chrlup:.call.prt
0000C0: 63 68 72 09 09 3B 53 65 65 20 69 66 20 63 68 61 chr..;See if cha
0000D0: 72 20 61 74 20 70 6F 72 74 20 28 73 65 6E 64 20 r at port (send
0000E0: 74 6F 20 63 6F 6E 73 6F 6C 65 29 2E 0D 0A 09 63 to console)....c
0000F0: 61 6C 6C 09 63 6F 6E 63 68 72 09 09 3B 53 65 65 all.conchr..;See
000100: 20 69 66 20 63 68 61 72 20 61 74 20 63 6F 6E 73 if char at cons
000110: 6F 6C 65 20 28 73 65 6E 64 20 74 6F 20 70 6F 72 ole (send to por
000120: 74 29 2E 0D 0A 09 20 6A 6D 70 09 6B 65 72 6D 69 t).... jmp.kermi
000130: 74 09 09 3B 72 65 71 75 65 73 74 65 64 20 74 6F t..;requested to
000140: 20 65 6E 64 20 73 65 73 73 69 6F 6E 20 2D 20 67 end session - g
000150: 6F 20 74 6F 20 63 6F 6D 6D 61 6E 64 20 6C 6F 6F o to command loo
000160: 70 2E 0D 0A 09 6A 6D 70 09 63 68 72 6C 75 70 09 p....jmp.chrlup.
000170: 09 3B 47 6F 20 64 6F 20 69 74 20 61 67 61 69 6E .;Go do it again
000180: 2E 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 70 72 74 63 ...;...;..;.prtc
000190: 68 72 20 2D 20 63 6F 70 79 20 63 68 61 72 61 63 hr - copy charac
0001A0: 74 65 72 73 20 66 72 6F 6D 20 63 6F 6D 6D 20 6C ters from comm l
0001B0: 69 6E 65 20 74 6F 20 63 6F 6E 73 6F 6C 65 0D 0A ine to console..
0001C0: 3B 09 72 65 74 75 72 6E 73 3A 20 6E 6F 6E 73 6B ;.returns: nonsk
0001D0: 69 70 2C 20 63 6F 6E 73 6F 6C 65 20 73 65 6C 65 ip, console sele
0001E0: 63 74 65 64 2E 0D 0A 3B 09 63 61 6C 6C 65 64 20 cted...;.called
0001F0: 62 79 3A 20 78 6E 65 78 74 2C 20 72 65 78 6D 69 by: xnext, rexmi
Size : 512 (Real : 512)
000000: 69 6E 74 65 72 63 65 70 74 20 63 68 61 72 61 63 intercept charac
000010: 74 65 72 2C 20 61 6E 64 20 74 68 65 20 54 41 43 ter, and the TAC
000020: 0D 0A 3B 20 74 72 61 70 20 69 73 20 65 6E 61 62 ..; trap is enab
000030: 6C 65 64 2C 20 77 65 20 68 61 76 65 20 74 6F 20 led, we have to
000040: 6F 75 74 70 75 74 20 69 74 20 74 77 69 63 65 2E output it twice.
000050: 20 20 49 66 20 74 68 65 20 54 41 43 20 74 72 61 If the TAC tra
000060: 70 20 69 73 20 65 6E 61 62 6C 65 64 2C 0D 0A 3B p is enabled,..;
000070: 20 74 61 63 66 6C 67 20 63 6F 6E 74 61 69 6E 73 tacflg contains
000080: 20 74 68 65 20 69 6E 74 65 72 63 65 70 74 20 63 the intercept c
000090: 68 61 72 61 63 74 65 72 2E 20 20 28 54 68 65 20 haracter. (The
0000A0: 63 75 72 72 65 6E 74 20 63 68 61 72 61 63 74 65 current characte
0000B0: 72 20 63 61 6E 6E 6F 74 0D 0A 3B 20 62 65 20 4E r cannot..; be N
0000C0: 55 4C 2C 20 73 6F 20 77 65 20 64 6F 6E 27 74 20 UL, so we don't
0000D0: 68 61 76 65 20 74 6F 20 77 6F 72 72 79 20 61 62 have to worry ab
0000E0: 6F 75 74 20 64 6F 75 62 6C 69 6E 67 20 6E 75 6C out doubling nul
0000F0: 6C 73 20 69 6E 20 74 68 65 20 6D 65 73 73 61 67 ls in the messag
000100: 65 29 0D 0A 09 6C 64 61 09 74 61 63 66 6C 67 09 e)...lda.tacflg.
000110: 09 3B 20 67 65 74 20 63 75 72 72 65 6E 74 20 69 .; get current i
000120: 6E 74 65 72 63 65 70 74 20 63 68 61 72 61 63 74 ntercept charact
000130: 65 72 2C 20 6F 72 20 7A 65 72 6F 2E 0D 0A 09 63 er, or zero....c
000140: 6D 70 09 6D 09 09 3B 20 63 6F 6D 70 61 72 65 20 mp.m..; compare
000150: 61 67 61 69 6E 73 74 20 63 75 72 72 65 6E 74 20 against current
000160: 64 61 74 61 20 63 68 61 72 61 63 74 65 72 2E 0D data character..
000170: 0A 09 6A 6E 7A 09 78 6D 69 74 34 31 09 09 3B 20 ..jnz.xmit41..;
000180: 69 66 20 64 69 66 66 65 72 65 6E 74 2C 20 64 6F if different, do
000190: 20 6E 6F 74 68 69 6E 67 2E 0D 0A 09 63 61 6C 6C nothing....call
0001A0: 09 73 65 74 70 61 72 09 09 3B 20 6D 61 74 63 68 .setpar..; match
0001B0: 2E 20 73 65 74 20 61 70 70 72 6F 70 72 69 61 74 . set appropriat
0001C0: 65 20 70 61 72 69 74 79 2C 0D 0A 09 6D 6F 76 09 e parity,...mov.
0001D0: 65 2C 61 09 09 3B 20 20 70 75 74 20 69 74 20 69 e,a..; put it i
0001E0: 6E 20 74 68 65 20 72 69 67 68 74 20 72 65 67 69 n the right regi
0001F0: 73 74 65 72 2C 0D 0A 09 63 61 6C 6C 09 6F 75 74 ster,...call.out
Size : 512 (Real : 512)
000000: 74 2C 20 74 65 6C 6E 65 74 0D 0A 3B 0D 0A 0D 0A t, telnet..;....
000010: 70 72 74 63 68 72 3A 09 63 61 6C 6C 09 73 65 6C prtchr:.call.sel
000020: 6D 64 6D 09 09 3B 20 73 65 6C 65 63 74 20 6D 6F mdm..; select mo
000030: 64 65 6D 20 70 6F 72 74 0D 0A 09 63 61 6C 6C 09 dem port...call.
000040: 69 6E 70 6D 64 6D 09 09 3B 20 74 72 79 20 74 6F inpmdm..; try to
000050: 20 67 65 74 20 61 20 63 68 61 72 61 63 74 65 72 get a character
000060: 20 66 72 6F 6D 20 69 74 0D 0A 09 6F 72 61 09 61 from it...ora.a
000070: 09 09 3B 20 74 65 73 74 20 63 68 61 72 61 63 74 ..; test charact
000080: 65 72 0D 0A 09 6A 6E 7A 09 70 72 74 63 68 30 09 er...jnz.prtch0.
000090: 09 3B 20 69 66 20 6E 6F 6E 2D 7A 65 72 6F 2C 20 .; if non-zero,
0000A0: 70 72 6F 63 65 73 73 20 69 74 2E 0D 0A 09 73 74 process it....st
0000B0: 61 09 70 72 74 63 6E 74 09 09 3B 5B 70 63 63 30 a.prtcnt..;[pcc0
0000C0: 30 38 5D 20 7A 65 72 6F 20 6F 75 74 20 70 72 74 08] zero out prt
0000D0: 20 66 61 69 72 6E 65 73 73 20 63 6F 75 6E 74 0D fairness count.
0000E0: 0A 09 63 61 6C 6C 09 73 65 6C 63 6F 6E 09 09 3B ..call.selcon..;
0000F0: 20 73 65 6C 65 63 74 20 63 6F 6E 73 6F 6C 65 0D select console.
000100: 0A 09 72 65 74 09 09 09 3B 20 72 65 74 75 72 6E ..ret...; return
000110: 2E 0D 0A 0D 0A 70 72 74 63 68 30 3A 20 61 6E 69 .....prtch0: ani
000120: 09 37 46 48 09 09 3B 20 64 72 6F 70 20 70 61 72 .7FH..; drop par
000130: 69 74 79 20 62 69 74 2E 0D 0A 09 6A 7A 09 70 72 ity bit....jz.pr
000140: 74 63 68 72 09 09 3B 20 69 67 6E 6F 72 65 20 6E tchr..; ignore n
000150: 75 6C 6C 20 28 66 69 6C 6C 65 72 29 0D 0A 09 63 ull (filler)...c
000160: 70 69 09 64 65 6C 09 09 3B 20 69 67 6E 6F 72 65 pi.del..; ignore
000170: 20 64 65 6C 65 74 65 2C 20 74 6F 6F 0D 0A 09 6A delete, too...j
000180: 7A 09 70 72 74 63 68 72 0D 0A 09 63 70 69 09 78 z.prtchr...cpi.x
000190: 6F 6E 09 09 3B 49 73 20 69 74 20 61 6E 20 58 4F on..;Is it an XO
0001A0: 4E 3F 0D 0A 09 6A 7A 09 70 72 74 78 6F 6E 09 09 N?...jz.prtxon..
0001B0: 3B 79 65 73 0D 0A 09 63 70 69 09 78 6F 66 66 09 ;yes...cpi.xoff.
0001C0: 09 3B 49 73 20 69 74 20 61 6E 20 58 4F 46 46 3F .;Is it an XOFF?
0001D0: 0D 0A 09 6A 7A 09 70 72 74 78 6F 66 09 09 3B 79 ...jz.prtxof..;y
0001E0: 65 73 0D 0A 09 6D 6F 76 09 65 2C 61 09 09 3B 53 es...mov.e,a..;S
0001F0: 65 74 20 74 68 65 20 63 68 61 72 20 61 73 69 64 et the char asid
Size : 512 (Real : 512)
000000: 6D 64 6D 09 09 3B 20 20 61 6E 64 20 6F 75 74 70 mdm..; and outp
000010: 75 74 20 69 74 20 61 20 73 65 63 6F 6E 64 20 74 ut it a second t
000020: 69 6D 65 2E 0D 0A 78 6D 69 74 34 31 3A 0D 0A 09 ime...xmit41:...
000030: 6C 64 61 09 65 63 6F 66 6C 67 09 09 3B 4C 6F 63 lda.ecoflg..;Loc
000040: 61 6C 20 65 63 68 6F 3F 0D 0A 09 6F 72 61 09 61 al echo?...ora.a
000050: 0D 0A 09 6A 7A 09 78 6D 69 74 34 30 09 09 3B 4E ...jz.xmit40..;N
000060: 6F 2C 20 63 6F 6E 74 69 6E 75 65 2E 0D 0A 09 6D o, continue....m
000070: 6F 76 09 61 2C 65 09 09 3B 47 65 74 20 74 68 65 ov.a,e..;Get the
000080: 20 63 68 61 72 61 63 74 65 72 2E 0D 0A 09 61 6E character....an
000090: 69 09 37 46 48 09 09 3B 4D 61 73 6B 20 6F 75 74 i.7FH..;Mask out
0000A0: 20 70 61 72 69 74 79 2E 0D 0A 09 6D 6F 76 09 65 parity....mov.e
0000B0: 2C 61 09 09 3B 44 69 73 70 6C 61 79 20 6F 6E 20 ,a..;Display on
0000C0: 63 6F 6E 73 6F 6C 65 2E 0D 0A 09 63 61 6C 6C 09 console....call.
0000D0: 73 65 6C 63 6F 6E 0D 0A 09 63 61 6C 6C 09 6F 75 selcon...call.ou
0000E0: 74 63 6F 6E 0D 0A 09 6A 6D 70 09 78 6D 69 74 34 tcon...jmp.xmit4
0000F0: 30 09 09 3B 43 6F 6E 74 69 6E 75 65 2E 0D 0A 0D 0..;Continue....
000100: 0A 78 6D 69 74 34 39 3A 09 78 72 61 09 61 09 09 .xmit49:.xra.a..
000110: 3B 52 65 73 65 74 20 6C 61 73 74 20 63 68 61 72 ;Reset last char
000120: 61 63 74 65 72 20 73 65 65 6E 2E 0D 0A 09 73 74 acter seen....st
000130: 61 09 6C 73 74 63 68 72 0D 0A 78 6D 69 74 35 30 a.lstchr..xmit50
000140: 3A 09 63 61 6C 6C 09 70 72 74 63 68 72 09 09 3B :.call.prtchr..;
000150: 52 65 63 65 69 76 65 20 63 6F 6D 6D 2E 20 6C 69 Receive comm. li
000160: 6E 65 20 26 20 64 69 73 70 6C 61 79 2E 0D 0A 09 ne & display....
000170: 63 61 6C 6C 09 63 6F 6E 63 68 72 09 09 3B 52 65 call.conchr..;Re
000180: 61 64 20 6B 65 79 62 6F 61 72 64 20 26 20 73 65 ad keyboard & se
000190: 6E 64 2E 0D 0A 09 20 6A 6D 70 09 78 65 6E 64 63 nd.... jmp.xendc
0001A0: 09 09 3B 43 4C 4F 53 45 20 63 6F 6E 6E 65 63 74 ..;CLOSE connect
0001B0: 69 6F 6E 2E 0D 0A 09 6C 64 61 09 6C 73 74 63 68 ion....lda.lstch
0001C0: 72 09 09 3B 43 68 65 63 6B 20 6C 61 73 74 20 6B r..;Check last k
0001D0: 65 79 62 6F 61 72 64 20 63 68 61 72 61 63 74 65 eyboard characte
0001E0: 72 2E 0D 0A 09 63 70 69 09 63 72 09 09 3B 43 61 r....cpi.cr..;Ca
0001F0: 72 72 69 61 67 65 20 72 65 74 75 72 6E 3F 0D 0A rriage return?..
Size : 512 (Real : 512)
000000: 65 2E 0D 0A 09 6C 64 61 09 76 74 66 6C 67 09 09 e....lda.vtflg..
000010: 3B 47 65 74 20 74 68 65 20 56 54 35 32 20 65 6D ;Get the VT52 em
000020: 75 6C 61 74 69 6F 6E 20 66 6C 61 67 2E 0D 0A 09 ulation flag....
000030: 63 70 69 09 31 09 09 3B 49 73 20 74 68 65 20 66 cpi.1..;Is the f
000040: 6C 61 67 20 73 65 74 3F 0D 0A 09 6A 6E 7A 09 70 lag set?...jnz.p
000050: 72 74 63 68 31 09 09 3B 49 66 20 6E 6F 74 2C 20 rtch1..;If not,
000060: 64 6F 6E 27 74 20 64 6F 20 74 68 69 73 20 73 74 don't do this st
000070: 75 66 66 2E 0D 0A 09 6C 64 61 09 65 73 63 66 6C uff....lda.escfl
000080: 67 09 09 3B 47 65 74 20 74 68 65 20 65 73 63 61 g..;Get the esca
000090: 70 65 20 66 6C 61 67 2E 0D 0A 09 6F 72 61 09 61 pe flag....ora.a
0000A0: 09 09 3B 41 72 65 20 77 65 20 77 6F 72 6B 69 6E ..;Are we workin
0000B0: 67 20 6F 6E 20 61 6E 20 65 73 63 61 70 65 20 73 g on an escape s
0000C0: 65 71 75 65 6E 63 65 3F 0D 0A 09 6A 7A 09 70 72 equence?...jz.pr
0000D0: 74 63 68 32 09 09 3B 49 66 20 6E 6F 74 2C 20 63 tch2..;If not, c
0000E0: 6F 6E 74 69 6E 75 65 2E 0D 0A 09 63 61 6C 6C 09 ontinue....call.
0000F0: 76 74 35 32 09 09 3B 49 66 20 73 6F 2C 20 77 6F vt52..;If so, wo
000100: 72 6B 20 6F 6E 20 69 74 20 73 6F 6D 65 20 6D 6F rk on it some mo
000110: 72 65 0D 0A 09 6A 6D 70 09 70 72 74 63 68 72 09 re...jmp.prtchr.
000120: 09 3B 74 72 79 20 66 6F 72 20 6D 6F 72 65 20 63 .;try for more c
000130: 68 61 72 61 63 74 65 72 73 2E 0D 0A 0D 0A 70 72 haracters.....pr
000140: 74 63 68 32 3A 09 6D 6F 76 09 61 2C 65 09 09 3B tch2:.mov.a,e..;
000150: 6E 6F 72 6D 61 6C 20 74 65 78 74 2E 0D 0A 09 63 normal text....c
000160: 70 69 09 65 73 63 09 09 3B 49 73 20 74 68 65 20 pi.esc..;Is the
000170: 63 68 61 72 20 61 6E 20 65 73 63 61 70 65 3F 0D char an escape?.
000180: 0A 09 6A 6E 7A 09 70 72 74 63 68 31 09 09 3B 49 ..jnz.prtch1..;I
000190: 66 20 6E 6F 74 20 73 6B 69 70 20 6F 6E 2E 0D 0A f not skip on...
0001A0: 09 6D 76 69 09 61 2C 31 0D 0A 09 73 74 61 09 65 .mvi.a,1...sta.e
0001B0: 73 63 66 6C 67 09 09 3B 53 65 74 20 74 68 65 20 scflg..;Set the
0001C0: 65 73 63 61 70 65 20 66 6C 61 67 3A 20 65 73 63 escape flag: esc
0001D0: 61 70 65 20 73 65 65 6E 2E 0D 0A 09 6A 6D 70 09 ape seen....jmp.
0001E0: 70 72 74 63 68 72 09 09 3B 47 65 74 20 61 6E 6F prtchr..;Get ano
0001F0: 74 68 65 72 20 63 68 61 72 2E 2E 2E 0D 0A 0D 0A ther char.......
Size : 512 (Real : 512)
000000: 09 6A 7A 09 78 6E 65 78 74 09 09 3B 59 65 73 2C .jz.xnext..;Yes,
000010: 20 70 72 65 70 61 72 65 20 74 6F 20 73 65 6E 64 prepare to send
000020: 20 6E 65 78 74 20 6C 69 6E 65 2E 0D 0A 09 6A 6D next line....jm
000030: 70 09 78 6D 69 74 35 30 09 09 3B 43 6F 6E 74 69 p.xmit50..;Conti
000040: 6E 75 65 2C 20 75 6E 74 69 6C 20 63 61 72 72 69 nue, until carri
000050: 61 67 65 20 72 65 74 75 72 6E 2E 0D 0A 3B 0C 0D age return...;..
000060: 0A 3B 09 63 6C 65 61 6E 20 75 70 2E 0D 0A 3B 20 .;.clean up...;
000070: 20 20 78 65 6E 64 20 2D 20 65 6E 64 20 6F 66 20 xend - end of
000080: 66 69 6C 65 20 72 65 61 63 68 65 64 2E 20 63 6C file reached. cl
000090: 6F 73 65 20 66 69 6C 65 2C 20 67 6F 20 74 6F 20 ose file, go to
0000A0: 63 6F 6E 6E 65 63 74 20 6D 6F 64 65 2E 0D 0A 3B connect mode...;
0000B0: 09 68 65 72 65 20 66 72 6F 6D 3A 20 78 6E 65 78 .here from: xnex
0000C0: 74 2E 0D 0A 3B 20 20 20 78 65 6E 64 63 20 2D 20 t...; xendc -
0000D0: 75 73 65 72 20 77 61 6E 74 73 20 6F 75 74 2E 20 user wants out.
0000E0: 63 6C 6F 73 65 20 66 69 6C 65 2C 20 67 6F 20 74 close file, go t
0000F0: 6F 20 63 6F 6D 6D 61 6E 64 20 6D 6F 64 65 2E 0D o command mode..
000100: 0A 3B 09 68 65 72 65 20 66 72 6F 6D 3A 20 72 65 .;.here from: re
000110: 78 6D 69 74 2E 0D 0A 0D 0A 78 65 6E 64 3A 09 63 xmit.....xend:.c
000120: 61 6C 6C 09 78 6D 74 6F 66 66 09 09 3B 43 6C 6F all.xmtoff..;Clo
000130: 73 65 20 66 69 6C 65 2C 20 65 74 63 2E 0D 0A 09 se file, etc....
000140: 6C 78 69 09 64 2C 69 6E 6D 73 32 32 09 3B 54 65 lxi.d,inms22.;Te
000150: 6C 6C 20 77 65 27 72 65 20 64 6F 6E 65 20 77 69 ll we're done wi
000160: 74 68 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 0D th transmission.
000170: 0A 09 6A 6D 70 09 74 65 6C 6E 74 31 09 09 3B 42 ..jmp.telnt1..;B
000180: 72 61 6E 63 68 20 74 6F 20 43 4F 4E 4E 45 43 54 ranch to CONNECT
000190: 20 63 6F 6D 6D 61 6E 64 2E 0D 0A 0D 0A 78 65 6E command.....xen
0001A0: 64 63 3A 09 63 61 6C 6C 09 78 6D 74 6F 66 66 09 dc:.call.xmtoff.
0001B0: 09 3B 43 6C 6F 73 65 20 66 69 6C 65 2C 20 65 74 .;Close file, et
0001C0: 63 2E 0D 0A 09 6A 6D 70 09 6B 65 72 6D 69 74 09 c....jmp.kermit.
0001D0: 09 3B 42 61 63 6B 20 74 6F 20 63 6F 6D 6D 61 6E .;Back to comman
0001E0: 64 20 6C 6F 6F 70 2E 0D 0A 0D 0A 78 6D 74 6F 66 d loop.....xmtof
0001F0: 66 3A 09 6D 76 69 09 63 2C 63 6C 6F 73 66 09 09 f:.mvi.c,closf..
Size : 512 (Real : 512)
000000: 70 72 74 63 68 31 3A 09 63 61 6C 6C 09 73 79 73 prtch1:.call.sys
000010: 66 6C 74 09 09 3B 20 6F 6B 20 74 6F 20 70 72 69 flt..; ok to pri
000020: 6E 74 20 74 68 69 73 20 63 68 61 72 61 63 74 65 nt this characte
000030: 72 20 28 69 6E 20 45 29 3F 0D 0A 09 6F 72 61 09 r (in E)?...ora.
000040: 61 0D 0A 09 6A 7A 09 70 72 74 63 68 72 09 09 3B a...jz.prtchr..;
000050: 20 6E 6F 2C 20 73 6B 69 70 20 69 74 2E 0D 0A 09 no, skip it....
000060: 6C 64 61 09 6C 6F 67 66 6C 67 09 09 3B 47 65 74 lda.logflg..;Get
000070: 20 74 68 65 20 6C 6F 67 20 66 6C 61 67 2E 0D 0A the log flag...
000080: 09 63 70 69 09 38 31 48 09 09 3B 5B 70 63 63 30 .cpi.81H..;[pcc0
000090: 30 33 5D 20 41 72 65 20 77 65 20 6C 6F 67 67 69 03] Are we loggi
0000A0: 6E 67 0D 0A 09 63 7A 09 6C 6F 67 69 74 09 09 3B ng...cz.logit..;
0000B0: 5B 70 63 63 30 30 33 5D 20 44 6F 20 73 6F 20 69 [pcc003] Do so i
0000C0: 66 20 6E 65 65 64 65 64 0D 0A 09 63 61 6C 6C 09 f needed...call.
0000D0: 73 65 6C 63 6F 6E 09 09 3B 20 73 65 6C 65 63 74 selcon..; select
0000E0: 20 63 6F 6E 73 6F 6C 65 0D 0A 09 6C 64 61 09 70 console...lda.p
0000F0: 72 6E 66 6C 67 09 09 3B 47 65 74 20 50 72 69 6E rnflg..;Get Prin
000100: 74 20 70 61 72 61 6C 6C 65 6C 20 66 6C 61 67 0D t parallel flag.
000110: 0A 09 6F 72 61 09 61 0D 0A 09 63 6E 7A 09 6F 75 ..ora.a...cnz.ou
000120: 74 6C 70 74 09 09 3B 20 6F 75 74 70 75 74 20 74 tlpt..; output t
000130: 6F 20 70 72 69 6E 74 65 72 20 69 66 20 66 6C 61 o printer if fla
000140: 67 20 73 65 74 0D 0A 09 63 61 6C 6C 09 6F 75 74 g set...call.out
000150: 63 6F 6E 09 09 3B 20 6F 75 74 70 75 74 20 74 6F con..; output to
000160: 20 63 6F 6E 73 6F 6C 65 2E 0D 0A 09 6C 78 69 09 console....lxi.
000170: 68 2C 70 72 74 63 6E 74 09 3B 5B 70 63 63 30 30 h,prtcnt.;[pcc00
000180: 38 5D 20 70 6F 69 6E 74 20 74 6F 20 70 72 74 20 8] point to prt
000190: 66 61 69 72 6E 65 73 73 20 63 6F 75 6E 74 0D 0A fairness count..
0001A0: 09 69 6E 72 09 6D 09 09 3B 5B 70 63 63 30 30 38 .inr.m..;[pcc008
0001B0: 5D 20 62 75 6D 70 0D 0A 09 6D 6F 76 09 61 2C 6D ] bump...mov.a,m
0001C0: 09 09 3B 5B 70 63 63 30 30 38 5D 20 67 65 74 20 ..;[pcc008] get
0001D0: 69 74 20 69 6E 20 61 0D 0A 09 63 70 69 09 70 72 it in a...cpi.pr
0001E0: 66 61 69 72 2B 31 09 3B 5B 70 63 63 30 30 38 5D fair+1.;[pcc008]
0001F0: 20 74 69 6D 65 20 74 6F 20 62 65 20 66 61 69 72 time to be fair
Size : 512 (Real : 512)
000000: 20 74 68 65 20 68 6F 73 74 20 77 68 69 6C 65 20 the host while
000010: 77 65 20 77 72 69 74 65 20 74 68 65 20 62 75 66 we write the buf
000020: 66 65 72 2E 0D 0A 09 63 61 6C 6C 09 73 65 74 70 fer....call.setp
000030: 61 72 09 09 3B 20 73 65 74 20 63 6F 72 72 65 63 ar..; set correc
000040: 74 20 70 61 72 69 74 79 2E 2E 2E 0D 0A 09 6D 6F t parity......mo
000050: 76 09 65 2C 61 0D 0A 09 63 61 6C 6C 09 6F 75 74 v.e,a...call.out
000060: 6D 64 6D 09 09 3B 20 6F 75 74 70 75 74 20 69 74 mdm..; output it
000070: 2E 0D 0A 09 63 61 6C 6C 09 6F 75 74 62 75 66 09 ....call.outbuf.
000080: 09 3B 5B 70 63 63 30 31 32 5D 20 6F 75 74 70 75 .;[pcc012] outpu
000090: 74 20 74 68 65 20 62 75 66 66 65 72 20 61 6E 64 t the buffer and
0000A0: 20 61 64 76 61 6E 63 65 0D 0A 09 63 61 6C 6C 09 advance...call.
0000B0: 6C 6F 67 65 72 72 09 09 3B 5B 70 63 63 30 30 35 logerr..;[pcc005
0000C0: 5D 20 71 75 69 74 20 69 66 20 65 72 72 6F 72 0D ] quit if error.
0000D0: 0A 09 6D 76 69 09 61 2C 78 6F 6E 09 09 3B 5E 51 ..mvi.a,xon..;^Q
0000E0: 20 74 6F 20 72 65 73 74 61 72 74 20 74 68 65 20 to restart the
0000F0: 68 6F 73 74 0D 0A 09 63 61 6C 6C 09 73 65 74 70 host...call.setp
000100: 61 72 09 09 3B 20 73 65 74 20 61 70 70 72 6F 70 ar..; set approp
000110: 72 69 61 74 65 20 70 61 72 69 74 79 0D 0A 09 6D riate parity...m
000120: 6F 76 09 65 2C 61 0D 0A 09 63 61 6C 6C 09 6F 75 ov.e,a...call.ou
000130: 74 6D 64 6D 09 09 3B 20 73 65 6E 64 20 69 74 2E tmdm..; send it.
000140: 0D 0A 09 72 65 74 09 09 09 3B 5B 70 63 63 30 31 ...ret...;[pcc01
000150: 32 5D 0D 0A 0D 0A 3B 5B 70 63 63 30 30 35 5D 0D 2]....;[pcc005].
000160: 0A 3B 09 6C 6F 67 63 6C 73 20 2D 20 43 6C 6F 73 .;.logcls - Clos
000170: 65 20 74 68 65 20 6C 6F 67 20 66 69 6C 65 20 61 e the log file a
000180: 6E 64 20 72 65 73 65 74 20 74 68 65 20 66 6C 61 nd reset the fla
000190: 67 0D 0A 0D 0A 6C 6F 67 63 6C 73 3A 09 6C 78 69 g....logcls:.lxi
0001A0: 09 64 2C 69 6E 66 6D 73 36 09 3B 5B 70 63 63 30 .d,infms6.;[pcc0
0001B0: 30 35 5D 20 54 65 6C 6C 20 75 73 65 72 20 77 65 05] Tell user we
0001C0: 20 61 72 65 20 63 6C 6F 73 69 6E 67 20 66 69 6C are closing fil
0001D0: 65 2E 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 e....call.prtstr
0001E0: 09 09 3B 5B 70 63 63 30 30 35 5D 0D 0A 09 63 61 ..;[pcc005]...ca
0001F0: 6C 6C 09 63 6C 6F 66 69 6C 09 09 3B 5B 70 63 63 ll.clofil..;[pcc
Size : 512 (Real : 512)
000000: 3F 0D 0A 09 6A 6D 09 70 72 74 63 68 72 09 09 3B ?...jm.prtchr..;
000010: 5B 70 63 63 30 30 38 5D 20 6E 6F 2C 20 67 6F 20 [pcc008] no, go
000020: 61 72 6F 75 6E 64 20 61 67 61 69 6E 2E 0D 0A 09 around again....
000030: 6D 76 69 09 6D 2C 30 09 09 3B 5B 70 63 63 30 30 mvi.m,0..;[pcc00
000040: 38 5D 20 72 65 73 65 74 20 63 6F 75 6E 74 0D 0A 8] reset count..
000050: 09 72 65 74 09 09 09 3B 5B 70 63 63 30 30 38 5D .ret...;[pcc008]
000060: 20 61 6E 64 20 72 65 74 75 72 6E 0D 0A 0D 0A 3B and return....;
000070: 20 49 20 64 6F 6E 27 74 20 74 68 69 6E 6B 20 77 I don't think w
000080: 65 20 77 61 6E 74 20 74 6F 20 70 72 69 6E 74 20 e want to print
000090: 78 6F 6E 2F 78 6F 66 66 20 2D 20 74 68 69 73 20 xon/xoff - this
0000A0: 73 68 6F 75 6C 64 20 62 65 0D 0A 3B 20 66 6C 6F should be..; flo
0000B0: 77 20 63 6F 6E 74 72 6F 6C 20 6F 6E 6C 79 20 61 w control only a
0000C0: 63 72 6F 73 73 20 74 68 65 20 6C 69 6E 6B 20 62 cross the link b
0000D0: 65 74 77 65 65 6E 20 75 73 20 61 6E 64 20 74 68 etween us and th
0000E0: 65 20 68 6F 73 74 2E 0D 0A 3B 20 28 62 65 73 69 e host...; (besi
0000F0: 64 65 73 2C 20 49 42 4D 20 68 6F 73 74 20 78 6F des, IBM host xo
000100: 6E 27 73 20 64 6F 6E 27 74 20 6D 61 6B 65 20 73 n's don't make s
000110: 65 6E 73 65 20 74 6F 20 6D 6F 73 74 20 6D 69 63 ense to most mic
000120: 72 6F 73 29 0D 0A 3B 20 72 65 6D 65 6D 62 65 72 ros)..; remember
000130: 20 78 6F 6E 2F 78 6F 66 66 20 73 74 61 74 65 20 xon/xoff state
000140: 69 6E 20 78 6F 66 66 6C 67 20 28 7A 65 72 6F 20 in xofflg (zero
000150: 3D 20 78 6F 6E 2C 20 6E 6F 6E 2D 7A 65 72 6F 20 = xon, non-zero
000160: 3D 20 78 6F 66 66 29 0D 0A 70 72 74 78 6F 6E 3A = xoff)..prtxon:
000170: 09 78 72 61 09 61 09 09 3B 59 65 73 2C 20 72 65 .xra.a..;Yes, re
000180: 73 65 74 20 58 4F 46 46 20 66 6C 61 67 0D 0A 70 set XOFF flag..p
000190: 72 74 78 6F 66 3A 09 73 74 61 09 78 6F 66 66 6C rtxof:.sta.xoffl
0001A0: 67 0D 0A 09 6A 6D 70 09 70 72 74 63 68 72 09 09 g...jmp.prtchr..
0001B0: 3B 20 6C 6F 6F 6B 20 66 6F 72 20 61 6E 6F 74 68 ; look for anoth
0001C0: 65 72 20 63 68 61 72 61 63 74 65 72 0D 0A 3B 0C er character..;.
0001D0: 3B 5B 70 63 63 30 30 35 5D 20 4C 6F 67 20 66 69 ;[pcc005] Log fi
0001E0: 6C 65 20 72 6F 75 74 69 6E 65 73 0D 0A 0D 0A 3B le routines....;
0001F0: 5B 70 63 63 30 30 35 5D 0D 0A 3B 20 20 20 20 6C [pcc005]..; l
Size : 512 (Real : 512)
000000: 30 31 32 5D 20 61 6E 64 20 64 6F 20 69 74 0D 0A 012] and do it..
000010: 09 6A 6D 70 09 6C 6F 67 65 72 72 09 09 3B 5B 70 .jmp.logerr..;[p
000020: 63 63 30 30 35 5D 20 6A 75 6D 70 20 69 66 20 65 cc005] jump if e
000030: 72 72 6F 72 0D 0A 09 6C 78 69 09 68 2C 6C 6F 67 rror...lxi.h,log
000040: 66 6C 67 09 3B 5B 70 63 63 30 30 35 5D 20 70 6F flg.;[pcc005] po
000050: 69 6E 74 20 74 6F 20 66 6C 61 67 0D 0A 09 6D 6F int to flag...mo
000060: 76 09 61 2C 6D 09 09 3B 5B 70 63 63 30 30 35 5D v.a,m..;[pcc005]
000070: 20 67 65 74 20 69 74 0D 0A 09 61 6E 69 09 37 46 get it...ani.7F
000080: 48 09 09 3B 5B 70 63 63 30 30 35 5D 20 63 6C 65 H..;[pcc005] cle
000090: 61 72 20 74 68 65 20 6F 70 65 6E 20 62 69 74 0D ar the open bit.
0000A0: 0A 09 6D 6F 76 09 6D 2C 61 09 09 3B 5B 70 63 63 ..mov.m,a..;[pcc
0000B0: 30 30 35 5D 20 61 6E 64 20 73 74 6F 72 65 20 62 005] and store b
0000C0: 61 63 6B 0D 0A 09 72 65 74 09 09 09 3B 5B 70 63 ack...ret...;[pc
0000D0: 63 30 30 35 5D 0D 0A 0D 0A 3B 5B 70 63 63 30 30 c005]....;[pcc00
0000E0: 35 5D 0D 0A 3B 20 20 20 20 6C 6F 67 65 72 72 20 5]..; logerr
0000F0: 2D 20 68 65 72 65 20 6F 6E 20 61 20 76 61 72 69 - here on a vari
000100: 65 74 79 20 6F 66 20 6C 6F 67 67 69 6E 67 20 65 ety of logging e
000110: 72 72 6F 72 73 0D 0A 3B 09 6A 75 73 74 20 63 6C rrors..;.just cl
000120: 6F 73 65 20 74 68 65 20 66 69 6C 65 20 61 6E 64 ose the file and
000130: 20 64 69 73 61 62 6C 65 20 6C 6F 67 67 69 6E 67 disable logging
000140: 0D 0A 3B 09 63 61 6C 6C 65 64 20 66 72 6F 6D 20 ..;.called from
000150: 6C 6F 67 6F 70 6E 2C 6C 6F 67 70 74 72 2C 6C 6F logopn,logptr,lo
000160: 67 63 6C 73 0D 0A 0D 0A 6C 6F 67 65 72 72 3A 09 gcls....logerr:.
000170: 6C 78 69 09 64 2C 65 72 6D 73 32 32 09 3B 5B 70 lxi.d,erms22.;[p
000180: 63 63 30 30 35 5D 20 45 72 72 6F 72 20 6D 65 73 cc005] Error mes
000190: 73 61 67 65 0D 0A 09 63 61 6C 6C 09 70 72 74 73 sage...call.prts
0001A0: 74 72 09 09 3B 5B 70 63 63 30 30 35 5D 20 70 72 tr..;[pcc005] pr
0001B0: 69 6E 74 20 69 74 0D 0A 09 6D 76 69 09 63 2C 63 int it...mvi.c,c
0001C0: 6C 6F 73 66 09 09 3B 5B 70 63 63 30 30 35 5D 20 losf..;[pcc005]
0001D0: 43 6C 6F 73 65 20 74 68 65 20 66 69 6C 65 2E 0D Close the file..
0001E0: 0A 09 6C 78 69 09 64 2C 66 63 62 09 09 3B 5B 70 ..lxi.d,fcb..;[p
0001F0: 63 63 30 31 32 5D 0D 0A 09 63 61 6C 6C 09 62 64 cc012]...call.bd
Size : 512 (Real : 512)
000000: 6F 67 6F 70 6E 20 2D 20 6F 70 65 6E 20 74 68 65 ogopn - open the
000010: 20 6C 6F 67 20 66 69 6C 65 0D 0A 3B 09 4F 70 65 log file..;.Ope
000020: 6E 20 74 68 65 20 6C 6F 67 20 66 69 6C 65 20 61 n the log file a
000030: 6E 64 20 61 70 70 65 6E 64 20 74 6F 20 69 74 20 nd append to it
000040: 69 66 20 69 74 20 61 6C 72 65 61 64 79 20 65 78 if it already ex
000050: 69 73 74 73 0D 0A 3B 09 6F 72 20 63 72 65 61 74 ists..;.or creat
000060: 65 20 6F 6E 65 20 69 66 20 6E 6F 74 2E 0D 0A 0D e one if not....
000070: 0A 6C 6F 67 6F 70 6E 3A 09 6C 78 69 09 68 2C 6C .logopn:.lxi.h,l
000080: 6F 67 6E 61 6D 09 3B 5B 70 63 63 30 31 32 5D 20 ognam.;[pcc012]
000090: 63 6F 70 79 20 6E 61 6D 65 0D 0A 09 6C 78 69 09 copy name...lxi.
0000A0: 64 2C 66 63 62 09 09 3B 5B 70 63 63 30 31 32 5D d,fcb..;[pcc012]
0000B0: 20 74 6F 20 66 63 62 0D 0A 09 6C 78 69 09 62 2C to fcb...lxi.b,
0000C0: 31 32 09 09 3B 5B 70 63 63 30 31 32 5D 20 31 32 12..;[pcc012] 12
0000D0: 20 62 79 74 65 73 0D 0A 09 63 61 6C 6C 09 6D 6F bytes...call.mo
0000E0: 76 65 72 09 09 3B 5B 70 63 63 30 31 32 5D 20 63 ver..;[pcc012] c
0000F0: 6F 70 79 20 69 74 0D 0A 09 63 61 6C 6C 09 61 70 opy it...call.ap
000100: 70 66 69 6C 09 09 3B 5B 70 63 63 30 31 32 5D 20 pfil..;[pcc012]
000110: 6F 70 65 6E 20 66 69 6C 65 20 66 6F 72 20 61 70 open file for ap
000120: 70 65 6E 64 69 6E 67 0D 0A 09 6A 6D 70 09 6C 6F pending...jmp.lo
000130: 67 65 72 72 09 09 3B 5B 70 63 63 30 31 32 5D 20 gerr..;[pcc012]
000140: 65 72 72 6F 72 0D 0A 09 6C 78 69 09 68 2C 6C 6F error...lxi.h,lo
000150: 67 66 6C 67 09 3B 5B 70 63 63 30 30 35 5D 20 70 gflg.;[pcc005] p
000160: 6F 69 6E 74 20 74 6F 20 6C 6F 67 20 66 6C 61 67 oint to log flag
000170: 0D 0A 09 6D 76 69 09 61 2C 38 30 48 09 09 3B 5B ...mvi.a,80H..;[
000180: 70 63 63 30 30 35 5D 20 66 69 6C 65 20 6F 70 65 pcc005] file ope
000190: 6E 20 66 6C 61 67 0D 0A 09 6F 72 61 09 6D 09 09 n flag...ora.m..
0001A0: 3B 5B 70 63 63 30 30 35 5D 20 6F 72 20 69 6E 20 ;[pcc005] or in
0001B0: 63 6F 6E 74 65 6E 74 73 20 6F 66 20 6C 6F 67 66 contents of logf
0001C0: 6C 67 0D 0A 09 6D 6F 76 09 6D 2C 61 09 09 3B 5B lg...mov.m,a..;[
0001D0: 70 63 63 30 30 35 5D 20 61 6E 64 20 73 74 6F 72 pcc005] and stor
0001E0: 65 20 62 61 63 6B 0D 0A 09 6C 78 69 09 64 2C 69 e back...lxi.d,i
0001F0: 6E 6D 73 32 38 09 3B 5B 70 63 63 30 30 35 5D 20 nms28.;[pcc005]
Size : 512 (Real : 512)
000000: 6F 73 09 09 3B 5B 70 63 63 30 30 35 5D 0D 0A 09 os..;[pcc005]...
000010: 78 72 61 09 61 09 09 3B 5B 70 63 63 30 30 35 5D xra.a..;[pcc005]
000020: 20 63 6C 65 61 72 20 6C 6F 67 66 6C 67 0D 0A 09 clear logflg...
000030: 73 74 61 09 6C 6F 67 66 6C 67 09 09 3B 5B 70 63 sta.logflg..;[pc
000040: 63 30 30 35 5D 20 73 6F 20 64 6F 6E 27 74 20 74 c005] so don't t
000050: 72 79 20 61 67 61 69 6E 0D 0A 09 72 65 74 09 09 ry again...ret..
000060: 09 3B 5B 70 63 63 30 30 35 5D 0D 0A 3B 0C 0D 0A .;[pcc005]..;...
000070: 3B 0D 0A 3B 09 56 54 35 32 20 65 6D 75 6C 61 74 ;..;.VT52 emulat
000080: 69 6F 6E 2E 0D 0A 3B 09 63 61 6C 6C 65 64 20 62 ion...;.called b
000090: 79 3A 20 70 72 74 63 68 72 0D 0A 3B 09 41 2F 20 y: prtchr..;.A/
0000A0: 63 6F 6E 74 65 6E 74 73 20 6F 66 20 65 73 63 66 contents of escf
0000B0: 6C 67 20 28 67 75 61 72 61 6E 74 65 65 64 20 6E lg (guaranteed n
0000C0: 6F 6E 2D 7A 65 72 6F 29 0D 0A 3B 09 45 2F 20 63 on-zero)..;.E/ c
0000D0: 75 72 72 65 6E 74 20 63 68 61 72 61 63 74 65 72 urrent character
0000E0: 0D 0A 3B 09 6D 6F 64 65 6D 20 69 73 20 73 65 6C ..;.modem is sel
0000F0: 65 63 74 65 64 2E 0D 0A 3B 0D 0A 76 74 35 32 3A ected...;..vt52:
000100: 09 63 70 69 09 31 09 09 3B 20 66 69 72 73 74 20 .cpi.1..; first
000110: 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 character after
000120: 65 73 63 61 70 65 3F 0D 0A 09 6A 6E 7A 09 76 74 escape?...jnz.vt
000130: 35 32 79 09 09 3B 20 6E 6F 2C 20 6D 75 73 74 20 52y..; no, must
000140: 62 65 20 64 6F 69 6E 67 20 63 75 72 73 6F 72 20 be doing cursor
000150: 70 6F 73 69 74 69 6F 6E 69 6E 67 2E 0D 0A 3B 0D positioning...;.
000160: 0A 3B 09 45 20 63 6F 6E 74 61 69 6E 73 20 74 68 .;.E contains th
000170: 65 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 e character that
000180: 20 66 6F 6C 6C 6F 77 65 64 20 74 68 65 20 65 73 followed the es
000190: 63 61 70 65 2E 0D 0A 3B 09 76 61 6C 69 64 20 63 cape...;.valid c
0001A0: 68 61 72 61 63 74 65 72 73 20 61 72 65 3A 0D 0A haracters are:..
0001B0: 3B 09 41 20 2D 20 63 75 72 73 6F 72 20 75 70 0D ;.A - cursor up.
0001C0: 0A 3B 09 42 20 2D 20 63 75 72 73 6F 72 20 64 6F .;.B - cursor do
0001D0: 77 6E 0D 0A 3B 09 43 20 2D 20 63 75 72 73 6F 72 wn..;.C - cursor
0001E0: 20 72 69 67 68 74 0D 0A 3B 09 44 20 2D 20 63 75 right..;.D - cu
0001F0: 72 73 6F 72 20 6C 65 66 74 0D 0A 3B 09 46 20 2D rsor left..;.F -
Size : 512 (Real : 512)
000000: 61 73 73 75 6D 65 20 6C 6F 67 67 69 6E 67 20 69 assume logging i
000010: 73 20 6F 6E 0D 0A 09 63 70 69 09 38 31 48 09 09 s on...cpi.81H..
000020: 3B 5B 70 63 63 30 30 35 5D 20 63 68 65 63 6B 0D ;[pcc005] check.
000030: 0A 09 6A 7A 09 70 72 74 73 74 72 09 09 3B 5B 70 ..jz.prtstr..;[p
000040: 63 63 30 30 35 5D 20 70 72 69 6E 74 20 6D 73 67 cc005] print msg
000050: 20 69 66 20 74 72 75 65 0D 0A 09 6C 78 69 09 64 if true...lxi.d
000060: 2C 69 6E 6D 73 32 37 09 3B 5B 70 63 63 30 30 35 ,inms27.;[pcc005
000070: 5D 20 6E 6F 2C 20 6D 75 73 74 20 62 65 20 73 75 ] no, must be su
000080: 73 70 65 6E 64 65 64 0D 0A 09 6A 6D 70 09 70 72 spended...jmp.pr
000090: 74 73 74 72 09 09 3B 5B 70 63 63 30 30 35 5D 20 tstr..;[pcc005]
0000A0: 70 72 69 6E 74 20 61 6E 64 20 72 65 74 75 72 6E print and return
0000B0: 0D 0A 0D 0A 3B 0D 0A 3B 09 6C 6F 67 69 74 20 2D ....;..;.logit -
0000C0: 20 6F 75 74 70 75 74 20 63 68 61 72 61 63 74 65 output characte
0000D0: 72 20 69 6E 20 45 20 74 6F 20 6C 6F 67 20 66 69 r in E to log fi
0000E0: 6C 65 2E 0D 0A 3B 09 77 65 20 61 73 73 75 6D 65 le...;.we assume
0000F0: 20 74 68 65 20 68 6F 73 74 20 72 65 63 6F 67 6E the host recogn
000100: 69 7A 65 73 20 78 6F 6E 2F 78 6F 66 66 2E 20 28 izes xon/xoff. (
000110: 77 65 20 70 72 6F 62 61 62 6C 79 20 73 68 6F 75 we probably shou
000120: 6C 64 6E 27 74 29 0D 0A 3B 09 6D 6F 64 65 6D 20 ldn't)..;.modem
000130: 70 6F 72 74 20 69 73 20 73 65 6C 65 63 74 65 64 port is selected
000140: 2E 0D 0A 3B 09 70 72 65 73 65 72 76 65 73 20 64 ...;.preserves d
000150: 65 0D 0A 3B 09 63 61 6C 6C 65 64 20 62 79 3A 20 e..;.called by:
000160: 70 72 74 63 68 72 0D 0A 0D 0A 6C 6F 67 69 74 3A prtchr....logit:
000170: 09 6C 78 69 09 68 2C 63 68 72 63 6E 74 09 3B 5B .lxi.h,chrcnt.;[
000180: 70 63 63 30 31 32 5D 20 70 6F 69 6E 74 20 74 6F pcc012] point to
000190: 20 62 75 66 66 65 72 20 63 6F 75 6E 74 0D 0A 09 buffer count...
0001A0: 64 63 72 09 6D 09 09 3B 5B 70 63 63 30 31 32 5D dcr.m..;[pcc012]
0001B0: 20 61 6E 64 20 64 65 63 72 65 6D 65 6E 74 0D 0A and decrement..
0001C0: 09 6A 70 09 6C 6F 67 69 74 31 09 09 3B 5B 70 63 .jp.logit1..;[pc
0001D0: 63 30 31 32 5D 20 63 6F 6E 74 69 6E 75 65 20 69 c012] continue i
0001E0: 66 20 6F 6B 0D 0A 09 70 75 73 68 09 64 09 09 3B f ok...push.d..;
0001F0: 5B 70 63 63 30 31 32 5D 20 73 61 76 65 20 64 65 [pcc012] save de
Size : 512 (Real : 512)
000000: 20 65 6E 74 65 72 20 67 72 61 70 68 69 63 73 20 enter graphics
000010: 6D 6F 64 65 20 28 68 61 72 64 20 74 6F 20 64 6F mode (hard to do
000020: 20 6F 6E 20 61 20 6E 6F 6E 2D 76 74 35 32 29 0D on a non-vt52).
000030: 0A 3B 09 47 20 2D 20 65 78 69 74 20 67 72 61 70 .;.G - exit grap
000040: 68 69 63 73 20 6D 6F 64 65 0D 0A 3B 09 48 20 2D hics mode..;.H -
000050: 20 68 6F 6D 65 0D 0A 3B 09 49 20 2D 20 72 65 76 home..;.I - rev
000060: 65 72 73 65 20 6C 69 6E 65 66 65 65 64 0D 0A 3B erse linefeed..;
000070: 09 4A 20 2D 20 65 72 61 73 65 20 74 6F 20 65 6E .J - erase to en
000080: 64 20 6F 66 20 73 63 72 65 65 6E 0D 0A 3B 09 4B d of screen..;.K
000090: 20 2D 20 65 72 61 73 65 20 74 6F 20 65 6E 64 20 - erase to end
0000A0: 6F 66 20 6C 69 6E 65 0D 0A 3B 09 59 20 2D 20 63 of line..;.Y - c
0000B0: 75 72 73 6F 72 20 70 6F 73 69 74 69 6F 6E 69 6E ursor positionin
0000C0: 67 20 6C 65 61 64 69 6E 0D 0A 3B 09 5A 20 2D 20 g leadin..;.Z -
0000D0: 69 64 65 6E 74 69 66 79 20 74 65 72 6D 69 6E 61 identify termina
0000E0: 6C 20 61 73 20 56 54 35 32 0D 0A 3B 09 5B 20 2D l as VT52..;.[ -
0000F0: 20 65 6E 74 65 72 20 68 6F 6C 64 2D 73 63 72 65 enter hold-scre
000100: 65 6E 20 6D 6F 64 65 20 28 6E 6F 74 20 73 75 70 en mode (not sup
000110: 70 6F 72 74 65 64 29 0D 0A 3B 09 5C 20 2D 20 65 ported)..;.\ - e
000120: 78 69 74 20 68 6F 6C 64 2D 73 63 72 65 65 6E 20 xit hold-screen
000130: 6D 6F 64 65 20 28 6E 6F 74 20 73 75 70 70 6F 72 mode (not suppor
000140: 74 65 64 29 0D 0A 3B 09 3E 20 2D 20 65 6E 74 65 ted)..;.> - ente
000150: 72 20 61 6C 74 65 72 6E 61 74 65 2D 6B 65 79 70 r alternate-keyp
000160: 61 64 20 6D 6F 64 65 3F 20 28 6E 6F 74 20 73 75 ad mode? (not su
000170: 70 70 6F 72 74 65 64 29 0D 0A 3B 09 3D 20 2D 20 pported)..;.= -
000180: 65 78 69 74 20 61 6C 74 65 72 6E 61 74 65 2D 6B exit alternate-k
000190: 65 79 70 61 64 20 6D 6F 64 65 3F 20 28 6E 6F 74 eypad mode? (not
0001A0: 20 73 75 70 70 6F 72 74 65 64 29 0D 0A 3B 0D 0A supported)..;..
0001B0: 3B 09 49 6E 76 61 6C 69 64 20 73 65 71 75 65 6E ;.Invalid sequen
0001C0: 63 65 73 20 61 72 65 20 68 61 6E 64 6C 65 64 20 ces are handled
0001D0: 61 73 20 74 68 65 20 56 54 35 32 20 64 6F 65 73 as the VT52 does
0001E0: 20 2D 20 74 68 65 20 65 73 63 61 70 65 20 61 6E - the escape an
0001F0: 64 0D 0A 3B 09 74 68 65 20 66 6F 6C 6C 6F 77 69 d..;.the followi
Size : 512 (Real : 512)
000000: 0D 0A 09 63 61 6C 6C 09 6F 75 74 61 64 76 09 09 ...call.outadv..
000010: 3B 5B 70 63 63 30 31 32 5D 20 61 64 76 61 6E 63 ;[pcc012] advanc
000020: 65 20 62 75 66 66 65 72 20 69 66 20 69 6E 20 6D e buffer if in m
000030: 65 6D 6F 72 79 0D 0A 09 63 61 6C 6C 09 6C 6F 67 emory...call.log
000040: 77 72 74 09 09 3B 5B 70 63 63 30 31 32 5D 20 73 wrt..;[pcc012] s
000050: 69 67 68 2C 20 74 69 6D 65 20 74 6F 20 77 72 69 igh, time to wri
000060: 74 65 20 74 6F 20 64 69 73 6B 0D 0A 09 70 6F 70 te to disk...pop
000070: 09 64 09 09 3B 5B 70 63 63 30 31 32 5D 20 72 65 .d..;[pcc012] re
000080: 73 74 6F 72 65 20 64 65 0D 0A 09 6C 64 61 09 6C store de...lda.l
000090: 6F 67 66 6C 67 09 09 3B 5B 70 63 63 30 31 32 5D ogflg..;[pcc012]
0000A0: 20 67 65 74 20 6C 6F 67 67 69 6E 67 20 66 6C 61 get logging fla
0000B0: 67 0D 0A 09 6F 72 61 09 61 09 09 3B 5B 70 63 63 g...ora.a..;[pcc
0000C0: 30 31 32 5D 20 44 69 64 20 77 65 20 71 75 69 74 012] Did we quit
0000D0: 20 62 65 63 61 75 73 65 20 6F 66 20 61 6E 20 65 because of an e
0000E0: 72 72 6F 72 0D 0A 09 72 7A 09 09 09 3B 5B 70 63 rror...rz...;[pc
0000F0: 63 30 31 32 5D 20 72 65 74 75 72 6E 20 6E 6F 77 c012] return now
000100: 20 69 66 20 73 6F 0D 0A 6C 6F 67 69 74 31 3A 09 if so..logit1:.
000110: 6C 68 6C 64 09 62 75 66 70 6E 74 09 09 3B 5B 70 lhld.bufpnt..;[p
000120: 63 63 30 31 32 5D 20 67 65 74 20 62 75 66 66 65 cc012] get buffe
000130: 72 20 70 6F 69 6E 74 65 72 0D 0A 09 6D 6F 76 09 r pointer...mov.
000140: 6D 2C 65 09 09 3B 53 74 6F 72 65 20 74 68 65 20 m,e..;Store the
000150: 63 68 61 72 2E 0D 0A 09 69 6E 78 09 68 0D 0A 09 char....inx.h...
000160: 73 68 6C 64 09 62 75 66 70 6E 74 0D 0A 09 72 65 shld.bufpnt...re
000170: 74 09 09 09 3B 5B 70 63 63 30 31 32 5D 20 61 6E t...;[pcc012] an
000180: 64 20 72 65 74 75 72 6E 0D 0A 0D 0A 3B 5B 70 63 d return....;[pc
000190: 63 30 31 32 5D 0D 0A 3B 20 20 6C 6F 67 77 72 74 c012]..; logwrt
0001A0: 20 2D 20 77 72 69 74 65 20 74 6F 20 6C 6F 67 20 - write to log
0001B0: 66 69 6C 65 20 77 69 74 68 20 58 4F 4E 2F 58 4F file with XON/XO
0001C0: 46 46 20 73 69 6E 63 65 20 69 74 20 6D 61 79 20 FF since it may
0001D0: 74 61 6B 65 20 61 20 77 68 69 6C 65 2E 0D 0A 0D take a while....
0001E0: 0A 6C 6F 67 77 72 74 3A 09 6D 76 69 09 61 2C 78 .logwrt:.mvi.a,x
0001F0: 6F 66 66 09 09 3B 5E 53 20 74 6F 20 73 74 6F 70 off..;^S to stop
Size : 512 (Real : 512)
000000: 6E 67 20 63 68 61 72 61 63 74 65 72 20 61 72 65 ng character are
000010: 20 73 77 61 6C 6C 6F 77 65 64 2C 20 6E 65 76 65 swallowed, neve
000020: 72 20 74 6F 20 62 65 20 73 65 65 6E 20 61 67 61 r to be seen aga
000030: 69 6E 2E 0D 0A 3B 09 46 6F 72 20 3C 65 73 63 3E in...;.For <esc>
000040: 45 2C 20 74 68 65 20 74 72 61 6E 73 6C 61 74 69 E, the translati
000050: 6F 6E 20 74 61 62 6C 65 20 6D 61 79 20 63 6F 6E on table may con
000060: 74 61 69 6E 20 6A 75 73 74 20 27 24 27 20 28 6E tain just '$' (n
000070: 6F 20 61 63 74 69 6F 6E 29 2C 0D 0A 3B 09 6F 72 o action),..;.or
000080: 20 6D 61 79 20 62 65 20 75 73 65 64 20 61 73 20 may be used as
000090: 63 6C 65 61 72 2D 61 6E 64 2D 68 6F 6D 65 2C 20 clear-and-home,
0000A0: 61 73 20 69 6E 20 74 68 65 20 48 65 61 74 68 2F as in the Heath/
0000B0: 5A 65 6E 69 74 68 20 48 31 39 2E 0D 0A 3B 0D 0A Zenith H19...;..
0000C0: 09 6D 6F 76 09 61 2C 65 09 09 3B 20 67 65 74 20 .mov.a,e..; get
0000D0: 74 68 65 20 73 65 63 6F 6E 64 20 63 68 61 72 61 the second chara
0000E0: 63 74 65 72 20 6F 66 20 74 68 65 20 73 65 71 75 cter of the sequ
0000F0: 65 6E 63 65 2E 0D 0A 09 63 70 69 09 27 59 27 09 ence....cpi.'Y'.
000100: 09 3B 20 69 66 20 63 75 72 73 6F 72 20 6C 65 61 .; if cursor lea
000110: 64 2D 69 6E 20 68 61 6E 64 6C 65 20 69 74 2E 0D d-in handle it..
000120: 0A 09 6A 6E 7A 09 76 74 35 32 61 09 09 3B 20 69 ..jnz.vt52a..; i
000130: 66 20 6E 6F 74 2C 20 67 6F 20 6F 6E 2E 0D 0A 09 f not, go on....
000140: 6D 76 69 09 61 2C 32 09 09 3B 20 73 74 61 74 65 mvi.a,2..; state
000150: 20 3D 20 32 3A 20 72 6F 77 20 66 6F 6C 6C 6F 77 = 2: row follow
000160: 73 2E 0D 0A 09 73 74 61 09 65 73 63 66 6C 67 09 s....sta.escflg.
000170: 09 3B 20 75 70 64 61 74 65 20 74 68 65 20 66 6C .; update the fl
000180: 61 67 2E 0D 0A 09 72 65 74 09 09 09 3B 20 62 61 ag....ret...; ba
000190: 63 6B 20 66 6F 72 20 61 6E 6F 74 68 65 72 20 63 ck for another c
0001A0: 68 61 72 61 63 74 65 72 0D 0A 0D 0A 76 74 35 32 haracter....vt52
0001B0: 61 3A 09 63 70 69 09 27 5A 27 09 09 3B 20 56 54 a:.cpi.'Z'..; VT
0001C0: 35 32 20 49 44 20 71 75 65 72 79 3F 0D 0A 09 6A 52 ID query?...j
0001D0: 7A 09 76 74 35 32 69 64 09 09 3B 20 79 65 73 2E z.vt52id..; yes.
0001E0: 20 63 6C 61 69 6D 20 74 6F 20 62 65 20 6F 6E 65 claim to be one
0001F0: 2E 0D 0A 09 63 70 69 09 27 41 27 09 09 3B 4C 65 ....cpi.'A'..;Le
Size : 512 (Real : 512)
000000: 74 2C 20 74 65 6C 6E 65 74 0D 0A 0D 0A 63 6F 6E t, telnet....con
000010: 63 68 72 3A 09 63 61 6C 6C 09 69 6E 70 63 6F 6E chr:.call.inpcon
000020: 09 09 3B 54 72 79 20 74 6F 20 67 65 74 20 61 20 ..;Try to get a
000030: 63 68 61 72 61 63 74 65 72 20 66 72 6F 6D 20 74 character from t
000040: 68 65 20 63 6F 6E 73 6F 6C 65 0D 0A 09 61 6E 69 he console...ani
000050: 09 30 37 46 48 09 09 3B 4B 65 65 70 20 6F 6E 6C .07FH..;Keep onl
000060: 79 20 37 20 62 69 74 73 0D 0A 09 6A 7A 09 72 73 y 7 bits...jz.rs
000070: 6B 70 09 09 3B 4E 75 6C 6C 20 6D 65 61 6E 73 20 kp..;Null means
000080: 6E 6F 74 68 69 6E 67 20 74 68 65 72 65 2E 0D 0A nothing there...
000090: 09 6D 6F 76 09 65 2C 61 09 09 3B 4D 6F 76 65 20 .mov.e,a..;Move
0000A0: 74 68 65 20 63 68 61 72 20 66 6F 72 20 63 6F 6D the char for com
0000B0: 70 61 72 69 73 6F 6E 2E 0D 0A 09 73 74 61 09 6C parison....sta.l
0000C0: 73 74 63 68 72 09 09 3B 53 61 76 65 20 69 74 0D stchr..;Save it.
0000D0: 0A 09 6C 64 61 09 65 73 63 63 68 72 09 09 3B 47 ..lda.escchr..;G
0000E0: 65 74 20 74 68 65 20 65 73 63 61 70 65 20 63 68 et the escape ch
0000F0: 61 72 2E 0D 0A 09 63 6D 70 09 65 09 09 3B 49 73 ar....cmp.e..;Is
000100: 20 69 74 20 61 6E 20 65 73 63 61 70 65 20 63 68 it an escape ch
000110: 61 72 3F 0D 0A 09 6A 7A 09 69 6E 74 63 68 72 09 ar?...jz.intchr.
000120: 09 3B 49 66 20 73 6F 20 67 6F 20 70 72 6F 63 65 .;If so go proce
000130: 73 73 20 69 74 2E 0D 0A 09 63 61 6C 6C 09 73 65 ss it....call.se
000140: 6C 6D 64 6D 09 09 3B 20 73 65 6C 65 63 74 20 74 lmdm..; select t
000150: 68 65 20 6D 6F 64 65 6D 0D 0A 09 6D 6F 76 09 61 he modem...mov.a
000160: 2C 65 09 09 3B 47 65 74 20 74 68 65 20 63 68 61 ,e..;Get the cha
000170: 72 2E 0D 0A 09 63 61 6C 6C 09 73 65 74 70 61 72 r....call.setpar
000180: 09 09 3B 53 65 74 20 70 61 72 69 74 79 20 28 69 ..;Set parity (i
000190: 66 20 61 6E 79 29 2E 0D 0A 09 6D 6F 76 09 65 2C f any)....mov.e,
0001A0: 61 09 09 3B 52 65 73 74 6F 72 65 20 69 74 2E 0D a..;Restore it..
0001B0: 0A 09 63 61 6C 6C 09 6F 75 74 6D 64 6D 09 09 3B ..call.outmdm..;
0001C0: 4F 75 74 70 75 74 20 74 68 65 20 63 68 61 72 20 Output the char
0001D0: 74 6F 20 74 68 65 20 70 6F 72 74 2E 0D 0A 09 63 to the port....c
0001E0: 61 6C 6C 09 73 65 6C 63 6F 6E 09 09 3B 20 72 65 all.selcon..; re
0001F0: 73 65 6C 65 63 74 20 63 6F 6E 73 6F 6C 65 0D 0A select console..
Size : 512 (Real : 512)
000000: 73 73 20 74 68 61 6E 20 61 6E 20 27 41 27 3F 0D ss than an 'A'?.
000010: 0A 09 6A 6D 09 76 74 69 67 09 09 3B 59 65 73 20 ..jm.vtig..;Yes
000020: 2D 20 69 67 6E 6F 72 65 2E 0D 0A 09 63 70 69 09 - ignore....cpi.
000030: 27 4B 27 2B 31 09 09 3B 47 72 65 61 74 65 72 20 'K'+1..;Greater
000040: 74 68 61 6E 20 27 4B 27 3F 0D 0A 09 6A 70 09 76 than 'K'?...jp.v
000050: 74 69 67 09 09 3B 59 65 73 20 2D 20 69 67 6E 6F tig..;Yes - igno
000060: 72 65 2E 0D 0A 09 73 75 69 09 27 41 27 09 09 3B re....sui.'A'..;
000070: 45 6C 73 65 20 6D 61 6B 65 20 69 6E 74 6F 20 69 Else make into i
000080: 6E 64 65 78 2E 0D 0A 09 72 6C 63 09 09 09 3B 4D ndex....rlc...;M
000090: 75 6C 74 69 70 6C 79 20 62 79 20 66 6F 75 72 2E ultiply by four.
0000A0: 0D 0A 09 72 6C 63 09 09 09 3B 28 53 68 69 66 74 ...rlc...;(Shift
0000B0: 20 6C 65 66 74 20 74 77 69 63 65 2E 29 0D 0A 09 left twice.)...
0000C0: 6C 68 6C 64 09 70 74 74 61 62 09 09 3B 4C 6F 61 lhld.pttab..;Loa
0000D0: 64 20 62 61 73 65 20 61 64 64 72 20 6F 66 20 74 d base addr of t
0000E0: 61 62 6C 65 2E 0D 0A 09 6D 6F 76 09 65 2C 61 09 able....mov.e,a.
0000F0: 09 3B 4D 6F 76 65 20 61 20 69 6E 74 6F 20 64 65 .;Move a into de
000100: 20 70 61 69 72 2E 0D 0A 09 6D 76 69 09 64 2C 30 pair....mvi.d,0
000110: 30 48 09 09 3B 5A 65 72 6F 20 6F 75 74 20 68 69 0H..;Zero out hi
000120: 67 68 20 62 79 74 65 2E 0D 0A 09 64 61 64 09 64 gh byte....dad.d
000130: 09 09 3B 44 6F 75 62 6C 65 20 61 64 64 20 69 6E ..;Double add in
000140: 64 65 78 2B 6F 66 66 73 65 74 2E 0D 0A 09 78 63 dex+offset....xc
000150: 68 67 09 09 09 3B 45 78 63 68 61 6E 67 65 20 64 hg...;Exchange d
000160: 65 20 77 69 74 68 20 68 6C 2E 0D 0A 09 63 61 6C e with hl....cal
000170: 6C 09 73 65 6C 63 6F 6E 09 09 3B 20 73 65 6C 65 l.selcon..; sele
000180: 63 74 20 63 6F 6E 73 6F 6C 65 0D 0A 09 63 61 6C ct console...cal
000190: 6C 09 70 72 74 73 74 72 09 09 3B 61 6E 64 20 73 l.prtstr..;and s
0001A0: 79 73 63 61 6C 6C 2E 0D 0A 76 74 69 67 3A 09 09 yscall...vtig:..
0001B0: 09 09 3B 49 67 6E 6F 72 65 20 65 73 63 61 70 65 ..;Ignore escape
0001C0: 20 73 65 71 75 65 6E 63 65 2E 0D 0A 09 78 72 61 sequence....xra
0001D0: 09 61 09 09 3B 52 65 73 65 74 20 74 68 65 20 6F .a..;Reset the o
0001E0: 6C 27 20 65 73 63 61 70 65 20 66 6C 61 67 2E 0D l' escape flag..
0001F0: 0A 09 73 74 61 09 65 73 63 66 6C 67 0D 0A 09 72 ..sta.escflg...r
Size : 512 (Real : 512)
000000: 09 6C 64 61 09 65 63 6F 66 6C 67 09 09 3B 47 65 .lda.ecoflg..;Ge
000010: 74 20 74 68 65 20 65 63 68 6F 20 66 6C 61 67 2E t the echo flag.
000020: 0D 0A 09 6F 72 61 09 61 09 09 3B 49 73 20 69 74 ...ora.a..;Is it
000030: 20 74 75 72 6E 65 64 20 6F 6E 3F 0D 0A 09 6A 7A turned on?...jz
000040: 09 72 73 6B 70 09 09 3B 49 66 20 6E 6F 74 20 77 .rskp..;If not w
000050: 65 27 72 65 20 64 6F 6E 65 20 68 65 72 65 2E 0D e're done here..
000060: 0A 09 6D 6F 76 09 61 2C 65 09 09 3B 47 65 74 20 ..mov.a,e..;Get
000070: 74 68 65 20 63 68 61 72 2E 0D 0A 09 61 6E 69 09 the char....ani.
000080: 37 46 48 09 09 3B 54 75 72 6E 20 6F 66 66 20 74 7FH..;Turn off t
000090: 68 65 20 70 61 72 69 74 79 20 62 69 74 2E 0D 0A he parity bit...
0000A0: 09 6D 6F 76 09 65 2C 61 0D 0A 09 63 61 6C 6C 09 .mov.e,a...call.
0000B0: 6F 75 74 63 6F 6E 09 09 3B 20 65 63 68 6F 20 74 outcon..; echo t
0000C0: 68 65 20 63 68 61 72 61 63 74 65 72 2E 0D 0A 09 he character....
0000D0: 6A 6D 70 09 72 73 6B 70 09 09 3B 20 75 73 65 20 jmp.rskp..; use
0000E0: 73 6B 69 70 20 72 65 74 75 72 6E 0D 0A 3B 0C 0D skip return..;..
0000F0: 0A 3B 09 74 72 61 6E 73 70 61 72 65 6E 74 20 65 .;.transparent e
000100: 73 63 61 70 65 20 63 68 61 72 61 63 74 65 72 20 scape character
000110: 68 61 73 20 62 65 65 6E 20 74 79 70 65 64 2E 20 has been typed.
000120: 64 69 73 70 61 74 63 68 20 6F 6E 20 73 65 63 6F dispatch on seco
000130: 6E 64 0D 0A 3B 09 63 68 61 72 61 63 74 65 72 2E nd..;.character.
000140: 20 28 63 6F 6E 73 6F 6C 65 20 69 73 20 73 74 69 (console is sti
000150: 6C 6C 20 73 65 6C 65 63 74 65 64 29 0D 0A 3B 09 ll selected)..;.
000160: 68 65 72 65 20 66 72 6F 6D 3A 20 63 6F 6E 63 68 here from: conch
000170: 72 0D 0A 0D 0A 69 6E 74 63 68 72 3A 20 63 61 6C r....intchr: cal
000180: 6C 09 69 6E 70 63 6F 6E 09 09 3B 20 67 65 74 20 l.inpcon..; get
000190: 61 6E 6F 74 68 65 72 20 63 68 61 72 61 63 74 65 another characte
0001A0: 72 20 66 72 6F 6D 20 74 68 65 20 63 6F 6E 73 6F r from the conso
0001B0: 6C 65 0D 0A 09 6F 72 61 09 61 09 09 3B 20 7A 65 le...ora.a..; ze
0001C0: 72 6F 20 6D 65 61 6E 73 20 6E 6F 20 63 68 61 72 ro means no char
0001D0: 61 63 74 65 72 20 61 76 61 69 6C 61 62 6C 65 20 acter available
0001E0: 79 65 74 2E 0D 0A 09 6A 7A 09 69 6E 74 63 68 72 yet....jz.intchr
0001F0: 09 09 3B 20 49 66 20 73 6F 2C 20 6C 6F 6F 70 20 ..; If so, loop
Size : 512 (Real : 512)
000000: 65 74 09 09 09 3B 52 65 74 75 72 6E 20 68 6F 6D et...;Return hom
000010: 65 2E 0D 0A 0D 0A 3B 20 68 65 72 65 20 66 6F 72 e.....; here for
000020: 20 3C 65 73 63 3E 5A 2E 20 20 54 65 6C 6C 20 74 <esc>Z. Tell t
000030: 68 65 20 68 6F 73 74 20 77 65 27 72 65 20 61 20 he host we're a
000040: 56 54 35 32 2E 20 28 53 75 72 65 20 77 65 20 61 VT52. (Sure we a
000050: 72 65 2E 2E 2E 29 0D 0A 76 74 35 32 69 64 3A 09 re...)..vt52id:.
000060: 6D 76 69 09 61 2C 65 73 63 09 09 3B 20 72 65 73 mvi.a,esc..; res
000070: 70 6F 6E 73 65 20 69 73 20 65 73 63 61 70 65 2E ponse is escape.
000080: 2E 2E 0D 0A 09 63 61 6C 6C 09 73 65 74 70 61 72 .....call.setpar
000090: 09 09 3B 20 28 6E 65 65 64 20 63 6F 72 72 65 63 ..; (need correc
0000A0: 74 20 70 61 72 69 74 79 29 0D 0A 09 6D 6F 76 09 t parity)...mov.
0000B0: 65 2C 61 0D 0A 09 63 61 6C 6C 09 6F 75 74 6D 64 e,a...call.outmd
0000C0: 6D 09 09 3B 20 28 63 6F 6E 73 6F 6C 65 20 61 6C m..; (console al
0000D0: 72 65 61 64 79 20 73 65 6C 65 63 74 65 64 29 0D ready selected).
0000E0: 0A 09 6D 76 69 09 61 2C 27 2F 27 09 09 3B 20 2E ..mvi.a,'/'..; .
0000F0: 2E 2E 20 73 6C 61 73 68 20 2E 2E 2E 0D 0A 09 63 .. slash ......c
000100: 61 6C 6C 09 73 65 74 70 61 72 09 09 3B 20 28 77 all.setpar..; (w
000110: 69 74 68 20 70 61 72 69 74 79 29 0D 0A 09 6D 6F ith parity)...mo
000120: 76 09 65 2C 61 0D 0A 09 63 61 6C 6C 09 6F 75 74 v.e,a...call.out
000130: 6D 64 6D 0D 0A 09 6D 76 69 09 61 2C 27 4B 27 09 mdm...mvi.a,'K'.
000140: 09 3B 20 2E 2E 2E 20 4B 2E 0D 0A 09 63 61 6C 6C .; ... K....call
000150: 09 73 65 74 70 61 72 0D 0A 09 6D 6F 76 09 65 2C .setpar...mov.e,
000160: 61 0D 0A 09 63 61 6C 6C 09 6F 75 74 6D 64 6D 0D a...call.outmdm.
000170: 0A 09 6A 6D 70 09 76 74 69 67 09 09 3B 20 63 6C ..jmp.vtig..; cl
000180: 65 61 72 20 65 73 63 61 70 65 2D 73 65 71 75 65 ear escape-seque
000190: 6E 63 65 20 66 6C 61 67 20 61 6E 64 20 72 65 74 nce flag and ret
0001A0: 75 72 6E 2E 0D 0A 0D 0A 3B 20 68 65 72 65 20 77 urn.....; here w
0001B0: 68 65 6E 20 65 73 63 66 6C 67 20 69 73 6E 27 74 hen escflg isn't
0001C0: 20 30 20 6F 72 20 31 20 2D 20 70 72 6F 63 65 73 0 or 1 - proces
0001D0: 73 69 6E 67 20 63 75 72 73 6F 72 20 70 6F 73 69 sing cursor posi
0001E0: 74 69 6F 6E 69 6E 67 20 73 65 71 75 65 6E 63 65 tioning sequence
0001F0: 2E 0D 0A 76 74 35 32 79 3A 09 63 70 69 09 32 09 ...vt52y:.cpi.2.
Size : 512 (Real : 512)
000000: 75 6E 74 69 6C 20 77 65 20 67 65 74 20 61 20 63 until we get a c
000010: 68 61 72 2E 0D 0A 09 6D 6F 76 09 62 2C 61 09 09 har....mov.b,a..
000020: 3B 53 61 76 65 20 74 68 65 20 61 63 74 75 61 6C ;Save the actual
000030: 20 63 68 61 72 2E 0D 0A 09 63 70 69 09 63 74 72 char....cpi.ctr
000040: 6C 63 09 09 3B 69 73 20 69 74 20 43 6F 6E 74 72 lc..;is it Contr
000050: 6F 6C 2D 43 3F 0D 0A 09 6A 7A 09 63 6F 6E 74 63 ol-C?...jz.contc
000060: 09 09 3B 79 65 73 0D 0A 09 61 6E 69 09 31 33 37 ..;yes...ani.137
000070: 4F 09 09 3B 43 6F 6E 76 65 72 74 20 74 6F 20 75 O..;Convert to u
000080: 70 70 65 72 20 63 61 73 65 2E 0D 0A 09 63 70 69 pper case....cpi
000090: 09 27 43 27 09 09 3B 49 73 20 69 74 20 63 6C 6F .'C'..;Is it clo
0000A0: 73 65 3F 0D 0A 09 6A 6E 7A 09 69 6E 74 63 68 30 se?...jnz.intch0
0000B0: 09 09 3B 49 66 20 6E 6F 74 20 70 72 6F 63 65 65 ..;If not procee
0000C0: 64 2E 0D 0A 63 6F 6E 74 63 3A 09 6C 78 69 09 64 d...contc:.lxi.d
0000D0: 2C 69 6E 66 6D 73 39 09 3B 53 61 79 20 77 65 20 ,infms9.;Say we
0000E0: 61 72 65 20 62 61 63 6B 2E 0D 0A 09 63 61 6C 6C are back....call
0000F0: 09 70 72 74 73 74 72 0D 0A 09 63 61 6C 6C 09 73 .prtstr...call.s
000100: 79 73 63 6C 73 09 09 3B 20 63 61 6C 6C 20 73 79 yscls..; call sy
000110: 73 74 65 6D 2D 64 65 70 65 6E 64 65 6E 74 20 63 stem-dependent c
000120: 6C 6F 73 65 20 72 6F 75 74 69 6E 65 0D 0A 09 6C lose routine...l
000130: 64 61 09 6C 6F 67 66 6C 67 09 09 3B 47 65 74 20 da.logflg..;Get
000140: 74 68 65 20 6C 6F 67 20 66 6C 61 67 2E 0D 0A 09 the log flag....
000150: 6F 72 61 09 61 09 09 3B 5B 70 63 63 30 30 35 5D ora.a..;[pcc005]
000160: 20 43 68 65 63 6B 20 69 66 20 6F 70 65 6E 0D 0A Check if open..
000170: 09 63 6D 09 6C 6F 67 63 6C 73 09 09 3B 5B 70 63 .cm.logcls..;[pc
000180: 63 30 30 35 5D 20 43 6C 6F 73 65 20 69 66 20 6E c005] Close if n
000190: 65 65 64 65 64 0D 0A 09 72 65 74 0D 0A 0D 0A 3B eeded...ret....;
0001A0: 48 65 72 65 20 69 66 20 6E 6F 74 20 61 20 27 43 Here if not a 'C
0001B0: 27 20 6F 72 20 27 5E 43 27 0D 0A 0D 0A 69 6E 74 ' or '^C'....int
0001C0: 63 68 30 3A 20 63 70 69 09 27 53 27 09 09 3B 49 ch0: cpi.'S'..;I
0001D0: 73 20 69 74 20 73 74 61 74 75 73 3F 0D 0A 09 6A s it status?...j
0001E0: 6E 7A 09 69 6E 63 68 30 31 09 09 3B 49 66 20 6E nz.inch01..;If n
0001F0: 6F 74 2C 20 70 72 6F 63 65 65 64 2E 0D 0A 09 63 ot, proceed....c
Size : 512 (Real : 512)
000000: 09 3B 20 6C 6F 6F 6B 69 6E 67 20 66 6F 72 20 72 .; looking for r
000010: 6F 77 3F 20 28 79 2D 63 6F 6F 72 64 69 6E 61 74 ow? (y-coordinat
000020: 65 29 0D 0A 09 6A 6E 7A 09 76 74 35 32 78 09 09 e)...jnz.vt52x..
000030: 3B 20 6E 6F 2C 20 6D 75 73 74 20 62 65 20 63 6F ; no, must be co
000040: 6C 75 6D 6E 2E 0D 0A 09 6D 6F 76 09 61 2C 65 09 lumn....mov.a,e.
000050: 09 3B 20 79 65 73 2E 20 67 65 74 20 63 6F 6F 72 .; yes. get coor
000060: 64 69 6E 61 74 65 0D 0A 09 73 75 69 09 28 27 20 dinate...sui.('
000070: 27 2D 31 29 09 09 3B 20 63 6F 6E 76 65 72 74 20 '-1)..; convert
000080: 66 72 6F 6D 20 61 73 63 69 69 20 28 31 20 3D 20 from ascii (1 =
000090: 74 6F 70 20 6C 69 6E 65 29 0D 0A 09 73 74 61 09 top line)...sta.
0000A0: 76 74 79 76 61 6C 09 09 3B 20 73 74 6F 72 65 20 vtyval..; store
0000B0: 66 6F 72 20 6C 61 74 65 72 0D 0A 09 6D 76 69 09 for later...mvi.
0000C0: 61 2C 33 09 09 3B 20 61 64 76 61 6E 63 65 20 74 a,3..; advance t
0000D0: 6F 20 6E 65 78 74 20 73 74 61 74 65 20 28 78 20 o next state (x
0000E0: 63 6F 6F 72 64 29 0D 0A 09 73 74 61 09 65 73 63 coord)...sta.esc
0000F0: 66 6C 67 09 09 3B 20 73 74 6F 72 65 20 69 74 0D flg..; store it.
000100: 0A 09 72 65 74 09 09 09 3B 20 74 72 79 20 66 6F ..ret...; try fo
000110: 72 20 61 6E 6F 74 68 65 72 20 63 68 61 72 61 63 r another charac
000120: 74 65 72 0D 0A 0D 0A 3B 20 68 65 72 65 20 77 68 ter....; here wh
000130: 65 6E 20 65 73 63 66 6C 61 67 20 69 73 6E 27 74 en escflag isn't
000140: 20 30 2C 20 31 2C 20 6F 72 20 32 20 2D 20 69 74 0, 1, or 2 - it
000150: 20 6D 75 73 74 20 62 65 20 33 2E 20 28 72 69 67 must be 3. (rig
000160: 68 74 3F 29 0D 0A 3B 20 45 20 68 6F 6C 64 73 20 ht?)..; E holds
000170: 74 68 65 20 6C 61 73 74 20 63 68 61 72 61 63 74 the last charact
000180: 65 72 20 6F 66 20 74 68 65 20 63 75 72 73 6F 72 er of the cursor
000190: 20 70 6F 73 69 74 69 6F 6E 69 6E 67 20 73 65 71 positioning seq
0001A0: 75 65 6E 63 65 2E 0D 0A 76 74 35 32 78 3A 09 78 uence...vt52x:.x
0001B0: 72 61 09 61 09 09 3B 20 65 6E 64 20 6F 66 20 65 ra.a..; end of e
0001C0: 73 63 61 70 65 20 73 65 71 75 65 6E 63 65 2C 20 scape sequence,
0001D0: 72 65 73 65 74 20 73 74 61 74 65 2E 0D 0A 09 73 reset state....s
0001E0: 74 61 09 65 73 63 66 6C 67 0D 0A 09 6D 6F 76 09 ta.escflg...mov.
0001F0: 61 2C 65 09 09 3B 20 67 65 74 20 63 6F 6C 75 6D a,e..; get colum
Size : 512 (Real : 512)
000000: 61 6C 6C 09 73 74 61 74 30 31 09 09 3B 50 72 69 all.stat01..;Pri
000010: 6E 74 20 6F 75 74 20 74 68 65 20 73 74 61 74 75 nt out the statu
000020: 73 20 73 74 75 66 66 2E 0D 0A 09 63 61 6C 6C 09 s stuff....call.
000030: 70 72 63 72 6C 66 09 09 3B 5B 70 63 63 30 31 31 prcrlf..;[pcc011
000040: 5D 20 61 64 64 20 61 20 63 72 6C 66 0D 0A 09 6A ] add a crlf...j
000050: 6D 70 09 72 73 6B 70 09 09 3B 72 65 74 75 72 6E mp.rskp..;return
000060: 20 66 72 6F 6D 20 63 6F 6E 63 68 72 0D 0A 0D 0A from conchr....
000070: 69 6E 63 68 30 31 3A 09 63 70 69 09 27 52 27 2D inch01:.cpi.'R'-
000080: 31 30 30 4F 09 3B 43 6F 6E 74 72 6F 6C 2D 52 3F 100O.;Control-R?
000090: 0D 0A 09 6A 7A 09 69 6E 63 68 30 32 09 09 3B 59 ...jz.inch02..;Y
0000A0: 65 73 0D 0A 09 63 70 69 09 27 52 27 09 09 3B 28 es...cpi.'R'..;(
0000B0: 70 6C 61 69 6E 29 20 52 3F 0D 0A 09 6A 6E 7A 09 plain) R?...jnz.
0000C0: 69 6E 63 68 30 33 09 09 3B 4E 6F 0D 0A 69 6E 63 inch03..;No..inc
0000D0: 68 30 32 3A 09 6C 64 61 09 66 69 6C 65 69 6F 09 h02:.lda.fileio.
0000E0: 09 3B 54 52 41 4E 53 4D 49 54 20 69 6E 20 70 72 .;TRANSMIT in pr
0000F0: 6F 67 72 65 73 73 3F 0D 0A 09 6F 72 61 09 61 0D ogress?...ora.a.
000100: 0A 09 6A 7A 09 69 6E 63 68 30 33 09 09 3B 4E 6F ..jz.inch03..;No
000110: 2C 69 67 6E 6F 72 65 0D 0A 09 70 6F 70 09 62 09 ,ignore...pop.b.
000120: 09 3B 52 65 6D 6F 76 65 20 72 65 74 75 72 6E 20 .;Remove return
000130: 61 64 64 72 65 73 73 20 28 6E 6F 6E 2D 6C 6F 63 address (non-loc
000140: 61 6C 20 67 6F 74 6F 29 0D 0A 09 6A 6D 70 09 72 al goto)...jmp.r
000150: 65 78 6D 69 74 09 09 3B 52 65 74 72 61 6E 73 6D exmit..;Retransm
000160: 69 74 20 6C 69 6E 65 0D 0A 0D 0A 69 6E 63 68 30 it line....inch0
000170: 33 3A 09 6D 6F 76 09 61 2C 62 09 09 3B 47 65 74 3:.mov.a,b..;Get
000180: 20 74 68 65 20 63 68 61 72 2E 0D 0A 09 63 70 69 the char....cpi
000190: 09 27 3F 27 09 09 3B 49 73 20 69 74 20 61 20 68 .'?'..;Is it a h
0001A0: 65 6C 70 20 72 65 71 75 65 73 74 3F 0D 0A 09 6A elp request?...j
0001B0: 6E 7A 09 69 6E 74 63 68 31 09 09 3B 49 66 20 6E nz.intch1..;If n
0001C0: 6F 74 2C 20 67 6F 20 74 6F 20 74 68 65 20 6E 65 ot, go to the ne
0001D0: 78 74 20 63 68 65 63 6B 2E 0D 0A 09 6C 64 61 09 xt check....lda.
0001E0: 66 69 6C 65 69 6F 09 09 3B 54 52 41 4E 53 4D 49 fileio..;TRANSMI
0001F0: 54 20 69 6E 20 70 72 6F 67 72 65 73 73 3F 0D 0A T in progress?..
Size : 512 (Real : 512)
000000: 6E 20 28 27 20 27 20 69 73 20 6C 65 66 74 20 6D n (' ' is left m
000010: 61 72 67 69 6E 29 0D 0A 09 73 75 69 09 28 27 20 argin)...sui.('
000020: 27 2D 31 29 09 09 3B 20 6D 61 6B 65 20 6C 65 66 '-1)..; make lef
000030: 74 20 6D 61 72 67 69 6E 20 62 65 20 6F 6E 65 0D t margin be one.
000040: 0A 09 6D 6F 76 09 63 2C 61 09 09 3B 20 73 74 61 ..mov.c,a..; sta
000050: 73 68 20 63 6F 6C 75 6D 6E 20 69 6E 20 63 0D 0A sh column in c..
000060: 09 6C 64 61 09 76 74 79 76 61 6C 09 09 3B 20 67 .lda.vtyval..; g
000070: 65 74 20 72 6F 77 20 6E 75 6D 62 65 72 0D 0A 09 et row number...
000080: 6D 6F 76 09 62 2C 61 09 09 3B 20 20 69 6E 20 62 mov.b,a..; in b
000090: 0D 0A 09 63 61 6C 6C 09 73 65 6C 63 6F 6E 09 09 ...call.selcon..
0000A0: 3B 20 73 65 6C 65 63 74 20 63 6F 6E 73 6F 6C 65 ; select console
0000B0: 0D 0A 09 63 61 6C 6C 09 63 73 72 70 6F 73 09 09 ...call.csrpos..
0000C0: 3B 20 63 61 6C 6C 20 73 79 73 74 65 6D 2D 64 65 ; call system-de
0000D0: 70 65 6E 64 65 6E 74 20 63 75 72 73 6F 72 20 70 pendent cursor p
0000E0: 6F 73 69 74 69 6F 6E 65 72 0D 0A 09 72 65 74 09 ositioner...ret.
0000F0: 09 09 3B 20 61 6C 6C 20 74 68 72 6F 75 67 68 2E ..; all through.
000100: 0D 0A 3B 0C 0D 0A 3B 0D 0A 3B 09 63 6F 6E 63 68 ..;...;..;.conch
000110: 72 20 2D 20 63 6F 70 79 20 63 68 61 72 61 63 74 r - copy charact
000120: 65 72 20 66 72 6F 6D 20 63 6F 6E 73 6F 6C 65 20 er from console
000130: 74 6F 20 63 6F 6D 6D 20 6C 69 6E 65 2C 20 70 72 to comm line, pr
000140: 6F 63 65 73 73 69 6E 67 0D 0A 3B 09 28 6B 65 72 ocessing..;.(ker
000150: 6D 69 74 27 73 29 20 65 73 63 61 70 65 20 73 65 mit's) escape se
000160: 71 75 65 6E 63 65 73 2E 0D 0A 3B 09 45 6E 74 65 quences...;.Ente
000170: 72 20 61 6E 64 20 65 78 69 74 20 77 69 74 68 20 r and exit with
000180: 63 6F 6E 73 6F 6C 65 20 73 65 6C 65 63 74 65 64 console selected
000190: 2E 0D 0A 3B 09 6E 6F 6E 73 6B 69 70 20 72 65 74 ...;.nonskip ret
0001A0: 75 72 6E 3A 20 74 72 61 6E 73 70 61 72 65 6E 74 urn: transparent
0001B0: 20 6D 6F 64 65 20 74 65 72 6D 69 6E 61 74 65 64 mode terminated
0001C0: 2E 0D 0A 3B 09 73 6B 69 70 20 72 65 74 75 72 6E ...;.skip return
0001D0: 3A 09 73 74 69 6C 6C 20 69 6E 20 74 72 61 6E 73 :.still in trans
0001E0: 70 61 72 65 6E 74 20 6D 6F 64 65 2E 0D 0A 3B 09 parent mode...;.
0001F0: 63 61 6C 6C 65 64 20 62 79 3A 20 72 65 78 6D 69 called by: rexmi
Size : 512 (Real : 512)
000000: 09 6F 72 61 09 61 0D 0A 09 6A 7A 09 69 6E 63 68 .ora.a...jz.inch
000010: 33 61 09 09 3B 5B 70 63 63 30 30 33 5D 20 4E 6F 3a..;[pcc003] No
000020: 0D 0A 09 6C 78 69 09 64 2C 78 6D 74 68 6C 70 09 ...lxi.d,xmthlp.
000030: 3B 54 65 6C 6C 20 61 62 6F 75 74 20 52 20 74 6F ;Tell about R to
000040: 6F 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 0D o...call.prtstr.
000050: 0A 69 6E 63 68 33 61 3A 09 6C 64 61 09 6C 6F 67 .inch3a:.lda.log
000060: 66 6C 67 09 09 3B 5B 70 63 63 30 30 33 5D 20 4C flg..;[pcc003] L
000070: 6F 67 67 69 6E 67 20 66 6C 61 67 0D 0A 09 6F 72 ogging flag...or
000080: 61 09 61 09 09 3B 5B 70 63 63 30 30 33 5D 20 73 a.a..;[pcc003] s
000090: 65 65 20 69 66 20 61 63 74 69 76 65 0D 0A 09 6A ee if active...j
0000A0: 70 09 69 6E 63 68 30 34 09 09 3B 5B 70 63 63 30 p.inch04..;[pcc0
0000B0: 30 35 5D 20 6A 75 6D 70 20 69 66 20 6E 6F 20 66 05] jump if no f
0000C0: 69 6C 65 20 6F 70 65 6E 0D 0A 09 6C 78 69 09 64 ile open...lxi.d
0000D0: 2C 6C 6F 67 68 6C 70 09 3B 5B 70 63 63 30 30 33 ,loghlp.;[pcc003
0000E0: 5D 20 79 65 73 2C 20 74 65 6C 6C 20 61 62 6F 75 ] yes, tell abou
0000F0: 74 20 52 20 41 4E 44 20 51 0D 0A 09 63 61 6C 6C t R AND Q...call
000100: 09 70 72 74 73 74 72 09 09 3B 5B 70 63 63 30 30 .prtstr..;[pcc00
000110: 33 5D 0D 0A 69 6E 63 68 30 34 3A 09 6C 78 69 09 3]..inch04:.lxi.
000120: 64 2C 69 6E 74 68 6C 70 09 3B 49 66 20 73 6F 2C d,inthlp.;If so,
000130: 20 67 65 74 20 74 68 65 20 61 64 64 72 65 73 73 get the address
000140: 20 6F 66 20 74 68 65 20 68 65 6C 70 20 6D 65 73 of the help mes
000150: 73 61 67 65 2E 0D 0A 09 63 61 6C 6C 09 70 72 74 sage....call.prt
000160: 73 74 72 0D 0A 09 63 61 6C 6C 09 73 79 73 69 6E str...call.sysin
000170: 68 09 09 3B 20 70 72 69 6E 74 20 73 79 73 74 65 h..; print syste
000180: 6D 2D 64 65 70 65 6E 64 65 6E 74 20 68 65 6C 70 m-dependent help
000190: 20 6D 65 73 73 61 67 65 0D 0A 09 6C 78 69 09 64 message...lxi.d
0001A0: 2C 69 6E 68 6C 70 31 09 3B 20 54 65 6C 6C 20 61 ,inhlp1.; Tell a
0001B0: 62 6F 75 74 20 64 6F 75 62 6C 69 6E 67 20 74 68 bout doubling th
0001C0: 65 20 65 73 63 61 70 65 20 63 68 61 72 61 63 74 e escape charact
0001D0: 65 72 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 er...call.prtstr
0001E0: 0D 0A 09 63 61 6C 6C 09 65 73 63 70 72 09 09 3B ...call.escpr..;
0001F0: 50 72 69 6E 74 20 65 73 63 61 70 65 20 63 68 61 Print escape cha
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 72 61 63 74 65 72 0D 0A 09 6C 78 69 09 64 2C 69 racter...lxi.d,i
000010: 6E 68 6C 70 32 09 3B 50 72 69 6E 74 20 74 68 65 nhlp2.;Print the
000020: 20 72 65 73 74 0D 0A 09 63 61 6C 6C 09 70 72 74 rest...call.prt
000030: 73 74 72 0D 0A 09 6A 6D 70 09 69 6E 74 63 68 72 str...jmp.intchr
000040: 09 09 3B 47 65 74 20 61 6E 6F 74 68 65 72 20 63 ..;Get another c
000050: 68 61 72 2E 0D 0A 0D 0A 69 6E 74 63 68 31 3A 20 har.....intch1:
000060: 6D 6F 76 09 61 2C 62 09 09 3B 47 65 74 20 74 68 mov.a,b..;Get th
000070: 65 20 63 68 61 72 61 63 74 65 72 2E 0D 0A 09 63 e character....c
000080: 70 69 09 27 30 27 09 09 3B 49 73 20 69 74 20 27 pi.'0'..;Is it '
000090: 30 27 2C 20 74 6F 20 73 65 6E 64 20 61 20 6E 75 0', to send a nu
0000A0: 6C 6C 3F 0D 0A 09 6A 6E 7A 09 69 6E 74 63 68 33 ll?...jnz.intch3
0000B0: 09 09 3B 4E 6F 2E 0D 0A 09 78 72 61 09 61 09 09 ..;No....xra.a..
0000C0: 3B 59 65 73 2C 20 73 65 6E 64 20 61 6E 20 41 53 ;Yes, send an AS
0000D0: 43 49 49 20 7A 65 72 6F 2E 0D 0A 09 63 61 6C 6C CII zero....call
0000E0: 09 73 65 74 70 61 72 09 09 3B 20 77 69 74 68 20 .setpar..; with
0000F0: 74 68 65 20 63 6F 72 72 65 63 74 20 70 61 72 69 the correct pari
000100: 74 79 0D 0A 09 6D 6F 76 09 65 2C 61 0D 0A 09 63 ty...mov.e,a...c
000110: 61 6C 6C 09 73 65 6C 6D 64 6D 09 09 3B 20 28 74 all.selmdm..; (t
000120: 6F 20 74 68 65 20 6D 6F 64 65 6D 2E 2E 2E 29 0D o the modem...).
000130: 0A 09 63 61 6C 6C 09 6F 75 74 6D 64 6D 0D 0A 09 ..call.outmdm...
000140: 63 61 6C 6C 09 73 65 6C 63 6F 6E 09 09 3B 20 72 call.selcon..; r
000150: 65 74 75 72 6E 20 77 69 74 68 20 63 6F 6E 73 6F eturn with conso
000160: 6C 65 20 73 65 6C 65 63 74 65 64 0D 0A 09 6A 6D le selected...jm
000170: 70 09 72 73 6B 70 0D 0A 0D 0A 69 6E 74 63 68 33 p.rskp....intch3
000180: 3A 09 6C 64 61 09 65 73 63 63 68 72 09 09 3B 47 :.lda.escchr..;G
000190: 65 74 20 74 68 65 20 65 73 63 61 70 65 20 63 68 et the escape ch
0001A0: 61 72 2E 0D 0A 09 63 6D 70 09 62 09 09 3B 49 73 ar....cmp.b..;Is
0001B0: 20 69 74 20 74 68 65 20 65 73 63 61 70 65 20 63 it the escape c
0001C0: 68 61 72 3F 0D 0A 09 6A 6E 7A 09 69 6E 74 63 68 har?...jnz.intch
0001D0: 34 09 09 3B 5B 70 63 63 30 30 32 5D 20 6A 75 6D 4..;[pcc002] jum
0001E0: 70 20 69 66 20 6E 6F 74 0D 0A 09 6D 6F 76 09 61 p if not...mov.a
0001F0: 2C 62 09 09 3B 47 65 74 20 74 68 65 20 63 68 61 ,b..;Get the cha
Size : 512 (Real : 512)
000000: 3B 20 43 50 34 54 59 50 2E 41 53 4D 0D 0A 3B 09 ; CP4TYP.ASM..;.
000010: 4B 45 52 4D 49 54 20 2D 20 28 43 65 6C 74 69 63 KERMIT - (Celtic
000020: 20 66 6F 72 20 22 46 52 45 45 22 29 0D 0A 3B 0D for "FREE")..;.
000030: 0A 3B 09 54 68 69 73 20 69 73 20 74 68 65 20 43 .;.This is the C
000040: 50 2F 4D 2D 38 30 20 69 6D 70 6C 65 6D 65 6E 74 P/M-80 implement
000050: 61 74 69 6F 6E 20 6F 66 20 74 68 65 20 43 6F 6C ation of the Col
000060: 75 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 umbia University
000070: 0D 0A 3B 09 4B 45 52 4D 49 54 20 66 69 6C 65 20 ..;.KERMIT file
000080: 74 72 61 6E 73 66 65 72 20 70 72 6F 74 6F 63 6F transfer protoco
000090: 6C 2E 0D 0A 3B 0D 0A 3B 09 56 65 72 73 69 6F 6E l...;..;.Version
0000A0: 20 34 2E 30 0D 0A 3B 0D 0A 3B 09 43 6F 70 79 72 4.0..;..;.Copyr
0000B0: 69 67 68 74 20 4A 75 6E 65 20 31 39 38 31 2C 31 ight June 1981,1
0000C0: 39 38 32 2C 31 39 38 33 2C 31 39 38 34 2C 31 39 982,1983,1984,19
0000D0: 38 35 0D 0A 3B 09 43 6F 6C 75 6D 62 69 61 20 55 85..;.Columbia U
0000E0: 6E 69 76 65 72 73 69 74 79 0D 0A 3B 0D 0A 3B 20 niversity..;..;
0000F0: 4F 72 69 67 69 6E 61 6C 6C 79 20 77 72 69 74 74 Originally writt
000100: 65 6E 20 62 79 20 42 69 6C 6C 20 43 61 74 63 68 en by Bill Catch
000110: 69 6E 67 73 20 6F 66 20 74 68 65 20 43 6F 6C 75 ings of the Colu
000120: 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 20 mbia University
000130: 43 65 6E 74 65 72 20 66 6F 72 0D 0A 3B 20 43 6F Center for..; Co
000140: 6D 70 75 74 69 6E 67 20 41 63 74 69 76 69 74 69 mputing Activiti
000150: 65 73 2C 20 36 31 32 20 57 2E 20 31 31 35 74 68 es, 612 W. 115th
000160: 20 53 74 2E 2C 20 4E 65 77 20 59 6F 72 6B 2C 20 St., New York,
000170: 4E 59 20 31 30 30 32 35 2E 0D 0A 3B 0D 0A 3B 20 NY 10025...;..;
000180: 43 6F 6E 74 72 69 62 75 74 69 6F 6E 73 20 62 79 Contributions by
000190: 20 46 72 61 6E 6B 20 64 61 20 43 72 75 7A 2C 20 Frank da Cruz,
0001A0: 44 61 70 68 6E 65 20 54 7A 6F 61 72 2C 20 42 65 Daphne Tzoar, Be
0001B0: 72 6E 69 65 20 45 69 62 65 6E 2C 0D 0A 3B 20 42 rnie Eiben,..; B
0001C0: 72 75 63 65 20 54 61 6E 6E 65 72 2C 20 4E 69 63 ruce Tanner, Nic
0001D0: 6B 20 42 75 73 68 2C 20 47 72 65 67 20 53 6D 61 k Bush, Greg Sma
0001E0: 6C 6C 2C 20 4B 69 6D 6D 6F 20 4C 61 61 6B 73 6F ll, Kimmo Laakso
0001F0: 6E 65 6E 2C 20 4A 65 66 66 20 44 61 6D 65 6E 73 nen, Jeff Damens
Size : 512 (Real : 512)
000000: 72 2E 0D 0A 09 63 61 6C 6C 09 73 65 74 70 61 72 r....call.setpar
000010: 0D 0A 09 6D 6F 76 09 65 2C 61 09 09 3B 52 65 73 ...mov.e,a..;Res
000020: 74 6F 72 65 20 69 74 2E 0D 0A 09 63 61 6C 6C 09 tore it....call.
000030: 73 65 6C 6D 64 6D 0D 0A 09 63 61 6C 6C 09 6F 75 selmdm...call.ou
000040: 74 6D 64 6D 09 09 3B 4F 75 74 70 75 74 20 69 74 tmdm..;Output it
000050: 2E 0D 0A 09 63 61 6C 6C 09 73 65 6C 63 6F 6E 09 ....call.selcon.
000060: 09 3B 57 65 20 70 72 6F 6D 69 73 65 64 20 63 6F .;We promised co
000070: 6E 73 6F 6C 65 20 77 6F 75 6C 64 20 62 65 20 73 nsole would be s
000080: 65 6C 65 63 74 65 64 2E 2E 2E 0D 0A 09 6A 6D 70 elected......jmp
000090: 09 72 73 6B 70 09 09 3B 52 65 74 75 72 6E 2C 20 .rskp..;Return,
0000A0: 77 65 20 61 72 65 20 64 6F 6E 65 20 68 65 72 65 we are done here
0000B0: 2E 0D 0A 69 6E 74 63 68 34 3A 09 6D 6F 76 09 61 ...intch4:.mov.a
0000C0: 2C 62 09 09 3B 5B 70 63 63 30 30 32 5D 20 67 65 ,b..;[pcc002] ge
0000D0: 74 20 69 74 20 61 67 61 69 6E 0D 0A 09 61 6E 69 t it again...ani
0000E0: 09 31 33 37 6F 09 09 3B 5B 70 63 63 30 30 32 5D .137o..;[pcc002]
0000F0: 20 69 6E 20 75 70 70 65 72 20 63 61 73 65 0D 0A in upper case..
000100: 09 63 70 69 09 27 50 27 09 09 3B 5B 70 63 63 30 .cpi.'P'..;[pcc0
000110: 30 32 5D 20 74 6F 67 67 6C 65 20 70 72 69 6E 74 02] toggle print
000120: 65 72 3F 0D 0A 09 6A 6E 7A 09 69 6E 74 63 68 35 er?...jnz.intch5
000130: 09 09 3B 5B 70 63 63 30 30 33 5D 20 6E 6F 70 65 ..;[pcc003] nope
000140: 0D 0A 09 6C 64 61 09 70 72 6E 66 6C 67 09 09 3B ...lda.prnflg..;
000150: 5B 70 63 63 30 30 32 5D 20 67 65 74 20 70 72 69 [pcc002] get pri
000160: 6E 74 65 72 20 66 6C 61 67 0D 0A 09 78 72 69 09 nter flag...xri.
000170: 30 31 68 09 09 3B 5B 70 63 63 30 30 32 5D 20 63 01h..;[pcc002] c
000180: 6F 6D 70 6C 65 6D 65 6E 74 20 69 74 0D 0A 09 73 omplement it...s
000190: 74 61 09 70 72 6E 66 6C 67 09 09 3B 5B 70 63 63 ta.prnflg..;[pcc
0001A0: 30 30 32 5D 20 61 6E 64 20 70 75 74 20 62 61 63 002] and put bac
0001B0: 6B 0D 0A 09 6A 6D 70 09 72 73 6B 70 09 09 3B 5B k...jmp.rskp..;[
0001C0: 70 63 63 30 30 32 5D 0D 0A 69 6E 74 63 68 35 3A pcc002]..intch5:
0001D0: 09 6C 64 61 09 6C 6F 67 66 6C 67 09 09 3B 5B 70 .lda.logflg..;[p
0001E0: 63 63 30 30 33 5D 20 67 65 74 20 6C 6F 67 20 66 cc003] get log f
0001F0: 6C 61 67 0D 0A 09 6F 72 61 09 61 09 09 3B 5B 70 lag...ora.a..;[p
Size : 512 (Real : 512)
000000: 2C 20 61 6E 64 20 6D 61 6E 79 0D 0A 3B 20 6F 74 , and many..; ot
000010: 68 65 72 73 2E 0D 0A 3B 0D 0A 3B 09 54 68 69 73 hers...;..;.This
000020: 20 69 73 20 74 68 65 20 68 65 61 64 65 72 20 66 is the header f
000030: 69 6C 65 20 66 6F 72 20 62 75 69 6C 64 69 6E 67 ile for building
000040: 20 74 68 65 20 73 79 73 74 65 6D 2D 64 65 70 65 the system-depe
000050: 6E 64 65 6E 74 20 6F 76 65 72 6C 61 79 0D 0A 3B ndent overlay..;
000060: 09 66 6F 72 20 4B 45 52 4D 49 54 2E 20 20 49 74 .for KERMIT. It
000070: 20 63 6F 6E 74 61 69 6E 73 20 74 68 65 20 64 65 contains the de
000080: 66 69 6E 69 74 69 6F 6E 73 20 75 73 65 64 20 74 finitions used t
000090: 6F 20 73 65 6C 65 63 74 20 74 68 65 20 74 61 72 o select the tar
0000A0: 67 65 74 0D 0A 3B 09 73 79 73 74 65 6D 2C 20 61 get..;.system, a
0000B0: 6E 64 20 63 6F 6C 6C 65 63 74 73 20 28 76 69 61 nd collects (via
0000C0: 20 49 4E 43 4C 55 44 45 20 6F 72 20 4C 49 4E 4B INCLUDE or LINK
0000D0: 20 64 69 72 65 63 74 69 76 65 73 29 20 74 68 65 directives) the
0000E0: 20 72 65 6D 61 69 6E 69 6E 67 0D 0A 3B 09 63 6F remaining..;.co
0000F0: 64 65 2E 20 20 49 66 20 74 68 65 20 74 61 72 67 de. If the targ
000100: 65 74 20 73 79 73 74 65 6D 20 69 73 20 6F 6E 65 et system is one
000110: 20 6F 66 20 74 68 65 20 73 75 70 70 6F 72 74 65 of the supporte
000120: 64 20 73 79 73 74 65 6D 73 0D 0A 3B 09 64 65 73 d systems..;.des
000130: 63 72 69 62 65 64 20 62 65 6C 6F 77 2C 20 74 68 cribed below, th
000140: 65 6E 20 74 68 69 73 20 69 73 20 74 68 65 20 6F en this is the o
000150: 6E 6C 79 20 66 69 6C 65 20 74 68 61 74 20 6E 65 nly file that ne
000160: 65 64 73 20 74 6F 20 62 65 0D 0A 3B 09 65 64 69 eds to be..;.edi
000170: 74 65 64 2E 0D 0A 3B 0D 0A 3B 20 72 65 76 69 73 ted...;..; revis
000180: 69 6F 6E 20 68 69 73 74 6F 72 79 3A 0D 0A 3B 0D ion history:..;.
000190: 0A 3B 20 65 64 69 74 20 36 3A 20 39 2D 46 65 62 .; edit 6: 9-Feb
0001A0: 2D 38 35 20 62 79 20 43 4A 43 0D 0A 3B 09 4D 65 -85 by CJC..;.Me
0001B0: 72 67 65 20 4E 6F 72 74 68 73 74 61 72 20 48 6F rge Northstar Ho
0001C0: 72 69 7A 6F 6E 2C 20 4C 6F 62 6F 20 4D 41 58 2C rizon, Lobo MAX,
0001D0: 20 61 6E 64 20 58 65 72 6F 78 20 38 32 30 20 63 and Xerox 820 c
0001E0: 68 61 6E 67 65 73 3A 0D 0A 3B 09 31 33 2D 44 65 hanges:..;.13-De
0001F0: 63 2D 38 34 20 41 64 64 20 4E 6F 72 74 68 73 74 c-84 Add Northst
Size : 512 (Real : 512)
000000: 63 63 30 30 33 5D 20 53 65 65 20 69 66 20 6F 70 cc003] See if op
000010: 65 6E 0D 0A 09 6A 70 09 69 6E 74 63 68 37 09 09 en...jp.intch7..
000020: 3B 5B 70 63 63 30 30 33 5D 20 6E 6F 2C 20 73 6B ;[pcc003] no, sk
000030: 69 70 20 52 20 61 6E 64 20 51 0D 0A 09 6D 6F 76 ip R and Q...mov
000040: 09 61 2C 62 09 09 3B 5B 70 63 63 30 30 33 5D 20 .a,b..;[pcc003]
000050: 67 65 74 20 62 61 63 6B 20 63 68 72 0D 0A 09 61 get back chr...a
000060: 6E 69 09 31 33 37 6F 09 09 3B 5B 70 63 63 30 30 ni.137o..;[pcc00
000070: 33 5D 20 6D 61 6B 65 20 75 70 70 65 72 20 63 61 3] make upper ca
000080: 73 65 0D 0A 09 63 70 69 09 27 52 27 09 09 3B 5B se...cpi.'R'..;[
000090: 70 63 63 30 30 33 5D 20 49 73 20 69 74 20 52 0D pcc003] Is it R.
0000A0: 0A 09 6A 6E 7A 09 69 6E 74 63 68 36 09 09 3B 5B ..jnz.intch6..;[
0000B0: 70 63 63 30 30 33 5D 20 4A 75 6D 70 20 69 66 20 pcc003] Jump if
0000C0: 6E 6F 74 0D 0A 09 6D 76 69 09 61 2C 38 31 48 09 not...mvi.a,81H.
0000D0: 09 3B 5B 70 63 63 30 30 33 5D 20 73 65 74 20 66 .;[pcc003] set f
0000E0: 6C 61 67 20 66 6F 72 20 6C 6F 67 67 69 6E 67 0D lag for logging.
0000F0: 0A 09 73 74 61 09 6C 6F 67 66 6C 67 09 09 3B 5B ..sta.logflg..;[
000100: 70 63 63 30 30 33 5D 20 70 75 74 20 69 74 20 62 pcc003] put it b
000110: 61 63 6B 0D 0A 09 6C 78 69 09 64 2C 69 6E 6D 73 ack...lxi.d,inms
000120: 32 38 09 3B 5B 70 63 63 30 30 33 5D 20 6D 65 73 28.;[pcc003] mes
000130: 73 61 67 65 0D 0A 09 63 61 6C 6C 09 70 72 74 73 sage...call.prts
000140: 74 72 09 09 3B 5B 70 63 63 30 30 33 5D 0D 0A 09 tr..;[pcc003]...
000150: 6A 6D 70 09 72 73 6B 70 09 09 3B 5B 70 63 63 30 jmp.rskp..;[pcc0
000160: 30 33 5D 20 64 6F 6E 65 0D 0A 69 6E 74 63 68 36 03] done..intch6
000170: 3A 09 63 70 69 09 27 51 27 09 09 3B 5B 70 63 63 :.cpi.'Q'..;[pcc
000180: 30 30 33 5D 20 51 75 69 74 20 6C 6F 67 67 69 6E 003] Quit loggin
000190: 67 3F 0D 0A 09 6A 6E 7A 09 69 6E 74 63 68 37 09 g?...jnz.intch7.
0001A0: 09 3B 5B 70 63 63 30 30 33 5D 20 6E 6F 0D 0A 09 .;[pcc003] no...
0001B0: 6D 76 69 09 61 2C 38 32 48 09 09 3B 5B 70 63 63 mvi.a,82H..;[pcc
0001C0: 30 30 33 5D 20 66 6C 61 67 20 66 6F 72 20 6F 70 003] flag for op
0001D0: 65 6E 2C 20 62 75 74 20 73 75 73 70 65 6E 64 65 en, but suspende
0001E0: 64 0D 0A 09 73 74 61 09 6C 6F 67 66 6C 67 09 09 d...sta.logflg..
0001F0: 3B 5B 70 63 63 30 30 33 5D 20 73 74 6F 72 65 20 ;[pcc003] store
Size : 512 (Real : 512)
000000: 61 72 20 48 6F 72 69 7A 6F 6E 20 77 69 74 68 20 ar Horizon with
000010: 53 49 4F 2D 34 20 62 6F 61 72 64 2C 20 70 6F 72 SIO-4 board, por
000020: 74 20 35 20 61 74 20 31 32 30 30 20 5B 43 53 4D t 5 at 1200 [CSM
000030: 5D 0D 0A 3B 09 31 33 2D 4A 61 6E 2D 38 35 20 62 ]..;.13-Jan-85 b
000040: 79 20 56 61 6E 79 61 20 4A 2E 43 6F 6F 70 65 72 y Vanya J.Cooper
000050: 20 50 69 6D 61 20 43 6F 6D 6D 75 6E 2E 20 43 6F Pima Commun. Co
000060: 6C 6C 65 67 65 20 54 65 6C 3A 20 36 30 32 2D 38 llege Tel: 602-8
000070: 38 34 2D 36 38 30 39 0D 0A 3B 0D 0A 3B 70 63 63 84-6809..;..;pcc
000080: 30 30 31 09 32 37 2D 44 65 63 2D 38 34 09 76 6A 001.27-Dec-84.vj
000090: 63 09 6D 6F 64 75 6C 65 73 3A 20 63 70 34 73 79 c.modules: cp4sy
0000A0: 73 2C 63 70 34 74 79 70 0D 0A 3B 09 41 64 64 20 s,cp4typ..;.Add
0000B0: 63 6F 6E 64 69 74 69 6F 6E 61 6C 20 66 6F 72 20 conditional for
0000C0: 58 65 72 6F 78 20 38 32 30 2E 20 20 49 20 74 68 Xerox 820. I th
0000D0: 6F 75 67 68 74 20 61 74 20 66 69 72 73 74 20 49 ought at first I
0000E0: 20 63 6F 75 6C 64 0D 0A 3B 09 6C 69 76 65 20 77 could..;.live w
0000F0: 69 74 68 20 74 68 65 20 6B 61 79 70 72 6F 20 63 ith the kaypro c
000100: 6F 6E 64 69 74 69 6F 6E 61 6C 2C 20 62 75 74 20 onditional, but
000110: 69 74 27 73 20 65 6E 6F 75 67 68 20 6F 66 20 61 it's enough of a
000120: 20 70 61 69 6E 0D 0A 3B 09 74 68 61 74 20 49 20 pain..;.that I
000130: 61 64 64 65 64 20 69 74 20 62 61 63 6B 20 69 6E added it back in
000140: 2E 20 20 54 68 65 20 63 6C 65 61 72 2D 74 6F 2D . The clear-to-
000150: 65 6E 64 2D 6F 66 2D 73 63 72 65 65 6E 20 63 68 end-of-screen ch
000160: 61 72 0D 0A 3B 09 69 73 20 64 69 66 66 65 72 65 ar..;.is differe
000170: 6E 74 2C 20 20 62 72 65 61 6B 69 6E 67 20 6D 61 nt, breaking ma
000180: 6E 79 20 70 72 6F 67 72 61 6D 73 20 69 6E 20 56 ny programs in V
000190: 54 35 32 20 6D 6F 64 65 2C 20 61 6E 64 20 74 68 T52 mode, and th
0001A0: 65 0D 0A 3B 09 64 65 66 61 75 6C 74 20 65 73 63 e..;.default esc
0001B0: 61 70 65 20 63 68 61 72 20 63 6F 6E 74 72 6F 6C ape char control
0001C0: 2D 5C 2C 20 69 73 20 6E 6F 74 20 61 74 20 61 6C -\, is not at al
0001D0: 6C 20 6F 62 76 69 6F 75 73 20 68 6F 77 0D 0A 3B l obvious how..;
0001E0: 09 74 6F 20 74 79 70 65 20 6F 6E 20 74 68 65 20 .to type on the
0001F0: 38 32 30 20 6B 65 79 62 6F 61 72 64 2E 20 20 49 820 keyboard. I
Size : 512 (Real : 512)
000000: 61 77 61 79 0D 0A 09 6C 78 69 09 64 2C 69 6E 6D away...lxi.d,inm
000010: 73 32 37 09 3B 5B 70 63 63 30 30 33 5D 20 6B 65 s27.;[pcc003] ke
000020: 65 70 20 74 68 65 6D 20 69 6E 66 6F 72 6D 65 64 ep them informed
000030: 0D 0A 09 63 61 6C 6C 09 70 72 74 73 74 72 09 09 ...call.prtstr..
000040: 3B 5B 70 63 63 30 30 33 5D 0D 0A 09 6A 6D 70 09 ;[pcc003]...jmp.
000050: 72 73 6B 70 09 09 3B 5B 70 63 63 30 30 33 5D 0D rskp..;[pcc003].
000060: 0A 69 6E 74 63 68 37 3A 09 09 09 09 3B 5B 70 63 .intch7:....;[pc
000070: 63 30 30 33 5D 0D 0A 0D 0A 69 6E 74 63 68 7A 3A c003]....intchz:
000080: 09 6D 6F 76 09 61 2C 62 09 09 3B 20 6E 6F 74 20 .mov.a,b..; not
000090: 72 65 63 6F 67 6E 69 7A 65 64 2E 20 67 65 74 20 recognized. get
0000A0: 73 61 76 65 64 20 63 6F 70 79 20 62 61 63 6B 2E saved copy back.
0000B0: 0D 0A 09 63 61 6C 6C 09 73 79 73 69 6E 74 09 09 ...call.sysint..
0000C0: 3B 20 69 6E 74 65 72 70 72 65 74 20 73 79 73 74 ; interpret syst
0000D0: 65 6D 2D 64 65 70 65 6E 64 65 6E 74 20 73 65 71 em-dependent seq
0000E0: 75 65 6E 63 65 73 0D 0A 09 20 6A 6D 70 09 72 73 uences... jmp.rs
0000F0: 6B 70 09 09 3B 20 20 64 6F 6E 65 2E 20 72 65 74 kp..; done. ret
000100: 75 72 6E 20 28 66 72 6F 6D 20 63 6F 6E 63 68 72 urn (from conchr
000110: 29 2E 0D 0A 09 6D 76 69 09 65 2C 27 47 27 2D 31 )....mvi.e,'G'-1
000120: 30 30 4F 09 3B 4F 74 68 65 72 77 69 73 65 20 73 00O.;Otherwise s
000130: 65 6E 64 20 61 20 62 65 65 70 2E 0D 0A 09 63 61 end a beep....ca
000140: 6C 6C 09 6F 75 74 63 6F 6E 09 09 3B 20 74 6F 20 ll.outcon..; to
000150: 74 68 65 20 63 6F 6E 73 6F 6C 65 2E 0D 0A 09 6A the console....j
000160: 6D 70 09 72 73 6B 70 0D 0A 3B 0C 0D 0A 49 46 20 mp.rskp..;...IF
000170: 6C 61 73 6D 0D 0A 09 4C 49 4E 4B 09 43 50 34 43 lasm...LINK.CP4C
000180: 50 4D 0D 0A 45 4E 44 49 46 3B 6C 61 73 6D 0D 0A PM..ENDIF;lasm..
000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001A0: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001C0: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: E5 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: 66 20 79 6F 75 20 6D 75 64 64 6C 65 20 74 68 72 f you muddle thr
000010: 6F 75 67 68 20 74 68 65 0D 0A 3B 09 6B 65 79 20 ough the..;.key
000020: 74 72 61 6E 73 6C 61 74 69 6F 6E 20 74 61 62 6C translation tabl
000030: 65 2C 20 69 74 20 74 75 72 6E 73 20 6F 75 74 20 e, it turns out
000040: 74 6F 20 62 65 20 63 6F 6E 74 72 6F 6C 2D 63 6F to be control-co
000050: 6D 6D 61 2E 0D 0A 3B 09 52 61 74 68 65 72 20 74 mma...;.Rather t
000060: 68 61 6E 20 4F 52 20 78 65 72 38 32 30 20 61 6C han OR xer820 al
000070: 6C 20 74 68 65 20 6F 63 63 75 72 61 6E 63 65 73 l the occurances
000080: 20 6F 66 20 6B 70 49 49 20 63 6F 6E 64 69 74 69 of kpII conditi
000090: 6F 6E 61 6C 73 0D 0A 3B 09 49 20 61 64 64 65 64 onals..;.I added
0000A0: 20 61 20 62 62 49 20 63 6F 6E 64 69 74 69 6F 6E a bbI condition
0000B0: 61 6C 20 66 6F 72 20 61 6C 6C 20 63 6F 6D 6D 6F al for all commo
0000C0: 6E 20 63 6F 64 65 20 66 6F 72 20 74 68 65 20 62 n code for the b
0000D0: 69 67 0D 0A 3B 09 62 6F 61 72 64 20 49 20 62 61 ig..;.board I ba
0000E0: 73 65 64 20 6D 61 63 68 69 6E 65 73 20 74 68 61 sed machines tha
0000F0: 74 20 69 73 20 61 75 74 6F 6D 61 74 69 63 61 6C t is automatical
000100: 6C 79 20 74 75 72 6E 65 64 20 6F 6E 20 62 79 0D ly turned on by.
000110: 0A 3B 09 65 69 74 68 65 72 20 6B 70 49 49 20 6F .;.either kpII o
000120: 72 20 78 65 72 38 32 30 2E 20 20 54 68 69 73 20 r xer820. This
000130: 77 69 6C 6C 20 61 6C 73 6F 20 6D 61 6B 65 20 69 will also make i
000140: 74 20 65 61 73 69 65 72 20 69 6E 0D 0A 3B 09 74 t easier in..;.t
000150: 68 65 20 66 75 74 75 72 65 20 69 66 20 61 6E 6F he future if ano
000160: 74 68 65 72 20 66 6C 61 76 6F 72 20 6F 66 20 62 ther flavor of b
000170: 69 67 62 6F 61 72 64 20 69 73 20 61 64 64 65 64 igboard is added
000180: 2E 0D 0A 3B 0D 0A 3B 70 63 63 30 31 30 09 32 2D ...;..;pcc010.2-
000190: 4A 61 6E 2D 38 35 09 76 6A 63 09 6D 6F 64 75 6C Jan-85.vjc.modul
0001A0: 65 73 3A 63 70 34 70 6B 74 2C 63 70 34 74 79 70 es:cp4pkt,cp4typ
0001B0: 0D 0A 3B 09 43 6F 6E 74 72 6F 6C 2D 43 20 64 75 ..;.Control-C du
0001C0: 72 69 6E 67 20 73 65 6E 64 20 6F 72 20 72 65 63 ring send or rec
0001D0: 69 65 76 65 20 63 6C 6F 62 62 65 72 73 20 73 6F ieve clobbers so
0001E0: 6D 65 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E me of the screen
0001F0: 0D 0A 3B 09 61 6E 64 20 64 6F 65 73 6E 27 74 20 ..;.and doesn't
Size : 512 (Real : 512)
000000: 0A 67 65 6E 65 72 09 45 51 55 09 46 41 4C 53 45 .gener.EQU.FALSE
000010: 09 09 3B 22 47 65 6E 65 72 69 63 22 20 4B 65 72 ..;"Generic" Ker
000020: 6D 69 74 2D 38 30 2C 20 43 50 2F 4D 20 63 61 6C mit-80, CP/M cal
000030: 6C 73 20 6F 6E 6C 79 2E 0D 0A 09 09 09 09 3B 20 ls only.......;
000040: 28 74 65 72 6D 69 6E 61 6C 20 72 65 71 75 69 72 (terminal requir
000050: 65 64 29 0D 0A 64 6D 49 49 09 45 51 55 09 46 41 ed)..dmII.EQU.FA
000060: 4C 53 45 09 09 3B 22 47 65 6E 65 72 69 63 22 20 LSE..;"Generic"
000070: 4B 45 52 4D 49 54 2D 38 30 20 66 6F 72 20 44 45 KERMIT-80 for DE
000080: 43 4D 41 54 45 20 49 49 2E 0D 0A 6D 69 6B 6B 6F CMATE II...mikko
000090: 09 45 51 55 09 46 41 4C 53 45 09 09 3B 22 47 65 .EQU.FALSE..;"Ge
0000A0: 6E 65 72 69 63 22 20 4B 45 52 4D 49 54 2D 38 30 neric" KERMIT-80
0000B0: 20 66 6F 72 20 4D 69 6B 72 6F 4D 69 6B 6B 6F 0D for MikroMikko.
0000C0: 0A 0D 0A 49 46 20 72 6F 62 69 6E 20 4F 52 20 64 ...IF robin OR d
0000D0: 6D 49 49 20 4F 52 20 67 65 6E 65 72 20 4F 52 20 mII OR gener OR
0000E0: 6D 69 6B 6B 6F 0D 0A 69 6F 62 79 74 09 45 51 55 mikko..iobyt.EQU
0000F0: 09 54 52 55 45 09 09 3B 53 68 6F 72 74 20 63 6F .TRUE..;Short co
000100: 6E 64 69 74 69 6F 6E 61 6C 20 66 6F 72 20 61 62 nditional for ab
000110: 6F 76 65 0D 0A 69 6E 6F 75 74 09 45 51 55 09 46 ove..inout.EQU.F
000120: 41 4C 53 45 0D 0A 45 4E 44 49 46 3B 72 6F 62 69 ALSE..ENDIF;robi
000130: 6E 20 4F 52 20 64 6D 49 49 20 4F 52 20 67 65 6E n OR dmII OR gen
000140: 65 72 0D 0A 0D 0A 3B 2E 2E 20 61 6E 64 20 53 79 er....;.. and Sy
000150: 73 74 65 6D 73 20 73 75 70 70 6F 72 74 69 6E 67 stems supporting
000160: 20 64 69 72 65 63 74 20 49 4E 20 2F 20 4F 55 54 direct IN / OUT
000170: 20 68 61 6E 64 6C 69 6E 67 20 6F 66 20 70 6F 72 handling of por
000180: 74 73 0D 0A 62 72 61 69 6E 09 45 51 55 09 46 41 ts..brain.EQU.FA
000190: 4C 53 45 09 09 3B 46 6F 72 20 49 6E 74 65 72 74 LSE..;For Intert
0001A0: 65 63 20 53 75 70 65 72 42 72 61 69 6E 2E 0D 0A ec SuperBrain...
0001B0: 76 65 63 74 6F 72 09 45 51 55 09 46 41 4C 53 45 vector.EQU.FALSE
0001C0: 09 09 3B 46 6F 72 20 56 65 63 74 6F 72 20 47 72 ..;For Vector Gr
0001D0: 61 70 68 69 63 73 2E 0D 0A 68 65 61 74 68 09 45 aphics...heath.E
0001E0: 51 55 09 46 41 4C 53 45 09 09 3B 46 6F 72 20 48 QU.FALSE..;For H
0001F0: 65 61 74 68 2F 5A 65 6E 69 74 68 20 48 38 39 2E eath/Zenith H89.
Size : 512 (Real : 512)
000000: 6C 6F 6F 6B 20 6E 69 63 65 2E 20 20 50 6F 73 69 look nice. Posi
000010: 74 69 6F 6E 20 74 68 65 20 63 75 72 73 6F 72 20 tion the cursor
000020: 74 6F 20 65 6E 64 20 6F 66 20 73 63 72 65 65 6E to end of screen
000030: 0D 0A 3B 09 62 65 66 6F 72 65 20 72 65 74 75 72 ..;.before retur
000040: 6E 69 6E 67 20 74 6F 20 6D 61 69 6E 20 6C 6F 6F ning to main loo
000050: 70 2E 0D 0A 3B 0D 0A 3B 70 63 63 30 31 33 09 38 p...;..;pcc013.8
000060: 2D 4A 61 6E 2D 38 35 09 76 6A 63 09 6D 6F 64 75 -Jan-85.vjc.modu
000070: 6C 65 73 3A 63 70 34 6D 69 74 2C 63 70 34 75 74 les:cp4mit,cp4ut
000080: 6C 2C 63 70 34 74 79 70 0D 0A 3B 09 52 65 70 6C l,cp4typ..;.Repl
000090: 61 63 65 20 43 4C 4F 53 45 20 63 6F 6D 6D 61 6E ace CLOSE comman
0000A0: 64 20 74 6F 20 63 61 6E 63 65 6C 20 73 65 73 73 d to cancel sess
0000B0: 69 6F 6E 20 6C 6F 67 67 69 6E 67 20 74 6F 20 53 ion logging to S
0000C0: 45 54 0D 0A 3B 09 4C 4F 47 47 49 4E 47 20 4F 4E ET..;.LOGGING ON
0000D0: 2F 4F 46 46 2E 20 20 54 68 69 73 20 73 65 65 6D /OFF. This seem
0000E0: 73 20 74 6F 20 66 69 74 20 69 6E 20 77 69 74 68 s to fit in with
0000F0: 20 74 68 65 20 63 6F 6D 6D 61 6E 64 0D 0A 3B 09 the command..;.
000100: 73 74 72 75 63 74 75 72 65 20 62 65 74 74 65 72 structure better
000110: 2E 20 20 44 65 66 61 75 6C 74 20 74 68 65 20 6C . Default the l
000120: 6F 67 20 66 69 6C 65 20 74 6F 20 4B 45 52 4D 49 og file to KERMI
000130: 54 2E 4C 4F 47 0D 0A 3B 09 69 6E 63 61 73 65 20 T.LOG..;.incase
000140: 6E 6F 20 70 72 65 76 69 6F 75 73 20 4C 4F 47 20 no previous LOG
000150: 63 6F 6D 6D 61 6E 64 2E 20 20 4C 6F 67 67 69 6E command. Loggin
000160: 67 20 69 73 20 61 6C 73 6F 20 65 6E 61 62 6C 65 g is also enable
000170: 64 0D 0A 3B 09 62 79 20 4C 4F 47 20 63 6F 6D 6D d..;.by LOG comm
000180: 61 6E 64 2C 20 61 73 20 62 65 66 6F 72 65 2E 0D and, as before..
000190: 0A 3B 0D 0A 3B 20 65 64 69 74 20 35 3A 20 4F 63 .;..; edit 5: Oc
0001A0: 74 6F 62 65 72 20 31 33 2C 20 31 39 38 34 20 62 tober 13, 1984 b
0001B0: 79 20 4C 20 4D 20 4A 6F 6E 65 73 2C 20 4A 43 43 y L M Jones, JCC
0001C0: 2C 20 66 6F 72 20 4E 65 77 20 59 6F 72 6B 20 42 , for New York B
0001D0: 6F 74 61 6E 69 63 61 6C 20 47 61 72 64 65 6E 0D otanical Garden.
0001E0: 0A 3B 09 41 64 64 20 73 75 70 70 6F 72 74 20 66 .;.Add support f
0001F0: 6F 72 20 43 50 54 2D 38 35 78 78 20 73 65 72 69 or CPT-85xx seri
Size : 512 (Real : 512)
000000: 0D 0A 7A 31 30 30 09 45 51 55 09 46 41 4C 53 45 ..z100.EQU.FALSE
000010: 09 09 3B 46 6F 72 20 5A 2D 31 30 30 20 75 6E 64 ..;For Z-100 und
000020: 65 72 20 43 50 2F 4D 2D 38 35 2E 0D 0A 74 72 73 er CP/M-85...trs
000030: 38 30 6C 62 09 45 51 55 09 46 41 4C 53 45 09 09 80lb.EQU.FALSE..
000040: 3B 46 6F 72 20 4C 69 66 65 62 6F 61 74 20 32 2E ;For Lifeboat 2.
000050: 32 35 43 20 43 50 2F 4D 20 44 69 73 70 6C 61 79 25C CP/M Display
000060: 0D 0A 74 72 73 38 30 70 74 09 45 51 55 09 46 41 ..trs80pt.EQU.FA
000070: 4C 53 45 09 09 3B 46 6F 72 20 50 69 63 6B 6C 65 LSE..;For Pickle
000080: 73 20 2B 20 54 72 6F 75 74 20 43 50 2F 4D 20 44 s + Trout CP/M D
000090: 69 73 70 6C 61 79 0D 0A 74 65 6C 63 6F 6E 09 45 isplay..telcon.E
0000A0: 51 55 09 46 41 4C 53 45 09 09 3B 46 6F 72 20 54 QU.FALSE..;For T
0000B0: 45 4C 43 4F 4E 20 5A 6F 72 62 61 20 70 6F 72 74 ELCON Zorba port
0000C0: 61 62 6C 65 0D 0A 6B 70 49 49 09 45 51 55 09 46 able..kpII.EQU.F
0000D0: 41 4C 53 45 09 09 3B 4B 61 79 70 72 6F 2D 49 49 ALSE..;Kaypro-II
0000E0: 0D 0A 78 65 72 38 32 30 09 45 51 55 09 46 41 4C ..xer820.EQU.FAL
0000F0: 53 45 09 09 3B 5B 70 63 63 30 30 31 5D 20 58 65 SE..;[pcc001] Xe
000100: 72 6F 78 20 38 32 30 0D 0A 62 62 49 49 09 45 51 rox 820..bbII.EQ
000110: 55 09 54 52 55 45 09 09 3B 42 69 67 42 6F 61 72 U.TRUE..;BigBoar
000120: 64 20 49 49 20 28 74 65 72 6D 69 6E 61 6C 20 72 d II (terminal r
000130: 65 71 75 69 72 65 64 29 0D 0A 6D 6D 64 49 09 45 equired)..mmdI.E
000140: 51 55 09 46 41 4C 53 45 09 09 3B 4D 6F 72 72 6F QU.FALSE..;Morro
000150: 77 20 4D 69 63 72 6F 20 44 65 63 69 73 69 6F 6E w Micro Decision
000160: 20 49 20 28 74 65 72 6D 69 6E 61 6C 20 72 65 71 I (terminal req
000170: 75 69 72 65 64 29 0D 0A 6D 64 49 09 45 51 55 09 uired)..mdI.EQU.
000180: 46 41 4C 53 45 09 09 3B 4D 6F 72 72 6F 77 20 44 FALSE..;Morrow D
000190: 65 63 69 73 69 6F 6E 20 49 20 28 74 68 65 20 62 ecision I (the b
0001A0: 69 67 20 73 75 63 6B 65 72 29 0D 0A 09 09 09 09 ig sucker)......
0001B0: 3B 20 28 74 65 72 6D 69 6E 61 6C 20 72 65 71 75 ; (terminal requ
0001C0: 69 72 65 64 29 20 5B 54 6F 61 64 20 48 61 6C 6C ired) [Toad Hall
0001D0: 5D 0D 0A 64 65 6C 70 68 69 09 45 51 55 09 46 41 ]..delphi.EQU.FA
0001E0: 4C 53 45 09 09 3B 44 69 67 69 63 6F 6D 70 20 44 LSE..;Digicomp D
0001F0: 65 6C 70 68 69 20 31 30 30 20 28 74 65 72 6D 69 elphi 100 (termi
Size : 512 (Real : 512)
000000: 65 73 20 6F 66 20 77 6F 72 64 20 70 72 6F 63 65 es of word proce
000010: 73 73 6F 72 73 20 77 68 65 6E 20 72 75 6E 6E 69 ssors when runni
000020: 6E 67 20 43 50 2F 4D 2E 0D 0A 3B 0D 0A 3B 20 65 ng CP/M...;..; e
000030: 64 69 74 20 34 3A 20 41 75 67 75 73 74 20 32 39 dit 4: August 29
000040: 2C 20 31 39 38 34 20 62 79 20 42 64 61 6C 65 20 , 1984 by Bdale
000050: 47 61 72 62 65 65 20 40 20 43 4D 55 0D 0A 3B 09 Garbee @ CMU..;.
000060: 41 64 64 20 73 75 70 70 6F 72 74 20 66 6F 72 20 Add support for
000070: 44 69 67 69 63 6F 6D 70 20 44 65 6C 70 68 69 20 Digicomp Delphi
000080: 31 30 30 20 61 6E 64 20 4E 65 74 72 6F 6E 69 63 100 and Netronic
000090: 73 20 53 6D 61 72 74 76 69 64 20 74 65 72 6D 69 s Smartvid termi
0000A0: 6E 61 6C 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 nal...;..; edit
0000B0: 33 3A 20 4A 75 6C 79 20 32 37 2C 20 31 39 38 34 3: July 27, 1984
0000C0: 20 28 43 4A 43 29 0D 0A 3B 09 53 68 75 66 66 6C (CJC)..;.Shuffl
0000D0: 65 20 66 69 6C 65 73 20 61 72 6F 75 6E 64 20 66 e files around f
0000E0: 6F 72 20 65 61 73 69 65 72 20 61 73 73 65 6D 62 or easier assemb
0000F0: 6C 79 20 62 79 20 62 6F 74 68 20 4D 38 30 20 61 ly by both M80 a
000100: 6E 64 20 4C 41 53 4D 2E 0D 0A 3B 0D 0A 3B 20 65 nd LASM...;..; e
000110: 64 69 74 20 32 3A 20 4A 75 6E 65 20 34 2C 20 31 dit 2: June 4, 1
000120: 39 38 34 20 5B 54 6F 61 64 20 48 61 6C 6C 5D 0D 984 [Toad Hall].
000130: 0A 3B 09 41 64 64 65 64 20 4D 6F 72 72 6F 77 20 .;.Added Morrow
000140: 44 65 63 69 73 69 6F 6E 20 49 20 28 74 68 65 20 Decision I (the
000150: 62 69 67 20 53 31 30 30 20 62 75 73 20 73 75 63 big S100 bus suc
000160: 6B 65 72 2C 20 6E 6F 74 20 74 68 65 0D 0A 3B 09 ker, not the..;.
000170: 6C 69 74 74 6C 65 20 73 69 6E 67 6C 65 20 6D 6F little single mo
000180: 74 68 65 72 62 6F 61 72 64 20 6F 6E 65 29 3B 20 therboard one);
000190: 61 64 64 65 64 20 54 6F 61 64 20 48 61 6C 6C 20 added Toad Hall
0001A0: 54 41 43 54 72 61 70 20 74 6F 20 64 65 61 6C 0D TACTrap to deal.
0001B0: 0A 3B 09 77 69 74 68 20 74 68 6F 73 65 20 77 6F .;.with those wo
0001C0: 72 6B 69 6E 67 20 74 68 72 6F 75 67 68 20 61 20 rking through a
0001D0: 54 41 43 20 61 6E 64 20 69 74 73 20 69 6E 74 65 TAC and its inte
0001E0: 72 63 65 70 74 20 63 68 61 72 61 63 74 65 72 2E rcept character.
0001F0: 0D 0A 3B 0D 0A 3B 20 65 64 69 74 20 31 3A 20 4D ..;..; edit 1: M
Size : 512 (Real : 512)
000000: 6E 61 6C 20 72 65 71 75 69 72 65 64 29 0D 0A 63 nal required)..c
000010: 70 74 38 35 78 78 09 45 51 55 09 46 41 4C 53 45 pt85xx.EQU.FALSE
000020: 09 09 3B 43 50 54 2D 38 35 78 78 20 77 6F 72 64 ..;CPT-85xx word
000030: 20 70 72 6F 63 65 73 73 6F 72 20 77 2F 43 50 4D processor w/CPM
000040: 20 28 73 65 74 20 41 44 4D 33 41 20 74 72 75 65 (set ADM3A true
000050: 29 0D 0A 6E 6F 72 74 68 73 09 45 51 55 09 46 41 )..norths.EQU.FA
000060: 4C 53 45 09 09 3B 5B 43 53 4D 5D 20 4E 6F 72 74 LSE..;[CSM] Nort
000070: 68 53 74 61 72 20 48 6F 72 69 7A 6F 6E 20 77 69 hStar Horizon wi
000080: 74 68 20 48 53 49 4F 2D 34 20 62 6F 61 72 64 0D th HSIO-4 board.
000090: 0A 09 09 09 09 3B 20 28 74 65 72 6D 69 6E 61 6C .....; (terminal
0000A0: 20 72 65 71 75 69 72 65 64 29 0D 0A 0D 0A 74 72 required)....tr
0000B0: 73 38 30 09 45 51 55 09 74 72 73 38 30 6C 62 20 s80.EQU.trs80lb
0000C0: 4F 52 20 74 72 73 38 30 70 74 20 3B 20 69 66 20 OR trs80pt ; if
0000D0: 65 69 74 68 65 72 2C 20 66 6C 61 67 20 54 52 53 either, flag TRS
0000E0: 2D 38 30 20 73 79 73 74 65 6D 2E 0D 0A 62 62 49 -80 system...bbI
0000F0: 09 45 51 55 09 6B 70 49 49 20 4F 52 20 78 65 72 .EQU.kpII OR xer
000100: 38 32 30 09 3B 5B 70 63 63 30 30 31 5D 20 66 6C 820.;[pcc001] fl
000110: 61 67 20 66 6F 72 20 62 69 67 62 6F 61 72 64 20 ag for bigboard
000120: 49 0D 0A 0D 0A 49 46 20 62 72 61 69 6E 20 4F 52 I....IF brain OR
000130: 20 76 65 63 74 6F 72 20 4F 52 20 68 65 61 74 68 vector OR heath
000140: 20 4F 52 20 7A 31 30 30 20 4F 52 20 74 72 73 38 OR z100 OR trs8
000150: 30 20 4F 52 20 74 65 6C 63 6F 6E 20 4F 52 20 62 0 OR telcon OR b
000160: 62 49 0D 0A 69 6E 6F 75 74 09 45 51 55 09 54 52 bI..inout.EQU.TR
000170: 55 45 09 09 3B 53 68 6F 72 74 20 63 6F 6E 64 69 UE..;Short condi
000180: 74 69 6F 6E 61 6C 20 66 6F 72 20 61 62 6F 76 65 tional for above
000190: 0D 0A 69 6F 62 79 74 09 45 51 55 09 46 41 4C 53 ..iobyt.EQU.FALS
0001A0: 45 0D 0A 45 4E 44 49 46 3B 62 72 61 69 6E 20 4F E..ENDIF;brain O
0001B0: 52 20 76 65 63 74 6F 72 20 4F 52 20 68 65 61 74 R vector OR heat
0001C0: 68 20 4F 52 20 7A 31 30 30 20 4F 52 20 74 72 73 h OR z100 OR trs
0001D0: 38 30 20 4F 52 20 74 65 6C 63 6F 6E 20 4F 52 20 80 OR telcon OR
0001E0: 6B 70 49 49 0D 0A 0D 0A 49 46 20 62 62 49 49 20 kpII....IF bbII
0001F0: 4F 52 20 6D 6D 64 49 20 4F 52 20 6D 64 49 20 4F OR mmdI OR mdI O
Size : 512 (Real : 512)
000000: 61 79 2C 20 31 39 38 34 20 28 43 4A 43 29 0D 0A ay, 1984 (CJC)..
000010: 3B 09 65 78 74 72 61 63 74 65 64 20 66 72 6F 6D ;.extracted from
000020: 20 43 50 4D 42 41 53 45 2E 4D 38 30 20 76 65 72 CPMBASE.M80 ver
000030: 73 69 6F 6E 20 33 2E 39 3B 20 6D 6F 64 69 66 69 sion 3.9; modifi
000040: 63 61 74 69 6F 6E 73 20 61 72 65 20 64 65 73 63 cations are desc
000050: 72 69 62 65 64 0D 0A 3B 09 69 6E 20 74 68 65 20 ribed..;.in the
000060: 61 63 63 6F 6D 70 61 6E 79 69 6E 67 20 2E 55 50 accompanying .UP
000070: 44 20 66 69 6C 65 2E 0D 0A 3B 0D 0A 0D 0A 46 41 D file...;....FA
000080: 4C 53 45 09 45 51 55 09 30 0D 0A 54 52 55 45 09 LSE.EQU.0..TRUE.
000090: 45 51 55 09 4E 4F 54 20 46 41 4C 53 45 0D 0A 0D EQU.NOT FALSE...
0000A0: 0A 3B 0D 0A 3B 20 41 73 73 65 6D 62 6C 65 72 20 .;..; Assembler
0000B0: 74 79 70 65 2E 20 20 44 65 66 69 6E 65 20 74 68 type. Define th
0000C0: 65 20 61 70 70 72 6F 70 72 69 61 74 65 20 6F 6E e appropriate on
0000D0: 65 20 54 52 55 45 2C 20 74 68 65 20 72 65 73 74 e TRUE, the rest
0000E0: 20 46 41 4C 53 45 2E 20 20 28 57 65 20 63 61 6E FALSE. (We can
0000F0: 27 74 0D 0A 3B 20 75 73 65 20 41 53 4D 2C 20 62 't..; use ASM, b
000100: 65 63 61 75 73 65 20 69 74 20 63 61 6E 6E 6F 74 ecause it cannot
000110: 20 68 61 6E 64 6C 65 20 6D 75 6C 74 69 70 6C 65 handle multiple
000120: 20 69 6E 70 75 74 20 66 69 6C 65 73 29 0D 0A 6D input files)..m
000130: 61 63 38 30 09 45 51 55 09 46 41 4C 53 45 09 09 ac80.EQU.FALSE..
000140: 3B 20 46 6F 72 20 61 73 73 65 6D 62 6C 79 20 76 ; For assembly v
000150: 69 61 20 4D 41 43 38 30 20 63 72 6F 73 73 2D 61 ia MAC80 cross-a
000160: 73 73 65 6D 62 6C 65 72 2E 0D 0A 6D 38 30 09 45 ssembler...m80.E
000170: 51 55 09 46 41 4C 53 45 09 09 3B 20 46 6F 72 20 QU.FALSE..; For
000180: 61 73 73 65 6D 62 6C 79 20 76 69 61 20 4D 69 63 assembly via Mic
000190: 72 6F 73 6F 66 74 27 73 20 4D 38 30 2E 0D 0A 6C rosoft's M80...l
0001A0: 61 73 6D 09 45 51 55 09 54 52 55 45 09 09 3B 20 asm.EQU.TRUE..;
0001B0: 46 6F 72 20 61 73 73 65 6D 62 6C 79 20 76 69 61 For assembly via
0001C0: 20 4C 41 53 4D 2C 20 61 20 70 75 62 6C 69 63 2D LASM, a public-
0001D0: 64 6F 6D 61 69 6E 0D 0A 09 09 09 09 3B 20 61 73 domain......; as
0001E0: 73 65 6D 62 6C 65 72 2E 0D 0A 0D 0A 3B 0D 0A 3B sembler.....;..;
0001F0: 09 41 64 64 72 65 73 73 20 61 74 20 77 68 69 63 .Address at whic
Size : 512 (Real : 512)
000000: 52 20 64 65 6C 70 68 69 20 4F 52 20 63 70 74 38 R delphi OR cpt8
000010: 35 78 78 20 4F 52 20 6E 6F 72 74 68 73 09 3B 72 5xx OR norths.;r
000020: 75 6E 6E 69 6E 67 20 6F 75 74 20 6F 66 20 72 6F unning out of ro
000030: 6F 6D 0D 0A 69 6E 6F 75 74 09 45 51 55 09 54 52 om..inout.EQU.TR
000040: 55 45 09 09 3B 53 68 6F 72 74 20 63 6F 6E 64 69 UE..;Short condi
000050: 74 69 6F 6E 61 6C 20 66 6F 72 20 61 62 6F 76 65 tional for above
000060: 0D 0A 69 6F 62 79 74 09 45 51 55 09 46 41 4C 53 ..iobyt.EQU.FALS
000070: 45 0D 0A 45 4E 44 49 46 3B 62 62 49 49 20 4F 52 E..ENDIF;bbII OR
000080: 20 6D 6D 64 49 20 4F 52 20 6D 64 49 20 4F 52 20 mmdI OR mdI OR
000090: 64 65 6C 70 68 69 20 4F 52 20 63 70 74 38 35 78 delphi OR cpt85x
0000A0: 78 20 4F 52 20 6E 6F 72 74 68 73 0D 0A 0D 0A 3B x OR norths....;
0000B0: 2E 2E 20 61 6E 64 20 53 79 73 74 65 6D 73 20 64 .. and Systems d
0000C0: 6F 69 6E 67 20 6E 65 69 74 68 65 72 2E 2E 2E 0D oing neither....
0000D0: 0A 6F 73 69 09 45 51 55 09 46 41 4C 53 45 09 09 .osi.EQU.FALSE..
0000E0: 3B 46 6F 72 20 4F 68 69 6F 20 53 63 69 65 6E 74 ;For Ohio Scient
0000F0: 69 66 69 63 2E 0D 0A 6F 73 62 72 6E 31 09 45 51 ific...osbrn1.EQ
000100: 55 09 46 41 4C 53 45 09 09 3B 46 6F 72 20 4F 73 U.FALSE..;For Os
000110: 62 6F 72 6E 65 20 31 0D 0A 63 70 6D 33 09 45 51 borne 1..cpm3.EQ
000120: 55 09 46 41 4C 53 45 09 09 3B 22 47 65 6E 65 72 U.FALSE..;"Gener
000130: 69 63 22 20 4B 65 72 6D 69 74 2D 38 30 20 66 6F ic" Kermit-80 fo
000140: 72 20 43 50 2F 4D 20 33 2E 30 20 28 43 50 2F 4D r CP/M 3.0 (CP/M
000150: 20 50 6C 75 73 29 0D 0A 09 09 09 09 3B 20 28 74 Plus)......; (t
000160: 65 72 6D 69 6E 61 6C 20 72 65 71 75 69 72 65 64 erminal required
000170: 29 0D 0A 6C 6F 62 6F 09 45 51 55 09 46 41 4C 53 )..lobo.EQU.FALS
000180: 45 09 09 3B 4C 6F 62 6F 20 4D 61 78 2D 38 30 0D E..;Lobo Max-80.
000190: 0A 61 70 6D 6D 64 6D 09 45 51 55 09 46 41 4C 53 .apmmdm.EQU.FALS
0001A0: 45 09 09 3B 6A 62 20 4D 69 63 72 6F 6D 6F 64 65 E..;jb Micromode
0001B0: 6D 20 49 49 20 69 6E 20 73 6C 6F 74 20 32 0D 0A m II in slot 2..
0001C0: 61 70 36 35 35 31 09 45 51 55 09 46 41 4C 53 45 ap6551.EQU.FALSE
0001D0: 09 09 3B 6A 62 20 61 70 70 6C 65 20 77 69 74 68 ..;jb apple with
0001E0: 20 36 35 35 31 20 41 43 49 41 20 69 6E 20 73 65 6551 ACIA in se
0001F0: 72 69 61 6C 20 69 6E 74 65 72 66 61 63 65 0D 0A rial interface..
Size : 512 (Real : 512)
000000: 68 20 74 68 65 20 6F 76 65 72 6C 61 79 20 73 68 h the overlay sh
000010: 6F 75 6C 64 20 62 65 20 6C 6F 61 64 65 64 2E 20 ould be loaded.
000020: 20 54 68 69 73 20 77 69 6C 6C 20 6E 6F 74 0D 0A This will not..
000030: 3B 09 63 68 61 6E 67 65 20 6F 66 74 65 6E 20 28 ;.change often (
000040: 6E 6F 20 6D 6F 72 65 20 74 68 61 6E 20 6F 6E 63 no more than onc
000050: 65 20 70 65 72 20 76 65 72 73 69 6F 6E 20 6F 66 e per version of
000060: 20 4B 45 52 4D 49 54 29 3B 20 69 74 20 73 68 6F KERMIT); it sho
000070: 75 6C 64 0D 0A 3B 09 62 65 20 75 70 64 61 74 65 uld..;.be update
000080: 64 20 77 68 65 6E 20 61 20 6E 65 77 20 76 65 72 d when a new ver
000090: 73 69 6F 6E 20 6F 66 20 4B 45 52 4D 49 54 20 69 sion of KERMIT i
0000A0: 73 20 72 65 6C 65 61 73 65 64 2E 0D 0A 6F 76 6C s released...ovl
0000B0: 61 64 72 09 45 51 55 09 33 37 30 30 48 09 09 3B adr.EQU.3700H..;
0000C0: 20 5B 70 63 63 30 31 33 5D 20 76 61 6C 75 65 20 [pcc013] value
0000D0: 66 6F 72 20 4B 45 52 4D 49 54 20 76 34 2E 30 34 for KERMIT v4.04
0000E0: 0D 0A 0D 0A 3B 57 68 69 63 68 20 43 50 2F 4D 20 ....;Which CP/M
0000F0: 73 79 73 74 65 6D 20 68 61 72 64 77 61 72 65 20 system hardware
000100: 61 72 65 20 77 65 20 62 75 69 6C 64 69 6E 67 20 are we building
000110: 4B 45 52 4D 49 54 2D 38 30 20 66 6F 72 3F 0D 0A KERMIT-80 for?..
000120: 3B 4F 6E 65 20 6F 66 20 74 68 65 20 66 6F 6C 6C ;One of the foll
000130: 6F 77 69 6E 67 20 73 68 6F 75 6C 64 20 62 65 20 owing should be
000140: 54 52 55 45 2C 20 74 68 65 20 72 65 73 74 20 46 TRUE, the rest F
000150: 41 4C 53 45 3A 0D 0A 3B 0D 0A 3B 57 65 20 68 61 ALSE:..;..;We ha
000160: 76 65 20 62 61 73 69 63 61 6C 6C 79 20 74 68 72 ve basically thr
000170: 65 65 20 22 63 6C 61 73 73 65 73 22 20 6F 66 20 ee "classes" of
000180: 73 79 73 74 65 6D 73 3A 0D 0A 0D 0A 3B 53 79 73 systems:....;Sys
000190: 74 65 6D 73 20 73 75 70 70 6F 72 74 69 6E 67 20 tems supporting
0001A0: 74 68 65 20 49 4F 2D 72 65 64 69 72 65 63 74 69 the IO-redirecti
0001B0: 6F 6E 20 76 69 61 20 49 2F 4F 2D 42 79 74 65 0D on via I/O-Byte.
0001C0: 0A 0D 0A 72 6F 62 69 6E 09 45 51 55 09 46 41 4C ...robin.EQU.FAL
0001D0: 53 45 09 09 3B 44 45 43 20 56 54 31 38 30 20 3D SE..;DEC VT180 =
0001E0: 20 47 65 6E 65 72 69 63 20 2B 20 56 54 31 30 30 Generic + VT100
0001F0: 20 73 63 72 65 65 6E 20 63 6F 6E 74 72 6F 6C 0D screen control.
Size : 512 (Real : 512)
000000: 49 46 20 61 70 36 35 35 31 09 09 09 3B 6A 62 20 IF ap6551...;jb
000010: 65 67 2E 20 41 70 70 6C 65 20 53 53 43 2C 20 56 eg. Apple SSC, V
000020: 69 64 65 78 20 50 53 49 4F 2C 20 42 61 73 69 73 idex PSIO, Basis
000030: 20 31 30 38 0D 0A 61 70 73 6C 6F 74 09 45 51 55 108..apslot.EQU
000040: 09 32 09 09 3B 6A 62 20 73 65 74 20 65 71 75 61 .2..;jb set equa
000050: 6C 20 74 6F 20 73 6C 6F 74 20 63 6F 6E 74 61 69 l to slot contai
000060: 6E 69 6E 67 20 73 65 72 69 61 6C 20 63 61 72 64 ning serial card
000070: 0D 0A 09 09 09 09 3B 6A 62 20 20 73 65 74 20 74 ......;jb set t
000080: 6F 20 31 20 66 6F 72 20 42 61 73 69 73 20 62 75 o 1 for Basis bu
000090: 69 6C 74 2D 69 6E 20 70 6F 72 74 0D 0A 45 4E 44 ilt-in port..END
0000A0: 49 46 3B 6A 62 20 61 70 36 35 35 31 0D 0A 0D 0A IF;jb ap6551....
0000B0: 61 70 70 6C 65 09 45 51 55 09 61 70 6D 6D 64 6D apple.EQU.apmmdm
0000C0: 20 4F 52 20 61 70 36 35 35 31 20 3B 20 66 6C 61 OR ap6551 ; fla
0000D0: 67 20 61 70 70 6C 65 20 73 79 73 74 65 6D 20 69 g apple system i
0000E0: 66 20 65 69 74 68 65 72 20 73 65 6C 65 63 74 65 f either selecte
0000F0: 64 0D 0A 49 46 20 6F 73 69 20 4F 52 20 61 70 70 d..IF osi OR app
000100: 6C 65 20 4F 52 20 6F 73 62 72 6E 31 20 4F 52 20 le OR osbrn1 OR
000110: 63 70 6D 33 20 4F 52 20 6C 6F 62 6F 0D 0A 69 6F cpm3 OR lobo..io
000120: 62 79 74 09 45 51 55 09 46 41 4C 53 45 0D 0A 69 byt.EQU.FALSE..i
000130: 6E 6F 75 74 09 45 51 55 09 46 41 4C 53 45 0D 0A nout.EQU.FALSE..
000140: 45 4E 44 49 46 3B 6F 73 69 20 4F 52 20 61 70 70 ENDIF;osi OR app
000150: 6C 65 20 4F 52 20 6F 73 62 72 6E 31 20 4F 52 20 le OR osbrn1 OR
000160: 63 70 6D 33 20 4F 52 20 6C 6F 62 6F 0D 0A 0D 0A cpm3 OR lobo....
000170: 3B 2E 2E 20 61 6E 64 20 66 6F 72 20 4D 69 63 72 ;.. and for Micr
000180: 6F 73 2C 20 6C 69 6B 65 20 74 68 65 20 4D 44 49 os, like the MDI
000190: 2C 20 77 68 69 63 68 20 68 61 76 65 20 22 74 65 , which have "te
0001A0: 72 6D 69 6E 61 6C 73 20 6F 66 20 63 68 6F 69 63 rminals of choic
0001B0: 65 22 2C 20 79 6F 75 20 6D 75 73 74 0D 0A 3B 73 e", you must..;s
0001C0: 65 6C 65 63 74 20 6F 6E 65 20 6F 66 20 74 68 65 elect one of the
0001D0: 73 65 20 69 6E 20 61 64 64 69 74 69 6F 6E 20 74 se in addition t
0001E0: 6F 20 73 65 6C 65 63 74 69 6E 67 20 74 68 65 20 o selecting the
0001F0: 6D 69 63 72 6F 20 69 74 73 65 6C 66 2E 0D 0A 3B micro itself...;
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: 41 6C 73 6F 20 73 65 6C 65 63 74 20 61 20 74 65 Also select a te
000010: 72 6D 69 6E 61 6C 20 66 6F 72 20 22 67 65 6E 65 rminal for "gene
000020: 72 22 20 61 6E 64 20 22 63 70 6D 33 22 3A 20 75 r" and "cpm3": u
000030: 73 65 20 22 63 72 74 22 20 66 6F 72 20 74 68 65 se "crt" for the
000040: 20 74 72 75 65 20 67 65 6E 65 72 69 63 2E 0D 0A true generic...
000050: 63 72 74 09 45 51 55 09 46 41 4C 53 45 09 09 3B crt.EQU.FALSE..;
000060: 42 61 73 69 63 20 43 52 54 2C 20 6E 6F 20 63 75 Basic CRT, no cu
000070: 72 73 6F 72 20 70 6F 73 69 74 69 6F 6E 69 6E 67 rsor positioning
000080: 0D 0A 61 64 6D 33 61 09 45 51 55 09 46 41 4C 53 ..adm3a.EQU.FALS
000090: 45 09 09 3B 41 64 6D 33 61 20 44 69 73 70 6C 61 E..;Adm3a Displa
0000A0: 79 20 28 6F 72 20 43 50 54 20 62 75 69 6C 74 2D y (or CPT built-
0000B0: 69 6E 20 64 69 73 70 6C 61 79 29 0D 0A 73 6D 72 in display)..smr
0000C0: 74 76 64 09 45 51 55 09 46 41 4C 53 45 09 09 3B tvd.EQU.FALSE..;
0000D0: 4E 65 74 72 6F 6E 69 63 73 20 53 6D 61 72 74 76 Netronics Smartv
0000E0: 69 64 20 74 65 72 6D 69 6E 61 6C 2E 0D 0A 74 76 id terminal...tv
0000F0: 69 39 32 35 09 45 51 55 09 46 41 4C 53 45 09 09 i925.EQU.FALSE..
000100: 3B 54 56 49 39 32 35 20 44 69 73 70 6C 61 79 0D ;TVI925 Display.
000110: 0A 09 09 09 09 3B 20 28 77 6F 72 6B 73 20 66 6F .....; (works fo
000120: 72 20 46 72 65 65 64 6F 6D 20 31 30 30 20 61 6C r Freedom 100 al
000130: 73 6F 29 20 20 5B 54 6F 61 64 20 48 61 6C 6C 5D so) [Toad Hall]
000140: 0D 0A 76 74 35 32 09 45 51 55 09 54 52 55 45 09 ..vt52.EQU.TRUE.
000150: 09 3B 56 54 35 32 20 6F 72 20 65 71 75 69 76 61 .;VT52 or equiva
000160: 6C 65 6E 74 20 28 6F 72 20 48 31 39 29 0D 0A 76 lent (or H19)..v
000170: 74 31 30 30 09 45 51 55 09 46 41 4C 53 45 09 09 t100.EQU.FALSE..
000180: 3B 56 54 31 30 30 20 6F 72 20 65 71 75 69 76 61 ;VT100 or equiva
000190: 6C 65 6E 74 0D 0A 0D 0A 3B 20 54 6F 61 64 20 48 lent....; Toad H
0001A0: 61 6C 6C 20 54 41 43 20 54 72 61 70 3A 20 20 49 all TAC Trap: I
0001B0: 66 20 79 6F 75 27 72 65 20 67 6F 69 6E 67 20 74 f you're going t
0001C0: 68 72 6F 75 67 68 20 61 20 54 41 43 2C 20 69 74 hrough a TAC, it
0001D0: 20 77 69 6C 6C 0D 0A 3B 20 63 6F 75 67 68 20 6F will..; cough o
0001E0: 6E 20 69 74 73 20 49 6E 74 65 72 63 65 70 74 20 n its Intercept
0001F0: 43 68 61 72 61 63 74 65 72 20 28 75 73 75 61 6C Character (usual
Size : 512 (Real : 512)
000000: 3B 20 43 50 34 57 4C 44 2E 41 53 4D 0D 0A 3B 09 ; CP4WLD.ASM..;.
000010: 4B 45 52 4D 49 54 20 2D 20 28 43 65 6C 74 69 63 KERMIT - (Celtic
000020: 20 66 6F 72 20 22 46 52 45 45 22 29 0D 0A 3B 0D for "FREE")..;.
000030: 0A 3B 09 54 68 69 73 20 69 73 20 74 68 65 20 43 .;.This is the C
000040: 50 2F 4D 2D 38 30 20 69 6D 70 6C 65 6D 65 6E 74 P/M-80 implement
000050: 61 74 69 6F 6E 20 6F 66 20 74 68 65 20 43 6F 6C ation of the Col
000060: 75 6D 62 69 61 20 55 6E 69 76 65 72 73 69 74 79 umbia University
000070: 0D 0A 3B 09 4B 45 52 4D 49 54 20 66 69 6C 65 20 ..;.KERMIT file
000080: 74 72 61 6E 73 66 65 72 20 70 72 6F 74 6F 63 6F transfer protoco
000090: 6C 2E 0D 0A 3B 0D 0A 3B 09 56 65 72 73 69 6F 6E l...;..;.Version
0000A0: 20 34 2E 30 0D 0A 3B 0D 0A 3B 09 43 6F 70 79 72 4.0..;..;.Copyr
0000B0: 69 67 68 74 20 4A 75 6E 65 20 31 39 38 31 2C 31 ight June 1981,1
0000C0: 39 38 32 2C 31 39 38 33 2C 31 39 38 34 0D 0A 3B 982,1983,1984..;
0000D0: 09 43 6F 6C 75 6D 62 69 61 20 55 6E 69 76 65 72 .Columbia Univer
0000E0: 73 69 74 79 0D 0A 3B 0D 0A 3B 20 4F 72 69 67 69 sity..;..; Origi
0000F0: 6E 61 6C 6C 79 20 77 72 69 74 74 65 6E 20 62 79 nally written by
000100: 20 42 69 6C 6C 20 43 61 74 63 68 69 6E 67 73 20 Bill Catchings
000110: 6F 66 20 74 68 65 20 43 6F 6C 75 6D 62 69 61 20 of the Columbia
000120: 55 6E 69 76 65 72 73 69 74 79 20 43 65 6E 74 65 University Cente
000130: 72 20 66 6F 72 0D 0A 3B 20 43 6F 6D 70 75 74 69 r for..; Computi
000140: 6E 67 20 41 63 74 69 76 69 74 69 65 73 2C 20 36 ng Activities, 6
000150: 31 32 20 57 2E 20 31 31 35 74 68 20 53 74 2E 2C 12 W. 115th St.,
000160: 20 4E 65 77 20 59 6F 72 6B 2C 20 4E 59 20 31 30 New York, NY 10
000170: 30 32 35 2E 0D 0A 3B 0D 0A 3B 20 43 6F 6E 74 72 025...;..; Contr
000180: 69 62 75 74 69 6F 6E 73 20 62 79 20 46 72 61 6E ibutions by Fran
000190: 6B 20 64 61 20 43 72 75 7A 2C 20 44 61 70 68 6E k da Cruz, Daphn
0001A0: 65 20 54 7A 6F 61 72 2C 20 42 65 72 6E 69 65 20 e Tzoar, Bernie
0001B0: 45 69 62 65 6E 2C 0D 0A 3B 20 42 72 75 63 65 20 Eiben,..; Bruce
0001C0: 54 61 6E 6E 65 72 2C 20 4E 69 63 6B 20 42 75 73 Tanner, Nick Bus
0001D0: 68 2C 20 47 72 65 67 20 53 6D 61 6C 6C 2C 20 4B h, Greg Small, K
0001E0: 69 6D 6D 6F 20 4C 61 61 6B 73 6F 6E 65 6E 2C 20 immo Laaksonen,
0001F0: 4A 65 66 66 20 44 61 6D 65 6E 73 2C 20 61 6E 64 Jeff Damens, and
Size : 512 (Real : 512)
000000: 6C 79 20 61 20 40 20 28 2A 20 2D 20 34 30 48 29 ly a @ (* - 40H)
000010: 29 2E 20 20 53 65 6E 64 69 6E 67 20 69 74 0D 0A ). Sending it..
000020: 3B 20 74 77 69 63 65 20 66 6F 72 63 65 73 20 74 ; twice forces t
000030: 68 65 20 54 41 43 20 74 6F 20 72 65 63 6F 67 6E he TAC to recogn
000040: 69 7A 65 20 69 74 20 61 73 20 61 20 76 61 6C 69 ize it as a vali
000050: 64 20 41 53 43 49 49 20 63 68 61 72 61 63 74 65 d ASCII characte
000060: 72 2C 0D 0A 3B 20 61 6E 64 20 69 74 27 6C 6C 20 r,..; and it'll
000070: 73 65 6E 64 20 6F 6E 6C 79 20 6F 6E 65 20 6F 6E send only one on
000080: 20 74 6F 20 74 68 65 20 68 6F 73 74 2E 20 20 49 to the host. I
000090: 66 20 79 6F 75 27 76 65 20 53 45 54 20 74 68 65 f you've SET the
0000A0: 20 54 41 43 54 72 61 70 0D 0A 3B 20 74 6F 20 4F TACTrap..; to O
0000B0: 46 46 2C 20 69 74 20 77 69 6C 6C 20 62 65 20 61 FF, it will be a
0000C0: 20 6E 75 6C 6C 20 63 68 61 72 61 63 74 65 72 2C null character,
0000D0: 20 61 6E 64 20 6E 6F 74 68 69 6E 67 20 77 69 6C and nothing wil
0000E0: 6C 20 68 61 70 70 65 6E 2E 20 20 49 66 20 79 6F l happen. If yo
0000F0: 75 0D 0A 3B 20 73 65 74 20 69 74 20 6F 6E 2C 20 u..; set it on,
000100: 69 74 20 77 69 6C 6C 20 62 65 20 79 6F 75 72 20 it will be your
000110: 73 65 6C 65 63 74 65 64 20 54 41 43 20 69 6E 74 selected TAC int
000120: 65 72 63 65 70 74 20 63 68 61 72 61 63 74 65 72 ercept character
000130: 20 28 6F 72 20 77 69 6C 6C 0D 0A 3B 20 64 65 66 (or will..; def
000140: 61 75 6C 74 20 74 6F 20 74 68 65 20 63 6F 6D 6D ault to the comm
000150: 6F 6E 20 69 6E 74 65 72 63 65 70 74 20 63 68 61 on intercept cha
000160: 72 2C 20 27 40 27 2E 0D 0A 3B 20 49 66 20 79 6F r, '@'...; If yo
000170: 75 20 6E 65 76 65 72 20 65 78 70 65 63 74 20 74 u never expect t
000180: 6F 20 68 61 76 65 20 74 6F 20 77 6F 72 6B 20 74 o have to work t
000190: 68 72 6F 75 67 68 20 73 75 63 68 20 61 20 62 65 hrough such a be
0001A0: 61 73 74 69 65 2C 20 6A 75 73 74 20 73 65 74 0D astie, just set.
0001B0: 0A 3B 20 54 41 43 20 74 6F 20 66 61 6C 73 65 20 .; TAC to false
0001C0: 61 6E 64 20 66 6F 72 67 65 74 20 61 6C 6C 20 74 and forget all t
0001D0: 68 69 73 20 6D 65 73 73 2E 20 20 5B 54 6F 61 64 his mess. [Toad
0001E0: 20 48 61 6C 6C 5D 0D 0A 0D 0A 74 61 63 09 45 51 Hall]....tac.EQ
0001F0: 55 09 46 41 4C 53 45 09 09 3B 20 67 6F 6E 6E 61 U.FALSE..; gonna
Size : 512 (Real : 512)
000000: 20 6D 61 6E 79 0D 0A 3B 20 6F 74 68 65 72 73 2E many..; others.
000010: 0D 0A 3B 0D 0A 3B 09 4D 75 6C 74 69 2D 66 69 6C ..;..;.Multi-fil
000020: 65 20 61 63 63 65 73 73 20 73 75 62 72 6F 75 74 e access subrout
000030: 69 6E 65 2E 20 20 41 6C 6C 6F 77 73 20 70 72 6F ine. Allows pro
000040: 63 65 73 73 69 6E 67 20 6F 66 20 6D 75 6C 74 69 cessing of multi
000050: 70 6C 65 20 66 69 6C 65 73 0D 0A 3B 09 28 69 2E ple files..;.(i.
000060: 65 2E 2C 20 2A 2E 41 53 4D 29 20 66 72 6F 6D 20 e., *.ASM) from
000070: 64 69 73 6B 2E 20 20 54 68 69 73 20 72 6F 75 74 disk. This rout
000080: 69 6E 65 20 62 75 69 6C 64 73 20 74 68 65 20 70 ine builds the p
000090: 72 6F 70 65 72 20 6E 61 6D 65 20 69 6E 20 74 68 roper name in th
0000A0: 65 0D 0A 3B 09 46 43 42 20 65 61 63 68 20 74 69 e..;.FCB each ti
0000B0: 6D 65 20 69 74 20 69 73 20 63 61 6C 6C 65 64 2E me it is called.
0000C0: 20 20 54 68 69 73 20 63 6F 6D 6D 61 6E 64 20 77 This command w
0000D0: 6F 75 6C 64 20 62 65 20 75 73 65 64 20 69 6E 20 ould be used in
0000E0: 73 75 63 68 20 70 72 6F 2D 0D 0A 3B 09 67 72 61 such pro-..;.gra
0000F0: 6D 73 20 73 75 63 68 20 61 73 20 6D 6F 64 65 6D ms such as modem
000100: 20 74 72 61 6E 73 66 65 72 2C 20 74 61 70 65 20 transfer, tape
000110: 73 61 76 65 2C 20 65 74 63 2E 20 69 6E 20 77 68 save, etc. in wh
000120: 69 63 68 20 79 6F 75 20 77 61 6E 74 20 74 6F 0D ich you want to.
000130: 0A 3B 09 70 72 6F 63 65 73 73 20 73 69 6E 67 6C .;.process singl
000140: 65 20 6F 72 20 6D 75 6C 74 69 70 6C 65 20 66 69 e or multiple fi
000150: 6C 65 73 2E 0D 0A 3B 09 4E 6F 74 65 20 74 68 61 les...;.Note tha
000160: 74 20 69 74 20 77 69 6C 6C 20 66 61 69 6C 20 69 t it will fail i
000170: 66 20 6D 6F 72 65 20 74 68 61 6E 20 32 35 36 20 f more than 256
000180: 65 6E 74 72 69 65 73 20 6D 61 74 63 68 20 74 68 entries match th
000190: 65 20 77 69 6C 64 63 61 72 64 2E 0D 0A 3B 0D 0A e wildcard...;..
0001A0: 3B 20 72 65 76 69 73 69 6F 6E 20 68 69 73 74 6F ; revision histo
0001B0: 72 79 3A 0D 0A 3B 20 65 64 69 74 20 33 3A 20 4A ry:..; edit 3: J
0001C0: 75 6C 79 20 32 37 2C 20 31 39 38 34 0D 0A 3B 09 uly 27, 1984..;.
0001D0: 73 75 70 70 6F 72 74 20 4C 41 53 4D 3A 20 72 65 support LASM: re
0001E0: 6D 6F 76 65 20 65 78 63 6C 61 6D 61 74 69 6F 6E move exclamation
0001F0: 20 70 6F 69 6E 74 73 2C 20 6C 69 6E 6B 20 74 6F points, link to
Size : 512 (Real : 512)
000000: 20 77 6F 72 6B 20 74 68 72 6F 75 67 68 20 61 20 work through a
000010: 54 41 43 3F 0D 0A 74 61 63 76 61 6C 09 45 51 55 TAC?..tacval.EQU
000020: 09 27 40 27 09 09 3B 54 79 70 69 63 61 6C 20 54 .'@'..;Typical T
000030: 41 43 20 69 6E 74 65 72 63 65 70 74 20 63 68 61 AC intercept cha
000040: 72 61 63 74 65 72 0D 0A 0D 0A 3B 20 50 72 6F 63 racter....; Proc
000050: 65 73 73 6F 72 20 73 70 65 65 64 20 69 6E 20 75 essor speed in u
000060: 6E 69 74 73 20 6F 66 20 31 30 30 4B 48 7A 20 28 nits of 100KHz (
000070: 66 6F 72 20 62 62 49 49 2C 20 6B 70 49 49 2C 20 for bbII, kpII,
000080: 26 20 63 70 74 38 35 78 78 20 74 69 6D 69 6E 67 & cpt85xx timing
000090: 20 6C 6F 6F 70 29 0D 0A 3B 63 70 75 73 70 64 09 loop)..;cpuspd.
0000A0: 45 51 55 09 32 30 09 09 3B 20 43 50 54 2D 38 35 EQU.20..; CPT-85
0000B0: 78 78 3A 20 32 2E 30 20 4D 48 7A 20 28 27 63 61 xx: 2.0 MHz ('ca
0000C0: 75 73 65 20 6F 66 20 69 6E 74 65 67 72 61 6C 20 use of integral
0000D0: 76 69 64 65 6F 3F 29 0D 0A 3B 63 70 75 73 70 64 video?)..;cpuspd
0000E0: 09 45 51 55 09 32 35 09 09 3B 20 6F 72 69 67 69 .EQU.25..; origi
0000F0: 6E 61 6C 20 4B 61 79 70 72 6F 20 49 49 2C 58 65 nal Kaypro II,Xe
000100: 72 6F 78 20 38 32 30 3A 20 32 2E 35 20 4D 48 7A rox 820: 2.5 MHz
000110: 0D 0A 63 70 75 73 70 64 09 45 51 55 09 34 30 09 ..cpuspd.EQU.40.
000120: 09 3B 20 62 62 49 49 3A 20 34 2E 30 20 4D 48 7A .; bbII: 4.0 MHz
000130: 20 20 5B 61 6C 73 6F 20 4B 61 79 70 72 6F 20 31 [also Kaypro 1
000140: 30 5D 0D 0A 0D 0A 63 70 34 6B 65 72 09 45 51 55 0]....cp4ker.EQU
000150: 09 46 41 4C 53 45 09 09 3B 20 62 75 69 6C 64 69 .FALSE..; buildi
000160: 6E 67 20 74 68 65 20 73 79 73 74 65 6D 2D 64 65 ng the system-de
000170: 70 65 6E 64 65 6E 74 20 70 61 72 74 2E 2E 2E 0D pendent part....
000180: 0A 0D 0A 49 46 20 6C 61 73 6D 0D 0A 09 4C 49 4E ...IF lasm...LIN
000190: 4B 09 43 50 34 44 45 46 0D 0A 45 4E 44 49 46 3B K.CP4DEF..ENDIF;
0001A0: 6C 61 73 6D 20 20 5B 54 6F 61 64 20 48 61 6C 6C lasm [Toad Hall
0001B0: 5D 0D 0A 0D 0A 3B 20 49 66 20 77 65 27 72 65 20 ]....; If we're
0001C0: 73 74 69 6C 6C 20 68 65 72 65 2C 20 6D 75 73 74 still here, must
0001D0: 20 62 65 20 4D 38 30 20 6F 72 20 4D 41 43 38 30 be M80 or MAC80
0001E0: 2E 20 20 43 6F 6C 6C 65 63 74 20 74 68 65 20 72 . Collect the r
0001F0: 65 73 74 20 6F 66 0D 0A 3B 20 74 68 65 20 73 6F est of..; the so
Size : 512 (Real : 512)
000000: 20 43 50 34 43 4D 44 2E 0D 0A 3B 0D 0A 3B 20 65 CP4CMD...;..; e
000010: 64 69 74 20 32 3A 20 4A 75 6E 65 20 37 2C 20 31 dit 2: June 7, 1
000020: 39 38 34 20 28 43 4A 43 29 0D 0A 3B 09 66 6F 72 984 (CJC)..;.for
000030: 6D 61 74 74 69 6E 67 20 61 6E 64 20 64 6F 63 75 matting and docu
000040: 6D 65 6E 74 61 74 69 6F 6E 3B 20 61 64 64 20 6D mentation; add m
000050: 6F 64 75 6C 65 20 76 65 72 73 69 6F 6E 20 73 74 odule version st
000060: 72 69 6E 67 3B 20 72 65 64 6F 20 6D 6F 76 66 63 ring; redo movfc
000070: 62 2C 0D 0A 3B 09 69 6E 20 70 72 65 70 61 72 61 b,..;.in prepara
000080: 74 69 6F 6E 20 66 6F 72 20 6D 6F 76 69 6E 67 20 tion for moving
000090: 44 4D 41 20 62 75 66 66 65 72 20 28 6C 61 74 65 DMA buffer (late
0000A0: 72 2E 2E 2E 29 2E 0D 0A 3B 0D 0A 3B 20 65 64 69 r...)...;..; edi
0000B0: 74 20 31 3A 20 4D 61 79 2C 20 31 39 38 34 20 28 t 1: May, 1984 (
0000C0: 43 4A 43 29 0D 0A 3B 09 65 78 74 72 61 63 74 65 CJC)..;.extracte
0000D0: 64 20 66 72 6F 6D 20 43 50 4D 42 41 53 45 2E 4D d from CPMBASE.M
0000E0: 38 30 20 76 65 72 73 69 6F 6E 20 33 2E 39 3B 20 80 version 3.9;
0000F0: 6D 6F 64 69 66 69 63 61 74 69 6F 6E 73 20 61 72 modifications ar
000100: 65 20 64 65 73 63 72 69 62 65 64 0D 0A 3B 09 69 e described..;.i
000110: 6E 20 74 68 65 20 61 63 63 6F 6D 70 61 6E 79 69 n the accompanyi
000120: 6E 67 20 2E 55 50 44 20 66 69 6C 65 2E 0D 0A 3B ng .UPD file...;
000130: 0D 0A 77 6C 64 76 65 72 3A 09 64 62 09 27 43 50 ..wldver:.db.'CP
000140: 34 57 4C 44 2E 41 53 4D 20 28 33 29 20 32 37 2D 4WLD.ASM (3) 27-
000150: 4A 75 6C 2D 38 34 24 27 0D 0A 0D 0A 3B 09 54 68 Jul-84$'....;.Th
000160: 65 20 46 43 42 20 77 69 6C 6C 20 62 65 20 73 65 e FCB will be se
000170: 74 20 75 70 20 77 69 74 68 20 74 68 65 20 6E 65 t up with the ne
000180: 78 74 20 6E 61 6D 65 2C 20 72 65 61 64 79 20 74 xt name, ready t
000190: 6F 20 64 6F 20 6E 6F 72 6D 61 6C 0D 0A 3B 09 70 o do normal..;.p
0001A0: 72 6F 63 65 73 73 69 6E 67 20 28 4F 50 45 4E 2C rocessing (OPEN,
0001B0: 20 52 45 41 44 2C 20 65 74 63 2E 29 20 77 68 65 READ, etc.) whe
0001C0: 6E 20 72 6F 75 74 69 6E 65 20 69 73 20 63 61 6C n routine is cal
0001D0: 6C 65 64 2E 0D 0A 3B 0D 0A 3B 09 43 61 72 72 79 led...;..;.Carry
0001E0: 20 69 73 20 73 65 74 20 69 66 20 6E 6F 20 6D 6F is set if no mo
0001F0: 72 65 20 6E 61 6D 65 73 20 63 61 6E 20 62 65 20 re names can be
Size : 512 (Real : 512)
000000: 75 72 63 65 73 2E 0D 0A 09 49 4E 43 4C 55 44 45 urces....INCLUDE
000010: 09 43 50 34 44 45 46 2E 41 53 4D 09 3B 20 63 6F .CP4DEF.ASM.; co
000020: 6D 6D 6F 6E 20 64 65 66 69 6E 69 74 69 6F 6E 73 mmon definitions
000030: 0D 0A 09 49 4E 43 4C 55 44 45 20 43 50 34 4C 4E ...INCLUDE CP4LN
000040: 4B 2E 41 53 4D 09 3B 20 6C 69 6E 6B 61 67 65 20 K.ASM.; linkage
000050: 61 72 65 61 20 64 65 73 63 72 69 70 74 69 6F 6E area description
000060: 0D 0A 09 49 4E 43 4C 55 44 45 20 43 50 34 53 59 ...INCLUDE CP4SY
000070: 53 2E 41 53 4D 09 3B 20 73 79 73 74 65 6D 2D 64 S.ASM.; system-d
000080: 65 70 65 6E 64 65 6E 74 20 63 6F 64 65 20 61 6E ependent code an
000090: 64 20 74 61 62 6C 65 73 0D 0A 09 45 4E 44 0D 0A d tables...END..
0000A0: E5 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: E5 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: E5 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: E5 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: E5 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: E5 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: E5 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 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: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001C0: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: E5 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: 66 6F 75 6E 64 0D 0A 3B 0D 0A 3B 09 4D 46 46 4C found..;..;.MFFL
000010: 47 31 20 69 73 20 63 6F 75 6E 74 2F 73 77 69 74 G1 is count/swit
000020: 63 68 20 5B 30 20 66 6F 72 20 66 69 72 73 74 20 ch [0 for first
000030: 74 69 6D 65 20 74 68 72 75 2C 20 70 6F 73 20 66 time thru, pos f
000040: 6F 72 20 61 6C 6C 20 6F 74 68 65 72 73 5D 0D 0A or all others]..
000050: 3B 09 4D 46 46 4C 47 32 20 69 73 20 63 6F 75 6E ;.MFFLG2 is coun
000060: 74 65 64 20 64 6F 77 6E 20 66 6F 72 20 65 61 63 ted down for eac
000070: 68 20 73 75 63 63 65 73 73 69 76 65 20 47 45 54 h successive GET
000080: 4E 45 58 54 20 66 69 6C 65 20 63 61 6C 6C 0D 0A NEXT file call..
000090: 3B 0D 0A 3B 09 54 65 63 68 6E 69 71 75 65 20 75 ;..;.Technique u
0000A0: 73 65 64 20 69 73 20 74 6F 20 72 65 70 65 61 74 sed is to repeat
0000B0: 20 53 46 49 52 53 54 2F 53 4E 45 58 54 20 73 65 SFIRST/SNEXT se
0000C0: 71 75 65 6E 63 65 20 4E 2B 31 20 74 69 6D 65 73 quence N+1 times
0000D0: 20 66 6F 72 20 65 61 63 68 0D 0A 3B 09 73 75 63 for each..;.suc
0000E0: 63 65 73 73 69 76 65 20 63 61 6C 6C 2C 20 74 69 cessive call, ti
0000F0: 6C 6C 20 73 65 71 75 65 6E 63 65 20 66 61 69 6C ll sequence fail
000100: 73 2E 20 43 50 2F 4D 20 64 6F 65 73 20 4E 4F 54 s. CP/M does NOT
000110: 20 61 6C 6C 6F 77 20 64 69 73 6B 2D 68 61 6E 64 allow disk-hand
000120: 6C 69 6E 67 0D 0A 3B 09 62 65 74 77 65 65 6E 20 ling..;.between
000130: 53 46 49 52 53 54 20 61 6E 64 20 53 4E 45 58 54 SFIRST and SNEXT
000140: 2E 0D 0A 3B 09 63 61 6C 6C 65 64 20 62 79 3A 20 ...;.called by:
000150: 73 65 6E 64 2C 20 73 65 6F 66 2C 20 64 69 72 0D send, seof, dir.
000160: 0A 0D 0A 6D 66 6E 61 6D 65 3A 09 6F 72 61 09 61 ...mfname:.ora.a
000170: 09 09 3B 20 63 6C 65 61 72 20 63 61 72 72 79 0D ..; clear carry.
000180: 0A 09 70 75 73 68 09 62 09 09 3B 53 61 76 65 20 ..push.b..;Save
000190: 72 65 67 69 73 74 65 72 73 0D 0A 09 70 75 73 68 registers...push
0001A0: 09 64 0D 0A 09 70 75 73 68 09 68 0D 0A 09 6D 76 .d...push.h...mv
0001B0: 69 09 63 2C 73 65 74 64 6D 61 09 3B 49 6E 69 74 i.c,setdma.;Init
0001C0: 20 44 4D 41 20 61 64 64 72 2C 20 46 43 42 0D 0A DMA addr, FCB..
0001D0: 09 6C 78 69 09 64 2C 38 30 48 0D 0A 09 63 61 6C .lxi.d,80H...cal
0001E0: 6C 09 62 64 6F 73 0D 0A 09 78 72 61 09 61 09 09 l.bdos...xra.a..
0001F0: 3B 41 20 3D 20 30 0D 0A 09 73 74 61 09 66 63 62 ;A = 0...sta.fcb
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: 65 78 74 09 09 3B 63 6C 65 61 72 20 65 78 74 65 ext..;clear exte
000010: 6E 73 69 6F 6E 0D 0A 09 6C 64 61 09 6D 66 66 6C nsion...lda.mffl
000020: 67 31 09 09 3B 66 69 6E 64 20 6F 75 74 20 69 66 g1..;find out if
000030: 20 22 73 65 63 6F 6E 64 22 20 63 61 6C 6C 20 69 "second" call i
000040: 6E 20 72 6F 77 0D 0A 09 6F 72 61 09 61 0D 0A 09 n row...ora.a...
000050: 6A 6E 7A 09 6D 66 6E 30 31 09 09 3B 57 65 72 65 jnz.mfn01..;Were
000060: 20 68 65 72 65 20 62 65 66 6F 72 65 0D 0A 09 73 here before...s
000070: 74 61 09 6D 66 66 6C 67 32 0D 0A 09 6C 78 69 09 ta.mfflg2...lxi.
000080: 68 2C 66 63 62 0D 0A 09 6C 78 69 09 64 2C 6D 66 h,fcb...lxi.d,mf
000090: 72 65 71 0D 0A 09 6C 78 69 09 62 2C 31 32 0D 0A req...lxi.b,12..
0000A0: 09 63 61 6C 6C 09 6D 6F 76 65 72 09 09 3B 2E 66 .call.mover..;.f
0000B0: 72 6F 6D 20 46 43 42 20 74 6F 20 4D 46 52 45 51 rom FCB to MFREQ
0000C0: 0D 0A 09 6D 76 69 09 63 2C 53 46 49 52 53 54 09 ...mvi.c,SFIRST.
0000D0: 3B 53 65 61 72 63 68 20 66 69 72 73 74 0D 0A 09 ;Search first...
0000E0: 6C 78 69 09 64 2C 66 63 62 0D 0A 09 63 61 6C 6C lxi.d,fcb...call
0000F0: 09 62 64 6F 73 0D 0A 09 6A 6D 70 09 6D 66 6E 30 .bdos...jmp.mfn0
000100: 32 09 09 3B 61 6E 64 20 63 68 65 63 6B 20 72 65 2..;and check re
000110: 73 75 6C 74 73 0D 0A 0D 0A 6D 66 6E 30 31 3A 09 sults....mfn01:.
000120: 64 63 72 09 61 0D 0A 09 73 74 61 20 09 6D 66 66 dcr.a...sta .mff
000130: 6C 67 32 09 09 3B 73 74 6F 72 65 20 64 6F 77 6E lg2..;store down
000140: 2D 63 6F 75 6E 74 65 72 0D 0A 09 6C 78 69 09 68 -counter...lxi.h
000150: 2C 6D 66 72 65 71 09 09 3B 53 46 49 52 53 54 20 ,mfreq..;SFIRST
000160: 52 45 51 20 6E 61 6D 65 0D 0A 09 6C 78 69 09 64 REQ name...lxi.d
000170: 2C 66 63 62 0D 0A 09 6C 78 69 09 62 2C 31 32 0D ,fcb...lxi.b,12.
000180: 0A 09 63 61 6C 6C 09 6D 6F 76 65 72 09 09 3B 2E ..call.mover..;.
000190: 66 72 6F 6D 20 4D 46 52 45 51 20 74 6F 20 46 43 from MFREQ to FC
0001A0: 42 0D 0A 09 6D 76 69 09 63 2C 73 66 69 72 73 74 B...mvi.c,sfirst
0001B0: 09 3B 53 65 61 72 63 68 20 66 69 72 73 74 20 6F .;Search first o
0001C0: 6C 64 20 6F 6E 65 2C 77 65 20 67 6F 74 20 69 74 ld one,we got it
0001D0: 20 62 65 66 6F 72 65 0D 0A 09 6C 78 69 09 64 2C before...lxi.d,
0001E0: 66 63 62 0D 0A 09 63 61 6C 6C 09 62 64 6F 73 09 fcb...call.bdos.
0001F0: 09 3B 6E 6F 20 65 72 72 6F 72 27 73 20 65 78 70 .;no error's exp
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: 65 63 74 65 64 20 2D 77 65 20 67 6F 74 20 74 68 ected -we got th
000010: 61 74 20 62 65 66 6F 72 65 0D 0A 6D 66 6E 30 31 at before..mfn01
000020: 61 3A 0D 0A 09 6D 76 69 09 63 2C 73 6E 65 78 74 a:...mvi.c,snext
000030: 09 09 3B 53 65 61 72 63 68 20 6E 65 78 74 0D 0A ..;Search next..
000040: 09 63 61 6C 6C 09 62 64 6F 73 0D 0A 6D 66 6E 30 .call.bdos..mfn0
000050: 32 3A 09 70 75 73 68 09 70 73 77 0D 0A 09 6C 64 2:.push.psw...ld
000060: 61 09 6D 66 66 6C 67 32 09 09 3B 67 65 74 20 22 a.mfflg2..;get "
000070: 72 65 70 65 61 74 20 66 69 6C 65 20 63 6F 75 6E repeat file coun
000080: 74 65 72 22 0D 0A 09 6F 72 61 20 09 61 0D 0A 09 ter"...ora .a...
000090: 6A 7A 09 6D 66 6E 30 32 61 09 09 3B 69 66 20 7A jz.mfn02a..;if z
0000A0: 65 72 6F 2C 20 63 68 65 63 6B 20 69 66 20 53 4E ero, check if SN
0000B0: 45 58 54 20 68 61 64 20 45 52 52 4F 52 0D 0A 09 EXT had ERROR...
0000C0: 64 63 72 09 61 09 09 3B 63 6F 75 6E 74 20 64 6F dcr.a..;count do
0000D0: 77 6E 0D 0A 09 73 74 61 09 6D 66 66 6C 67 32 09 wn...sta.mfflg2.
0000E0: 09 3B 73 74 6F 72 65 20 62 61 63 6B 0D 0A 09 70 .;store back...p
0000F0: 6F 70 09 70 73 77 09 09 3B 6E 6F 20 65 72 72 6F op.psw..;no erro
000100: 72 2D 63 68 65 63 6B 2C 20 77 65 20 67 6F 74 20 r-check, we got
000110: 69 74 20 62 65 66 6F 72 65 0D 0A 09 6A 6D 70 09 it before...jmp.
000120: 6D 66 6E 30 31 61 09 09 3B 6E 65 78 74 20 53 4E mfn01a..;next SN
000130: 45 58 54 0D 0A 0D 0A 6D 66 6E 30 32 61 3A 09 70 EXT....mfn02a:.p
000140: 6F 70 09 70 73 77 0D 0A 09 6F 72 61 09 61 0D 0A op.psw...ora.a..
000150: 09 6A 6D 09 6D 66 66 69 78 32 09 09 3B 4E 6F 20 .jm.mffix2..;No
000160: 28 6D 6F 72 65 29 20 66 6F 75 6E 64 0D 0A 09 63 (more) found...c
000170: 61 6C 6C 09 6D 6F 76 66 63 62 09 09 3B 6D 6F 76 all.movfcb..;mov
000180: 65 20 64 61 74 61 20 74 6F 20 66 63 62 0D 0A 09 e data to fcb...
000190: 6C 64 61 09 6D 66 72 65 71 09 09 3B 74 68 65 20 lda.mfreq..;the
0001A0: 6F 72 69 67 69 6E 61 6C 20 64 69 73 6B 2D 64 65 original disk-de
0001B0: 73 69 67 6E 61 74 6F 72 0D 0A 09 73 74 61 09 66 signator...sta.f
0001C0: 63 62 09 09 3B 62 61 63 6B 20 69 6E 74 6F 20 66 cb..;back into f
0001D0: 63 62 0D 0A 09 6C 64 61 09 6D 66 66 6C 67 31 09 cb...lda.mfflg1.
0001E0: 09 3B 67 65 74 20 66 69 6C 65 2D 66 6C 61 67 0D .;get file-flag.
0001F0: 0A 09 69 6E 72 09 61 09 09 3B 69 6E 63 72 65 6D ..inr.a..;increm
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: 65 6E 74 0D 0A 09 73 74 61 09 6D 66 66 6C 67 31 ent...sta.mfflg1
000010: 09 09 3B 61 6E 64 20 73 74 6F 72 65 20 66 6F 72 ..;and store for
000020: 20 6E 65 78 74 20 67 6F 2D 61 72 6F 75 6E 64 0D next go-around.
000030: 0A 09 6D 76 69 09 61 2C 30 09 09 3B 53 65 74 75 ..mvi.a,0..;Setu
000040: 70 20 46 43 42 0D 0A 09 73 74 61 09 66 63 62 65 p FCB...sta.fcbe
000050: 78 74 09 09 3B 63 6C 65 61 6E 20 75 70 20 46 43 xt..;clean up FC
000060: 42 20 66 6F 72 20 4F 50 45 4E 20 65 74 63 0D 0A B for OPEN etc..
000070: 09 73 74 61 09 66 63 62 72 6E 6F 0D 0A 6D 66 66 .sta.fcbrno..mff
000080: 69 78 31 3A 09 70 6F 70 09 68 09 09 3B 72 65 73 ix1:.pop.h..;res
000090: 74 6F 72 65 20 72 65 67 69 73 74 65 72 73 0D 0A tore registers..
0000A0: 09 70 6F 70 09 64 0D 0A 09 70 6F 70 09 62 0D 0A .pop.d...pop.b..
0000B0: 09 72 65 74 09 09 09 3B 61 6E 64 20 72 65 74 75 .ret...;and retu
0000C0: 72 6E 0D 0A 0D 0A 6D 66 66 69 78 32 3A 09 73 74 rn....mffix2:.st
0000D0: 63 09 09 09 3B 73 65 74 20 63 61 72 72 79 0D 0A c...;set carry..
0000E0: 09 6A 6D 70 09 6D 66 66 69 78 31 09 09 3B 72 65 .jmp.mffix1..;re
0000F0: 74 75 72 6E 20 77 69 74 68 20 43 41 52 52 59 20 turn with CARRY
000100: 73 65 74 0D 0A 0D 0A 3B 09 63 6F 70 79 20 64 69 set....;.copy di
000110: 72 65 63 74 6F 72 79 20 65 6E 74 72 79 20 74 6F rectory entry to
000120: 20 46 43 42 0D 0A 3B 09 63 61 6C 6C 65 64 20 77 FCB..;.called w
000130: 69 74 68 20 41 2F 20 65 6E 74 72 79 20 6E 75 6D ith A/ entry num
000140: 62 65 72 20 69 6E 20 64 69 72 65 63 74 6F 72 79 ber in directory
000150: 20 28 30 2D 33 29 0D 0A 3B 09 09 20 20 20 20 64 (0-3)..;.. d
000160: 69 72 65 63 74 6F 72 79 20 62 6C 6F 63 6B 20 69 irectory block i
000170: 6E 20 44 4D 41 20 62 75 66 66 65 72 20 28 62 75 n DMA buffer (bu
000180: 66 66 29 0D 0A 0D 0A 6D 6F 76 66 63 62 3A 09 61 ff)....movfcb:.a
000190: 64 64 20 09 61 0D 0A 09 61 64 64 09 61 0D 0A 09 dd .a...add.a...
0001A0: 61 64 64 20 09 61 0D 0A 09 61 64 64 09 61 0D 0A add .a...add.a..
0001B0: 09 61 64 64 09 61 09 09 3B 2A 20 33 32 0D 0A 09 .add.a..;* 32...
0001C0: 6D 6F 76 09 63 2C 61 09 09 3B 20 63 6F 70 79 20 mov.c,a..; copy
0001D0: 6F 66 66 73 65 74 20 74 6F 20 62 63 0D 0A 09 6D offset to bc...m
0001E0: 76 69 09 62 2C 30 09 09 3B 20 28 68 69 67 68 20 vi.b,0..; (high
0001F0: 62 79 74 65 20 69 73 20 7A 65 72 6F 29 0D 0A 09 byte is zero)...
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: 6C 78 69 09 68 2C 62 75 66 66 09 09 3B 20 67 65 lxi.h,buff..; ge
000010: 74 20 73 74 61 72 74 20 6F 66 20 64 69 73 6B 20 t start of disk
000020: 62 75 66 66 65 72 0D 0A 09 64 61 64 09 62 09 09 buffer...dad.b..
000030: 3B 20 63 61 6C 63 75 6C 61 74 65 20 73 74 61 72 ; calculate star
000040: 74 20 6F 66 20 64 69 72 65 63 74 6F 72 79 20 65 t of directory e
000050: 6E 74 72 79 0D 0A 09 6C 78 69 09 64 2C 66 63 62 ntry...lxi.d,fcb
000060: 0D 0A 09 6C 78 69 09 62 2C 31 32 0D 0A 09 63 61 ...lxi.b,12...ca
000070: 6C 6C 09 6D 6F 76 65 72 0D 0A 09 72 65 74 0D 0A ll.mover...ret..
000080: 0D 0A 3B 09 44 61 74 61 20 73 74 6F 72 61 67 65 ..;.Data storage
000090: 20 66 6F 72 20 4D 46 4E 41 4D 45 20 28 6D 75 6C for MFNAME (mul
0000A0: 74 69 2D 66 69 6C 65 20 61 63 63 65 73 73 29 0D ti-file access).
0000B0: 0A 6D 66 72 65 71 3A 09 44 53 09 31 32 09 09 3B .mfreq:.DS.12..;
0000C0: 52 65 71 75 65 73 74 65 64 20 6E 61 6D 65 0D 0A Requested name..
0000D0: 6D 66 66 6C 67 31 3A 09 44 42 09 30 09 09 3B 46 mfflg1:.DB.0..;F
0000E0: 69 72 73 74 20 74 69 6D 65 20 74 68 72 75 20 66 irst time thru f
0000F0: 6C 61 67 20 66 6F 72 20 4D 46 4E 41 4D 45 0D 0A lag for MFNAME..
000100: 6D 66 66 6C 67 32 3A 09 44 42 09 30 09 09 3B 44 mfflg2:.DB.0..;D
000110: 6F 77 6E 20 63 6F 75 6E 74 65 72 20 66 6F 72 20 own counter for
000120: 4D 46 4E 41 4D 45 0D 0A 3B 0C 0D 0A 49 46 20 6C MFNAME..;...IF l
000130: 61 73 6D 0D 0A 09 4C 49 4E 4B 09 43 50 34 43 4D asm...LINK.CP4CM
000140: 44 0D 0A 45 4E 44 49 46 3B 6C 61 73 6D 0D 0A 00 D..ENDIF;lasm...
000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000160: E5 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 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: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001C0: E5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: E5 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: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
   
Tous droits réservés. Reproduction sans autorisation interdite. © Kukulcan