home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: LBR Archive
(archive/lbr).
You can browse this item here: bankswap.lbr
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| LBR Archive (archive/lbr)
| magic
| Supported |
1%
| dexvert
| Micro Focus COBOL library (other/microFocusCobolLibrary)
| ext
| Unsupported |
1%
| dexvert
| Micro Focus COBOL Library (other/microFocusCOBOLLibrary)
| ext
| Unsupported |
100%
| file
| LBR archive data
| default
| |
99%
| file
| data
| default
| |
87%
| TrID
| LU library
| default
| |
12%
| TrID
| C64 Hires bitmap
| default (weak)
| |
100%
| lsar
| LBR
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 20 20 20 20 20 20 20 | 20 20 20 20 00 00 02 00 |. | ....|
|00000010| 6e 33 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |n3......|........|
|00000020| 00 41 42 53 54 52 41 43 | 54 54 58 54 02 00 03 00 |.ABSTRAC|TTXT....|
|00000030| 7e d1 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |~.......|........|
|00000040| 00 42 41 4e 4b 53 57 41 | 50 44 4f 43 05 00 1e 00 |.BANKSWA|PDOC....|
|00000050| 45 bf 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |E.......|........|
|00000060| 00 42 41 4e 4b 53 57 41 | 50 41 53 4d 23 00 55 00 |.BANKSWA|PASM#.U.|
|00000070| 08 b8 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000080| 00 52 53 58 4d 41 4b 45 | 52 53 55 42 78 00 02 00 |.RSXMAKE|RSUBx...|
|00000090| a3 99 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000a0| ff 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| ff 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000e0| ff 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 42 41 4e 4b 53 57 41 50 | 2e 4c 42 52 09 31 35 20 |BANKSWAP|.LBR.15 |
|00000110| 44 65 63 65 6d 62 65 72 | 2c 20 31 39 38 35 0d 0a |December|, 1985..|
|00000120| 0d 0a 4b 65 79 77 6f 72 | 64 73 3a 20 43 50 4d 20 |..Keywor|ds: CPM |
|00000130| 43 50 4d 50 4c 55 53 20 | 52 53 58 20 44 44 54 20 |CPMPLUS |RSX DDT |
|00000140| 53 49 44 20 42 41 4e 4b | 53 57 49 54 43 48 49 4e |SID BANK|SWITCHIN|
|00000150| 47 0d 0a 0d 0a 41 62 73 | 74 72 61 63 74 3a 20 42 |G....Abs|tract: B|
|00000160| 41 4e 4b 53 57 41 50 20 | 69 73 20 61 6e 20 65 78 |ANKSWAP |is an ex|
|00000170| 74 65 6e 73 69 6f 6e 20 | 66 6f 72 20 44 44 54 20 |tension |for DDT |
|00000180| 6f 72 20 53 49 44 20 74 | 68 61 74 20 61 6c 6c 6f |or SID t|hat allo|
|00000190| 77 73 20 74 68 65 73 65 | 0d 0a 64 65 62 75 67 67 |ws these|..debugg|
|000001a0| 69 6e 67 20 74 6f 6f 6c | 73 20 74 6f 20 61 63 63 |ing tool|s to acc|
|000001b0| 65 73 73 20 63 6f 64 65 | 20 6f 72 20 64 61 74 61 |ess code| or data|
|000001c0| 20 69 6e 20 61 6c 74 65 | 72 6e 61 74 65 20 62 61 | in alte|rnate ba|
|000001d0| 6e 6b 73 20 6f 66 20 6d | 65 6d 6f 72 79 20 0d 0a |nks of m|emory ..|
|000001e0| 6f 6e 20 61 20 43 50 4d | 20 50 6c 75 73 20 73 79 |on a CPM| Plus sy|
|000001f0| 73 74 65 6d 2e 20 54 68 | 65 20 70 72 6f 67 72 61 |stem. Th|e progra|
|00000200| 6d 20 69 73 20 64 65 73 | 63 72 69 62 65 64 20 69 |m is des|cribed i|
|00000210| 6e 20 61 6e 20 61 72 74 | 69 63 6c 65 20 69 6e 20 |n an art|icle in |
|00000220| 44 72 2e 20 0d 0a 44 6f | 62 62 27 73 20 4a 6f 75 |Dr. ..Do|bb's Jou|
|00000230| 72 6e 61 6c 20 66 6f 72 | 20 44 65 63 65 6d 62 65 |rnal for| Decembe|
|00000240| 72 20 31 39 38 35 2e 0d | 0a 0d 0a 1a 65 64 2e 20 |r 1985..|....ed. |
|00000250| 20 20 46 6f 72 20 65 61 | 73 65 20 6f 66 20 75 73 | For ea|se of us|
|00000260| 65 20 8a 09 42 41 4e 4b | 53 57 41 50 20 20 69 6e |e ..BANK|SWAP in|
|00000270| 73 74 61 6c 6c 73 20 61 | 20 76 65 63 74 6f 72 20 |stalls a| vector |
|00000280| 09 09 09 20 20 20 20 20 | 42 41 4e 4b 53 57 41 50 |... |BANKSWAP|
|00000290| 3a 20 0d 0a 09 20 20 20 | 20 41 20 42 61 6e 6b 65 |: ... | A Banke|
|000002a0| 64 20 4d 65 6d 6f 72 79 | 20 44 65 62 75 67 67 69 |d Memory| Debuggi|
|000002b0| 6e 67 20 54 6f 6f 6c 20 | 66 6f 72 20 43 50 2f 4d |ng Tool |for CP/M|
|000002c0| 20 50 6c 75 73 0d 0a 0d | 0a 09 09 09 20 41 6c 62 | Plus...|.... Alb|
|000002d0| 65 72 74 20 53 2e 20 57 | 6f 6f 64 68 75 6c 6c 0d |ert S. W|oodhull.|
|000002e0| 0a 09 09 09 20 48 61 6d | 70 73 68 69 72 65 20 43 |.... Ham|pshire C|
|000002f0| 6f 6c 6c 65 67 65 0d 0a | 09 09 09 20 41 6d 68 65 |ollege..|... Amhe|
|00000300| 72 73 74 2c 20 4d 41 20 | 30 31 30 30 32 0d 0a 0d |rst, MA |01002...|
|00000310| 0a 09 09 20 43 6f 70 79 | 72 69 67 68 74 20 31 39 |... Copy|right 19|
|00000320| 38 35 2c 20 41 6c 62 65 | 72 74 20 53 2e 20 57 6f |85, Albe|rt S. Wo|
|00000330| 6f 64 68 75 6c 6c 0d 0a | 0d 0a 09 54 68 65 20 42 |odhull..|...The B|
|00000340| 41 4e 4b 53 57 41 50 2e | 4c 42 52 20 66 69 6c 65 |ANKSWAP.|LBR file|
|00000350| 20 63 6f 6e 74 61 69 6e | 73 2c 20 69 6e 20 61 64 | contain|s, in ad|
|00000360| 64 69 74 69 6f 6e 20 74 | 6f 20 74 68 69 73 20 52 |dition t|o this R|
|00000370| 45 41 44 2e 4d 45 0d 0a | 66 69 6c 65 2c 20 74 68 |EAD.ME..|file, th|
|00000380| 65 20 73 6f 75 72 63 65 | 2c 20 42 41 4e 4b 53 57 |e source|, BANKSW|
|00000390| 41 50 2e 41 53 4d 2c 20 | 61 6e 64 20 52 53 58 4d |AP.ASM, |and RSXM|
|000003a0| 41 4b 45 52 2e 53 55 42 | 2c 20 77 68 69 63 68 20 |AKER.SUB|, which |
|000003b0| 63 61 6e 20 62 65 20 75 | 73 65 64 0d 0a 74 6f 20 |can be u|sed..to |
|000003c0| 63 6f 6e 74 72 6f 6c 20 | 74 68 65 20 70 72 6f 63 |control |the proc|
|000003d0| 65 73 73 20 6f 66 20 61 | 73 73 65 6d 62 6c 79 2c |ess of a|ssembly,|
|000003e0| 20 6c 69 6e 6b 69 6e 67 | 2c 20 61 6e 64 20 61 74 | linking|, and at|
|000003f0| 74 61 63 68 69 6e 67 20 | 74 68 65 0d 0a 72 65 73 |taching |the..res|
|00000400| 69 64 65 6e 74 20 73 79 | 73 74 65 6d 20 65 78 74 |ident sy|stem ext|
|00000410| 65 6e 73 69 6f 6e 20 74 | 6f 20 61 6e 20 65 78 65 |ension t|o an exe|
|00000420| 63 75 74 61 62 6c 65 20 | 66 69 6c 65 2e 0d 0a 0d |cutable |file....|
|00000430| 0a 09 41 20 63 6f 6d 70 | 6c 65 74 65 20 64 65 73 |..A comp|lete des|
|00000440| 63 72 69 70 74 69 6f 6e | 20 6f 66 20 74 68 65 20 |cription| of the |
|00000450| 70 72 6f 67 72 61 6d 20 | 77 61 73 20 70 75 62 6c |program |was publ|
|00000460| 69 73 68 65 64 20 69 6e | 20 44 72 2e 0d 0a 44 6f |ished in| Dr...Do|
|00000470| 62 62 27 73 20 4a 6f 75 | 72 6e 61 6c 2c 20 56 6f |bb's Jou|rnal, Vo|
|00000480| 6c 75 6d 65 20 31 30 2c | 20 49 73 73 75 65 20 31 |lume 10,| Issue 1|
|00000490| 32 2c 20 44 65 63 65 6d | 62 65 72 20 31 39 38 35 |2, Decem|ber 1985|
|000004a0| 2c 20 6f 6e 20 70 61 67 | 65 73 20 33 34 2d 35 32 |, on pag|es 34-52|
|000004b0| 2e 0d 0a 54 68 65 20 66 | 6f 6c 6c 6f 77 69 6e 67 |...The f|ollowing|
|000004c0| 20 74 65 78 74 20 69 73 | 20 61 62 73 74 72 61 63 | text is| abstrac|
|000004d0| 74 65 64 20 66 72 6f 6d | 20 74 68 61 74 20 61 72 |ted from| that ar|
|000004e0| 74 69 63 6c 65 3a 0d 0a | 0d 0a 09 20 20 20 20 20 |ticle:..|... |
|000004f0| 42 41 4e 4b 53 57 41 50 | 20 20 20 69 73 20 20 6e |BANKSWAP| is n|
|00000500| 6f 74 20 20 20 61 20 20 | 20 73 74 61 6e 64 61 6c |ot a | standal|
|00000510| 6f 6e 65 20 0d 0a 09 70 | 72 6f 67 72 61 6d 3b 20 |one ...p|rogram; |
|00000520| 69 74 20 69 73 20 61 6e | 20 20 65 6e 68 61 6e 63 |it is an| enhanc|
|00000530| 65 6d 65 6e 74 20 74 6f | 20 53 49 44 20 6f 72 20 |ement to| SID or |
|00000540| 0d 0a 09 44 44 54 20 74 | 68 61 74 20 70 72 6f 76 |...DDT t|hat prov|
|00000550| 69 64 65 73 20 61 64 64 | 69 74 69 6f 6e 61 6c 20 |ides add|itional |
|00000560| 63 6f 6d 6d 61 6e 64 73 | 20 74 6f 20 0d 0a 09 63 |commands| to ...c|
|00000570| 6f 70 79 20 62 6c 6f 63 | 6b 73 20 6f 66 20 6d 65 |opy bloc|ks of me|
|00000580| 6d 6f 72 79 20 66 72 6f | 6d 20 62 61 6e 6b 20 74 |mory fro|m bank t|
|00000590| 6f 20 62 61 6e 6b 2e 20 | 20 0d 0a 09 54 68 65 20 |o bank. | ...The |
|000005a0| 6e 6f 72 6d 61 6c 20 66 | 75 6e 63 74 69 6f 6e 73 |normal f|unctions|
|000005b0| 20 6f 66 20 74 68 65 20 | 64 65 62 75 67 67 65 72 | of the |debugger|
|000005c0| 20 63 61 6e 20 0d 0a 09 | 62 65 20 75 73 65 64 20 | can ...|be used |
|000005d0| 6f 6e 20 61 20 63 6f 70 | 79 20 6f 66 20 6d 65 6d |on a cop|y of mem|
|000005e0| 6f 72 79 20 66 72 6f 6d | 20 61 6e 6f 74 68 65 72 |ory from| another|
|000005f0| 20 0d 0a 09 62 61 6e 6b | 20 20 74 68 61 74 20 20 | ...bank| that |
|00000600| 68 61 73 20 62 65 65 6e | 20 62 72 6f 75 67 68 74 |has been| brought|
|00000610| 20 74 6f 20 74 68 65 20 | 20 54 50 41 20 0d 0a 09 | to the | TPA ...|
|00000620| 62 61 6e 6b 2e 0d 0a 09 | 0d 0a 09 20 20 20 20 20 |bank....|... |
|00000630| 42 41 4e 4b 53 57 41 50 | 20 69 73 20 72 65 6c 6f |BANKSWAP| is relo|
|00000640| 63 61 74 61 62 6c 65 2c | 20 61 6e 64 20 69 73 20 |catable,| and is |
|00000650| 6e 6f 74 20 0d 0a 09 6e | 65 63 65 73 73 61 72 69 |not ...n|ecessari|
|00000660| 6c 79 20 6c 6f 61 64 65 | 64 20 74 6f 20 74 68 65 |ly loade|d to the|
|00000670| 20 73 61 6d 65 20 20 6c | 6f 63 61 74 69 6f 6e 20 | same l|ocation |
|00000680| 0d 0a 09 65 61 63 68 20 | 20 74 69 6d 65 20 69 74 |...each | time it|
|00000690| 20 69 73 20 75 73 65 64 | 2e 20 20 20 46 6f 72 20 | is used|. For |
|000006a0| 65 61 73 65 20 6f 66 20 | 75 73 65 20 0d 0a 09 42 |ease of |use ...B|
|000006b0| 41 4e 4b 53 57 41 50 20 | 20 69 6e 73 74 61 6c 6c |ANKSWAP | install|
|000006c0| 73 20 61 20 76 65 63 74 | 6f 72 20 74 6f 20 20 69 |s a vect|or to i|
|000006d0| 74 73 20 20 6f 77 6e 20 | 0d 0a 09 65 6e 74 72 79 |ts own |...entry|
|000006e0| 20 20 70 6f 69 6e 74 20 | 61 74 20 74 68 65 20 52 | point |at the R|
|000006f0| 53 54 20 35 20 6c 6f 63 | 61 74 69 6f 6e 20 28 32 |ST 5 loc|ation (2|
|00000700| 38 48 29 20 0d 0a 09 64 | 75 72 69 6e 67 20 69 6e |8H) ...d|uring in|
|00000710| 73 74 61 6c 6c 61 74 69 | 6f 6e 2e 20 20 20 54 79 |stallati|on. Ty|
|00000720| 70 69 6e 67 20 22 47 32 | 38 22 20 66 72 6f 6d 20 |ping "G2|8" from |
|00000730| 0d 0a 09 74 68 65 20 20 | 53 49 44 20 20 6f 72 20 |...the |SID or |
|00000740| 44 44 54 20 70 72 6f 6d | 70 74 20 20 62 72 69 6e |DDT prom|pt brin|
|00000750| 67 73 20 20 75 70 20 20 | 74 68 65 20 0d 0a 09 42 |gs up |the ...B|
|00000760| 41 4e 4b 53 57 41 50 20 | 20 20 6d 65 6e 75 2e 20 |ANKSWAP | menu. |
|00000770| 20 20 20 54 68 65 20 20 | 20 69 6e 69 74 69 61 6c | The | initial|
|00000780| 69 7a 61 74 69 6f 6e 20 | 0d 0a 09 70 72 6f 63 65 |ization |...proce|
|00000790| 73 73 20 20 20 61 6c 73 | 6f 20 20 64 69 73 70 6c |ss als|o displ|
|000007a0| 61 79 73 20 20 61 20 20 | 6d 65 73 73 61 67 65 20 |ays a |message |
|000007b0| 20 74 6f 20 0d 0a 09 72 | 65 6d 69 6e 64 20 20 74 | to ...r|emind t|
|000007c0| 68 65 20 20 75 73 65 72 | 20 20 6f 66 20 20 74 68 |he user| of th|
|000007d0| 65 20 20 70 72 65 73 65 | 6e 63 65 20 20 6f 66 20 |e prese|nce of |
|000007e0| 0d 0a 09 42 41 4e 4b 53 | 57 41 50 20 61 6e 64 20 |...BANKS|WAP and |
|000007f0| 74 68 65 20 63 6f 6d 6d | 61 6e 64 20 74 6f 20 61 |the comm|and to a|
|00000800| 63 63 65 73 73 20 69 74 | 2e 0d 0a 09 0d 0a 09 20 |ccess it|....... |
|00000810| 20 20 20 20 54 68 65 20 | 20 42 41 4e 4b 53 57 41 | The | BANKSWA|
|00000820| 50 20 6d 65 6e 75 20 61 | 6c 6c 6f 77 73 20 63 68 |P menu a|llows ch|
|00000830| 6f 69 63 65 20 6f 66 20 | 0d 0a 09 74 68 65 20 20 |oice of |...the |
|00000840| 64 69 72 65 63 74 69 6f | 6e 20 6f 66 20 74 68 65 |directio|n of the|
|00000850| 20 6d 6f 76 65 2c 20 20 | 74 68 65 20 20 6d 65 6d | move, |the mem|
|00000860| 6f 72 79 20 0d 0a 09 61 | 64 64 72 65 73 73 65 73 |ory ...a|ddresses|
|00000870| 20 20 20 20 66 6f 72 20 | 20 20 20 74 68 65 20 20 | for | the |
|00000880| 20 20 73 6f 75 72 63 65 | 20 20 20 20 61 6e 64 20 | source| and |
|00000890| 0d 0a 09 64 65 73 74 69 | 6e 61 74 69 6f 6e 2c 20 |...desti|nation, |
|000008a0| 61 6e 64 20 74 68 65 20 | 6c 65 6e 67 74 68 20 6f |and the |length o|
|000008b0| 66 20 74 68 65 20 62 6c | 6f 63 6b 20 0d 0a 09 74 |f the bl|ock ...t|
|000008c0| 6f 20 62 65 20 6d 6f 76 | 65 64 2e 20 20 54 68 65 |o be mov|ed. The|
|000008d0| 20 6d 65 6e 75 20 61 6c | 73 6f 20 70 72 6f 76 69 | menu al|so provi|
|000008e0| 64 65 73 20 66 6f 72 20 | 0d 0a 09 65 61 73 79 20 |des for |...easy |
|000008f0| 72 65 74 75 72 6e 20 74 | 6f 20 44 44 54 20 6f 72 |return t|o DDT or|
|00000900| 20 53 49 44 2c 20 20 61 | 6e 64 20 66 6f 72 20 20 | SID, a|nd for |
|00000910| 74 68 65 20 0d 0a 09 65 | 76 65 6e 74 75 61 6c 20 |the ...e|ventual |
|00000920| 72 65 6d 6f 76 61 6c 20 | 6f 66 20 42 41 4e 4b 53 |removal |of BANKS|
|00000930| 57 41 50 2e 20 0d 0a 09 | 0d 0a 09 20 20 20 20 20 |WAP. ...|... |
|00000940| 54 68 65 20 6c 69 73 74 | 69 6e 67 20 63 6f 6e 74 |The list|ing cont|
|00000950| 61 69 6e 73 20 63 6f 6d | 6d 65 6e 74 73 20 20 74 |ains com|ments t|
|00000960| 68 61 74 20 0d 0a 09 65 | 78 70 6c 61 69 6e 20 74 |hat ...e|xplain t|
|00000970| 68 65 20 6f 70 65 72 61 | 74 69 6f 6e 20 6f 66 20 |he opera|tion of |
|00000980| 42 41 4e 4b 53 57 41 50 | 2c 20 62 75 74 20 49 20 |BANKSWAP|, but I |
|00000990| 0d 0a 09 77 69 6c 6c 20 | 20 65 6d 70 68 61 73 69 |...will | emphasi|
|000009a0| 7a 65 20 20 61 20 20 66 | 65 77 20 70 6f 69 6e 74 |ze a f|ew point|
|000009b0| 73 20 20 49 20 20 66 6f | 75 6e 64 20 0d 0a 09 69 |s I fo|und ...i|
|000009c0| 6d 70 6f 72 74 61 6e 74 | 20 69 6e 20 77 6f 72 6b |mportant| in work|
|000009d0| 69 6e 67 20 77 69 74 68 | 20 62 61 6e 6b 65 64 20 |ing with| banked |
|000009e0| 6d 65 6d 6f 72 79 2e 20 | 20 0d 0a 09 41 6c 74 68 |memory. | ...Alth|
|000009f0| 6f 75 67 68 20 49 20 77 | 72 6f 74 65 20 74 68 69 |ough I w|rote thi|
|00000a00| 73 20 70 72 6f 67 72 61 | 6d 20 66 6f 72 20 75 73 |s progra|m for us|
|00000a10| 65 20 6f 6e 20 0d 0a 09 | 61 6e 20 41 70 70 6c 65 |e on ...|an Apple|
|00000a20| 20 77 69 74 68 20 74 68 | 65 20 41 2e 4c 2e 53 2e | with th|e A.L.S.|
|00000a30| 20 43 50 2f 4d 20 43 61 | 72 64 20 74 68 65 72 65 | CP/M Ca|rd there|
|00000a40| 20 0d 0a 09 73 68 6f 75 | 6c 64 20 62 65 20 6e 6f | ...shou|ld be no|
|00000a50| 20 70 72 6f 62 6c 65 6d | 73 20 69 6e 20 6d 61 6b | problem|s in mak|
|00000a60| 69 6e 67 20 42 41 4e 4b | 53 57 41 50 20 0d 0a 09 |ing BANK|SWAP ...|
|00000a70| 77 6f 72 6b 20 20 6f 6e | 20 6f 74 68 65 72 20 69 |work on| other i|
|00000a80| 6d 70 6c 65 6d 65 6e 74 | 61 74 69 6f 6e 73 20 20 |mplement|ations |
|00000a90| 6f 66 20 20 43 50 2f 4d | 20 0d 0a 09 50 6c 75 73 |of CP/M| ...Plus|
|00000aa0| 2e 20 20 54 68 65 20 20 | 6d 6f 73 74 20 63 72 69 |. The |most cri|
|00000ab0| 74 69 63 61 6c 20 70 6f | 69 6e 74 20 69 73 20 74 |tical po|int is t|
|00000ac0| 6f 20 62 65 20 0d 0a 09 | 73 75 72 65 20 74 68 61 |o be ...|sure tha|
|00000ad0| 74 20 63 6f 6e 74 72 6f | 6c 20 69 73 20 6e 6f 74 |t contro|l is not|
|00000ae0| 20 6c 6f 73 74 20 77 68 | 69 6c 65 20 62 61 6e 6b | lost wh|ile bank|
|00000af0| 20 0d 0a 09 31 20 20 69 | 73 20 64 65 73 65 6c 65 | ...1 i|s desele|
|00000b00| 63 74 65 64 2e 20 20 54 | 68 69 73 20 20 6d 65 61 |cted. T|his mea|
|00000b10| 6e 73 20 20 65 6e 73 75 | 72 69 6e 67 20 0d 0a 09 |ns ensu|ring ...|
|00000b20| 74 68 61 74 20 42 41 4e | 4b 53 57 41 50 20 69 74 |that BAN|KSWAP it|
|00000b30| 73 65 6c 66 2c 20 74 68 | 65 20 73 74 61 63 6b 2c |self, th|e stack,|
|00000b40| 20 61 6e 64 20 61 6c 6c | 20 0d 0a 09 64 61 74 61 | and all| ...data|
|00000b50| 20 20 61 72 65 61 73 20 | 20 75 73 65 64 20 61 72 | areas | used ar|
|00000b60| 65 20 6c 6f 63 61 74 65 | 64 20 69 6e 20 20 63 6f |e locate|d in co|
|00000b70| 6d 6d 6f 6e 20 0d 0a 09 | 6d 65 6d 6f 72 79 2e 20 |mmon ...|memory. |
|00000b80| 20 20 49 74 20 69 73 20 | 70 6f 73 73 69 62 6c 65 | It is |possible|
|00000b90| 20 66 6f 72 20 61 20 43 | 50 2f 4d 20 50 6c 75 73 | for a C|P/M Plus|
|00000ba0| 20 0d 0a 09 73 79 73 74 | 65 6d 20 20 74 6f 20 62 | ...syst|em to b|
|00000bb0| 65 20 63 6f 6e 73 74 72 | 75 63 74 65 64 20 73 6f |e constr|ucted so|
|00000bc0| 20 20 69 6e 74 65 72 72 | 75 70 74 73 20 0d 0a 09 | interr|upts ...|
|00000bd0| 61 6e 64 20 20 73 79 73 | 74 65 6d 20 63 61 6c 6c |and sys|tem call|
|00000be0| 73 20 63 61 6e 20 62 65 | 20 20 68 61 6e 64 6c 65 |s can be| handle|
|00000bf0| 64 20 20 77 68 69 6c 65 | 20 0d 0a 09 61 6c 74 65 |d while| ...alte|
|00000c00| 72 6e 61 74 65 20 62 61 | 6e 6b 73 20 61 72 65 20 |rnate ba|nks are |
|00000c10| 73 65 6c 65 63 74 65 64 | 2e 20 20 20 48 6f 77 65 |selected|. Howe|
|00000c20| 76 65 72 2c 20 0d 0a 09 | 66 6f 72 20 20 69 6e 73 |ver, ...|for ins|
|00000c30| 75 72 61 6e 63 65 20 20 | 49 20 20 74 68 6f 75 67 |urance |I thoug|
|00000c40| 68 74 20 20 69 74 20 20 | 62 65 73 74 20 20 74 6f |ht it |best to|
|00000c50| 20 0d 0a 09 64 69 73 61 | 62 6c 65 20 20 69 6e 74 | ...disa|ble int|
|00000c60| 65 72 72 75 70 74 73 20 | 20 61 6e 64 20 61 76 6f |errupts | and avo|
|00000c70| 69 64 20 63 61 6c 6c 73 | 20 20 74 6f 20 0d 0a 09 |id calls| to ...|
|00000c80| 74 68 65 20 73 74 61 6e | 64 61 72 64 20 42 44 4f |the stan|dard BDO|
|00000c90| 53 20 65 6e 74 72 79 20 | 70 6f 69 6e 74 20 77 68 |S entry |point wh|
|00000ca0| 69 6c 65 20 62 61 6e 6b | 20 0d 0a 09 31 20 20 69 |ile bank| ...1 i|
|00000cb0| 73 20 64 65 73 65 6c 65 | 63 74 65 64 2c 20 20 73 |s desele|cted, s|
|00000cc0| 69 6e 63 65 20 74 68 65 | 20 76 65 63 74 6f 72 73 |ince the| vectors|
|00000cd0| 20 20 6f 6e 20 0d 0a 09 | 70 61 67 65 20 30 20 6f | on ...|page 0 o|
|00000ce0| 66 20 62 61 6e 6b 20 31 | 20 61 72 65 20 74 68 65 |f bank 1| are the|
|00000cf0| 6e 20 69 6e 61 63 63 65 | 73 73 69 62 6c 65 2e 0d |n inacce|ssible..|
|00000d00| 0a 09 0d 0a 09 20 20 20 | 20 20 54 68 65 72 65 20 |..... | There |
|00000d10| 20 69 73 20 61 20 70 6f | 74 65 6e 74 69 61 6c 20 | is a po|tential |
|00000d20| 70 72 6f 62 6c 65 6d 20 | 20 77 69 74 68 20 0d 0a |problem | with ..|
|00000d30| 09 74 68 65 20 76 65 72 | 73 69 6f 6e 20 6f 66 20 |.the ver|sion of |
|00000d40| 42 41 4e 4b 53 57 41 50 | 20 73 68 6f 77 6e 20 69 |BANKSWAP| shown i|
|00000d50| 6e 20 6c 69 73 74 69 6e | 67 20 0d 0a 09 31 2c 20 |n listin|g ...1, |
|00000d60| 20 62 75 74 20 20 49 20 | 6c 65 61 76 65 20 69 74 | but I |leave it|
|00000d70| 20 66 6f 72 20 73 6f 6d | 65 6f 6e 65 20 65 6c 73 | for som|eone els|
|00000d80| 65 20 20 74 6f 20 0d 0a | 09 66 69 78 2e 20 20 20 |e to ..|.fix. |
|00000d90| 41 73 20 6e 6f 74 65 64 | 20 61 62 6f 76 65 2c 20 |As noted| above, |
|00000da0| 42 41 4e 4b 53 57 41 50 | 20 75 73 65 73 20 74 68 |BANKSWAP| uses th|
|00000db0| 65 20 0d 0a 09 52 53 58 | 20 20 74 65 63 68 6e 69 |e ...RSX| techni|
|00000dc0| 71 75 65 20 69 6e 20 6f | 72 64 65 72 20 74 6f 20 |que in o|rder to |
|00000dd0| 62 65 20 6c 6f 63 61 74 | 65 64 20 61 74 20 0d 0a |be locat|ed at ..|
|00000de0| 09 74 68 65 20 68 69 67 | 68 65 73 74 20 61 76 61 |.the hig|hest ava|
|00000df0| 69 6c 61 62 6c 65 20 6d | 65 6f 72 79 20 61 64 64 |ilable m|eory add|
|00000e00| 72 65 73 73 2e 20 54 68 | 65 20 0d 0a 09 61 63 74 |ress. Th|e ...act|
|00000e10| 75 61 6c 20 20 61 6d 6f | 75 6e 74 20 20 6f 66 20 |ual amo|unt of |
|00000e20| 68 69 67 68 20 6d 65 6d | 6f 72 79 20 20 74 68 61 |high mem|ory tha|
|00000e30| 74 20 20 69 73 20 0d 0a | 09 63 6f 6d 6d 6f 6e 20 |t is ..|.common |
|00000e40| 20 64 65 70 65 6e 64 73 | 20 75 70 6f 6e 20 74 68 | depends| upon th|
|00000e50| 65 20 68 61 72 64 77 61 | 72 65 20 20 75 73 65 64 |e hardwa|re used|
|00000e60| 2c 20 0d 0a 09 61 6e 64 | 20 20 49 20 20 64 69 64 |, ...and| I did|
|00000e70| 6e 27 74 20 66 69 67 75 | 72 65 20 6f 75 74 20 61 |n't figu|re out a|
|00000e80| 20 20 77 61 79 20 20 66 | 6f 72 20 20 61 20 0d 0a | way f|or a ..|
|00000e90| 09 70 72 6f 67 72 61 6d | 20 74 6f 20 64 65 74 65 |.program| to dete|
|00000ea0| 72 6d 69 6e 65 20 74 68 | 69 73 2e 20 20 20 49 66 |rmine th|is. If|
|00000eb0| 20 74 6f 6f 20 6d 61 6e | 79 20 0d 0a 09 52 53 58 | too man|y ...RSX|
|00000ec0| 73 20 61 72 65 20 69 6e | 73 74 61 6c 6c 65 64 2c |s are in|stalled,|
|00000ed0| 20 74 68 65 20 74 6f 70 | 20 6f 66 20 61 76 61 69 | the top| of avai|
|00000ee0| 6c 61 62 6c 65 20 0d 0a | 09 6d 65 6d 6f 72 79 20 |lable ..|.memory |
|00000ef0| 20 63 61 6e 20 62 65 20 | 62 65 6c 6f 77 20 74 68 | can be |below th|
|00000f00| 65 20 63 6f 6d 6d 6f 6e | 20 20 72 65 67 69 6f 6e |e common| region|
|00000f10| 2e 20 20 0d 0a 09 49 6e | 20 20 74 68 69 73 20 20 |. ...In| this |
|00000f20| 63 61 73 65 20 20 42 41 | 4e 4b 53 57 41 50 20 20 |case BA|NKSWAP |
|00000f30| 77 69 6c 6c 20 20 70 72 | 6f 62 61 62 6c 79 20 0d |will pr|obably .|
|00000f40| 0a 09 63 61 75 73 65 20 | 61 20 63 72 61 73 68 2e |..cause |a crash.|
|00000f50| 20 20 20 4f 6e 20 6d 79 | 20 52 65 76 2e 20 20 41 | On my| Rev. A|
|00000f60| 20 43 50 2f 4d 20 63 61 | 72 64 20 0d 0a 09 74 68 | CP/M ca|rd ...th|
|00000f70| 65 20 20 63 6f 6d 6d 6f | 6e 20 20 6d 65 6d 6f 72 |e commo|n memor|
|00000f80| 79 20 6c 69 6d 69 74 20 | 69 73 20 20 61 74 20 20 |y limit |is at |
|00000f90| 38 30 30 30 48 2c 20 0d | 0a 09 61 68 69 63 68 20 |8000H, .|..ahich |
|00000fa0| 6c 65 61 76 65 73 20 72 | 6f 6f 6d 20 66 6f 72 20 |leaves r|oom for |
|00000fb0| 61 20 6c 6f 74 20 6f 66 | 20 52 53 58 73 2c 20 20 |a lot of| RSXs, |
|00000fc0| 73 6f 20 0d 0a 09 49 20 | 20 68 61 76 65 20 6e 65 |so ...I | have ne|
|00000fd0| 76 65 72 20 67 69 76 65 | 6e 20 74 68 65 20 70 72 |ver give|n the pr|
|00000fe0| 6f 62 6c 65 6d 20 20 61 | 20 20 68 69 67 68 20 0d |oblem a| high .|
|00000ff0| 0a 09 70 72 69 6f 72 69 | 74 79 2e 20 0d 0a 0d 0a |..priori|ty. ....|
|00001000| 09 54 68 65 20 42 41 4e | 4b 53 57 41 50 2e 4c 42 |.The BAN|KSWAP.LB|
|00001010| 52 20 66 69 6c 65 20 69 | 73 20 62 65 69 6e 67 20 |R file i|s being |
|00001020| 75 70 6c 6f 61 64 65 64 | 20 74 6f 20 74 68 65 20 |uploaded| to the |
|00001030| 43 6f 6d 70 75 53 65 72 | 76 65 0d 0a 43 50 2f 4d |CompuSer|ve..CP/M|
|00001040| 20 53 49 47 20 6f 6e 20 | 44 65 63 65 6d 62 65 72 | SIG on |December|
|00001050| 20 31 35 2c 20 31 39 38 | 35 2e 20 20 54 68 65 20 | 15, 198|5. The |
|00001060| 61 75 74 68 6f 72 20 63 | 61 6e 20 62 65 20 72 65 |author c|an be re|
|00001070| 61 63 68 65 64 20 62 79 | 20 45 4d 41 49 4c 0d 0a |ached by| EMAIL..|
|00001080| 74 6f 20 37 34 31 35 36 | 2c 31 30 36 37 20 6f 6e |to 74156|,1067 on|
|00001090| 20 43 6f 6d 70 75 53 65 | 72 76 65 2c 20 6f 72 20 | CompuSe|rve, or |
|000010a0| 62 79 20 6d 61 69 6c 20 | 74 6f 20 74 68 65 20 61 |by mail |to the a|
|000010b0| 64 64 72 65 73 73 20 61 | 74 20 74 68 65 0d 0a 62 |ddress a|t the..b|
|000010c0| 65 67 69 6e 6e 69 6e 67 | 20 6f 66 20 74 68 69 73 |eginning| of this|
|000010d0| 20 66 69 6c 65 2e 20 20 | 48 65 20 77 6f 75 6c 64 | file. |He would|
|000010e0| 20 61 70 70 72 65 63 69 | 61 74 65 20 62 65 69 6e | appreci|ate bein|
|000010f0| 67 20 69 6e 66 6f 72 6d | 65 64 20 6f 66 0d 0a 66 |g inform|ed of..f|
|00001100| 75 72 74 68 65 72 20 64 | 69 73 74 72 69 62 75 74 |urther d|istribut|
|00001110| 69 6f 6e 20 6f 66 20 74 | 68 65 73 65 20 66 69 6c |ion of t|hese fil|
|00001120| 65 73 2e 0d 0a 1a 6d 20 | 20 77 69 74 68 20 0d 0a |es....m | with ..|
|00001130| 09 74 68 65 20 76 65 72 | 73 69 6f 6e 20 6f 66 20 |.the ver|sion of |
|00001140| 42 41 4e 4b 53 57 41 50 | 20 73 68 6f 77 6e 20 69 |BANKSWAP| shown i|
|00001150| 6e 20 6c 69 73 74 69 6e | 67 20 0d 0a 09 31 2c 20 |n listin|g ...1, |
|00001160| 20 62 75 74 20 20 49 20 | 6c 65 61 76 65 20 69 74 | but I |leave it|
|00001170| 20 66 6f 72 20 73 6f 6d | 65 6f 6e 65 20 65 6c 73 | for som|eone els|
|00001180| 3b 20 42 41 4e 4b 53 57 | 41 50 2e 41 53 4d 0d 0a |; BANKSW|AP.ASM..|
|00001190| 3b 20 0d 0a 3b 20 41 2e | 20 53 2e 20 57 6f 6f 64 |; ..; A.| S. Wood|
|000011a0| 68 75 6c 6c 20 20 09 32 | 38 20 4a 75 6e 65 20 38 |hull .2|8 June 8|
|000011b0| 33 0d 0a 3b 20 72 65 76 | 09 20 31 20 4a 75 6c 79 |3..; rev|. 1 July|
|000011c0| 20 38 35 09 2d 2d 20 6d | 69 6e 6f 72 20 65 64 69 | 85.-- m|inor edi|
|000011d0| 74 69 6e 67 0d 0a 3b 20 | 09 32 30 20 4f 63 74 20 |ting..; |.20 Oct |
|000011e0| 38 33 0d 0a 3b 20 0d 0a | 3b 20 54 68 69 73 20 69 |83..; ..|; This i|
|000011f0| 73 20 64 65 73 69 67 6e | 65 64 20 74 6f 20 62 65 |s design|ed to be|
|00001200| 20 72 75 6e 20 61 73 20 | 61 20 73 75 62 70 72 6f | run as |a subpro|
|00001210| 67 72 61 6d 20 75 6e 64 | 65 72 20 44 44 54 0d 0a |gram und|er DDT..|
|00001220| 3b 20 6f 72 20 53 49 44 | 2c 20 69 6e 20 61 20 62 |; or SID|, in a b|
|00001230| 61 6e 6b 65 64 20 76 65 | 72 73 69 6f 6e 20 6f 66 |anked ve|rsion of|
|00001240| 20 43 50 2f 4d 20 33 2e | 30 20 20 54 68 65 20 66 | CP/M 3.|0 The f|
|00001250| 75 6e 63 74 69 6f 6e 0d | 0a 3b 20 6f 66 20 42 41 |unction.|.; of BA|
|00001260| 4e 4b 53 57 41 50 20 69 | 73 20 74 6f 20 63 6f 70 |NKSWAP i|s to cop|
|00001270| 79 20 62 6c 6f 63 6b 73 | 20 6f 66 20 6d 65 6d 6f |y blocks| of memo|
|00001280| 72 79 20 66 72 6f 6d 20 | 6f 74 68 65 72 20 0d 0a |ry from |other ..|
|00001290| 3b 20 62 61 6e 6b 73 20 | 74 6f 20 61 6e 64 20 66 |; banks |to and f|
|000012a0| 72 6f 6d 20 62 61 6e 6b | 20 31 2c 20 75 73 69 6e |rom bank| 1, usin|
|000012b0| 67 20 61 20 62 75 66 66 | 65 72 20 69 6e 20 74 68 |g a buff|er in th|
|000012c0| 65 20 63 6f 6d 6d 6f 6e | 0d 0a 3b 20 61 72 65 61 |e common|..; area|
|000012d0| 2e 20 20 4e 6f 72 6d 61 | 6c 20 44 44 54 20 6f 72 |. Norma|l DDT or|
|000012e0| 20 53 49 44 20 66 75 6e | 63 74 69 6f 6e 73 20 63 | SID fun|ctions c|
|000012f0| 61 6e 20 74 68 65 6e 20 | 62 65 20 0d 0a 3b 20 70 |an then |be ..; p|
|00001300| 65 72 66 6f 72 6d 65 64 | 2c 20 75 73 69 6e 67 20 |erformed|, using |
|00001310| 74 68 65 20 63 6f 70 79 | 20 6f 66 20 74 68 65 20 |the copy| of the |
|00001320| 63 6f 64 65 20 69 6e 20 | 62 61 6e 6b 20 31 2e 20 |code in |bank 1. |
|00001330| 20 0d 0a 3b 20 28 4f 66 | 20 63 6f 75 72 73 65 2c | ..; (Of| course,|
|00001340| 20 79 6f 75 20 63 61 6e | 6e 6f 74 20 74 72 61 63 | you can|not trac|
|00001350| 65 20 74 68 72 6f 75 67 | 68 20 70 72 6f 67 72 61 |e throug|h progra|
|00001360| 6d 20 73 65 67 6d 65 6e | 74 73 0d 0a 3b 20 74 68 |m segmen|ts..; th|
|00001370| 61 74 20 73 77 69 74 63 | 68 20 62 61 6e 6b 73 20 |at switc|h banks |
|00001380| 6f 72 20 61 63 63 65 73 | 73 20 6d 65 6d 6f 72 79 |or acces|s memory|
|00001390| 20 6d 61 70 70 65 64 20 | 49 2f 4f 20 69 6e 20 0d | mapped |I/O in .|
|000013a0| 0a 3b 20 61 6e 6f 74 68 | 65 72 20 62 61 6e 6b 2e |.; anoth|er bank.|
|000013b0| 29 0d 0a 3b 20 0d 0a 3b | 20 42 41 4e 4b 53 57 41 |)..; ..;| BANKSWA|
|000013c0| 50 20 6d 75 73 74 20 72 | 65 73 69 64 65 20 69 6e |P must r|eside in|
|000013d0| 20 74 68 65 20 63 6f 6d | 6d 6f 6e 20 61 72 65 61 | the com|mon area|
|000013e0| 20 6f 66 20 6d 65 6d 6f | 72 79 2c 20 61 6e 64 0d | of memo|ry, and.|
|000013f0| 0a 3b 20 61 20 62 75 66 | 66 65 72 20 61 72 65 61 |.; a buf|fer area|
|00001400| 20 74 68 72 6f 75 67 68 | 20 77 68 69 63 68 20 64 | through| which d|
|00001410| 61 74 61 20 63 61 6e 20 | 62 65 20 63 6f 70 69 65 |ata can |be copie|
|00001420| 64 20 6d 75 73 74 20 0d | 0a 3b 20 61 6c 73 6f 20 |d must .|.; also |
|00001430| 62 65 20 70 72 65 73 65 | 6e 74 20 69 6e 20 74 68 |be prese|nt in th|
|00001440| 65 20 63 6f 6d 6d 6f 6e | 20 61 72 65 61 2e 20 20 |e common| area. |
|00001450| 42 41 4e 4b 53 57 41 50 | 20 69 73 20 74 6f 20 62 |BANKSWAP| is to b|
|00001460| 65 0d 0a 3b 20 61 73 73 | 65 6d 62 6c 65 64 20 61 |e..; ass|embled a|
|00001470| 73 20 61 20 52 65 73 69 | 64 65 6e 74 20 53 79 73 |s a Resi|dent Sys|
|00001480| 74 65 6d 20 45 78 74 65 | 6e 73 69 6f 6e 20 28 52 |tem Exte|nsion (R|
|00001490| 53 58 29 2c 20 77 68 69 | 63 68 0d 0a 3b 20 77 69 |SX), whi|ch..; wi|
|000014a0| 6c 6c 20 61 75 74 6f 6d | 61 74 69 63 61 6c 6c 79 |ll autom|atically|
|000014b0| 20 62 65 20 72 65 6c 6f | 63 61 74 65 64 20 74 6f | be relo|cated to|
|000014c0| 20 74 68 65 20 74 6f 70 | 20 6f 66 20 74 68 65 20 | the top| of the |
|000014d0| 54 50 41 2e 0d 0a 3b 20 | 49 74 20 69 73 20 61 73 |TPA...; |It is as|
|000014e0| 73 75 6d 65 64 20 74 68 | 61 74 20 74 68 65 20 63 |sumed th|at the c|
|000014f0| 6f 6d 6d 6f 6e 20 61 72 | 65 61 20 69 73 20 6c 61 |ommon ar|ea is la|
|00001500| 72 67 65 20 65 6e 6f 75 | 67 68 20 74 6f 20 0d 0a |rge enou|gh to ..|
|00001510| 3b 20 61 6c 6c 6f 77 20 | 61 6e 20 52 53 58 20 74 |; allow |an RSX t|
|00001520| 6f 20 66 69 74 2d 2d 69 | 66 20 74 68 69 73 20 69 |o fit--i|f this i|
|00001530| 73 20 6e 6f 74 20 74 72 | 75 65 20 42 41 4e 4b 53 |s not tr|ue BANKS|
|00001540| 57 41 50 20 77 69 6c 6c | 0d 0a 3b 20 6e 6f 74 20 |WAP will|..; not |
|00001550| 77 6f 72 6b 20 69 6e 20 | 69 74 73 20 70 72 65 73 |work in |its pres|
|00001560| 65 6e 74 20 66 6f 72 6d | 2e 0d 0a 3b 20 0d 0a 3b |ent form|...; ..;|
|00001570| 20 42 65 63 61 75 73 65 | 20 74 68 65 20 6c 6f 63 | Because| the loc|
|00001580| 61 74 69 6f 6e 20 6f 66 | 20 42 41 4e 4b 53 57 41 |ation of| BANKSWA|
|00001590| 50 20 69 6e 20 6d 65 6d | 6f 72 79 20 69 73 20 6e |P in mem|ory is n|
|000015a0| 6f 74 20 66 69 78 65 64 | 0d 0a 3b 20 61 20 6a 75 |ot fixed|..; a ju|
|000015b0| 6d 70 20 74 68 72 6f 75 | 67 68 20 61 20 66 69 78 |mp throu|gh a fix|
|000015c0| 65 64 20 6c 6f 63 61 74 | 69 6f 6e 20 69 73 20 73 |ed locat|ion is s|
|000015d0| 65 74 20 75 70 20 77 68 | 65 6e 20 74 68 65 20 42 |et up wh|en the B|
|000015e0| 41 4e 4b 2d 0d 0a 3b 20 | 53 57 41 50 20 63 6f 64 |ANK-..; |SWAP cod|
|000015f0| 65 20 69 73 20 69 6e 73 | 74 61 6c 6c 65 64 2e 20 |e is ins|talled. |
|00001600| 20 49 6e 20 74 68 69 73 | 20 76 65 72 73 69 6f 6e | In this| version|
|00001610| 20 74 68 65 20 20 52 53 | 54 20 35 20 76 65 63 74 | the RS|T 5 vect|
|00001620| 6f 72 0d 0a 3b 20 61 74 | 20 32 38 48 20 69 73 20 |or..; at| 28H is |
|00001630| 75 73 65 64 2c 20 62 75 | 74 20 61 6e 79 20 63 6f |used, bu|t any co|
|00001640| 6e 76 65 6e 69 65 6e 74 | 20 6c 6f 63 61 74 69 6f |nvenient| locatio|
|00001650| 6e 20 6f 6e 20 70 61 67 | 65 20 7a 65 72 6f 0d 0a |n on pag|e zero..|
|00001660| 3b 20 6d 61 79 20 62 65 | 20 75 73 65 64 2e 20 0d |; may be| used. .|
|00001670| 0a 3b 20 0d 0a 3b 20 55 | 6e 64 65 72 20 43 50 2f |.; ..; U|nder CP/|
|00001680| 4d 20 33 20 64 69 72 65 | 63 74 20 61 63 63 65 73 |M 3 dire|ct acces|
|00001690| 73 20 6f 66 20 42 49 4f | 53 20 72 6f 75 74 69 6e |s of BIO|S routin|
|000016a0| 65 73 20 69 73 20 67 65 | 6e 65 72 61 6c 6c 79 0d |es is ge|nerally.|
|000016b0| 0a 3b 20 74 6f 20 62 65 | 20 61 76 6f 69 64 65 64 |.; to be| avoided|
|000016c0| 20 62 79 20 75 73 65 72 | 20 70 72 6f 67 72 61 6d | by user| program|
|000016d0| 73 2c 20 73 69 6e 63 65 | 20 42 49 4f 53 20 72 6f |s, since| BIOS ro|
|000016e0| 75 74 69 6e 65 73 20 6d | 61 79 0d 0a 3b 20 68 61 |utines m|ay..; ha|
|000016f0| 76 65 20 65 78 70 65 63 | 74 61 74 69 6f 6e 73 20 |ve expec|tations |
|00001700| 61 62 6f 75 74 20 77 68 | 69 63 68 20 62 61 6e 6b |about wh|ich bank|
|00001710| 20 69 73 20 73 65 6c 65 | 63 74 65 64 20 77 68 65 | is sele|cted whe|
|00001720| 6e 20 74 68 65 79 20 0d | 0a 3b 20 61 72 65 20 63 |n they .|.; are c|
|00001730| 61 6c 6c 65 64 2e 20 20 | 57 65 20 77 69 6c 6c 2c |alled. |We will,|
|00001740| 20 68 6f 77 65 76 65 72 | 2c 20 64 6f 20 62 61 6e | however|, do ban|
|00001750| 6b 20 73 77 69 74 63 68 | 69 6e 67 20 74 68 72 6f |k switch|ing thro|
|00001760| 75 67 68 0d 0a 3b 20 74 | 68 65 20 42 49 4f 53 20 |ugh..; t|he BIOS |
|00001770| 73 65 6c 6d 65 6d 20 72 | 6f 75 74 69 6e 65 2e 20 |selmem r|outine. |
|00001780| 20 46 6f 72 20 67 65 6e | 65 72 61 6c 69 74 79 20 | For gen|erality |
|00001790| 77 65 20 77 69 6c 6c 20 | 75 73 65 20 74 68 65 20 |we will |use the |
|000017a0| 0d 0a 3b 20 42 49 4f 53 | 20 76 65 63 74 6f 72 20 |..; BIOS| vector |
|000017b0| 61 74 20 6c 6f 63 61 74 | 69 6f 6e 20 31 2e 0d 0a |at locat|ion 1...|
|000017c0| 3b 20 0d 0a 74 72 75 65 | 3a 09 65 71 75 09 30 66 |; ..true|:.equ.0f|
|000017d0| 66 66 66 68 0d 0a 66 61 | 6c 73 65 3a 09 65 71 75 |fffh..fa|lse:.equ|
|000017e0| 09 6e 6f 74 20 74 72 75 | 65 0d 0a 3b 20 0d 0a 61 |.not tru|e..; ..a|
|000017f0| 6c 6f 6e 65 3a 09 65 71 | 75 09 66 61 6c 73 65 09 |lone:.eq|u.false.|
|00001800| 3b 6d 61 6b 65 20 66 61 | 6c 73 65 20 69 66 20 61 |;make fa|lse if a|
|00001810| 74 74 61 63 68 65 64 20 | 74 6f 20 44 44 54 2f 53 |ttached |to DDT/S|
|00001820| 49 44 0d 0a 3b 20 0d 0a | 62 69 6f 73 76 3a 09 65 |ID..; ..|biosv:.e|
|00001830| 71 75 09 31 09 3b 61 64 | 64 72 65 73 73 20 6f 66 |qu.1.;ad|dress of|
|00001840| 20 77 62 6f 6f 74 20 69 | 6e 20 42 49 4f 53 20 66 | wboot i|n BIOS f|
|00001850| 6f 75 6e 64 20 68 65 72 | 65 0d 0a 73 65 6c 6d 65 |ound her|e..selme|
|00001860| 6d 3a 09 65 71 75 09 34 | 65 68 09 3b 6f 66 66 73 |m:.equ.4|eh.;offs|
|00001870| 65 74 20 66 72 6f 6d 20 | 77 62 6f 6f 74 20 0d 0a |et from |wboot ..|
|00001880| 3b 20 0d 0a 62 75 66 6c | 65 6e 3a 09 65 71 75 09 |; ..bufl|en:.equ.|
|00001890| 31 30 30 68 09 3b 6d 6f | 76 65 20 62 6c 6f 63 6b |100h.;mo|ve block|
|000018a0| 20 73 69 7a 65 0d 0a 3b | 20 0d 0a 3b 20 64 65 66 | size..;| ..; def|
|000018b0| 61 75 6c 74 20 70 61 72 | 61 6d 65 74 65 72 73 0d |ault par|ameters.|
|000018c0| 0a 6d 6f 76 63 6e 74 3a | 09 65 71 75 09 31 30 30 |.movcnt:|.equ.100|
|000018d0| 30 68 09 3b 74 6f 20 6d | 6f 76 65 20 31 36 20 70 |0h.;to m|ove 16 p|
|000018e0| 61 67 65 73 20 28 34 4b | 29 20 61 74 20 61 20 74 |ages (4K|) at a t|
|000018f0| 69 6d 65 0d 0a 62 30 64 | 66 74 3a 09 65 71 75 09 |ime..b0d|ft:.equ.|
|00001900| 31 30 30 68 09 3b 73 74 | 61 72 74 20 6f 66 20 62 |100h.;st|art of b|
|00001910| 6c 6f 63 6b 20 69 6e 20 | 62 61 6e 6b 20 30 0d 0a |lock in |bank 0..|
|00001920| 62 31 64 66 74 3a 09 65 | 71 75 09 31 30 30 68 09 |b1dft:.e|qu.100h.|
|00001930| 3b 73 74 61 72 74 20 6f | 66 20 62 6c 6f 63 6b 20 |;start o|f block |
|00001940| 69 6e 20 62 61 6e 6b 20 | 31 0d 0a 3b 20 0d 0a 3b |in bank |1..; ..;|
|00001950| 20 7a 65 72 6f 20 70 61 | 67 65 20 61 64 64 72 65 | zero pa|ge addre|
|00001960| 73 73 65 73 0d 0a 62 64 | 6f 73 3a 09 65 71 75 09 |sses..bd|os:.equ.|
|00001970| 35 09 3b 62 64 6f 73 20 | 65 6e 74 72 79 20 70 6f |5.;bdos |entry po|
|00001980| 69 6e 74 0d 0a 72 73 74 | 76 3a 09 65 71 75 09 32 |int..rst|v:.equ.2|
|00001990| 38 68 09 3b 52 53 54 20 | 35 20 75 73 65 64 20 61 |8h.;RST |5 used a|
|000019a0| 73 20 65 6e 74 72 79 20 | 76 65 63 74 6f 72 0d 0a |s entry |vector..|
|000019b0| 3b 20 0d 0a 3b 20 42 44 | 4f 53 20 66 75 6e 63 74 |; ..; BD|OS funct|
|000019c0| 69 6f 6e 73 20 75 73 65 | 64 0d 0a 63 6f 6e 69 6e |ions use|d..conin|
|000019d0| 3a 09 65 71 75 09 31 09 | 3b 67 65 74 20 61 20 63 |:.equ.1.|;get a c|
|000019e0| 68 61 72 0d 0a 70 72 69 | 6e 74 66 3a 09 65 71 75 |har..pri|ntf:.equ|
|000019f0| 09 39 09 3b 70 72 69 6e | 74 20 61 20 73 74 72 69 |.9.;prin|t a stri|
|00001a00| 6e 67 0d 0a 72 64 62 75 | 66 3a 09 65 71 75 09 31 |ng..rdbu|f:.equ.1|
|00001a10| 30 09 3b 72 65 61 64 20 | 61 20 6c 69 6e 65 0d 0a |0.;read |a line..|
|00001a20| 3b 20 0d 0a 3b 20 54 68 | 69 73 20 69 73 20 73 74 |; ..; Th|is is st|
|00001a30| 61 6e 64 61 72 64 20 70 | 72 65 66 69 78 20 66 6f |andard p|refix fo|
|00001a40| 72 20 61 20 52 65 73 69 | 64 65 6e 74 20 53 79 73 |r a Resi|dent Sys|
|00001a50| 74 65 6d 20 45 78 74 65 | 6e 73 69 6f 6e 0d 0a 3b |tem Exte|nsion..;|
|00001a60| 20 20 73 65 65 20 43 50 | 2f 4d 20 33 20 50 72 6f | see CP|/M 3 Pro|
|00001a70| 67 72 61 6d 6d 65 72 27 | 73 20 47 75 69 64 65 2c |grammer'|s Guide,|
|00001a80| 20 31 73 74 20 65 64 2e | 2c 20 73 65 63 2e 20 34 | 1st ed.|, sec. 4|
|00001a90| 2e 34 2c 20 70 2e 31 36 | 38 0d 0a 3b 20 0d 0a 73 |.4, p.16|8..; ..s|
|00001aa0| 65 72 69 61 6c 3a 09 64 | 62 09 30 2c 30 2c 30 2c |erial:.d|b.0,0,0,|
|00001ab0| 30 2c 30 2c 30 0d 0a 73 | 74 61 72 74 3a 09 6a 6d |0,0,0..s|tart:.jm|
|00001ac0| 70 09 69 6e 73 74 61 6c | 6c 09 3b 6f 6e 65 2d 74 |p.instal|l.;one-t|
|00001ad0| 69 6d 65 20 72 6f 75 74 | 69 6e 65 0d 0a 6e 65 78 |ime rout|ine..nex|
|00001ae0| 74 3a 09 6a 6d 70 09 30 | 09 3b 61 6c 74 65 72 65 |t:.jmp.0|.;altere|
|00001af0| 64 20 61 74 20 69 6e 73 | 74 61 6c 6c 61 74 69 6f |d at ins|tallatio|
|00001b00| 6e 0d 0a 70 72 65 76 3a | 09 64 77 09 30 0d 0a 3b |n..prev:|.dw.0..;|
|00001b10| 20 0d 0a 09 69 66 09 61 | 6c 6f 6e 65 0d 0a 72 6d | ...if.a|lone..rm|
|00001b20| 76 66 6c 67 3a 09 64 62 | 09 30 09 3b 6b 65 65 70 |vflg:.db|.0.;keep|
|00001b30| 20 74 68 69 73 20 69 6e | 20 6d 65 6d 6f 72 79 20 | this in| memory |
|00001b40| 0d 0a 09 65 6c 73 65 09 | 0d 0a 72 6d 76 66 6c 67 |...else.|..rmvflg|
|00001b50| 3a 09 64 62 09 30 66 66 | 68 09 3b 72 65 6d 6f 76 |:.db.0ff|h.;remov|
|00001b60| 65 20 77 68 65 6e 20 6d | 61 69 6e 20 70 72 6f 67 |e when m|ain prog|
|00001b70| 72 61 6d 20 65 6e 64 73 | 0d 0a 09 65 6e 64 69 66 |ram ends|...endif|
|00001b80| 0d 0a 3b 20 0d 0a 6e 6f | 6e 62 6e 6b 3a 09 64 62 |..; ..no|nbnk:.db|
|00001b90| 09 30 09 3b 62 61 6e 6b | 65 64 20 73 79 73 74 65 |.0.;bank|ed syste|
|00001ba0| 6d 0d 0a 09 64 62 09 27 | 42 41 4e 4b 53 57 41 50 |m...db.'|BANKSWAP|
|00001bb0| 27 0d 0a 6c 6f 61 64 65 | 72 3a 09 64 62 09 30 0d |'..loade|r:.db.0.|
|00001bc0| 0a 09 64 62 09 30 2c 30 | 0d 0a 3b 20 2a 2a 2a 20 |..db.0,0|..; *** |
|00001bd0| 6e 6f 74 65 3a 20 49 66 | 20 42 41 4e 4b 53 57 41 |note: If| BANKSWA|
|00001be0| 50 20 69 73 20 74 6f 20 | 62 65 20 61 74 74 61 63 |P is to |be attac|
|00001bf0| 68 65 64 20 64 69 72 65 | 63 74 6c 79 20 74 6f 20 |hed dire|ctly to |
|00001c00| 53 49 44 2e 43 4f 4d 0d | 0a 3b 20 6f 72 20 44 44 |SID.COM.|.; or DD|
|00001c10| 54 2e 43 4f 4d 20 74 68 | 65 6e 20 6d 61 6b 65 20 |T.COM th|en make |
|00001c20| 72 6d 76 66 6c 67 20 30 | 66 66 68 20 74 6f 20 66 |rmvflg 0|ffh to f|
|00001c30| 6f 72 63 65 20 72 65 6d | 6f 76 61 6c 20 0d 0a 3b |orce rem|oval ..;|
|00001c40| 20 0d 0a 62 61 6e 6b 65 | 78 61 6d 3a 0d 0a 09 6c | ..banke|xam:...l|
|00001c50| 78 69 09 68 2c 30 09 3b | 67 65 74 20 73 74 61 63 |xi.h,0.;|get stac|
|00001c60| 6b 20 70 6f 69 6e 74 65 | 72 0d 0a 09 64 61 64 09 |k pointe|r...dad.|
|00001c70| 73 70 09 3b 2e 2e 2e 61 | 6e 64 20 68 6f 6c 64 20 |sp.;...a|nd hold |
|00001c80| 69 74 20 66 6f 72 20 72 | 65 74 75 72 6e 0d 0a 09 |it for r|eturn...|
|00001c90| 73 68 6c 64 09 68 6f 6c | 64 73 70 09 3b 2e 2e 2e |shld.hol|dsp.;...|
|00001ca0| 72 65 73 65 74 20 53 50 | 20 74 6f 20 61 20 6c 6f |reset SP| to a lo|
|00001cb0| 63 61 74 69 6f 6e 0d 0a | 09 6c 78 69 09 73 70 2c |cation..|.lxi.sp,|
|00001cc0| 6c 6f 63 73 74 6b 09 3b | 2e 2e 2e 69 6e 20 63 6f |locstk.;|...in co|
|00001cd0| 6d 6d 6f 6e 20 6d 65 6d | 6f 72 79 0d 0a 3b 20 0d |mmon mem|ory..; .|
|00001ce0| 0a 3b 20 4d 61 69 6e 20 | 6c 6f 6f 70 2d 2d 65 78 |.; Main |loop--ex|
|00001cf0| 69 74 20 62 79 20 51 75 | 69 74 20 6f 72 20 52 65 |it by Qu|it or Re|
|00001d00| 6d 6f 76 65 20 63 6f 6d | 6d 61 6e 64 0d 0a 62 61 |move com|mand..ba|
|00001d10| 6e 6b 65 78 32 3a 0d 0a | 09 63 61 6c 6c 09 70 72 |nkex2:..|.call.pr|
|00001d20| 6f 6d 70 74 09 3b 74 68 | 69 73 20 72 65 74 75 72 |ompt.;th|is retur|
|00001d30| 6e 73 20 61 64 64 72 65 | 73 73 20 6f 66 20 73 75 |ns addre|ss of su|
|00001d40| 62 0d 0a 09 63 61 6c 6c | 09 64 6f 69 74 09 3b 64 |b...call|.doit.;d|
|00001d50| 6f 20 73 75 62 72 6f 75 | 74 69 6e 65 20 61 64 64 |o subrou|tine add|
|00001d60| 72 65 73 73 65 64 20 62 | 79 20 48 4c 0d 0a 09 6a |ressed b|y HL...j|
|00001d70| 6d 70 09 62 61 6e 6b 65 | 78 32 0d 0a 3b 20 0d 0a |mp.banke|x2..; ..|
|00001d80| 70 72 6f 6d 70 74 3a 09 | 6c 78 69 09 64 2c 6d 65 |prompt:.|lxi.d,me|
|00001d90| 6e 75 09 3b 67 65 74 20 | 72 65 61 64 79 20 66 6f |nu.;get |ready fo|
|00001da0| 72 20 6d 65 6e 75 0d 0a | 09 6c 64 61 09 71 75 69 |r menu..|.lda.qui|
|00001db0| 65 74 66 6c 61 67 0d 0a | 09 6f 72 61 09 61 09 3b |etflag..|.ora.a.;|
|00001dc0| 73 75 70 70 72 65 73 73 | 20 6d 65 6e 75 3f 0d 0a |suppress| menu?..|
|00001dd0| 09 6a 7a 09 70 72 6d 70 | 74 32 0d 0a 70 72 6d 70 |.jz.prmp|t2..prmp|
|00001de0| 74 31 3a 09 6c 78 69 09 | 64 2c 71 75 65 72 79 09 |t1:.lxi.|d,query.|
|00001df0| 3b 73 65 74 20 66 6f 72 | 20 70 72 6f 6d 70 74 20 |;set for| prompt |
|00001e00| 6f 6e 6c 79 0d 0a 70 72 | 6d 70 74 32 3a 09 6d 76 |only..pr|mpt2:.mv|
|00001e10| 69 09 63 2c 70 72 69 6e | 74 66 0d 0a 09 63 61 6c |i.c,prin|tf...cal|
|00001e20| 6c 09 62 64 6f 73 09 0d | 0a 3b 20 47 65 74 20 61 |l.bdos..|.; Get a|
|00001e30| 20 63 68 61 72 61 63 74 | 65 72 0d 0a 09 6d 76 69 | charact|er...mvi|
|00001e40| 09 63 2c 63 6f 6e 69 6e | 0d 0a 09 63 61 6c 6c 09 |.c,conin|...call.|
|00001e50| 62 64 6f 73 0d 0a 09 63 | 61 6c 6c 09 63 72 6c 66 |bdos...c|all.crlf|
|00001e60| 0d 0a 3b 20 6d 61 6b 65 | 20 75 70 70 65 72 20 63 |..; make| upper c|
|00001e70| 61 73 65 2c 20 72 65 6a | 65 63 74 20 6e 6f 6e 2d |ase, rej|ect non-|
|00001e80| 61 6c 70 68 61 0d 0a 09 | 61 6e 69 09 35 66 68 0d |alpha...|ani.5fh.|
|00001e90| 0a 09 63 70 69 09 27 41 | 27 0d 0a 09 6a 63 09 70 |..cpi.'A|'...jc.p|
|00001ea0| 72 6d 70 74 31 09 3b 61 | 73 6b 20 61 67 61 69 6e |rmpt1.;a|sk again|
|00001eb0| 20 69 66 20 69 6e 76 61 | 6c 69 64 0d 0a 09 63 70 | if inva|lid...cp|
|00001ec0| 69 09 27 5a 27 2b 31 0d | 0a 09 6a 6e 63 09 70 72 |i.'Z'+1.|..jnc.pr|
|00001ed0| 6d 70 74 31 09 3b 61 73 | 6b 20 61 67 61 69 6e 20 |mpt1.;as|k again |
|00001ee0| 69 66 20 69 6e 76 61 6c | 69 64 0d 0a 3b 20 66 69 |if inval|id..; fi|
|00001ef0| 6e 64 20 6d 61 74 63 68 | 20 69 6e 20 61 6c 70 68 |nd match| in alph|
|00001f00| 74 62 6c 0d 0a 09 6c 78 | 69 09 62 2c 61 6c 74 62 |tbl...lx|i.b,altb|
|00001f10| 6c 65 6e 09 3b 6c 65 6e | 67 74 68 20 6f 66 20 74 |len.;len|gth of t|
|00001f20| 61 62 6c 65 0d 0a 09 6c | 78 69 09 68 2c 61 6c 70 |able...l|xi.h,alp|
|00001f30| 68 74 62 6c 2b 61 6c 74 | 62 6c 65 6e 09 3b 77 6f |htbl+alt|blen.;wo|
|00001f40| 72 6b 20 62 61 63 6b 0d | 0a 74 72 79 3a 09 63 6d |rk back.|.try:.cm|
|00001f50| 70 09 6d 0d 0a 09 6a 7a | 09 6d 61 74 63 68 0d 0a |p.m...jz|.match..|
|00001f60| 09 64 63 78 09 68 0d 0a | 09 64 63 72 09 63 09 3b |.dcx.h..|.dcr.c.;|
|00001f70| 63 6f 75 6e 74 20 64 6f | 77 6e 0d 0a 09 6a 6e 7a |count do|wn...jnz|
|00001f80| 09 74 72 79 0d 0a 3b 20 | 69 66 20 63 3d 20 30 20 |.try..; |if c= 0 |
|00001f90| 6e 6f 20 6d 61 74 63 68 | 20 66 6f 75 6e 64 2e 20 |no match| found. |
|00001fa0| 20 4e 6f 77 20 66 6f 72 | 6d 20 61 64 64 72 65 73 | Now for|m addres|
|00001fb0| 73 0d 0a 6d 61 74 63 68 | 3a 09 6c 78 69 09 68 2c |s..match|:.lxi.h,|
|00001fc0| 61 64 64 72 74 62 6c 0d | 0a 09 64 61 64 09 62 09 |addrtbl.|..dad.b.|
|00001fd0| 3b 61 64 64 20 6f 66 66 | 73 65 74 0d 0a 09 64 61 |;add off|set...da|
|00001fe0| 64 09 62 09 3b 61 67 61 | 69 6e 2c 20 32 20 62 79 |d.b.;aga|in, 2 by|
|00001ff0| 74 65 73 20 70 65 72 20 | 74 61 62 6c 65 20 65 6e |tes per |table en|
|00002000| 74 72 79 0d 0a 3b 20 67 | 65 74 20 74 68 65 20 63 |try..; g|et the c|
|00002010| 6f 6d 6d 61 6e 64 20 61 | 64 64 72 65 73 73 0d 0a |ommand a|ddress..|
|00002020| 09 6d 6f 76 09 61 2c 6d | 0d 0a 09 69 6e 78 09 68 |.mov.a,m|...inx.h|
|00002030| 0d 0a 09 6d 6f 76 09 68 | 2c 6d 0d 0a 09 6d 6f 76 |...mov.h|,m...mov|
|00002040| 09 6c 2c 61 0d 0a 09 72 | 65 74 09 09 3b 48 4c 20 |.l,a...r|et..;HL |
|00002050| 68 61 73 20 61 63 74 69 | 6f 6e 20 61 64 64 72 65 |has acti|on addre|
|00002060| 73 73 0d 0a 3b 20 0d 0a | 64 6f 69 74 3a 09 70 63 |ss..; ..|doit:.pc|
|00002070| 68 6c 09 09 3b 63 61 6c | 6c 20 68 65 72 65 20 74 |hl..;cal|l here t|
|00002080| 6f 20 75 73 65 20 61 63 | 74 69 6f 6e 20 61 64 64 |o use ac|tion add|
|00002090| 72 65 73 73 0d 0a 3b 20 | 0d 0a 67 65 74 62 61 6e |ress..; |..getban|
|000020a0| 6b 3a 0d 0a 09 6c 68 6c | 64 09 62 30 73 74 61 72 |k:...lhl|d.b0star|
|000020b0| 74 09 3b 73 65 74 75 70 | 20 61 64 64 72 65 73 73 |t.;setup| address|
|000020c0| 65 73 0d 0a 09 73 68 6c | 64 09 73 6f 75 72 63 65 |es...shl|d.source|
|000020d0| 0d 0a 09 6c 68 6c 64 09 | 62 31 73 74 61 72 74 0d |...lhld.|b1start.|
|000020e0| 0a 09 73 68 6c 64 09 64 | 65 73 74 0d 0a 09 6c 64 |..shld.d|est...ld|
|000020f0| 61 09 6c 65 6e 67 74 68 | 2b 31 09 3b 6c 6f 77 20 |a.length|+1.;low |
|00002100| 62 79 74 65 20 69 67 6e | 6f 72 65 64 0d 0a 09 73 |byte ign|ored...s|
|00002110| 74 61 09 63 6f 75 6e 74 | 0d 0a 3b 20 70 61 67 65 |ta.count|..; page|
|00002120| 20 62 79 20 70 61 67 65 | 20 74 61 6b 65 20 61 20 | by page| take a |
|00002130| 63 68 75 6e 6b 20 6f 66 | 20 62 61 6e 6b 20 30 20 |chunk of| bank 0 |
|00002140| 74 6f 20 62 75 66 66 65 | 72 2c 20 74 68 65 6e 20 |to buffe|r, then |
|00002150| 6d 6f 76 65 0d 0a 3b 20 | 74 6f 20 62 61 6e 6b 20 |move..; |to bank |
|00002160| 31 20 64 65 73 74 69 6e | 61 74 69 6f 6e 0d 0a 67 |1 destin|ation..g|
|00002170| 65 74 32 3a 09 0d 0a 09 | 64 69 09 09 3b 62 65 20 |et2:....|di..;be |
|00002180| 73 75 72 65 20 6e 6f 20 | 69 6e 74 65 72 72 75 70 |sure no |interrup|
|00002190| 74 73 0d 0a 09 6d 76 69 | 09 61 2c 30 0d 0a 09 6c |ts...mvi|.a,0...l|
|000021a0| 68 6c 64 09 73 65 6c 6d | 76 0d 0a 09 63 61 6c 6c |hld.selm|v...call|
|000021b0| 09 64 6f 69 74 0d 0a 09 | 63 61 6c 6c 09 67 65 74 |.doit...|call.get|
|000021c0| 62 75 66 0d 0a 09 6d 76 | 69 09 61 2c 31 0d 0a 09 |buf...mv|i.a,1...|
|000021d0| 6c 68 6c 64 09 73 65 6c | 6d 76 09 3b 70 6f 69 6e |lhld.sel|mv.;poin|
|000021e0| 74 20 74 6f 20 42 49 4f | 53 20 73 65 6c 6d 65 6d |t to BIO|S selmem|
|000021f0| 20 72 6f 75 74 69 6e 65 | 0d 0a 09 63 61 6c 6c 09 | routine|...call.|
|00002200| 64 6f 69 74 0d 0a 09 65 | 69 09 09 3b 69 6e 74 65 |doit...e|i..;inte|
|00002210| 72 72 75 70 74 73 20 73 | 61 66 65 20 61 67 61 69 |rrupts s|afe agai|
|00002220| 6e 0d 0a 09 63 61 6c 6c | 09 70 75 74 62 75 66 0d |n...call|.putbuf.|
|00002230| 0a 09 6c 78 69 09 64 2c | 62 75 66 6c 65 6e 0d 0a |..lxi.d,|buflen..|
|00002240| 09 6c 68 6c 64 09 73 6f | 75 72 63 65 0d 0a 09 64 |.lhld.so|urce...d|
|00002250| 61 64 09 64 0d 0a 09 73 | 68 6c 64 09 73 6f 75 72 |ad.d...s|hld.sour|
|00002260| 63 65 0d 0a 09 6c 68 6c | 64 09 64 65 73 74 0d 0a |ce...lhl|d.dest..|
|00002270| 09 64 61 64 09 64 0d 0a | 09 73 68 6c 64 09 64 65 |.dad.d..|.shld.de|
|00002280| 73 74 0d 0a 09 6c 78 69 | 09 68 2c 63 6f 75 6e 74 |st...lxi|.h,count|
|00002290| 09 3b 72 65 70 65 61 74 | 20 66 6f 72 20 72 65 71 |.;repeat| for req|
|000022a0| 75 69 72 65 64 20 23 20 | 6f 66 20 70 61 67 65 73 |uired # |of pages|
|000022b0| 0d 0a 09 64 63 72 09 6d | 0d 0a 09 6a 6e 7a 09 67 |...dcr.m|...jnz.g|
|000022c0| 65 74 32 0d 0a 09 72 65 | 74 0d 0a 3b 20 0d 0a 70 |et2...re|t..; ..p|
|000022d0| 75 74 62 61 6e 6b 3a 0d | 0a 09 6c 68 6c 64 09 62 |utbank:.|..lhld.b|
|000022e0| 31 73 74 61 72 74 0d 0a | 09 73 68 6c 64 09 73 6f |1start..|.shld.so|
|000022f0| 75 72 63 65 0d 0a 09 6c | 68 6c 64 09 62 30 73 74 |urce...l|hld.b0st|
|00002300| 61 72 74 0d 0a 09 73 68 | 6c 64 09 64 65 73 74 0d |art...sh|ld.dest.|
|00002310| 0a 09 6c 64 61 09 6c 65 | 6e 67 74 68 2b 31 09 3b |..lda.le|ngth+1.;|
|00002320| 6c 6f 77 20 62 79 74 65 | 20 69 67 6e 6f 72 65 64 |low byte| ignored|
|00002330| 0d 0a 09 73 74 61 09 63 | 6f 75 6e 74 0d 0a 3b 20 |...sta.c|ount..; |
|00002340| 70 61 67 65 20 62 79 20 | 70 61 67 65 2c 20 6d 6f |page by |page, mo|
|00002350| 76 65 20 62 61 6e 6b 20 | 31 20 64 61 74 61 20 74 |ve bank |1 data t|
|00002360| 6f 20 62 75 66 66 65 72 | 2c 20 74 68 65 6e 20 6d |o buffer|, then m|
|00002370| 6f 76 65 20 69 74 20 0d | 0a 3b 20 74 6f 20 62 61 |ove it .|.; to ba|
|00002380| 6e 6b 20 30 0d 0a 70 75 | 74 32 3a 0d 0a 09 63 61 |nk 0..pu|t2:...ca|
|00002390| 6c 6c 09 67 65 74 62 75 | 66 0d 0a 09 64 69 09 09 |ll.getbu|f...di..|
|000023a0| 3b 62 65 20 73 75 72 65 | 20 6e 6f 20 69 6e 74 65 |;be sure| no inte|
|000023b0| 72 72 75 70 74 73 0d 0a | 09 6d 76 69 09 61 2c 30 |rrupts..|.mvi.a,0|
|000023c0| 0d 0a 09 6c 68 6c 64 09 | 73 65 6c 6d 76 0d 0a 09 |...lhld.|selmv...|
|000023d0| 63 61 6c 6c 09 64 6f 69 | 74 0d 0a 09 63 61 6c 6c |call.doi|t...call|
|000023e0| 09 70 75 74 62 75 66 0d | 0a 09 6d 76 69 09 61 2c |.putbuf.|..mvi.a,|
|000023f0| 31 0d 0a 09 6c 68 6c 64 | 09 73 65 6c 6d 76 0d 0a |1...lhld|.selmv..|
|00002400| 09 63 61 6c 6c 09 64 6f | 69 74 0d 0a 09 65 69 09 |.call.do|it...ei.|
|00002410| 09 3b 69 6e 74 65 72 72 | 75 70 74 73 20 73 61 66 |.;interr|upts saf|
|00002420| 65 20 61 67 61 69 6e 0d | 0a 09 6c 78 69 09 64 2c |e again.|..lxi.d,|
|00002430| 62 75 66 6c 65 6e 0d 0a | 09 6c 68 6c 64 09 73 6f |buflen..|.lhld.so|
|00002440| 75 72 63 65 0d 0a 09 64 | 61 64 09 64 0d 0a 09 73 |urce...d|ad.d...s|
|00002450| 68 6c 64 09 73 6f 75 72 | 63 65 0d 0a 09 6c 68 6c |hld.sour|ce...lhl|
|00002460| 64 09 64 65 73 74 0d 0a | 09 64 61 64 09 64 0d 0a |d.dest..|.dad.d..|
|00002470| 09 73 68 6c 64 09 64 65 | 73 74 0d 0a 09 6c 78 69 |.shld.de|st...lxi|
|00002480| 09 68 2c 63 6f 75 6e 74 | 0d 0a 09 64 63 72 09 6d |.h,count|...dcr.m|
|00002490| 0d 0a 09 6a 6e 7a 09 70 | 75 74 32 0d 0a 09 72 65 |...jnz.p|ut2...re|
|000024a0| 74 0d 0a 3b 20 73 6f 75 | 72 63 65 20 74 6f 20 62 |t..; sou|rce to b|
|000024b0| 75 66 66 65 72 0d 0a 67 | 65 74 62 75 66 3a 0d 0a |uffer..g|etbuf:..|
|000024c0| 09 6c 68 6c 64 09 73 6f | 75 72 63 65 0d 0a 09 6c |.lhld.so|urce...l|
|000024d0| 78 69 09 64 2c 62 75 66 | 66 65 72 0d 0a 09 6a 6d |xi.d,buf|fer...jm|
|000024e0| 70 09 70 62 31 0d 0a 3b | 20 62 75 66 66 65 72 20 |p.pb1..;| buffer |
|000024f0| 74 6f 20 64 65 73 74 0d | 0a 70 75 74 62 75 66 3a |to dest.|.putbuf:|
|00002500| 0d 0a 09 6c 68 6c 64 09 | 64 65 73 74 0d 0a 09 6c |...lhld.|dest...l|
|00002510| 78 69 09 64 2c 62 75 66 | 66 65 72 0d 0a 09 78 63 |xi.d,buf|fer...xc|
|00002520| 68 67 0d 0a 3b 20 63 6f | 6d 6d 6f 6e 20 63 6f 64 |hg..; co|mmon cod|
|00002530| 65 20 66 6f 72 20 67 65 | 74 62 75 66 20 61 6e 64 |e for ge|tbuf and|
|00002540| 20 70 75 74 62 75 66 0d | 0a 70 62 31 3a 09 6c 78 | putbuf.|.pb1:.lx|
|00002550| 69 09 62 2c 62 75 66 6c | 65 6e 0d 0a 3b 20 6d 6f |i.b,bufl|en..; mo|
|00002560| 76 65 20 28 42 43 29 20 | 62 79 74 65 73 20 66 72 |ve (BC) |bytes fr|
|00002570| 6f 6d 20 28 48 4c 29 20 | 74 6f 20 28 44 45 29 20 |om (HL) |to (DE) |
|00002580| 28 63 6f 75 6c 64 20 75 | 73 65 20 42 49 4f 53 20 |(could u|se BIOS |
|00002590| 6d 6f 76 65 0d 0a 3b 20 | 72 6f 75 74 69 6e 65 20 |move..; |routine |
|000025a0| 66 6f 72 20 74 68 69 73 | 29 0d 0a 6d 6f 76 65 3a |for this|)..move:|
|000025b0| 09 6d 6f 76 09 61 2c 6d | 09 0d 0a 09 73 74 61 78 |.mov.a,m|....stax|
|000025c0| 09 64 0d 0a 09 69 6e 78 | 09 68 0d 0a 09 69 6e 78 |.d...inx|.h...inx|
|000025d0| 09 64 0d 0a 09 64 63 78 | 09 62 0d 0a 09 6d 6f 76 |.d...dcx|.b...mov|
|000025e0| 09 61 2c 62 0d 0a 09 6f | 72 61 09 63 0d 0a 09 6a |.a,b...o|ra.c...j|
|000025f0| 6e 7a 09 6d 6f 76 65 0d | 0a 09 72 65 74 0d 0a 3b |nz.move.|..ret..;|
|00002600| 20 0d 0a 3b 20 47 6f 20 | 62 61 63 6b 20 74 6f 20 | ..; Go |back to |
|00002610| 53 49 44 2f 44 44 54 0d | 0a 71 75 69 74 3a 09 6c |SID/DDT.|.quit:.l|
|00002620| 78 69 09 64 2c 71 6d 73 | 67 09 3b 73 61 79 20 68 |xi.d,qms|g.;say h|
|00002630| 6f 77 20 74 6f 20 67 65 | 74 20 62 61 63 6b 0d 0a |ow to ge|t back..|
|00002640| 09 6d 76 69 09 63 2c 70 | 72 69 6e 74 66 0d 0a 09 |.mvi.c,p|rintf...|
|00002650| 63 61 6c 6c 09 62 64 6f | 73 0d 0a 09 6c 68 6c 64 |call.bdo|s...lhld|
|00002660| 09 68 6f 6c 64 73 70 09 | 3b 72 65 73 74 6f 72 65 |.holdsp.|;restore|
|00002670| 20 73 74 61 63 6b 20 70 | 6f 69 6e 74 65 72 0d 0a | stack p|ointer..|
|00002680| 09 73 70 68 6c 0d 0a 09 | 72 73 74 09 37 09 3b 62 |.sphl...|rst.7.;b|
|00002690| 61 63 6b 20 74 6f 20 44 | 44 54 20 6f 72 20 53 49 |ack to D|DT or SI|
|000026a0| 44 0d 0a 3b 20 0d 0a 09 | 69 66 09 61 6c 6f 6e 65 |D..; ...|if.alone|
|000026b0| 0d 0a 3b 20 53 65 74 20 | 66 6f 72 20 72 65 6d 6f |..; Set |for remo|
|000026c0| 76 61 6c 20 6f 6e 20 74 | 65 72 6d 69 6e 61 74 69 |val on t|erminati|
|000026d0| 6f 6e 20 6f 66 20 53 49 | 44 20 6f 72 20 44 44 54 |on of SI|D or DDT|
|000026e0| 0d 0a 72 65 6d 6f 76 65 | 3a 09 6c 78 69 09 68 2c |..remove|:.lxi.h,|
|000026f0| 72 6d 76 66 6c 67 09 3b | 73 65 74 20 74 68 65 20 |rmvflg.;|set the |
|00002700| 72 65 6d 6f 76 65 20 66 | 6c 61 67 0d 0a 09 6d 76 |remove f|lag...mv|
|00002710| 69 09 6d 2c 30 66 66 68 | 09 09 3b 2e 2e 2e 69 6e |i.m,0ffh|..;...in|
|00002720| 20 74 68 65 20 52 53 58 | 20 70 72 65 66 69 78 20 | the RSX| prefix |
|00002730| 0d 0a 09 6c 78 69 09 68 | 2c 72 73 74 76 09 09 3b |...lxi.h|,rstv..;|
|00002740| 74 68 65 6e 20 77 69 70 | 65 20 6f 75 74 20 74 68 |then wip|e out th|
|00002750| 65 20 65 6e 74 72 79 0d | 0a 09 6d 76 69 09 6d 2c |e entry.|..mvi.m,|
|00002760| 30 66 66 68 09 09 3b 2e | 2e 2e 4a 4d 50 20 77 69 |0ffh..;.|..JMP wi|
|00002770| 74 68 20 61 6e 20 52 53 | 54 20 37 0d 0a 09 72 73 |th an RS|T 7...rs|
|00002780| 74 09 37 09 09 3b 6c 65 | 61 76 65 20 76 69 61 20 |t.7..;le|ave via |
|00002790| 74 68 65 20 64 65 62 75 | 67 67 65 72 0d 0a 09 65 |the debu|gger...e|
|000027a0| 6e 64 69 66 09 3b 61 6c | 6f 6e 65 0d 0a 3b 20 0d |ndif.;al|one..; .|
|000027b0| 0a 3b 20 53 65 74 20 75 | 70 20 61 64 64 72 65 73 |.; Set u|p addres|
|000027c0| 73 65 73 20 66 6f 72 20 | 6d 6f 76 65 2c 20 61 6c |ses for |move, al|
|000027d0| 73 6f 20 73 65 74 20 75 | 70 20 6c 65 6e 67 74 68 |so set u|p length|
|000027e0| 0d 0a 61 64 73 65 74 3a | 09 6c 78 69 09 64 2c 62 |..adset:|.lxi.d,b|
|000027f0| 30 69 64 09 3b 74 65 6c | 6c 20 63 75 72 72 65 6e |0id.;tel|l curren|
|00002800| 74 20 62 61 6e 6b 20 30 | 20 61 64 64 72 0d 0a 20 |t bank 0| addr.. |
|00002810| 09 6d 76 69 09 63 2c 70 | 72 69 6e 74 66 0d 0a 09 |.mvi.c,p|rintf...|
|00002820| 63 61 6c 6c 09 62 64 6f | 73 0d 0a 09 6c 68 6c 64 |call.bdo|s...lhld|
|00002830| 09 62 30 73 74 61 72 74 | 09 3b 67 65 74 20 74 68 |.b0start|.;get th|
|00002840| 65 20 61 64 64 72 65 73 | 73 0d 0a 09 63 61 6c 6c |e addres|s...call|
|00002850| 09 61 64 64 72 6f 09 3b | 61 6e 64 20 70 72 69 6e |.addro.;|and prin|
|00002860| 74 20 69 74 0d 0a 09 6c | 78 69 09 68 2c 62 30 73 |t it...l|xi.h,b0s|
|00002870| 74 61 72 74 0d 0a 09 63 | 61 6c 6c 09 75 70 64 61 |tart...c|all.upda|
|00002880| 74 65 09 3b 65 6e 74 65 | 72 20 68 65 78 20 74 6f |te.;ente|r hex to|
|00002890| 20 28 48 4c 29 0d 0a 09 | 6c 78 69 09 64 2c 62 31 | (HL)...|lxi.d,b1|
|000028a0| 69 64 09 3b 64 6f 20 69 | 74 20 61 67 61 69 6e 20 |id.;do i|t again |
|000028b0| 66 6f 72 20 62 61 6e 6b | 20 31 0d 0a 20 09 6d 76 |for bank| 1.. .mv|
|000028c0| 69 09 63 2c 70 72 69 6e | 74 66 0d 0a 09 63 61 6c |i.c,prin|tf...cal|
|000028d0| 6c 09 62 64 6f 73 09 3b | 74 65 6c 6c 0d 0a 09 6c |l.bdos.;|tell...l|
|000028e0| 68 6c 64 09 62 31 73 74 | 61 72 74 0d 0a 09 63 61 |hld.b1st|art...ca|
|000028f0| 6c 6c 09 61 64 64 72 6f | 0d 0a 09 6c 78 69 09 68 |ll.addro|...lxi.h|
|00002900| 2c 62 31 73 74 61 72 74 | 0d 0a 09 63 61 6c 6c 09 |,b1start|...call.|
|00002910| 75 70 64 61 74 65 09 3b | 67 65 74 20 6e 65 77 20 |update.;|get new |
|00002920| 61 64 64 72 65 73 73 2c | 20 69 66 20 61 6e 79 0d |address,| if any.|
|00002930| 0a 3b 20 43 61 6e 20 66 | 61 6c 6c 20 74 68 72 6f |.; Can f|all thro|
|00002940| 75 67 68 20 66 72 6f 6d | 20 61 64 73 65 74 20 6f |ugh from| adset o|
|00002950| 72 20 65 6e 74 65 72 20 | 64 69 72 65 63 74 6c 79 |r enter |directly|
|00002960| 20 68 65 72 65 20 74 6f | 20 73 65 74 0d 0a 3b 20 | here to| set..; |
|00002970| 6c 65 6e 67 74 68 20 6f | 66 20 62 6c 6f 63 6b 20 |length o|f block |
|00002980| 6d 6f 76 65 64 0d 0a 6c | 6e 73 65 74 3a 09 6c 78 |moved..l|nset:.lx|
|00002990| 69 09 64 2c 6c 6e 6d 73 | 67 09 3b 74 65 6c 6c 20 |i.d,lnms|g.;tell |
|000029a0| 63 75 72 72 65 6e 74 20 | 6c 65 6e 67 74 68 0d 0a |current |length..|
|000029b0| 20 09 6d 76 69 09 63 2c | 70 72 69 6e 74 66 0d 0a | .mvi.c,|printf..|
|000029c0| 09 63 61 6c 6c 09 62 64 | 6f 73 0d 0a 09 6c 68 6c |.call.bd|os...lhl|
|000029d0| 64 09 6c 65 6e 67 74 68 | 0d 0a 09 63 61 6c 6c 09 |d.length|...call.|
|000029e0| 61 64 64 72 6f 0d 0a 09 | 6c 78 69 09 68 2c 6c 65 |addro...|lxi.h,le|
|000029f0| 6e 67 74 68 0d 0a 09 63 | 61 6c 6c 09 75 70 64 61 |ngth...c|all.upda|
|00002a00| 74 65 09 3b 6f 66 66 65 | 72 20 74 6f 20 63 68 61 |te.;offe|r to cha|
|00002a10| 6e 67 65 20 69 74 0d 0a | 09 63 61 6c 6c 09 63 72 |nge it..|.call.cr|
|00002a20| 6c 66 0d 0a 09 72 65 74 | 0d 0a 3b 20 0d 0a 3b 20 |lf...ret|..; ..; |
|00002a30| 54 6f 67 67 6c 65 20 6d | 65 6e 75 20 6f 66 66 2f |Toggle m|enu off/|
|00002a40| 6f 6e 0d 0a 78 70 65 72 | 74 3a 09 6c 64 61 09 71 |on..xper|t:.lda.q|
|00002a50| 75 69 65 74 66 6c 61 67 | 0d 0a 09 63 6d 61 09 09 |uietflag|...cma..|
|00002a60| 09 3b 74 6f 67 67 6c 65 | 0d 0a 09 73 74 61 09 71 |.;toggle|...sta.q|
|00002a70| 75 69 65 74 66 6c 61 67 | 0d 0a 09 72 65 74 0d 0a |uietflag|...ret..|
|00002a80| 3b 20 0d 0a 3b 20 47 65 | 74 20 68 65 72 65 20 6f |; ..; Ge|t here o|
|00002a90| 6e 20 69 6e 76 61 6c 69 | 64 20 63 6f 6d 6d 61 6e |n invali|d comman|
|00002aa0| 64 0d 0a 6e 61 3a 09 6c | 78 69 09 64 2c 6e 61 6d |d..na:.l|xi.d,nam|
|00002ab0| 73 67 09 09 3b 73 61 79 | 20 63 61 6e 27 74 20 64 |sg..;say| can't d|
|00002ac0| 6f 20 69 74 0d 0a 09 6d | 76 69 09 63 2c 70 72 69 |o it...m|vi.c,pri|
|00002ad0| 6e 74 66 0d 0a 09 63 61 | 6c 6c 09 62 64 6f 73 0d |ntf...ca|ll.bdos.|
|00002ae0| 0a 09 72 65 74 0d 0a 3b | 20 0d 0a 63 72 6c 66 3a |..ret..;| ..crlf:|
|00002af0| 09 70 75 73 68 09 62 0d | 0a 09 70 75 73 68 09 64 |.push.b.|..push.d|
|00002b00| 0d 0a 09 70 75 73 68 09 | 68 0d 0a 09 70 75 73 68 |...push.|h...push|
|00002b10| 09 70 73 77 0d 0a 09 6c | 78 69 09 64 2c 63 72 6c |.psw...l|xi.d,crl|
|00002b20| 66 73 74 72 69 6e 67 0d | 0a 09 6d 76 69 09 63 2c |fstring.|..mvi.c,|
|00002b30| 70 72 69 6e 74 66 0d 0a | 09 63 61 6c 6c 09 62 64 |printf..|.call.bd|
|00002b40| 6f 73 0d 0a 09 70 6f 70 | 09 70 73 77 0d 0a 09 70 |os...pop|.psw...p|
|00002b50| 6f 70 09 68 0d 0a 09 70 | 6f 70 09 64 0d 0a 09 70 |op.h...p|op.d...p|
|00002b60| 6f 70 09 62 0d 0a 09 72 | 65 74 0d 0a 3b 20 0d 0a |op.b...r|et..; ..|
|00002b70| 3b 20 67 65 74 20 73 74 | 72 69 6e 67 2c 20 64 6f |; get st|ring, do|
|00002b80| 20 6e 6f 74 68 69 6e 67 | 20 69 66 20 6e 75 6c 6c | nothing| if null|
|00002b90| 2c 20 65 6c 73 65 20 63 | 6f 6e 76 65 72 74 2c 20 |, else c|onvert, |
|00002ba0| 73 74 6f 72 65 20 61 74 | 20 28 48 4c 29 0d 0a 75 |store at| (HL)..u|
|00002bb0| 70 64 61 74 65 3a 0d 0a | 09 70 75 73 68 09 68 09 |pdate:..|.push.h.|
|00002bc0| 09 3b 73 61 76 65 20 74 | 68 65 20 6c 6f 63 61 74 |.;save t|he locat|
|00002bd0| 69 6f 6e 0d 0a 3b 20 6c | 6f 6f 70 20 62 61 63 6b |ion..; l|oop back|
|00002be0| 20 68 65 72 65 20 69 66 | 20 69 6e 70 75 74 20 69 | here if| input i|
|00002bf0| 73 20 6e 6f 74 20 76 61 | 6c 69 64 0d 0a 75 70 64 |s not va|lid..upd|
|00002c00| 31 3a 09 6c 78 69 09 68 | 2c 30 09 09 3b 69 6e 69 |1:.lxi.h|,0..;ini|
|00002c10| 74 69 61 6c 20 62 75 66 | 66 65 72 0d 0a 09 73 68 |tial buf|fer...sh|
|00002c20| 6c 64 09 69 6e 62 75 66 | 2b 31 0d 0a 09 6c 78 69 |ld.inbuf|+1...lxi|
|00002c30| 09 64 2c 63 68 71 75 65 | 72 79 09 3b 73 61 79 20 |.d,chque|ry.;say |
|00002c40| 77 68 61 74 27 73 20 75 | 70 0d 0a 09 6d 76 69 09 |what's u|p...mvi.|
|00002c50| 63 2c 70 72 69 6e 74 66 | 0d 0a 09 63 61 6c 6c 09 |c,printf|...call.|
|00002c60| 62 64 6f 73 0d 0a 09 6c | 78 69 09 64 2c 69 6e 62 |bdos...l|xi.d,inb|
|00002c70| 75 66 0d 0a 09 6d 76 69 | 09 63 2c 72 64 62 75 66 |uf...mvi|.c,rdbuf|
|00002c80| 09 09 3b 72 65 61 64 20 | 63 6f 6e 73 6f 6c 65 20 |..;read |console |
|00002c90| 75 6e 74 69 6c 20 3c 72 | 65 74 3e 0d 0a 09 63 61 |until <r|et>...ca|
|00002ca0| 6c 6c 09 62 64 6f 73 0d | 0a 09 63 61 6c 6c 09 63 |ll.bdos.|..call.c|
|00002cb0| 72 6c 66 0d 0a 09 6c 64 | 61 09 69 6e 62 75 66 2b |rlf...ld|a.inbuf+|
|00002cc0| 31 09 09 3b 67 65 74 20 | 6c 65 6e 67 74 68 20 6f |1..;get |length o|
|00002cd0| 66 20 68 65 78 20 73 74 | 72 69 6e 67 0d 0a 09 6f |f hex st|ring...o|
|00002ce0| 72 61 09 61 09 09 3b 63 | 68 65 63 6b 20 66 6f 72 |ra.a..;c|heck for|
|00002cf0| 20 30 20 6c 65 6e 67 74 | 68 20 69 6e 70 75 74 0d | 0 lengt|h input.|
|00002d00| 0a 09 6a 6e 7a 09 63 6f | 6e 76 65 72 74 0d 0a 3b |..jnz.co|nvert..;|
|00002d10| 20 6e 75 6c 6c 20 73 74 | 72 69 6e 67 2c 20 67 6f | null st|ring, go|
|00002d20| 20 62 61 63 6b 0d 0a 09 | 70 6f 70 09 68 09 09 3b | back...|pop.h..;|
|00002d30| 72 65 74 72 69 65 76 65 | 20 76 61 6c 75 65 20 61 |retrieve| value a|
|00002d40| 74 20 65 6e 74 72 79 0d | 0a 09 72 65 74 0d 0a 3b |t entry.|..ret..;|
|00002d50| 20 0d 0a 3b 20 43 6f 6e | 76 65 72 74 20 74 68 65 | ..; Con|vert the|
|00002d60| 20 68 65 78 20 73 74 72 | 69 6e 67 20 69 6e 20 74 | hex str|ing in t|
|00002d70| 68 65 20 62 75 66 66 65 | 72 20 74 6f 20 62 69 6e |he buffe|r to bin|
|00002d80| 61 72 79 0d 0a 63 6f 6e | 76 65 72 74 3a 0d 0a 09 |ary..con|vert:...|
|00002d90| 6c 78 69 09 68 2c 30 09 | 3b 73 74 61 72 74 20 77 |lxi.h,0.|;start w|
|00002da0| 69 74 68 20 61 20 7a 65 | 72 6f 0d 0a 09 6d 6f 76 |ith a ze|ro...mov|
|00002db0| 09 62 2c 61 09 3b 68 6f | 6c 64 20 6c 65 6e 67 74 |.b,a.;ho|ld lengt|
|00002dc0| 68 20 69 6e 20 42 0d 0a | 09 6c 78 69 09 64 2c 69 |h in B..|.lxi.d,i|
|00002dd0| 6e 62 75 66 2b 32 0d 0a | 63 6f 6e 76 32 3a 09 6c |nbuf+2..|conv2:.l|
|00002de0| 64 61 78 09 64 09 3b 67 | 65 74 20 66 69 72 73 74 |dax.d.;g|et first|
|00002df0| 20 28 6f 72 20 6e 65 78 | 74 29 20 63 68 61 72 0d | (or nex|t) char.|
|00002e00| 0a 09 69 6e 78 09 64 0d | 0a 09 63 70 69 09 36 30 |..inx.d.|..cpi.60|
|00002e10| 68 0d 0a 09 6a 63 09 63 | 6f 6e 76 33 0d 0a 09 61 |h...jc.c|onv3...a|
|00002e20| 6e 69 09 35 66 68 09 3b | 6d 61 6b 65 20 6c 6f 77 |ni.5fh.;|make low|
|00002e30| 65 72 20 63 61 73 65 20 | 69 66 20 6e 65 63 65 73 |er case |if neces|
|00002e40| 73 61 72 79 0d 0a 63 6f | 6e 76 33 3a 09 73 75 69 |sary..co|nv3:.sui|
|00002e50| 09 27 30 27 0d 0a 09 6a | 6d 09 75 70 64 31 09 3b |.'0'...j|m.upd1.;|
|00002e60| 6d 75 73 74 20 62 65 20 | 76 61 6c 69 64 20 68 65 |must be |valid he|
|00002e70| 78 2c 20 30 2e 2e 39 2c | 20 41 2e 2e 46 0d 0a 09 |x, 0..9,| A..F...|
|00002e80| 63 70 69 09 30 61 68 0d | 0a 09 6a 63 09 6e 75 6d |cpi.0ah.|..jc.num|
|00002e90| 09 3b 6a 75 6d 70 20 69 | 66 20 61 20 67 6f 6f 64 |.;jump i|f a good|
|00002ea0| 20 6e 75 6d 65 72 69 63 | 0d 0a 09 73 75 69 09 37 | numeric|...sui.7|
|00002eb0| 0d 0a 09 63 70 69 09 30 | 61 68 0d 0a 09 6a 63 09 |...cpi.0|ah...jc.|
|00002ec0| 75 70 64 31 09 3b 65 72 | 72 6f 72 20 69 66 20 6e |upd1.;er|ror if n|
|00002ed0| 6f 74 20 67 6f 6f 64 20 | 61 6c 70 68 61 0d 0a 09 |ot good |alpha...|
|00002ee0| 63 70 69 09 31 30 68 0d | 0a 09 6a 6e 63 09 75 70 |cpi.10h.|..jnc.up|
|00002ef0| 64 31 09 3b 65 72 72 6f | 72 20 69 66 20 6e 6f 74 |d1.;erro|r if not|
|00002f00| 20 67 6f 6f 64 20 61 6c | 70 68 61 0d 0a 6e 75 6d | good al|pha..num|
|00002f10| 3a 09 64 61 64 09 68 09 | 3b 6d 75 6c 74 69 70 6c |:.dad.h.|;multipl|
|00002f20| 79 20 63 75 72 72 65 6e | 74 20 76 61 6c 20 62 79 |y curren|t val by|
|00002f30| 20 31 36 0d 0a 09 64 61 | 64 09 68 0d 0a 09 64 61 | 16...da|d.h...da|
|00002f40| 64 09 68 0d 0a 09 64 61 | 64 09 68 0d 0a 09 61 64 |d.h...da|d.h...ad|
|00002f50| 64 09 6c 09 3b 61 64 64 | 20 6e 65 77 20 6c 65 61 |d.l.;add| new lea|
|00002f60| 73 74 20 73 69 67 6e 69 | 66 69 63 61 6e 74 20 64 |st signi|ficant d|
|00002f70| 69 67 69 74 0d 0a 09 6d | 6f 76 09 6c 2c 61 0d 0a |igit...m|ov.l,a..|
|00002f80| 09 64 63 72 09 62 09 3b | 63 6f 75 6e 74 64 6f 77 |.dcr.b.;|countdow|
|00002f90| 6e 20 74 68 65 20 64 69 | 67 69 74 73 0d 0a 09 6a |n the di|gits...j|
|00002fa0| 6e 7a 09 63 6f 6e 76 32 | 0d 0a 09 78 63 68 67 09 |nz.conv2|...xchg.|
|00002fb0| 09 3b 72 65 73 75 6c 74 | 20 74 6f 20 44 45 0d 0a |.;result| to DE..|
|00002fc0| 09 70 6f 70 09 68 09 3b | 48 4c 20 61 74 20 65 6e |.pop.h.;|HL at en|
|00002fd0| 74 72 79 20 73 61 79 73 | 20 77 68 65 72 65 20 74 |try says| where t|
|00002fe0| 6f 20 69 74 0d 0a 09 6d | 6f 76 09 6d 2c 65 0d 0a |o it...m|ov.m,e..|
|00002ff0| 09 69 6e 78 09 68 0d 0a | 09 6d 6f 76 09 6d 2c 64 |.inx.h..|.mov.m,d|
|00003000| 0d 0a 09 72 65 74 0d 0a | 3b 20 0d 0a 3b 20 50 72 |...ret..|; ..; Pr|
|00003010| 69 6e 74 20 48 4c 20 61 | 73 20 68 65 78 0d 0a 61 |int HL a|s hex..a|
|00003020| 64 64 72 6f 3a 0d 0a 09 | 70 75 73 68 09 64 0d 0a |ddro:...|push.d..|
|00003030| 09 70 75 73 68 09 68 0d | 0a 09 78 63 68 67 0d 0a |.push.h.|..xchg..|
|00003040| 09 6c 78 69 09 68 2c 68 | 65 78 73 74 72 09 3b 77 |.lxi.h,h|exstr.;w|
|00003050| 68 65 72 65 20 74 6f 20 | 62 75 69 6c 64 20 73 74 |here to |build st|
|00003060| 72 69 6e 67 0d 0a 09 6d | 6f 76 09 61 2c 64 0d 0a |ring...m|ov.a,d..|
|00003070| 09 63 61 6c 6c 09 62 79 | 74 65 09 3b 67 65 74 20 |.call.by|te.;get |
|00003080| 41 20 61 73 20 32 20 41 | 53 43 49 49 20 63 68 61 |A as 2 A|SCII cha|
|00003090| 72 73 20 61 74 20 28 48 | 4c 29 0d 0a 09 6d 6f 76 |rs at (H|L)...mov|
|000030a0| 09 61 2c 65 0d 0a 09 63 | 61 6c 6c 09 62 79 74 65 |.a,e...c|all.byte|
|000030b0| 09 3b 61 67 61 69 6e 2c | 20 6c 6f 77 20 62 79 74 |.;again,| low byt|
|000030c0| 65 0d 0a 09 6c 78 69 09 | 64 2c 68 65 78 73 74 72 |e...lxi.|d,hexstr|
|000030d0| 0d 0a 09 6d 76 69 09 63 | 2c 70 72 69 6e 74 66 0d |...mvi.c|,printf.|
|000030e0| 0a 09 63 61 6c 6c 09 62 | 64 6f 73 09 3b 70 72 69 |..call.b|dos.;pri|
|000030f0| 6e 74 20 69 74 0d 0a 09 | 70 6f 70 09 68 0d 0a 09 |nt it...|pop.h...|
|00003100| 70 6f 70 09 64 0d 0a 09 | 72 65 74 0d 0a 3b 20 0d |pop.d...|ret..; .|
|00003110| 0a 3b 20 43 6f 6e 76 65 | 72 74 20 62 79 74 65 20 |.; Conve|rt byte |
|00003120| 74 6f 20 68 65 78 20 41 | 53 43 49 49 20 63 68 61 |to hex A|SCII cha|
|00003130| 72 73 2c 20 70 75 74 20 | 61 74 20 28 48 4c 29 0d |rs, put |at (HL).|
|00003140| 0a 62 79 74 65 3a 09 70 | 75 73 68 09 70 73 77 0d |.byte:.p|ush.psw.|
|00003150| 0a 09 72 61 72 09 09 3b | 67 65 74 20 68 69 67 68 |..rar..;|get high|
|00003160| 20 6e 79 62 62 6c 65 0d | 0a 09 72 61 72 0d 0a 09 | nybble.|..rar...|
|00003170| 72 61 72 0d 0a 09 72 61 | 72 0d 0a 09 63 61 6c 6c |rar...ra|r...call|
|00003180| 09 6e 79 62 62 6c 65 0d | 0a 09 70 6f 70 09 70 73 |.nybble.|..pop.ps|
|00003190| 77 09 3b 66 61 6c 6c 20 | 74 68 72 6f 75 67 68 20 |w.;fall |through |
|000031a0| 66 6f 72 20 6c 6f 77 20 | 6e 79 62 62 6c 65 0d 0a |for low |nybble..|
|000031b0| 3b 20 6e 79 62 62 6c 65 | 20 6d 61 6b 65 73 20 31 |; nybble| makes 1|
|000031c0| 20 63 68 61 72 2c 20 61 | 64 76 61 6e 63 65 73 20 | char, a|dvances |
|000031d0| 6f 75 74 70 75 74 20 70 | 6f 69 6e 74 65 72 09 0d |output p|ointer..|
|000031e0| 0a 6e 79 62 62 6c 65 3a | 09 61 6e 69 09 30 66 68 |.nybble:|.ani.0fh|
|000031f0| 0d 0a 09 61 64 69 09 27 | 30 27 0d 0a 09 63 70 69 |...adi.'|0'...cpi|
|00003200| 09 33 61 68 0d 0a 09 6a | 63 09 6e 70 75 74 0d 0a |.3ah...j|c.nput..|
|00003210| 09 61 64 69 09 37 0d 0a | 6e 70 75 74 3a 09 6d 6f |.adi.7..|nput:.mo|
|00003220| 76 09 6d 2c 61 0d 0a 09 | 69 6e 78 09 68 0d 0a 09 |v.m,a...|inx.h...|
|00003230| 72 65 74 0d 0a 3b 20 0d | 0a 3b 20 41 63 63 65 70 |ret..; .|.; Accep|
|00003240| 74 61 62 6c 65 20 63 6f | 6d 6d 61 6e 64 20 69 6e |table co|mmand in|
|00003250| 70 75 74 73 20 67 6f 20 | 69 6e 20 74 68 69 73 20 |puts go |in this |
|00003260| 74 61 62 6c 65 0d 0a 61 | 6c 70 68 74 62 6c 3a 0d |table..a|lphtbl:.|
|00003270| 0a 09 64 62 09 30 09 3b | 64 75 6d 6d 79 20 66 6f |..db.0.;|dummy fo|
|00003280| 72 20 6e 6f 20 6d 61 74 | 63 68 0d 0a 09 64 62 09 |r no mat|ch...db.|
|00003290| 27 41 27 0d 0a 09 64 62 | 09 27 47 27 0d 0a 09 64 |'A'...db|.'G'...d|
|000032a0| 62 09 27 4c 27 0d 0a 09 | 64 62 09 27 50 27 0d 0a |b.'L'...|db.'P'..|
|000032b0| 09 64 62 09 27 51 27 0d | 0a 3b 20 0d 0a 09 69 66 |.db.'Q'.|.; ...if|
|000032c0| 09 61 6c 6f 6e 65 0d 0a | 09 64 62 09 27 52 27 0d |.alone..|.db.'R'.|
|000032d0| 0a 09 65 6e 64 69 66 09 | 3b 61 6c 6f 6e 65 0d 0a |..endif.|;alone..|
|000032e0| 3b 20 0d 0a 09 64 62 09 | 27 58 27 0d 0a 61 6c 74 |; ...db.|'X'..alt|
|000032f0| 62 6c 65 6e 3a 09 65 71 | 75 09 24 2d 61 6c 70 68 |blen:.eq|u.$-alph|
|00003300| 74 62 6c 0d 0a 3b 20 61 | 64 64 72 65 73 73 65 73 |tbl..; a|ddresses|
|00003310| 20 6f 66 20 61 63 74 69 | 6f 6e 20 72 6f 75 74 69 | of acti|on routi|
|00003320| 6e 65 73 2c 20 73 61 6d | 65 20 6f 72 64 65 72 20 |nes, sam|e order |
|00003330| 61 73 20 61 6c 70 68 74 | 61 62 6c 0d 0a 61 64 64 |as alpht|abl..add|
|00003340| 72 74 62 6c 3a 0d 0a 09 | 64 77 09 6e 61 09 3b 6e |rtbl:...|dw.na.;n|
|00003350| 6f 74 20 61 76 61 69 6c | 61 62 6c 65 0d 0a 09 64 |ot avail|able...d|
|00003360| 77 09 61 64 73 65 74 09 | 3b 61 64 64 72 65 73 73 |w.adset.|;address|
|00003370| 20 73 65 74 0d 0a 09 64 | 77 09 67 65 74 62 61 6e | set...d|w.getban|
|00003380| 6b 0d 0a 09 64 77 09 6c | 6e 73 65 74 09 3b 6c 65 |k...dw.l|nset.;le|
|00003390| 6e 67 74 68 20 73 65 74 | 0d 0a 09 64 77 09 70 75 |ngth set|...dw.pu|
|000033a0| 74 62 61 6e 6b 0d 0a 09 | 64 77 09 71 75 69 74 0d |tbank...|dw.quit.|
|000033b0| 0a 3b 20 0d 0a 09 69 66 | 09 61 6c 6f 6e 65 0d 0a |.; ...if|.alone..|
|000033c0| 09 64 77 09 72 65 6d 6f | 76 65 0d 0a 09 65 6e 64 |.dw.remo|ve...end|
|000033d0| 69 66 0d 0a 3b 20 0d 0a | 09 64 77 09 78 70 65 72 |if..; ..|.dw.xper|
|000033e0| 74 09 3b 65 78 70 65 72 | 74 20 6d 6f 64 65 2c 20 |t.;exper|t mode, |
|000033f0| 6e 6f 20 6d 65 6e 75 0d | 0a 3b 20 0d 0a 6d 65 6e |no menu.|.; ..men|
|00003400| 75 3a 09 64 62 09 27 42 | 61 6e 6b 73 77 61 70 20 |u:.db.'B|ankswap |
|00003410| 31 2e 30 20 62 79 20 41 | 2e 20 53 2e 20 57 6f 6f |1.0 by A|. S. Woo|
|00003420| 64 68 75 6c 6c 20 31 30 | 2f 32 30 2f 38 33 27 2c |dhull 10|/20/83',|
|00003430| 30 64 68 2c 30 61 68 0d | 0a 09 64 62 09 27 66 75 |0dh,0ah.|..db.'fu|
|00003440| 6e 63 74 69 6f 6e 73 20 | 61 76 61 69 6c 61 62 6c |nctions |availabl|
|00003450| 65 3a 27 2c 30 64 68 2c | 30 61 68 0d 0a 09 64 62 |e:',0dh,|0ah...db|
|00003460| 09 27 09 41 2e 2e 2e 73 | 65 74 20 6d 6f 76 65 20 |.'.A...s|et move |
|00003470| 41 64 64 72 65 73 73 65 | 73 27 2c 30 64 68 2c 30 |Addresse|s',0dh,0|
|00003480| 61 68 0d 0a 09 64 62 09 | 27 09 47 2e 2e 2e 47 65 |ah...db.|'.G...Ge|
|00003490| 74 20 61 6c 74 65 72 6e | 61 74 65 20 62 61 6e 6b |t altern|ate bank|
|000034a0| 27 2c 30 64 68 2c 30 61 | 68 0d 0a 09 64 62 09 27 |',0dh,0a|h...db.'|
|000034b0| 09 4c 2e 2e 2e 73 65 74 | 20 6d 6f 76 65 20 4c 65 |.L...set| move Le|
|000034c0| 6e 67 74 68 27 2c 30 64 | 68 2c 30 61 68 0d 0a 09 |ngth',0d|h,0ah...|
|000034d0| 64 62 09 27 09 50 2e 2e | 2e 50 75 74 20 61 6c 74 |db.'.P..|.Put alt|
|000034e0| 65 72 6e 61 74 65 20 62 | 61 6e 6b 27 2c 30 64 68 |ernate b|ank',0dh|
|000034f0| 2c 30 61 68 0d 0a 09 64 | 62 09 27 09 51 2e 2e 2e |,0ah...d|b.'.Q...|
|00003500| 51 75 69 74 20 74 6f 20 | 53 49 44 20 6f 72 20 44 |Quit to |SID or D|
|00003510| 44 54 27 2c 30 64 68 2c | 30 61 68 0d 0a 3b 20 0d |DT',0dh,|0ah..; .|
|00003520| 0a 09 69 66 09 61 6c 6f | 6e 65 0d 0a 09 64 62 09 |..if.alo|ne...db.|
|00003530| 27 09 52 2e 2e 2e 52 65 | 6d 6f 76 65 20 42 41 4e |'.R...Re|move BAN|
|00003540| 4b 53 57 41 50 27 2c 30 | 64 68 2c 30 61 68 0d 0a |KSWAP',0|dh,0ah..|
|00003550| 09 65 6e 64 69 66 0d 0a | 3b 20 0d 0a 09 64 62 09 |.endif..|; ...db.|
|00003560| 27 09 58 2e 2e 2e 65 58 | 70 65 72 74 20 6d 6f 64 |'.X...eX|pert mod|
|00003570| 65 20 28 6e 6f 20 6d 65 | 6e 75 29 27 2c 30 64 68 |e (no me|nu)',0dh|
|00003580| 2c 30 61 68 0d 0a 71 75 | 65 72 79 3a 09 64 62 09 |,0ah..qu|ery:.db.|
|00003590| 30 64 68 2c 30 61 68 2c | 27 3f 3f 20 24 27 0d 0a |0dh,0ah,|'?? $'..|
|000035a0| 6e 61 6d 73 67 3a 09 64 | 62 09 27 2e 2e 2e 66 75 |namsg:.d|b.'...fu|
|000035b0| 6e 63 74 69 6f 6e 20 6e | 6f 74 20 61 76 61 69 6c |nction n|ot avail|
|000035c0| 61 62 6c 65 2e 27 0d 0a | 63 72 6c 66 73 74 72 69 |able.'..|crlfstri|
|000035d0| 6e 67 3a 0d 0a 09 64 62 | 09 30 64 68 2c 30 61 68 |ng:...db|.0dh,0ah|
|000035e0| 2c 27 24 27 0d 0a 62 30 | 69 64 3a 09 64 62 09 27 |,'$'..b0|id:.db.'|
|000035f0| 42 61 6e 6b 20 30 20 61 | 64 64 72 3a 20 24 27 0d |Bank 0 a|ddr: $'.|
|00003600| 0a 62 31 69 64 3a 09 64 | 62 09 27 42 61 6e 6b 20 |.b1id:.d|b.'Bank |
|00003610| 31 20 61 64 64 72 3a 20 | 24 27 0d 0a 6c 6e 6d 73 |1 addr: |$'..lnms|
|00003620| 67 3a 09 64 62 09 27 4c | 65 6e 67 74 68 20 69 73 |g:.db.'L|ength is|
|00003630| 20 6e 6f 77 20 24 27 0d | 0a 63 68 71 75 65 72 79 | now $'.|.chquery|
|00003640| 3a 0d 0a 09 64 62 09 27 | 43 68 61 6e 67 65 20 74 |:...db.'|Change t|
|00003650| 6f 3f 20 28 43 52 20 74 | 6f 20 6b 65 65 70 29 3a |o? (CR t|o keep):|
|00003660| 20 24 27 0d 0a 68 65 78 | 73 74 72 09 64 73 09 34 | $'..hex|str.ds.4|
|00003670| 0d 0a 09 64 62 09 27 48 | 27 2c 30 64 68 2c 30 61 |...db.'H|',0dh,0a|
|00003680| 68 2c 27 24 27 0d 0a 71 | 6d 73 67 3a 09 64 62 09 |h,'$'..q|msg:.db.|
|00003690| 27 52 65 2d 65 6e 74 65 | 72 20 42 41 4e 4b 53 57 |'Re-ente|r BANKSW|
|000036a0| 41 50 20 66 72 6f 6d 20 | 44 44 54 20 6f 72 20 53 |AP from |DDT or S|
|000036b0| 49 44 20 62 79 20 22 47 | 32 38 22 27 0d 0a 09 64 |ID by "G|28"'...d|
|000036c0| 62 09 30 64 68 2c 30 61 | 68 2c 27 24 27 0d 0a 3b |b.0dh,0a|h,'$'..;|
|000036d0| 20 0d 0a 71 75 69 65 74 | 66 6c 61 67 3a 0d 0a 09 | ..quiet|flag:...|
|000036e0| 64 62 09 30 09 3b 69 6e | 69 74 69 61 6c 69 7a 65 |db.0.;in|itialize|
|000036f0| 64 20 6f 66 66 0d 0a 69 | 6e 62 75 66 3a 09 64 62 |d off..i|nbuf:.db|
|00003700| 09 38 09 3b 6d 61 78 20 | 6c 65 6e 67 74 68 20 6f |.8.;max |length o|
|00003710| 66 20 62 75 66 66 65 72 | 0d 0a 09 64 73 09 39 0d |f buffer|...ds.9.|
|00003720| 0a 3b 20 0d 0a 3b 20 64 | 65 66 61 75 6c 74 20 70 |.; ..; d|efault p|
|00003730| 61 72 61 6d 65 74 65 72 | 73 3a 20 61 6c 74 65 72 |arameter|s: alter|
|00003740| 20 62 79 20 53 65 74 20 | 61 6e 64 20 4c 65 6e 67 | by Set |and Leng|
|00003750| 74 68 20 63 6f 6d 6d 61 | 6e 64 73 0d 0a 62 30 73 |th comma|nds..b0s|
|00003760| 74 61 72 74 3a 09 64 77 | 09 62 30 64 66 74 0d 0a |tart:.dw|.b0dft..|
|00003770| 62 31 73 74 61 72 74 3a | 09 64 77 09 62 31 64 66 |b1start:|.dw.b1df|
|00003780| 74 09 0d 0a 6c 65 6e 67 | 74 68 3a 09 09 64 77 09 |t...leng|th:..dw.|
|00003790| 6d 6f 76 63 6e 74 09 20 | 0d 0a 3b 20 0d 0a 3b 20 |movcnt. |..; ..; |
|000037a0| 4f 6e 65 2d 74 69 6d 65 | 20 72 6f 75 74 69 6e 65 |One-time| routine|
|000037b0| 2c 20 6f 6e 20 31 73 74 | 20 42 44 4f 53 20 63 61 |, on 1st| BDOS ca|
|000037c0| 6c 6c 20 69 6e 74 65 72 | 63 65 70 74 65 64 0d 0a |ll inter|cepted..|
|000037d0| 69 6e 73 74 61 6c 6c 3a | 0d 0a 09 70 75 73 68 09 |install:|...push.|
|000037e0| 62 09 3b 6b 65 65 70 20 | 65 76 65 72 79 74 68 69 |b.;keep |everythi|
|000037f0| 6e 67 20 61 73 20 69 74 | 20 77 61 73 0d 0a 09 70 |ng as it| was...p|
|00003800| 75 73 68 09 64 09 3b 2e | 2e 2e 73 6f 20 42 44 4f |ush.d.;.|..so BDO|
|00003810| 53 20 66 75 6e 63 74 69 | 6f 6e 20 63 61 6e 20 62 |S functi|on can b|
|00003820| 65 0d 0a 09 70 75 73 68 | 09 68 09 3b 2e 2e 2e 63 |e...push|.h.;...c|
|00003830| 6f 6d 70 6c 65 74 65 64 | 0d 0a 09 70 75 73 68 09 |ompleted|...push.|
|00003840| 70 73 77 0d 0a 3b 20 73 | 65 74 20 75 70 20 72 65 |psw..; s|et up re|
|00003850| 73 74 61 72 74 20 76 65 | 63 74 6f 72 20 66 6f 72 |start ve|ctor for|
|00003860| 20 72 65 2d 65 6e 74 72 | 79 0d 0a 09 6d 76 69 09 | re-entr|y...mvi.|
|00003870| 61 2c 30 63 33 68 09 3b | 61 20 4a 4d 50 20 69 6e |a,0c3h.;|a JMP in|
|00003880| 73 74 72 75 63 74 69 6f | 6e 0d 0a 09 73 74 61 09 |structio|n...sta.|
|00003890| 72 73 74 76 0d 0a 09 6c | 78 69 09 68 2c 62 61 6e |rstv...l|xi.h,ban|
|000038a0| 6b 65 78 61 6d 0d 0a 09 | 73 68 6c 64 09 72 73 74 |kexam...|shld.rst|
|000038b0| 76 2b 31 0d 0a 3b 20 73 | 65 74 20 75 70 20 61 64 |v+1..; s|et up ad|
|000038c0| 64 72 65 73 73 20 6f 66 | 20 42 49 4f 53 20 72 6f |dress of| BIOS ro|
|000038d0| 75 74 69 6e 65 20 61 63 | 63 65 73 73 65 64 20 64 |utine ac|cessed d|
|000038e0| 69 72 65 63 74 6c 79 0d | 0a 09 6c 68 6c 64 09 62 |irectly.|..lhld.b|
|000038f0| 69 6f 73 76 09 09 3b 66 | 69 6e 64 20 77 68 65 72 |iosv..;f|ind wher|
|00003900| 65 20 42 49 4f 53 20 69 | 73 0d 0a 09 6c 78 69 09 |e BIOS i|s...lxi.|
|00003910| 64 2c 73 65 6c 6d 65 6d | 09 3b 2e 2e 2e 61 6e 64 |d,selmem|.;...and|
|00003920| 20 61 64 64 20 6f 66 66 | 73 65 74 0d 0a 09 64 61 | add off|set...da|
|00003930| 64 09 64 0d 0a 09 73 68 | 6c 64 09 73 65 6c 6d 76 |d.d...sh|ld.selmv|
|00003940| 0d 0a 3b 20 74 68 65 6e | 20 70 61 74 63 68 20 74 |..; then| patch t|
|00003950| 68 65 20 52 53 58 20 70 | 72 65 66 69 78 20 74 6f |he RSX p|refix to|
|00003960| 20 70 72 65 76 65 6e 74 | 20 72 65 69 6e 73 74 61 | prevent| reinsta|
|00003970| 6c 6c 61 74 69 6f 6e 0d | 0a 09 6c 68 6c 64 09 6e |llation.|..lhld.n|
|00003980| 65 78 74 2b 31 0d 0a 09 | 73 68 6c 64 09 73 74 61 |ext+1...|shld.sta|
|00003990| 72 74 2b 31 0d 0a 3b 20 | 74 65 6c 6c 20 27 65 6d |rt+1..; |tell 'em|
|000039a0| 20 77 65 27 72 65 20 72 | 65 61 64 79 0d 0a 09 6d | we're r|eady...m|
|000039b0| 76 69 09 63 2c 70 72 69 | 6e 74 66 0d 0a 09 6c 78 |vi.c,pri|ntf...lx|
|000039c0| 69 09 64 2c 69 6d 73 67 | 0d 0a 09 63 61 6c 6c 09 |i.d,imsg|...call.|
|000039d0| 6e 65 78 74 0d 0a 09 70 | 6f 70 09 70 73 77 09 3b |next...p|op.psw.;|
|000039e0| 63 6f 6e 74 69 6e 75 65 | 20 77 69 74 68 20 74 68 |continue| with th|
|000039f0| 65 20 74 61 73 6b 20 74 | 68 61 74 0d 0a 09 70 6f |e task t|hat...po|
|00003a00| 70 09 68 09 3b 2e 2e 2e | 77 61 73 20 73 6f 20 72 |p.h.;...|was so r|
|00003a10| 75 64 65 6c 79 20 69 6e | 74 65 72 72 75 70 74 65 |udely in|terrupte|
|00003a20| 64 0d 0a 09 70 6f 70 09 | 64 0d 0a 09 70 6f 70 09 |d...pop.|d...pop.|
|00003a30| 62 0d 0a 09 6a 6d 70 09 | 6e 65 78 74 0d 0a 3b 20 |b...jmp.|next..; |
|00003a40| 0d 0a 69 6d 73 67 3a 09 | 64 62 09 27 42 41 4e 4b |..imsg:.|db.'BANK|
|00003a50| 53 57 41 50 20 6c 6f 61 | 64 65 64 2e 20 54 6f 20 |SWAP loa|ded. To |
|00003a60| 61 63 63 65 73 73 20 66 | 72 6f 6d 20 44 44 54 20 |access f|rom DDT |
|00003a70| 6f 72 20 27 0d 0a 09 64 | 62 09 27 53 49 44 20 74 |or '...d|b.'SID t|
|00003a80| 79 70 65 20 22 47 32 38 | 22 27 0d 0a 09 64 62 09 |ype "G28|"'...db.|
|00003a90| 30 64 68 2c 30 61 68 2c | 27 24 27 0d 0a 3b 20 0d |0dh,0ah,|'$'..; .|
|00003aa0| 0a 3b 20 72 65 75 73 65 | 20 69 6e 73 74 61 6c 6c |.; reuse| install|
|00003ab0| 61 74 69 6f 6e 20 63 6f | 64 65 20 61 72 65 61 20 |ation co|de area |
|00003ac0| 66 6f 72 20 73 74 61 63 | 6b 20 73 70 61 63 65 0d |for stac|k space.|
|00003ad0| 0a 6c 6f 63 73 74 6b 3a | 0d 0a 3b 20 0d 0a 3b 20 |.locstk:|..; ..; |
|00003ae0| 75 6e 69 6e 69 74 69 61 | 6c 69 7a 65 64 20 73 74 |uninitia|lized st|
|00003af0| 6f 72 61 67 65 0d 0a 73 | 65 6c 6d 76 3a 09 64 73 |orage..s|elmv:.ds|
|00003b00| 09 32 09 3b 75 73 65 64 | 20 66 6f 72 20 42 49 4f |.2.;used| for BIO|
|00003b10| 53 20 63 61 6c 6c 20 74 | 6f 20 73 65 6c 6d 65 6d |S call t|o selmem|
|00003b20| 0d 0a 73 6f 75 72 63 65 | 3a 09 64 73 09 32 09 3b |..source|:.ds.2.;|
|00003b30| 66 6f 72 20 6d 6f 76 65 | 73 20 74 6f 20 62 75 66 |for move|s to buf|
|00003b40| 66 65 72 0d 0a 64 65 73 | 74 3a 09 64 73 09 32 09 |fer..des|t:.ds.2.|
|00003b50| 3b 66 6f 72 20 6d 6f 76 | 65 73 20 66 72 6f 6d 20 |;for mov|es from |
|00003b60| 62 75 66 66 65 72 0d 0a | 63 6f 75 6e 74 3a 09 64 |buffer..|count:.d|
|00003b70| 73 09 31 09 3b 62 6c 6f | 63 6b 73 20 74 6f 20 6d |s.1.;blo|cks to m|
|00003b80| 6f 76 65 0d 0a 68 6f 6c | 64 73 70 3a 09 64 73 09 |ove..hol|dsp:.ds.|
|00003b90| 32 09 3b 73 74 61 63 6b | 20 70 6f 69 6e 74 65 72 |2.;stack| pointer|
|00003ba0| 20 66 72 6f 6d 20 44 44 | 54 20 6f 72 20 53 49 44 | from DD|T or SID|
|00003bb0| 0d 0a 3b 20 0d 0a 62 75 | 66 66 65 72 3a 0d 0a 09 |..; ..bu|ffer:...|
|00003bc0| 64 73 09 62 75 66 6c 65 | 6e 0d 0a 09 65 6e 64 1a |ds.bufle|n...end.|
|00003bd0| 69 6e 73 74 61 6c 6c 3a | 0d 0a 09 70 75 73 68 09 |install:|...push.|
|00003be0| 62 09 3b 6b 65 65 70 20 | 65 76 65 72 79 74 68 69 |b.;keep |everythi|
|00003bf0| 6e 67 20 61 73 20 69 74 | 20 77 61 73 0d 0a 09 70 |ng as it| was...p|
|00003c00| 3b 20 52 53 58 4d 41 4b | 45 52 2e 53 55 42 20 61 |; RSXMAK|ER.SUB a|
|00003c10| 73 73 65 6d 62 6c 65 20 | 52 53 58 20 61 6e 64 20 |ssemble |RSX and |
|00003c20| 61 74 74 61 63 68 20 74 | 6f 20 65 78 69 73 74 69 |attach t|o existi|
|00003c30| 6e 67 20 43 4f 4d 20 66 | 69 6c 65 0d 0a 3b 20 41 |ng COM f|ile..; A|
|00003c40| 53 57 20 32 31 20 4f 63 | 74 20 38 33 0d 0a 3b 20 |SW 21 Oc|t 83..; |
|00003c50| 55 73 61 67 65 3a 20 41 | 3e 53 55 42 4d 49 54 20 |Usage: A|>SUBMIT |
|00003c60| 52 53 58 4d 41 4b 45 52 | 20 3c 63 6f 6d 66 69 6c |RSXMAKER| <comfil|
|00003c70| 65 3e 20 3c 61 73 6d 66 | 69 6c 65 3e 0d 0a 3b 20 |e> <asmf|ile>..; |
|00003c80| 0d 0a 72 6d 61 63 20 24 | 32 0d 0a 6c 69 6e 6b 20 |..rmac $|2..link |
|00003c90| 24 32 20 5b 6f 70 5d 0d | 0a 72 65 6e 20 24 32 2e |$2 [op].|.ren $2.|
|00003ca0| 72 73 78 3d 24 32 2e 70 | 72 6c 0d 0a 67 65 6e 63 |rsx=$2.p|rl..genc|
|00003cb0| 6f 6d 20 24 31 20 24 32 | 0d 0a 0d 0a 1a 0a 3b 20 |om $1 $2|......; |
|00003cc0| 0d 0a 69 6d 73 67 3a 09 | 64 62 09 27 42 41 4e 4b |..imsg:.|db.'BANK|
|00003cd0| 53 57 41 50 20 6c 6f 61 | 64 65 64 2e 20 54 6f 20 |SWAP loa|ded. To |
|00003ce0| 61 63 63 65 73 73 20 66 | 72 6f 6d 20 44 44 54 20 |access f|rom DDT |
|00003cf0| 6f 72 20 27 0d 0a 09 64 | 62 09 27 53 49 44 20 74 |or '...d|b.'SID t|
+--------+-------------------------+-------------------------+--------+--------+