home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: LBR Archive
(archive/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 01 00 |. | ....|
|00000010| 61 eb 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |a.......|........|
|00000020| 00 57 48 4c 43 48 4b 20 | 20 41 53 4d 01 00 37 00 |.WHLCHK | ASM..7.|
|00000030| 34 cf 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |4.......|........|
|00000040| 00 57 48 4c 43 48 4b 20 | 20 43 4f 4d 38 00 03 00 |.WHLCHK | COM8...|
|00000050| bd 02 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000060| 00 57 48 4c 43 48 4b 20 | 20 49 4e 53 3b 00 06 00 |.WHLCHK | INS;...|
|00000070| bc 5a 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.Z......|........|
|00000080| 3b 09 74 69 74 6c 65 09 | 27 57 48 4c 43 48 4b 2e |;.title.|'WHLCHK.|
|00000090| 41 53 4d 20 20 27 0d 0a | 3b 0d 0a 3b 09 09 57 48 |ASM '..|;..;..WH|
|000000a0| 4c 43 48 4b 2e 41 53 4d | 20 20 09 09 09 56 65 72 |LCHK.ASM| ...Ver|
|000000b0| 73 69 6f 6e 20 31 2e 30 | 0d 0a 3b 20 20 20 20 20 |sion 1.0|..; |
|000000c0| 20 20 20 20 20 20 20 20 | 20 20 42 79 20 4e 6f 72 | | By Nor|
|000000d0| 6d 61 6e 20 42 65 65 6c | 65 72 20 20 20 20 20 20 |man Beel|er |
|000000e0| 31 30 2f 32 35 2f 38 34 | 0d 0a 3b 0d 0a 3b 20 54 |10/25/84|..;..; T|
|000000f0| 68 69 73 20 70 72 6f 67 | 72 61 6d 20 61 64 64 73 |his prog|ram adds|
|00000100| 20 5a 43 50 52 20 77 68 | 65 65 6c 20 70 72 6f 74 | ZCPR wh|eel prot|
|00000110| 65 63 74 69 6f 6e 20 74 | 6f 20 61 6e 79 20 2e 43 |ection t|o any .C|
|00000120| 4f 4d 20 70 72 6f 67 72 | 61 6d 0d 0a 3b 0d 0a 3b |OM progr|am..;..;|
|00000130| 20 53 79 6e 74 61 78 3a | 20 20 57 48 4c 43 48 4b | Syntax:| WHLCHK|
|00000140| 20 6e 61 6d 65 5f 6f 66 | 5f 66 69 6c 65 0d 0a 3b | name_of|_file..;|
|00000150| 0d 0a 3b 20 49 66 20 65 | 76 65 72 79 74 68 69 6e |..; If e|verythin|
|00000160| 67 20 67 6f 65 73 20 77 | 65 6c 6c 2c 20 74 68 65 |g goes w|ell, the|
|00000170| 20 70 72 6f 67 72 61 6d | 20 77 69 6c 6c 20 62 65 | program| will be|
|00000180| 20 6d 6f 64 69 66 69 65 | 64 20 61 6e 64 20 73 61 | modifie|d and sa|
|00000190| 76 65 64 20 74 6f 20 64 | 69 73 6b 2e 0d 0a 3b 20 |ved to d|isk...; |
|000001a0| 49 66 20 6e 6f 74 2c 20 | 61 20 6d 65 73 73 61 67 |If not, |a messag|
|000001b0| 65 20 69 73 20 70 72 69 | 6e 74 65 64 20 61 6e 64 |e is pri|nted and|
|000001c0| 20 63 6f 6e 74 72 6f 6c | 20 69 73 20 70 61 73 73 | control| is pass|
|000001d0| 65 64 20 74 6f 20 74 68 | 65 20 43 43 50 2e 0d 0a |ed to th|e CCP...|
|000001e0| 3b 0d 0a 3b 20 49 6e 20 | 73 75 62 73 65 71 75 65 |;..; In |subseque|
|000001f0| 6e 74 20 75 73 65 2c 20 | 74 68 65 20 6d 6f 64 69 |nt use, |the modi|
|00000200| 66 69 65 64 20 20 2e 43 | 4f 4d 20 70 72 6f 67 72 |fied .C|OM progr|
|00000210| 61 6d 20 77 69 6c 6c 20 | 63 68 65 63 6b 20 74 68 |am will |check th|
|00000220| 65 20 5a 43 50 52 20 77 | 68 65 65 6c 0d 0a 3b 20 |e ZCPR w|heel..; |
|00000230| 62 79 74 65 20 75 70 6f | 6e 20 65 78 65 63 75 74 |byte upo|n execut|
|00000240| 69 6e 67 2c 20 61 6e 64 | 20 77 69 6c 6c 20 74 65 |ing, and| will te|
|00000250| 72 6d 69 6e 61 74 65 20 | 77 69 74 68 20 74 68 65 |rminate |with the|
|00000260| 20 6d 65 73 73 61 67 65 | 20 0d 0a 3b 20 50 52 4f | message| ..; PRO|
|00000270| 47 52 41 4d 20 41 43 43 | 45 53 53 20 44 45 4e 49 |GRAM ACC|ESS DENI|
|00000280| 45 44 2e 2e 2e 20 69 66 | 20 74 68 65 20 77 68 65 |ED... if| the whe|
|00000290| 65 6c 20 62 79 74 65 20 | 69 73 20 6e 6f 74 20 73 |el byte |is not s|
|000002a0| 65 74 0d 0a 3b 0d 0a 3b | 20 54 68 69 73 20 70 72 |et..;..;| This pr|
|000002b0| 6f 67 72 61 6d 20 77 61 | 73 20 64 65 72 69 76 65 |ogram wa|s derive|
|000002c0| 64 20 66 72 6f 6d 20 50 | 41 53 53 57 4f 52 44 2e |d from P|ASSWORD.|
|000002d0| 41 53 4d 20 62 79 20 42 | 6f 20 4d 63 43 6f 72 6d |ASM by B|o McCorm|
|000002e0| 69 63 6b 20 38 2f 36 2f | 38 31 0d 0a 3b 0d 0a 3b |ick 8/6/|81..;..;|
|000002f0| 45 51 55 41 54 45 53 0d | 0a 6d 65 73 6f 75 74 3a |EQUATES.|.mesout:|
|00000300| 09 65 71 75 09 39 09 09 | 3b 42 44 4f 53 20 66 75 |.equ.9..|;BDOS fu|
|00000310| 6e 63 74 69 6f 6e 73 0d | 0a 69 6e 63 6f 6e 3a 09 |nctions.|.incon:.|
|00000320| 65 71 75 09 31 30 0d 0a | 6f 70 65 6e 3a 09 65 71 |equ.10..|open:.eq|
|00000330| 75 09 31 35 0d 0a 63 6c | 6f 73 65 3a 09 65 71 75 |u.15..cl|ose:.equ|
|00000340| 09 31 36 0d 0a 64 65 6c | 65 74 65 3a 09 65 71 75 |.16..del|ete:.equ|
|00000350| 09 31 39 0d 0a 72 65 61 | 64 3a 09 65 71 75 09 32 |.19..rea|d:.equ.2|
|00000360| 30 0d 0a 77 72 69 74 65 | 3a 09 65 71 75 09 32 31 |0..write|:.equ.21|
|00000370| 0d 0a 73 65 74 64 6d 61 | 3a 09 65 71 75 09 32 36 |..setdma|:.equ.26|
|00000380| 0d 0a 3b 0d 0a 63 72 09 | 65 71 75 09 30 64 68 09 |..;..cr.|equ.0dh.|
|00000390| 09 3b 61 73 63 69 69 20 | 76 61 6c 75 65 73 0d 0a |.;ascii |values..|
|000003a0| 6c 66 09 65 71 75 09 30 | 61 68 0d 0a 65 6f 73 09 |lf.equ.0|ah..eos.|
|000003b0| 65 71 75 09 27 24 27 0d | 0a 3b 0d 0a 62 6f 6f 74 |equ.'$'.|.;..boot|
|000003c0| 09 65 71 75 09 30 09 09 | 3b 30 20 66 6f 72 20 73 |.equ.0..|;0 for s|
|000003d0| 74 61 6e 64 61 72 64 20 | 43 50 2f 4d 0d 0a 09 09 |tandard |CP/M....|
|000003e0| 09 09 3b 34 32 30 30 48 | 20 66 6f 72 20 41 4c 54 |..;4200H| for ALT|
|000003f0| 2e 20 43 50 2f 4d 3b 0d | 0a 77 68 65 65 6c 09 65 |. CP/M;.|.wheel.e|
|00000400| 71 75 09 30 34 62 68 09 | 09 3b 5a 43 50 52 33 20 |qu.04bh.|.;ZCPR3 |
|00000410| 77 68 65 65 6c 20 62 79 | 74 65 20 6c 6f 63 61 74 |wheel by|te locat|
|00000420| 69 6f 6e 0d 0a 73 65 74 | 66 09 65 71 75 09 30 66 |ion..set|f.equ.0f|
|00000430| 66 68 09 09 3b 77 68 65 | 65 6c 20 62 79 74 65 20 |fh..;whe|el byte |
|00000440| 73 65 74 20 76 61 6c 75 | 65 0d 0a 62 64 6f 73 09 |set valu|e..bdos.|
|00000450| 65 71 75 09 62 6f 6f 74 | 2b 35 0d 0a 66 63 62 09 |equ.boot|+5..fcb.|
|00000460| 65 71 75 09 62 6f 6f 74 | 2b 35 63 68 0d 0a 64 65 |equ.boot|+5ch..de|
|00000470| 66 62 75 66 09 65 71 75 | 09 62 6f 6f 74 2b 38 30 |fbuf.equ|.boot+80|
|00000480| 68 0d 0a 74 70 61 09 65 | 71 75 09 62 6f 6f 74 2b |h..tpa.e|qu.boot+|
|00000490| 31 30 30 68 0d 0a 73 74 | 61 63 6b 09 65 71 75 09 |100h..st|ack.equ.|
|000004a0| 74 70 61 0d 0a 3b 0d 0a | 09 6f 72 67 09 74 70 61 |tpa..;..|.org.tpa|
|000004b0| 0d 0a 0d 0a 3b 0d 0a 3b | 0d 0a 73 74 61 72 74 3a |....;..;|..start:|
|000004c0| 09 6c 78 69 09 68 2c 30 | 09 09 3b 73 61 76 65 20 |.lxi.h,0|..;save |
|000004d0| 73 74 61 63 6b 20 70 6f | 69 6e 74 65 72 0d 0a 09 |stack po|inter...|
|000004e0| 64 61 64 09 73 70 09 09 | 3b 70 75 74 20 73 74 61 |dad.sp..|;put sta|
|000004f0| 63 6b 20 69 6e 20 68 6c | 0d 0a 09 73 68 6c 64 09 |ck in hl|...shld.|
|00000500| 6f 6c 64 24 73 74 61 63 | 6b 2d 6f 66 66 73 65 74 |old$stac|k-offset|
|00000510| 09 3b 73 61 76 65 20 69 | 74 0d 0a 09 6c 78 69 09 |.;save i|t...lxi.|
|00000520| 73 70 2c 73 74 61 63 6b | 09 3b 67 65 74 20 6e 65 |sp,stack|.;get ne|
|00000530| 77 20 73 74 61 63 6b 0d | 0a 3b 0d 0a 3b 20 73 74 |w stack.|.;..; st|
|00000540| 61 63 6b 20 73 61 76 65 | 64 20 73 6f 20 70 72 6f |ack save|d so pro|
|00000550| 67 72 61 6d 20 63 61 6e | 20 72 65 74 75 72 6e 20 |gram can| return |
|00000560| 74 6f 20 43 43 50 20 77 | 69 74 68 6f 75 74 0d 0a |to CCP w|ithout..|
|00000570| 3b 20 69 6e 74 65 72 76 | 65 6e 69 6e 67 20 77 61 |; interv|ening wa|
|00000580| 72 6d 20 73 74 61 72 74 | 2e 0d 0a 3b 0d 0a 09 6c |rm start|...;...l|
|00000590| 64 61 09 66 63 62 2b 39 | 09 09 3b 67 65 74 20 66 |da.fcb+9|..;get f|
|000005a0| 69 72 73 74 20 63 68 61 | 72 20 6f 66 20 65 78 74 |irst cha|r of ext|
|000005b0| 65 6e 73 69 6f 6e 0d 0a | 09 63 70 69 09 27 20 27 |ension..|.cpi.' '|
|000005c0| 09 09 3b 69 66 20 27 20 | 27 20 74 68 65 6e 20 63 |..;if ' |' then c|
|000005d0| 68 61 6e 67 65 20 74 6f | 20 2e 43 4f 4d 0d 0a 09 |hange to| .COM...|
|000005e0| 6a 7a 09 6e 6f 24 74 79 | 70 65 0d 0a 09 63 70 69 |jz.no$ty|pe...cpi|
|000005f0| 09 27 43 27 09 09 3b 49 | 66 20 74 68 65 72 65 20 |.'C'..;I|f there |
|00000600| 69 73 20 61 6e 20 65 78 | 74 65 6e 73 69 6f 6e 2c |is an ex|tension,|
|00000610| 0d 0a 09 6a 6e 7a 09 6e | 6f 74 24 72 69 67 68 74 |...jnz.n|ot$right|
|00000620| 09 3b 6d 61 6b 65 20 73 | 75 72 65 20 69 74 27 73 |.;make s|ure it's|
|00000630| 20 2e 43 4f 4d 0d 0a 09 | 6c 64 61 09 66 63 62 2b | .COM...|lda.fcb+|
|00000640| 31 30 09 09 3b 63 68 65 | 63 6b 20 73 65 63 6f 6e |10..;che|ck secon|
|00000650| 64 20 6c 65 74 74 65 72 | 0d 0a 09 63 70 69 09 27 |d letter|...cpi.'|
|00000660| 4f 27 09 09 0d 0a 09 6a | 6e 7a 09 6e 6f 74 24 72 |O'.....j|nz.not$r|
|00000670| 69 67 68 74 0d 0a 09 6c | 64 61 09 66 63 62 2b 31 |ight...l|da.fcb+1|
|00000680| 31 0d 0a 09 63 70 69 09 | 27 4d 27 09 09 3b 6c 61 |1...cpi.|'M'..;la|
|00000690| 73 74 20 6c 65 74 74 65 | 72 0d 0a 09 6a 7a 09 69 |st lette|r...jz.i|
|000006a0| 73 24 63 6f 6d 09 09 3b | 69 66 20 69 74 20 69 73 |s$com..;|if it is|
|000006b0| 20 61 20 43 4f 4d 2c 20 | 74 68 65 6e 20 63 6f 6e | a COM, |then con|
|000006c0| 74 2e 0d 0a 6e 6f 74 24 | 72 69 67 68 74 3a 0d 0a |t...not$|right:..|
|000006d0| 09 63 61 6c 6c 09 65 6e | 64 24 6d 65 73 09 09 3b |.call.en|d$mes..;|
|000006e0| 69 74 27 73 20 6e 6f 74 | 20 61 20 63 6f 6d 20 66 |it's not| a com f|
|000006f0| 69 6c 65 2c 20 73 6f 20 | 74 65 6c 6c 0d 0a 3b 0d |ile, so |tell..;.|
|00000700| 0a 09 64 62 09 63 72 2c | 6c 66 2c 27 4d 75 73 74 |..db.cr,|lf,'Must|
|00000710| 20 62 65 20 61 20 63 6f | 6d 6d 61 6e 64 20 28 2e | be a co|mmand (.|
|00000720| 43 4f 4d 29 20 66 69 6c | 65 27 0d 0a 09 64 62 09 |COM) fil|e'...db.|
|00000730| 63 72 2c 6c 66 2c 65 6f | 73 0d 0a 3b 0d 0a 65 6e |cr,lf,eo|s..;..en|
|00000740| 64 24 6d 65 73 3a 0d 0a | 09 70 6f 70 09 64 09 09 |d$mes:..|.pop.d..|
|00000750| 3b 67 65 74 20 61 64 64 | 72 65 73 73 20 6f 66 20 |;get add|ress of |
|00000760| 6d 65 73 73 61 67 65 0d | 0a 09 6d 76 69 09 63 2c |message.|..mvi.c,|
|00000770| 6d 65 73 6f 75 74 09 3b | 50 52 49 4e 54 20 53 54 |mesout.;|PRINT ST|
|00000780| 52 49 4e 47 20 63 6f 6d | 6d 61 6e 64 0d 0a 09 63 |RING com|mand...c|
|00000790| 61 6c 6c 09 62 64 6f 73 | 09 09 3b 70 72 69 6e 74 |all.bdos|..;print|
|000007a0| 20 65 72 72 6f 72 20 6d | 65 73 73 61 67 65 0d 0a | error m|essage..|
|000007b0| 3b 0d 0a 66 69 6e 69 73 | 68 3a 09 6c 68 6c 64 09 |;..finis|h:.lhld.|
|000007c0| 6f 6c 64 24 73 74 61 63 | 6b 2d 6f 66 66 73 65 74 |old$stac|k-offset|
|000007d0| 20 3b 67 65 74 20 6f 6c | 64 20 73 74 61 63 6b 0d | ;get ol|d stack.|
|000007e0| 0a 09 73 70 68 6c 09 09 | 09 3b 70 75 74 20 69 74 |..sphl..|.;put it|
|000007f0| 20 69 6e 20 48 4c 0d 0a | 09 72 65 74 09 09 09 3b | in HL..|.ret...;|
|00000800| 72 65 74 75 72 6e 20 74 | 6f 20 43 50 2f 4d 0d 0a |return t|o CP/M..|
|00000810| 3b 0d 0a 6e 6f 24 74 79 | 70 65 09 6d 76 69 09 61 |;..no$ty|pe.mvi.a|
|00000820| 2c 27 43 27 09 09 3b 69 | 66 20 74 68 65 72 65 20 |,'C'..;i|f there |
|00000830| 77 61 73 20 73 70 61 63 | 65 2c 20 63 68 61 6e 67 |was spac|e, chang|
|00000840| 65 0d 0a 09 73 74 61 09 | 66 63 62 2b 39 09 09 3b |e...sta.|fcb+9..;|
|00000850| 74 6f 20 43 4f 4d 0d 0a | 09 6d 76 69 09 61 2c 27 |to COM..|.mvi.a,'|
|00000860| 4f 27 0d 0a 09 73 74 61 | 09 66 63 62 2b 31 30 0d |O'...sta|.fcb+10.|
|00000870| 0a 09 6d 76 69 09 61 2c | 27 4d 27 0d 0a 09 73 74 |..mvi.a,|'M'...st|
|00000880| 61 09 66 63 62 2b 31 31 | 0d 0a 3b 0d 0a 69 73 24 |a.fcb+11|..;..is$|
|00000890| 63 6f 6d 09 6d 76 69 09 | 61 2c 30 09 09 3b 7a 65 |com.mvi.|a,0..;ze|
|000008a0| 72 6f 20 72 65 63 6f 72 | 64 20 63 6f 75 6e 74 0d |ro recor|d count.|
|000008b0| 0a 09 73 74 61 09 66 63 | 62 2b 33 32 0d 0a 09 6d |..sta.fc|b+32...m|
|000008c0| 76 69 09 63 2c 6f 70 65 | 6e 09 09 3b 4f 50 45 4e |vi.c,ope|n..;OPEN|
|000008d0| 20 66 69 6c 65 20 63 6f | 6d 6d 61 6e 64 0d 0a 09 | file co|mmand...|
|000008e0| 6c 78 69 09 64 2c 66 63 | 62 09 09 3b 6c 6f 61 64 |lxi.d,fc|b..;load|
|000008f0| 20 61 64 64 72 65 73 73 | 20 6f 66 20 46 43 42 20 | address| of FCB |
|00000900| 69 6e 20 44 45 0d 0a 09 | 63 61 6c 6c 09 62 64 6f |in DE...|call.bdo|
|00000910| 73 09 09 3b 4f 70 65 6e | 20 66 69 6c 65 0d 0a 09 |s..;Open| file...|
|00000920| 69 6e 72 09 61 09 09 3b | 73 75 63 63 65 73 73 66 |inr.a..;|successf|
|00000930| 75 6c 3f 0d 0a 09 6a 6e | 7a 09 6f 70 65 6e 24 6f |ul?...jn|z.open$o|
|00000940| 6b 09 09 3b 69 66 20 73 | 6f 2c 20 74 68 65 6e 20 |k..;if s|o, then |
|00000950| 63 6f 6e 74 69 6e 75 65 | 0d 0a 09 63 61 6c 6c 09 |continue|...call.|
|00000960| 65 6e 64 24 6d 65 73 09 | 09 3b 69 66 20 6e 6f 74 |end$mes.|.;if not|
|00000970| 2c 20 74 68 65 6e 20 74 | 65 6c 6c 0d 0a 3b 0d 0a |, then t|ell..;..|
|00000980| 09 64 62 09 63 72 2c 6c | 66 2c 27 43 61 6e 6e 6f |.db.cr,l|f,'Canno|
|00000990| 74 20 6f 70 65 6e 20 66 | 69 6c 65 27 2c 63 72 2c |t open f|ile',cr,|
|000009a0| 6c 66 2c 65 6f 73 0d 0a | 3b 0d 0a 6f 70 65 6e 24 |lf,eos..|;..open$|
|000009b0| 6f 6b 09 6c 78 69 09 64 | 2c 62 75 66 66 65 72 2d |ok.lxi.d|,buffer-|
|000009c0| 6f 66 66 73 65 74 09 3b | 70 6f 69 6e 74 20 74 6f |offset.;|point to|
|000009d0| 20 77 68 65 72 65 20 70 | 72 6f 67 72 61 6d 20 67 | where p|rogram g|
|000009e0| 6f 65 73 0d 0a 72 24 6c | 6f 6f 70 3a 09 6d 76 69 |oes..r$l|oop:.mvi|
|000009f0| 09 63 2c 73 65 74 64 6d | 61 09 3b 53 45 54 20 44 |.c,setdm|a.;SET D|
|00000a00| 4d 41 20 63 6f 6d 6d 61 | 6e 64 0d 0a 09 70 75 73 |MA comma|nd...pus|
|00000a10| 68 09 64 09 09 3b 73 61 | 76 65 20 69 74 0d 0a 09 |h.d..;sa|ve it...|
|00000a20| 63 61 6c 6c 09 62 64 6f | 73 09 09 3b 61 6e 64 20 |call.bdo|s..;and |
|00000a30| 74 65 6c 6c 20 43 50 2f | 4d 0d 0a 09 6c 78 69 09 |tell CP/|M...lxi.|
|00000a40| 64 2c 66 63 62 09 09 3b | 70 6f 69 6e 74 20 74 6f |d,fcb..;|point to|
|00000a50| 20 46 43 42 0d 0a 09 6d | 76 69 09 63 2c 72 65 61 | FCB...m|vi.c,rea|
|00000a60| 64 09 09 3b 52 45 41 44 | 20 73 65 63 74 6f 72 20 |d..;READ| sector |
|00000a70| 63 6f 6d 6d 61 6e 64 0d | 0a 09 63 61 6c 6c 09 62 |command.|..call.b|
|00000a80| 64 6f 73 09 09 3b 64 6f | 20 69 74 0d 0a 09 70 6f |dos..;do| it...po|
|00000a90| 70 09 64 09 09 3b 67 65 | 74 20 44 4d 41 20 61 64 |p.d..;ge|t DMA ad|
|00000aa0| 64 72 65 73 73 20 62 61 | 63 6b 0d 0a 09 61 6e 61 |dress ba|ck...ana|
|00000ab0| 09 61 09 09 3b 45 4f 46 | 3f 0d 0a 09 6a 6e 7a 09 |.a..;EOF|?...jnz.|
|00000ac0| 64 6f 6e 65 24 72 65 61 | 64 09 3b 69 66 20 73 6f |done$rea|d.;if so|
|00000ad0| 2c 20 74 68 65 6e 20 61 | 73 6b 20 66 6f 72 20 70 |, then a|sk for p|
|00000ae0| 61 73 73 77 6f 72 64 0d | 0a 09 6c 78 69 09 68 2c |assword.|..lxi.h,|
|00000af0| 38 30 68 09 09 3b 6c 65 | 6e 67 74 68 20 6f 66 20 |80h..;le|ngth of |
|00000b00| 73 65 63 74 6f 72 0d 0a | 09 64 61 64 09 64 09 09 |sector..|.dad.d..|
|00000b10| 3b 62 75 6d 70 20 44 4d | 41 0d 0a 09 78 63 68 67 |;bump DM|A...xchg|
|00000b20| 09 09 09 3b 70 75 74 20 | 6e 65 77 20 61 64 64 72 |...;put |new addr|
|00000b30| 65 73 73 20 69 6e 20 44 | 45 0d 0a 09 6a 6d 70 09 |ess in D|E...jmp.|
|00000b40| 72 24 6c 6f 6f 70 09 09 | 3b 61 6e 64 20 72 65 61 |r$loop..|;and rea|
|00000b50| 64 20 73 6f 6d 65 20 6d | 6f 72 65 0d 0a 3b 0d 0a |d some m|ore..;..|
|00000b60| 64 6f 6e 65 24 72 65 61 | 64 3a 0d 0a 09 78 63 68 |done$rea|d:...xch|
|00000b70| 67 09 09 09 3b 64 6d 61 | 20 3d 3d 3e 20 68 6c 0d |g...;dma| ==> hl.|
|00000b80| 0a 09 73 68 6c 64 09 65 | 6e 64 24 70 72 6f 67 2d |..shld.e|nd$prog-|
|00000b90| 6f 66 66 73 65 74 09 3b | 73 61 76 65 20 6c 61 73 |offset.;|save las|
|00000ba0| 74 20 61 64 64 72 65 73 | 73 0d 0a 09 78 72 61 09 |t addres|s...xra.|
|00000bb0| 61 09 09 3b 7a 65 72 6f | 20 61 0d 0a 09 73 74 61 |a..;zero| a...sta|
|00000bc0| 09 66 63 62 2b 31 32 09 | 09 3b 7a 65 72 6f 20 62 |.fcb+12.|.;zero b|
|00000bd0| 79 74 65 73 20 69 6e 20 | 46 43 42 0d 0a 09 73 74 |ytes in |FCB...st|
|00000be0| 61 09 66 63 62 2b 31 34 | 0d 0a 09 73 74 61 09 66 |a.fcb+14|...sta.f|
|00000bf0| 63 62 2b 33 32 0d 0a 09 | 6d 76 69 09 63 2c 6f 70 |cb+32...|mvi.c,op|
|00000c00| 65 6e 09 09 3b 4f 50 45 | 4e 20 66 69 6c 65 20 63 |en..;OPE|N file c|
|00000c10| 6f 6d 6d 61 6e 64 0d 0a | 09 6c 78 69 09 64 2c 66 |ommand..|.lxi.d,f|
|00000c20| 63 62 09 09 3b 70 6f 69 | 6e 74 20 74 6f 20 46 43 |cb..;poi|nt to FC|
|00000c30| 42 0d 0a 09 63 61 6c 6c | 09 62 64 6f 73 09 09 3b |B...call|.bdos..;|
|00000c40| 6f 70 65 6e 20 74 68 65 | 20 66 69 6c 65 0d 0a 09 |open the| file...|
|00000c50| 6c 78 69 09 64 2c 6e 24 | 73 74 61 72 74 09 3b 70 |lxi.d,n$|start.;p|
|00000c60| 6f 69 6e 74 20 74 6f 20 | 6e 65 77 20 70 72 6f 67 |oint to |new prog|
|00000c70| 72 61 6d 20 73 74 61 72 | 74 0d 0a 3b 0d 0a 09 70 |ram star|t..;...p|
|00000c80| 75 73 68 09 64 0d 0a 77 | 24 6c 6f 6f 70 31 09 70 |ush.d..w|$loop1.p|
|00000c90| 6f 70 09 64 09 09 3b 67 | 65 74 20 44 4d 41 0d 0a |op.d..;g|et DMA..|
|00000ca0| 09 70 75 73 68 09 64 09 | 09 3b 70 75 74 20 69 74 |.push.d.|.;put it|
|00000cb0| 20 62 61 63 6b 20 6f 6e | 20 73 74 61 63 6b 0d 0a | back on| stack..|
|00000cc0| 09 6d 76 69 09 63 2c 73 | 65 74 64 6d 61 09 3b 53 |.mvi.c,s|etdma.;S|
|00000cd0| 45 54 20 44 4d 41 20 63 | 6f 6d 6d 61 6e 64 0d 0a |ET DMA c|ommand..|
|00000ce0| 09 63 61 6c 6c 09 62 64 | 6f 73 09 09 3b 74 65 6c |.call.bd|os..;tel|
|00000cf0| 6c 20 43 50 2f 4d 0d 0a | 09 6c 78 69 09 64 2c 66 |l CP/M..|.lxi.d,f|
|00000d00| 63 62 09 09 3b 70 6f 69 | 6e 74 20 74 6f 20 46 43 |cb..;poi|nt to FC|
|00000d10| 42 0d 0a 09 6d 76 69 09 | 63 2c 77 72 69 74 65 09 |B...mvi.|c,write.|
|00000d20| 09 3b 57 52 49 54 45 20 | 53 45 43 54 4f 52 20 63 |.;WRITE |SECTOR c|
|00000d30| 6f 6d 6d 61 6e 64 0d 0a | 09 63 61 6c 6c 09 62 64 |ommand..|.call.bd|
|00000d40| 6f 73 09 09 3b 64 6f 20 | 69 74 0d 0a 09 70 6f 70 |os..;do |it...pop|
|00000d50| 09 68 09 09 3b 67 65 74 | 20 44 4d 41 20 61 64 64 |.h..;get| DMA add|
|00000d60| 72 65 73 73 20 66 72 6f | 6d 20 73 74 61 63 6b 0d |ress fro|m stack.|
|00000d70| 0a 09 6c 78 69 09 64 2c | 38 30 68 09 09 3b 6c 65 |..lxi.d,|80h..;le|
|00000d80| 6e 67 74 68 20 6f 66 20 | 73 65 63 74 6f 72 0d 0a |ngth of |sector..|
|00000d90| 09 64 61 64 09 64 09 09 | 3b 48 4c 20 68 61 73 20 |.dad.d..|;HL has |
|00000da0| 6e 65 77 20 44 4d 41 0d | 0a 09 70 75 73 68 09 68 |new DMA.|..push.h|
|00000db0| 09 09 3b 70 75 74 20 69 | 74 20 6f 6e 20 73 74 61 |..;put i|t on sta|
|00000dc0| 63 6b 0d 0a 09 6d 6f 76 | 09 61 2c 68 09 09 3b 74 |ck...mov|.a,h..;t|
|00000dd0| 68 69 73 20 69 73 20 74 | 6f 20 67 65 74 20 32 27 |his is t|o get 2'|
|00000de0| 73 20 63 6f 6d 70 6c 65 | 6d 65 6e 74 0d 0a 09 63 |s comple|ment...c|
|00000df0| 6d 61 09 09 09 3b 6f 66 | 20 61 64 64 72 65 73 73 |ma...;of| address|
|00000e00| 2e 20 57 65 20 61 72 65 | 20 73 75 62 74 72 61 63 |. We are| subtrac|
|00000e10| 74 69 6e 67 0d 0a 09 6d | 6f 76 09 64 2c 61 09 09 |ting...m|ov.d,a..|
|00000e20| 3b 74 68 65 20 63 75 72 | 72 65 6e 74 20 61 64 64 |;the cur|rent add|
|00000e30| 72 65 73 73 20 66 72 6f | 6d 20 74 68 65 0d 0a 09 |ress fro|m the...|
|00000e40| 6d 6f 76 09 61 2c 6c 09 | 09 3b 68 69 67 68 20 61 |mov.a,l.|.;high a|
|00000e50| 64 64 72 65 73 73 2e 20 | 49 66 20 74 68 65 20 68 |ddress. |If the h|
|00000e60| 69 67 68 20 62 79 74 65 | 0d 0a 09 63 6d 61 09 09 |igh byte|...cma..|
|00000e70| 09 3b 3c 31 20 2c 20 77 | 65 20 61 72 65 20 64 6f |.;<1 , w|e are do|
|00000e80| 6e 65 0d 0a 09 6d 6f 76 | 09 65 2c 61 09 09 3b 0d |ne...mov|.e,a..;.|
|00000e90| 0a 09 69 6e 78 09 64 09 | 09 3b 4e 6f 77 20 32 27 |..inx.d.|.;Now 2'|
|00000ea0| 73 20 63 6f 6d 70 2e 20 | 6f 66 20 61 64 64 72 65 |s comp. |of addre|
|00000eb0| 73 73 20 69 6e 20 44 45 | 0d 0a 09 6c 68 6c 64 09 |ss in DE|...lhld.|
|00000ec0| 65 6e 64 24 70 72 6f 67 | 2d 6f 66 66 73 65 74 09 |end$prog|-offset.|
|00000ed0| 3b 67 65 74 20 65 6e 64 | 69 6e 67 20 61 64 64 72 |;get end|ing addr|
|00000ee0| 65 73 73 0d 0a 09 64 61 | 64 09 64 09 09 3b 53 75 |ess...da|d.d..;Su|
|00000ef0| 62 74 72 61 63 74 20 28 | 61 64 64 20 32 27 73 20 |btract (|add 2's |
|00000f00| 63 6f 6d 70 29 0d 0a 09 | 6d 6f 76 09 61 2c 68 09 |comp)...|mov.a,h.|
|00000f10| 09 3b 67 65 74 20 68 69 | 67 68 20 62 79 74 65 0d |.;get hi|gh byte.|
|00000f20| 0a 09 69 6e 72 09 61 09 | 09 3b 69 73 20 69 74 20 |..inr.a.|.;is it |
|00000f30| 46 46 20 28 2d 31 29 3f | 09 09 0d 0a 09 61 6e 61 |FF (-1)?|.....ana|
|00000f40| 09 61 09 09 3b 73 65 74 | 20 66 6c 61 67 73 0d 0a |.a..;set| flags..|
|00000f50| 09 6a 6e 7a 09 77 24 6c | 6f 6f 70 31 09 09 3b 69 |.jnz.w$l|oop1..;i|
|00000f60| 66 20 6e 6f 74 2c 20 77 | 72 69 74 65 20 61 6e 6f |f not, w|rite ano|
|00000f70| 74 68 65 72 20 73 65 63 | 74 6f 72 0d 0a 3b 0d 0a |ther sec|tor..;..|
|00000f80| 09 6d 76 69 09 63 2c 63 | 6c 6f 73 65 09 09 3b 54 |.mvi.c,c|lose..;T|
|00000f90| 68 61 74 27 73 20 69 74 | 2e 20 43 6c 6f 73 65 20 |hat's it|. Close |
|00000fa0| 74 68 65 20 66 69 6c 65 | 0d 0a 09 6c 78 69 09 64 |the file|...lxi.d|
|00000fb0| 2c 66 63 62 09 09 3b 70 | 6f 69 6e 74 20 74 6f 20 |,fcb..;p|oint to |
|00000fc0| 46 43 42 0d 0a 09 63 61 | 6c 6c 09 62 64 6f 73 09 |FCB...ca|ll.bdos.|
|00000fd0| 09 3b 64 6f 20 69 74 0d | 0a 09 6a 6d 70 09 66 69 |.;do it.|..jmp.fi|
|00000fe0| 6e 69 73 68 09 09 3b 67 | 6f 74 6f 20 66 69 6e 69 |nish..;g|oto fini|
|00000ff0| 73 68 0d 0a 3b 0d 0a 3b | 0d 0a 6e 24 73 74 61 72 |sh..;..;|..n$star|
|00001000| 74 3a 0d 0a 6f 66 66 73 | 65 74 09 65 71 75 09 31 |t:..offs|et.equ.1|
|00001010| 30 30 68 2d 6e 24 73 74 | 61 72 74 0d 0a 3b 0d 0a |00h-n$st|art..;..|
|00001020| 3b 09 25 25 25 25 25 25 | 25 25 25 25 25 25 25 25 |;.%%%%%%|%%%%%%%%|
|00001030| 25 25 25 25 25 25 25 25 | 25 25 25 25 25 25 25 25 |%%%%%%%%|%%%%%%%%|
|00001040| 25 25 25 25 25 25 25 25 | 25 25 25 25 25 25 25 25 |%%%%%%%%|%%%%%%%%|
|00001050| 25 25 25 25 25 25 25 25 | 0d 0a 3b 09 25 25 20 57 |%%%%%%%%|..;.%% W|
|00001060| 41 52 4e 49 4e 47 20 2d | 20 20 20 20 20 20 20 20 |ARNING -| |
|00001070| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001090| 25 25 0d 0a 3b 09 25 25 | 20 46 72 6f 6d 20 6e 6f |%%..;.%%| From no|
|000010a0| 77 20 6f 6e 2c 20 61 6c | 6c 20 6c 61 62 65 6c 73 |w on, al|l labels|
|000010b0| 20 61 72 65 20 69 6e 20 | 20 20 20 20 20 20 20 20 | are in | |
|000010c0| 20 20 20 20 20 20 20 20 | 20 20 25 25 0d 0a 3b 09 | | %%..;.|
|000010d0| 25 25 20 74 68 65 20 66 | 6f 72 6d 3a 20 20 20 20 |%% the f|orm: |
|000010e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000010f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001100| 20 20 20 20 25 25 0d 0a | 3b 09 25 25 20 20 20 20 | %%..|;.%% |
|00001110| 20 20 4c 41 42 45 4c 20 | 20 20 45 51 55 20 20 24 | LABEL | EQU $|
|00001120| 2b 4f 46 46 53 45 54 20 | 20 20 20 20 20 20 20 20 |+OFFSET | |
|00001130| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 25 25 | | %%|
|00001140| 0d 0a 3b 09 25 25 20 20 | 54 68 69 73 20 69 73 20 |..;.%% |This is |
|00001150| 74 6f 20 61 6c 6c 6f 77 | 20 74 68 65 20 70 72 6f |to allow| the pro|
|00001160| 67 72 61 6d 20 74 6f 20 | 72 75 6e 20 61 74 31 30 |gram to |run at10|
|00001170| 30 48 20 20 20 20 20 20 | 25 25 0d 0a 3b 09 25 25 |0H |%%..;.%%|
|00001180| 20 77 68 65 6e 20 69 74 | 20 69 73 20 73 61 76 65 | when it| is save|
|00001190| 64 20 62 79 20 74 68 65 | 20 65 61 72 6c 69 65 72 |d by the| earlier|
|000011a0| 20 70 6f 72 74 69 6f 6e | 2e 20 20 20 20 20 20 20 | portion|. |
|000011b0| 20 20 25 25 0d 0a 3b 09 | 25 25 20 20 41 4c 4c 20 | %%..;.|%% ALL |
|000011c0| 6e 65 77 20 6c 61 62 65 | 6c 73 20 61 64 64 65 64 |new labe|ls added|
|000011d0| 20 4d 55 53 54 20 62 65 | 20 69 6e 20 74 68 65 20 | MUST be| in the |
|000011e0| 66 6f 72 6d 20 20 20 20 | 20 20 20 20 25 25 0d 0a |form | %%..|
|000011f0| 3b 09 25 25 20 4c 41 42 | 45 4c 20 20 20 45 51 55 |;.%% LAB|EL EQU|
|00001200| 20 20 24 2b 4f 46 46 53 | 45 54 20 66 6f 72 20 74 | $+OFFS|ET for t|
|00001210| 68 69 73 20 70 72 6f 67 | 72 61 6d 20 74 6f 20 77 |his prog|ram to w|
|00001220| 6f 72 6b 20 20 20 25 25 | 0d 0a 3b 09 25 25 20 70 |ork %%|..;.%% p|
|00001230| 72 6f 70 65 72 6c 79 2e | 20 20 20 20 20 20 20 20 |roperly.| |
|00001240| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001250| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001260| 25 25 0d 0a 3b 09 25 25 | 25 25 25 25 25 25 25 25 |%%..;.%%|%%%%%%%%|
|00001270| 25 25 25 25 25 25 25 25 | 25 25 25 25 25 25 25 25 |%%%%%%%%|%%%%%%%%|
|00001280| 25 25 25 25 25 25 25 25 | 25 25 25 25 25 25 25 25 |%%%%%%%%|%%%%%%%%|
|00001290| 25 25 25 25 25 25 25 25 | 25 25 25 25 0d 0a 3b 0d |%%%%%%%%|%%%%..;.|
|000012a0| 0a 3b 54 68 69 73 20 70 | 6f 72 74 69 6f 6e 20 6f |.;This p|ortion o|
|000012b0| 66 20 74 68 65 20 70 72 | 6f 67 72 61 6d 20 69 73 |f the pr|ogram is|
|000012c0| 20 70 6c 61 63 65 64 20 | 61 74 20 74 68 65 20 62 | placed |at the b|
|000012d0| 65 67 69 6e 6e 69 6e 67 | 0d 0a 3b 6f 66 20 74 68 |eginning|..;of th|
|000012e0| 65 20 70 72 6f 67 72 61 | 6d 20 74 6f 20 62 65 20 |e progra|m to be |
|000012f0| 57 48 4c 43 48 4b 65 64 | 2e 20 57 68 65 6e 20 69 |WHLCHKed|. When i|
|00001300| 74 20 69 73 20 65 78 65 | 63 75 74 65 64 2c 20 69 |t is exe|cuted, i|
|00001310| 74 20 77 69 6c 6c 0d 0a | 3b 63 68 65 63 6b 20 74 |t will..|;check t|
|00001320| 68 65 20 57 48 45 45 4c | 20 62 79 74 65 2e 20 20 |he WHEEL| byte. |
|00001330| 49 66 20 73 65 74 2c 20 | 74 68 65 20 70 72 6f 67 |If set, |the prog|
|00001340| 72 61 6d 20 69 73 20 6d | 6f 76 65 64 20 74 6f 20 |ram is m|oved to |
|00001350| 74 68 65 20 0d 0a 3b 54 | 50 41 20 61 6e 64 20 65 |the ..;T|PA and e|
|00001360| 78 65 63 75 74 65 64 2e | 0d 0a 3b 0d 0a 09 6c 78 |xecuted.|..;...lx|
|00001370| 69 09 68 2c 30 09 09 3b | 73 61 76 65 20 73 74 61 |i.h,0..;|save sta|
|00001380| 63 6b 20 70 6f 69 6e 74 | 65 72 0d 0a 09 64 61 64 |ck point|er...dad|
|00001390| 09 73 70 09 09 3b 73 74 | 61 63 6b 20 69 73 20 69 |.sp..;st|ack is i|
|000013a0| 6e 20 48 4c 0d 0a 09 73 | 68 6c 64 09 6f 6c 64 24 |n HL...s|hld.old$|
|000013b0| 73 74 61 63 6b 09 3b 73 | 61 76 65 20 69 74 0d 0a |stack.;s|ave it..|
|000013c0| 09 6c 78 69 09 73 70 2c | 73 74 61 63 6b 09 3b 67 |.lxi.sp,|stack.;g|
|000013d0| 65 74 20 6e 65 77 20 73 | 74 61 63 6b 0d 0a 09 6c |et new s|tack...l|
|000013e0| 64 61 09 77 68 65 65 6c | 09 09 3b 6c 6f 61 64 20 |da.wheel|..;load |
|000013f0| 77 68 65 65 6c 20 62 79 | 74 65 0d 0a 09 63 70 69 |wheel by|te...cpi|
|00001400| 09 73 65 74 66 09 09 3b | 73 65 65 20 69 66 20 69 |.setf..;|see if i|
|00001410| 74 73 20 73 65 74 0d 0a | 09 6a 7a 09 73 74 24 70 |ts set..|.jz.st$p|
|00001420| 72 67 09 09 3b 67 6f 20 | 69 66 20 69 74 20 69 73 |rg..;go |if it is|
|00001430| 0d 0a 09 63 61 6c 6c 09 | 6f 74 24 77 68 6c 09 09 |...call.|ot$whl..|
|00001440| 3b 70 72 69 6e 74 20 61 | 63 63 65 73 73 20 64 65 |;print a|ccess de|
|00001450| 6e 69 65 64 20 20 6d 65 | 73 73 61 67 65 0d 0a 3b |nied me|ssage..;|
|00001460| 0d 0a 09 64 62 09 63 72 | 2c 6c 66 2c 27 50 52 4f |...db.cr|,lf,'PRO|
|00001470| 47 52 41 4d 20 41 43 43 | 45 53 53 20 44 45 4e 49 |GRAM ACC|ESS DENI|
|00001480| 45 44 27 2c 63 72 2c 6c | 66 0d 0a 09 64 62 09 65 |ED',cr,l|f...db.e|
|00001490| 6f 73 0d 0a 3b 0d 0a 6f | 74 24 77 68 6c 09 65 71 |os..;..o|t$whl.eq|
|000014a0| 75 09 24 2b 6f 66 66 73 | 65 74 0d 0a 09 70 6f 70 |u.$+offs|et...pop|
|000014b0| 09 64 09 09 3b 67 65 74 | 20 61 64 64 72 65 73 73 |.d..;get| address|
|000014c0| 20 6f 66 20 6d 65 73 73 | 61 67 65 0d 0a 09 6d 76 | of mess|age...mv|
|000014d0| 69 09 63 2c 6d 65 73 6f | 75 74 09 3b 50 52 49 4e |i.c,meso|ut.;PRIN|
|000014e0| 54 20 53 54 52 49 4e 47 | 20 63 6f 6d 6d 61 6e 64 |T STRING| command|
|000014f0| 0d 0a 09 63 61 6c 6c 09 | 62 64 6f 73 09 09 3b 70 |...call.|bdos..;p|
|00001500| 72 69 6e 74 20 69 74 0d | 0a 09 63 61 6c 6c 09 62 |rint it.|..call.b|
|00001510| 6f 6f 74 09 09 3b 77 61 | 72 6d 20 62 6f 6f 74 0d |oot..;wa|rm boot.|
|00001520| 0a 3b 0d 0a 3b 20 4e 6f | 77 20 61 20 73 65 67 6d |.;..; No|w a segm|
|00001530| 65 6e 74 20 6f 66 20 63 | 6f 64 65 20 69 73 20 6d |ent of c|ode is m|
|00001540| 6f 76 65 64 20 74 6f 20 | 61 20 70 61 72 74 20 6f |oved to |a part o|
|00001550| 66 20 74 68 65 20 64 65 | 66 61 75 6c 74 0d 0a 3b |f the de|fault..;|
|00001560| 20 62 75 66 66 65 72 2e | 20 54 68 69 73 20 73 65 | buffer.| This se|
|00001570| 67 6d 65 6e 74 20 6d 6f | 76 65 73 20 74 68 65 20 |gment mo|ves the |
|00001580| 61 63 74 75 61 6c 20 70 | 72 6f 67 72 61 6d 20 64 |actual p|rogram d|
|00001590| 6f 77 6e 20 74 6f 20 74 | 68 65 0d 0a 3b 20 54 50 |own to t|he..; TP|
|000015a0| 41 0d 0a 3b 0d 0a 73 74 | 24 70 72 67 09 65 71 75 |A..;..st|$prg.equ|
|000015b0| 09 24 2b 6f 66 66 73 65 | 74 09 0d 0a 09 6c 78 69 |.$+offse|t....lxi|
|000015c0| 09 68 2c 6e 24 6d 76 09 | 09 3b 70 6f 69 6e 74 20 |.h,n$mv.|.;point |
|000015d0| 74 6f 20 63 6f 64 65 0d | 0a 09 6c 78 69 09 64 2c |to code.|..lxi.d,|
|000015e0| 64 65 66 62 75 66 2b 32 | 30 68 09 3b 70 6f 69 6e |defbuf+2|0h.;poin|
|000015f0| 74 20 74 6f 20 6e 65 77 | 20 70 6f 73 74 69 6f 6e |t to new| postion|
|00001600| 0d 0a 09 6d 76 69 09 62 | 2c 6e 24 6d 24 6c 65 6e |...mvi.b|,n$m$len|
|00001610| 09 3b 6c 65 6e 67 74 68 | 0d 0a 3b 0d 0a 6d 6f 76 |.;length|..;..mov|
|00001620| 65 09 65 71 75 09 24 2b | 6f 66 66 73 65 74 0d 0a |e.equ.$+|offset..|
|00001630| 09 6d 6f 76 09 61 2c 6d | 09 09 3b 67 65 74 20 62 |.mov.a,m|..;get b|
|00001640| 79 74 65 0d 0a 09 73 74 | 61 78 09 64 09 09 3b 73 |yte...st|ax.d..;s|
|00001650| 61 76 65 20 69 74 0d 0a | 09 69 6e 78 09 64 09 09 |ave it..|.inx.d..|
|00001660| 3b 70 6f 69 6e 74 20 74 | 6f 20 6e 65 78 74 20 61 |;point t|o next a|
|00001670| 64 64 72 65 73 73 65 73 | 0d 0a 09 69 6e 78 09 68 |ddresses|...inx.h|
|00001680| 09 09 3b 20 20 22 20 20 | 20 22 20 20 20 20 22 20 |..; " | " " |
|00001690| 20 20 20 20 20 22 0d 0a | 09 64 63 72 09 62 09 09 | "..|.dcr.b..|
|000016a0| 3b 64 65 63 72 65 6d 65 | 6e 74 20 6c 65 6e 67 74 |;decreme|nt lengt|
|000016b0| 68 0d 0a 09 6a 6e 7a 09 | 6d 6f 76 65 09 09 3b 69 |h...jnz.|move..;i|
|000016c0| 66 20 6e 6f 74 20 64 6f | 6e 65 2c 20 6c 6f 6f 70 |f not do|ne, loop|
|000016d0| 0d 0a 09 6a 6d 70 09 64 | 65 66 62 75 66 2b 32 30 |...jmp.d|efbuf+20|
|000016e0| 68 09 3b 67 6f 20 74 6f | 20 73 65 67 6d 65 6e 74 |h.;go to| segment|
|000016f0| 0d 0a 3b 0d 0a 6e 24 6d | 76 09 65 71 75 09 24 2b |..;..n$m|v.equ.$+|
|00001700| 6f 66 66 73 65 74 09 3b | 73 65 67 6d 65 6e 74 20 |offset.;|segment |
|00001710| 74 68 61 74 20 67 65 74 | 73 20 6d 6f 76 65 64 0d |that get|s moved.|
|00001720| 0a 09 6c 68 6c 64 09 6f | 6c 64 24 73 74 61 63 6b |..lhld.o|ld$stack|
|00001730| 09 3b 67 65 74 20 73 74 | 61 63 6b 20 70 6f 69 6e |.;get st|ack poin|
|00001740| 74 65 72 0d 0a 09 70 75 | 73 68 09 68 09 09 3b 73 |ter...pu|sh.h..;s|
|00001750| 61 76 65 20 69 74 20 6f | 6e 20 73 74 61 63 6b 0d |ave it o|n stack.|
|00001760| 0a 09 6c 78 69 09 68 2c | 62 75 66 66 65 72 09 3b |..lxi.h,|buffer.;|
|00001770| 67 65 74 20 73 74 61 72 | 74 20 6f 66 20 61 63 74 |get star|t of act|
|00001780| 75 61 6c 20 70 72 6f 67 | 72 61 6d 0d 0a 09 6d 6f |ual prog|ram...mo|
|00001790| 76 09 61 2c 68 09 09 3b | 57 65 20 68 61 76 65 20 |v.a,h..;|We have |
|000017a0| 74 6f 20 63 6f 6d 70 75 | 74 65 20 74 68 65 20 6c |to compu|te the l|
|000017b0| 65 6e 67 74 68 0d 0a 09 | 63 6d 61 09 09 09 3b 61 |ength...|cma...;a|
|000017c0| 6e 64 20 62 65 63 61 75 | 73 65 20 58 2d 59 20 65 |nd becau|se X-Y e|
|000017d0| 71 75 61 6c 73 0d 0a 09 | 6d 6f 76 09 64 2c 61 09 |quals...|mov.d,a.|
|000017e0| 09 3b 58 20 2b 20 54 77 | 6f 27 73 20 63 6f 6d 70 |.;X + Tw|o's comp|
|000017f0| 6c 65 6e 74 28 59 29 2c | 20 77 65 20 68 61 76 65 |lent(Y),| we have|
|00001800| 0d 0a 09 6d 6f 76 09 61 | 2c 6c 09 09 3b 74 6f 20 |...mov.a|,l..;to |
|00001810| 66 69 6e 64 20 74 68 65 | 20 32 27 73 20 63 6f 6d |find the| 2's com|
|00001820| 70 2e 20 6f 66 20 74 68 | 65 0d 0a 09 63 6d 61 09 |p. of th|e...cma.|
|00001830| 09 09 3b 66 69 72 73 74 | 20 61 64 64 72 65 73 73 |..;first| address|
|00001840| 0d 0a 09 6d 6f 76 09 65 | 2c 61 09 09 3b 0d 0a 09 |...mov.e|,a..;...|
|00001850| 69 6e 78 09 64 09 09 3b | 59 20 69 73 20 69 6e 20 |inx.d..;|Y is in |
|00001860| 44 45 0d 0a 09 6c 68 6c | 64 09 65 6e 64 24 70 72 |DE...lhl|d.end$pr|
|00001870| 6f 67 09 3b 67 65 74 20 | 6c 61 73 74 20 61 64 64 |og.;get |last add|
|00001880| 72 65 73 73 0d 0a 09 64 | 61 64 09 64 09 09 3b 73 |ress...d|ad.d..;s|
|00001890| 75 62 74 72 61 63 74 20 | 28 61 64 64 20 32 27 73 |ubtract |(add 2's|
|000018a0| 20 63 6f 6d 70 29 0d 0a | 09 6d 6f 76 09 62 2c 68 | comp)..|.mov.b,h|
|000018b0| 09 09 3b 70 75 74 20 6c | 65 6e 67 74 68 20 69 6e |..;put l|ength in|
|000018c0| 20 42 43 0d 0a 09 6d 6f | 76 09 63 2c 6c 09 09 3b | BC...mo|v.c,l..;|
|000018d0| 20 22 20 20 20 20 22 20 | 20 20 20 20 22 20 20 22 | " " | " "|
|000018e0| 0d 0a 09 6c 78 69 09 64 | 2c 74 70 61 09 09 3b 70 |...lxi.d|,tpa..;p|
|000018f0| 6f 69 6e 74 20 74 6f 20 | 54 50 41 0d 0a 09 6c 78 |oint to |TPA...lx|
|00001900| 69 09 68 2c 62 75 66 66 | 65 72 09 3b 70 6f 69 6e |i.h,buff|er.;poin|
|00001910| 74 20 74 6f 20 66 69 72 | 73 74 20 61 64 64 72 65 |t to fir|st addre|
|00001920| 73 73 0d 0a 6e 24 6d 24 | 6c 70 09 65 71 75 09 64 |ss..n$m$|lp.equ.d|
|00001930| 65 66 62 75 66 2b 32 30 | 68 2b 24 2b 6f 66 66 73 |efbuf+20|h+$+offs|
|00001940| 65 74 2d 6e 24 6d 76 0d | 0a 09 6d 6f 76 09 61 2c |et-n$mv.|..mov.a,|
|00001950| 6d 09 09 3b 67 65 74 20 | 62 79 74 65 0d 0a 09 73 |m..;get |byte...s|
|00001960| 74 61 78 09 64 09 09 3b | 73 61 76 65 20 62 79 74 |tax.d..;|save byt|
|00001970| 65 0d 0a 09 69 6e 78 09 | 68 09 09 3b 69 6e 63 72 |e...inx.|h..;incr|
|00001980| 65 6d 65 6e 74 20 61 64 | 64 72 65 73 73 0d 0a 09 |ement ad|dress...|
|00001990| 69 6e 78 09 64 09 09 3b | 20 20 20 20 22 20 20 20 |inx.d..;| " |
|000019a0| 20 20 20 20 20 22 0d 0a | 09 64 63 78 09 62 09 09 | "..|.dcx.b..|
|000019b0| 3b 64 65 63 72 65 6d 65 | 6e 74 20 6c 65 6e 67 74 |;decreme|nt lengt|
|000019c0| 68 0d 0a 09 6d 6f 76 09 | 61 2c 62 09 09 3b 63 68 |h...mov.|a,b..;ch|
|000019d0| 65 63 6b 20 66 6f 72 20 | 7a 65 72 6f 20 6c 65 66 |eck for |zero lef|
|000019e0| 74 0d 0a 09 6f 72 61 09 | 63 09 09 3b 41 72 65 20 |t...ora.|c..;Are |
|000019f0| 77 65 20 64 6f 6e 65 3f | 0d 0a 09 6a 6e 7a 09 6e |we done?|...jnz.n|
|00001a00| 24 6d 24 6c 70 09 09 3b | 69 66 20 6e 6f 74 2c 20 |$m$lp..;|if not, |
|00001a10| 6c 6f 6f 70 20 73 6f 6d | 65 20 6d 6f 72 65 0d 0a |loop som|e more..|
|00001a20| 09 70 6f 70 09 68 09 09 | 3b 67 65 74 20 73 74 61 |.pop.h..|;get sta|
|00001a30| 63 6b 20 66 72 6f 6d 20 | 73 74 61 63 6b 0d 0a 09 |ck from |stack...|
|00001a40| 73 70 68 6c 09 09 09 3b | 70 75 74 20 73 74 61 63 |sphl...;|put stac|
|00001a50| 6b 20 69 6e 20 53 50 0d | 0a 09 6a 6d 70 09 74 70 |k in SP.|..jmp.tp|
|00001a60| 61 09 09 3b 72 75 6e 20 | 70 72 6f 67 72 61 6d 0d |a..;run |program.|
|00001a70| 0a 3b 0d 0a 6e 24 6d 24 | 6c 65 6e 09 65 71 75 09 |.;..n$m$|len.equ.|
|00001a80| 24 2b 6f 66 66 73 65 74 | 2d 6e 24 6d 76 09 3b 6c |$+offset|-n$mv.;l|
|00001a90| 65 6e 67 74 68 20 6f 66 | 20 73 65 67 6d 65 6e 74 |ength of| segment|
|00001aa0| 0d 0a 3b 0d 0a 3b 0d 0a | 6e 65 77 62 75 66 09 65 |..;..;..|newbuf.e|
|00001ab0| 71 75 09 24 2b 6f 66 66 | 73 65 74 09 3b 55 73 65 |qu.$+off|set.;Use|
|00001ac0| 72 73 20 69 6e 70 75 74 | 20 62 75 66 66 65 72 0d |rs input| buffer.|
|00001ad0| 0a 09 64 62 09 31 30 48 | 2c 30 2c 27 20 20 20 20 |..db.10H|,0,' |
|00001ae0| 20 20 20 20 20 20 20 20 | 20 20 20 20 27 0d 0a 3b | | '..;|
|00001af0| 0d 0a 6f 6c 64 24 73 74 | 61 63 6b 09 65 71 75 09 |..old$st|ack.equ.|
|00001b00| 24 2b 6f 66 66 73 65 74 | 20 3b 70 6c 61 63 65 20 |$+offset| ;place |
|00001b10| 66 6f 72 20 73 74 61 63 | 6b 0d 0a 09 64 73 09 32 |for stac|k...ds.2|
|00001b20| 0d 0a 3b 0d 0a 65 6e 64 | 24 70 72 6f 67 09 65 71 |..;..end|$prog.eq|
|00001b30| 75 09 24 2b 6f 66 66 73 | 65 74 20 3b 70 6c 61 63 |u.$+offs|et ;plac|
|00001b40| 65 20 66 6f 72 20 61 64 | 64 72 65 73 73 0d 0a 09 |e for ad|dress...|
|00001b50| 64 73 09 32 0d 0a 3b 0d | 0a 62 75 66 66 65 72 09 |ds.2..;.|.buffer.|
|00001b60| 65 71 75 09 24 2b 6f 66 | 66 73 65 74 09 3b 77 68 |equ.$+of|fset.;wh|
|00001b70| 65 72 65 20 61 63 74 75 | 61 6c 20 70 72 6f 67 72 |ere actu|al progr|
|00001b80| 61 6d 20 67 6f 65 73 0d | 0a 09 65 6e 64 0d 0a 1a |am goes.|..end...|
|00001b90| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00001ba0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00001bb0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00001bc0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00001bd0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00001be0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00001bf0| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00001c00| 21 00 00 39 22 7e 02 31 | 00 01 3a 65 00 fe 20 ca |!..9"~.1|..:e.. .|
|00001c10| 57 01 fe 43 c2 27 01 3a | 66 00 fe 4f c2 27 01 3a |W..C.'.:|f..O.'.:|
|00001c20| 67 00 fe 4d ca 66 01 cd | 4c 01 0d 0a 4d 75 73 74 |g..M.f..|L...Must|
|00001c30| 20 62 65 20 61 20 63 6f | 6d 6d 61 6e 64 20 28 2e | be a co|mmand (.|
|00001c40| 43 4f 4d 29 20 66 69 6c | 65 0d 0a 24 d1 0e 09 cd |COM) fil|e..$....|
|00001c50| 05 00 2a 7e 02 f9 c9 3e | 43 32 65 00 3e 4f 32 66 |..*~...>|C2e.>O2f|
|00001c60| 00 3e 4d 32 67 00 3e 00 | 32 7c 00 0e 0f 11 5c 00 |.>M2g.>.|2|....\.|
|00001c70| cd 05 00 3c c2 8f 01 cd | 4c 01 0d 0a 43 61 6e 6e |...<....|L...Cann|
|00001c80| 6f 74 20 6f 70 65 6e 20 | 66 69 6c 65 0d 0a 24 11 |ot open |file..$.|
|00001c90| 82 02 0e 1a d5 cd 05 00 | 11 5c 00 0e 14 cd 05 00 |........|.\......|
|00001ca0| d1 a7 c2 ad 01 21 80 00 | 19 eb c3 92 01 eb 22 80 |.....!..|......".|
|00001cb0| 02 af 32 68 00 32 6a 00 | 32 7c 00 0e 0f 11 5c 00 |..2h.2j.|2|....\.|
|00001cc0| cd 05 00 11 f8 01 d5 d1 | d5 0e 1a cd 05 00 11 5c |........|.......\|
|00001cd0| 00 0e 15 cd 05 00 e1 11 | 80 00 19 e5 7c 2f 57 7d |........|....|/W}|
|00001ce0| 2f 5f 13 2a 80 02 19 7c | 3c a7 c2 c7 01 0e 10 11 |/_.*...||<.......|
|00001cf0| 5c 00 cd 05 00 c3 52 01 | 21 00 00 39 22 86 01 31 |\.....R.|!..9"..1|
|00001d00| 00 01 3a 4b 00 fe ff ca | 38 01 cd 2f 01 0d 0a 50 |..:K....|8../...P|
|00001d10| 52 4f 47 52 41 4d 20 41 | 43 43 45 53 53 20 44 45 |ROGRAM A|CCESS DE|
|00001d20| 4e 49 45 44 0d 0a 24 d1 | 0e 09 cd 05 00 cd 00 00 |NIED..$.|........|
|00001d30| 21 4b 01 11 a0 00 06 29 | 7e 12 13 23 05 c2 40 01 |!K.....)|~..#..@.|
|00001d40| c3 a0 00 2a 86 01 e5 21 | 8a 01 7c 2f 57 7d 2f 5f |...*...!|..|/W}/_|
|00001d50| 13 2a 88 01 19 44 4d 11 | 00 01 21 8a 01 7e 12 23 |.*...DM.|..!..~.#|
|00001d60| 13 0b 78 b1 c2 ba 00 e1 | f9 c3 00 01 10 00 20 20 |..x.....|...... |
|00001d70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 00 00 | | ..|
|00001d80| 57 48 4c 43 48 4b 20 56 | 65 72 20 31 2e 31 20 20 |WHLCHK V|er 1.1 |
|00001d90| 31 30 2f 32 37 2f 38 34 | 0d 0a 0d 0a 09 25 25 25 |10/27/84|.....%%%|
|00001da0| 25 25 25 25 25 25 25 25 | 0d 0a 63 6f 72 72 65 63 |%%%%%%%%|..correc|
|00001db0| 74 65 64 20 73 70 65 6c | 6c 69 6e 67 20 6f 6e 20 |ted spel|ling on |
|00001dc0| 6f 75 74 70 75 74 20 6d | 65 73 73 61 67 65 2e 2e |output m|essage..|
|00001dd0| 2e 2e 6e 6c 62 0d 0a 09 | 25 25 25 25 25 25 25 25 |..nlb...|%%%%%%%%|
|00001de0| 25 25 25 0d 0a 0d 0a 46 | 6f 72 20 5a 43 50 52 20 |%%%....F|or ZCPR |
|00001df0| 75 73 65 72 73 2c 20 68 | 65 72 65 20 69 73 20 20 |users, h|ere is |
|00001e00| 57 48 4c 43 48 4b 2e 43 | 4f 4d 2e 20 20 54 68 69 |WHLCHK.C|OM. Thi|
|00001e10| 73 20 70 72 6f 67 72 61 | 6d 20 0d 0a 77 69 6c 6c |s progra|m ..will|
|00001e20| 20 6d 6f 64 69 66 79 20 | 61 6e 79 20 2e 43 4f 4d | modify |any .COM|
|00001e30| 20 70 72 6f 67 72 61 6d | 20 73 6f 20 74 68 61 74 | program| so that|
|00001e40| 20 69 74 20 66 69 72 73 | 74 20 63 68 65 63 6b 73 | it firs|t checks|
|00001e50| 20 66 6f 72 0d 0a 74 68 | 65 20 5a 43 50 52 33 20 | for..th|e ZCPR3 |
|00001e60| 77 68 65 65 6c 20 62 79 | 74 65 2c 20 61 6e 64 20 |wheel by|te, and |
|00001e70| 69 66 20 6e 6f 74 20 73 | 65 74 2c 20 77 69 6c 6c |if not s|et, will|
|00001e80| 20 74 65 72 6d 69 6e 61 | 74 65 20 77 69 74 68 20 | termina|te with |
|00001e90| 0d 0a 74 68 65 20 6d 65 | 73 73 61 67 65 20 50 52 |..the me|ssage PR|
|00001ea0| 4f 47 52 41 4d 20 41 43 | 43 45 53 53 20 44 45 4e |OGRAM AC|CESS DEN|
|00001eb0| 49 45 44 2e 2e 2e 2e 0d | 0a 0d 0a 09 53 79 6e 74 |IED.....|....Synt|
|00001ec0| 61 78 3a 20 57 48 4c 43 | 48 4b 20 66 69 6c 65 6e |ax: WHLC|HK filen|
|00001ed0| 6d 5b 2e 43 4f 4d 5d 0d | 0a 0d 0a 59 6f 75 20 6e |m[.COM].|...You n|
|00001ee0| 65 65 64 20 6f 6e 6c 79 | 20 72 75 6e 20 57 48 4c |eed only| run WHL|
|00001ef0| 43 48 4b 20 6f 6e 65 20 | 74 69 6d 65 2c 20 69 74 |CHK one |time, it|
|00001f00| 20 72 65 61 64 73 20 69 | 6e 20 74 68 65 20 6e 61 | reads i|n the na|
|00001f10| 6d 65 64 0d 0a 43 4f 4d | 20 70 72 6f 67 72 61 6d |med..COM| program|
|00001f20| 2c 20 6d 6f 64 69 66 69 | 65 73 20 69 74 20 74 6f |, modifi|es it to|
|00001f30| 20 63 68 65 63 6b 20 66 | 6f 72 20 74 68 65 20 77 | check f|or the w|
|00001f40| 68 65 65 6c 20 62 79 74 | 65 2c 20 61 6e 64 20 73 |heel byt|e, and s|
|00001f50| 61 76 65 73 0d 0a 69 74 | 20 62 61 63 6b 20 74 6f |aves..it| back to|
|00001f60| 20 64 69 73 6b 2e 20 20 | 0d 0a 0d 0a 59 6f 75 20 | disk. |....You |
|00001f70| 73 68 6f 75 6c 64 20 66 | 69 72 73 74 20 73 61 76 |should f|irst sav|
|00001f80| 65 20 79 6f 75 72 20 6f | 72 69 67 69 6e 61 6c 20 |e your o|riginal |
|00001f90| 70 72 6f 67 72 61 6d 2e | 2e 2e 2e 74 68 65 72 65 |program.|...there|
|00001fa0| 20 69 73 20 6e 6f 0d 0a | 55 4e 57 48 4c 43 48 4b | is no..|UNWHLCHK|
|00001fb0| 2e 43 4f 4d 2c 20 69 6e | 20 63 61 73 65 20 79 6f |.COM, in| case yo|
|00001fc0| 75 20 65 76 65 72 20 63 | 68 61 6e 67 65 20 79 6f |u ever c|hange yo|
|00001fd0| 75 72 20 6d 69 6e 64 21 | 21 21 21 20 0d 0a 0d 0a |ur mind!|!!! ....|
|00001fe0| 5a 63 70 72 32 20 75 73 | 65 72 73 20 73 68 6f 75 |Zcpr2 us|ers shou|
|00001ff0| 6c 64 20 63 68 61 6e 67 | 65 20 74 68 65 20 77 68 |ld chang|e the wh|
|00002000| 65 65 6c 20 62 79 74 65 | 20 6c 6f 63 61 74 69 6f |eel byte| locatio|
|00002010| 6e 2e 2e 2e 2e 0d 0a 0d | 0a 09 09 09 09 09 4e 6f |n.......|......No|
|00002020| 72 6d 61 6e 20 42 65 65 | 6c 65 72 0d 0a 20 09 1a |rman Bee|ler.. ..|
|00002030| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002040| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002050| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002060| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
|00002070| 1a 1a 1a 1a 1a 1a 1a 1a | 1a 1a 1a 1a 1a 1a 1a 1a |........|........|
+--------+-------------------------+-------------------------+--------+--------+