ORG 0000h
jp L0100
L0003: ei
reti
L0006: rst 0x38
L0007: rst 0x38
L0008: jp L00A0
L000B: ei
reti
L000E: rst 0x38
L000F: rst 0x38
L0010: jp L00A5
L0013: ei
reti
L0016: rst 0x38
L0017: rst 0x38
L0018: jp L00AA
L001B: ei
reti
L001E: rst 0x38
L001F: rst 0x38
L0020: jp L00AF
L0023: ei
reti
L0026: rst 0x38
L0027: rst 0x38
L0028: jp L00B4
L002B: ei
reti
L002E: rst 0x38
L002F: rst 0x38
L0030: jp L00B9
L0033: ei
reti
L0036: rst 0x38
L0037: rst 0x38
L0038: jp L00BE
L003B: rst 0x38
L003C: rst 0x38
L003D: rst 0x38
L003E: rst 0x38
L003F: rst 0x38
L0040: rst 0x38
L0041: rst 0x38
L0042: rst 0x38
L0043: rst 0x38
L0044: rst 0x38
L0045: rst 0x38
L0046: rst 0x38
L0047: rst 0x38
L0048: rst 0x38
L0049: rst 0x38
L004A: rst 0x38
L004B: rst 0x38
L004C: rst 0x38
L004D: rst 0x38
L004E: rst 0x38
L004F: rst 0x38
L0050: rst 0x38
L0051: rst 0x38
L0052: rst 0x38
L0053: rst 0x38
L0054: rst 0x38
L0055: rst 0x38
L0056: rst 0x38
L0057: rst 0x38
L0058: rst 0x38
L0059: rst 0x38
L005A: rst 0x38
L005B: rst 0x38
L005C: rst 0x38
L005D: rst 0x38
L005E: rst 0x38
L005F: rst 0x38
L0060: rst 0x38
L0061: rst 0x38
L0062: rst 0x38
L0063: rst 0x38
L0064: rst 0x38
L0065: rst 0x38
L0066: jp L00C3
L0069: rst 0x38
L006A: rst 0x38
L006B: rst 0x38
L006C: rst 0x38
L006D: rst 0x38
L006E: rst 0x38
L006F: rst 0x38
L0070: rst 0x38
L0071: rst 0x38
L0072: rst 0x38
L0073: rst 0x38
L0074: rst 0x38
L0075: rst 0x38
L0076: rst 0x38
L0077: rst 0x38
L0078: rst 0x38
L0079: rst 0x38
L007A: rst 0x38
L007B: rst 0x38
L007C: rst 0x38
L007D: rst 0x38
L007E: rst 0x38
L007F: rst 0x38
L0080: ret po
nop
ret po
nop
ret po
nop
xor l
inc b
ld e,e
dec b
ld e,e
dec b
ret po
nop
ret po
nop
ret po
nop
ld (hl),c
inc b
inc sp
dec b
inc sp
dec b
ret c
ld bc,00E0h
ld c,(hl)
inc b
dec hl
inc b
L00A0: push af
ld a,0E1h
jr L00CF
L00A5: push af
ld a,0E2h
jr L00CF
L00AA: push af
ld a,0E3h
jr L00CF
L00AF: push af
ld a,0E4h
jr L00CF
L00B4: push af
ld a,0E5h
jr L00CF
L00B9: push af
ld a,0E6h
jr L00CF
L00BE: push af
ld a,0E7h
jr L00CF
L00C3: call L0374
push af
ld a,0E8h
pop af
call L037F
retn
L00CF: call L0374
pop af
call L037F
reti
L00D8: rst 0x38
L00D9: rst 0x38
L00DA: rst 0x38
L00DB: rst 0x38
L00DC: rst 0x38
L00DD: rst 0x38
L00DE: rst 0x38
L00DF: rst 0x38
L00E0: push af
ld a,0E9h
jp L00CF
L00E6: rst 0x38
L00E7: rst 0x38
L00E8: rst 0x38
L00E9: rst 0x38
L00EA: rst 0x38
L00EB: rst 0x38
L00EC: rst 0x38
L00ED: rst 0x38
L00EE: rst 0x38
L00EF: rst 0x38
L00F0: ld b,e
ld b,h
dec l
ld d,d
ld (hl),d
ld h,l
ld h,e
jr nz,L014F
ld (L312C+2),a ; reference not aligned to instruction
ld sp,1102h
nop
L0100: di
jr L0106
L0103: jr L0103
L0105: ret
L0106: ld sp,0FFF0h
ld a,1Fh
out (06h),a
ld a,0FFh
out (35h),a ; '5'
out (34h),a ; '4'
ld a,80h
out (37h),a ; '7'
ld a,0FFh
out (37h),a ; '7'
out (36h),a ; '6'
ld a,0F0h
out (35h),a ; '5'
ld a,3Ch ; '<'
out (34h),a ; '4'
ld a,0F0h
out (1Ch),a
ld a,12h
out (1Dh),a
ld a,00h
out (1Eh),a
ld a,30h ; '0'
out (1Fh),a
call L0169
in a,(21h) ; '!'
ld b,0Ah
ld hl,0198h
L013F: ld c,(hl)
inc hl
outi
jr nz,L013F
im 2
xor a
ld a,00h
ld i,a
ld hl,8008h
L014F: ld bc,0184h
L0152: xor a
ld (hl),a
inc hl
dec bc
ld a,c
or b
jr nz,L0152
call L01AC
ld a,23h ; '#'
out (37h),a ; '7'
ld a,0C7h
out (36h),a ; '6'
ei
jp L0884
; --- START PROC L0169 ---
L0169: push af
push hl
push bc
ld a,1Fh
out (28h),a ; '('
ld hl,0192h
ld b,03h
ld c,2Bh ; '+'
otir
ld hl,0195h
ld b,03h
ld c,2Dh ; '-'
otir
ld a,(L0192+1) ; reference not aligned to instruction
ld (8000h),a
ld a,(L0195+1) ; reference not aligned to instruction
ld (8001h),a
pop bc
pop hl
pop af
ret
L0192: ld c,24h ; '$'
pop hl
L0195: ld c,04h
pop hl
ld hl,2006h
sbc a,c
jr nz,L01A7
jr c,L01A0
L01A0: ld a,(3C00h)
nop
ld a,00h
dec sp
L01A7: rst 0x38
L01A8: dec a
nop
ccf
nop
; --- START PROC L01AC ---
L01AC: xor a
ld (815Ch),a
ld (8155h),a
ld (8176h),a
ld (800Bh),a
ld hl,0000h
ld (8009h),hl
ld (815Fh),hl
ld (815Dh),hl
ld (8158h),hl
ld (815Ah),hl
ld (8156h),hl
ld (818Eh),hl
ld hl,0FFFFh
ld (800Ch),hl
ret
L01D8: call L0374
call L037F
push af
push bc
push de
push hl
push ix
push iy
call L01F3
pop iy
pop ix
pop hl
pop de
pop bc
pop af
reti
; --- START PROC L01F3 ---
L01F3: ld hl,(8156h)
inc hl
ld (8156h),hl
ld a,(8162h)
bit 6,a
jr nz,L0211
ld a,00h
ld (8180h),a
ld hl,0000h
ld (8158h),hl
ld (815Ah),hl
jr L023A
L0211: ld hl,(8158h)
inc hl
ld (8158h),hl
and a
ld de,03E8h
sbc hl,de
jr c,L023A
ld hl,0000h
ld (8158h),hl
ld hl,(815Ah)
inc hl
ld (815Ah),hl
and a
ld de,2A30h
sbc hl,de
jr c,L023A
ld a,0FFh
ld (8180h),a
L023A: call L0374
ld a,(8155h)
or a
jr nz,L0248
call L037F
jr L02B9
L0248: ld b,a
ld ix,8093h
ld de,8114h
xor a
ld (8113h),a
L0254: ld l,(ix+00h)
ld h,(ix+01h)
dec hl
ld (ix+00h),l
ld (ix+01h),h
ld a,l
or h
jr nz,L02A9
ld l,(ix+02h)
ld h,(ix+03h)
ex de,hl
ld (hl),e
inc hl
ld (hl),d
inc hl
ex de,hl
ld a,(8113h)
inc a
ld (8113h),a
push de
ld a,(8155h)
ld iy,8093h
add a,a
add a,a
ld e,a
ld d,00h
add iy,de
pop de
ld a,(iy+0FCh)
ld (ix+00h),a
ld a,(iy+0FDh)
ld (ix+01h),a
ld a,(iy+0FEh)
ld (ix+02h),a
ld a,(iy+0FFh)
ld (ix+03h),a
ld a,(8155h)
dec a
ld (8155h),a
jr L02B1
L02A9: inc ix
inc ix
inc ix
inc ix
L02B1: djnz L0254
call L037F
call L02BA
; --- START PROC L02B9 ---
L02B9: ret
; --- START PROC L02BA ---
L02BA: ld hl,8113h
ld a,(hl)
inc hl
or a
jr z,L02D6
L02C2: ld e,(hl)
inc hl
ld d,(hl)
inc hl
ex de,hl
push af
push de
push hl
ld bc,02CFh
push bc
jp (hl)
L02CF: pop hl
pop de
pop af
ex de,hl
dec a
jr nz,L02C2
; --- START PROC L02D6 ---
L02D6: ret
; --- START PROC L02D7 ---
L02D7: call L0374
call L02EB
call L037F
ret
; --- START PROC L02E1 ---
L02E1: call L0374
call L02EF
call L037F
ret
; --- START PROC L02EB ---
L02EB: call L02F3
ret
; --- START PROC L02EF ---
L02EF: call L0327
ret
; --- START PROC L02F3 ---
L02F3: push bc
push ix
ld ix,8093h
ld a,(8155h)
cp 20h ; ' '
jr c,L0306
ld hl,0FFFFh
jr L0323
L0306: add a,a
add a,a
ld c,a
ld b,00h
add ix,bc
ld (ix+00h),e
ld (ix+01h),d
ld (ix+02h),l
ld (ix+03h),h
ld a,(8155h)
inc a
ld (8155h),a
ld hl,0000h
L0323: pop ix
pop bc
ret
; --- START PROC L0327 ---
L0327: push bc
push de
push ix
ld a,(8155h)
or a
jp z,L034C
ld b,a
ld ix,8093h
L0337: ld e,(ix+02h)
ld d,(ix+03h)
call L3334
jr z,L0351
inc ix
inc ix
inc ix
inc ix
djnz L0337
L034C: ld hl,0FFFFh
jr L036F
L0351: ld a,(8155h)
dec a
ld (8155h),a
add a,a
add a,a
ld l,a
ld h,00h
ld de,8093h
add hl,de
push ix
pop de
ldi
ldi
ldi
ldi
ld hl,0000h
L036F: pop ix
pop de
pop bc
ret
; --- START PROC L0374 ---
L0374: di
push hl
ld hl,(815Dh)
inc hl
ld (815Dh),hl
pop hl
ret
; --- START PROC L037F ---
L037F: di
push af
push hl
ld hl,(815Dh)
dec hl
ld (815Dh),hl
ld a,h
or l
jr nz,L038E
ei
L038E: pop hl
pop af
ret
; --- START PROC L0391 ---
L0391: ld b,h
ld c,l
in a,(c)
ret
; --- START PROC L0396 ---
L0396: ld b,h
ld c,l
out (c),e
ret
; --- START PROC L039B ---
L039B: and 0Fh
jr L03A8
; --- START PROC L039F ---
L039F: srl a
srl a
srl a
srl a
or a
; --- START PROC L03A8 ---
L03A8: jr nz,L03AE
ld a,30h ; '0'
jr L03B1
; --- START PROC L03AE ---
L03AE: call L03B2
; --- START PROC L03B1 ---
L03B1: ret
; --- START PROC L03B2 ---
L03B2: cp 0Ah
jr nc,L03BA
add a,30h ; '0'
jr L03BC
L03BA: add a,37h ; '7'
; --- START PROC L03BC ---
L03BC: ret
L03BD: push af
call L039F
ld h,a
pop af
call L039B
ld l,a
ret
L03C8: push af
ld a,l
and 0Fh
ld l,a
ld a,h
and 0Fh
sla a
ld h,a
sla a
sla a
add a,h
add a,l
ld l,a
ld h,00h
pop af
ret
L03DE: push de
ld d,l
ld a,h
cp 41h ; 'A'
jr c,L03E9
sub 37h ; '7'
jr L03EB
L03E9: sub 30h ; '0'
L03EB: sla a
sla a
sla a
sla a
ld l,a
ld h,00h
ld a,d
cp 41h ; 'A'
jr c,L03FF
sub 37h ; '7'
jr L0401
L03FF: sub 30h ; '0'
L0401: add a,l
ld l,a
pop de
ret
L0405: ld (hl),c
inc hl
ld (hl),b
inc hl
ret
L040A: push bc
ld b,01h
and 07h
L040F: jr z,L0416
sla b
dec a
jr L040F
L0416: ld a,b
pop bc
ret
L0419: push bc
ld b,08h
ld c,00h
and a
jr z,L0428
L0421: srl a
jr c,L0428
inc c
djnz L0421
L0428: ld a,c
pop bc
ret
L042B: call L0374
push af
push hl
in a,(3Ch) ; '<'
bit 3,a
jr z,L0447
ld hl,(8164h)
ld a,(8162h)
bit 0,a
jr z,L0443
inc hl
jr L0444
L0443: dec hl
L0444: ld (8164h),hl
L0447: pop hl
pop af
call L037F
reti
L044E: call L0374
push af
push hl
in a,(3Ch) ; '<'
bit 2,a
jr z,L046A
ld hl,(8166h)
ld a,(8162h)
bit 3,a
jr z,L0466
inc hl
jr L0467
L0466: dec hl
L0467: ld (8166h),hl
L046A: pop hl
pop af
call L037F
reti
L0471: call L0374
push af
push bc
push de
push hl
push ix
push iy
call L037F
ld a,(818Eh)
or a
jr nz,L04A3
ld hl,04E3h
call L02E1
ld hl,(808Fh)
ld a,l
or h
jr nz,L0497
call L04E3
jr L04A3
L0497: call L050F
ld hl,04E3h
ld de,0064h
call L02D7
L04A3: pop iy
pop ix
pop hl
pop de
pop bc
pop af
reti
L04AD: call L0374
push af
push bc
push de
push hl
push ix
push iy
call L037F
ld hl,04F9h
call L02E1
ld hl,(808Fh)
ld a,l
or h
jr nz,L04CD
call L04F9
jr L04D9
L04CD: call L0521
ld hl,04F9h
ld de,0064h
call L02D7
L04D9: pop iy
pop ix
pop hl
pop de
pop bc
pop af
reti
; --- START PROC L04E3 ---
L04E3: ld hl,8000h
ld a,01h
cpl
and (hl)
ld (hl),a
out (2Bh),a ; '+'
in a,(37h) ; '7'
set 1,a
out (37h),a ; '7'
ld a,0FFh
ld (800Ch),a
ret
; --- START PROC L04F9 ---
L04F9: ld hl,8001h
ld a,01h
cpl
and (hl)
ld (hl),a
out (2Dh),a ; '-'
in a,(36h) ; '6'
set 3,a
out (36h),a ; '6'
ld a,0FFh
ld (800Ch),a
ret
; --- START PROC L050F ---
L050F: ld hl,(8091h)
ld a,(hl)
out (2Ah),a ; '*'
inc hl
ld (8091h),hl
ld hl,(808Fh)
dec hl
ld (808Fh),hl
ret
; --- START PROC L0521 ---
L0521: ld hl,(8091h)
ld a,(hl)
out (2Ch),a ; ','
inc hl
ld (8091h),hl
ld hl,(808Fh)
dec hl
ld (808Fh),hl
ret
L0533: call L0374
push af
push bc
push de
push hl
push ix
push iy
call L037F
ld a,(818Eh)
or a
jr nz,L0551
ld de,0000h
ld (818Eh),de
call L0593
L0551: pop iy
pop ix
pop hl
pop de
pop bc
pop af
reti
L055B: call L0374
push af
push bc
push de
push hl
push ix
push iy
call L037F
ld de,0001h
ld (818Eh),de
call L0593
pop iy
pop ix
pop hl
pop de
pop bc
pop af
reti
; --- START PROC L057D ---
L057D: ld hl,8000h
ld a,05h
cpl
and (hl)
ld (hl),a
out (2Bh),a ; '+'
in a,(37h) ; '7'
and 0F1h
out (37h),a ; '7'
ld a,0FFh
ld (800Ch),a
ret
; --- START PROC L0593 ---
L0593: ld a,(818Eh)
call L07E6
jr z,L05AB
ld a,(818Eh)
call L07FF
ld a,0A0h
ld (8176h),a
call L0728
jr L05B9
L05AB: ld a,(800Ch)
cp 00h
jr z,L05B9
ld hl,800Dh
ld (hl),d
call L05BA
; --- START PROC L05B9 ---
L05B9: ret
; --- START PROC L05BA ---
L05BA: ld hl,0739h
L05BD: ld a,(hl)
inc hl
or a
jp z,L0728
cp d
jr nz,L05BD
ld a,(818Eh)
or a
call nz,L057D
ld a,(800Dh)
cp 3Eh ; '>'
jr nz,L05DA
call L0767
jp L0735
L05DA: cp 21h ; '!'
jr nz,L0634
ld iy,804Fh
ld a,06h
ld (iy+00h),a
in a,(38h) ; '8'
ld (iy+01h),a
in a,(3Ah) ; ':'
ld (iy+02h),a
in a,(3Ch) ; '<'
ld (iy+03h),a
in a,(3Eh) ; '>'
ld (iy+04h),a
ld bc,(8164h)
ld de,(8166h)
ld (iy+05h),b
ld (iy+06h),c
ld (iy+07h),d
ld (iy+08h),e
ld ix,8189h
ld a,(ix+00h)
ld (iy+09h),a
ld a,(ix+01h)
ld (iy+0Ah),a
ld a,(ix+02h)
ld (iy+0Bh),a
ld a,(ix+03h)
ld (iy+0Ch),a
ld de,000Dh
ld hl,804Fh
jp L0735
L0634: cp 22h ; '"'
jr nz,L0670
ld iy,804Fh
ld a,06h
ld (iy+00h),a
ld bc,(816Ch)
ld (iy+01h),b
ld (iy+02h),c
ld ix,8189h
ld a,(ix+00h)
ld (iy+03h),a
ld a,(ix+01h)
ld (iy+04h),a
ld a,(ix+02h)
ld (iy+05h),a
ld a,(ix+03h)
ld (iy+06h),a
ld de,0007h
ld hl,804Fh
jp L0735
L0670: cp 51h ; 'Q'
jr nz,L06A4
in a,(3Eh) ; '>'
bit 1,a
jr z,L067E
ld a,50h ; 'P'
jr L069A
L067E: ld a,(8181h)
or a
jr z,L068E
in a,(3Ch) ; '<'
bit 7,a
jr z,L068E
ld a,53h ; 'S'
jr L069A
L068E: ld a,(8182h)
or a
ret z
in a,(3Ch) ; '<'
bit 6,a
ret z
ld a,52h ; 'R'
L069A: ld hl,804Fh
ld (hl),a
ld de,0001h
jp L0735
L06A4: cp 3Dh ; '='
jr nz,L06CA
ld ix,804Fh
ld iy,00FDh
ld a,06h
ld (ix+00h),a
ld a,(iy+00h)
ld (ix+01h),a
ld a,(iy+01h)
ld (ix+02h),a
ld de,0003h
ld hl,804Fh
jp L0735
L06CA: cp 60h ; '`'
jr nz,L06D2
ld a,00h
jr L06D8
L06D2: cp 61h ; 'a'
jr nz,L06DF
ld a,0FFh
L06D8: ld (8184h),a
ld a,06h
jr L072E
L06DF: cp 3Ch ; '<'
jr nz,L06F7
L06E3: ld a,(817Dh)
cp 00h
jr z,L0716
ld a,(8176h)
or a
jr nz,L0716
ld a,0FFh
ld (817Eh),a
jr L0716
L06F7: cp 6Dh ; 'm'
jr z,L06E3
ld a,(8172h)
cp 0FFh
jr nz,L0720
ld a,(800Dh)
cp 3Ah ; ':'
jr nz,L0710
ld a,(8175h)
cp 39h ; '9'
jr nz,L0728
L0710: ld a,(8176h)
or a
jr nz,L0728
L0716: ld a,(800Dh)
ld (800Bh),a
ld a,06h
jr L072E
L0720: xor a
ld (800Bh),a
ld a,46h ; 'F'
jr L072E
; --- START PROC L0728 ---
L0728: xor a
ld (800Bh),a
ld a,15h
; --- START PROC L072E ---
L072E: ld hl,804Fh
ld (hl),a
ld de,0001h
; --- START PROC L0735 ---
L0735: call L0814
ret
L0739: jr nc,L076C
ld (3433h),a
dec (hl)
ld (hl),37h ; '7'
jr c,L077C
ld a,(3E3Ch)
dec a
jr nz,L076A
ld d,c
jr z,L0774+1 ; reference not aligned to instruction
ld hl,(6160h)
ld h,d
ld h,e
ld h,h
ld h,l
ld h,(hl)
ld h,a
ld l,b
ld l,c
ld l,d
ld l,e
ld l,h
ld l,l
ld l,2Fh ; '/'
ld (7170h),hl
ld (hl),d
ld (hl),e
ld (hl),h
ld (hl),l
halt
ld (hl),a
nop
; --- START PROC L0767 ---
L0767: ld a,(8174h)
L076A: cp 20h ; ' '
L076C: jr nz,L0772
ld a,0Fh
jr L07A5
L0772: cp 2Eh ; '.'
L0774: jr z,L077A
cp 2Fh ; '/'
jr nz,L077E
L077A: add a,02h
L077C: jr L07A5
L077E: cp 28h ; '('
jr z,L078A
cp 29h ; ')'
jr z,L078A
cp 2Ah ; '*'
jr nz,L078E
L078A: sub 18h
jr L07A5
L078E: cp 70h ; 'p'
jr c,L0796
and 2Fh ; '/'
jr L07A5
L0796: or a
jr z,L07A5
ld b,01h
cp 3Ch ; '<'
jr nc,L07A1
ld b,00h
L07A1: sub b
and 0Fh
inc a
L07A5: ld b,a
ld a,(8176h)
or a
jr z,L07AE
set 6,b
L07AE: ld d,a
ld c,00h
in a,(3Eh) ; '>'
bit 1,a
jr z,L07B9
set 7,c
L07B9: bit 0,a
jr z,L07BF
set 5,c
L07BF: in a,(3Ch) ; '<'
bit 7,a
jr z,L07C7
set 6,c
L07C7: bit 6,a
jr z,L07CD
set 4,c
L07CD: bit 1,a
jr z,L07D3
set 3,c
L07D3: ld a,06h
ld hl,804Fh
ld (hl),a
inc hl
ld (hl),b
inc hl
ld (hl),c
inc hl
ld (hl),d
ld de,0004h
ld hl,804Fh
ret
; --- START PROC L07E6 ---
L07E6: push af
ld a,80h
out (2Bh),a ; '+'
pop af
cp 01h
jr z,L07F7
in a,(2Ah) ; '*'
ld d,a
in a,(2Bh) ; '+'
jr L07FC
L07F7: in a,(2Ch) ; ','
ld d,a
in a,(2Dh) ; '-'
L07FC: and 78h ; 'x'
ret
; --- START PROC L07FF ---
L07FF: cp 01h
jr z,L080C
ld a,(8000h)
or 10h
out (2Bh),a ; '+'
jr L0813
L080C: ld a,(8001h)
or 10h
out (2Dh),a ; '-'
; --- START PROC L0813 ---
L0813: ret
; --- START PROC L0814 ---
L0814: ld (8091h),hl
ld (808Fh),de
xor a
ld (800Ch),a
ld a,(818Eh)
or a
jr nz,L0842
ld hl,04E3h
ld de,0064h
call L02EB
call L0374
in a,(37h) ; '7'
res 1,a
out (37h),a ; '7'
ld hl,8000h
ld a,01h
or (hl)
ld (hl),a
out (2Bh),a ; '+'
jr L085D
L0842: ld hl,04F9h
ld de,0064h
call L02EB
call L0374
in a,(36h) ; '6'
res 3,a
out (36h),a ; '6'
ld hl,8001h
ld a,01h
or (hl)
ld (hl),a
out (2Dh),a ; '-'
L085D: call L037F
ret
L0861: call L1040
or a
ret nz
jp L1184
L0869: ld a,0FFh
ld (8190h),a
ret
L086F: xor a
ld (8190h),a
ex de,hl
ld hl,0869h
jp L02D7
L087A: xor a
ld (8190h),a
ld hl,0869h
jp L02E1
L0884: push bc
xor a
ld (8163h),a
ld (8162h),a
xor a
ld (8176h),a
ld hl,0000h
ld (816Ch),hl
ld hl,0000h
ld (8166h),hl
ld (8164h),hl
xor a
ld (8178h),a
xor a
ld (817Ch),a
xor a
ld (8177h),a
xor a
ld (817Eh),a
xor a
ld (817Fh),a
xor a
ld (8180h),a
xor a
ld (8181h),a
xor a
ld (8182h),a
ld hl,0064h
ld (816Eh),hl
xor a
ld (8184h),a
xor a
ld (818Ch),a
ld (818Bh),a
ld (818Ah),a
ld (8189h),a
ld hl,03E8h
call L0E49
xor a
ld (8174h),a
ld (8173h),a
L08E3: ld hl,0000h
add hl,sp
ld (hl),0FFh
ld a,0FFh
ld (8172h),a
ld hl,003Ch
call L0391
ld l,a
push hl
ld hl,003Eh
call L0391
ld e,a
pop hl
ld a,(800Bh)
or a
jr z,L0933
ld a,(800Bh)
ld (8174h),a
ld (8173h),a
xor a
ld (800Bh),a
ld a,(8173h)
cp 20h ; ' '
jr z,L0933
ld a,(8173h)
cp 62h ; 'b'
jr c,L0926
ld a,(8173h)
cp 6Eh ; 'n'
jr c,L0933
L0926: ld a,e
and 02h
jr z,L0933
ld a,42h ; 'B'
ld (8173h),a
jp L0B01
L0933: ld a,(8173h)
cp 20h ; ' '
jp z,L09F7
cp 2Eh ; '.'
jp z,L0A02
cp 2Fh ; '/'
jp z,L0A0D
cp 6Dh ; 'm'
jp z,L0A18
cp 3Ch ; '<'
jp z,L0A18
cp 30h ; '0'
jp z,L0A28
cp 31h ; '1'
jp z,L0A28
cp 32h ; '2'
jp z,L0A28
cp 33h ; '3'
jp z,L0A28
cp 34h ; '4'
jp z,L0A4D
cp 35h ; '5'
jp z,L0A4D
cp 36h ; '6'
jp z,L0A4D
cp 37h ; '7'
jp z,L0A4D
cp 38h ; '8'
jp z,L0A65
cp 39h ; '9'
jp z,L0A7D
cp 3Ah ; ':'
jp z,L0A87
cp 28h ; '('
jp z,L0A91
cp 29h ; ')'
jp z,L0A9B
cp 2Ah ; '*'
jp z,L0AA5
cp 62h ; 'b'
jp z,L0AAF
cp 63h ; 'c'
jp z,L0AAF
cp 64h ; 'd'
jp z,L0AAF
cp 65h ; 'e'
jp z,L0AAF
cp 66h ; 'f'
jp z,L0AB9
cp 67h ; 'g'
jp z,L0AC3
cp 68h ; 'h'
jp z,L0AC3
cp 69h ; 'i'
jp z,L0AC3
cp 6Ah ; 'j'
jp z,L0ACD
cp 6Bh ; 'k'
jp z,L0ACD
cp 6Ch ; 'l'
jp z,L0ACD
cp 70h ; 'p'
jp z,L0AD7
cp 71h ; 'q'
jp z,L0AD7
cp 72h ; 'r'
jp z,L0AD7
cp 73h ; 's'
jp z,L0AD7
cp 74h ; 't'
jp z,L0AED
cp 75h ; 'u'
jp z,L0AED
cp 76h ; 'v'
jp z,L0AED
cp 77h ; 'w'
jp z,L0AED
jp L0B01
L09F7: call L1DB1
ld hl,0000h
add hl,sp
ld (hl),a
jp L0B01
L0A02: call L1A4B
ld hl,0000h
add hl,sp
ld (hl),a
jp L0B01
L0A0D: call L1CA1
ld hl,0000h
add hl,sp
ld (hl),a
jp L0B01
L0A18: ld a,0FFh
ld (8178h),a
call L0EDD
ld hl,0000h
add hl,sp
ld (hl),a
jp L0B01
L0A28: ld a,l
and 80h
jr z,L0A35
ld a,43h ; 'C'
ld (8173h),a
jp L0B01
L0A35: ld a,e
and 01h
jr z,L0A42
ld a,45h ; 'E'
ld (8173h),a
jp L0B01
L0A42: call L1040
ld hl,0000h
add hl,sp
ld (hl),a
jp L0B01
L0A4D: ld a,l
and 40h ; '@'
jr z,L0A5A
ld a,44h ; 'D'
ld (8173h),a
jp L0B01
L0A5A: call L1184
ld hl,0000h
add hl,sp
ld (hl),a
jp L0B01
L0A65: ld a,l
and 80h
jr z,L0A72
ld a,43h ; 'C'
ld (8173h),a
jp L0B01
L0A72: call L1654
ld hl,0000h
add hl,sp
ld (hl),a
jp L0B01
L0A7D: call L15F6
ld hl,0000h
add hl,sp
ld (hl),a
jr L0B01
L0A87: call L1639
ld hl,0000h
add hl,sp
ld (hl),a
jr L0B01
L0A91: call L173B
ld hl,0000h
add hl,sp
ld (hl),a
jr L0B01
L0A9B: call L175E
ld hl,0000h
add hl,sp
ld (hl),a
jr L0B01
L0AA5: call L1798
ld hl,0000h
add hl,sp
ld (hl),a
jr L0B01
L0AAF: call L17BB
ld hl,0000h
add hl,sp
ld (hl),a
jr L0B01
L0AB9: call L186D
ld hl,0000h
add hl,sp
ld (hl),a
jr L0B01
L0AC3: call L18F5
ld hl,0000h
add hl,sp
ld (hl),a
jr L0B01
L0ACD: call L199A
ld hl,0000h
add hl,sp
ld (hl),a
jr L0B01
L0AD7: ld a,l
and 40h ; '@'
jr z,L0AE3
ld a,44h ; 'D'
ld (8173h),a
jr L0B01
L0AE3: call L131B
ld hl,0000h
add hl,sp
ld (hl),a
jr L0B01
L0AED: ld a,l
and 80h
jr z,L0AF9
ld a,43h ; 'C'
ld (8173h),a
jr L0B01
L0AF9: call L145F
ld hl,0000h
add hl,sp
ld (hl),a
L0B01: ld a,(8180h)
or a
jr z,L0B38
ld hl,0000h
ld (815Ah),hl
ld (8158h),hl
xor a
ld (8180h),a
ld hl,003Ch
call L0391
and 02h
jr z,L0B38
call L0DA8
xor a
ld (817Eh),a
ld (8175h),a
ld (8173h),a
ld (817Dh),a
xor a
ld (8182h),a
ld (8181h),a
jp L08E3
L0B38: ld a,(817Eh)
or a
jr z,L0B5A
ld a,(8162h)
and 0DBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
xor a
ld (817Eh),a
ld (8173h),a
ld (817Dh),a
jp L08E3
L0B5A: ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr nz,L0B6A
ld a,(8173h)
ld (8175h),a
jr L0B78
L0B6A: ld hl,0000h
add hl,sp
ld a,(hl)
cp 0FFh
jr z,L0B78
ld a,41h ; 'A'
ld (8173h),a
L0B78: ld a,(8173h)
and 0FCh
cp 34h ; '4'
jr nz,L0B89
ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr z,L0BB5
L0B89: ld a,(8172h)
cp 74h ; 't'
jr nz,L0B98
ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr z,L0BB5
L0B98: ld a,(8173h)
or a
jr z,L0BB5
L0B9E: ld a,(800Ch)
cp 0FFh
jr nz,L0B9E
ld de,0001h
ld hl,8173h
call L0814
L0BAE: ld a,(800Ch)
cp 0FFh
jr nz,L0BAE
L0BB5: ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr nz,L0BC4
xor a
ld (8174h),a
ld (817Dh),a
L0BC4: ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr z,L0BDD
ld hl,0000h
add hl,sp
ld a,(hl)
cp 0FFh
jr z,L0BDD
ld hl,0000h
add hl,sp
ld a,(hl)
call L0E99
L0BDD: xor a
ld (817Eh),a
ld (8173h),a
ld a,(8174h)
cp 62h ; 'b'
jr c,L0BF9
ld a,(8174h)
cp 6Eh ; 'n'
jr nc,L0BF9
xor a
ld (8174h),a
ld (817Dh),a
L0BF9: xor a
ld (8183h),a
jp L08E3
; --- START PROC L0C00 ---
L0C00: push bc
push bc
push bc
ld a,(8173h)
cp 62h ; 'b'
jr c,L0C12
ld a,(8173h)
cp 6Eh ; 'n'
jp c,L0CC8
L0C12: ld a,0FFh
ld (817Fh),a
call L0E69
pop de
push hl
ld hl,0004h
add hl,sp
ld a,(8162h)
ld (hl),a
ld hl,0003h
add hl,sp
ld a,(8177h)
ld (hl),a
ld a,(8162h)
and 0DBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,(8183h)
or a
jr nz,L0C5F
ld hl,0002h
add hl,sp
ld (hl),50h ; 'P'
L0C47: ld a,(800Ch)
cp 0FFh
jr nz,L0C47
ld de,0001h
ld hl,0002h
add hl,sp
call L0814
L0C58: ld a,(800Ch)
cp 0FFh
jr nz,L0C58
L0C5F: ld a,(8180h)
or a
jr nz,L0CC8
ld hl,003Eh
call L0391
and 02h
jr nz,L0C5F
pop hl
push hl
ld a,l
or h
jr nz,L0C7B
ld hl,(8170h)
call L0E5B
L0C7B: ld hl,0003h
add hl,sp
ld a,(hl)
ld (8177h),a
ld hl,0004h
add hl,sp
ld a,(hl)
ld (8162h),a
and 01h
jr nz,L0CA1
ld hl,003Ch
call L0391
and 20h ; ' '
jr z,L0CA1
ld a,(8162h)
and 0FBh
ld (8162h),a
L0CA1: ld a,(8162h)
and 08h
jr nz,L0CBA
ld hl,003Ch
call L0391
and 10h
jr z,L0CBA
ld a,(8162h)
and 0DFh
ld (8162h),a
L0CBA: ld a,(8162h)
ld e,a
ld hl,003Ah
call L0396
xor a
ld (817Fh),a
L0CC8: pop bc
pop bc
pop bc
ret
L0CCC: ld a,0FFh
ld (817Fh),a
call L0E69
ld a,(8162h)
push af
ld a,(8177h)
push af
push hl
ld a,(8177h)
or a
jr nz,L0D49
ld a,(8162h)
and 04h
jr z,L0D15
ld a,(8162h)
and 0FDh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,(8162h)
and 01h
jr z,L0D09
ld hl,(8164h)
ld de,001Eh
add hl,de
jr L0D10
L0D09: ld hl,(8164h)
ld de,0FFE2h
add hl,de
L0D10: ld e,00h
call L261A
L0D15: ld a,(8162h)
and 20h ; ' '
jr z,L0D49
ld a,(8162h)
and 0EFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,(8162h)
and 08h
jr z,L0D3B
ld hl,(8166h)
ld de,0023h
add hl,de
jr L0D42
L0D3B: ld hl,(8166h)
ld de,0FFDDh
add hl,de
L0D42: ld e,00h
ld c,00h
call L27B7
L0D49: ld a,(8162h)
and 0DBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L0D58: ld hl,003Eh
call L0391
and 02h
jr nz,L0D58
pop hl
ld a,l
or h
jr nz,L0D6D
ld hl,(8170h)
call L0E5B
L0D6D: pop af
ld (8177h),a
pop af
ld (8162h),a
ld hl,003Ch
call L0391
and 20h ; ' '
jr z,L0D87
ld a,(8162h)
and 0FBh
ld (8162h),a
L0D87: ld hl,003Ch
call L0391
and 10h
jr z,L0D99
ld a,(8162h)
and 0DFh
ld (8162h),a
L0D99: ld a,(8162h)
ld e,a
ld hl,003Ah
call L0396
xor a
ld (817Fh),a
ret
; --- START PROC L0DA8 ---
L0DA8: push bc
ld a,(8162h)
and 0DBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0000h
add hl,sp
ld (hl),5Fh ; '_'
L0DBE: ld a,(800Ch)
cp 0FFh
jr nz,L0DBE
ld de,0001h
ld hl,0000h
add hl,sp
call L0814
L0DCF: ld a,(800Ch)
cp 0FFh
jr nz,L0DCF
ld hl,2710h
call L0E49
ld hl,1388h
call L0E5B
ld a,01h
call L2CA0
ld hl,0000h
add hl,sp
ld (hl),a
call L0E69
ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr nz,L0E1D
ld hl,1388h
call L0E5B
ld a,01h
call L2A0E
ld hl,0000h
add hl,sp
ld (hl),a
call L0E69
ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr nz,L0E1D
ld hl,0197h
call L2532
ld hl,0000h
add hl,sp
ld (hl),a
L0E1D: ld a,(8162h)
and 0DBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,(8162h)
and 3Fh ; '?'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
pop bc
ret
L0E3D: ld a,0FFh
ld (8179h),a
ret
L0E43: ld a,0FFh
ld (817Ah),a
ret
; --- START PROC L0E49 ---
L0E49: xor a
ld (8179h),a
ex de,hl
ld hl,0E3Dh
call L02D7
L0E54: ld a,(8179h)
or a
jr z,L0E54
ret
; --- START PROC L0E5B ---
L0E5B: xor a
ld (817Ah),a
ld (8170h),hl
ex de,hl
ld hl,0E43h
jp L02D7
; --- START PROC L0E69 ---
L0E69: ld hl,0E43h
call L02E1
xor a
ld (817Ah),a
ret
; --- START PROC L0E74 ---
L0E74: ld hl,0038h
call L0391
ld (8189h),a
ld hl,003Ah
call L0391
ld (818Ah),a
ld hl,003Ch
call L0391
ld (818Bh),a
ld hl,003Eh
call L0391
ld (818Ch),a
ret
; --- START PROC L0E99 ---
L0E99: push af
call L0E74
ld a,(8174h)
cp 62h ; 'b'
jr c,L0EAB
ld a,(8174h)
cp 6Eh ; 'n'
jr c,L0EC9
L0EAB: ld hl,0001h
add hl,sp
ld a,(hl)
ld (8176h),a
ld hl,0001h
add hl,sp
ld a,(hl)
cp 0A0h
jr z,L0EC1
ld a,0FFh
ld (817Ch),a
L0EC1: ld e,01h
ld hl,0038h
call L0396
L0EC9: ld a,(8162h)
and 0DBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
call L0E69
pop bc
ret
; --- START PROC L0EDD ---
L0EDD: push bc
ld a,(8162h)
and 0DBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0FFh
ld (817Dh),a
ld a,3Ch ; '<'
ld (8172h),a
ld a,0FFh
ld (817Bh),a
ld hl,2710h
call L0E5B
ld hl,003Ch
call L0391
and 02h
jr z,L0F1F
ld a,(8162h)
and 40h ; '@'
jr z,L0F1F
ld a,01h
call L2CA0
ld hl,0000h
add hl,sp
ld (hl),a
jr L0F28
L0F1F: xor a
call L2CA0
ld hl,0000h
add hl,sp
ld (hl),a
L0F28: call L0E69
ld hl,0000h
add hl,sp
ld a,(hl)
or a
jp nz,L0FDA
ld hl,3A98h
call L0E5B
ld hl,003Ch
call L0391
and 02h
jr z,L0F50
ld a,01h
call L2A0E
ld hl,0000h
add hl,sp
ld (hl),a
jr L0F59
L0F50: xor a
call L2A0E
ld hl,0000h
add hl,sp
ld (hl),a
L0F59: call L0E69
ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr nz,L0FDA
ld hl,003Ch
call L0391
and 02h
jr z,L0FDA
xor a
ld (817Bh),a
ld hl,0197h
call L2532
ld hl,0000h
add hl,sp
ld (hl),a
ld a,0FFh
ld (817Bh),a
ld hl,0000h
add hl,sp
ld a,(hl)
cp 0F0h
jr nz,L0F91
ld hl,0000h
add hl,sp
ld (hl),7Ah ; 'z'
L0F91: ld hl,0000h
add hl,sp
ld a,(hl)
cp 92h
jr nz,L0FDA
ld hl,1388h
call L0E5B
xor a
ld (8178h),a
ld c,00h
ld hl,(8166h)
ld de,0FFE4h
add hl,de
ld e,01h
call L27B7
ld hl,0000h
add hl,sp
ld (hl),a
ld a,0FFh
ld (8178h),a
call L0E69
ld hl,0000h
add hl,sp
ld a,(hl)
cp 0F0h
jr nz,L0FCC
ld a,7Dh ; '}'
jr L103E
L0FCC: ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr nz,L0FDA
ld hl,0000h
add hl,sp
ld (hl),92h
L0FDA: ld a,(8162h)
and 0DBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr nz,L1024
ld e,00h
ld hl,0038h
call L0396
xor a
ld (817Ch),a
xor a
ld (8174h),a
ld (817Dh),a
xor a
ld (8176h),a
xor a
ld (818Ch),a
ld (818Bh),a
ld (818Ah),a
ld (8189h),a
ld a,(8162h)
and 3Fh ; '?'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L1024: xor a
ld (817Bh),a
ld a,(8178h)
cp 0FFh
jr nz,L1039
xor a
ld (8178h),a
ld hl,0000h
ld (816Ch),hl
L1039: ld hl,0000h
add hl,sp
ld a,(hl)
L103E: pop bc
ret
; --- START PROC L1040 ---
L1040: ld a,(8173h)
cp 30h ; '0'
jr z,L1055
cp 31h ; '1'
jr z,L105A
cp 32h ; '2'
jr z,L105F
cp 33h ; '3'
jr z,L1064
jr L1067
L1055: ld hl,001Fh
jr L1067
L105A: ld hl,008Dh
jr L1067
L105F: ld hl,00FBh
jr L1067
L1064: ld hl,0169h
L1067: push hl
ld a,0FFh
ld (817Dh),a
ld a,30h ; '0'
ld (8172h),a
call L29ED
pop hl
or a
ret nz
jr L107A
; --- START PROC L107A ---
L107A: push hl
push bc
push bc
ld hl,1388h
call L0E5B
ld e,00h
ld hl,014Ah
call L261A
ld c,a
push bc
call L0E69
pop bc
inc c
dec c
jr z,L1099
ld a,c
jp L1180
L1099: push bc
ld hl,003Ch
call L0391
and 80h
jr z,L10DF
ld hl,0002h
add hl,sp
ld (hl),53h ; 'S'
L10AA: ld a,(800Ch)
cp 0FFh
jr nz,L10AA
ld de,0001h
ld hl,0002h
add hl,sp
call L0814
L10BB: ld a,(800Ch)
cp 0FFh
jr nz,L10BB
ld a,0FFh
ld (8181h),a
L10C7: ld hl,003Ch
call L0391
and 80h
jr nz,L10C7
ld hl,003Eh
call L0391
and 03h
jr nz,L10C7
xor a
ld (8181h),a
L10DF: ld hl,0000h
call L3393
pop bc
L10E6: call L33CA
ld de,000Ah
call L3334
jr nc,L1126
ld hl,0000h
call L1FF2
ld c,a
inc c
dec c
jr z,L1126
ld a,c
cp 0F0h
jr nz,L111A
push bc
ld a,(8162h)
and 1Bh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,015Eh
call L0E49
pop bc
jr L111D
L111A: ld a,c
jr L1180
L111D: call L33CA
inc hl
call L339F
jr L10E6
L1126: ld a,c
cp 0F0h
jr nz,L112F
ld a,7Bh ; '{'
jr L1180
L112F: ld hl,1388h
call L0E5B
ld a,01h
call L2A0E
ld c,a
inc c
dec c
jr z,L114B
ld a,c
cp 0F0h
jr nz,L1148
ld a,70h ; 'p'
jr L1180
L1148: ld a,c
jr L1180
L114B: call L0E69
call L33BE
call L24EC
ld c,a
inc c
dec c
jr z,L117F
ld a,c
cp 0F0h
jr nz,L1162
ld a,78h ; 'x'
jr L1180
L1162: ld a,c
cp 91h
jr z,L116C
ld a,c
cp 90h
jr nz,L117C
L116C: ld hl,0000h
add hl,sp
ld (hl),c
call L258A
ld c,a
ld hl,0000h
add hl,sp
ld a,(hl)
jr L1180
L117C: ld a,c
jr L1180
L117F: xor a
L1180: pop bc
pop bc
pop bc
ret
; --- START PROC L1184 ---
L1184: ld a,(8173h)
cp 34h ; '4'
jr z,L1199
cp 35h ; '5'
jr z,L119E
cp 36h ; '6'
jr z,L11A3
cp 37h ; '7'
jr z,L11A8
jr L11AB
L1199: ld hl,001Fh
jr L11AB
L119E: ld hl,008Dh
jr L11AB
L11A3: ld hl,00FBh
jr L11AB
L11A8: ld hl,0169h
L11AB: push hl
ld a,0FFh
ld (817Dh),a
ld a,34h ; '4'
ld (8172h),a
call L29ED
pop hl
or a
ret nz
jr L11BE
; --- START PROC L11BE ---
L11BE: push hl
push bc
push bc
ld hl,0000h
call L339F
L11C7: call L33CA
ld de,000Ah
call L3334
jr nc,L123D
call L33BE
call L1FF2
ld c,a
inc c
dec c
jr z,L123D
ld a,c
cp 0F0h
jr nz,L120B
call L33BE
ld de,0FFEAh
add hl,de
ex de,hl
ld hl,(8166h)
call L3334
jr c,L123D
push bc
ld a,(8162h)
and 1Bh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,015Eh
call L0E49
pop bc
jr L1234
L120B: ld a,c
cp 91h
jr z,L1215
ld a,c
cp 90h
jr nz,L1230
L1215: ld hl,0000h
add hl,sp
ld (hl),c
ld hl,1388h
call L0E5B
xor a
call L2CA0
ld c,a
call L0E69
ld hl,0000h
add hl,sp
ld a,(hl)
jp L1317
L1230: ld a,c
jp L1317
L1234: call L33CA
inc hl
call L339F
jr L11C7
L123D: ld a,c
cp 0F0h
jr nz,L1247
ld a,7Ch ; '|'
jp L1317
L1247: ld hl,1388h
call L0E5B
ld e,01h
ld hl,027Eh
call L261A
ld c,a
inc c
dec c
jr z,L1268
ld a,c
cp 0F0h
jr nz,L1264
ld a,71h ; 'q'
jp L1317
L1264: ld a,c
jp L1317
L1268: call L0E69
ld hl,003Ch
call L0391
and 40h ; '@'
jr z,L12B9
ld hl,0000h
add hl,sp
ld (hl),52h ; 'R'
L127B: ld a,(800Ch)
cp 0FFh
jr nz,L127B
ld de,0001h
ld hl,0000h
add hl,sp
call L0814
L128C: ld a,(800Ch)
cp 0FFh
jr nz,L128C
ld a,0FFh
ld (8182h),a
L1298: ld a,(8180h)
or a
jr z,L12A1
xor a
jr L1317
L12A1: ld hl,003Ch
call L0391
and 40h ; '@'
jr nz,L1298
ld hl,003Eh
call L0391
and 02h
jr nz,L1298
xor a
ld (8182h),a
L12B9: ld hl,0055h
call L338D
call L33BE
call L2532
ld c,a
inc c
dec c
jr z,L12D6
ld a,c
cp 0F0h
jr nz,L12D3
ld a,79h ; 'y'
jr L1317
L12D3: ld a,c
jr L1317
L12D6: ld a,(817Eh)
or a
jr z,L12DF
xor a
jr L1317
L12DF: ld a,(8172h)
cp 34h ; '4'
jr nz,L1302
L12E6: ld a,(800Ch)
cp 0FFh
jr nz,L12E6
ld de,0001h
ld hl,8173h
call L0814
L12F6: ld a,(800Ch)
cp 0FFh
jr nz,L12F6
ld a,0FFh
ld (8183h),a
L1302: ld hl,1388h
call L0E5B
xor a
call L2A0E
ld c,a
push bc
call L0E69
xor a
ld (8183h),a
pop bc
ld a,c
L1317: pop bc
pop bc
pop bc
ret
; --- START PROC L131B ---
L131B: ld a,(8173h)
cp 70h ; 'p'
jr z,L1330
cp 71h ; 'q'
jr z,L1335
cp 72h ; 'r'
jr z,L133A
cp 73h ; 's'
jr z,L133F
jr L1342
L1330: ld hl,001Fh
jr L1342
L1335: ld hl,008Dh
jr L1342
L133A: ld hl,00FBh
jr L1342
L133F: ld hl,0169h
L1342: push hl
ld a,0FFh
ld (817Dh),a
ld a,70h ; 'p'
ld (8172h),a
call L29ED
pop hl
or a
ret nz
jr L1355
L1355: push hl
push bc
push bc
ld hl,1388h
call L0E5B
ld e,00h
ld hl,027Eh
call L261A
ld c,a
push bc
call L0E69
pop bc
inc c
dec c
jr z,L1374
ld a,c
jp L145B
L1374: push bc
ld hl,003Ch
call L0391
and 40h ; '@'
jr z,L13BA
ld hl,0002h
add hl,sp
ld (hl),52h ; 'R'
L1385: ld a,(800Ch)
cp 0FFh
jr nz,L1385
ld de,0001h
ld hl,0002h
add hl,sp
call L0814
L1396: ld a,(800Ch)
cp 0FFh
jr nz,L1396
ld a,0FFh
ld (8182h),a
L13A2: ld hl,003Ch
call L0391
and 40h ; '@'
jr nz,L13A2
ld hl,003Eh
call L0391
and 02h
jr nz,L13A2
xor a
ld (8182h),a
L13BA: ld hl,0000h
call L3393
pop bc
L13C1: call L33CA
ld de,000Ah
call L3334
jr nc,L1401
ld hl,0000h
call L1FF2
ld c,a
inc c
dec c
jr z,L1401
ld a,c
cp 0F0h
jr nz,L13F5
push bc
ld a,(8162h)
and 1Bh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,015Eh
call L0E49
pop bc
jr L13F8
L13F5: ld a,c
jr L145B
L13F8: call L33CA
inc hl
call L339F
jr L13C1
L1401: ld a,c
cp 0F0h
jr nz,L140A
ld a,7Eh ; '~'
jr L145B
L140A: ld hl,1388h
call L0E5B
ld a,01h
call L2A0E
ld c,a
inc c
dec c
jr z,L1426
ld a,c
cp 0F0h
jr nz,L1423
ld a,75h ; 'u'
jr L145B
L1423: ld a,c
jr L145B
L1426: call L0E69
call L33BE
call L24EC
ld c,a
inc c
dec c
jr z,L145A
ld a,c
cp 0F0h
jr nz,L143D
ld a,78h ; 'x'
jr L145B
L143D: ld a,c
cp 91h
jr z,L1447
ld a,c
cp 90h
jr nz,L1457
L1447: ld hl,0000h
add hl,sp
ld (hl),c
call L25D2
ld c,a
ld hl,0000h
add hl,sp
ld a,(hl)
jr L145B
L1457: ld a,c
jr L145B
L145A: xor a
L145B: pop bc
pop bc
pop bc
ret
; --- START PROC L145F ---
L145F: ld a,(8173h)
cp 74h ; 't'
jr z,L1474
cp 75h ; 'u'
jr z,L1479
cp 76h ; 'v'
jr z,L147E
cp 77h ; 'w'
jr z,L1483
jr L1486
L1474: ld hl,001Fh
jr L1486
L1479: ld hl,008Dh
jr L1486
L147E: ld hl,00FBh
jr L1486
L1483: ld hl,0169h
L1486: push hl
ld a,0FFh
ld (817Dh),a
ld a,74h ; 't'
ld (8172h),a
call L29ED
pop hl
or a
ret nz
jr L1499
L1499: push hl
push bc
push bc
ld hl,0000h
call L339F
L14A2: call L33CA
ld de,000Ah
call L3334
jr nc,L1518
call L33BE
call L1FF2
ld c,a
inc c
dec c
jr z,L1518
ld a,c
cp 0F0h
jr nz,L14E6
call L33BE
ld de,0FFEAh
add hl,de
ex de,hl
ld hl,(8166h)
call L3334
jr c,L1518
push bc
ld a,(8162h)
and 1Bh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,015Eh
call L0E49
pop bc
jr L150F
L14E6: ld a,c
cp 91h
jr z,L14F0
ld a,c
cp 90h
jr nz,L150B
L14F0: ld hl,0000h
add hl,sp
ld (hl),c
ld hl,1388h
call L0E5B
xor a
call L2CA0
ld c,a
call L0E69
ld hl,0000h
add hl,sp
ld a,(hl)
jp L15F2
L150B: ld a,c
jp L15F2
L150F: call L33CA
inc hl
call L339F
jr L14A2
L1518: ld a,c
cp 0F0h
jr nz,L1522
ld a,7Ch ; '|'
jp L15F2
L1522: ld hl,1388h
call L0E5B
ld e,01h
ld hl,014Ah
call L261A
ld c,a
inc c
dec c
jr z,L1543
ld a,c
cp 0F0h
jr nz,L153F
ld a,72h ; 'r'
jp L15F2
L153F: ld a,c
jp L15F2
L1543: call L0E69
ld hl,003Ch
call L0391
and 80h
jr z,L1594
ld hl,0000h
add hl,sp
ld (hl),53h ; 'S'
L1556: ld a,(800Ch)
cp 0FFh
jr nz,L1556
ld de,0001h
ld hl,0000h
add hl,sp
call L0814
L1567: ld a,(800Ch)
cp 0FFh
jr nz,L1567
ld a,0FFh
ld (8181h),a
L1573: ld a,(8180h)
or a
jr z,L157C
xor a
jr L15F2
L157C: ld hl,003Ch
call L0391
and 80h
jr nz,L1573
ld hl,003Eh
call L0391
and 02h
jr nz,L1573
xor a
ld (8181h),a
L1594: ld hl,0055h
call L338D
call L33BE
call L2532
ld c,a
inc c
dec c
jr z,L15B1
ld a,c
cp 0F0h
jr nz,L15AE
ld a,77h ; 'w'
jr L15F2
L15AE: ld a,c
jr L15F2
L15B1: ld a,(817Eh)
or a
jr z,L15BA
xor a
jr L15F2
L15BA: ld a,(8172h)
cp 74h ; 't'
jr nz,L15DD
L15C1: ld a,(800Ch)
cp 0FFh
jr nz,L15C1
ld de,0001h
ld hl,8173h
call L0814
L15D1: ld a,(800Ch)
cp 0FFh
jr nz,L15D1
ld a,0FFh
ld (8183h),a
L15DD: ld hl,1388h
call L0E5B
xor a
call L2A0E
ld c,a
push bc
call L0E69
xor a
ld (8183h),a
pop bc
ld a,c
L15F2: pop bc
pop bc
pop bc
ret
; --- START PROC L15F6 ---
L15F6: ld a,0FFh
ld (817Dh),a
ld a,39h ; '9'
ld (8172h),a
call L29ED
or a
ret nz
ld hl,1388h
call L0E5B
call L201E
push af
call L0E69
pop af
or a
ret nz
ld hl,(8166h)
ld de,0FFE4h
add hl,de
push hl
ld hl,1388h
call L0E5B
pop hl
ld e,01h
ld c,00h
call L27B7
or a
jr z,L1634
cp 0F0h
ret nz
ld a,7Dh ; '}'
ret
L1634: call L0E69
xor a
ret
; --- START PROC L1639 ---
L1639: ld a,0FFh
ld (817Dh),a
ld a,3Ah ; ':'
ld (8172h),a
ld hl,0197h
call L2532
or a
jr z,L1652
cp 0F0h
ret nz
ld a,7Ah ; 'z'
ret
L1652: xor a
ret
; --- START PROC L1654 ---
L1654: push bc
ld a,0FFh
ld (817Dh),a
ld a,38h ; '8'
ld (8172h),a
ld hl,0000h
call L1FF2
ld hl,0000h
add hl,sp
ld (hl),a
or a
jr z,L1683
ld hl,0000h
add hl,sp
ld a,(hl)
cp 0F0h
jr nz,L167B
ld a,7Ch ; '|'
jp L1739
L167B: ld hl,0000h
add hl,sp
ld a,(hl)
jp L1739
L1683: ld hl,1388h
call L0E5B
ld e,01h
ld hl,014Ah
call L261A
ld hl,0000h
add hl,sp
ld (hl),a
or a
jr z,L16AF
ld hl,0000h
add hl,sp
ld a,(hl)
cp 0F0h
jr nz,L16A7
ld a,72h ; 'r'
jp L1739
L16A7: ld hl,0000h
add hl,sp
ld a,(hl)
jp L1739
L16AF: call L0E69
ld hl,003Ch
call L0391
and 80h
jr z,L16F7
ld hl,0000h
add hl,sp
ld (hl),53h ; 'S'
L16C2: ld a,(800Ch)
cp 0FFh
jr nz,L16C2
ld de,0001h
ld hl,0000h
add hl,sp
call L0814
L16D3: ld a,(800Ch)
cp 0FFh
jr nz,L16D3
ld a,0FFh
ld (8181h),a
L16DF: ld hl,003Ch
call L0391
and 80h
jr nz,L16DF
ld hl,003Eh
call L0391
and 02h
jr nz,L16DF
xor a
ld (8181h),a
L16F7: ld hl,0055h
call L2532
ld hl,0000h
add hl,sp
ld (hl),a
or a
jr z,L1719
ld hl,0000h
add hl,sp
ld a,(hl)
cp 0F0h
jr nz,L1712
ld a,77h ; 'w'
jr L1739
L1712: ld hl,0000h
add hl,sp
ld a,(hl)
jr L1739
L1719: ld a,(817Eh)
or a
jr z,L1722
xor a
jr L1739
L1722: ld hl,1388h
call L0E5B
xor a
call L2A0E
ld hl,0000h
add hl,sp
ld (hl),a
call L0E69
ld hl,0000h
add hl,sp
ld a,(hl)
L1739: pop bc
ret
; --- START PROC L173B ---
L173B: ld a,0FFh
ld (817Dh),a
ld a,28h ; '('
ld (8172h),a
call L29ED
or a
ret nz
ld hl,1388h
call L0E5B
ld e,00h
ld hl,014Ah
call L261A
push af
call L0E69
pop af
ret
; --- START PROC L175E ---
L175E: ld a,0FFh
ld (817Dh),a
ld a,29h ; ')'
ld (8172h),a
call L29ED
or a
ret nz
ld hl,1388h
call L0E5B
ld e,00h
ld hl,014Ah
call L261A
push af
call L0E69
pop af
or a
ret nz
ld hl,1388h
call L0E5B
ld c,00h
ld e,00h
ld hl,01B6h
call L27B7
push af
call L0E69
pop af
ret
; --- START PROC L1798 ---
L1798: ld a,0FFh
ld (817Dh),a
ld a,2Ah ; '*'
ld (8172h),a
call L29ED
or a
ret nz
ld hl,1388h
call L0E5B
ld e,00h
ld hl,027Eh
call L261A
push af
call L0E69
pop af
ret
; --- START PROC L17BB ---
L17BB: ld a,0FFh
ld (817Dh),a
ld a,62h ; 'b'
ld (8172h),a
ld de,0000h
ld hl,(8164h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
inc d
dec d
jp p,L17DE
ld a,e
cpl
ld l,a
ld a,d
cpl
ld h,a
ex de,hl
L17DE: ld hl,0023h
call L3334
jr nc,L1826
push de
ld a,(8184h)
or a
jr z,L17F2
ld hl,2710h
jr L17F5
L17F2: ld hl,1388h
L17F5: call L0E5B
xor a
call L2CA0
push af
call L0E69
pop af
pop de
or a
ret nz
push de
ld a,(8184h)
or a
jr z,L1810
ld hl,3A98h
jr L1813
L1810: ld hl,2710h
L1813: call L0E5B
ld e,00h
ld hl,0000h
call L261A
push af
call L0E69
pop af
pop de
or a
ret nz
L1826: ld a,(8173h)
cp 62h ; 'b'
jr z,L183B
cp 63h ; 'c'
jr z,L1840
cp 64h ; 'd'
jr z,L1845
cp 65h ; 'e'
jr z,L184A
jr L184D
L183B: ld de,001Fh
jr L184D
L1840: ld de,008Dh
jr L184D
L1845: ld de,00FBh
jr L184D
L184A: ld de,0169h
L184D: push de
ld a,(8184h)
or a
jr z,L1859
ld hl,2710h
jr L185C
L1859: ld hl,1388h
L185C: call L0E5B
pop hl
ld e,00h
ld c,01h
call L27B7
push af
call L0E69
pop af
ret
; --- START PROC L186D ---
L186D: ld a,0FFh
ld (817Dh),a
ld a,66h ; 'f'
ld (8172h),a
ld de,0000h
ld hl,(8164h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
inc d
dec d
jp p,L1890
ld a,e
cpl
ld l,a
ld a,d
cpl
ld h,a
ex de,hl
L1890: ld hl,0023h
call L3334
jr nc,L18D4
ld a,(8184h)
or a
jr z,L18A3
ld hl,2710h
jr L18A6
L18A3: ld hl,1388h
L18A6: call L0E5B
xor a
call L2CA0
push af
call L0E69
pop af
or a
ret nz
ld a,(8184h)
or a
jr z,L18BF
ld hl,3A98h
jr L18C2
L18BF: ld hl,2710h
L18C2: call L0E5B
ld e,00h
ld hl,0000h
call L261A
push af
call L0E69
pop af
or a
ret nz
L18D4: ld a,(8184h)
or a
jr z,L18DF
ld hl,2710h
jr L18E2
L18DF: ld hl,1388h
L18E2: call L0E5B
ld c,00h
ld e,00h
ld hl,0197h
call L27B7
push af
call L0E69
pop af
ret
; --- START PROC L18F5 ---
L18F5: ld a,0FFh
ld (817Dh),a
ld a,67h ; 'g'
ld (8172h),a
ld de,014Ah
ld hl,(8164h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
inc d
dec d
jp p,L1918
ld a,e
cpl
ld l,a
ld a,d
cpl
ld h,a
ex de,hl
L1918: ld hl,0023h
call L3334
jr nc,L193E
push de
ld a,(8184h)
or a
jr z,L192C
ld hl,2710h
jr L192F
L192C: ld hl,1388h
L192F: call L0E5B
xor a
call L2CA0
push af
call L0E69
pop af
pop de
or a
ret nz
L193E: push de
ld a,(8184h)
or a
jr z,L194A
ld hl,2710h
jr L194D
L194A: ld hl,1388h
L194D: push hl
call L0E5B
ld e,00h
ld hl,014Ah
call L261A
push af
call L0E69
pop af
pop hl
pop de
or a
ret nz
ld a,(8173h)
cp 67h ; 'g'
jr z,L1973
cp 68h ; 'h'
jr z,L1980
cp 69h ; 'i'
jr z,L1985
jr L1988
L1973: call L0E5B
xor a
call L2CA0
push af
call L0E69
pop af
ret
L1980: ld de,00DBh
jr L1988
L1985: ld de,01B6h
L1988: push de
call L0E5B
pop hl
ld e,00h
ld c,00h
call L27B7
push af
call L0E69
pop af
ret
; --- START PROC L199A ---
L199A: ld a,0FFh
ld (817Dh),a
ld a,67h ; 'g'
ld (8172h),a
ld de,027Eh
ld hl,(8164h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
inc d
dec d
jp p,L19BD
ld a,e
cpl
ld l,a
ld a,d
cpl
ld h,a
ex de,hl
L19BD: ld hl,0023h
call L3334
jr nc,L19E3
push de
ld a,(8184h)
or a
jr z,L19D1
ld hl,2710h
jr L19D4
L19D1: ld hl,1388h
L19D4: call L0E5B
xor a
call L2CA0
push af
call L0E69
pop af
pop de
or a
ret nz
L19E3: push de
ld a,(8184h)
or a
jr z,L19EF
ld hl,3A98h
jr L19F2
L19EF: ld hl,1388h
L19F2: call L0E5B
ld e,00h
ld hl,027Eh
call L261A
push af
call L0E69
pop af
pop de
or a
ret nz
ld a,(8184h)
or a
jr z,L1A10
ld hl,2710h
jr L1A13
L1A10: ld hl,1388h
L1A13: ld a,(8173h)
cp 6Ah ; 'j'
jr z,L1A24
cp 6Bh ; 'k'
jr z,L1A31
cp 6Ch ; 'l'
jr z,L1A36
jr L1A39
L1A24: call L0E5B
xor a
call L2CA0
push af
call L0E69
pop af
ret
L1A31: ld de,00DBh
jr L1A39
L1A36: ld de,01B6h
L1A39: push de
call L0E5B
pop hl
ld e,00h
ld c,00h
call L27B7
push af
call L0E69
pop af
ret
; --- START PROC L1A4B ---
L1A4B: push bc
push bc
ld a,0FFh
ld (817Dh),a
ld a,2Eh ; '.'
ld (8172h),a
call L29ED
ld c,a
inc c
dec c
jr z,L1A63
ld a,c
jp L1C9E
L1A63: ld hl,0000h
ld (816Ch),hl
L1A69: ld hl,0000h
pop de
push hl
L1A6E: ld hl,003Eh
call L0391
and 01h
jr nz,L1AB5
ld hl,001Fh
call L107A
ld c,a
ld a,(817Eh)
or a
jr z,L1A89
xor a
jp L1C9E
L1A89: inc c
dec c
jr z,L1A91
ld a,c
jp L1C9E
L1A91: ld hl,001Fh
call L11BE
ld c,a
ld a,(817Eh)
or a
jr z,L1AA2
xor a
jp L1C9E
L1AA2: inc c
dec c
jr z,L1AAA
ld a,c
jp L1C9E
L1AAA: pop hl
push hl
inc hl
pop de
push hl
ld a,l
sub 64h ; 'd'
or h
jr nz,L1A6E
L1AB5: ld hl,0000h
pop de
push hl
L1ABA: ld hl,1388h
call L0E5B
ld e,00h
ld hl,027Eh
call L261A
ld c,a
push bc
call L0E69
pop bc
ld a,(817Eh)
or a
jr z,L1AD8
xor a
jp L1C9E
L1AD8: inc c
dec c
jr z,L1AE0
ld a,c
jp L1C9E
L1AE0: ld hl,0000h
call L3399
L1AE6: call L33C4
ld de,000Ah
call L3334
jr nc,L1B31
ld hl,0000h
call L1FF2
ld c,a
inc c
dec c
jr z,L1B31
push bc
call L0E69
pop bc
ld a,c
cp 6Ah ; 'j'
jr z,L1B31
ld a,c
cp 0F0h
jr nz,L1B24
push bc
ld a,(8162h)
and 1Bh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,015Eh
call L0E49
pop bc
jr L1B28
L1B24: ld a,c
jp L1C9E
L1B28: call L33C4
inc hl
call L3399
jr L1AE6
L1B31: ld a,(817Eh)
or a
jr z,L1B3B
xor a
jp L1C9E
L1B3B: ld a,c
cp 0F0h
jr nz,L1B45
ld a,7Eh ; '~'
jp L1C9E
L1B45: ld a,c
cp 6Ah ; 'j'
jr nz,L1B5E
call L0E74
ld hl,1388h
call L0E5B
xor a
call L2CA0
ld c,a
call L0E69
jp L1C94
L1B5E: ld hl,1388h
call L0E5B
ld a,01h
call L2A0E
ld c,a
push bc
call L0E69
pop bc
ld a,(817Eh)
or a
jr z,L1B79
xor a
jp L1C9E
L1B79: ld a,c
cp 0F0h
jr nz,L1B83
ld a,75h ; 'u'
jp L1C9E
L1B83: ld hl,001Fh
call L24EC
ld c,a
inc c
dec c
jr z,L1BB0
ld a,c
cp 0F0h
jr nz,L1B98
ld a,78h ; 'x'
jp L1C9E
L1B98: ld a,c
cp 91h
jr z,L1BA2
ld a,c
cp 90h
jr nz,L1BAC
L1BA2: ld a,c
push af
call L258A
ld c,a
pop af
jp L1C9E
L1BAC: ld a,c
jp L1C9E
L1BB0: ld a,(817Eh)
or a
jr z,L1BBA
xor a
jp L1C9E
L1BBA: ld hl,0000h
call L3399
L1BC0: call L33C4
ld de,000Ah
call L3334
jr nc,L1C29
ld hl,001Fh
call L1FF2
ld c,a
inc c
dec c
jr z,L1C29
ld a,c
cp 0F0h
jr nz,L1BFF
ld hl,(8166h)
ld de,0009h
call L3334
jr c,L1C29
push bc
ld a,(8162h)
and 1Bh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,015Eh
call L0E49
pop bc
jr L1C20
L1BFF: ld a,c
cp 91h
jr z,L1C09
ld a,c
cp 90h
jr nz,L1C1D
L1C09: ld a,c
push af
ld hl,1388h
call L0E5B
xor a
call L2CA0
ld c,a
call L0E69
pop af
jp L1C9E
L1C1D: ld a,c
jr L1C9E
L1C20: call L33C4
inc hl
call L3399
jr L1BC0
L1C29: ld a,(817Eh)
or a
jr z,L1C32
xor a
jr L1C9E
L1C32: ld a,c
cp 0F0h
jr nz,L1C3B
ld a,7Ch ; '|'
jr L1C9E
L1C3B: ld hl,1388h
call L0E5B
ld e,01h
ld hl,014Ah
call L261A
ld c,a
push bc
call L0E69
pop bc
ld a,(817Eh)
or a
jr z,L1C58
xor a
jr L1C9E
L1C58: inc c
dec c
jr z,L1C68
ld a,c
cp 0F0h
jr nz,L1C65
ld a,72h ; 'r'
jr L1C9E
L1C65: ld a,c
jr L1C9E
L1C68: ld hl,0055h
call L2532
ld c,a
inc c
dec c
jr z,L1C7F
ld a,c
cp 0F0h
jr nz,L1C7C
ld a,79h ; 'y'
jr L1C9E
L1C7C: ld a,c
jr L1C9E
L1C7F: ld a,(817Eh)
or a
jr z,L1C88
xor a
jr L1C9E
L1C88: pop hl
push hl
inc hl
pop de
push hl
ld a,l
sub 64h ; 'd'
or h
jp nz,L1ABA
L1C94: ld hl,(816Ch)
inc hl
ld (816Ch),hl
jp L1A69
L1C9E: pop bc
pop bc
ret
; --- START PROC L1CA1 ---
L1CA1: push bc
push bc
ld a,0FFh
ld (817Dh),a
ld a,2Fh ; '/'
ld (8172h),a
call L29ED
ld c,a
inc c
dec c
jr z,L1CB9
ld a,c
jp L1DAE
L1CB9: ld hl,1388h
call L0E5B
ld e,00h
ld hl,014Ah
call L261A
ld c,a
push bc
call L0E69
pop bc
ld a,(817Eh)
or a
jr z,L1CD7
xor a
jp L1DAE
L1CD7: inc c
dec c
jr z,L1CDF
ld a,c
jp L1DAE
L1CDF: ld hl,0000h
ld (816Ch),hl
L1CE5: push bc
ld hl,003Ch
call L0391
and 80h
jr z,L1D2B
ld hl,0002h
add hl,sp
ld (hl),53h ; 'S'
L1CF6: ld a,(800Ch)
cp 0FFh
jr nz,L1CF6
ld de,0001h
ld hl,0002h
add hl,sp
call L0814
L1D07: ld a,(800Ch)
cp 0FFh
jr nz,L1D07
ld a,0FFh
ld (8181h),a
L1D13: ld hl,003Ch
call L0391
and 80h
jr nz,L1D13
ld hl,003Eh
call L0391
and 03h
jr nz,L1D13
xor a
ld (8181h),a
L1D2B: ld hl,0000h
call L3393
pop bc
L1D32: call L33CA
ld de,000Ah
call L3334
jr nc,L1D72
ld hl,0000h
call L1FF2
ld c,a
inc c
dec c
jr z,L1D72
ld a,c
cp 0F0h
jr nz,L1D66
push bc
ld a,(8162h)
and 1Bh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,015Eh
call L0E49
pop bc
jr L1D69
L1D66: ld a,c
jr L1DAE
L1D69: call L33CA
inc hl
call L339F
jr L1D32
L1D72: ld a,c
cp 0F0h
jr nz,L1D7B
ld a,7Bh ; '{'
jr L1DAE
L1D7B: ld a,(817Eh)
or a
jr z,L1D84
xor a
jr L1DAE
L1D84: ld hl,0055h
call L2532
ld c,a
inc c
dec c
jr z,L1D9B
ld a,c
cp 0F0h
jr nz,L1D98
ld a,79h ; 'y'
jr L1DAE
L1D98: ld a,c
jr L1DAE
L1D9B: ld a,(817Eh)
or a
jr z,L1DA4
xor a
jr L1DAE
L1DA4: ld hl,(816Ch)
inc hl
ld (816Ch),hl
jp L1CE5
L1DAE: pop bc
pop bc
ret
; --- START PROC L1DB1 ---
L1DB1: push bc
ld a,0FFh
ld (817Dh),a
ld a,20h ; ' '
ld (8172h),a
call L29ED
or a
jr nz,L1E22
L1DC2: ld hl,0000h
pop de
push hl
L1DC7: pop hl
push hl
ld de,0064h
call L3334
jr nc,L1DF2
ld a,(8180h)
or a
jr z,L1DDA
xor a
jr L1E22
L1DDA: ld a,(817Eh)
or a
jr z,L1DE3
xor a
jr L1E22
L1DE3: pop hl
push hl
call L1E24
or a
jr nz,L1E22
pop hl
push hl
inc hl
pop de
push hl
jr L1DC7
L1DF2: ld hl,0000h
pop de
push hl
L1DF7: pop hl
push hl
ld de,0064h
call L3334
jr nc,L1DC2
ld a,(8180h)
or a
jr z,L1E0A
xor a
jr L1E22
L1E0A: ld a,(817Eh)
or a
jr z,L1E13
xor a
jr L1E22
L1E13: pop hl
push hl
call L1F0B
or a
jr nz,L1E22
pop hl
push hl
inc hl
pop de
push hl
jr L1DF7
L1E22: pop bc
ret
; --- START PROC L1E24 ---
L1E24: push hl
push bc
L1E26: ld hl,1388h
call L0E5B
ld e,00h
ld hl,014Ah
call L261A
ld c,a
push bc
call L0E69
pop bc
inc c
dec c
jr z,L1E42
ld a,c
jp L1F08
L1E42: ld hl,0000h
pop de
push hl
L1E47: pop hl
push hl
ld de,000Ah
call L3334
jr nc,L1E8A
ld hl,0000h
call L1FF2
ld c,a
inc c
dec c
jr z,L1E8A
push bc
call L0E69
pop bc
ld a,c
cp 0F0h
jr nz,L1E7F
push bc
ld a,(8162h)
and 1Bh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,015Eh
call L0E49
pop bc
jr L1E83
L1E7F: ld a,c
jp L1F08
L1E83: pop hl
push hl
inc hl
pop de
push hl
jr L1E47
L1E8A: ld a,c
cp 0F0h
jr nz,L1EAE
ld hl,1388h
call L0E5B
xor a
call L2CA0
ld c,a
call L0E69
ld hl,1388h
call L0E5B
xor a
call L2A0E
ld c,a
call L0E69
jp L1E26
L1EAE: ld hl,1388h
call L0E5B
ld e,01h
ld hl,027Eh
call L261A
ld c,a
inc c
dec c
jr z,L1ECD
ld a,c
cp 0F0h
jr nz,L1ECA
ld a,73h ; 's'
jr L1F08
L1ECA: ld a,c
jr L1F08
L1ECD: call L0E69
ld hl,0055h
call L2532
ld c,a
inc c
dec c
jr z,L1EE7
ld a,c
cp 0F0h
jr nz,L1EE4
ld a,79h ; 'y'
jr L1F08
L1EE4: ld a,c
jr L1F08
L1EE7: call L33C4
ld a,l
sub 63h ; 'c'
or h
jr nz,L1F07
ld hl,1388h
call L0E5B
xor a
call L2A0E
ld c,a
push bc
call L0E69
pop bc
inc c
dec c
jr z,L1F07
ld a,c
jr L1F08
L1F07: xor a
L1F08: pop bc
pop bc
ret
; --- START PROC L1F0B ---
L1F0B: push hl
push bc
L1F0D: ld hl,1388h
call L0E5B
ld e,00h
ld hl,027Eh
call L261A
ld c,a
push bc
call L0E69
pop bc
inc c
dec c
jr z,L1F29
ld a,c
jp L1FEF
L1F29: ld hl,0000h
pop de
push hl
L1F2E: pop hl
push hl
ld de,000Ah
call L3334
jr nc,L1F71
ld hl,0000h
call L1FF2
ld c,a
inc c
dec c
jr z,L1F71
push bc
call L0E69
pop bc
ld a,c
cp 0F0h
jr nz,L1F66
push bc
ld a,(8162h)
and 1Bh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,015Eh
call L0E49
pop bc
jr L1F6A
L1F66: ld a,c
jp L1FEF
L1F6A: pop hl
push hl
inc hl
pop de
push hl
jr L1F2E
L1F71: ld a,c
cp 0F0h
jr nz,L1F95
ld hl,1388h
call L0E5B
xor a
call L2CA0
ld c,a
call L0E69
ld hl,1388h
call L0E5B
xor a
call L2A0E
ld c,a
call L0E69
jp L1F0D
L1F95: ld hl,1388h
call L0E5B
ld e,01h
ld hl,014Ah
call L261A
ld c,a
inc c
dec c
jr z,L1FB4
ld a,c
cp 0F0h
jr nz,L1FB1
ld a,74h ; 't'
jr L1FEF
L1FB1: ld a,c
jr L1FEF
L1FB4: call L0E69
ld hl,0055h
call L2532
ld c,a
inc c
dec c
jr z,L1FCE
ld a,c
cp 0F0h
jr nz,L1FCB
ld a,77h ; 'w'
jr L1FEF
L1FCB: ld a,c
jr L1FEF
L1FCE: call L33C4
ld a,l
sub 63h ; 'c'
or h
jr nz,L1FEE
ld hl,1388h
call L0E5B
xor a
call L2A0E
ld c,a
push bc
call L0E69
pop bc
inc c
dec c
jr z,L1FEE
ld a,c
jr L1FEF
L1FEE: xor a
L1FEF: pop bc
pop bc
ret
; --- START PROC L1FF2 ---
L1FF2: push hl
ld hl,1388h
call L0E5B
pop hl
ld a,l
or h
jr z,L2003
call L2174
jr L2006
L2003: call L201E
L2006: push af
call L0E69
pop af
or a
ret nz
ld hl,1388h
call L0E5B
ld a,01h
call L3106
push af
call L0E69
pop af
ret
; --- START PROC L201E ---
L201E: push bc
push bc
ld a,(8180h)
or a
jr z,L202A
xor a
jp L2171
L202A: ld a,(817Eh)
or a
jr z,L2034
xor a
jp L2171
L2034: ld hl,0038h
call L0391
cpl
rrca
rrca
rrca
rrca
and 0Fh
push af
ld l,a
ld h,00h
ld de,0004h
call L3342
add hl,hl
call L338D
pop af
ld l,a
ld h,00h
ld de,0004h
call L3342
ex de,hl
add hl,hl
pop de
push hl
ld hl,003Ch
call L0391
ld a,(8162h)
and 3Fh ; '?'
ld (8162h),a
or 10h
ld (8162h),a
xor a
ld (8177h),a
ld a,03h
ld a,(8162h)
or 28h ; '('
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L2085: ld hl,003Ch
call L0391
and 02h
or a
jr nz,L20D8
ld a,(817Eh)
or a
jr z,L209A
xor a
jp L2171
L209A: ld hl,003Eh
call L0391
and 02h
call nz,L0C00
ld a,(817Ah)
or a
jr z,L20B0
ld a,6Ah ; 'j'
jp L2171
L20B0: ld a,(8172h)
cp 39h ; '9'
jr z,L20BE
ld a,(8172h)
cp 38h ; '8'
jr nz,L2085
L20BE: ld hl,003Ch
call L0391
and 01h
jr nz,L20D8
ld hl,(8166h)
ld de,0197h
call L3334
jr c,L2085
ld a,90h
jp L2171
L20D8: ld a,(8162h)
and 0EFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0FFh
ld (8177h),a
ld a,(8172h)
cp 39h ; '9'
jr z,L20FA
ld a,(8172h)
cp 38h ; '8'
jr nz,L2104
L20FA: call L33C4
ld de,000Dh
add hl,de
ex de,hl
jr L210B
L2104: pop hl
push hl
ld de,0008h
add hl,de
ex de,hl
L210B: ld hl,(8166h)
add hl,de
ex de,hl
ex de,hl
ld e,00h
ld c,00h
call L27B7
or a
jr nz,L2171
ld a,(8172h)
cp 39h ; '9'
jr z,L2129
ld a,(8172h)
cp 38h ; '8'
jr nz,L2137
L2129: ld hl,003Ch
call L0391
and 02h
jr nz,L2137
ld a,81h
jr L2171
L2137: ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,01F4h
call L0E49
ld a,(8162h)
or 40h ; '@'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,01F4h
call L0E49
ld a,(8162h)
or 80h
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
xor a
L2171: pop bc
pop bc
ret
; --- START PROC L2174 ---
L2174: push hl
push bc
push bc
push bc
ld a,(817Eh)
or a
jr z,L2182
xor a
jp L233D
L2182: ld hl,0038h
call L0391
cpl
rrca
rrca
rrca
rrca
and 0Fh
ld l,a
ld h,00h
ld de,0004h
call L3342
add hl,hl
pop de
push hl
ld hl,003Ch
call L0391
ld a,(8162h)
and 3Fh ; '?'
ld (8162h),a
call L33B8
ex de,hl
ld hl,(8166h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
inc d
dec d
jp p,L21C1
ld a,90h
jp L233D
L21C1: ld hl,0023h
call L3334
jr nc,L21D7
ld a,(8162h)
or 10h
ld (8162h),a
xor a
ld (8177h),a
jr L21E4
L21D7: ld a,(8162h)
and 0EFh
ld (8162h),a
ld a,0FFh
ld (8177h),a
L21E4: ld a,(8162h)
or 28h ; '('
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L21F3: call L33B8
ex de,hl
ld hl,(8166h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
ld a,e
or d
jp z,L22D9
ld a,(817Eh)
or a
jr z,L2210
xor a
jp L233D
L2210: ld a,(817Fh)
or a
jr nz,L2221
ld hl,003Eh
call L0391
and 02h
call nz,L0C00
L2221: ld a,(817Ah)
or a
jr z,L222C
ld a,6Ah ; 'j'
jp L233D
L222C: ld hl,003Ch
call L0391
and 01h
jr z,L2290
ld hl,0000h
call L3399
call L338D
L223F: call L33BE
ld a,l
sub 05h
or h
jr z,L2262
ld hl,003Ch
call L0391
and 01h
jr z,L2262
call L33C4
inc hl
call L3399
call L33BE
inc hl
call L338D
jr L223F
L2262: call L33C4
ld a,l
sub 05h
or h
jr nz,L2290
call L33B8
push hl
ld hl,(8166h)
ld de,003Ch
add hl,de
pop de
call L3334
jr nc,L2290
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,91h
jp L233D
L2290: ld hl,003Ch
call L0391
and 02h
jr nz,L22D9
call L33B8
ex de,hl
ld hl,(8166h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
inc d
dec d
jp p,L22B2
ld a,90h
jp L233D
L22B2: ld a,(8177h)
or a
jp nz,L21F3
ld hl,0023h
call L3334
jp c,L21F3
ld a,(8162h)
and 0EFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0FFh
ld (8177h),a
jp L21F3
L22D9: pop hl
push hl
push hl
ld hl,(8166h)
ld de,0008h
add hl,de
pop de
add hl,de
call L3387
ld c,01h
call L33B8
ld e,00h
call L27B7
or a
jr nz,L233D
ld hl,003Ch
call L0391
and 02h
jr nz,L2303
ld a,90h
jr L233D
L2303: ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,01F4h
call L0E49
ld a,(8162h)
or 40h ; '@'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,01F4h
call L0E49
ld a,(8162h)
or 80h
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
xor a
L233D: pop bc
pop bc
pop bc
pop bc
ret
; --- START PROC L2342 ---
L2342: push hl
push bc
push bc
ld a,(8180h)
or a
jr z,L234F
xor a
jp L24E8
L234F: ld a,(817Eh)
or a
jr z,L2359
xor a
jp L24E8
L2359: call L33BE
ld (816Ah),hl
call L33BE
ex de,hl
ld hl,(8166h)
call L3334
jr nz,L236F
xor a
jp L24E8
L236F: xor a
ld (8177h),a
call L33BE
ex de,hl
ld hl,(8166h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
inc d
dec d
jp p,L238B
ld a,90h
jp L24E8
L238B: ld hl,0023h
call L3334
jr nc,L239D
ld a,(8162h)
or 10h
ld (8162h),a
jr L23AA
L239D: ld a,(8162h)
and 0EFh
ld (8162h),a
ld a,0FFh
ld (8177h),a
L23AA: ld a,(8162h)
or 28h ; '('
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L23B9: call L33BE
ex de,hl
ld hl,(8166h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
ld a,e
or d
jp z,L24C4
ld a,(8180h)
or a
jr z,L23D6
xor a
jp L24E8
L23D6: ld a,(817Eh)
or a
jr z,L23E0
xor a
jp L24E8
L23E0: ld a,(817Fh)
or a
jr nz,L23F1
ld hl,003Eh
call L0391
and 02h
call nz,L0C00
L23F1: ld a,(817Ah)
or a
jr z,L23FC
ld a,6Ah ; 'j'
jp L24E8
L23FC: ld hl,003Ch
call L0391
and 01h
jr z,L245C
ld hl,0000h
pop de
push hl
call L3399
L240E: call L33C4
ld a,l
sub 05h
or h
jr z,L242F
ld hl,003Ch
call L0391
and 01h
jr z,L242F
pop hl
push hl
inc hl
pop de
push hl
call L33C4
inc hl
call L3399
jr L240E
L242F: pop hl
push hl
ld a,l
sub 05h
or h
jr nz,L245C
call L33BE
push hl
ld hl,(8166h)
ld de,003Ch
add hl,de
pop de
call L3334
jr nc,L245C
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,91h
jp L24E8
L245C: ld hl,003Ch
call L0391
and 02h
jr nz,L2479
ld a,(8162h)
and 3Fh ; '?'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0F0h
jr L24E8
L2479: call L33BE
ex de,hl
ld hl,(8166h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
inc d
dec d
jp m,L2494
ld hl,0004h
call L3334
jr nc,L24C4
L2494: inc d
dec d
jp p,L249D
ld a,90h
jr L24E8
L249D: ld a,(8177h)
or a
jp nz,L23B9
ld hl,0023h
call L3334
jp c,L23B9
ld a,(8162h)
and 0EFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0FFh
ld (8177h),a
jp L23B9
L24C4: ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
ld hl,003Ch
call L0391
and 01h
jr nz,L24E7
ld a,90h
jr L24E8
L24E7: xor a
L24E8: pop bc
pop bc
pop bc
ret
; --- START PROC L24EC ---
L24EC: ld a,(8180h)
or a
jr z,L24F4
xor a
ret
L24F4: ld a,(817Eh)
or a
jr z,L24FC
xor a
ret
L24FC: push hl
ld hl,1388h
call L0E5B
pop hl
call L2342
push af
call L0E69
pop af
or a
ret nz
ld a,(8162h)
and 3Fh ; '?'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,01F4h
call L0E49
ld hl,1388h
call L0E5B
call L2F32
push af
call L0E69
pop af
ret
; --- START PROC L2532 ---
L2532: ld a,(8180h)
or a
jr z,L253A
xor a
ret
L253A: ld a,(817Eh)
or a
jr z,L2542
xor a
ret
L2542: push hl
ld hl,1388h
call L0E5B
pop hl
ld e,01h
ld c,00h
call L27B7
push af
call L0E69
pop af
or a
ret nz
ld a,(8162h)
and 3Fh ; '?'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,01F4h
call L0E49
ld hl,003Ch
call L0391
and 02h
jr z,L257A
ld a,88h
ret
L257A: ld hl,1388h
call L0E5B
xor a
call L2CA0
push af
call L0E69
pop af
ret
; --- START PROC L258A ---
L258A: ld hl,1388h
call L0E5B
xor a
call L2CA0
call L0E69
ld hl,1388h
call L0E5B
ld e,01h
ld hl,014Ah
call L261A
push af
call L0E69
pop af
or a
jr z,L25B3
cp 0F0h
ret nz
ld a,72h ; 'r'
ret
L25B3: ld hl,0055h
call L2532
or a
jr z,L25C2
cp 0F0h
ret nz
ld a,77h ; 'w'
ret
L25C2: ld hl,1388h
call L0E5B
xor a
call L2A0E
push af
call L0E69
pop af
ret
; --- START PROC L25D2 ---
L25D2: ld hl,1388h
call L0E5B
xor a
call L2CA0
call L0E69
ld hl,1388h
call L0E5B
ld e,01h
ld hl,027Eh
call L261A
push af
call L0E69
pop af
or a
jr z,L25FB
cp 0F0h
ret nz
ld a,71h ; 'q'
ret
L25FB: ld hl,0055h
call L2532
or a
jr z,L260A
cp 0F0h
ret nz
ld a,79h ; 'y'
ret
L260A: ld hl,1388h
call L0E5B
xor a
call L2A0E
push af
call L0E69
pop af
ret
; --- START PROC L261A ---
L261A: push hl
push de
push bc
push bc
ld a,(8180h)
or a
jr z,L2628
xor a
jp L27B2
L2628: ld a,(817Eh)
or a
jr z,L2632
xor a
jp L27B2
L2632: call L33B8
ld (8168h),hl
call L33B8
ex de,hl
ld hl,(8164h)
call L3334
jr nz,L2648
xor a
jp L27B2
L2648: xor a
ld (8177h),a
call L33B8
ex de,hl
ld hl,(8164h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
inc d
dec d
jp p,L2666
ld a,e
cpl
ld l,a
ld a,d
cpl
ld h,a
ex de,hl
L2666: ld hl,0023h
call L3334
jr nc,L267E
ld a,(8184h)
or a
jr nz,L267E
ld a,(8162h)
or 02h
ld (8162h),a
jr L268B
L267E: ld a,(8162h)
and 0FDh
ld (8162h),a
ld a,0FFh
ld (8177h),a
L268B: call L33B8
ex de,hl
ld hl,(8164h)
call L3334
jr nc,L26A7
ld a,(8162h)
or 01h
ld (8162h),a
ld hl,0000h
add hl,sp
ld (hl),01h
jr L26B5
L26A7: ld a,(8162h)
and 0FEh
ld (8162h),a
ld hl,0000h
add hl,sp
ld (hl),00h
L26B5: ld a,(8162h)
or 04h
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L26C4: call L33B8
ex de,hl
ld hl,(8164h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
call L339F
ld a,l
or h
jp z,L279C
ld a,(8180h)
or a
jr z,L26E3
xor a
jp L27B2
L26E3: ld a,(817Eh)
or a
jr z,L26ED
xor a
jp L27B2
L26ED: ld a,(817Fh)
or a
jr nz,L26FE
ld hl,003Eh
call L0391
and 02h
call nz,L0C00
L26FE: ld hl,0000h
add hl,sp
ld a,(hl)
or a
jr nz,L2721
ld hl,003Ch
call L0391
and 20h ; ' '
jr z,L2721
ld a,(8162h)
and 0FBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
jr L279C
L2721: ld a,(817Ah)
or a
jr z,L2738
ld hl,0000h
add hl,sp
ld a,(hl)
cp 01h
jr nz,L2734
ld a,68h ; 'h'
jr L27B2
L2734: ld a,69h ; 'i'
jr L27B2
L2738: ld hl,0004h
add hl,sp
ld a,(hl)
or a
jr z,L275D
ld hl,003Ch
call L0391
and 02h
jr nz,L275D
ld a,(8162h)
and 3Fh ; '?'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0F0h
jr L27B2
L275D: ld a,(8177h)
or a
jp nz,L26C4
call L33CA
inc h
dec h
jp p,L2778
call L33CA
ld a,l
cpl
ld l,a
ld a,h
cpl
ld h,a
call L339F
L2778: call L33CA
ex de,hl
ld hl,0023h
call L3334
jp c,L26C4
ld a,(8162h)
and 0FDh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0FFh
ld (8177h),a
jp L26C4
L279C: ld a,(8162h)
and 0FBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
xor a
L27B2: pop bc
pop bc
pop bc
pop bc
ret
; --- START PROC L27B7 ---
L27B7: push hl
push de
push bc
push bc
push bc
ld a,(8180h)
or a
jr z,L27C6
xor a
jp L29E7
L27C6: ld a,(817Eh)
or a
jr z,L27D0
xor a
jp L29E7
L27D0: call L33B2
ld (816Ah),hl
call L33B2
ex de,hl
ld hl,(8166h)
call L3334
jr nz,L27E6
xor a
jp L29E7
L27E6: xor a
ld (8177h),a
call L33B2
ex de,hl
ld hl,(8166h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
ex de,hl
inc d
dec d
jp p,L2804
ld a,e
cpl
ld l,a
ld a,d
cpl
ld h,a
ex de,hl
L2804: ld hl,0023h
call L3334
jr nc,L281C
ld a,(8184h)
or a
jr nz,L281C
ld a,(8162h)
or 10h
ld (8162h),a
jr L2829
L281C: ld a,(8162h)
and 0EFh
ld (8162h),a
ld a,0FFh
ld (8177h),a
L2829: call L33B2
ex de,hl
ld hl,(8166h)
call L3334
jr nc,L2845
ld a,(8162h)
or 08h
ld (8162h),a
ld hl,0000h
add hl,sp
ld (hl),03h
jr L2853
L2845: ld a,(8162h)
and 0F7h
ld (8162h),a
ld hl,0000h
add hl,sp
ld (hl),02h
L2853: ld a,(8162h)
or 20h ; ' '
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L2862: call L33B2
ex de,hl
ld hl,(8166h)
ld a,e
sub l
ld l,a
ld a,d
sbc a,h
ld h,a
call L339F
ld a,l
or h
jp z,L29BB
ld a,(8180h)
or a
jr z,L2881
xor a
jp L29E7
L2881: ld a,(817Eh)
or a
jr z,L288B
xor a
jp L29E7
L288B: ld a,(817Fh)
or a
jr nz,L289C
ld hl,003Eh
call L0391
and 02h
call nz,L0C00
L289C: ld hl,0000h
add hl,sp
ld a,(hl)
cp 02h
jr nz,L28C1
ld hl,003Ch
call L0391
and 10h
jr z,L28C1
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
jp L29BB
L28C1: ld a,(817Ah)
or a
jr z,L28DA
ld hl,0000h
add hl,sp
ld a,(hl)
cp 03h
jr nz,L28D5
ld a,6Ah ; 'j'
jp L29E7
L28D5: ld a,6Bh ; 'k'
jp L29E7
L28DA: ld hl,0006h
add hl,sp
ld a,(hl)
or a
jr z,L2900
ld hl,003Ch
call L0391
and 02h
jr nz,L2900
ld a,(8162h)
and 3Fh ; '?'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0F0h
jp L29E7
L2900: ld hl,003Ch
call L0391
and 01h
jr z,L2958
ld hl,0004h
add hl,sp
ld a,(hl)
or a
jr z,L2937
call L33B2
push hl
ld hl,(8166h)
ld de,003Ch
add hl,de
pop de
call L3334
jr nc,L2937
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,91h
jp L29E7
L2937: ld a,(8172h)
cp 3Ah ; ':'
jr z,L2944
ld a,(8178h)
or a
jr z,L2958
L2944: ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,92h
jp L29E7
L2958: ld a,(8173h)
cp 29h ; ')'
jr nz,L297C
ld hl,003Ch
call L0391
and 02h
jr z,L297C
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,6Ah ; 'j'
jr L29E7
L297C: ld a,(8177h)
or a
jp nz,L2862
call L33CA
inc h
dec h
jp p,L2997
call L33CA
ld a,l
cpl
ld l,a
ld a,h
cpl
ld h,a
call L339F
L2997: call L33CA
ex de,hl
ld hl,0023h
call L3334
jp c,L2862
ld a,(8162h)
and 0EFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0FFh
ld (8177h),a
jp L2862
L29BB: ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
ld hl,0004h
add hl,sp
ld a,(hl)
or a
jr z,L29E6
ld hl,003Ch
call L0391
and 01h
jr nz,L29E6
ld a,90h
jr L29E7
L29E6: xor a
L29E7: pop bc
pop bc
pop bc
pop bc
pop bc
ret
; --- START PROC L29ED ---
L29ED: ld hl,2710h
call L0E5B
xor a
call L2CA0
push af
call L0E69
pop af
or a
ret nz
ld hl,3A98h
call L0E5B
xor a
call L2A0E
push af
call L0E69
pop af
ret
; --- START PROC L2A0E ---
L2A0E: push af
push bc
push bc
ld a,(817Eh)
or a
jr z,L2A1B
xor a
jp L2C9C
L2A1B: ld hl,0000h
ld (8168h),hl
ld hl,003Ch
call L0391
and 20h ; ' '
jp z,L2AC9
ld a,(8178h)
or a
jr nz,L2A56
ld a,(8162h)
and 0FDh
ld (8162h),a
and 0FBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
ld hl,0000h
ld (8164h),hl
xor a
jp L2C9C
L2A56: ld a,0FFh
ld (8177h),a
ld a,(8162h)
or 05h
ld (8162h),a
and 0FDh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0000h
pop de
push hl
L2A74: pop hl
push hl
ld a,l
sub 05h
or h
jr z,L2AB4
ld hl,0000h
pop de
push hl
call L3399
L2A84: call L33C4
ld a,l
sub 05h
or h
jr z,L2AA5
ld hl,003Ch
call L0391
and 20h ; ' '
jr nz,L2AA5
pop hl
push hl
inc hl
pop de
push hl
call L33C4
inc hl
call L3399
jr L2A84
L2AA5: ld hl,003Eh
call L0391
and 02h
jr z,L2A74
call L0C00
jr L2A74
L2AB4: ld a,(8162h)
and 0FBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
L2AC9: ld a,(817Bh)
or a
jp nz,L2BB6
ld hl,(8164h)
ex de,hl
ld hl,0023h
call L3334
jp nc,L2BB6
ld a,(8162h)
and 0FEh
ld (8162h),a
ld a,(8184h)
or a
jr nz,L2AF9
ld a,(8162h)
or 02h
ld (8162h),a
xor a
ld (8177h),a
jr L2B06
L2AF9: ld a,(8162h)
and 0FDh
ld (8162h),a
ld a,0FFh
ld (8177h),a
L2B06: ld a,(8162h)
or 04h
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L2B15: ld hl,(8164h)
ex de,hl
ld hl,0023h
call L3334
jp nc,L2BB6
ld a,(817Eh)
or a
jr z,L2B2C
xor a
jp L2C9C
L2B2C: ld hl,003Eh
call L0391
and 02h
call nz,L0C00
ld a,(817Ah)
or a
jr z,L2B42
ld a,69h ; 'i'
jp L2C9C
L2B42: ld hl,003Ch
call L0391
and 20h ; ' '
jr z,L2B8E
ld hl,0000h
pop de
push hl
call L3399
L2B54: call L33C4
ld a,l
sub 05h
or h
jr z,L2B75
ld hl,003Ch
call L0391
and 20h ; ' '
jr z,L2B75
pop hl
push hl
inc hl
pop de
push hl
call L33C4
inc hl
call L3399
jr L2B54
L2B75: pop hl
push hl
ld a,l
sub 05h
or h
jr nz,L2B8E
ld a,(8162h)
and 0FBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
jr L2BB6
L2B8E: ld hl,0005h
add hl,sp
ld a,(hl)
or a
jp z,L2B15
ld hl,003Ch
call L0391
and 02h
jp nz,L2B15
ld a,(8162h)
and 3Bh ; ';'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0F0h
jp L2C9C
L2BB6: ld hl,003Ch
call L0391
and 20h ; ' '
jp nz,L2C80
ld a,(8162h)
and 0FEh
ld (8162h),a
or 04h
ld (8162h),a
and 0FDh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0000h
pop de
push hl
L2BDF: pop hl
push hl
ld a,l
sub 03h
or h
jp z,L2C80
ld a,(817Eh)
or a
jr z,L2BF2
xor a
jp L2C9C
L2BF2: ld hl,003Eh
call L0391
and 02h
call nz,L0C00
ld a,(817Ah)
or a
jr z,L2C08
ld a,69h ; 'i'
jp L2C9C
L2C08: ld hl,0000h
pop de
push hl
call L3399
L2C10: call L33C4
ld a,l
sub 03h
or h
jr z,L2C59
ld hl,003Ch
call L0391
and 20h ; ' '
jr z,L2C3F
ld a,(8162h)
and 0FBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
pop hl
push hl
inc hl
pop de
push hl
ld hl,000Ah
call L0E49
jr L2C50
L2C3F: ld a,(8162h)
or 04h
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
jr L2C59
L2C50: call L33C4
inc hl
call L3399
jr L2C10
L2C59: ld hl,0005h
add hl,sp
ld a,(hl)
or a
jp z,L2BDF
ld hl,003Ch
call L0391
and 02h
jp nz,L2BDF
ld a,(8162h)
and 3Bh ; ';'
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0F0h
jr L2C9C
L2C80: ld a,(8162h)
and 0FBh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
ld hl,0000h
ld (8164h),hl
xor a
L2C9C: pop bc
pop bc
pop bc
ret
; --- START PROC L2CA0 ---
L2CA0: push af
push bc
push bc
ld a,(817Eh)
or a
jr z,L2CAD
xor a
jp L2F2E
L2CAD: ld hl,0000h
ld (816Ah),hl
ld hl,003Ch
call L0391
and 10h
jp z,L2D5B
ld a,(8178h)
or a
jr nz,L2CE8
ld a,(8162h)
and 0EFh
ld (8162h),a
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
ld hl,0000h
ld (8166h),hl
xor a
jp L2F2E
L2CE8: ld a,0FFh
ld (8177h),a
ld a,(8162h)
or 28h ; '('
ld (8162h),a
and 0EFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0000h
pop de
push hl
L2D06: pop hl
push hl
ld a,l
sub 05h
or h
jr z,L2D46
ld hl,0000h
pop de
push hl
call L3399
L2D16: call L33C4
ld a,l
sub 05h
or h
jr z,L2D37
ld hl,003Ch
call L0391
and 10h
jr nz,L2D37
pop hl
push hl
inc hl
pop de
push hl
call L33C4
inc hl
call L3399
jr L2D16
L2D37: ld hl,003Eh
call L0391
and 02h
jr z,L2D06
call L0C00
jr L2D06
L2D46: ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
L2D5B: ld a,(817Bh)
or a
jp nz,L2E48
ld hl,(8166h)
ex de,hl
ld hl,0023h
call L3334
jp nc,L2E48
ld a,(8162h)
and 0F7h
ld (8162h),a
ld a,(8184h)
or a
jr nz,L2D8B
ld a,(8162h)
or 10h
ld (8162h),a
xor a
ld (8177h),a
jr L2D98
L2D8B: ld a,(8162h)
and 0EFh
ld (8162h),a
ld a,0FFh
ld (8177h),a
L2D98: ld a,(8162h)
or 20h ; ' '
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L2DA7: ld hl,(8166h)
ex de,hl
ld hl,0023h
call L3334
jp nc,L2E48
ld a,(817Eh)
or a
jr z,L2DBE
xor a
jp L2F2E
L2DBE: ld hl,003Eh
call L0391
and 02h
call nz,L0C00
ld a,(817Ah)
or a
jr z,L2DD4
ld a,6Bh ; 'k'
jp L2F2E
L2DD4: ld hl,003Ch
call L0391
and 10h
jr z,L2E20
ld hl,0000h
pop de
push hl
call L3399
L2DE6: call L33C4
ld a,l
sub 05h
or h
jr z,L2E07
ld hl,003Ch
call L0391
and 10h
jr z,L2E07
pop hl
push hl
inc hl
pop de
push hl
call L33C4
inc hl
call L3399
jr L2DE6
L2E07: pop hl
push hl
ld a,l
sub 05h
or h
jr nz,L2E20
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
jr L2E48
L2E20: ld hl,0005h
add hl,sp
ld a,(hl)
or a
jp z,L2DA7
ld hl,003Ch
call L0391
and 02h
jp nz,L2DA7
ld a,(8162h)
and 1Fh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0F0h
jp L2F2E
L2E48: ld hl,003Ch
call L0391
and 10h
jp nz,L2F12
ld a,(8162h)
and 0F7h
ld (8162h),a
or 20h ; ' '
ld (8162h),a
and 0EFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0000h
pop de
push hl
L2E71: pop hl
push hl
ld a,l
sub 03h
or h
jp z,L2F12
ld a,(817Eh)
or a
jr z,L2E84
xor a
jp L2F2E
L2E84: ld hl,003Eh
call L0391
and 02h
call nz,L0C00
ld a,(817Ah)
or a
jr z,L2E9A
ld a,6Bh ; 'k'
jp L2F2E
L2E9A: ld hl,0000h
pop de
push hl
call L3399
L2EA2: call L33C4
ld a,l
sub 03h
or h
jr z,L2EEB
ld hl,003Ch
call L0391
and 10h
jr z,L2ED1
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
pop hl
push hl
inc hl
pop de
push hl
ld hl,000Ah
call L0E49
jr L2EE2
L2ED1: ld a,(8162h)
or 20h ; ' '
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
jr L2EEB
L2EE2: call L33C4
inc hl
call L3399
jr L2EA2
L2EEB: ld hl,0005h
add hl,sp
ld a,(hl)
or a
jp z,L2E71
ld hl,003Ch
call L0391
and 02h
jp nz,L2E71
ld a,(8162h)
and 1Fh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0F0h
jr L2F2E
L2F12: ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
ld hl,0000h
ld (8166h),hl
xor a
L2F2E: pop bc
pop bc
pop bc
ret
; --- START PROC L2F32 ---
L2F32: push bc
push bc
ld a,(817Eh)
or a
jr z,L2F3E
xor a
jp L3103
L2F3E: ld hl,0000h
ld (816Ah),hl
ld a,(817Bh)
or a
jp nz,L301B
ld hl,(8166h)
ex de,hl
ld hl,0023h
call L3334
jp nc,L301B
ld a,(8162h)
and 0F7h
ld (8162h),a
or 10h
ld (8162h),a
xor a
ld (8177h),a
ld a,(8162h)
or 20h ; ' '
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L2F78: ld hl,(8166h)
ex de,hl
ld hl,0023h
call L3334
jp nc,L301B
ld a,(817Eh)
or a
jr z,L2F8F
xor a
jp L3103
L2F8F: ld hl,003Eh
call L0391
and 02h
call nz,L0C00
ld a,(817Ah)
or a
jr z,L2FA5
ld a,6Bh ; 'k'
jp L3103
L2FA5: ld hl,003Ch
call L0391
and 10h
jr z,L2FF1
ld hl,0000h
pop de
push hl
call L3399
L2FB7: call L33C4
ld a,l
sub 05h
or h
jr z,L2FD8
ld hl,003Ch
call L0391
and 10h
jr z,L2FD8
pop hl
push hl
inc hl
pop de
push hl
call L33C4
inc hl
call L3399
jr L2FB7
L2FD8: pop hl
push hl
ld a,l
sub 05h
or h
jr nz,L2FF1
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
jr L301B
L2FF1: ld hl,003Ch
call L0391
and 01h
jp nz,L2F78
ld hl,003Ch
call L0391
and 02h
jp z,L2F78
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,88h
jp L3103
L301B: ld hl,003Ch
call L0391
and 10h
jp nz,L30E7
ld a,(8162h)
and 0F7h
ld (8162h),a
or 20h ; ' '
ld (8162h),a
and 0EFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0000h
pop de
push hl
L3044: pop hl
push hl
ld a,l
sub 03h
or h
jp z,L30E7
ld a,(817Eh)
or a
jr z,L3057
xor a
jp L3103
L3057: ld hl,003Eh
call L0391
and 02h
call nz,L0C00
ld a,(817Ah)
or a
jr z,L306D
ld a,6Bh ; 'k'
jp L3103
L306D: ld hl,0000h
pop de
push hl
call L3399
L3075: call L33C4
ld a,l
sub 03h
or h
jr z,L30BE
ld hl,003Ch
call L0391
and 10h
jr z,L30A4
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
pop hl
push hl
inc hl
pop de
push hl
ld hl,000Ah
call L0E49
jr L30B5
L30A4: ld a,(8162h)
or 20h ; ' '
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
jr L30BE
L30B5: call L33C4
inc hl
call L3399
jr L3075
L30BE: ld hl,003Ch
call L0391
and 01h
jp nz,L3044
ld hl,003Ch
call L0391
and 02h
jp z,L3044
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,88h
jr L3103
L30E7: ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
ld hl,0000h
ld (8166h),hl
xor a
L3103: pop bc
pop bc
ret
; --- START PROC L3106 ---
L3106: push af
push bc
push bc
ld a,(817Eh)
or a
jr z,L3113
xor a
jp L332F
L3113: ld hl,(8166h)
ld (816Ah),hl
ld hl,0038h
call L0391
cpl
rrca
rrca
rrca
rrca
and 0Fh
ld l,a
ld h,00h
ld de,0004h
L312C: call L3342
ex de,hl
add hl,hl
ld de,0008h
add hl,de
ex de,hl
ld hl,(8166h)
ld a,l
sub e
ld l,a
ld a,h
sbc a,d
ld h,a
ld (816Ah),hl
ld a,(817Bh)
or a
jp nz,L323C
ld hl,(8166h)
ex de,hl
ld hl,0023h
call L3334
jp nc,L323C
ld a,(8162h)
and 0F7h
ld (8162h),a
ld a,(8184h)
or a
jr nz,L3172
ld a,(8162h)
or 10h
ld (8162h),a
xor a
ld (8177h),a
jr L317F
L3172: ld a,(8162h)
and 0EFh
ld (8162h),a
ld a,0FFh
ld (8177h),a
L317F: ld a,(8162h)
or 20h ; ' '
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
L318E: ld hl,(8166h)
ex de,hl
ld hl,0023h
call L3334
jp nc,L323C
ld a,(817Eh)
or a
jr z,L31A5
xor a
jp L332F
L31A5: ld hl,003Eh
call L0391
and 02h
call nz,L0C00
ld a,(817Ah)
or a
jr z,L31BB
ld a,6Bh ; 'k'
jp L332F
L31BB: ld hl,003Ch
call L0391
and 10h
jr z,L3207
ld hl,0000h
pop de
push hl
call L3399
L31CD: call L33C4
ld a,l
sub 05h
or h
jr z,L31EE
ld hl,003Ch
call L0391
and 10h
jr z,L31EE
pop hl
push hl
inc hl
pop de
push hl
call L33C4
inc hl
call L3399
jr L31CD
L31EE: pop hl
push hl
ld a,l
sub 05h
or h
jr nz,L3207
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
jr L323C
L3207: ld hl,0005h
add hl,sp
ld a,(hl)
or a
jp z,L318E
ld hl,(8166h)
ex de,hl
ld hl,(816Ah)
call L3334
jp c,L318E
ld hl,003Ch
call L0391
and 02h
jp nz,L318E
ld a,(8162h)
and 1Fh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0F0h
jp L332F
L323C: ld hl,003Ch
call L0391
and 10h
jp nz,L3313
ld a,(8162h)
and 0F7h
ld (8162h),a
or 20h ; ' '
ld (8162h),a
and 0EFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0000h
pop de
push hl
L3265: pop hl
push hl
ld a,l
sub 03h
or h
jp z,L3313
ld a,(817Eh)
or a
jr z,L3278
xor a
jp L332F
L3278: ld hl,003Eh
call L0391
and 02h
call nz,L0C00
ld a,(817Ah)
or a
jr z,L328E
ld a,6Bh ; 'k'
jp L332F
L328E: ld hl,0000h
pop de
push hl
call L3399
L3296: call L33C4
ld a,l
sub 03h
or h
jr z,L32DF
ld hl,003Ch
call L0391
and 10h
jr z,L32C5
ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
pop hl
push hl
inc hl
pop de
push hl
ld hl,000Ah
call L0E49
jr L32D6
L32C5: ld a,(8162h)
or 20h ; ' '
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
jr L32DF
L32D6: call L33C4
inc hl
call L3399
jr L3296
L32DF: ld hl,0005h
add hl,sp
ld a,(hl)
or a
jp z,L3265
ld hl,(8166h)
ex de,hl
ld hl,(816Ah)
call L3334
jp c,L3265
ld hl,003Ch
call L0391
and 02h
jp nz,L3265
ld a,(8162h)
and 1Fh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld a,0F0h
jr L332F
L3313: ld a,(8162h)
and 0DFh
ld (8162h),a
ld e,a
ld hl,003Ah
call L0396
ld hl,0064h
call L0E49
ld hl,0000h
ld (8166h),hl
xor a
L332F: pop bc
pop bc
pop bc
ret
L3333: ret
; --- START PROC L3334 ---
L3334: ld a,h
xor d
jp p,L333C
ld a,d
cp h
ret
L333C: ld a,h
cp d
ret nz
ld a,l
cp e
ret
; --- START PROC L3342 ---
L3342: ld a,h
or a
push af
xor d
push af
call L335D
ex de,hl
call L335D
ex de,hl
call L3368
pop af
call m,L3360
pop af
ex de,hl
call m,L3360
ex de,hl
ret
; --- START PROC L335D ---
L335D: ld a,h
or a
ret p
; --- START PROC L3360 ---
L3360: dec hl
ld a,l
cpl
ld l,a
ld a,h
cpl
ld h,a
ret
; --- START PROC L3368 ---
L3368: ld b,d
ld c,e
ex de,hl
ld hl,0000h
ld a,10h
L3370: push af
add hl,hl
xor a
ex de,hl
add hl,hl
ex de,hl
adc a,l
sub c
ld l,a
ld a,h
sbc a,b
ld h,a
inc e
jr nc,L3381
add hl,bc
dec e
L3381: pop af
dec a
jr nz,L3370
ex de,hl
ret
; --- START PROC L3387 ---
L3387: ld de,0008h
jp L33AB
; --- START PROC L338D ---
L338D: ld de,0006h
jp L33AB
; --- START PROC L3393 ---
L3393: ld de,0005h
jp L33AB
; --- START PROC L3399 ---
L3399: ld de,0004h
jp L33AB
; --- START PROC L339F ---
L339F: ld de,0003h
jp L33AB
L33A5: ex (sp),hl
ld e,(hl)
inc hl
ld d,(hl)
inc hl
ex (sp),hl
; --- START PROC L33AB ---
L33AB: ex de,hl
add hl,sp
ld (hl),e
inc hl
ld (hl),d
ex de,hl
ret
; --- START PROC L33B2 ---
L33B2: ld hl,000Ah
jp L33D7
; --- START PROC L33B8 ---
L33B8: ld hl,0008h
jp L33D7
; --- START PROC L33BE ---
L33BE: ld hl,0006h
jp L33D7
; --- START PROC L33C4 ---
L33C4: ld hl,0004h
jp L33D7
; --- START PROC L33CA ---
L33CA: ld hl,0003h
jp L33D7
L33D0: pop hl
ld e,(hl)
inc hl
ld d,(hl)
inc hl
push hl
ex de,hl
; --- START PROC L33D7 ---
L33D7: add hl,sp
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ret
L33DD: rst 0x38
L33DE: rst 0x38
L33DF: rst 0x38