title ED80INST - FSE editor installer name ('ED80INST') ; DASMed HiSoft editor installer ED80INST.COM - DASMed by W.Cirsovius .z80 aseg org 0100h l0be4 equ 0be4h l0104 equ 0104h l0000 equ 00h l0001 equ 01h l0002 equ 02h l0003 equ 03h l0004 equ 04h l0005 equ 05h l0006 equ 06h l0007 equ 07h l0008 equ 08h l000a equ 0ah l000b equ 0bh l000c equ 0ch l000d equ 0dh l000e equ 0eh l000f equ 0fh l0010 equ 10h l0011 equ 11h l0019 equ 19h l001a equ 1ah l001b equ 1bh l001e equ 1eh l0020 equ 20h l0021 equ 21h l0022 equ 22h l0023 equ 23h l0024 equ 24h l0025 equ 25h l0028 equ 28h l002a equ 2ah l002b equ 2bh l002c equ 2ch l002e equ 2eh l002f equ 2fh l0030 equ 30h l0031 equ 31h l0032 equ 32h l0033 equ 33h l0034 equ 34h l0035 equ 35h l0036 equ 36h l0037 equ 37h l0040 equ 40h l0041 equ 41h l0042 equ 42h l0043 equ 43h l0044 equ 44h l0045 equ 45h l004a equ 4ah l004f equ 4fh l0050 equ 50h l0052 equ 52h l0054 equ 54h l0058 equ 58h l0059 equ 59h l005c equ 5ch l005e equ 5eh l0060 equ 60h l0061 equ 61h l0066 equ 66h l006d equ 6dh l007f equ 7fh l0080 equ 80h l0081 equ 81h l0089 equ 89h l00a1 equ 0a1h l00a3 equ 0a3h l00a4 equ 0a4h l00ad equ 0adh l00fe equ 0feh l00ff equ 0ffh l53c1 equ 53c1h l6afd equ 6afdh l76fd equ 76fdh l774f equ 774fh l78c9 equ 78c9h l80cb equ 80cbh l81d4 equ 81d4h l81d6 equ 81d6h l81d8 equ 81d8h l827c equ 827ch l827d equ 827dh l8507 equ 8507h l8515 equ 8515h l8523 equ 8523h l8525 equ 8525h l8527 equ 8527h l8529 equ 8529h l852b equ 852bh l852f equ 852fh l9c21 equ 9c21h lac40 equ 0ac40h lafcd equ 0afcdh lb0ed equ 0b0edh lb4c3 equ 0b4c3h lc621 equ 0c621h lebcd equ 0ebcdh led21 equ 0ed21h lf221 equ 0f221h lff5c equ 0ff5ch lff7b equ 0ff7bh lff7c equ 0ff7ch lff7e equ 0ff7eh lffcd equ 0ffcdh lffd5 equ 0ffd5h lffdf equ 0ffdfh lffe0 equ 0ffe0h lffeb equ 0ffebh lffee equ 0ffeeh lffef equ 0ffefh lfff0 equ 0fff0h lfff2 equ 0fff2h lfff3 equ 0fff3h lfff4 equ 0fff4h lfff6 equ 0fff6h lfff8 equ 0fff8h lfff9 equ 0fff9h lfffa equ 0fffah lfffb equ 0fffbh lfffc equ 0fffch lfffd equ 0fffdh lfffe equ 0fffeh lffff equ 0ffffh l0100: jp l0ba7 l0103: jp l0303 l0106: db 0ffh,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0 l0115: db 0,0 l0117: db 0,0 l0119: db 0,0 l011b: db 0,0 l011d: db 0,0 l011f: db 0,0 l0121: db 0,0,0,0 l0125: db 0,0,0,0,0,0,0,0,0,0,0,0,0 l0132: db 0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0 l0143: db 'L',1,'M',1,1,0,0ffh,'P',0,0dh db 1ah,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0 l019c: db 0a3h,1,0,0,0ffh,1,0ffh,0 l01a4: jp l01ea l01a7: jp l054f l01aa: jp l0898 ; ; Install USERF vector ; l01ad: ld hl,(l0001) ld de,l0058 add hl,de ld e,(hl) inc hl ld d,(hl) ld (l01a4),de ret ld c,6 push de ld e,0ffh call l01cb pop de or a ret z scf ret l01c9: ld c,1 l01cb: push de push hl push ix push iy call l0005 pop iy pop ix pop hl pop de ret l01db: push de ld de,l0080 jr l01e2 l01e1: push de l01e2: push bc ld c,1ah call l01cb pop bc pop de l01ea: ret l01eb: ld a,0dh call l01aa ld a,0ah call l01aa ret push af push de ld e,a push bc ld c,2 call l01cb pop bc l0200: pop de pop af ret l0203: ld hl,(l022e) ld de,(l022c) ld bc,(l022a) ld a,(l0229) ld iy,(l0230) ret l0216: ld (l022e),hl ld (l022c),de ld (l022a),bc ld (l0229),a ld (l0230),iy ret l0229: nop l022a: nop nop l022c: nop nop l022e: nop nop l0230: nop nop l0232: pop hl jp (hl) l0234: cp '0' ccf ret nc cp ':' ret l023b: push hl push bc ld b,5 bit 7,h jr z,l024b ex de,hl ld hl,l0000 or a sbc hl,de inc b l024b: ld iy,l02ad l024f: ld e,(iy+0) ld d,(iy+1) or a sbc hl,de jr nc,l0262 add hl,de inc iy inc iy djnz l024f inc b l0262: ld c,b ld b,0 pop hl or a sbc hl,bc jr c,l0271 ld b,l inc b dec b call nz,l02bc l0271: pop hl l0272: bit 7,h jr z,l0282 ld a,'-' call l01aa or a ex de,hl ld hl,l0000 sbc hl,de l0282: ld iy,l02ad ld bc,256*5+'0' ;;l0530 l0289: ld a,'0' ld e,(iy+0) ld d,(iy+1) l0291: or a sbc hl,de jr c,l0299 inc a jr l0291 l0299: add hl,de cp c jr z,l02a1 call l01aa dec c l02a1: inc iy inc iy djnz l0289 cp c ret nz call l01aa ret l02ad: dw 10000 dw 1000 dw 100 dw 10 dw 1 l02b7: sub l ret nc neg ld b,a l02bc: ld a,' ' l02be: call l01aa djnz l02be ret l02c4: ld a,(hl) inc hl call l01aa djnz l02c4 ret or a jr nz,l02d4 ld hl,l02e0 jr l02d7 l02d4: ld hl,l02e6 l02d7: ld a,(hl) or a ret z call l01aa inc hl jr l02d7 l02e0: db 'FALSE',0 l02e6: db 'TRUE',0 ; ; Not enough memory ; l02eb: ld de,l0440 jr l0300 pop bc l02f1: ld de,l049f jr l0300 pop bc pop bc l02f8: ld de,l048e jr l0300 l02fd: ld de,l0437 l0300: jp l0103 l0303: ld hl,l019c ld (l0125),hl ex de,hl call l02d7 ld hl,l042f jr l033c l0312: ld de,l044b jr l0300 ld de,l0455 jr l0300 ld de,l0463 jr l0300 ld de,l0472 jr l0300 ld c,0bh call l01cb rrca ret nc call l01c9 cp 3 ret nz l0333: ld hl,l019c ld (l0125),hl ld hl,l0429 l033c: call l02d7 pop de call l0aa3 ld (l03b1),de call l01c9 and 0dfh cp 'E' jr z,l0379 l0350: ld a,(l0106) inc a jr z,l0372 ld de,l0081 ld bc,l0008 ld hl,l03e5 ldir ld a,8 ld (l0080),a ld hl,l08c5 ld (l0115),hl ld hl,l03d6 jp l0749 l0372: call l03f1 rst 0 l0376: ld (hl),a inc hl ret l0379: ld hl,l0376 ld (l01aa+1),hl ld a,(l0106) inc a jr nz,l0388 ld (l0106),a l0388: ld de,l0081 ld bc,l000c ld hl,l03e5 ldir push de ld de,l005c ld c,9 ld hl,l03e4 ld a,(l03e6) cp ':' jr nz,l03a9 inc hl ld a,(hl) sub '@' inc hl ld (hl),a l03a9: ldir ld a,' ' ld (l006d),a l03b1 equ $+1 ld de,$-$ pop hl call l0aa3 ld a,10h ld (l0080),a ld hl,l07d1 ld (l0115),hl ld hl,l03c8 jp l0749 l03c8: db ' HP .COM' l03d6: db ' HPE .COM' l03e4: db 0 l03e5: db 'B' l03e6: db 'INST ;G' l03f1: call l01db ld hl,(l0100+1) l03f7: ld a,(hl) cp 0c3h jr nz,l0403 inc hl ld e,(hl) inc hl ld d,(hl) ex de,hl jr l03f7 l0403: ld de,l000e add hl,de l0407: inc hl ld a,(hl) cp '!' jr nz,l0419 ld de,l0007 add hl,de ld e,(hl) inc hl ld d,(hl) call l0948 jr l0407 l0419: cp '2' ret nz inc hl ld e,(hl) inc hl ld d,(hl) call l0902 ld de,l0006 add hl,de jr l0407 l0429: db 0dh,0ah,'Halt' l042f: db ' at PC=',0 l0437: db 'Overflow',0 l0440: db 'Out of RAM',0 l044b: db '/ by Zero',0 l0455: db 'Index too Low',0 l0463: db 'Index too High',0 l0472: db 'Maths Call Error',0 l0483: db 'File Error',0 l048e: db 'Number too large',0 l049f: db 'Number expected',0 l04af: db 0ddh ld d,h db 0ddh ld e,l l04b3: ex de,hl ld e,(hl) inc hl ld d,(hl) djnz l04b3 ret l04ba: xor a sbc hl,de add hl,de jr nc,l04c1 ex de,hl l04c1: or e ld e,d jp nz,l04cc ex de,hl ret l04c8: ex de,hl add hl,de ex de,hl l04cb: add hl,hl l04cc: rra jr nc,l04cb or a jr nz,l04c8 add hl,de ret l04d4: jp l02fd ld a,d xor h ld b,a call l0509 ex de,hl call l0509 xor a sbc hl,de add hl,de jr nc,l04e8 ex de,hl l04e8: or d jr nz,l04d4 or e ld e,d jp nz,l04f8 ex de,hl ret l04f2: ex de,hl add hl,de ex de,hl l04f5: add hl,hl jr c,l04d4 l04f8: rra jr nc,l04f5 or a jr nz,l04f2 adc hl,de jr c,l04d4 jp m,l04d4 or b ret p jr l050c l0509: ld a,h or a ret p l050c: xor a sub l ld l,a ld a,0 sbc a,h ld h,a ret l0514: ld a,h or l jp z,l0312 ld a,h push de xor d push af xor a or h call p,l050c ld b,h ld c,l ld hl,l0000 ex de,hl call l0509 or l jp z,l0544 ld a,11h l0531: add hl,hl dec a jr nc,l0531 ex de,hl l0536: adc hl,hl add hl,bc jr c,l053d sbc hl,bc l053d: rl e rl d dec a jr nz,l0536 l0544: pop af ex de,hl call m,l050c ex de,hl pop af or a ret p jr l050c l054f: call l09d1 l0552: push hl push de push bc push af ld hl,(l0125) call l0580 pop af pop bc pop de pop hl ret l0561: push hl ld de,l0483 jp l0300 push hl ld hl,(l0125) ld e,(hl) inc hl ld d,(hl) push de ex de,hl dec hl dec hl ld b,(hl) dec hl ld c,(hl) pop hl pop de ldir ld hl,(l0125) jp l0621 l0580: ld e,(hl) inc hl ld d,(hl) inc hl inc hl inc hl ld a,(hl) dec a jr nz,l0561 dec hl dec hl dec hl inc de ld a,(de) ld (hl),d dec hl ld (hl),e cp 0ah l0594: jr z,l0580 cp 1ah ret nz push hl inc hl inc hl ld c,(hl) inc hl ld b,(hl) inc hl inc hl ex de,hl sbc hl,bc ex de,hl pop de jp nz,l072c inc hl ld a,(hl) inc a jp nz,l06e1 inc hl ex de,hl ld c,0ah call l01cb ex de,hl inc hl ld c,(hl) inc hl ld b,0 ld a,(hl) cp 3 jp z,l0000 cp 1ah jr nz,l05ce push hl ld de,lfffc add hl,de ld (hl),1 pop hl l05ce: push hl add hl,bc ld (hl),0dh inc hl ld (hl),1ah ld e,0dh ld c,2 call l01cb ld e,0ah ld c,2 call l01cb ex de,hl pop bc ld hl,lfffa add hl,bc ld (hl),d dec hl ld (hl),e dec hl ld (hl),b dec hl ld (hl),c ret push de call l07cb pop hl call l072f ret z inc hl inc hl ex de,hl ld bc,l0028 add hl,bc ex de,hl call l01e1 ex de,hl ld c,14h call l01cb or a jp nz,l0561 ld d,h ld e,l ld bc,l0080 add hl,bc ex de,hl push de ld c,4 ldir ex de,hl ld (hl),4 pop hl jr l062e l0621: ld de,l0004 add hl,de ld a,(hl) dec a jp nz,l0561 ld de,l00a4 add hl,de l062e: ld c,(hl) inc hl ld b,(hl) ld a,c or b jr z,l0678 dec bc ld (hl),b dec hl ld (hl),c inc hl inc hl ld c,(hl) inc hl ld b,(hl) inc hl ld a,(hl) push hl ld e,a ld d,0 ex de,hl add hl,de ld de,lff7c add hl,de pop de inc de push de l064d: cp 80h jr nz,l066e pop hl push hl push de push bc ld de,lff7b add hl,de ex de,hl call l01e1 ld hl,lffdf add hl,de ex de,hl ld c,14h call l01cb inc a jp z,l0561 pop bc pop de xor a l066e: inc a ldi jp pe,l064d l0674: pop hl dec hl ld (hl),a ret l0678: ld de,lff5c add hl,de ld (hl),1 ret ld de,l0004 add hl,de ld a,(hl) inc a jp nz,l0561 ld de,l00a4 add hl,de inc (hl) inc hl jr nz,l0691 inc (hl) l0691: inc hl ld c,(hl) inc hl ld b,(hl) inc hl ld a,(hl) push hl ld e,a ld d,0 ex de,hl add hl,de ld de,lff7c add hl,de pop de inc de push de ex de,hl l06a5: cp 80h jr nz,l06ba ex (sp),hl push hl push bc ld de,lff7b call l06c9 ex de,hl pop bc or a jp nz,l06c2 pop hl ex (sp),hl l06ba: inc a ldi jp pe,l06a5 jr l0674 l06c2: pop de pop de dec hl dec hl ld (hl),0 ret l06c9: add hl,de ex de,hl call l01e1 ld hl,lffdf add hl,de ex de,hl ld c,15h jp l01cb l06d8: push de call l07e3 pop hl call l072f ret z l06e1: ld hl,l0028 add hl,de ex de,hl ld (hl),e inc hl ld (hl),d push de inc hl ld c,(hl) inc hl ld b,(hl) inc hl inc hl push hl push bc inc hl inc hl l06f4: call l01e1 ex de,hl ld c,14h call l01cb or a jr nz,l070e ld bc,l0080 add hl,bc pop bc sbc hl,bc jr z,l0714 add hl,bc push bc ex de,hl jr l06f4 l070e: ld (hl),1ah ld (l07a1),hl pop bc l0714: pop de pop hl l0716: ld a,(hl) cp 0ah inc hl l071a: jr z,l0716 dec hl push de dec de dec de dec de dec de ex de,hl ld (hl),d dec hl ld (hl),e ex de,hl pop de cp 1ah ret nz ex de,hl l072c: ld (hl),1 ret l072f: push hl ld de,l0004 add hl,de ld (hl),1 inc hl inc hl inc hl ex de,hl ld c,0fh call l01cb ex de,hl dec hl dec hl inc a pop de jr z,l072c ld (hl),0 ret l0749: push hl call l03f1 pop hl ld de,l07a3 call l06d8 ld hl,(l0115) ld a,h or l jr z,l0765 ex de,hl ld hl,l0106 ld a,(hl) ld bc,l000f ldir l0765: call l01db ld hl,lb0ed ld (l00fe),hl ld hl,(l07a1) ld de,l07cb or a sbc hl,de jr z,l0782 ld b,h ld c,l ex de,hl ld de,l0100 jp l00fe l0782: ld hl,l0789 call l02d7 rst 0 l0789: db 0dh,0ah,'Can''t find chain file' db 0 l07a1: db 0cbh,7 l07a3: db 0cbh,7,0ffh,0ffh,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0 db 0 l07cb: call l01db push hl ld h,d ld l,e l07d1: ld bc,l00ad add hl,bc ex de,hl ld (hl),e inc hl ld (hl),d inc hl inc hl inc hl ex de,hl pop hl call l0902 jr l07fa l07e3: call l01db ex de,hl inc hl inc hl ld c,(hl) inc hl ld b,(hl) inc bc ld a,b or c dec bc ld a,1ah jr z,l07f5 ld (bc),a l07f5: ex de,hl inc de call l0948 l07fa: inc de inc de call l0830 cp ' ' jr z,l0824 sub '@' l0805: ld (de),a inc de ld (de),a inc de inc hl inc hl ld b,8 call l0827 inc hl ld b,3 call l0827 xor a ld (de),a inc de ld (de),a inc de ld (de),a inc de ld (de),a ld hl,l0011 l0821: add hl,de ld (hl),a ret l0824: xor a jr l0805 l0827: call l0830 ld (de),a inc de inc hl djnz l0827 ret l0830: ld a,(hl) cp 61h ret c cp 7bh ret nc sub ' ' ret push de call l07cb pop hl ld de,l0004 add hl,de call l087f ld bc,l0023 add hl,bc ld d,h ld e,l ld bc,l0080 add hl,bc ld (hl),0 inc hl ld (hl),0 dec hl ld a,4 ld c,a ldir ld (hl),a ret l085d: push de call l07e3 pop de ld hl,l0028 add hl,de ex de,hl ld (hl),e inc hl ld (hl),d inc hl ld c,(hl) inc hl ld b,(hl) inc hl push hl ld h,b ld l,c sbc hl,de ld b,h ld c,l dec bc ld h,d ld l,e ld (hl),0 inc de ldir pop hl l087f: ld (hl),0ffh inc hl push hl inc hl inc hl ex de,hl ld c,13h call l01cb ld c,16h call l01cb pop hl inc a ld (hl),1 ret nz ld (hl),0 ret l0898: push hl push de push bc push af ld hl,(l0125) ld e,(hl) inc hl ld d,(hl) ld (de),a dec hl call l08b3 pop af pop bc pop de pop hl ret l08ac: ld a,(de) ld e,a ld c,2 jp l01cb l08b3: ld e,(hl) inc hl ld d,(hl) inc hl inc hl inc hl ld a,(hl) inc a jp nz,l0561 inc hl inc hl ld a,(hl) ld bc,lfffb add hl,bc l08c5: inc a jr z,l08ac inc de ld a,(de) ld (hl),d dec hl ld (hl),e cp 1ah ret nz ex de,hl ld hl,l0028 add hl,de ex de,hl ld (hl),e inc hl ld (hl),d inc hl ld c,(hl) inc hl ld b,(hl) l08dd: push bc inc hl inc hl inc hl inc hl l08e2: call l01e1 ex de,hl ld c,15h call l01cb ld bc,l0080 add hl,bc pop bc or a jr nz,l08fb sbc hl,bc ret nc add hl,bc ex de,hl push bc jr l08e2 l08fb: ld h,d ld l,e dec hl dec hl ld (hl),0 ret l0902: ld a,(de) or a ret p push de push hl ld hl,l0024 call l06c9 push de ld hl,l00a1 add hl,de ld c,(hl) inc hl ld b,(hl) inc hl ld a,(hl) ld de,lff7e add hl,de ld (hl),0 inc hl ld (hl),0 inc hl ld (hl),0 inc hl pop de push af push bc ex de,hl call l01e1 ex de,hl ld c,'!' call l01cb pop bc ld (hl),c inc hl ld (hl),b ld c,'"' call l01cb ld c,10h call l01cb ld hl,l00a3 add hl,de pop af ld (hl),a pop hl pop de ret l0948: ld a,(de) or a ret p push de push hl dec de dec de dec de dec de ld hl,l0028 add hl,de ex de,hl ld c,(hl) inc hl ld b,(hl) ld a,1ah ld (bc),a inc bc inc hl inc hl call l08dd ld c,10h call l01cb pop hl pop de ret l096a: call l01a7 cp 0dh jr nz,l096a ret ld e,(hl) inc hl ld d,(hl) ld a,(de) cp 0dh ld a,0 ret nz inc a ret l097d: call l01a7 cp ' ' jr z,l097d cp 0dh ret nz jr l097d call l097d cp '-' jr z,l09c7 cp '+' l0992: call z,l01a7 call l0234 jp nc,l02f1 ld hl,l0000 ld b,4 cp '4' jr nc,l09a5 inc b l09a5: sub '0' ld e,a ld d,0 add hl,de call l09d1 call l0234 jr nc,l09c1 call l0552 dec b jr z,l09c4 add hl,hl push hl add hl,hl add hl,hl pop de add hl,de jr l09a5 l09c1: bit 7,h ret z l09c4: jp l02f8 l09c7: call l0992 ld e,0 ex de,hl or a sbc hl,de ret l09d1: push hl push de ld hl,(l0125) ld e,(hl) inc hl ld d,(hl) ld a,(de) pop de pop hl ret l09dd: call l09d1 cp 0dh jr z,l09ec ld (hl),a inc hl call l0552 djnz l09dd ret l09ec: xor a l09ed: ld (hl),a inc hl djnz l09ed ret l09f2: ld hl,l0002 add hl,sp ld c,a xor a srl c rra srl c rra srl c rla rla rla ld b,a inc b xor a scf l0a07: adc a,a djnz l0a07 add hl,bc ret l0a0c: inc a ld b,a l0a0e: ld a,(hl) or d ld (hl),a rlc d jr nc,l0a16 inc hl l0a16: djnz l0a0e ret l0a19: pop hl ld (l0117),hl ld b,0 ld l,b ld h,b or a sbc hl,bc add hl,sp ld d,h ld e,l dec hl ld sp,hl ld (hl),0 ldir ld hl,(l0117) jp (hl) pop hl ld (l0117),hl ld hl,l0000 add hl,sp ld d,h ld e,l add hl,bc ld b,c l0a3d: ld a,(de) ld (bc),a nop ld (hl),a inc hl inc de djnz l0a3d ex de,hl ld sp,hl ld hl,(l0117) jp (hl) pop hl ld (l0117),hl ld hl,l0000 add hl,sp ld d,h ld e,l add hl,bc ld b,c l0a57: call l0000 inc hl inc de djnz l0a57 ld a,1 l0a60: ld sp,hl ld hl,(l0117) jp (hl) ld a,(de) cp (hl) l0a67: ret z l0a68: inc hl djnz l0a68 xor a jr l0a60 ld a,(de) cpl and (hl) jr l0a67 ex de,hl ld a,(de) cpl and (hl) ex de,hl jr l0a67 or a sbc hl,de ld a,80h jp pe,l0a8d l0a82: and h rlca ret or a sbc hl,de ld a,80h jp pe,l0a82 l0a8d: and h rlca xor 1 ret l0a92: dec l ld a,e jr z,l0ab1 dec l jr z,l0aa8 dec l jr z,l0aa3 dec l jr z,l0aa3 ld b,l call l02bc l0aa3: ld a,d call l0aa8 ld a,e l0aa8: ld c,a rrca rrca rrca rrca call l0ab1 ld a,c l0ab1: and 0fh add a,90h daa adc a,'@' daa call l01aa ret ld (l011d),de push hl ld hl,l0121 ld (l011b),hl ld hl,(l0121) l0acb: push hl call l0b14 ld hl,(l011d) or a sbc hl,bc add hl,bc jr z,l0b08 jr c,l0ae1 pop hl ld (l011b),hl ex de,hl jr l0acb l0ae1: ld a,b and c inc a jr z,l0af1 push hl xor a sbc hl,bc sub l ld c,a ld a,0 sbc a,h ld b,a pop hl l0af1: ld (l011d),bc pop bc push bc add hl,bc call l0b2f push hl ld (hl),e inc hl ld (hl),d inc hl ld bc,(l011d) ld (hl),c inc hl ld (hl),b pop de l0b08: ld hl,(l011b) ld (hl),e inc hl ld (hl),d pop de pop hl ld (hl),e inc hl ld (hl),d ret l0b14: ld e,(hl) inc hl ld d,(hl) inc hl ld c,(hl) inc hl ld b,(hl) ret ; ; ; l0b1c: push hl ld (l0121),hl ; Save pointer ld a,0ffh ld (hl),a inc hl ld (hl),a inc hl ld (hl),a inc hl ld (hl),a pop de l0b2a: push hl push de ex de,hl jr l0b3c l0b2f: push hl push de ld de,(l011f) or a sbc hl,de add hl,de jr nc,l0b3c ex de,hl l0b3c: ld (l011f),hl ex de,hl ld hl,lffcd sbc hl,de ld (l0119),hl add hl,sp jp nc,l02eb ; Not enough memory pop de pop hl ret push de ld c,(hl) inc hl ld b,(hl) ld hl,l0121 l0b56: ld e,(hl) inc hl ld d,(hl) ex de,hl or a sbc hl,bc add hl,bc jr c,l0b56 dec de push bc ex (sp),hl pop bc ld (hl),c inc hl ld (hl),b inc hl pop bc ld (hl),c inc hl ld (hl),b dec hl dec hl dec hl ex de,hl ld (hl),e inc hl ld (hl),d dec hl call l0b78 ex de,hl l0b78: push hl call l0b14 pop hl push hl add hl,bc sbc hl,de pop hl ret nz push bc push hl ex de,hl call l0b14 pop hl push bc ld (hl),e inc hl ld (hl),d inc hl ex de,hl pop hl pop bc ld a,h and l inc a jr z,l0b98 add hl,bc l0b98: ex de,hl ld (hl),e inc hl ld (hl),d dec hl dec hl dec hl ex de,hl ld a,h and l inc a jp nz,l0b2a ret l0ba7: jp l0bb8 l0baa: db ' ED80 .COM' ; ; Enter installer ; l0bb8: ld sp,(l0006) ; Get top of memory for stack ld hl,l53c1 add hl,sp call nc,l02eb ; Not enough memory call l01ad ; Install USERF vector xor a ld hl,l827c ld (l81d6),hl ld (l81d8),a nop ld hl,lac40 jp l475e ; jp l0bda l0bda: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l019c ld (l0125),hl jp l0c12 l0bf8: db 'A fatal error has occurred' l0c12: ld hl,l0bf8 ld b,1ah call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l0c4b l0c26: db ' - an input file is probably ' db 'illegal' l0c4b: ld hl,l0c26 ld b,'%' call l02c4 call l01eb ld hl,l0000 ex de,hl call l0232 ld bc,l000b add hl,bc ld (hl),e inc hl ld (hl),d call l0203 call l0000 call l0216 pop ix pop de pop hl ex de,hl jp (hl) jp l0c76 l0c76: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld a,(ix+2) ld (l0132),a ld c,1fh call l0a19 ld a,61h ld e,a call l09f2 ld d,a push hl push de ld a,7ah pop de pop hl sub e jr c,l0ca9 call l0a0c l0ca9: ld a,(l0132) call l09f2 and (hl) neg ld a,0 rla ld hl,l0020 add hl,sp ld sp,hl or a jp z,l0ccc ld a,(ix+2) ld l,a ld h,0 ld de,lffe0 add hl,de ld a,l ld (ix+2),a l0ccc: ld a,(ix+2) ld (ix+3),a pop ix pop de inc sp pop hl ex de,hl jp (hl) jp l0cdc l0cdc: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld l,(ix+6) ld h,(ix+7) ld de,l0028 add hl,de push hl ld l,(ix+4) ld h,(ix+5) ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld l,(ix+6) ld h,(ix+7) ld de,l002a add hl,de push hl ld hl,l0000 ld a,l pop hl ld (hl),a ld hl,l001a push hl ld l,(ix+2) ld h,(ix+3) ex de,hl pop bc push ix call l0005 pop ix ld (ix-6),l ld (ix-5),h ld hl,l0021 push hl ld l,(ix+6) ld h,(ix+7) ld de,l0007 add hl,de ex de,hl pop bc push ix call l0005 pop ix ld (ix+8),l ld (ix+9),h pop hl pop ix pop de ld hl,l0008 add hl,sp ld sp,hl ex de,hl jp (hl) jp l0d5c l0d5c: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld l,(ix+6) ld h,(ix+7) ld de,l0028 add hl,de push hl ld l,(ix+4) ld h,(ix+5) ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld l,(ix+6) ld h,(ix+7) ld de,l002a add hl,de push hl ld hl,l0000 ld a,l pop hl ld (hl),a ld hl,l001a push hl ld l,(ix+2) ld h,(ix+3) ex de,hl pop bc push ix call l0005 pop ix ld (ix-6),l ld (ix-5),h ld hl,l0022 push hl ld l,(ix+6) ld h,(ix+7) ld de,l0007 add hl,de ex de,hl pop bc push ix call l0005 pop ix ld (ix+8),l ld (ix+9),h pop hl pop ix pop de ld hl,l0008 add hl,sp ld sp,hl ex de,hl jp (hl) jp l0ddc l0ddc: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld l,(ix+2) ld h,(ix+3) inc hl inc hl inc hl inc hl push hl ld hl,l0001 ld a,l pop hl ld (hl),a ld hl,l0010 push hl ld l,(ix+2) ld h,(ix+3) ld de,l0007 add hl,de ex de,hl pop bc push ix call l0005 pop ix ld (ix-6),l ld (ix-5),h pop hl pop ix pop de pop hl pop hl ex de,hl jp (hl) jp l0e2a l0e2a: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld a,(ix+2) ld l,a ld h,0 push hl ld a,'0' ld l,a ld h,0 pop de ex de,hl or a sbc hl,de ld (ix+3),l ld (ix+4),h pop ix pop de inc sp pop hl ex de,hl jp (hl) jp l0e60 l0e60: push ix ld ix,l0004 add ix,sp ld hl,lffff add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory l0e75: ld hl,l0006 push hl ld hl,l0001 call l050c ex de,hl pop bc push ix call l0005 pop ix ld a,l ld (ix-5),a ld a,(ix-5) push af ld hl,l0000 ld a,l pop bc sub b jr z,l0e9a ld a,1 l0e9a: or a jp z,l0e75 ld a,(ix-5) ld (ix+2),a inc sp pop ix pop de pop hl ex de,hl jp (hl) jp l0eae l0eae: push ix ld ix,l0004 add ix,sp ld hl,lffff add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl call l01eb pop hl ld (l0125),hl jp l0edf l0ed7: db ' (Y/N) ?' l0edf: ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld hl,l0ed7 push hl ld hl,l0020 ld a,8 ld c,a call l02b7 pop hl ld b,c call l02c4 pop hl ld (l0125),hl l0eff: dec sp dec sp ld b,1 call l04af push de call l0e60 dec sp pop af push af inc sp ld b,1 call l04af push de call l0c76 dec sp pop af ld (ix-5),a ld a,(ix-5) ld (l0132),a ld c,1fh call l0a19 ld a,'N' call l09f2 or (hl) ld (hl),a ld a,'Y' call l09f2 or (hl) ld (hl),a ld a,(l0132) call l09f2 and (hl) neg ld a,0 rla ld hl,l0020 add hl,sp ld sp,hl or a jp z,l0eff ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld a,(ix-5) call l01aa call l01eb pop hl ld (l0125),hl ld a,(ix-5) push af ld a,'Y' pop bc sub b ld a,1 jr z,l0f6e xor a l0f6e: ld (ix+2),a inc sp pop ix pop de pop hl ex de,hl jp (hl) jp l0f7b l0f7b: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory jp l0f95 l0f93: db ' (' l0f95: ld hl,l019c ld (l0125),hl ld hl,l0f93 ld b,2 call l02c4 ld a,(ix+2) or a jp z,l0fb8 ld hl,l019c ld (l0125),hl ld a,'Y' call l01aa jp l0fc3 l0fb8: ld hl,l019c ld (l0125),hl ld a,'N' call l01aa l0fc3: jp l0fc8 l0fc6: db ') ' l0fc8: ld hl,l019c ld (l0125),hl ld hl,l0fc6 ;; jr nz,l0fea ;; ld bc,l2522 ;; ld bc,lc621 ld b,2 call l02c4 pop ix pop de inc sp pop hl ex de,hl jp (hl) jp l0fe0 l0fe0:: push ix ld ix,l0004 add ix,sp ld hl,lffff add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld l,(ix+2) ld h,(ix+3) ld a,(hl) push af inc sp ld b,1 call l04af push de call l0f7b ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl call l01eb pop hl ld (l0125),hl jp l102a l101b: db ' (Y/N/ENTER) ? ' l102a: ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld hl,l101b push hl ld hl,l0020 ld a,0fh ld c,a call l02b7 pop hl ld b,c call l02c4 pop hl ld (l0125),hl l104a: dec sp dec sp ld b,1 call l04af push de call l0e60 dec sp pop af push af inc sp ld b,1 call l04af push de call l0c76 dec sp pop af ld (ix-5),a ld a,(ix-5) ld (l0132),a ld c,1fh call l0a19 ld a,'N' call l09f2 or (hl) ld (hl),a ld a,'Y' call l09f2 or (hl) ld (hl),a ld hl,l000d ld a,l call l09f2 or (hl) ld (hl),a ld a,(l0132) call l09f2 and (hl) neg ld a,0 rla ld hl,l0020 add hl,sp ld sp,hl or a jp z,l104a ld a,(ix-5) push af ld hl,l000d ld a,l pop bc sub b jr z,l10ac ld a,1 l10ac: or a jp z,l10da ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld a,(ix-5) call l01aa pop hl ld (l0125),hl ld l,(ix+2) ld h,(ix+3) push hl ld a,(ix-5) push af ld a,'Y' pop bc sub b ld a,1 jr z,l10d8 xor a l10d8: pop hl ld (hl),a l10da: ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl call l01eb pop hl ld (l0125),hl ld l,(ix+2) ld h,(ix+3) ld a,(hl) ld (ix+4),a inc sp pop ix pop de pop hl pop hl ex de,hl jp (hl) jp l1111 jp l1111 l1103: db ' ' l1106: db ' . ' ;; jr nz,l1125 ;; jr nz,l1127 ;; jr nz,l1129 ;; jr nz,l112b ;; jr nz,l112d ;; ld l,' ' ;; jr nz,l1131 l1111:: push ix ld ix,l0004 add ix,sp ld hl,lffef add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,(l0125) l1129: push hl ld hl,l019c l112d: ld (l0125),hl jp l1141 l1133: db '[ESC] to abort' l1141: ld hl,l1133 ld b,0eh call l02c4 call l01eb pop hl ld (l0125),hl ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl jp l116e db 'Omit file type (.' l116e: db '!]' ld de,l1106 call l02c4 push ix pop de ld hl,l0002 add hl,de ld b,3 call l02c4 jp l118e l1185: db ' assumed)' l118e: ld hl,l1185 ld b,9 call l02c4 call l01eb pop hl ld (l0125),hl jp l11af l11a0: db 'Enter Filename ' l11af: ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld hl,l11a0 ld b,0fh call l02c4 pop hl ld (l0125),hl push ix pop de ld hl,lffeb add hl,de push hl ld hl,l1103 ld bc,l000e pop de ldir ld hl,l0001 ld (ix-6),l ld (ix-5),h jp l11ef l11e2: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l11ef: ld de,l0003 ex de,hl or a sbc hl,de jp m,l1226 push ix pop de ld hl,lffeb add hl,de push hl ld l,(ix-6) ld h,(ix-5) ld de,l000b add hl,de dec hl pop de add hl,de push hl push ix pop de ld hl,l0002 add hl,de push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de ld a,(hl) pop hl ld (hl),a jp l11e2 l1226: ld hl,l0003 ld (ix-6),l ld (ix-5),h l122f: dec sp ld b,1 call l04af push de call l0e60 dec sp pop af ld (ix-7),a ld a,(ix-7) push af ld a,':' pop bc sub b ld a,1 jr z,l124b xor a l124b: push af ld l,(ix-6) ld h,(ix-5) push hl ld hl,l0004 pop de xor a sbc hl,de jr nz,l125d inc a l125d: pop bc and b or a jp z,l128c push ix pop de ld hl,lffeb add hl,de push hl ld hl,l0001 dec hl pop de add hl,de push hl push ix pop de ld hl,lffeb add hl,de push hl ld hl,l0003 dec hl pop de add hl,de ld a,(hl) pop hl ld (hl),a ld hl,l0002 ld (ix-6),l ld (ix-5),h l128c: ld a,(ix-7) push af ld hl,l000d ld a,l pop bc sub b ld a,1 jr z,l129b xor a l129b: or a jp z,l12a2 jp l13f0 l12a2: ld a,(ix-7) ld (l0132),a ld c,1fh call l0a19 ld hl,l0008 ld a,l call l09f2 or (hl) ld (hl),a ld hl,l007f ld a,l call l09f2 or (hl) ld (hl),a ld a,(l0132) call l09f2 and (hl) neg ld a,0 rla ld hl,l0020 add hl,sp ld sp,hl push af ld a,(ix-7) push af ld hl,l001b ld a,l pop bc sub b jr z,l12df ld a,1 l12df: pop bc and b or a jp z,l138d ld l,(ix-6) ld h,(ix-5) push hl ld hl,l0003 pop de or a sbc hl,de ld a,80h and h rlca or a jp z,l138a ld l,(ix-6) ld h,(ix-5) dec hl ld (ix-6),l ld (ix-5),h ld a,(ix-7) push af ld hl,l0008 ld a,l pop bc sub b ld a,1 jr z,l1317 xor a l1317: push af ld a,(ix-7) push af ld hl,l007f ld a,l pop bc sub b ld a,1 jr z,l1327 xor a l1327: pop bc or b or a jp z,l1351 ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld hl,l0008 ld a,l call l01aa ld a,' ' call l01aa ld hl,l0008 ld a,l call l01aa pop hl ld (l0125),hl jp l1374 l1351: ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl push ix pop de ld hl,lffeb add hl,de push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de ld a,(hl) call l01aa pop hl ld (l0125),hl l1374: push ix pop de ld hl,lffeb add hl,de push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de push hl ld a,' ' pop hl ld (hl),a l138a: jp l13f0 l138d: ld l,(ix-6) ld h,(ix-5) push hl ld hl,l000b ex de,hl pop hl or a sbc hl,de ld a,80h and h rlca or a jp z,l13f0 dec sp ld a,(ix-7) push af inc sp ld b,1 call l04af push de call l0c76 dec sp pop af ld (ix-7),a push ix pop de ld hl,lffeb add hl,de push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de push hl ld a,(ix-7) pop hl ld (hl),a ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld a,(ix-7) call l01aa pop hl ld (l0125),hl ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l13f0: ld a,(ix-7) push af ld hl,l000d ld a,l pop bc sub b ld a,1 jr z,l13ff xor a l13ff: push af ld a,(ix-7) push af ld hl,l001b ld a,l pop bc sub b ld a,1 jr z,l140f xor a l140f: pop bc or b or a jp z,l122f ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl call l01eb pop hl ld (l0125),hl ld l,(ix+5) ld h,(ix+6) push hl push ix pop de ld hl,lffeb add hl,de ld bc,l000e pop de ldir ld a,(ix-7) push af ld hl,l001b ld a,l pop bc sub b jr z,l1448 ld a,1 l1448: ld (ix+7),a ld hl,l0011 add hl,sp ld sp,hl pop ix pop de ld hl,l0007 add hl,sp ld sp,hl ex de,hl jp (hl) jp l145d l145d: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l81d4 push hl push ix pop de ld hl,l0002 add hl,de pop de call l06d8 xor a ld (ix+16),a ld hl,l81d4 ld de,l0005 add hl,de ld a,(hl) push af ld hl,(l81d4) ld a,(hl) push af ld hl,l001a ld a,l pop bc sub b jr z,l149d ld a,1 l149d: pop bc and b or a jp z,l14db ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl push ix pop de ld hl,l0002 add hl,de ld b,0eh call l02c4 jp l14c7 l14bc:: db ' not found ' l14c7:: ld hl,l14bc ;; jr nz,l152c ;; jr nz,l1528 ;; jr nz,l14e9 ld b,0bh call l02c4 call l01eb pop hl ld (l0125),hl ld a,1 ld (ix+16),a l14db:: pop ix pop de ld hl,l0010 add hl,sp ld sp,hl ex de,hl jp (hl) jp l14e8 l14e8: push ix ld ix,l0004 add ix,sp ld hl,lffff add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory l14fd: dec sp ld b,1 call l04af push de call l0e60 dec sp pop af ld (ix-5),a ld a,(ix-5) ld (l0132),a ld c,1fh call l0a19 ld a,'0' ld e,a call l09f2 ld d,a push hl push de ld a,'9' pop de pop hl sub e jr c,l152a call l0a0c l152a: ld hl,l000d ld a,l call l09f2 or (hl) ld (hl),a ld a,(l0132) call l09f2 and (hl) neg ld a,0 rla ld hl,l0020 add hl,sp ld sp,hl or a jp z,l14fd ld a,(ix-5) push af ld hl,l000d ld a,l pop bc sub b jr z,l1556 ld a,1 l1556: or a jp z,l158a ld l,(ix+2) ld h,(ix+3) push hl push hl ld a,(ix-5) push af inc sp ld b,1 call l04af push de call l0e2a pop hl ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld a,(ix-5) call l01aa pop hl ld (l0125),hl l158a: ld a,(ix-5) push af ld hl,l000d ld a,l pop bc sub b jr z,l1598 ld a,1 l1598: ld (ix+4),a inc sp pop ix pop de pop hl pop hl ex de,hl jp (hl) jp l15a6 l15a6: push ix ld ix,l0004 add ix,sp ld hl,lfffb add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory jp l15c0 l15be: db ' (' ;; jr nz,l15e8 l15c0: ld hl,l019c ld (l0125),hl ld hl,l15be ld b,2 call l02c4 ld l,(ix+2) ld h,(ix+3) ld a,(hl) ld l,a ld h,0 push hl ld hl,l0000 ld b,h ld c,l pop hl call l023b jp l15e9 l15e5: db ') ? ' ;; jr nz,l1627 ;; jr nz,l160b l15e9:: ld hl,l15e5 ld b,4 call l02c4 dec sp push ix pop de ld hl,lfff8 add hl,de push hl ld b,1 call l04af push de call l14e8 dec sp pop af or a jp z,l1657 ld hl,l0000 ld (ix-6),l ld (ix-5),h l1612: ld l,(ix-6) ld h,(ix-5) add hl,hl ld d,h ld e,l add hl,hl add hl,hl add hl,de push hl ld l,(ix-8) ld h,(ix-7) pop de add hl,de l1627: ld (ix-6),l ld (ix-5),h dec sp push ix pop de ld hl,lfff8 add hl,de push hl ld b,1 call l04af push de call l14e8 dec sp pop af xor 1 or a jp z,l1612 ld l,(ix+2) ld h,(ix+3) push hl ld l,(ix-6) ld h,(ix-5) ld a,l pop hl ld (hl),a l1657: ld hl,l019c ld (l0125),hl call l01eb inc sp pop hl pop hl pop ix pop de pop hl pop hl ex de,hl jp (hl) jp l166d l166d: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l0001 ld (ix-6),l ld (ix-5),h jp l169b l168e: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l169b: ld de,l000c ex de,hl or a sbc hl,de jp m,l171a ld hl,l6afd push hl ld l,(ix+4) ld h,(ix+5) add hl,hl add hl,hl ld d,h ld e,l add hl,hl add hl,de pop de add hl,de push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de ld a,(hl) push af ld hl,l0000 ld a,l pop bc sub b jr z,l16cd ld a,1 l16cd: or a jp z,l1717 ld hl,l019c ld (l0125),hl ld l,(ix+6) ld h,(ix+7) ld (l0125),hl ld hl,l6afd push hl ld l,(ix+4) ld h,(ix+5) add hl,hl add hl,hl ld d,h ld e,l add hl,hl add hl,de pop de add hl,de push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de ld a,(hl) call l01aa ld l,(ix+2) ld h,(ix+3) push hl ld l,(ix+2) ld h,(ix+3) ld e,(hl) inc hl ld d,(hl) ex de,hl inc hl ex de,hl pop hl ld (hl),e inc hl ld (hl),d l1717: jp l168e l171a: ld hl,l019c ld (l0125),hl ld l,(ix+6) ld h,(ix+7) ld (l0125),hl ld a,' ' call l01aa ld l,(ix+2) ld h,(ix+3) push hl ld l,(ix+2) ld h,(ix+3) ld e,(hl) inc hl ld d,(hl) ex de,hl inc hl ex de,hl pop hl ld (hl),e inc hl ld (hl),d pop hl pop ix pop de ld hl,l0008 add hl,sp ld sp,hl ex de,hl jp (hl) jp l1753 l1753: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld l,(ix+4) ld h,(ix+5) ld (l1774),hl jp l1776 l1774: db '9!' ;; ld hl,l0121 l1776:: ld hl,1 push hl ld (ix-6),l ld (ix-5),h ld hl,(l1774) ld a,(hl) ld l,a ld h,0 ex (sp),hl jp l1798 l178b: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l1798: pop de push de ex de,hl or a sbc hl,de jp m,l17ce ld l,(ix+6) ld h,(ix+7) push hl ld hl,(l1774) inc hl push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de ld a,(hl) ld l,a ld h,0 push hl ld l,(ix+2) ld h,(ix+3) push hl ld b,1 call l04af push de call l166d jp l178b l17ce: pop de pop hl pop ix pop de ld hl,l0008 add hl,sp ld sp,hl ex de,hl jp (hl) jp l17dd l17dd: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld a,(ix+2) push af ld hl,l001b ld a,l pop bc sub b ld a,1 jr z,l1801 xor a l1801: or a jp z,l181e jp l180d l1808: db '[ESC]' l180d: ld hl,l019c ld (l0125),hl ld hl,l1808 ld b,5 call l02c4 jp l1882 l181e: ld a,(ix+2) push af ld hl,l007f ld a,l pop bc sub b ld a,1 jr z,l182d xor a l182d: or a jp z,l184a jp l1839 l1834: db '[DEL]' l1839: ld hl,l019c ld (l0125),hl ld hl,l1834 ld b,5 call l02c4 jp l1882 l184a: ld a,(ix+2) push af ld a,' ' ld b,a pop af sub b ld a,0 rla or a jp z,l1876 ld hl,l019c ld (l0125),hl ld a,5eh call l01aa ld a,(ix+2) ld l,a ld h,0 ld de,l0040 add hl,de ld a,l call l01aa jp l1882 l1876: ld hl,l019c ld (l0125),hl ld a,(ix+2) call l01aa l1882: ld hl,l019c ld (l0125),hl ld a,' ' call l01aa pop ix pop de inc sp pop hl ex de,hl jp (hl) jp l1897 l1897: push ix ld ix,l0004 add ix,sp ld hl,lfffc add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l019c ld (l0125),hl call l01eb ld l,(ix+3) ld h,(ix+4) ld a,(hl) push af ld hl,l0004 ld a,l pop bc sub b ld a,0 rla or a jp z,l1905 jp l18ea l18cd: db 'WARNING -INPUT FILE MISFORMED' l18ea: ld hl,l019c ld (l0125),hl ld hl,l18cd ld b,1dh call l02c4 ld l,(ix+3) ld h,(ix+4) push hl ld hl,l0000 ld a,l pop hl ld (hl),a l1905: jp l190b l1908: db ' ( ' l190b:: ;; jr nz,l1932 ;; jr nz,l192d ;; ld bc,l2522 ;; ld bc,l0821 ld hl,l019c ld (l0125),hl ld hl,l1908 ld b,3 call l02c4 ld hl,l0000 ld (ix-8),l ld (ix-7),h ld a,(ix+2) or a jp z,l1948 ld hl,l019c push hl l192d: ld l,(ix+3) ld h,(ix+4) push hl push ix pop de ld hl,lfff8 add hl,de push hl ld b,1 call l04af push de call l1753 jp l199f l1948: ld l,(ix+3) ld h,(ix+4) ld (l1954),hl jp l1956 l1954: nop rla l1956: ld hl,l0001 push hl ld (ix-6),l ld (ix-5),h ld hl,(l1954) ld a,(hl) ld l,a ld h,0 ex (sp),hl jp l1978 l196b: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l1978: pop de push de ex de,hl or a sbc hl,de jp m,l199e ld hl,(l1954) inc hl push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de ld a,(hl) push af inc sp ld b,1 call l04af push de call l17dd jp l196b l199e: pop de l199f: jp l19a7 l19a2: add hl,hl jr nz,l19c5 jr z,l19c7 l19a7: ld hl,l019c ld (l0125),hl ld hl,l19a2 ld b,5 call l02c4 ld hl,l0001 push hl ld (ix-6),l ld (ix-5),h ld l,(ix+3) ld h,(ix+4) l19c5: ld a,(hl) ld l,a l19c7: ld h,0 ex (sp),hl jp l19da l19cd: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l19da: pop de push de ex de,hl or a sbc hl,de jp m,l1a09 ld hl,l019c ld (l0125),hl ld l,(ix+3) ld h,(ix+4) inc hl push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de ld a,(hl) ld l,a ld h,0 call l0272 ld a,' ' call l01aa jp l19cd l1a09: pop de jp l1a10 l1a0d: add hl,hl jr nz,l1a3d l1a10: ld hl,l019c ld (l0125),hl ld hl,l1a0d ld b,3 call l02c4 pop hl pop hl pop ix pop de inc sp pop hl pop hl ex de,hl jp (hl) jp l1a2b l1a2b: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de l1a3d: call nc,l02eb ; Not enough memory dec sp ld b,1 call l04af push de call l0e60 dec sp pop af ld (ix-5),a ld a,(ix-5) ld (l0132),a ld c,1fh call l0a19 ld a,'0' ld e,a call l09f2 ld d,a push hl push de ld a,'9' pop de pop hl sub e jr c,l1a6d call l0a0c l1a6d: ld a,(l0132) call l09f2 and (hl) neg ld a,0 rla ld hl,l0020 add hl,sp ld sp,hl or a jp z,l1b20 ld hl,l0000 ld a,l ld (ix-6),a l1a89: ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld a,(ix-5) call l01aa pop hl ld (l0125),hl ld a,(ix-6) ld l,a ld h,0 add hl,hl ld d,h ld e,l add hl,hl add hl,hl add hl,de push hl push hl ld a,(ix-5) push af inc sp ld b,1 call l04af push de call l0e2a pop hl pop de add hl,de ld a,l ld (ix-6),a dec sp ld b,1 call l04af push de call l0e60 dec sp pop af ld (ix-5),a ld a,(ix-5) ld (l0132),a ld c,1fh call l0a19 ld a,'0' ld e,a call l09f2 ld d,a push hl push de ld a,'9' pop de pop hl sub e jr c,l1aed call l0a0c l1aed: ld a,(l0132) call l09f2 and (hl) neg ld a,0 rla ld hl,l0020 add hl,sp ld sp,hl xor 1 or a jp z,l1a89 ld a,(ix-6) ld (ix-5),a ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld a,' ' call l01aa pop hl ld (l0125),hl jp l1b40 l1b20: ld a,(ix-5) push af ld hl,l000d ld a,l pop bc sub b jr z,l1b2e ld a,1 l1b2e: or a jp z,l1b40 ld a,(ix-5) push af inc sp ld b,1 call l04af push de call l17dd l1b40: ld a,(ix-5) ld (ix+2),a pop hl pop ix pop de pop hl ex de,hl jp (hl) jp l1b50 l1b50: push ix ld ix,l0004 add ix,sp ld hl,lfffb add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l0000 ld (ix-6),l ld (ix-5),h l1b6e: ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld a,(ix+2) call l01aa pop hl ld (l0125),hl ld l,(ix-6) ld h,(ix-5) add hl,hl ld d,h ld e,l add hl,hl add hl,hl add hl,de push hl ld a,(ix+2) ld l,a ld h,0 pop de add hl,de push hl ld a,'0' ld l,a ld h,0 pop de ex de,hl or a sbc hl,de ld (ix-6),l ld (ix-5),h l1ba8: dec sp ld b,1 call l04af push de call l0e60 dec sp pop af ld (ix+2),a ld a,(ix+2) ld (l0132),a ld c,1fh call l0a19 ld a,'0' ld e,a call l09f2 ld d,a push hl push de ld a,'9' pop de pop hl sub e jr c,l1bd5 call l0a0c l1bd5: ld hl,l000d ld a,l call l09f2 or (hl) ld (hl),a ld a,' ' call l09f2 or (hl) ld (hl),a ld a,(l0132) call l09f2 and (hl) neg ld a,0 rla ld hl,l0020 add hl,sp ld sp,hl or a jp z,l1ba8 ld a,(ix+2) ld (l0132),a ld c,1fh call l0a19 ld a,'0' ld e,a call l09f2 ld d,a push hl push de ld a,'9' pop de pop hl sub e jr c,l1c18 call l0a0c l1c18: ld a,(l0132) call l09f2 and (hl) neg ld a,0 rla ld hl,l0020 add hl,sp ld sp,hl xor 1 or a jp z,l1b6e ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld a,' ' call l01aa pop hl ld (l0125),hl ld l,(ix-6) ld h,(ix-5) ld a,l ld (ix+3),a inc sp pop hl pop hl pop ix pop de inc sp pop hl ex de,hl jp (hl) jp l1c59 l1c59: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l0002 ld (ix-6),l ld (ix-5),h jp l1c87 l1c7a: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l1c87: ld de,l0019 ex de,hl or a sbc hl,de jp m,l1d08 ld hl,l78c9 push hl ld l,(ix+4) ld h,(ix+5) dec hl ld de,l0019 call l04ba pop de add hl,de push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de ld a,(hl) push af ld hl,l0000 ld a,l pop bc sub b jr z,l1cba ld a,1 l1cba: or a jp z,l1d05 ld l,(ix+2) ld h,(ix+3) push hl ld l,(ix+2) ld h,(ix+3) ld e,(hl) inc hl ld d,(hl) ex de,hl inc hl ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld hl,l019c ld (l0125),hl ld l,(ix+6) ld h,(ix+7) ld (l0125),hl ld hl,l78c9 push hl ld l,(ix+4) ld h,(ix+5) dec hl ld de,l0019 call l04ba pop de add hl,de push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de ld a,(hl) call l01aa l1d05: jp l1c7a l1d08: pop hl pop ix pop de ld hl,l0008 add hl,sp ld sp,hl ex de,hl jp (hl) jp l1d16 l1d16: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l0000 ld (ix-6),l ld (ix-5),h ld hl,l78c9 push hl ld l,(ix+2) ld h,(ix+3) dec hl ld de,l0019 call l04ba pop de add hl,de push hl ld hl,l0001 dec hl pop de add hl,de ld a,(hl) cp '0' jp nz,l1d76 ld l,(ix+4) ld h,(ix+5) push hl ld l,(ix+2) ld h,(ix+3) push hl push ix pop de ld hl,lfffa add hl,de push hl ld b,1 call l04af push de call l1c59 jp l1dc6 l1d76: cp '1' jp nz,l1daf ld l,(ix+4) ld h,(ix+5) push hl ld l,(ix+2) ld h,(ix+3) push hl push ix pop de ld hl,lfffa add hl,de push hl ld b,1 call l04af push de call l1c59 ld hl,l019c ld (l0125),hl ld l,(ix+4) ld h,(ix+5) ld (l0125),hl call l01eb jp l1dc6 l1daf: cp '2' jp nz,l1dc6 ld hl,l019c ld (l0125),hl ld l,(ix+4) ld h,(ix+5) ld (l0125),hl call l01eb l1dc6: pop hl pop ix pop de ld hl,l0006 add hl,sp ld sp,hl ex de,hl jp (hl) jp l1dd4 l1dd4: push ix ld ix,l0004 add ix,sp ld hl,lfffd add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory xor a ld (ix-7),a ld hl,l0000 ld (ix-6),l ld (ix-5),h l1df6: ld l,(ix+3) ld h,(ix+4) inc hl ld (ix+3),l ld (ix+4),h ld hl,l78c9 push hl ld l,(ix+3) ld h,(ix+4) dec hl ld de,l0019 call l04ba pop de add hl,de push hl ld hl,l0001 dec hl pop de add hl,de ld a,(hl) cp '0' jp nz,l1e33 ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h jp l1e86 l1e33: cp '1' jp nz,l1e40 ld a,1 ld (ix-7),a jp l1e86 l1e40: cp '2' jp nz,l1e6d ld a,(ix+2) or a jp z,l1e5d ld l,(ix-6) ld h,(ix-5) inc hl inc hl ld (ix-6),l ld (ix-5),h jp l1e6a l1e5d: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l1e6a: jp l1e86 l1e6d: cp '3' jp nz,l1e86 ld a,(ix+2) or a jp z,l1e86 ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l1e86: ld a,(ix-7) push af ld l,(ix+3) ld h,(ix+4) push hl ld hl,l0052 pop de xor a sbc hl,de jr nz,l1e9b inc a l1e9b: pop bc or b ld (ix-7),a ld a,(ix-7) or a jp z,l1df6 ld a,(ix+2) or a jp z,l1ec3 ld l,(ix-6) ld h,(ix-5) inc hl ex de,hl ld hl,l0002 call l0514 ex de,hl ld (ix-6),l ld (ix-5),h l1ec3: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix+5),l ld (ix+6),h inc sp pop hl pop ix pop de inc sp pop hl pop hl ex de,hl jp (hl) jp l20b7 jp l1ee0 l1ee0: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld b,1 call l04af ld hl,lfffa add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl push hl ld (ix-6),l ld (ix-5),h ld b,1 call l04af ld hl,lfff4 add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl ex (sp),hl jp l1f27 l1f1a: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l1f27: pop de push de ex de,hl or a sbc hl,de jp m,l1f42 ld hl,l019c ld (l0125),hl ld hl,l81d4 ld (l0125),hl call l01eb jp l1f1a l1f42: pop de ld hl,l019c ld (l0125),hl ld hl,l81d4 ld (l0125),hl jp l1f84 l1f52: db 'Press [RETURN] to end; any ' db 'other key for more Help' l1f84: ld hl,l1f52 ld b,'2' call l02c4 call l01eb ld b,1 call l04af ld hl,lfffa add hl,de push hl ld hl,l0001 ex de,hl pop hl ld (hl),e inc hl ld (hl),d pop hl pop ix pop de pop hl ex de,hl jp (hl) jp l1fab l1fab: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l019c ld (l0125),hl ld hl,l81d4 ld (l0125),hl call l01eb ld b,1 call l04af ld hl,lfffa add hl,de push hl ld b,1 call l04af ld hl,lfffa add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl inc hl ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld b,1 call l04af ld hl,lffef add hl,de push hl xor a pop hl ld (hl),a pop ix pop de pop hl ex de,hl jp (hl) jp l2002 l2002: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld l,(ix+2) ld h,(ix+3) push hl ld hl,l0000 ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld hl,l81d4 push hl ld hl,l80cb push hl ld hl,l76fd push hl ld l,(ix+4) ld h,(ix+5) dec hl pop de add hl,de ld a,(hl) ld l,a ld h,0 dec hl ld d,h ld e,l add hl,hl add hl,hl add hl,de pop de add hl,de push hl ld l,(ix+2) ld h,(ix+3) push hl ld b,2 call l04af push de call l1753 ld hl,l019c ld (l0125),hl ld hl,l81d4 ld (l0125),hl ld a,' ' push af ld hl,l000d push hl ld l,(ix+2) ld h,(ix+3) ld e,(hl) inc hl ld d,(hl) ex de,hl pop de ex de,hl or a sbc hl,de ld a,1 call l02b7 pop af call l01aa ld l,(ix+2) ld h,(ix+3) push hl ld hl,l000d ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld hl,l81d4 push hl ld l,(ix+4) ld h,(ix+5) push hl ld l,(ix+2) ld h,(ix+3) push hl ld b,2 call l04af push de call l1c59 pop ix pop de ld hl,l0006 add hl,sp ld sp,hl ex de,hl jp (hl) l20b7: push ix ld ix,l0004 add ix,sp ld hl,lfff0 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld l,(ix+2) ld h,(ix+3) push hl ld hl,l000c dec hl pop de add hl,de push hl ld a,'H' pop hl ld (hl),a ld l,(ix+2) ld h,(ix+3) push hl ld hl,l000d dec hl pop de add hl,de push hl ld a,'L' pop hl ld (hl),a ld l,(ix+2) ld h,(ix+3) push hl ld hl,l000e dec hl pop de add hl,de push hl ld a,'P' pop hl ld (hl),a ld hl,l81d4 push hl ld l,(ix+2) ld h,(ix+3) pop de call l085d ld hl,l827d ld (l2119),hl jp l211b l2119: ld a,(hl) ld sp,hl l211b: ld hl,(l2119) ld de,l0032 add hl,de ld a,(hl) ld l,a ld h,0 push hl ld hl,l0050 ex de,hl pop hl or a sbc hl,de ld a,80h and h rlca xor 1 ld (ix-20),a ld hl,(l2119) ld de,l0033 add hl,de ld a,(hl) ld l,a ld h,0 dec hl ld (ix-12),l ld (ix-11),h ld hl,l0001 ld (ix-6),l ld (ix-5),h ld hl,l0001 ld (ix-8),l ld (ix-7),h l215c: ld l,(ix-6) ld h,(ix-5) push hl push hl ld l,(ix-8) ld h,(ix-7) push hl ld a,(ix-20) push af inc sp ld b,1 call l04af push de call l1dd4 pop hl pop de add hl,de push hl ld l,(ix-12) ld h,(ix-11) pop de or a sbc hl,de ld a,80h and h rlca or a jp z,l2194 push ix call l1ee0 l2194: xor a ld (ix-19),a xor a ld (ix-18),a xor a ld (ix-17),a ld l,(ix-8) ld h,(ix-7) dec hl ld (ix-8),l ld (ix-7),h l21ad: ld l,(ix-8) ld h,(ix-7) inc hl ld (ix-8),l ld (ix-7),h ld hl,l78c9 push hl ld l,(ix-8) ld h,(ix-7) dec hl ld de,l0019 call l04ba pop de add hl,de push hl ld hl,l0001 dec hl pop de add hl,de ld a,(hl) cp '0' jp nz,l2263 ld a,(ix-17) or a jp z,l2224 ld hl,l019c ld (l0125),hl ld hl,l81d4 ld (l0125),hl ld a,' ' push af ld hl,l0025 push hl ld l,(ix-10) ld h,(ix-9) pop de ex de,hl or a sbc hl,de ld a,1 call l02b7 pop af call l01aa ld l,(ix-8) ld h,(ix-7) push hl push ix pop de ld hl,lfff6 add hl,de push hl push ix call l2002 push ix call l1fab jp l2260 l2224: ld a,(ix-20) or a jp z,l2247 ld l,(ix-8) ld h,(ix-7) push hl push ix pop de ld hl,lfff6 add hl,de push hl push ix call l2002 ld a,1 ld (ix-17),a jp l2260 l2247: ld l,(ix-8) ld h,(ix-7) push hl push ix pop de ld hl,lfff6 add hl,de push hl push ix call l2002 push ix call l1fab l2260: jp l230f l2263: cp '1' jp nz,l22a9 ld a,(ix-18) or a jp z,l2277 ld a,1 ld (ix-19),a jp l22a6 l2277: ld hl,l0000 ld (ix-14),l ld (ix-13),h ld hl,l81d4 push hl ld l,(ix-8) ld h,(ix-7) push hl push ix pop de ld hl,lfff2 add hl,de push hl ld b,1 call l04af push de call l1c59 push ix call l1fab ld a,1 ld (ix-18),a l22a6: jp l230f l22a9: cp '2' jp nz,l22fe ld hl,l0001 push hl ld (ix-16),l ld (ix-15),h ld l,(ix-14) ld h,(ix-13) ex (sp),hl jp l22cf l22c2: ld l,(ix-16) ld h,(ix-15) inc hl ld (ix-16),l ld (ix-15),h l22cf: pop de push de ex de,hl or a sbc hl,de jp m,l22ec ld hl,l019c ld (l0125),hl ld hl,l81d4 ld (l0125),hl ld a,'-' call l01aa jp l22c2 l22ec: pop de push ix call l1fab ld hl,l0000 ld (ix-14),l ld (ix-13),h jp l230f l22fe: cp '3' jp nz,l230f ld a,(ix-20) or a jp z,l230f push ix call l1fab l230f: ld a,(ix-19) push af ld l,(ix-8) ld h,(ix-7) push hl ld hl,l0052 pop de xor a sbc hl,de jr nz,l2324 inc a l2324: pop bc or b ld (ix-19),a ld a,(ix-19) or a jp z,l21ad ld l,(ix-8) ld h,(ix-7) push hl ld hl,l0052 pop de xor a sbc hl,de jr nz,l2341 inc a l2341: or a jp z,l215c ld hl,l019c ld (l0125),hl ld hl,l81d4 ld (l0125),hl call l01eb ld hl,l019c ld (l0125),hl ld hl,l81d4 ld (l0125),hl ld hl,l001a ld a,l call l01aa ld hl,l0010 add hl,sp ld sp,hl pop ix pop de pop hl pop hl ex de,hl jp (hl) jp l241c jp l2379 l2379: push ix ld ix,l0004 add ix,sp ld hl,lfffd add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l0002 ld (ix-6),l ld (ix-5),h jp l23a7 l239a: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l23a7: ld de,l0004 ex de,hl or a sbc hl,de jp m,l2410 ld l,(ix+4) ld h,(ix+5) inc hl push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de ld a,(hl) ld (ix-7),a ld a,(ix-7) push af ld a,' ' ld b,a pop af sub b ld a,0 rla or a jp z,l23e8 ld a,(ix-7) ld l,a ld h,0 push hl ld a,'@' ld l,a ld h,0 pop de add hl,de ld a,l ld (ix-7),a l23e8: ld l,(ix+2) ld h,(ix+3) inc hl push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de push hl dec sp ld a,(ix-7) push af inc sp ld b,2 call l04af push de call l0c76 dec sp pop af pop hl ld (hl),a jp l239a l2410: inc sp pop hl pop ix pop de ld hl,l0006 add hl,sp ld sp,hl ex de,hl jp (hl) l241c: push ix ld ix,l0004 add ix,sp ld hl,lfff2 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld l,(ix+4) ld h,(ix+5) push hl ld hl,l0005 pop de xor a sbc hl,de jr nz,l2442 inc a l2442: push af ld l,(ix+2) ld h,(ix+3) push hl ld hl,l0003 pop de xor a sbc hl,de jr nz,l2454 inc a l2454: pop bc and b push af ld l,(ix+4) ld h,(ix+5) push hl ld hl,l0003 pop de xor a sbc hl,de jr nz,l2468 inc a l2468: push af ld l,(ix+2) ld h,(ix+3) push hl ld hl,l0005 pop de xor a sbc hl,de jr nz,l247a inc a l247a: pop bc and b pop bc or b push af ld l,(ix+4) ld h,(ix+5) push hl ld hl,l0052 dec hl pop de xor a sbc hl,de jr nz,l2491 inc a l2491: pop bc or b push af ld l,(ix+2) ld h,(ix+3) push hl ld hl,l0052 dec hl pop de xor a sbc hl,de jr nz,l24a6 inc a l24a6: pop bc or b or a jp z,l24b3 xor a ld (ix+10),a jp l26cf l24b3: ld l,(ix+8) ld h,(ix+9) ld a,(hl) push af ld l,(ix+6) ld h,(ix+7) ld a,(hl) pop bc sub b ld a,0 rla or a jp z,l24de ld l,(ix+6) ld h,(ix+7) ld a,(hl) ld l,a ld h,0 ld (ix-6),l ld (ix-5),h jp l24ee l24de: ld l,(ix+8) ld h,(ix+9) ld a,(hl) ld l,a ld h,0 ld (ix-6),l ld (ix-5),h l24ee: ld hl,l0001 ld (ix-8),l ld (ix-7),h ld l,(ix+8) ld h,(ix+9) push hl push ix pop de ld hl,lfff3 add hl,de push hl push ix call l2379 ld l,(ix+6) ld h,(ix+7) push hl push ix pop de ld hl,lffee add hl,de push hl push ix call l2379 push ix pop de l2522: ld hl,lfff3 add hl,de inc hl push hl push ix pop de ld hl,lffee add hl,de inc hl ld b,4 pop de l2533: ld a,(de) sub (hl) inc hl inc de jr nz,l253e djnz l2533 inc a jr l253f l253e: xor a l253f: or a jp z,l2553 ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-8),l ld (ix-7),h jp l2595 l2553: push ix pop de ld hl,lfff3 add hl,de inc hl push hl ld l,(ix-8) ld h,(ix-7) dec hl pop de add hl,de ld a,(hl) push af push ix pop de ld hl,lffee add hl,de inc hl push hl ld l,(ix-8) ld h,(ix-7) dec hl pop de add hl,de ld a,(hl) pop bc sub b ld a,1 jr z,l2581 xor a l2581: or a jp z,l2595 ld l,(ix-8) ld h,(ix-7) inc hl ld (ix-8),l ld (ix-7),h jp l2553 l2595: ld l,(ix-8) ld h,(ix-7) push hl ld l,(ix-6) ld h,(ix-5) pop de or a sbc hl,de ld a,80h and h rlca or a jp z,l26cb ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl jp l25e0 l25bb: db 'WARNING : There is a conflict ' db 'between' l25e0: ld hl,l25bb ld b,25h call l02c4 call l01eb pop hl ld (l0125),hl jp l25f6 l25f2:: db 'the ' l25f6:: ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl ld hl,l25f2 ;; jr nz,l2621 ;; ld bc,l21e5 ;; ld bc,l2522 ;; ld bc,lf221 ld b,4 call l02c4 pop hl ld (l0125),hl ld hl,l019c push hl ld l,(ix+4) ld h,(ix+5) push hl ld b,1 call l04af push de call l1d16 ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl jp l2637 l262d:: db ' and the ' l2637:: ld hl,l262d ld b,10 ;; jr nz,l264f ;; jr nz,l26a8 ;; jr nz,l2659 call l02c4 call l01eb pop hl ld (l0125),hl ld hl,l019c push hl ld l,(ix+2) ld h,(ix+3) push hl ld b,1 call l04af push de call l1d16 ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl jp l2671 l2667: db ' Commands' l2671: ld hl,l2667 ld b,0ah call l02c4 call l01eb pop hl ld (l0125),hl jp l26a1 l2683: db 'Do you wish to continue anyway' l26a1: ld hl,(l0125) push hl ld hl,l019c l26a8: ld (l0125),hl ld hl,l2683 ld b,1eh call l02c4 pop hl ld (l0125),hl dec sp ld b,1 call l04af push de call l0eae dec sp pop af xor 1 ld (ix+10),a jp l26cf l26cb: xor a ld (ix+10),a l26cf: ld hl,l000e add hl,sp ld sp,hl pop ix pop de ld hl,l000a add hl,sp ld sp,hl ex de,hl jp (hl) jp l26e1 l26e1: push ix ld ix,l0004 add ix,sp ld hl,lfffb add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l0000 ld (ix-6),l ld (ix-5),h l26ff: ld l,(ix+4) ld h,(ix+5) inc hl push hl ld hl,l774f push hl ld l,(ix-6) ld h,(ix-5) ld de,l0007 call l04ba pop de add hl,de inc hl ld b,4 pop de l271d: ld a,(de) sub (hl) inc hl inc de jr nz,l2727 djnz l271d jr l272c l2727: ld a,0 jr c,l272c inc a l272c: or a jp z,l2740 ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h jp l26ff l2740: ld l,(ix+2) ld h,(ix+3) push hl ld hl,l0052 dec hl dec hl pop de or a sbc hl,de ld a,80h and h rlca push af ld l,(ix+4) ld h,(ix+5) ld a,(hl) push af ld hl,l0001 ld a,l pop bc sub b ld a,0 rla pop bc and b ld (ix-9),a ld a,(ix-9) or a jp z,l27b8 ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl jp l27a6 l277f: db 'This command must be a single ' db 'key-press' l27a6: ld hl,l277f ld b,'''' call l02c4 call l01eb pop hl ld (l0125),hl jp l2906 l27b8: ld l,(ix-6) ld h,(ix-5) push hl ld hl,l0000 pop de or a sbc hl,de ld a,80h and h rlca or a jp z,l2816 ld hl,l774f push hl ld l,(ix-6) ld h,(ix-5) dec hl ld de,l0007 call l04ba pop de add hl,de ld (l27e7),hl jp l27e9 l27e7: inc a push af l27e9: dec sp ld hl,(l27e7) push hl ld l,(ix+4) ld h,(ix+5) push hl ld hl,(l27e7) ld de,l0005 add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl push hl ld l,(ix+2) ld h,(ix+3) push hl ld b,1 call l04af push de call l241c dec sp pop af ld (ix-9),a l2816: ld a,(ix-9) xor 1 or a jp z,l2866 ld hl,l774f push hl ld l,(ix-6) ld h,(ix-5) ld de,l0007 call l04ba pop de add hl,de ld (l2837),hl jp l2839 l2837: ld h,(hl) add hl,bc l2839: dec sp ld hl,(l2837) push hl ld l,(ix+4) ld h,(ix+5) push hl ld hl,(l2837) ld de,l0005 add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl push hl ld l,(ix+2) ld h,(ix+3) push hl ld b,1 call l04af push de call l241c dec sp pop af ld (ix-9),a l2866: ld a,(ix-9) xor 1 or a jp z,l2906 ld hl,l0035 push hl ld (ix-8),l ld (ix-7),h ld l,(ix-6) ld h,(ix-5) inc hl ex (sp),hl jp l2891 l2884: ld l,(ix-8) ld h,(ix-7) dec hl ld (ix-8),l ld (ix-7),h l2891: pop de push de or a sbc hl,de jp m,l28c8 ld hl,l774f push hl ld l,(ix-8) ld h,(ix-7) ld de,l0007 call l04ba pop de add hl,de push hl ld hl,l774f push hl ld l,(ix-8) ld h,(ix-7) dec hl ld de,l0007 call l04ba pop de add hl,de ld bc,l0007 pop de ldir jp l2884 l28c8: pop de ld hl,l774f push hl ld l,(ix-6) ld h,(ix-5) ld de,l0007 call l04ba pop de add hl,de ld (l28e1),hl jp l28e3 l28e1: ld sp,hl dec hl l28e3: ld hl,(l28e1) push hl ld l,(ix+4) ld h,(ix+5) ld bc,l0005 pop de ldir ld hl,(l28e1) ld de,l0005 add hl,de push hl ld l,(ix+2) ld h,(ix+3) ex de,hl pop hl ld (hl),e inc hl ld (hl),d l2906: ld a,(ix-9) xor 1 ld (ix+6),a inc sp pop hl pop hl pop ix pop de ld hl,l0006 add hl,sp ld sp,hl ex de,hl jp (hl) jp l291e l291e: push ix ld ix,l0004 add ix,sp ld hl,lfffc add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l0000 ld (ix-6),l ld (ix-5),h l293c: ld hl,l774f push hl ld l,(ix-6) ld h,(ix-5) ld de,l0007 call l04ba pop de add hl,de ld de,l0005 add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl push hl ld l,(ix+2) ld h,(ix+3) pop de xor a sbc hl,de jr z,l2964 inc a l2964: or a jp z,l2978 ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h jp l293c l2978: ld l,(ix-6) ld h,(ix-5) push hl ld (ix-8),l ld (ix-7),h ld hl,l0035 dec hl ex (sp),hl jp l299a l298d: ld l,(ix-8) ld h,(ix-7) inc hl ld (ix-8),l ld (ix-7),h l299a: pop de push de ex de,hl or a sbc hl,de jp m,l29d2 ld hl,l774f push hl ld l,(ix-8) ld h,(ix-7) ld de,l0007 call l04ba pop de add hl,de push hl ld hl,l774f push hl ld l,(ix-8) ld h,(ix-7) inc hl ld de,l0007 call l04ba pop de add hl,de ld bc,l0007 pop de ldir jp l298d l29d2: pop de pop hl pop hl pop ix pop de pop hl pop hl ex de,hl jp (hl) jp l29df l29df: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld l,(ix+2) ld h,(ix+3) ld (l2a00),hl jp l2a02 l2a00: ld (hl),l ret m l2a02: ld hl,(l2a00) ld a,(hl) ld l,a ld h,0 inc hl ld (ix-6),l ld (ix-5),h jp l2a20 l2a13: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l2a20: ld de,l0004 ex de,hl or a sbc hl,de jp m,l2a45 ld l,(ix+2) ld h,(ix+3) inc hl push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de push hl ld hl,l0000 ld a,l pop hl ld (hl),a jp l2a13 l2a45: pop hl pop ix pop de pop hl pop hl ex de,hl jp (hl) jp l2a50 l2a50: push ix ld ix,l0004 add ix,sp ld hl,lfff9 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory xor a ld (ix-11),a xor a ld (ix-10),a ld l,(ix+3) ld h,(ix+4) push hl ld a,(ix+2) push af inc sp ld b,1 call l04af push de call l1897 dec sp ld b,1 call l04af push de call l0e60 dec sp pop af ld (ix-9),a ld a,(ix-9) ld (l0132),a ld c,1fh call l0a19 ld a,'0' ld e,a call l09f2 ld d,a push hl push de ld a,'9' pop de pop hl sub e jr c,l2aaf call l0a0c l2aaf: ld a,(l0132) call l09f2 and (hl) neg ld a,0 rla ld hl,l0020 add hl,sp ld sp,hl or a jp z,l2b48 ld hl,l0000 ld (ix-6),l ld (ix-5),h l2acd: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h ld l,(ix+3) l2add: ld h,(ix+4) inc hl push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de push hl dec sp ld a,(ix-9) push af inc sp ld b,1 call l04af push de call l1b50 dec sp pop af pop hl ld (hl),a dec sp ld b,1 call l04af push de call l0e60 dec sp pop af ld (ix-9),a ld a,(ix-9) push af ld hl,l000d ld a,l pop bc sub b ld a,1 jr z,l2b1d xor a l2b1d: push af ld l,(ix-6) ld h,(ix-5) push hl ld hl,l0004 pop de xor a sbc hl,de jr nz,l2b2f inc a l2b2f: pop bc or b or a jp z,l2acd ld l,(ix+3) ld h,(ix+4) push hl ld l,(ix-6) ld h,(ix-5) ld a,l pop hl ld (hl),a jp l2c5e l2b48: ld a,(ix-9) push af ld hl,l000d ld a,l pop bc sub b ld a,1 jr z,l2b57 xor a l2b57: or a jp z,l2b63 ld a,1 ld (ix-10),a jp l2c5e l2b63: dec sp ld a,(ix-9) push af inc sp ld b,1 call l04af push de call l0c76 dec sp pop af cp 'B' jp nz,l2b82 ld a,(ix+2) ld (ix-11),a jp l2c5e l2b82: cp 'A' jp z,l2b91 cp 'C' jp z,l2b91 cp 'E' jp nz,l2b99 l2b91: ld a,1 ld (ix-10),a jp l2c5e l2b99: cp 'D' jp nz,l2bae ld l,(ix+3) ld h,(ix+4) push hl ld hl,l0000 ld a,l pop hl ld (hl),a jp l2c5e l2bae: ld hl,l0000 ld (ix-6),l ld (ix-5),h l2bb7: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h ld l,(ix+3) ld h,(ix+4) inc hl push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de push hl ld a,(ix-9) pop hl ld (hl),a ld hl,l0000 ld (ix-8),l ld (ix-7),h ld a,(ix+2) or a jp z,l2c0a ld hl,l019c push hl ld a,(ix-9) ld l,a ld h,0 push hl push ix pop de ld hl,lfff8 add hl,de push hl ld b,1 call l04af push de call l166d jp l2c18 l2c0a: ld a,(ix-9) push af inc sp ld b,1 call l04af push de call l17dd l2c18: dec sp ld b,1 call l04af push de call l0e60 dec sp pop af ld (ix-9),a ld a,(ix-9) push af ld hl,l000d ld a,l pop bc sub b ld a,1 jr z,l2c36 xor a l2c36: push af ld l,(ix-6) ld h,(ix-5) push hl ld hl,l0004 pop de xor a sbc hl,de jr nz,l2c48 inc a l2c48: pop bc or b or a jp z,l2bb7 ld l,(ix+3) ld h,(ix+4) push hl ld l,(ix-6) ld h,(ix-5) ld a,l pop hl ld (hl),a l2c5e: ld a,(ix-11) push af ld a,(ix-10) pop bc or b xor 1 or a jp z,l2ca3 ld l,(ix+3) ld h,(ix+4) push hl ld b,1 call l04af push de call l29df ld l,(ix+3) ld h,(ix+4) push hl ld a,(ix+2) push af inc sp ld b,1 call l04af push de call l1897 ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl call l01eb pop hl ld (l0125),hl l2ca3: ld hl,(l0125) push hl ld hl,l019c ld (l0125),hl call l01eb pop hl ld (l0125),hl ld a,(ix-11) xor 1 ld (ix+5),a ld hl,l0007 add hl,sp ld sp,hl pop ix pop de inc sp pop hl pop hl ex de,hl jp (hl) jp l2ccc l2ccc: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory l2ce1: ld hl,l019c ld (l0125),hl call l01eb jp l2cf0 l2ced:: db ' ( ' l2cf0:: ld hl,l019c ld (l0125),hl ld hl,l2ced ;; jr nz,l2d17 ;; jr nz,l2d12 ;; ld bc,l2522 ;; ld bc,led21 ld b,3 call l02c4 ld l,(ix+2) ld h,(ix+3) ld a,(hl) push af ld hl,l0000 ld a,l pop bc sub b jr z,l2d10 ld a,1 l2d10: or a jp z,l2d26 ld l,(ix+2) l2d17: ld h,(ix+3) ld a,(hl) push af inc sp ld b,1 call l04af push de call l17dd l2d26: jp l2d2e l2d29: db ') ( ' ;; jr nz,l2d4c ;; jr z,l2d4e l2d2e: ld hl,l019c ld (l0125),hl ld hl,l2d29 ld b,5 call l02c4 ld l,(ix+2) ld h,(ix+3) ld a,(hl) ld l,a ld h,0 call l0272 ld a,' ' call l01aa l2d4e: jp l2d54 l2d51: db ') -' ;; jr nz,l2d81 l2d54:: ld hl,l2d51 ld b,3 call l02c4 dec sp ld b,1 call l04af push de call l1a2b dec sp pop af ld (ix-5),a ld a,(ix-5) push af ld a,'-' pop bc sub b ld a,1 jr z,l2d78 xor a l2d78: or a jp z,l2d83 ld hl,l0000 ld a,l ld (ix-5),a l2d83: ld a,(ix-5) push af ld hl,l000d ld a,l pop bc sub b ld a,1 jr z,l2d92 xor a l2d92: or a jp z,l2da7 ld a,1 ld (ix-6),a ld hl,l019c ld (l0125),hl call l01eb jp l2dd6 l2da7: jp l2dad l2daa: ld c,a ld l,e ccf l2dad: ld hl,l019c ld (l0125),hl ld hl,l2daa ld b,3 call l02c4 ld l,(ix+2) ld h,(ix+3) push hl ld a,(ix-5) pop hl ld (hl),a dec sp ld b,1 call l04af push de call l0eae dec sp pop af ld (ix-6),a l2dd6: ld a,(ix-6) or a jp z,l2ce1 pop hl pop ix pop de pop hl pop hl ex de,hl jp (hl) jp l2de8 l2de8: push ix ld ix,l0004 add ix,sp ld hl,lfffc add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory dec sp jp l2e0f l2e01: db ' ED80INST.MSG' l2e0f: ld hl,l2e01 ld bc,l000e ex de,hl xor a ld l,a ld h,a sbc hl,bc add hl,sp ld sp,hl ex de,hl ldir ld b,1 call l04af push de call l145d dec sp pop af or a jp z,l2e46 ld hl,l0000 ex de,hl call l0232 ld bc,l000b add hl,bc ld (hl),e inc hl ld (hl),d call l0203 call l0000 call l0216 l2e46: ld hl,l0001 ld (ix-6),l ld (ix-5),h jp l2e5f l2e52: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l2e5f: ld de,l0052 ex de,hl or a sbc hl,de jp m,l2ed9 ld hl,l0143 ld (l0125),hl ld hl,l81d4 ld (l0125),hl call l01a7 ld (ix-7),a call l01a7 ld (ix-8),a ld hl,l78c9 push hl ld l,(ix-6) ld h,(ix-5) dec hl ld de,l0019 call l04ba pop de add hl,de ld b,19h call l09dd call l096a ld hl,l76fd push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de push hl push hl ld a,(ix-7) push af inc sp ld b,1 call l04af push de call l0e2a pop hl add hl,hl ld d,h ld e,l add hl,hl add hl,hl add hl,de push hl push hl ld a,(ix-8) push af inc sp ld b,1 call l04af push de call l0e2a pop hl pop de add hl,de ld a,l pop hl ld (hl),a jp l2e52 l2ed9: ld hl,l0000 ld (ix-6),l ld (ix-5),h jp l2ef2 l2ee5: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l2ef2: ld de,l00ff ex de,hl or a sbc hl,de jp m,l2f25 ld hl,l0143 ld (l0125),hl ld hl,l81d4 ld (l0125),hl ld hl,l6afd push hl ld l,(ix-6) ld h,(ix-5) add hl,hl add hl,hl ld d,h ld e,l add hl,hl add hl,de pop de add hl,de ld b,0ch call l09dd call l096a jp l2ee5 l2f25: pop hl pop hl pop ix pop de pop hl ex de,hl jp (hl) jp l2f30 l2f30: push ix ld ix,l0004 add ix,sp ld hl,lfffa add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l827d ld (l2f4e),hl jp l2f50 l2f4e: dw 0aecdh ;;*** ;; call l2aae l2f50:: ld hl,(l2f4e) ld de,l005e add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl ld de,lffd5 add hl,de ld (ix-8),l ld (ix-7),h ld hl,l0001 push hl ld (ix-6),l ld (ix-5),h ld hl,l0035 dec hl dec hl ex (sp),hl jp l2f85 l2f78: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l2f85: pop de push de ex de,hl or a sbc hl,de jp m,l3066 ld hl,l80cb push hl ld l,(ix-6) ld h,(ix-5) dec hl ld d,h ld e,l add hl,hl add hl,hl add hl,de pop de add hl,de ld (l2fa6),hl jp l2fa8 l2fa6: dw 05dcdh ;;** l2fa8:: ld hl,0 ;; call l215d ld (ix-10),l ld (ix-9),h l2fb1:: ld hl,(l2f4e) ld de,l0089 add hl,de push hl ld l,(ix-8) ld h,(ix-7) pop de add hl,de ld a,(hl) push af ld hl,l0000 ld a,l pop bc sub b jr z,l2fcd ld a,1 l2fcd: or a jp z,l3010 ld l,(ix-10) ld h,(ix-9) inc hl ld (ix-10),l ld (ix-9),h ld hl,(l2fa6) inc hl push hl ld l,(ix-10) ld h,(ix-9) dec hl pop de add hl,de push hl ld hl,(l2f4e) ld de,l0089 add hl,de push hl ld l,(ix-8) ld h,(ix-7) pop de add hl,de ld a,(hl) pop hl ld (hl),a ld l,(ix-8) ld h,(ix-7) inc hl ld (ix-8),l ld (ix-7),h jp l2fb1 l3010: ld hl,(l2fa6) push hl ld l,(ix-10) ld h,(ix-9) ld a,l pop hl ld (hl),a ld l,(ix-8) ld h,(ix-7) inc hl ld (ix-8),l ld (ix-7),h ld hl,(l2fa6) ld a,(hl) push af ld hl,l0001 ld a,l pop bc sub b ld a,1 jr z,l303a xor a l303a: push af ld hl,(l2fa6) inc hl push hl ld hl,l0001 dec hl pop de add hl,de ld a,(hl) push af ld hl,l00ff ld a,l pop bc sub b ld a,1 jr z,l3053 xor a l3053: pop bc and b or a jp z,l3063 ld hl,(l2fa6) push hl ld hl,l0000 ld a,l pop hl ld (hl),a l3063: jp l2f78 l3066: pop de l3067: ld hl,l80cb push hl ld hl,l0034 dec hl ld d,h ld e,l add hl,hl add hl,hl add hl,de pop de add hl,de ld (l307c),hl jp l307e l307c: dw 04321h ;;** ;; ld hl,l2a43 ;; jr nc,l3067 l307e:: ld hl,(l307c) push hl ld hl,l0001 ld a,l pop hl ld (hl),a ld hl,(l307c) inc hl push hl ld hl,l0001 dec hl pop de add hl,de push hl ld hl,(l2f4e) ld de,l0060 add hl,de ld a,(hl) pop hl ld (hl),a l309e: ld hl,l80cb push hl ld hl,l0035 dec hl ld d,h ld e,l add hl,hl add hl,hl add hl,de pop de add hl,de ld (l30b3),hl jp l30b5 l30b3: dw 0ddfah ;;** ;; jp m,l2add ;; jr nc,l309e l30b5:: ld hl,(l30b3) push hl ld hl,l0001 ld a,l pop hl ld (hl),a ld hl,(l30b3) inc hl push hl ld hl,l0001 dec hl pop de add hl,de push hl ld hl,(l2f4e) ld de,l0041 add hl,de ld a,(hl) pop hl ld (hl),a ld hl,l0001 ld (ix-6),l ld (ix-5),h jp l30ee l30e1: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l30ee: ld de,l0035 ex de,hl or a sbc hl,de jp m,l3117 ld hl,l80cb push hl ld l,(ix-6) ld h,(ix-5) dec hl ld d,h ld e,l add hl,hl add hl,hl add hl,de pop de add hl,de push hl ld b,1 call l04af push de call l29df jp l30e1 l3117: ld hl,l0006 add hl,sp ld sp,hl pop ix pop de pop hl ex de,hl jp (hl) jp l31df jp l3128 l3128: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l827d ld (l3146),hl jp l3148 l3146: ld a,l add a,d l3148: ld hl,(l3146) ld de,l0089 add hl,de push hl ld b,1 call l04af ld hl,lfff8 add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl pop de add hl,de push hl ld a,(ix+2) pop hl ld (hl),a ld b,1 call l04af ld hl,lfff8 add hl,de push hl ld b,1 call l04af ld hl,lfff8 add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl inc hl ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld b,1 call l04af ld hl,lfff8 add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl push hl ld hl,l0200 ex de,hl pop hl or a sbc hl,de ld a,80h and h rlca xor 1 or a jp z,l31d8 ld hl,l019c ld (l0125),hl jp l31ca l31ab: db 'Too many characters in commands' l31ca: ld hl,l31ab ld b,1fh call l02c4 call l01eb call l0333 l31d8: pop ix pop de inc sp pop hl ex de,hl jp (hl) l31df: push ix ld ix,l0004 add ix,sp ld hl,lfffa add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l827d ld (l31fd),hl jp l31ff l31fd: ld a,(hl) pop hl l31ff: ld hl,(l31fd) ld de,l005e add hl,de ld e,(hl) inc hl ld d,(hl) ex de,hl ld de,lffd5 add hl,de dec hl ld (ix-8),l ld (ix-7),h ld hl,l0000 ld a,l push af inc sp push ix call l3128 ld hl,l0001 push hl ld (ix-6),l ld (ix-5),h ld hl,l0035 dec hl dec hl ex (sp),hl jp l3240 l3233: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l3240: pop de push de ex de,hl or a sbc hl,de jp m,l32d8 ld hl,l80cb push hl ld l,(ix-6) ld h,(ix-5) dec hl ld d,h ld e,l add hl,hl add hl,hl add hl,de pop de add hl,de ld (l3261),hl jp l3263 l3261: pop hl ld (hl),a l3263: ld hl,(l3261) ld a,(hl) push af ld hl,l0000 ld a,l pop bc sub b ld a,1 jr z,l3273 xor a l3273: or a jp z,l3285 ld hl,l00ff ld a,l push af inc sp push ix call l3128 jp l32ca l3285: ld hl,l0001 push hl ld (ix-10),l ld (ix-9),h ld hl,(l3261) ld a,(hl) ld l,a ld h,0 ex (sp),hl jp l32a7 l329a: ld l,(ix-10) ld h,(ix-9) inc hl ld (ix-10),l ld (ix-9),h l32a7: pop de push de ex de,hl or a sbc hl,de jp m,l32c9 ld hl,(l3261) inc hl push hl ld l,(ix-10) ld h,(ix-9) dec hl pop de add hl,de ld a,(hl) push af inc sp push ix call l3128 jp l329a l32c9: pop de l32ca: ld hl,l0000 ld a,l push af inc sp push ix call l3128 jp l3233 l32d8: pop de ld hl,l0000 ld a,l push af inc sp push ix call l3128 ld hl,(l31fd) ld de,l002c add hl,de push hl ld hl,(l31fd) ld de,l0089 add hl,de push hl ld hl,(l31fd) pop de ex de,hl or a sbc hl,de push hl ld hl,(l8525) pop de add hl,de push hl ld l,(ix-8) ld h,(ix-7) pop de add hl,de inc hl ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld hl,(l31fd) ld de,l0060 add hl,de push hl ld hl,l80cb push hl ld hl,l0034 dec hl ld d,h ld e,l add hl,hl add hl,hl add hl,de pop de add hl,de inc hl push hl ld hl,l0001 dec hl pop de add hl,de ld a,(hl) pop hl ld (hl),a ld hl,(l31fd) ld de,l0041 add hl,de push hl ld hl,l80cb push hl ld hl,l0035 dec hl ld d,h ld e,l add hl,hl add hl,hl add hl,de pop de add hl,de inc hl push hl ld hl,l0001 dec hl pop de add hl,de ld a,(hl) pop hl ld (hl),a ld hl,l0006 add hl,sp ld sp,hl pop ix pop de pop hl ex de,hl jp (hl) jp l3363 l3363: push ix ld ix,l0004 add ix,sp ld hl,lfffd add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l0001 ld (ix-6),l ld (ix-5),h jp l3391 l3384: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l3391: ld de,0028ah ;;l028a ex de,hl or a sbc hl,de jp m,l33c6 ld hl,l0143 ld (l0125),hl ld l,(ix+2) ld h,(ix+3) ld (l0125),hl call l01a7 ld (ix-7),a ld hl,l827d push hl ld l,(ix-6) ld h,(ix-5) pop de add hl,de dec hl push hl ld a,(ix-7) pop hl ld (hl),a jp l3384 l33c6: ld b,1 call l04af push de call l2f30 inc sp pop hl pop ix pop de pop hl pop hl ex de,hl jp (hl) jp l33db l33db: push ix ld ix,l0004 add ix,sp ld hl,lfffe add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l0000 ld (l071a),hl ld (l0594),hl ld hl,l019c ld (l0125),hl jp l341f l3402: db ' HPED80 Install Program' l341f: ld hl,l3402 ld b,1dh call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l3451 l3433: db ' Copyright HiSoft 1985,6' l3451: ld hl,l3433 ld b,1eh call l02c4 call l01eb ld hl,l019c ld (l0125),hl call l01eb ld hl,l019c ld (l0125),hl jp l3492 l346e: db 'Normally the working copy ' db 'of ED80 is' l3492: ld hl,l346e ld b,'$' call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l34c9 l34a6: db 'read in from a file called ' db 'ED80.COM' l34c9: ld hl,l34a6 ld b,'#' call l02c4 call l01eb jp l34ef l34d7: db 'Use another file instead' ;; jr nz,l353d ;; jr nz,l354a ;; jr nz,l3552 l34ef:: ld hl,l019c ld (l0125),hl ld hl,l34d7 ld b,18h call l02c4 ld hl,l8515 push hl ld hl,l0baa ld bc,l000e pop de ldir dec sp ld b,1 call l04af push de call l0eae dec sp pop af or a jp z,l355e dec sp ld hl,l8515 push hl jp l3525 l3522: ld b,e ld c,a ld c,l l3525: ld hl,l3522 ld bc,l0003 ex de,hl xor a ld l,a ld h,a sbc hl,bc add hl,sp ld sp,hl ex de,hl ldir ld b,1 call l04af push de call l1111 dec sp pop af xor 1 or a jp z,l355e ld hl,l0000 l354a: ex de,hl call l0232 ld bc,l000b add hl,bc l3552: ld (hl),e inc hl ld (hl),d call l0203 call l0000 call l0216 l355e: ld hl,l0001 ld (ix-6),l ld (ix-5),h jp l3577 l356a: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l3577: ld de,l001e ex de,hl or a sbc hl,de jp m,l358d ld hl,l019c ld (l0125),hl call l01eb jp l356a l358d: ld hl,l019c ld (l0125),hl jp l35b3 l3596: db ' HPED80 Install Program' l35b3: ld hl,l3596 ld b,1dh call l02c4 call l01eb ld hl,l019c ld (l0125),hl call l01eb ld hl,l019c ld (l0125),hl jp l35ed l35d0: db ' Copyright HiSoft 1985,6' l35ed: ld hl,l35d0 ld b,1dh call l02c4 call l01eb ld hl,l019c ld (l0125),hl call l01eb ld hl,l019c ld (l0125),hl call l01eb ld hl,l019c ld (l0125),hl jp l3626 l3613: db ' Loading ED80 from ' l3626: ld hl,l3613 ld b,13h call l02c4 ld hl,l8515 ld b,0eh call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l3659 l3642: db ' .....Please wait' l3659: ld hl,l3642 ld b,17h call l02c4 call l01eb ld hl,l0001 ld (ix-6),l ld (ix-5),h jp l367d l3670: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l367d: ld de,l0005 ex de,hl or a sbc hl,de jp m,l3693 ld hl,l019c ld (l0125),hl call l01eb jp l3670 l3693: ld hl,l019c ld (l0125),hl jp l36bd l369c: db 'When prompted for a code sequence' l36bd: ld hl,l369c ld b,'!' call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l36f3 l36d1: db 'use ENTER to keep the old ' db 'sequence' l36f3: ld hl,l36d1 ld b,'"' call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l3725 l3707: db 'or ''D'' to remove the sequence' l3725: ld hl,l3707 ld b,1eh call l02c4 call l01eb ld hl,l0001 ld (ix-6),l ld (ix-5),h jp l3749 l373c: ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l3749: ld de,l0003 ex de,hl or a sbc hl,de jp m,l375f ld hl,l019c ld (l0125),hl call l01eb jp l373c l375f: dec sp ld hl,l8515 ld bc,l000e ex de,hl xor a ld l,a ld h,a sbc hl,bc add hl,sp ld sp,hl ex de,hl ldir ld b,1 call l04af push de call l145d dec sp pop af or a jp z,l3797 ld hl,l0000 ex de,hl call l0232 ld bc,l000b add hl,bc ld (hl),e inc hl ld (hl),d call l0203 call l0000 call l0216 l3797: ld hl,l0001 ld (ix-6),l ld (ix-5),h jp l37b0 ld l,(ix-6) ld h,(ix-5) inc hl ld (ix-6),l ld (ix-5),h l37b0: ld de,l0004 ex de,hl or a sbc hl,de jp m,l37dc ld hl,l0143 ld (l0125),hl ld hl,l81d4 ld (l0125),hl ld hl,l852f push hl ld l,(ix-6) ld h,(ix-5) dec hl pop de add hl,de push hl call l01a7 db 0e1h,'w',0c3h,0a3h,'7' l37dc: db '!/',85h,0e5h,'!',3,0,'+',0d1h db 19h,'^#V',0ebh,'"%',85h,'*%' db 85h,11h,0,0ffh,19h,'"-',85h db '!',5,0,0e5h,0ddh,'u',0fah,0ddh db 't',0fbh,'*-',85h,0e3h,0c3h,15h db '8',0ddh,'n',0fah,0ddh,'f',0fbh db '#',0ddh,'u',0fah,0ddh,'t',0fbh db 0d1h,0d5h,0ebh,0b7h,0edh,'R',0fah db '@8!C',1,'"%',1,'!',0d4h,81h db '"%',1,'!/',85h,0e5h,0ddh,'n' db 0fah,0ddh,'f',0fbh,'+',0d1h,19h db 0e5h,0cdh,0a7h,1,0e1h,'w',0c3h,8 db '8',0d1h,'!',0d4h,81h,0e5h,6,1 db 0cdh,0afh,4,0d5h,0cdh,'c3!',1,0 db 0ddh,'u',0fah,0ddh,'t',0fbh,0c3h db 'g8',0ddh,'n',0fah,0ddh,'f',0fbh db '#',0ddh,'u',0fah,0ddh,'t',0fbh db 11h,1eh,0,0ebh,0b7h,0edh,'R',0fah db '}8!',9ch,1,'"%',1,0cdh,0ebh db 1,0c3h,'Z8',0e1h,0ddh,0e1h,0d1h db 0e1h,0ebh,0e9h,0c3h,87h,'8' l3887: db 0ddh,0e5h,0ddh,'!',4,0,0ddh,'9!' db 0fah,0ffh,'9',0f9h,0edh,'[',19h db 1,19h,0d4h,0ebh,2,'!}',82h,11h db 80h,0,19h,0e5h,0ddh,'n',2,0ddh db 'f',3,0d1h,0ebh,0b7h,0edh,'R',0ddh db 'u',0fah,0ddh,'t',0fbh,'!',0a9h db 82h,'^#V',0ebh,0e5h,'*%',85h db 0d1h,0ebh,0b7h,0edh,'R',0e5h,'!' db 80h,0,0e5h,0ddh,'n',2,0ddh,'f' db 3,0d1h,0ebh,0b7h,0edh,'R',0d1h,0ebh db 0b7h,0edh,'R',0ebh,'!',80h,0,0cdh db 14h,5,0ebh,0ddh,'u',2,0ddh,'t' db 3,'!',0,0,0e5h,0ddh,'u',0f8h,0ddh db 't',0f9h,0ddh,'n',2,0ddh,'f',3 db 0e3h,0c3h,9,'9',0ddh,'n',0f8h,0ddh db 'f',0f9h,'#',0ddh,'u',0f8h,0ddh db 't',0f9h,0d1h,0d5h,0ebh,0b7h,0edh db 'R',0fah,'U9',0ddh,'n',4,0ddh db 'f',5,'#',0ddh,'u',4,0ddh,'t' db 5,0e5h,'!',0d4h,81h,0e5h,0ddh,'n' db 4,0ddh,'f',5,0e5h,0ddh,'n',0fah db 0ddh,'f',0fbh,0e5h,6,1,0cdh,0afh db 4,0d5h,0cdh,'\',0dh,0e1h,0ddh,'u' db 0f6h,0ddh,'t',0f7h,0ddh,'n',0fah db 0ddh,'f',0fbh,11h,80h,0,19h,0ddh db 'u',0fah,0ddh,'t',0fbh,0c3h,0fch db '8',0d1h,'!',0d4h,81h,0e5h,6,1 db 0cdh,0afh,4,0d5h,0cdh,0dch,0dh,'!' db 6,0,'9',0f9h,0ddh,0e1h,0d1h,'!' db 6,0,'9',0f9h,0ebh,0e9h,0c3h,'u9' l3975: db 0ddh,0e5h,0ddh,'!',4,0,0ddh,'9!s' db 0ffh,'9',0f9h,0edh,'[',19h,1,19h db 0d4h,0ebh,2,'!}',82h,'"',93h db '9',0c3h,95h,'9n',4,'!',1,0 db 0ddh,'u',0fah,0ddh,'t',0fbh,0ddh db 'n',2,0ddh,'f',3,0e5h,0ddh,'n' db 0fah,0ddh,'f',0fbh,'##+',0d1h,19h db '~',0ddh,'w',0efh,'*',93h,'9' db 11h,1fh,0,19h,0e5h,0ddh,'n',0fah db 0ddh,'f',0fbh,'+',0d1h,19h,0e5h db 0ddh,'~',0efh,0e1h,'w',0ddh,'n' db 0fah,0ddh,'f',0fbh,'#',0ddh,'u' db 0fah,0ddh,'t',0fbh,0ddh,'~',0efh db 0f5h,'> ',0c1h,90h,'>',1,'(' db 1,0afh,0f5h,0ddh,'~',0efh,0f5h,'>.' db 0c1h,90h,'>',1,'(',1,0afh,0c1h db 0b0h,0f5h,0ddh,'~',0efh,0f5h,'!' db 0,0,'}',0c1h,90h,'>',1,'(',1 db 0afh,0c1h,0b0h,0b7h,0cah,9eh,'9*' db 93h,'9',11h,1fh,0,19h,0e5h,0ddh db 'n',0fah,0ddh,'f',0fbh,'++',0d1h db 19h,0e5h,'>.',0e1h,'w*',93h,'9' db 11h,1fh,0,19h,0e5h,0ddh,'n',0fah db 0ddh,'f',0fbh,'+',0d1h,19h,0e5h db '>H',0e1h,'w*',93h,'9',11h,1fh db 0,19h,0e5h,0ddh,'n',0fah,0ddh,'f' db 0fbh,'#+',0d1h,19h,0e5h,'>L',0e1h db 'w*',93h,'9',11h,1fh,0,19h db 0e5h,0ddh,'n',0fah,0ddh,'f',0fbh db '##+',0d1h,19h,0e5h,'>P',0e1h db 'w*',93h,'9',11h,1fh,0,19h db 0e5h,0ddh,'n',0fah,0ddh,'f',0fbh db '###+',0d1h,19h,0e5h,'!',0,0 db '}',0e1h,'w',6,1,0cdh,0afh,4,0d5h db 0cdh,0dfh,'1!',0d4h,81h,0e5h,0ddh db 'n',2,0ddh,'f',3,0d1h,0cdh,']' db 8,'!/',85h,0ddh,'u',0f2h,0ddh db 't',0f3h,'*-',85h,'+',0ebh,'!' db 80h,0,0cdh,14h,5,0ebh,'+',0ddh db 'u',0f4h,0ddh,'t',0f5h,'!',0,0 db 0e5h,0ddh,'u',0fah,0ddh,'t',0fbh db 0ddh,'n',0f4h,0ddh,'f',0f5h,0e3h db 0c3h,0d6h,':',0ddh,'n',0fah,0ddh db 'f',0fbh,'#',0ddh,'u',0fah,0ddh db 't',0fbh,0d1h,0d5h,0ebh,0b7h,0edh db 'R',0fah,15h,';',0e5h,'!',0d4h db 81h,0e5h,0ddh,'n',0fah,0ddh,'f' db 0fbh,0e5h,0ddh,'n',0f2h,0ddh,'f' db 0f3h,0e5h,6,1,0cdh,0afh,4,0d5h,0cdh db '\',0dh,0e1h,0ddh,'u',0f0h,0ddh db 't',0f1h,0ddh,'n',0f2h,0ddh,'f' db 0f3h,11h,80h,0,19h,0ddh,'u',0f2h db 0ddh,'t',0f3h,0c3h,0c9h,':',0d1h db '*-',85h,'+',0ebh,'!',80h,0 db 0cdh,14h,5,'#',0ddh,'u',0f6h,0ddh db 't',0f7h,'!',1,0,0e5h,0ddh,'u' db 0f8h,0ddh,'t',0f9h,0ddh,'n',0f6h db 0ddh,'f',0f7h,0e3h,0c3h,'I;',0ddh db 'n',0f8h,0ddh,'f',0f9h,'#',0ddh db 'u',0f8h,0ddh,'t',0f9h,0d1h,0d5h db 0ebh,0b7h,0edh,'R',0fah,'z;',0ddh db 0e5h,0d1h,'!o',0ffh,19h,0e5h,0ddh db 'n',0f8h,0ddh,'f',0f9h,'+',0d1h db 19h,0e5h,0ddh,'n',0f2h,0ddh,'f' db 0f3h,0e5h,0ddh,'n',0f8h,0ddh,'f' db 0f9h,0d1h,19h,'+~',0e1h,'w',0c3h db '<;',0d1h,0ddh,'n',0f6h,0ddh,'f' db 0f7h,'#',0ddh,'u',0f8h,0ddh,'t' db 0f9h,0c3h,98h,';',0ddh,'n',0f8h db 0ddh,'f',0f9h,'#',0ddh,'u',0f8h db 0ddh,'t',0f9h,11h,80h,0,0ebh,0b7h db 0edh,'R',0fah,0d3h,';',0ddh,0e5h db 0d1h,'!o',0ffh,19h,0e5h,0ddh,'n' db 0f8h,0ddh,'f',0f9h,'+',0d1h,19h db 0e5h,'!}',82h,0e5h,0ddh,'n',0f8h db 0ddh,'f',0f9h,0d1h,19h,0e5h,0ddh db 'n',0f6h,0ddh,'f',0f7h,0d1h,0ebh db 0b7h,0edh,'R+~',0e1h,'w',0c3h,8bh db ';',0ddh,'n',0f4h,0ddh,'f',0f5h db '#',0ddh,'u',0f4h,0ddh,'t',0f5h db 0e5h,'!',0d4h,81h,0e5h,0ddh,'n' db 0f4h,0ddh,'f',0f5h,0e5h,0ddh,0e5h db 0d1h,'!o',0ffh,19h,0e5h,6,1,0cdh db 0afh,4,0d5h,0cdh,'\',0dh,0e1h,0ddh db 'u',0f0h,0ddh,'t',0f1h,0ddh,'n' db 0f4h,0ddh,'f',0f5h,0e5h,0ddh,'n' db 0f6h,0ddh,'f',0f7h,0e5h,6,1,0cdh db 0afh,4,0d5h,0cdh,87h,'8',0ddh,'n' db 2,0ddh,'f',3,0e5h,6,1,0cdh,0afh db 4,0d5h,0cdh,0b7h,' !',8dh,0,'9' db 0f9h,0ddh,0e1h,0d1h,0e1h,0e1h,0ebh db 0e9h,0c3h,':<' l3c3a: db 0ddh,0e5h,0ddh,'!',4,0,0ddh,'9!' db 0,0,'9',0f9h,0edh,'[',19h,1,19h db 0d4h,0ebh,2,'!}',82h,'"X<',0c3h db 'Z<',81h,0e5h,'*X<',11h,'4' db 0,19h,0e5h,'!',1dh,0,'}',0e1h db 'w*X<',11h,'5',0,19h,0e5h,'! ' db 0,'}',0e1h,'w*X<',11h,'6',0 db 19h,0e5h,'!',8,0,'}',0e1h,'w*X<' db 11h,'7',0,19h,0e5h,'!',2,0,'}' db 0e1h,'w*X<',11h,'?',0,19h,0e5h db '!',80h,0,'}',0e1h,'w*X<',11h db '<',0,19h,0e5h,'!',80h,0,11h db 0bh,0,19h,'}',0e1h,'w*X<',11h db '=',0,19h,0e5h,'!',80h,0,11h db '-',0,19h,'}',0e1h,'w*X<',11h db '@',0,19h,0e5h,'!',0,0,'}',0e1h db 'w*X<',11h,'9',0,19h,0e5h,'!' db 10h,0,'}',0e1h,'w*X<',11h,':' db 0,19h,0e5h,'!',1ah,0,'}',0e1h db 'w*X<',11h,'>',0,19h,0e5h,'!"' db 0,'}',0e1h,'w*X<',11h,';',0 db 19h,0e5h,'!)',0,'}',0e1h,'w*X<' db 11h,'8',0,19h,0e5h,'!2',0,'}' db 0e1h,'w',0ddh,0e1h,0d1h,0e1h,0ebh db 0e9h,0c3h,'!=' l3d21: db 0ddh,0e5h,0ddh,'!',4,0,0ddh,'9!' db 0,0,'9',0f9h,0edh,'[',19h,1,19h db 0d4h,0ebh,2,'!}',82h,'"?=',0c3h db 'A=',0,0ddh,'*?=',11h,'4',0 db 19h,0e5h,'!',18h,0,'}',0e1h,'w*?=' db 11h,'5',0,19h,0e5h,'!',9,0,'}' db 0e1h,'w*?=',11h,'6',0,19h,0e5h db '!',4,0,'}',0e1h,'w*?=',11h db '7',0,19h,0e5h,'!',2,0,'}',0e1h db 'w*?=',11h,'?',0,19h,0e5h,'!' db 80h,0,'}',0e1h,'w*?=',11h,'=' db 0,19h,0e5h,'!',80h,0,11h,16h db 0,19h,'}',0e1h,'w*?=',11h,'@' db 0,19h,0e5h,'!',0,0,'}',0e1h,'w*?=' db 11h,'8',0,19h,0e5h,'!',0fh,0 db '}',0e1h,'w*?=',11h,'9',0,19h db 0e5h,'!',0fh,0,'}',0e1h,'w*?=' db 11h,':',0,19h,0e5h,'!',19h,0 db '}',0e1h,'w*?=',11h,';',0,19h db 0e5h,'!!',0,'}',0e1h,'w*?=',11h db '<',0,19h,0e5h,'!',80h,0,11h db 0bh,0,19h,'}',0e1h,'w*?=',11h db '>',0,19h,0e5h,'!',80h,0,11h db '"',0,19h,'}',0e1h,'w',0ddh,0e1h db 0d1h,0e1h,0ebh,0e9h,0c3h,0ch,'>' l3e0c: db 0ddh,0e5h,0ddh,'!',4,0,0ddh,'9!' db 0f9h,0ffh,'9',0f9h,0edh,'[',19h db 1,19h,0d4h,0ebh,2,'!}',82h,'"*>' db 0c3h,',>' l3e2a: db 0,0,'!',9ch,1,'"%',1,0c3h,'P>' l3e35: db 'User patch area starts at ' db '#' ld hl,l3e35 ld b,1bh call l02c4 ld hl,(l3e2a) ld de,l0081 add hl,de dec hl push hl ld hl,(l3e2a) pop de ex de,hl or a sbc hl,de push hl ld hl,(l8525) pop de add hl,de push hl ld hl,l0004 pop de call l0a92 call l01eb ld b,1 call l04af push de call l2f30 dec sp ld hl,l8507 push hl jp l3e8e l3e8b: db 'COM' l3e8e: ld hl,l3e8b ld bc,l0003 ex de,hl xor a ld l,a ld h,a sbc hl,bc add hl,sp ld sp,hl ex de,hl ldir ld b,1 call l04af push de call l1111 dec sp pop af or a jp z,l3f6d dec sp ld hl,l8507 ld bc,l000e ex de,hl xor a ld l,a ld h,a sbc hl,bc add hl,sp ld sp,hl ex de,hl ldir ld b,1 call l04af push de call l145d dec sp pop af xor 1 or a jp z,l3f6d ld hl,(l3e2a) ld de,l0081 add hl,de dec hl ld (ix-10),l ld (ix-9),h ld l,(ix-10) ld h,(ix-9) ld a,(hl) ld (ix-11),a push hl ld hl,l81d4 push hl ld hl,l0000 push hl ld l,(ix-10) ld h,(ix-9) push hl ld b,1 call l04af push de call l0cdc pop hl ld (ix-6),l ld (ix-5),h push hl ld hl,l81d4 push hl ld hl,l0001 push hl ld l,(ix-10) ld h,(ix-9) ld de,l0080 add hl,de push hl ld b,1 call l04af push de call l0cdc pop hl ld (ix-6),l ld (ix-5),h ld l,(ix-10) ld h,(ix-9) ld a,(hl) ld l,a ld h,0 ld (ix-8),l ld (ix-7),h ld l,(ix-10) ld h,(ix-9) push hl ld a,(ix-11) pop hl ld (hl),a ld hl,(l3e2a) ld de,l005e add hl,de push hl ld l,(ix-8) ld h,(ix-7) ld de,l002b add hl,de ld de,lfff8 add hl,de ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld b,1 call l04af push de call l31df l3f6d: ld hl,l0007 add hl,sp ld sp,hl pop ix pop de pop hl ex de,hl jp (hl) jp l3f7b l3f7b: push ix ld ix,l0004 add ix,sp ld hl,lfffd add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l827d ld (l3f99),hl jp l3f9b l3f99: ld b,d add hl,sp l3f9b: jp l3fb5 l3f9e: db 'How many screen columns' l3fb5: ld hl,l019c ld (l0125),hl ld hl,l3f9e ld b,17h call l02c4 ld hl,(l3f99) ld de,l0032 add hl,de push hl ld b,1 call l04af push de call l15a6 ld hl,(l3f99) ld de,l0032 add hl,de ld a,(hl) push af ld hl,l0050 ld a,l ld b,a pop af sub b ccf ld a,0 rla or a jp z,l3ff8 ld b,1 call l04af push de call l3c3a jp l4001 l3ff8: ld b,1 call l04af push de call l3d21 l4001: jp l4018 l4004: db 'How many screen rows' l4018: ld hl,l019c ld (l0125),hl ld hl,l4004 ld b,14h call l02c4 ld hl,(l3f99) ld de,l0033 add hl,de push hl ld b,1 call l04af push de call l15a6 jp l405a l403a: db 'Cursor position lead-in sequence' l405a: ld hl,l019c ld (l0125),hl ld hl,l403a ld b,' ' call l02c4 dec sp ld hl,(l3f99) ld de,l0045 add hl,de push hl xor a push af inc sp ld b,1 call l04af push de call l2a50 dec sp pop af ld (ix-6),a ld hl,(l3f99) ld de,l0045 add hl,de ld a,(hl) push af ld hl,l0000 ld a,l pop bc sub b ld a,1 jr z,l4096 xor a l4096: ld (ix-7),a ld a,(ix-7) xor 1 or a jp z,l40f2 jp l40c6 l40a5: db 'Is the row sent before the ' db 'column' l40c6: ld hl,l019c ld (l0125),hl ld hl,l40a5 ld b,'!' call l02c4 ld hl,(l3f99) ld de,l0044 add hl,de push hl dec sp ld hl,(l3f99) ld de,l0044 add hl,de push hl ld b,1 call l04af push de call l0fe0 dec sp pop af pop hl ld (hl),a l40f2: jp l4106 l40f5: db 'Offset for column' l4106: ld hl,l019c ld (l0125),hl ld hl,l40f5 ld b,11h call l02c4 ld hl,(l3f99) ld de,l0031 add hl,de push hl ld b,1 call l04af push de call l15a6 jp l4136 l4128: db 'Offset for row' l4136: ld hl,l019c ld (l0125),hl ld hl,l4128 ld b,0eh call l02c4 ld hl,(l3f99) ld de,l0030 add hl,de push hl ld b,1 call l04af push de call l15a6 jp l416d l4158: db 'Clear screen sequence' l416d: ld hl,l019c ld (l0125),hl ld hl,l4158 ld b,15h call l02c4 dec sp ld hl,(l3f99) ld de,l004a add hl,de push hl xor a push af inc sp ld b,1 call l04af push de call l2a50 dec sp pop af ld (ix-6),a jp l41b5 l4198: db 'Clear to End of Line sequence' l41b5: ld hl,l019c ld (l0125),hl ld hl,l4198 ld b,1dh call l02c4 dec sp ld hl,(l3f99) ld de,l004f add hl,de push hl xor a push af inc sp ld b,1 call l04af push de call l2a50 dec sp pop af ld (ix-6),a jp l41f9 l41e0: db 'Inverse video on sequence' l41f9: ld hl,l019c ld (l0125),hl ld hl,l41e0 ld b,19h call l02c4 dec sp ld hl,(l3f99) ld de,l0061 add hl,de push hl xor a push af inc sp ld b,1 call l04af push de call l2a50 dec sp pop af ld (ix-6),a jp l423e l4224: db 'Inverse video off sequence' l423e: ld hl,l019c ld (l0125),hl ld hl,l4224 ld b,1ah call l02c4 dec sp ld hl,(l3f99) ld de,l0066 add hl,de push hl xor a push af inc sp ld b,1 call l04af push de call l2a50 dec sp pop af ld (ix-6),a jp l4274 l4269: db 'Use lead-in' l4274: ld hl,l019c ld (l0125),hl ld hl,l4269 ld b,0bh call l02c4 ld hl,(l3f99) ld de,l0042 add hl,de push hl dec sp ld hl,(l3f99) ld de,l0042 add hl,de push hl ld b,1 call l04af push de call l0fe0 dec sp pop af pop hl ld (hl),a ld hl,(l3f99) ld de,l0042 add hl,de ld a,(hl) or a jp z,l4307 jp l42c2 l42af: db 'Enter code sequence' l42c2: ld hl,l019c ld (l0125),hl ld hl,l42af ld b,13h call l02c4 dec sp ld hl,(l3f99) ld de,l0054 add hl,de push hl xor a push af inc sp ld b,1 call l04af push de call l2a50 dec sp pop af ld (ix-6),a ld a,(ix-7) push af ld hl,(l3f99) ld de,l0054 add hl,de ld a,(hl) push af ld hl,l0000 ld a,l pop bc sub b ld a,1 jr z,l4302 xor a l4302: pop bc or b ld (ix-7),a l4307: jp l4316 l430a: db 'Use lead-out' l4316: ld hl,l019c ld (l0125),hl ld hl,l430a ld b,0ch call l02c4 ld hl,(l3f99) ld de,l0043 add hl,de push hl dec sp ld hl,(l3f99) ld de,l0043 add hl,de push hl ld b,1 call l04af push de call l0fe0 dec sp pop af pop hl ld (hl),a ld hl,(l3f99) ld de,l0043 add hl,de ld a,(hl) or a jp z,l43a9 jp l4364 l4351: db 'Enter code sequence' l4364: ld hl,l019c ld (l0125),hl ld hl,l4351 ld b,13h call l02c4 dec sp ld hl,(l3f99) ld de,l0059 add hl,de push hl xor a push af inc sp ld b,1 call l04af push de call l2a50 dec sp pop af ld (ix-6),a ld a,(ix-7) push af ld hl,(l3f99) ld de,l0059 add hl,de ld a,(hl) push af ld hl,l0000 ld a,l pop bc sub b ld a,1 jr z,l43a4 xor a l43a4: pop bc or b ld (ix-7),a l43a9: ld a,(ix-7) push af ld hl,(l3f99) ld de,l004a add hl,de ld a,(hl) push af ld hl,l0000 ld a,l pop bc sub b ld a,1 jr z,l43c1 xor a l43c1: pop bc or b or a jp z,l43d3 ld b,1 call l04af push de call l3e0c jp l43e4 l43d3: ld hl,(l3f99) ld de,l005e add hl,de push hl ld hl,l002b inc hl ex de,hl pop hl ld (hl),e inc hl ld (hl),d l43e4: inc sp pop hl pop ix pop de pop hl ex de,hl jp (hl) jp l43ef l43ef: push ix ld ix,l0004 add ix,sp ld hl,lfffc add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l774f push hl ld hl,l0000 ld de,l0007 call l04ba pop de add hl,de ld (l4419),hl jp l441b l4419: ld b,d add hl,sp l441b: ld hl,(l4419) push hl ld hl,l0004 ld a,l pop hl ld (hl),a ld hl,(l4419) inc hl push hl ld hl,l0001 dec hl pop de add hl,de push hl ld hl,l00ff ld a,l pop hl ld (hl),a ld hl,l0001 ld (l852b),hl l443d: ld hl,(l852b) push hl ld hl,l0000 pop de or a sbc hl,de ld a,80h and h rlca push af ld hl,(l852b) push hl ld hl,l0052 ex de,hl pop hl or a sbc hl,de ld a,80h and h rlca pop bc and b or a jp z,l4571 ld hl,l019c push hl ld hl,(l852b) push hl ld b,1 call l04af push de call l1d16 ld hl,l78c9 push hl ld hl,(l852b) dec hl ld de,l0019 call l04ba pop de add hl,de push hl ld hl,l0001 dec hl pop de add hl,de ld a,(hl) push af ld a,'0' pop bc sub b ld a,1 jr z,l4496 xor a l4496: or a jp z,l4567 ld hl,l76fd push hl ld hl,(l852b) dec hl pop de add hl,de ld a,(hl) ld l,a ld h,0 ld (ix-6),l ld (ix-5),h dec sp ld hl,l80cb push hl ld l,(ix-6) ld h,(ix-5) dec hl ld d,h ld e,l add hl,hl add hl,hl add hl,de pop de add hl,de push hl ld a,1 push af inc sp ld b,1 call l04af push de call l2a50 dec sp pop af or a jp z,l4506 dec sp ld hl,l80cb push hl ld l,(ix-6) ld h,(ix-5) dec hl ld d,h ld e,l add hl,hl add hl,hl add hl,de pop de add hl,de push hl ld hl,(l852b) push hl ld b,1 call l04af push de call l26e1 dec sp pop af or a jp z,l4503 ld hl,(l852b) inc hl ld (l852b),hl l4503: jp l4564 l4506: ld hl,(l852b) dec hl ld (l852b),hl ld hl,(l852b) push hl ld hl,l0000 pop de xor a sbc hl,de jr nz,l451b inc a l451b: push af ld hl,l78c9 push hl ld hl,(l852b) dec hl ld de,l0019 call l04ba pop de add hl,de push hl ld hl,l0001 dec hl pop de add hl,de ld a,(hl) push af ld a,'0' pop bc sub b ld a,1 jr z,l453e xor a l453e: pop bc or b or a jp z,l4506 ld hl,(l852b) push hl ld hl,l0000 pop de or a sbc hl,de ld a,80h and h rlca or a jp z,l4564 ld hl,(l852b) push hl ld b,1 call l04af push de call l291e l4564: jp l456e l4567: ld hl,(l852b) inc hl ld (l852b),hl l456e: jp l443d l4571: pop hl pop hl pop ix pop de pop hl ex de,hl jp (hl) jp l457c l457c: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory ld hl,l827d ld (l459a),hl jp l459c l459a: dw 02a39h ;;** l459c:: ld hl,l019c ld (l0125),hl call l01eb jp l45b4 ;; ld hl,(l9c21) ;; ld bc,l2522 ;; ld bc,lebcd ;; ld bc,lb4c3 l45a8: db 'Size of tabs' l45b4:: ld hl,l019c ld (l0125),hl ld hl,l45a8 ld b,0ch call l02c4 ld hl,(l459a) ld de,l0036 add hl,de push hl ld b,1 call l04af push de call l15a6 jp l45e5 l45d6: db 'Tabs per scroll' l45e5: ld hl,l019c ld (l0125),hl ld hl,l45d6 ld b,0fh call l02c4 ld hl,(l459a) ld de,l0037 add hl,de push hl ld b,1 call l04af push de call l15a6 ld hl,l019c ld (l0125),hl call l01eb jp l4623 l4610: db 'End of line display' l4623: ld hl,l019c ld (l0125),hl ld hl,l4610 ld b,13h call l02c4 ld hl,(l459a) ld de,l002e add hl,de push hl ld b,1 call l04af push de call l2ccc jp l4658 l4645: db 'End of file display' l4658: ld hl,l019c ld (l0125),hl ld hl,l4645 ld b,13h call l02c4 ld hl,(l459a) ld de,l002f add hl,de push hl ld b,1 call l04af push de call l2ccc pop ix pop de pop hl ex de,hl jp (hl) jp l4680 l4680: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory dec sp ld hl,l8507 push hl jp l46a0 l469d: db 'E80' l46a0: ld hl,l469d ld bc,l0003 ex de,hl xor a ld l,a ld h,a sbc hl,bc add hl,sp ld sp,hl ex de,hl ldir ld b,1 call l04af push de call l1111 dec sp pop af or a jp z,l46f0 dec sp ld hl,l8507 ld bc,l000e ex de,hl xor a ld l,a ld h,a sbc hl,bc add hl,sp ld sp,hl ex de,hl ldir ld b,1 call l04af push de call l145d dec sp pop af xor 1 or a jp z,l46f0 ld hl,l81d4 push hl ld b,1 call l04af push de call l3363 l46f0: pop ix pop de pop hl ex de,hl jp (hl) jp l46f9 l46f9: push ix ld ix,l0004 add ix,sp ld hl,l0000 add hl,sp ld sp,hl ld de,(l0119) add hl,de call nc,l02eb ; Not enough memory dec sp ld hl,l8507 push hl jp l4719 l4716: db 'E80' l4719: ld hl,l4716 ld bc,l0003 ex de,hl xor a ld l,a ld h,a sbc hl,bc add hl,sp ld sp,hl ex de,hl ldir ld b,1 call l04af push de call l1111 dec sp pop af or a jp z,l4758 ld hl,l81d4 push hl ld hl,l8507 pop de call l085d ld hl,l0001 call l050c push hl ld hl,l0080 push hl ld b,1 call l04af push de call l3887 l4758: pop ix pop de pop hl ex de,hl jp (hl) ; ; ; l475e: call l0b1c ld ix,(l0006) ld sp,ix ld hl,l0104 push hl ld hl,l0be4 ex de,hl pop hl ld (hl),e inc hl ld (hl),d ld hl,l0001 ld (l8527),hl jp l4783 l477c: ld hl,(l8527) inc hl ld (l8527),hl l4783: ld de,l0020 ex de,hl or a sbc hl,de jp m,l4799 ld hl,l019c ld (l0125),hl call l01eb jp l477c l4799: push ix call l2de8 push ix call l33db l47a3: ld hl,l0001 ld (l8527),hl jp l47b3 l47ac: ld hl,(l8527) inc hl ld (l8527),hl l47b3: ld de,l0020 ex de,hl or a sbc hl,de jp m,l47c9 ld hl,l019c ld (l0125),hl call l01eb jp l47ac l47c9: ld hl,l019c ld (l0125),hl jp l47e8 l47d2: db 'ED80 INSTALLATION MENU' l47e8: ld hl,l47d2 ld b,16h call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l4812 l47fc: db '----------------------' l4812: ld hl,l47fc ld b,16h call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l4837 l4826: db '1. Return to CP/M' l4837: ld hl,l4826 ld b,11h call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l4860 l484b: db '2. Alter screen codes' l4860: ld hl,l484b ld b,15h call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l4884 l4874: db '3. Save ED80 as ' l4884: ld hl,l4874 ld b,10h call l02c4 ld hl,l8515 ld b,0eh call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l48bc l48a0: db '4. Save ED80 as another file' l48bc: ld hl,l48a0 ld b,1ch call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l48e6 l48d0: db '5. Alter command codes' l48e6: ld hl,l48d0 ld b,16h call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l490f l48fa: db '6. Alter user options' l490f: ld hl,l48fa ld b,15h call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l4946 l4923: db '7. Load Installation from ' db '.E80 file' l4946: ld hl,l4923 ld b,'#' call l02c4 call l01eb ld hl,l019c ld (l0125),hl jp l497b l495a: db '8. Save Installation to .E80 ' db 'file' l497b: ld hl,l495a ld b,'!' call l02c4 call l01eb ld hl,l019c ld (l0125),hl call l01eb jp l49a6 l4992: db 'Type desired number ' l49a6: ld hl,l019c ld (l0125),hl ld hl,l4992 ld b,14h call l02c4 l49b4: dec sp ld hl,l8529 push hl push ix call l14e8 dec sp pop af or a jp z,l49b4 ld hl,l0001 ld (l8527),hl jp l49d4 l49cd: ld hl,(l8527) inc hl ld (l8527),hl l49d4: ld de,l0003 ex de,hl or a sbc hl,de jp m,l49ea ld hl,l019c ld (l0125),hl call l01eb jp l49cd l49ea: xor a ld (l8523),a ld hl,(l8529) ld de,l0001 or a sbc hl,de add hl,de jp nz,l4a03 ld a,1 ld (l8523),a jp l4aad l4a03: ld de,l0002 or a sbc hl,de add hl,de jp nz,l4a15 push ix call l3f7b jp l4aad l4a15: ld de,l0003 or a sbc hl,de add hl,de jp nz,l4a2b ld hl,l8515 push hl push ix call l3975 jp l4aad l4a2b: ld de,l0004 or a sbc hl,de add hl,de jp nz,l4a68 dec sp ld hl,l8507 push hl jp l4a40 l4a3d: db 'COM' l4a40: ld hl,l4a3d ld bc,l0003 ex de,hl xor a ld l,a ld h,a sbc hl,bc add hl,sp ld sp,hl ex de,hl ldir push ix call l1111 dec sp pop af or a jp z,l4a65 ld hl,l8507 push hl push ix call l3975 l4a65: jp l4aad l4a68: ld de,l0005 or a sbc hl,de add hl,de jp nz,l4a7a push ix call l43ef jp l4aad l4a7a: ld de,l0006 or a sbc hl,de add hl,de jp nz,l4a8c push ix call l457c jp l4aad l4a8c: ld de,l0007 or a sbc hl,de add hl,de jp nz,l4a9e push ix call l4680 jp l4aad l4a9e: ld de,l0008 or a sbc hl,de add hl,de jp nz,l4aad push ix call l46f9 l4aad: ld a,(l8523) or a jp z,l47a3 ld hl,l0001 ld (l8527),hl jp l4ac4 l4abd: ld hl,(l8527) inc hl ld (l8527),hl l4ac4: ld de,l0020 ex de,hl or a sbc hl,de jp m,l4ada ld hl,l019c ld (l0125),hl call l01eb jp l4abd l4ada: jp l0350 ld bc,lafcd inc b push de call l2a50 dec sp pop af ld (ix-6),a ld a,(ix-7) push af ld hl,(l3f99) ld de,l0054 add hl,de ld a,(hl) push af ld hl,l0000 ld a,l pop bc sub b ld a,1 db 28h end