From 3432fe8822ebdaf2e8496cbac9d9062b85afdffc Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Sun, 31 Oct 2021 22:32:08 +0800 Subject: [PATCH] Update rz.asm --- Source/Apps/Test/rzsz/rz.asm | 858 ++++++++++++++++------------------- 1 file changed, 396 insertions(+), 462 deletions(-) diff --git a/Source/Apps/Test/rzsz/rz.asm b/Source/Apps/Test/rzsz/rz.asm index 3c117e8a..fc00977c 100644 --- a/Source/Apps/Test/rzsz/rz.asm +++ b/Source/Apps/Test/rzsz/rz.asm @@ -38,9 +38,9 @@ start: ld sp, nstack ; Setup local stack cp '0' ; Get CP/M vers. # jp c,err_vern ; CP/M 2 or less? ld de,str_welc - ld c,C_WRITESTR ;yes - call bdos ;"RZ for ..."; Output string - call sub_195 ;print string + ld c,C_WRITESTR ; yes + call bdos ; "RZ for ..."; Output string + call sub_195 ; print string ld hl,(word_179E) xor a ld b,14h @@ -74,7 +74,7 @@ start: ld sp, nstack ; Setup local stack ld a,d or e jr z,loc_174 -loc_152: ld hl,byte_17A3 ; CODE XREF: start+46j +loc_152: ld hl,byte_17A3 ex de,hl call sub_1492 ld hl,byte_17A3 @@ -83,21 +83,21 @@ loc_152: ld hl,byte_17A3 ; CODE XREF: start+46j jr nz,loc_164 ld a,(byte_17A1) ld (hl),a -loc_164: ld bc,0Dh ; CODE XREF: start+5Ej +loc_164: ld bc,0Dh add hl,bc dec de ldi ld de,byte_17A3 call sub_1B0 call sub_3C9 -loc_174: ld de,str_sxfr ; CODE XREF: start+25j start+3Bj +loc_174: ld de,str_sxfr ld c,C_WRITESTR - call bdos ; Output string + call bdos call sub_3EF call sub_8D1 call sub_451 smod_b_186: .equ $+1 -loc_185: ld bc,0 ; DATA XREF: sub_195+17w +loc_185: ld bc,0 ld (word_17A2),bc ld de,byte_17A3 call sub_1B0 @@ -107,7 +107,7 @@ loc_185: ld bc,0 ; DATA XREF: sub_195+17w ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_195: ld a,(4) ; CODE XREF: start+15p +sub_195: ld a,(4) ld b,a rlca rlca @@ -126,7 +126,7 @@ sub_195: ld a,(4) ; CODE XREF: start+15p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1B0: ld a,(de) ; CODE XREF: start+6Ep start+8Fp +sub_1B0: ld a,(de) push af dec de ld a,(de) @@ -170,25 +170,25 @@ str_info: .text "usage: rz [-?pbcrxyz] [du:fn]\r\n\n" ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_39A: push hl ; CODE XREF: start+48p +sub_39A: push hl push de -loc_39C: inc de ; CODE XREF: sub_39A+12j +loc_39C: inc de ld a,(de) or a jr z,loc_3AE - ld hl,loc_3B1 + ld hl,stab_3B1 ld bc,8 cpir call z,sub_67F jr loc_39C -loc_3AE: pop de ; CODE XREF: sub_39A+5j +loc_3AE: pop de pop hl ret ;---------------------------------------------------------------------------- -loc_3B1: .text "?PBCXYZR" +stab_3B1: .text "?PBCXYZR" .dw sub_3E9 .dw sub_3D1 @@ -202,7 +202,7 @@ loc_3B1: .text "?PBCXYZR" ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_3C9: ld a,1 ; CODE XREF: start+71p +sub_3C9: ld a,1 jr loc_3D3 sub_3CD: ld a,3 jr loc_3D3 @@ -228,11 +228,11 @@ sub_3E9: ld a,$ff ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_3EF: xor a ; CODE XREF: start+7Cp +sub_3EF: xor a ld (byte_460),a ld (byte_464),a ld c,S_SYSVAR - ld de,45Fh + ld de,byte_45F call bdos ; Access the system variables ld a,h cpl @@ -265,7 +265,7 @@ sub_3EF: xor a ; CODE XREF: start+7Cp and e ld l, a ld (word_469),hl -loc_437: ld a,0FEh ; CODE XREF: sub_451+Cj +loc_437: ld a,0FEh ld (byte_464),a ld de,byte_463 ld c,S_SYSVAR @@ -279,42 +279,42 @@ loc_437: ld a,0FEh ; CODE XREF: sub_451+Cj ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_451: ld hl,(word_46B) ; CODE XREF: start+82p +sub_451: ld hl,(word_46B) ld (word_465),hl ld hl,(word_46D) ld (word_469),hl jr loc_437 -;---------------------------------------------------------------------------- - .db 28h ; ( -byte_460: .db 0 ; DATA XREF: sub_3EF+1w - .db 0 ; - .db 0 ; -byte_463: .db 24h ; $ -byte_464: .db 0 ; DATA XREF: sub_3EF+4w sub_3EF+4Aw -word_465: .dw 0 ; DATA XREF: sub_3EF+2Dw -byte_467: .db 22h ; " -byte_468: .db 0 ; DATA XREF: sub_3EF+57w -word_469: .dw 0 ; DATA XREF: sub_3EF+45w -word_46B: .dw 0 ; DATA XREF: sub_3EF+20w -word_46D: .dw 0 ; DATA XREF: sub_3EF+38w -word_46F: .dw 0 ; DATA XREF: sub_3EF+15w +;----------------------------------------------------------------------------' +byte_45F: .db 28h +byte_460: .db 0 + .db 0 + .db 0 +byte_463: .db 24h +byte_464: .db 0 +word_465: .dw 0 +byte_467: .db 22h +byte_468: .db 0 +word_469: .dw 0 +word_46B: .dw 0 +word_46D: .dw 0 +word_46F: .dw 0 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_471: call bdos ; CODE XREF: sub_961+92p - or a ; seg000:0A29p ... +sub_471: call bdos + or a ret ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_476: push af ; CODE XREF: sub_4A4+37p -loc_477: push bc ; CODE XREF: sub_476+8j - xor a - ld b,a +sub_476: push af +loc_477: push bc + xor a + ld b,a ld c,a cpir pop bc @@ -325,7 +325,7 @@ loc_477: push bc ; CODE XREF: sub_476+8j ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_482: ld a,(byte_2D04) ; CODE XREF: sub_1289+122p +sub_482: ld a,(byte_2D04) ld de,text495h ; Update error string with errors call sub_16E7 ld de,text493h @@ -341,7 +341,7 @@ text495h: .db 0,0,0 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_4A4: ld de,byte_17A3 ; CODE XREF: sub_961+82p +sub_4A4: ld de,byte_17A3 ld hl,byte_4F8 ld (hl),3Ah inc hl @@ -406,7 +406,7 @@ text508h: .text "\r\n$" ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_50B: ld hl,loc_2CAB ; CODE XREF: sub_D0Ep sub_D30+30p +sub_50B: ld hl,loc_2CAB ld de,loc_51F call loc_774 ld (hl),24h @@ -429,26 +429,34 @@ loc_51F: .db 0 ; .db 0 ; loc_529: ld hl,str_busy +smod_52D: .equ $+1 ; self modifying ld a,0 inc a and 3 - ld (052Dh),a + ld (smod_52D),a ld e,a ld d,0 add hl,de ld a,(hl) - ld (0549h),a - ld de,0548h + ld (str_sav),a + ld de,str_rev ld c,9 jp bdos -str_busy: .text "|/-\\ |\b\b$" - - ld de,0569h +str_busy: .db 7ch ; | + .db 02fh ; / + .db 2dh ; - + .db 5ch ; \ +str_rev: .db 20h ; +str_sav: .db 7ch ; | + .db 08h ; /b + .db 08h ; /b + .db 24h ; $ + + ld de,text569h jr sub_555 ;---------------------------------------------------------------------------- - ; S u b r o u t i n e sub_552: ld de,text55Ah @@ -461,28 +469,23 @@ text55Ah: .text "File skipped\r\n$" text569h: .text "can't open any file\r\n$" ;---------------------------------------------------------------------------- - ; S u b r o u t i n e -sub_57F: ; CODE XREF: sub_DE7+Dp - ld hl,byte_586 +sub_57F: ld hl,byte_586 ld (hl),a inc hl ld (hl),c ret -; End of function sub_57F ;---------------------------------------------------------------------------- -byte_586: .db 0 ; -byte_587: .db 0 ; DATA XREF: sub_5B4r -;---------------------------------------------------------------------------- +byte_586: .db 0 +byte_587: .db 0 +;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_588: ; CODE XREF: sub_588+1Fj - ; sub_5D4+4p ... - or a +sub_588: or a ld hl,(word_1808) ld de,1000h sbc hl,de @@ -494,100 +497,82 @@ sub_588: ; CODE XREF: sub_588+1Fj ld c,A_READ call bdos ; Auxiliary (Reader) input ld c,a - ld hl,1808h + ld hl,word_1808 call sub_61C jr sub_588 + ;---------------------------------------------------------------------------- -loc_5A9: ; CODE XREF: sub_588+9j sub_588+11j - ld hl,587h +loc_5A9: ld hl,587h or (hl) ret nz - ld hl,(1808h) + ld hl,(word_1808) ld a,h or l ret -; End of function sub_588 - ;---------------------------------------------------------------------------- - ; S u b r o u t i n e -sub_5B4: ; CODE XREF: sub_5D4+12p - ld a,(byte_587) +sub_5B4: ld a,(byte_587) or a - ld hl,1808h + ld hl,word_1808 jp z,loc_5F7 push af - ld hl,587h + ld hl,byte_587 dec (hl) dec hl pop af ld a,(hl) ret -; End of function sub_5B4 ;---------------------------------------------------------------------------- loc_5C7: LD C,4 ; punch out LD E,A JP bdos -;---------------------------------------------------------------------------- +;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_5CD: ld c,8 ; CODE XREF: seg000:1462p +sub_5CD: ld c,8 call bdos ; BDOS function 8 (A_STATOUT) - Auxiliary Output status or a ret -; End of function sub_5CD ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_5D4: ; CODE XREF: sub_DE7+11p +sub_5D4: push bc ld b,5Fh - -loc_5D7: ; CODE XREF: sub_5D4+Dj - push bc +loc_5D7: push bc call sub_588 pop bc jr nz,loc_5E6 call sub_5EB djnz loc_5D7 call sub_588 - -loc_5E6: ; CODE XREF: sub_5D4+8j - call nz,sub_5B4 +loc_5E6: call nz,sub_5B4 pop bc ret -; End of function sub_5D4 - ;---------------------------------------------------------------------------- - ; S u b r o u t i n e -sub_5EB: ; CODE XREF: sub_5D4+Ap - push bc +sub_5EB: push bc ; Delay ld a,4 ld b,0 - -loc_5F0: ; CODE XREF: sub_5EB+5j sub_5EB+8j - djnz loc_5F0 +loc_5F0: djnz loc_5F0 dec a jr nz,loc_5F0 pop bc ret -; End of function sub_5EB ;---------------------------------------------------------------------------- -loc_5F7: ; CODE XREF: sub_5B4+7j - ld e,(hl) +loc_5F7: ld e,(hl) inc hl ld d,(hl) ld a,d @@ -624,8 +609,7 @@ loc_5F7: ; CODE XREF: sub_5B4+7j ; S u b r o u t i n e -sub_61C: ; CODE XREF: sub_588+1Cp - or a +sub_61C: or a push hl ld e,(hl) inc hl @@ -659,51 +643,31 @@ sub_61C: ; CODE XREF: sub_588+1Cp pop hl ld (hl),c ret -; End of function sub_61C - ;---------------------------------------------------------------------------- - ; S u b r o u t i n e -sub_643: ; CODE XREF: sub_961+54p - ; sub_11FA+69p - ld hl,17A2h +sub_643: ld hl,word_17A2 ld b,25h jr loc_650 -; End of function sub_643 - ;---------------------------------------------------------------------------- - ; S u b r o u t i n e -sub_64A: ; CODE XREF: sub_961+9Ep - ; seg000:0A63p - ld b,3 +sub_64A: ld b,3 jr loc_650 -; End of function sub_64A - ;---------------------------------------------------------------------------- - ; S u b r o u t i n e -sub_64E: ; CODE XREF: sub_8D1+Cp sub_BD3+2Fp - ld b,6 - -loc_650: ; CODE XREF: sub_643+5j sub_64A+2j - xor a +sub_64E: ld b,6 +loc_650: xor a jp sub_1786 -; End of function sub_64E - ;---------------------------------------------------------------------------- - ; S u b r o u t i n e -sub_654: ; CODE XREF: seg000:0AAEp - xor a +sub_654: xor a or (hl) ret z dec (hl) @@ -721,7 +685,6 @@ sub_654: ; CODE XREF: seg000:0AAEp ret nc ccf ret -; End of function sub_654 ;---------------------------------------------------------------------------- @@ -745,12 +708,9 @@ sub_669: LD A,80H RET ;---------------------------------------------------------------------------- - ; S u b r o u t i n e -sub_67F: ; CODE XREF: sub_39A+Fp sub_BD3+42j - - add hl,bc +sub_67F: add hl,bc sla c add hl,bc ld c,(hl) @@ -758,33 +718,28 @@ sub_67F: ; CODE XREF: sub_39A+Fp sub_BD3+42j ld h,(hl) ld l, c jp (hl) -; End of function sub_67F ;---------------------------------------------------------------------------- - ; S u b r o u t i n e -sub_688: ; CODE XREF: seg000:0726p sub_BD3+13p - - xor a +sub_688: xor a push bc push de push hl ld (hl),a ld d,h - ld e, l + ld e,l inc de jr loc_697 -; End of function sub_688 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_692: push bc ; CODE XREF: seg000:077Bp seg000:07ADp +sub_692: push bc push de push hl ldi -loc_697: ldi ; CODE XREF: sub_688+8j +loc_697: ldi ldi ldi pop hl @@ -794,39 +749,39 @@ loc_697: ldi ; CODE XREF: sub_688+8j ;---------------------------------------------------------------------------- -loc_6A1: PUSH HL ;unref. ? - POP IX ;unref. ? - PUSH DE ;unref. ? - POP IY ;unref. ? - LD A,(IX+3) ;unref. ? - XOR (IY+3) ;unref. ? - JP P,loc_6B6 ;unref. ? - XOR (IX+3) ;unref. ? -loc_6B3: RET M ;unref. ? - CCF ;unref. ? - RET ;unref. ? +loc_6A1: PUSH HL + POP IX + PUSH DE + POP IY + LD A,(IX+3) + XOR (IY+3) + JP P,loc_6B6 + XOR (IX+3) +loc_6B3: RET M + CCF + RET -loc_6B6: XOR (IX+3) ;unref. ? - JP P,loc_6C2 ;unref. ? - CALL loc_6C2 ;unref. ? - SCF ;unref. ? - JR loc_6B3 ;unref. ? +loc_6B6: XOR (IX+3) + JP P,loc_6C2 + CALL loc_6C2 + SCF + JR loc_6B3 loc_6C2: PUSH BC - PUSH DE ;unref. ? - PUSH HL ;unref. ? - EX DE,HL ;unref. ? - OR A ;unref. ? - LD B,4 ;unref. ? -loc_6C9: LD A,(DE) ;unref. ? - SBC A,(HL) ;unref. ? - INC DE ;unref. ? - INC HL ;unref. ? - DJNZ loc_6C9 ;unref. ? - POP HL ;unref. ? - POP DE ;unref. ? - POP BC ;unref. ? - RET ;unref. ? + PUSH DE + PUSH HL + EX DE,HL + OR A + LD B,4 +loc_6C9: LD A,(DE) + SBC A,(HL) + INC DE + INC HL + DJNZ loc_6C9 + POP HL + POP DE + POP BC + RET sub_6D3: PUSH BC PUSH DE @@ -846,14 +801,13 @@ loc_6E0: POP HL ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_6E4: push bc ; CODE XREF: sub_11FA+4Bp +sub_6E4: push bc push de push hl or a ex af, af' ld a,4 - -loc_6EB: ex af, af' ; CODE XREF: sub_6E4+10j +loc_6EB: ex af, af' ld a,(de) adc a,(hl) ld (bc),a @@ -871,14 +825,14 @@ loc_6EB: ex af, af' ; CODE XREF: sub_6E4+10j ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_6FA: push bc ; CODE XREF: seg000:0799p +sub_6FA: push bc push de push hl ex de,hl or a ex af, af' ld a,4 -loc_702: ex af, af' ; CODE XREF: sub_6FA+11j +loc_702: ex af, af' ld a,(de) sbc a,(hl) ld (bc),a @@ -914,14 +868,14 @@ loc_723: POP HL ;---------------------------------------------------------------------------- -loc_726: call sub_688 ; CODE XREF: sub_8A0+Cj -sub_729: push bc ; CODE XREF: seg000:0A77p +loc_726: call sub_688 +sub_729: push bc push hl ld a,(hl) sub 1 ld (hl),a ld b,3 -loc_731: inc hl ; CODE XREF: sub_729+Dj +loc_731: inc hl ld a,(hl) sbc a,0 ld (hl),a @@ -954,17 +908,17 @@ loc_741: PUSH AF ;---------------------------------------------------------------------------- -loc_750: .db 0, 0CAh,9Ah,3Bh - .db 0, 0E1h,0F5h, 5 - .db 80h, 96h, 98h, 0 - .db 40h, 42h, 0Fh, 0 - .db 0A0h, 86h, 1, 0 - .db 10h, 27h, 0, 0 - .db 0E8h, 3, 0, 0 - .db 64h, 0, 0, 0 - .db 0Ah, 0, 0, 0 +loc_750: .db 0, 0CAh, 9Ah, 3Bh + .db 0, 0E1h, 0F5h, 5 + .db 80h, 96h, 98h, 0 + .db 40h, 42h, 0Fh, 0 + .db 0A0h, 86h, 1, 0 + .db 10h, 27h, 0, 0 + .db 0E8h, 3, 0, 0 + .db 64h, 0, 0, 0 + .db 0Ah, 0, 0, 0 -loc_774: ld (smod_w_7BF),de; CODE XREF: sub_50B+6p +loc_774: ld (smod_w_7BF),de ld de,byte_2891 call sub_692 ld c,+(loc_774-loc_750)/4 @@ -978,7 +932,7 @@ loc_787: ld a,30h inc de inc de ld b,0Ah -loc_792: push bc ; CODE XREF: seg000:07B1j +loc_792: push bc ld hl,byte_2891 ld bc,loc_2895 call sub_6FA @@ -1026,14 +980,15 @@ smod_b_7DF: .EQU $+1 POP AF RET -loc_7E5: .db 20h ; - .db 83h ; ? - .db 0B8h ; ¸ - .db 0EDh ; í -loc_7E9: .db 0E3h ; ã - .db 20h ; - .db 0BBh ; » - .db 0DEh ; Þ +loc_7E5: .db 20h + .db 83h + .db 0B8h + .db 0EDh + +loc_7E9: .db 0E3h + .db 20h + .db 0BBh + .db 0DEh sub_7ED: PUSH AF smod_w_7F0: .EQU $+2 @@ -1064,7 +1019,7 @@ smod_w_7F0: .EQU $+2 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_825: push de ; CODE XREF: sub_8D1+Fp +sub_825: push de push hl ld hl,(smod_w_7F0) ld bc,3FFh @@ -1073,13 +1028,13 @@ sub_825: push de ; CODE XREF: sub_8D1+Fp pop iy ld ix, loc_7E5 xor a -loc_836: push af ; CODE XREF: sub_825+5Bj +loc_836: push af ld hl,0FFFFh ld de,0FFFFh xor e ld e, a ld b,8 -loc_841: scf ; CODE XREF: sub_825+3Bj +loc_841: scf rr h rr l rr d @@ -1097,7 +1052,7 @@ loc_841: scf ; CODE XREF: sub_825+3Bj ld a,h xor (ix+3) ld h,a -loc_860: djnz loc_841 ; CODE XREF: sub_825+25j +loc_860: djnz loc_841 ld a,h cpl ld (iy+0), a @@ -1123,10 +1078,10 @@ loc_860: djnz loc_841 ; CODE XREF: sub_825+25j ;---------------------------------------------------------------------------- -sub_885: PUSH AF ; CODE XREF: sub_13BA+Fp -smod_w_887: .equ $+1 ; self modifying +sub_885: PUSH AF +smod_w_887: .equ $+1 LD HL,0 - LD DE,1021H + LD DE,1021H ; ? XOR H LD H,A LD B,8 @@ -1146,7 +1101,7 @@ loc_899: DJNZ loc_890 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_8A0: xor a ; CODE XREF: sub_13BA+9p +sub_8A0: xor a ld h,a ld l, a ld (smod_b_7DF),a @@ -1156,29 +1111,29 @@ sub_8A0: xor a ; CODE XREF: sub_13BA+9p ;---------------------------------------------------------------------------- -byte_8AF: .db 4 ; DATA XREF: sub_3C9+Aw sub_8D1+34r -byte_8B0: .db 0 ; DATA XREF: sub_8D1+23r -byte_8B1: .db 0 ; DATA XREF: sub_961r -byte_8B2: .db 0 ; DATA XREF: sub_961+14r -byte_8B3: .db 0 ; DATA XREF: seg000:0A3Cr -word_8B4: .dw 0 ; DATA XREF: sub_8B6+17w +byte_8AF: .db 4 +byte_8B0: .db 0 +byte_8B1: .db 0 +byte_8B2: .db 0 +byte_8B3: .db 0 +word_8B4: .dw 0 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_8B6: xor a ; CODE XREF: sub_8D1+20p +sub_8B6: xor a ld c,a ld b,8 ld a,h -loc_8BB: rlca ; CODE XREF: sub_8B6+Cj - set 7, c +loc_8BB: rlca + set 7,c jr c,loc_8C4 rr c djnz loc_8BB -loc_8C4: ld a,h ; CODE XREF: sub_8B6+8j +loc_8C4: ld a,h and c ld h,a - ld l, 0 + ld l,0 ld (word_2CEB),hl dec hl ld (word_8B4),hl @@ -1187,11 +1142,11 @@ loc_8C4: ld a,h ; CODE XREF: sub_8B6+8j ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_8D1: xor a ; CODE XREF: start+7Fp +sub_8D1: xor a ld hl,byte_2C9D ld b,61h call sub_1786 - ld hl,1808h + ld hl,word_1808 call sub_64E call sub_825 ld hl,(word_179E) @@ -1205,7 +1160,7 @@ sub_8D1: xor a ; CODE XREF: start+7Fp cp 0 jr z,loc_8FD ld a,7 -loc_8FD: ld (byte_2CA4),a ; CODE XREF: sub_8D1+28j +loc_8FD: ld (byte_2CA4),a ld a,10h ld (byte_2C9E),a ld a,(byte_8AF) @@ -1223,59 +1178,55 @@ loc_8FD: ld (byte_2CA4),a ; CODE XREF: sub_8D1+28j jr nz,loc_924 jr locret_953 -loc_924: call sub_BB4 ; CODE XREF: sub_8D1+4Bj - jr c,loc_954 ; sub_8D1+4Fj +loc_924: call sub_BB4 + jr c,loc_954 jr locret_953 ;---------------------------------------------------------------------------- -loc_92B: ld a,3 ; CODE XREF: sub_8D1+47j - ld (byte_8AF),a ; sub_8D1+74j +loc_92B: ld a,3 + ld (byte_8AF),a xor a ld (byte_2D04),a call sub_11C1 jr c,loc_954 call sub_961 jr c,loc_954 - jr z,locret_953 + jr z,locret_953 ; ret z ? call sub_11FA jr c,loc_954 jr loc_92B ;---------------------------------------------------------------------------- -loc_947: call sub_961 ; CODE XREF: sub_8D1+39j +loc_947: call sub_961 jr c,loc_954 - jr z,locret_953 + jr z,locret_953 ; ret z ? call sub_11FA jr c,loc_954 -locret_953: ret ; CODE XREF: sub_8D1+51j +locret_953: ret ;---------------------------------------------------------------------------- -loc_954: call sub_DD9 ; CODE XREF: sub_8D1+43j - ld a,(byte_2CA5) ; sub_8D1+56j +loc_954: call sub_DD9 + ld a,(byte_2CA5) cp 0FFh call z,sub_D0E - jr locret_953 + jr locret_953 ; ret ? ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_961: ; CODE XREF: sub_8D1+68p - ; sub_8D1+76p ... - ld a,(byte_8B1) +sub_961: ld a,(byte_8B1) cpl - ld hl,8B2h + ld hl,byte_8B2 or (hl) ld (byte_2CA3),a ld a,(byte_2CA4) or a jr z,loc_975 ld (byte_2CA1),a - -loc_975: ; CODE XREF: sub_961+Fj - ld a,(byte_8B2) +loc_975: ld a,(byte_8B2) cp 0FFh jr z,loc_988 ld a,(byte_2CA2) @@ -1283,17 +1234,12 @@ loc_975: ; CODE XREF: sub_961+Fj jr nz,loc_988 ld a,0 ld (byte_2CA3),a - -loc_988: ; CODE XREF: sub_961+19j - ; sub_961+20j - ld a,(byte_2CA2) +loc_988: ld a,(byte_2CA2) cp 1 jr nz,loc_994 ld a,0FFh ld (byte_2CA3),a - -loc_994: ; CODE XREF: sub_961+2Cj - ld a,(byte_2CA1) +loc_994: ld a,(byte_2CA1) cp 7 jr z,loc_9AE ld a,(byte_2CA1) @@ -1304,10 +1250,7 @@ loc_994: ; CODE XREF: sub_961+2Cj jr nz,loc_9AE ld a,7 ld (byte_2CA1),a - -loc_9AE: ; CODE XREF: sub_961+38j - ; sub_961+3Fj ... - ld a,(byte_8AF) +loc_9AE: ld a,(byte_8AF) cp 3 jr c,loc_9E3 call sub_643 @@ -1332,8 +1275,8 @@ loc_9AE: ; CODE XREF: sub_961+38j call sub_1492 ld hl,(byte_17A0) ld (word_17A2),hl -loc_9E3: call sub_4A4 ; CODE XREF: sub_961+52j - ld de,byte_17A3 ; seg000:0A2Cj +loc_9E3: call sub_4A4 + ld de,byte_17A3 call sub_169E jr nz,loc_A11 ld de,byte_17A3 @@ -1347,14 +1290,14 @@ loc_9E3: call sub_4A4 ; CODE XREF: sub_961+52j ld a,(byte_2CD1) cp 2 jr c,loc_A0D -sub_A09: ld de,(byte_2CD4) ; CODE XREF: seg000:0A11p -loc_A0D: ld a,1 ; CODE XREF: sub_961+A6j +sub_A09: ld de,(byte_2CD4) +loc_A0D: ld a,1 or a ret ;---------------------------------------------------------------------------- -loc_A11: call sub_A09 ; CODE XREF: sub_961+8Bj +loc_A11: call sub_A09 ld a,(byte_8AF) cp 4 jr nz,loc_A24 @@ -1362,31 +1305,27 @@ loc_A11: call sub_A09 ; CODE XREF: sub_961+8Bj cp 7 jr nz,loc_A35 jr loc_A2E + ;---------------------------------------------------------------------------- -loc_A24: ; CODE XREF: seg000:0A19j seg000:0A41j - ld de,byte_17A3 +loc_A24: ld de,byte_17A3 ld c,13h call sub_471 jr nc,loc_9E3 - -loc_A2E: ; CODE XREF: seg000:0A22j - call sub_552 +loc_A2E: call sub_552 ld a,5 scf ret + ;---------------------------------------------------------------------------- -loc_A35: ; CODE XREF: seg000:0A20j - ld a,(byte_2CA1) +loc_A35: ld a,(byte_2CA1) cp 3 jr z,loc_A43 ld a,(byte_8B3) cp 0FFh jr nz,loc_A24 - -loc_A43: ; CODE XREF: seg000:0A3Aj - ld de,2811h +loc_A43: ld de,loc_2811 ld c,1Ah call bdos ; BDOS function 26 (F_DMAOFF) - Set DMA address ld e, 1 @@ -1412,9 +1351,7 @@ loc_A43: ; CODE XREF: seg000:0A3Aj call sub_692 ex de,hl ld b,7 - -loc_A83: ; CODE XREF: seg000:0A90j - push hl +loc_A83: push hl sla (hl) inc hl rl (hl) @@ -1434,40 +1371,35 @@ loc_A83: ; CODE XREF: seg000:0A90j ld a,9 or a ret + ;---------------------------------------------------------------------------- -loc_AA6: ; CODE XREF: seg000:0AA0j - ld a,80h +loc_AA6: ld a,80h ld (byte_280E),a - -loc_AAB: ; CODE XREF: seg000:0AB5j - ld hl,byte_280E +loc_AAB: ld hl,byte_280E call sub_654 jr z,loc_AC6 cp 1Ah jr nz,loc_AAB - ld a,(2810h) + ld a,(byte_2810) dec a - ld (280Fh),a + ld (byte_280F),a ld hl,byte_280E ld a,7Fh sub (hl) jr loc_AC8 -;---------------------------------------------------------------------------- -loc_AC6: ; CODE XREF: seg000:0AB1j - ld a,80h +;---------------------------------------------------------------------------- -loc_AC8: ; CODE XREF: seg000:0AC4j - ld (byte_280E),a +loc_AC6: ld a,80h +loc_AC8: ld (byte_280E),a ld a,1 or a ret + ;---------------------------------------------------------------------------- -loc_ACF: ; CODE XREF: sub_8D1+40p - ; sub_BB4+Ep - xor a +loc_ACF: xor a ld (byte_2D04),a ld a,4 ld hl,8AFh @@ -1486,13 +1418,13 @@ loc_ACF: ; CODE XREF: sub_8D1+40p ld b,0Ah loc_AF3: push bc - ld ix,loc_2CE0 ; CODE XREF: seg000:0AEFj + ld ix,loc_2CE0 ld (ix+3), 20h ld (ix+2), 0 ld hl,(word_2CEB) ld (ix+0), l ld (ix+1), h -smod_b_B0A: .equ $+1 ; DATA XREF: sub_8D1+3Dw +smod_b_B0A: .equ $+1 ld a,1 ; self modifying value CALL sub_13BA LD A,(smod_b_B0A) @@ -1500,7 +1432,7 @@ smod_b_B0A: .equ $+1 ; DATA XREF: sub_8D1+3Dw JR NZ,0B1AH LD A,1 LD (smod_b_B0A),A -loc_B1A: CALL 0FD1H +loc_B1A: CALL sub_FD1 LD HL,loc_B96 LD BC,0AH CPIR @@ -1519,7 +1451,7 @@ loc_B34: POP BC RET loc_B39: POP BC - CALL 0D9BH + CALL sub_D9B LD A,0FH RET @@ -1562,16 +1494,16 @@ loc_B7B: LD HL,loc_2CA7 LD A,4 RET -loc_B96: .db 0 ; - .db 0Bh ; - .db 0FEh ; þ - .db 4 ; - .db 2 ; - .db 11h ; - .db 12h ; - .db 0Fh ; - .db 8 ; - .db 10h ; +loc_B96: .db 0 + .db 0Bh + .db 0FEh + .db 4 + .db 2 + .db 11h + .db 12h + .db 0Fh + .db 8 + .db 10h loc_BA0: .dw loc_B34 .dw loc_B39 @@ -1587,8 +1519,8 @@ loc_BA0: .dw loc_B34 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_BB4: call sub_BD3 ; CODE XREF: sub_8D1+53p - ret c ; sub_BB4+14j +sub_BB4: call sub_BD3 + ret c cp 0Bh jr z,loc_BC2 cp 5 @@ -1598,7 +1530,7 @@ sub_BB4: call sub_BD3 ; CODE XREF: sub_8D1+53p ;---------------------------------------------------------------------------- -loc_BC2: call loc_ACF ; CODE XREF: sub_BB4+6j sub_BB4+Aj +loc_BC2: call loc_ACF ret c cp 4 jr z,sub_BB4 @@ -1612,18 +1544,18 @@ loc_BC2: call loc_ACF ; CODE XREF: sub_BB4+6j sub_BB4+Aj ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_BD3: call sub_961 ; CODE XREF: sub_BB4p +sub_BD3: call sub_961 jr nc,loc_BDF ld a,5 ld (smod_b_B0A),a or a ret -loc_BDF: cp 9 ; CODE XREF: sub_BD3+3j +loc_BDF: cp 9 jr z,loc_BE9 ld hl,loc_2CAB call sub_688 -loc_BE9: xor a ; CODE XREF: sub_BD3+Ej +loc_BE9: xor a ld (byte_2D04),a call sub_FAA loc_BF0: call sub_FC9 @@ -1775,10 +1707,10 @@ stab_CF9: .db 0EBh ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_D0E: call sub_50B ; CODE XREF: sub_8D1+8Bp - call sub_D30 ; sub_11FA+64p +sub_D0E: call sub_50B + call sub_D30 ret c -loc_D15: ld a,1Ah ; CODE XREF: sub_D0E+13j +loc_D15: ld a,1Ah call loc_D68 ret c ld hl,byte_280E @@ -1794,16 +1726,16 @@ loc_D15: ld a,1Ah ; CODE XREF: sub_D0E+13j ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_D30: ld bc,(word_2CF5) ; CODE XREF: sub_BD3+20p - ld a,b ; sub_D0E+3p ... +sub_D30: ld bc,(word_2CF5) + ld a,b or c ret z ld hl,(word_2CE9) -loc_D3A: ld a,(byte_2CA3) ; CODE XREF: sub_D30+2Ej +loc_D3A: ld a,(byte_2CA3) cp 0FFh jr z,loc_D52 smod_b_D41: .equ $+1 -loc_D41: ld a,0 ; DATA XREF: sub_D30+23w +loc_D41: ld a,0 cp 0Dh jr z,loc_D52 ld a,(hl) @@ -1812,7 +1744,7 @@ loc_D41: ld a,0 ; DATA XREF: sub_D30+23w ld a,0Dh call loc_D68 ret c -loc_D52: ld a,(hl) ; CODE XREF: sub_D30+Fj sub_D30+15j +loc_D52: ld a,(hl) ld (smod_b_D41),a inc hl dec bc @@ -1828,7 +1760,7 @@ loc_D52: ld a,(hl) ; CODE XREF: sub_D30+Fj sub_D30+15j ;---------------------------------------------------------------------------- -loc_D68: ld (byte_D6F),a ; CODE XREF: sub_D0E+9p sub_D30+1Ep +loc_D68: ld (byte_D6F),a push bc push de push hl @@ -1839,13 +1771,13 @@ loc_D6E: LD C,0 JR NZ,loc_0D97 LD HL,byte_280E CALL sub_64A - LD C,1AH ;set dma - LD DE,2811H + LD C,1AH ; set dma + LD DE,loc_2811 CALL bdos - LD C,2CH ;??? + LD C,2CH LD E,1 CALL bdos - LD C,15H ;wr. seq. + LD C,15H ; wr. seq. LD DE,byte_17A3 CALL sub_471 JR NC,loc_D6E @@ -1901,8 +1833,8 @@ stab_DC4: .db 18h ; ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_DD9: ld hl,stab_DC4 ; CODE XREF: sub_8D1+83p -sub_DDC: ld a,(hl) ; CODE XREF: sub_DDC+9j sub_13BA+6p +sub_DD9: ld hl,stab_DC4 +sub_DDC: ld a,(hl) inc hl or a ret z @@ -1914,22 +1846,22 @@ sub_DDC: ld a,(hl) ; CODE XREF: sub_DDC+9j sub_13BA+6p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_DE7: push bc ; CODE XREF: sub_FD1+11p - call sub_16AA ; sub_11C1+2Dp ... +sub_DE7: push bc + call sub_16AA call nz,sub_16A5 cp 1Bh ld a,18h ld c,0Ah call z,sub_57F pop bc -loc_DF8: call sub_5D4 ; CODE XREF: sub_DE7+16j +loc_DF8: call sub_5D4 jr nz,loc_E03 djnz loc_DF8 ld a,0FEh scf ret -loc_E03: or a ; CODE XREF: sub_DE7+14j +loc_E03: or a ret ;---------------------------------------------------------------------------- @@ -2179,15 +2111,15 @@ sub_FA2: LD E,A ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_FAA: ld hl,word_2CE9 ; CODE XREF: seg000:0AE5p sub_BD3+1Ap +sub_FAA: ld hl,word_2CE9 ld de,word_2CED ldi ldi ld hl,0 ld (word_2CEF),hl -sub_FBA: ld hl,word_2CED ; CODE XREF: sub_11FA+4Ep +sub_FBA: ld hl,word_2CED ld de,loc_2CF3 -loc_FC0: ldi ; CODE XREF: sub_FC9+6j +loc_FC0: ldi ldi ldi ldi @@ -2196,18 +2128,18 @@ loc_FC0: ldi ; CODE XREF: sub_FC9+6j ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_FC9: ld hl,loc_2CF3 ; CODE XREF: sub_BD3+1Dp - ld de,word_2CED ; sub_11FA+56p ... +sub_FC9: ld hl,loc_2CF3 + ld de,word_2CED jr loc_FC0 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_FD1: xor a ; CODE XREF: sub_BD3+37p +sub_FD1: xor a ld (byte_2D01),a ld hl,400h ld (word_2CFE),hl -loc_FDB: ld a,5 ; CODE XREF: sub_FD1+61j +loc_FDB: ld a,5 ld (byte_2D00),a loc_FE0: ld b,64h call sub_DE7 @@ -2240,13 +2172,13 @@ loc_FE0: ld b,64h JR loc_FE0 LD B,0AH - CALL sub_DE7 - JR C,loc_1035 -loc_1024: ld hl,(word_2CFE) ; CODE XREF: sub_FD1+22j - dec hl - ld (word_2CFE),hl - ld a,h - or l + CALL sub_DE7 + JR C,loc_1035 +loc_1024: ld hl,(word_2CFE) + dec hl + ld (word_2CFE),hl + ld a,h + or l ld a,0FCh jp z,loc_108A jp loc_FDB @@ -2292,17 +2224,17 @@ loc_107F: PUSH AF LD DE,loc_2CE4 CALL sub_692 POP AF -loc_108A: ld hl,stab_10BF ; CODE XREF: sub_FD1+14j - ld bc,6 ; sub_FD1+5Ej +loc_108A: ld hl,stab_10BF + ld bc,6 cpir jr nz,loc_109C cp 98h jr nz,loc_109A ld a,10h -loc_109A: scf ; CODE XREF: sub_FD1+C5j +loc_109A: scf ret -loc_109C: or a ; CODE XREF: sub_FD1+C1j +loc_109C: or a ret ;---------------------------------------------------------------------------- @@ -2503,19 +2435,19 @@ loc_11BC: LD L,A ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_11C1: ld a,0FFh ; CODE XREF: sub_8D1+63p - ld (byte_2D02),a ; sub_11C1+30j - call sub_FAA - ld a,(byte_2C9E) - cp 10h - ld a,43h - jr z,loc_11D4 - ld a,15h - -loc_11D4: call loc_145C ; CODE XREF: sub_11C1+Fj - ld b,64h - call sub_1289 - or a +sub_11C1: ld a,0FFh + ld (byte_2D02),a + call sub_FAA + ld a,(byte_2C9E) + cp 10h + ld a,43h + jr z,loc_11D4 + ld a,15h + +loc_11D4: call loc_145C + ld b,64h + call sub_1289 + or a jr z,loc_11F3 cp 0F6h jr z,loc_11E7 @@ -2524,7 +2456,7 @@ loc_11D4: call loc_145C ; CODE XREF: sub_11C1+Fj ret ;---------------------------------------------------------------------------- -loc_11E7: ld a,6 ; CODE XREF: sub_11C1+20j +loc_11E7: ld a,6 call loc_145C ld b,0Ah call sub_DE7 @@ -2532,7 +2464,7 @@ loc_11E7: ld a,6 ; CODE XREF: sub_11C1+20j ;---------------------------------------------------------------------------- -loc_11F3: ld a,6 ; CODE XREF: sub_11C1+1Cj +loc_11F3: ld a,6 call loc_145C xor a ret @@ -2540,8 +2472,8 @@ loc_11F3: ld a,6 ; CODE XREF: sub_11C1+1Cj ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_11FA: ld a,0FFh ; CODE XREF: sub_8D1+6Fp - ld (byte_2D02),a ; sub_8D1+7Dp ... +sub_11FA: ld a,0FFh + ld (byte_2D02),a ld (byte_2CA3),a xor a ld (byte_2D07),a @@ -2553,13 +2485,13 @@ sub_11FA: ld a,0FFh ; CODE XREF: sub_8D1+6Fp ld a,43h jr z,loc_121A ld a,15h -loc_121A: call loc_145C ; CODE XREF: sub_11FA+1Cj -loc_121D: ld a,(byte_2D07) ; CODE XREF: sub_11FA+5Ej +loc_121A: call loc_145C +loc_121D: ld a,(byte_2D07) or a ld b,82h jr z,loc_1227 ld b,32h -loc_1227: call sub_1289 ; CODE XREF: sub_11FA+29j +loc_1227: call sub_1289 jr c,loc_125A push af call sub_50B @@ -2579,12 +2511,12 @@ loc_1227: call sub_1289 ; CODE XREF: sub_11FA+29j call sub_D30 jr c,loc_1285 -loc_1250: call sub_FC9 ; CODE XREF: sub_11FA+3Bj +loc_1250: call sub_FC9 ld a,6 call loc_145C jr loc_121D -loc_125A: cp 0F6h ; CODE XREF: sub_11FA+30j +loc_125A: cp 0F6h jr nz,loc_126D call sub_D0E jr c,loc_1285 @@ -2596,8 +2528,8 @@ loc_125A: cp 0F6h ; CODE XREF: sub_11FA+30j ;---------------------------------------------------------------------------- -loc_126D: cp 0FFh ; CODE XREF: sub_11FA+3Fj - jr nz,loc_1285 ; sub_11FA+62j +loc_126D: cp 0FFh + jr nz,loc_1285 ld a,(byte_2D02) cp 0FFh jr nz,loc_1285 @@ -2608,20 +2540,20 @@ loc_126D: cp 0FFh ; CODE XREF: sub_11FA+3Fj ld (byte_2C9E),a jp sub_11FA -loc_1285: ld a,0FFh ; CODE XREF: sub_11FA+54j - scf ; sub_11FA+67j ... +loc_1285: ld a,0FFh + scf ret ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1289: ld a,b ; CODE XREF: sub_11C1+18p - ld (byte_2D03),a ; sub_11FA+2Dp +sub_1289: ld a,b + ld (byte_2D03),a xor a ld (byte_2D04),a ld a,0 ld (byte_2D09),a -loc_1296: ld a,(byte_2D03) ; CODE XREF: sub_1289+12Aj +loc_1296: ld a,(byte_2D03) ld b,a call sub_DE7 ld (byte_2D08),a @@ -2731,9 +2663,9 @@ loc_1376: ld (hl),a ;---------------------------------------------------------------------------- -loc_137A: ld a,0 ; CODE XREF: sub_1289+22j +loc_137A: ld a,0 ld (byte_2D09),a -loc_137F: ld b,0Ah ; CODE XREF: sub_1289+FBj +loc_137F: ld b,0Ah call sub_DE7 jr nc,loc_137F ld a,(byte_2D02) @@ -2746,11 +2678,11 @@ loc_137F: ld b,0Ah ; CODE XREF: sub_1289+FBj ld a,15h jr loc_13A1 -loc_139A: ld a,28h ; CODE XREF: sub_1289+102j +loc_139A: ld a,28h ld (byte_2D03),a ld a,15h -loc_13A1: call loc_145C ; CODE XREF: sub_1289+10Bj -loc_13A4: call sub_FC9 ; sub_1289+10Fj +loc_13A1: call loc_145C +loc_13A4: call sub_FC9 ld hl,byte_2D04 inc (hl) call sub_482 @@ -2764,7 +2696,7 @@ loc_13A4: call sub_FC9 ; sub_1289+10Fj ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_13BA: ld (byte_2CE8),a ; CODE XREF: sub_BD3+34p +sub_13BA: ld (byte_2CE8),a ld hl,loc_1403 call sub_DDC call sub_8A0 @@ -2773,7 +2705,7 @@ sub_13BA: ld (byte_2CE8),a ; CODE XREF: sub_BD3+34p call sub_1418 ld hl,loc_2CE0 ld b,4 -loc_13D4: push bc ; CODE XREF: sub_13BA+26j +loc_13D4: push bc ld a,(hl) inc hl push hl @@ -2809,8 +2741,8 @@ loc_1408: .text "0123456789abcdef" ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1418: push af ; CODE XREF: sub_13BA+12p - ld hl,loc_1408 ; sub_13BA+21p ... +sub_1418: push af + ld hl,loc_1408 ld b,0 rra rra @@ -2885,7 +2817,7 @@ loc_1480: .dw loc_1450 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1492: push bc ; CODE XREF: start+56p sub_961+79p +sub_1492: push bc ld (byte_2D0A),a call sub_171E push de @@ -2901,7 +2833,7 @@ sub_1492: push bc ; CODE XREF: start+56p sub_961+79p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_14A7: xor a ; CODE XREF: sub_1492+Ep +sub_14A7: xor a ld (de),a ld (byte_2D0D),a ld (byte_2D0C),a @@ -2913,7 +2845,7 @@ sub_14A7: xor a ; CODE XREF: sub_1492+Ep cp 3Ah jr nz,loc_14BD inc hl -loc_14BD: ld b,8 ; CODE XREF: sub_14A7+13j +loc_14BD: ld b,8 call sub_1522 pop de ld a,(hl) @@ -2926,14 +2858,14 @@ loc_14BD: ld b,8 ; CODE XREF: sub_14A7+13j jr z,loc_14D7 call sub_154A jr z,loc_14E5 -loc_14D7: call sub_159D ; CODE XREF: sub_14A7+29j +loc_14D7: call sub_159D jr z,loc_14E5 ld a,(byte_2D0A) or a jr nz,loc_14E5 call sub_154A -loc_14E5: ld a,(byte_2D0D); CODE XREF: sub_14A7+2Ej - ld (de),a ; sub_14A7+33j ... +loc_14E5: ld a,(byte_2D0D) + ld (de),a push de inc de call sub_1632 @@ -2946,7 +2878,7 @@ loc_14E5: ld a,(byte_2D0D); CODE XREF: sub_14A7+2Ej pop de ld a,(hl) ld (byte_2D0B),a -loc_14FE: ld a,(byte_2D0B); CODE XREF: sub_14A7+22j +loc_14FE: ld a,(byte_2D0B) ex de,hl ld bc,8 add hl,bc @@ -2958,21 +2890,21 @@ loc_14FE: ld a,(byte_2D0B); CODE XREF: sub_14A7+22j push de call sub_1522 pop de -loc_1513: ex de,hl ; CODE XREF: sub_14A7+64j +loc_1513: ex de,hl ld bc,5 add hl,bc ex de,hl ld a,(byte_2D0E) ld (de),a -loc_151D: ld a,(byte_2D0C); CODE XREF: sub_1492+13j +loc_151D: ld a,(byte_2D0C) or a ret ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1522: call sub_15D9 ; CODE XREF: sub_14A7+18p - ret z ; sub_14A7+4Fp ... +sub_1522: call sub_15D9 + ret z inc de cp 2Ah jr nz,loc_1533 @@ -2980,12 +2912,12 @@ sub_1522: call sub_15D9 ; CODE XREF: sub_14A7+18p ld (de),a call sub_1543 jr loc_153A -loc_1533: ld (de),a ; CODE XREF: sub_1522+7j +loc_1533: ld (de),a inc hl cp 3Fh call z,sub_1543 -loc_153A: djnz sub_1522 ; CODE XREF: sub_1522+Fj -loc_153C: call sub_15D9 ; CODE XREF: sub_1522+1Fj +loc_153A: djnz sub_1522 +loc_153C: call sub_15D9 ret z inc hl jr loc_153C @@ -2993,8 +2925,8 @@ loc_153C: call sub_15D9 ; CODE XREF: sub_1522+1Fj ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1543: push hl ; CODE XREF: sub_1522+Cp - ld hl,byte_2D0C ; sub_1522+15p +sub_1543: push hl + ld hl,byte_2D0C inc (hl) pop hl ret @@ -3002,8 +2934,8 @@ sub_1543: push hl ; CODE XREF: sub_1522+Cp ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_154A: push hl ; CODE XREF: sub_14A7+2Bp - push de ; sub_14A7+3Bp +sub_154A: push hl + push de call sub_1552 pop de pop hl @@ -3012,7 +2944,7 @@ sub_154A: push hl ; CODE XREF: sub_14A7+2Bp ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1552: call sub_164A ; CODE XREF: sub_154A+2p +sub_1552: call sub_164A jr z,loc_15CA ex de,hl inc hl @@ -3032,9 +2964,9 @@ sub_1552: call sub_164A ; CODE XREF: sub_154A+2p ret z call sub_1625 ret c -loc_1574: push hl ; CODE XREF: sub_1552+Fj +loc_1574: push hl ld b,2 -loc_1577: ld a,(hl) ; CODE XREF: sub_1552+30j +loc_1577: ld a,(hl) cp 20h jr z,loc_1589 call sub_1625 @@ -3044,7 +2976,7 @@ loc_1577: ld a,(hl) ; CODE XREF: sub_1552+30j ld a,(hl) cp 20h jr nz,loc_159A -loc_1589: pop hl ; CODE XREF: sub_1552+28j +loc_1589: pop hl call sub_165A ld c,a inc c @@ -3055,13 +2987,13 @@ loc_1589: pop hl ; CODE XREF: sub_1552+28j xor a ret -loc_159A: pop hl ; CODE XREF: sub_1552+2Dj - jr loc_15CA ; sub_1552+35j +loc_159A: pop hl + jr loc_15CA ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_159D: push hl ; CODE XREF: sub_14A7+30p +sub_159D: push hl push de call sub_15A5 pop de @@ -3071,11 +3003,11 @@ sub_159D: push hl ; CODE XREF: sub_14A7+30p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_15A5: call sub_1662 ; CODE XREF: sub_159D+2p +sub_15A5: call sub_1662 jr z,loc_15CA ex de,hl inc hl -loc_15AC: ld a,(de) ; CODE XREF: sub_15A5+23j +loc_15AC: ld a,(de) or a jr z,loc_15CA inc de @@ -3083,13 +3015,13 @@ loc_15AC: ld a,(de) ; CODE XREF: sub_15A5+23j push hl push de ld b,8 -loc_15B6: ld a,(de) ; CODE XREF: sub_15A5+17j +loc_15B6: ld a,(de) cp (hl) jr nz,loc_15BE inc hl inc de djnz loc_15B6 -loc_15BE: pop de ; CODE XREF: sub_15A5+13j +loc_15BE: pop de pop hl jr z,loc_15CD ex de,hl @@ -3098,10 +3030,10 @@ loc_15BE: pop de ; CODE XREF: sub_15A5+13j ex de,hl jr loc_15AC -loc_15CA: or 0FFh ; CODE XREF: sub_1552+3j - ret ; sub_1552+14j ... +loc_15CA: or 0FFh + ret -loc_15CD: dec de ; CODE XREF: sub_15A5+1Bj +loc_15CD: dec de ld a,(de) ld (byte_2D0E),a dec de @@ -3113,7 +3045,7 @@ loc_15CD: dec de ; CODE XREF: sub_15A5+1Bj ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_15D9: ld a,(hl) ; CODE XREF: sub_1522p sub_1522+1Ap +sub_15D9: ld a,(hl) cp 21h jr c,loc_15F8 cp 3Dh @@ -3135,15 +3067,15 @@ sub_15D9: ld a,(hl) ; CODE XREF: sub_1522p sub_1522+1Ap cp 3Bh ret -loc_15F8: xor a ; CODE XREF: sub_15D9+3j +loc_15F8: xor a ret ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_15FA: push bc ; CODE XREF: sub_1552+3Dp +sub_15FA: push bc ld bc,1100h -loc_15FE: ld a,(hl) ; CODE XREF: sub_15FA+22j +loc_15FE: ld a,(hl) call sub_15D9 jr z,loc_161E inc hl @@ -3163,20 +3095,20 @@ loc_15FE: ld a,(hl) ; CODE XREF: sub_15FA+22j jr c,loc_1622 ld c,a djnz loc_15FE -loc_161E: ld a,c ; CODE XREF: sub_15FA+8j +loc_161E: ld a,c pop bc or a ret ; -loc_1622: pop bc ; CODE XREF: sub_15FA+Ej - scf ; sub_15FA+13j ... +loc_1622: pop bc + scf ret ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1625: sub 30h ; CODE XREF: sub_1552+1Ep - ret c ; sub_1552+2Ap ... +sub_1625: sub 30h + ret c cp 0Ah ccf ret @@ -3184,11 +3116,11 @@ sub_1625: sub 30h ; CODE XREF: sub_1552+1Ep ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_162C: xor a ; CODE XREF: sub_1492+8p +sub_162C: xor a ld (de),a inc de call sub_1632 -sub_1632: ld b,0Bh ; CODE XREF: sub_14A7+44p +sub_1632: ld b,0Bh ld a,20h call sub_1645 xor a @@ -3200,15 +3132,15 @@ sub_1632: ld b,0Bh ; CODE XREF: sub_14A7+44p inc de ld b,3 xor a -sub_1645: ld (de),a ; CODE XREF: sub_1632+4p - inc de ; sub_1645+2j +sub_1645: ld (de),a + inc de djnz sub_1645 ret ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_164A: push hl ; CODE XREF: sub_1552p +sub_164A: push hl push de ld de,2Eh jp loc_1669 @@ -3216,7 +3148,7 @@ sub_164A: push hl ; CODE XREF: sub_1552p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1652: push hl ; CODE XREF: sub_1552+7p +sub_1652: push hl push de ld de,2Ch jp loc_1669 @@ -3224,7 +3156,7 @@ sub_1652: push hl ; CODE XREF: sub_1552+7p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_165A: push hl ; CODE XREF: sub_1552+38p +sub_165A: push hl push de ld de,2Dh jp loc_1669 @@ -3232,18 +3164,18 @@ sub_165A: push hl ; CODE XREF: sub_1552+38p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1662: push de ; CODE XREF: sub_15A5p +sub_1662: push de ld de,15h jp loc_1676 ;---------------------------------------------------------------------------- -loc_1669: ld hl,(word_2D0F) ; CODE XREF: sub_164A+5j - ld a,h ; sub_1652+5j ... +loc_1669: ld hl,(word_2D0F) + ld a,h or l jr z,loc_1671 add hl,de -loc_1671: ld a,(hl) ; CODE XREF: sub_1662+Cj +loc_1671: ld a,(hl) pop de pop hl or a @@ -3251,7 +3183,7 @@ loc_1671: ld a,(hl) ; CODE XREF: sub_1662+Cj ;---------------------------------------------------------------------------- -loc_1676: ld hl,(word_2D0F) ; CODE XREF: sub_1662+4j +loc_1676: ld hl,(word_2D0F) add hl,de ld e,(hl) inc hl @@ -3270,8 +3202,8 @@ loc_1683: ld (word_2D0F),hl ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1687: push af ; CODE XREF: sub_14A7+8p - push de ; sub_1632+Ap +sub_1687: push af + push de push hl ld c,19h call sub_16AF @@ -3290,7 +3222,7 @@ sub_1687: push af ; CODE XREF: sub_14A7+8p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_169E: ld a,11h ; CODE XREF: sub_961+88p +sub_169E: ld a,11h call sub_16B8 inc a ret @@ -3298,20 +3230,20 @@ sub_169E: ld a,11h ; CODE XREF: sub_961+88p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_16A5: ld a,1 ; CODE XREF: sub_DE7+4p +sub_16A5: ld a,1 jp sub_16B8 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_16AA: ld a,0Bh ; CODE XREF: sub_DE7+1p +sub_16AA: ld a,0Bh jp sub_16B8 ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_16AF: push de ; CODE XREF: sub_1687+5p - push bc ; sub_1687+Dp +sub_16AF: push de + push bc call bdos pop bc pop de @@ -3321,8 +3253,8 @@ sub_16AF: push de ; CODE XREF: sub_1687+5p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_16B8: push hl ; CODE XREF: sub_169E+2p - push de ; sub_16A5+2j ... +sub_16B8: push hl + push de push bc ld c,a call bdos @@ -3335,7 +3267,7 @@ sub_16B8: push hl ; CODE XREF: sub_169E+2p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_16C4: push bc ; CODE XREF: sub_4A4+10p +sub_16C4: push bc push hl push de push af @@ -3354,25 +3286,25 @@ sub_16C4: push bc ; CODE XREF: sub_4A4+10p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_16DA: ld a,(de) ; CODE XREF: sub_16C4+6p - and 7Fh ; sub_16C4+Ep ... +sub_16DA: ld a,(de) + and 7Fh cp 20h jr z,loc_16E3 ld (hl),a inc hl -loc_16E3: inc de ; CODE XREF: sub_16DA+5j +loc_16E3: inc de djnz sub_16DA ret ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_16E7: push bc ; CODE XREF: sub_482+6p sub_4A4+1Fp +sub_16E7: push bc ld b,0 jp loc_16F0 sub_16ED: PUSH BC LD B,0FFH -loc_16F0: push hl ; CODE XREF: sub_16E7+3j +loc_16F0: push hl push af ld h,64h call sub_1703 @@ -3387,8 +3319,8 @@ loc_16F0: push hl ; CODE XREF: sub_16E7+3j ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1703: ld l, 0FFh ; CODE XREF: sub_16E7+Dp -loc_1705: sub h ; CODE XREF: sub_1703+4j +sub_1703: ld l, 0FFh +loc_1705: sub h inc l jr nc,loc_1705 add a,h @@ -3402,9 +3334,9 @@ loc_1705: sub h ; CODE XREF: sub_1703+4j ld a,20h jr z,loc_171A xor a -sub_1717: add a,30h ; CODE XREF: sub_16E7+15p +sub_1717: add a,30h ld b,a -loc_171A: ld (de),a ; CODE XREF: sub_1703+11j +loc_171A: ld (de),a inc de ld a,h ret @@ -3412,7 +3344,7 @@ loc_171A: ld (de),a ; CODE XREF: sub_1703+11j ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_171E: push af ; CODE XREF: sub_1492+4p +sub_171E: push af push hl loc_1720: ld a,(hl) or a @@ -3428,7 +3360,7 @@ loc_172B: pop hl ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_172E: push bc ; CODE XREF: start+2Fp sub_961+70p +sub_172E: push bc push de push hl ld c,a @@ -3437,7 +3369,7 @@ sub_172E: push bc ; CODE XREF: start+2Fp sub_961+70p push hl inc hl inc hl -loc_1737: call sub_176B ; CODE XREF: sub_172E+25j +loc_1737: call sub_176B or a jr z,loc_1760 ld (hl),e @@ -3455,16 +3387,16 @@ loc_1737: call sub_176B ; CODE XREF: sub_172E+25j xor a ld (de),a inc de -loc_1751: ld a,b ; CODE XREF: sub_172E+1Ej +loc_1751: ld a,b or a jr nz,loc_1737 -loc_1755: call sub_1779 ; CODE XREF: sub_172E+14j +loc_1755: call sub_1779 call sub_176B or a jr z,loc_1760 or 0FFh -loc_1760: pop hl ; CODE XREF: sub_172E+Dj - push af ; sub_172E+1Aj ... +loc_1760: pop hl + push af ld a,(hl) sub b inc hl @@ -3478,8 +3410,8 @@ loc_1760: pop hl ; CODE XREF: sub_172E+Dj ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_176B: ld a,(de) ; CODE XREF: sub_172E+9p - and 7Fh ; sub_172E+2Ap ... +sub_176B: ld a,(de) + and 7Fh inc de cp 20h jr z,sub_176B @@ -3491,8 +3423,8 @@ sub_176B: ld a,(de) ; CODE XREF: sub_172E+9p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1779: ld a,(de) ; CODE XREF: sub_172E+16p - and 7Fh ; sub_172E+27p ... +sub_1779: ld a,(de) + and 7Fh ret z cp 20h ret z @@ -3504,7 +3436,7 @@ sub_1779: ld a,(de) ; CODE XREF: sub_172E+16p ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1786: push hl ; CODE XREF: start+1Ep sub_4A4+Cp +sub_1786: push hl call sub_178C pop hl ret @@ -3512,8 +3444,8 @@ sub_1786: push hl ; CODE XREF: start+1Ep sub_4A4+Cp ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_178C: push bc ; CODE XREF: sub_1786+1p -loc_178D: ld (hl),a ; CODE XREF: sub_178C+3j +sub_178C: push bc +loc_178D: ld (hl),a inc hl djnz loc_178D pop bc @@ -3522,7 +3454,7 @@ loc_178D: ld (hl),a ; CODE XREF: sub_178C+3j ;---------------------------------------------------------------------------- ; S u b r o u t i n e -sub_1793: and 7Fh ; CODE XREF: sub_171E+6p +sub_1793: and 7Fh cp 61h ret c cp 7Bh @@ -3531,10 +3463,10 @@ sub_1793: and 7Fh ; CODE XREF: sub_171E+6p ret ;---------------------------------------------------------------------------- -word_179E: .dw loc_end ; DATA XREF: start+18r start+35r -byte_17A0: .db 0 ; DATA XREF: sub_195+Aw sub_195+14r -byte_17A1: .db 0 ; DATA XREF: start+60r sub_195+11w -word_17A2: .db 0 ; DATA XREF: start+88w sub_961+7Fw +word_179E: .dw loc_end +byte_17A0: .db 0 +byte_17A1: .db 0 +word_17A2: .db 0 byte_17A3: .db 0 .fill $1800-$,0 .ds 8 @@ -3542,7 +3474,9 @@ nstack: word_1808: .ds 2 .ds 1004h byte_280E: .ds 1 - .ds 82h +byte_280F: .ds 1 +byte_2810: .ds 1 +loc_2811: .ds 80h byte_2891: .ds 1 .ds 3 loc_2895: .ds 4