; 0    - 1FFF -> EPROM
; 4000 - 7FFF -> SRAM
; C000 - FFFF -> ??

        jp	 entry
proc:
        defb	 061h
        defb	 011h
string:
        defm	 "Copyright Zilog, Inc. 1981"
        defb	 0ffh

int_hndl:
	defb	04bh
	defb	015h

	defb	06bh
	defb	015h

	defb	08ah
	defb	015h

	defb	093h
	defb	015h

	defb	int_05

;---------------------------------------------------------------
entry:
        ld      hl,0028h
	ld      de,entry_01
	jp      setup01

entry_01:
	ld      a,04h
	out     (20h),a
	ld      hl,003dh
	jp      proc01
	ld      sp,41ffh
	call    proc02

entry_05:
	ld      sp,41ffh

entry_04:
	in      a,(21h)
	cpl
	and     10h
	jr      nz,entry_02
	ld      a,(733dh)
	or      a
	jr      nz,entry_03
	jr      entry_04

entry_02:
	call    proc03
	call    nz,proc04

entry_03:
	call    proc05
	jp      entry_05

;---------------------------------------------------------------
proc03:
	ld	hl,75c4h
	in	a,(60h)
	and	1fh
	cp	00h
	jr	z,proc03_01
	cp	0ch
	jr	z,proc03_01
	cp	15h
	jr	z,proc03_01
	cp	16h
	jr	z,proc03_01
	cp	0eh
	jp	z,entry
	in	a,(61h)
	cp	04h
	jp	m,proc03_02
	in	a,(60h)
	and	20h
	call	proc04
	ld	e,0fh
	ld	b,08h
	call	nz,proc06
	xor	a
	ret

proc03_02:
	ld	de,entry
	ld	b,a
	ld	a,01h
	inc	b

proc03_03:
	dec	b
	jr	z,entry
	add	a,a
	add	hl,de
	jr	proc03_03
	ld	b,a
	jr	proc03_04

proc03_01:
	ld	b,01h

proc03_04:
	ld	a,(hl)
	cp	00h
	ret	nz
	ld	a,(733dh)
	or	b
	ld	(733dh),a
	ld	a,01h
	ld	(hl),a
	inc	hl
	ld	c,5fh
	ld	b,0fh
proc03_05:
	inc	c
	ini
	jr	nz,proc03_05
	ld	a,91h
	out	(70h),a
	ret

;---------------------------------------------------------------
proc04:
	ld	a,9ah
	out	(70h),a
	ret

;---------------------------------------------------------------
proc02:
	ld      a,01h
	ld      (733bh),a
	ld      hl,int_hndl
	ld      a,h
	ld      i,a
	call    proc07
	call    proc08
	call    proc09
	ld      a,91h
	out     (70h),a
	im      2
	ei
	ld      hl,003ch

proc02_01:
	call    proc10
	ld      a,(420dh)
	or      a
	jp      z,00eah
	xor     a
	ld      (420dh),a
	dec     hl
	ld      a,h
	or      l
	jp      nz,proc02_01
	call    proc11
	ld      a,04h
	push    af
	ld      ix,766ch

proc02_04:
	pop     af
	dec     a
	jp      m,proc02_02
	push    af
	ld      de,002ah
	push    ix
	pop     hl
	xor     a
	sbc     hl,de
	push    hl
	pop     ix
	pop     af
	push    af
	ld      (ix+02h),a
	ld      a,44h
	ld      (ix+01h),a
	call    proc12
	ld      a,c
	cp      00h
	jr      nz,proc02_03
	ld      a,52h
	ld      (ix+01h),a
	call    proc13
	ld      a,c
	cp      00h
	jr      z,proc02_04
	call    proc14
	jr      proc02_04

proc02_03:
	xor     a
	ld      (ix+22h),a
	ld      (ix+23h),a
	ld      (ix+24h),a
	ld      (ix+25h),a
	ld      (ix+26h),a
	ld      (ix+27h),a
	ld      (ix+28h),a
	ld      (ix+29h),a
	jr      proc02_04

proc02_02:
	ld      a,01h
	ld      (75c0h),a
	xor     a
	ld      (733bh),a
	ret

;---------------------------------------------------------------
proc05:
	ld	ix,(75c2h)
	ld	de,002ah
	add	ix,de
	ld	(75c2h),ix
	ld	a,(ix+00h)
	xor	0ffh
	jr	nz,proc05_01
	ld	ix,75c4h
	ld	(75c2h),ix

proc05_01:
	ld	a,(ix+00h)
	cp	00h
	ret	z
	ld	a,0ffh
	ld	(733eh),a
	ld	a,(ix+00h)
	cp	05h
	jp	nc,proc05_02
	ld	hl,proc15
	rlca
	ld	c,a
	ld	b,00h
	add	hl,bc
	ld	a,(hl)
	inc	hl
	ld	h,(hl)
	ld	l,a
	jp	(hl)
proc05_02:
	ld	b,08h
	ld	c,00h
	jp	03f8h
	ret

;---------------------------------------------------------------
proc16:
01a4 dd7e12    ld      a,(ix+12h)
01a7 dd7713    ld      (ix+13h),a
proc16_01
01aa 219508    ld      hl,proc17
01ad dd7e01    ld      a,(ix+01h)
01b0 e61f      and     1fh
01b2 fe18      cp      18h
01b4 d29c01    jp      nc,proc05_02
01b7 07        rlca
01b8 4f        ld      c,a
01b9 0600      ld      b,00h
01bb 09        add     hl,bc
01bc 7e        ld      a,(hl)
01bd 23        inc     hl
01be 66        ld      h,(hl)
01bf 6f        ld      l,a
01c0 e9        jp      (hl)
01c1 dd7e14    ld      a,(ix+14h)
01c4 3d        dec     a
01c5 dd7714    ld      (ix+14h),a
01c8 c2aa01    jp      nz,proc16_01
01cb dd361406  ld      (ix+14h),06h
01cf dd7e13    ld      a,(ix+13h)
01d2 cdf306    call    proc18
01d5 dd7713    ld      (ix+13h),a
01d8 ddbe12    cp      (ix+12h)
01db cac602    jp      z,proc19
01de c3aa01    jp      proc16_01
01e1 c3aa01    jp      proc16_01
01e4 dd7e02    ld      a,(ix+02h)
01e7 cddd08    call    proc20
01ea d29f04    jp      nc,049fh
01ed 2808      jr      z,01f7h
01ef fe01      cp      01h
01f1 caa404    jp      z,04a4h
01f4 c3ae04    jp      04aeh
01f7 cdb410    call    10b4h
01fa af        xor     a
01fb b0        or      b
01fc ca3e07    jp      z,073eh
01ff 0e03      ld      c,03h
0201 0601      ld      b,01h
0203 c3f803    jp      03f8h
0206 c39c01    jp      019ch
0209 c39c01    jp      019ch
020c dd7e09    ld      a,(ix+09h)
020f ddb60a    or      (ix+0ah)
0212 cae103    jp      z,03e1h
0215 cdf70e    call    0ef7h
0218 d29c01    jp      nc,019ch
021b 3e00      ld      a,00h
021d 320f42    ld      (420fh),a
0220 dd7e0d    ld      a,(ix+0dh)
0223 d330      out     (30h),a
0225 cd2a0f    call    0f2ah
0228 cd4205    call    0542h
022b d29f04    jp      nc,049fh
022e dd5e0b    ld      e,(ix+0bh)
0231 dd560c    ld      d,(ix+0ch)
0234 dd4e18    ld      c,(ix+18h)
0237 dd4619    ld      b,(ix+19h)
023a af        xor     a
023b cb1a      rr      d
023d cb1b      rr      e
023f d9        exx
0240 cdea12    call    12eah
0243 3a0442    ld      a,(4204h)
0246 cd7312    call    1273h
0249 d29f04    jp      nc,049fh
024c 280b      jr      z,0259h
024e b7        or      a
024f caa404    jp      z,04a4h
0252 3c        inc     a
0253 caae04    jp      z,04aeh
0256 c3bb04    jp      04bbh
0259 212021    ld      hl,2120h
025c dd4e18    ld      c,(ix+18h)
025f dd4619    ld      b,(ix+19h)
0262 cd900e    call    0e90h
0265 c5        push    bc
0266 cd2413    call    1324h
0269 c1        pop     bc
026a d29f04    jp      nc,049fh
026d c2a404    jp      nz,04a4h
0270 3a0f42    ld      a,(420fh)
0273 b7        or      a
0274 c29e02    jp      nz,029eh
0277 78        ld      a,b
0278 fd214042  ld      iy,4240h
027c cdd410    call    10d4h
027f d2bb04    jp      nc,04bbh
0282 d9        exx
0283 212421    ld      hl,2124h
0286 cd9b13    call    139bh
0289 d29f04    jp      nc,049fh
028c cdcb0f    call    0fcbh
028f d29c01    jp      nc,019ch
0292 c20c02    jp      nz,020ch
0295 dd7e02    ld      a,(ix+02h)
0298 323e73    ld      (733eh),a
029b c3e103    jp      03e1h
029e dd7e01    ld      a,(ix+01h)
02a1 e640      and     40h
02a3 c2c602    jp      nz,02c6h
02a6 dd7e00    ld      a,(ix+00h)
02a9 fe02      cp      02h
02ab 2006      jr      nz,02b3h
02ad 3e20      ld      a,20h
02af dd7717    ld      (ix+17h),a
02b2 c9        ret

02b3 3a3d73    ld      a,(733dh)
02b6 f680      or      80h
02b8 323d73    ld      (733dh),a
02bb 3e02      ld      a,02h
02bd dd7700    ld      (ix+00h),a
02c0 3e06      ld      a,06h
02c2 dd7714    ld      (ix+14h),a
02c5 c9        ret

proc19:
02c6 0601      ld      b,01h
02c8 0e20      ld      c,20h
02ca c3f803    jp      03f8h
02cd 3a0142    ld      a,(4201h)
02d0 cdfa12    call    12fah
02d3 d9        exx
02d4 212421    ld      hl,2124h
02d7 cdf513    call    13f5h
02da 1849      jr      0325h
02dc dd7e09    ld      a,(ix+09h)
02df ddb60a    or      (ix+0ah)
02e2 cae103    jp      z,03e1h
02e5 cdf70e    call    0ef7h
02e8 d29c01    jp      nc,019ch
02eb dd7e11    ld      a,(ix+11h)
02ee fe03      cp      03h
02f0 c2fa02    jp      nz,02fah
02f3 0601      ld      b,01h
02f5 0e04      ld      c,04h
02f7 c3f803    jp      03f8h
02fa cd2a0f    call    0f2ah
02fd cd4205    call    0542h
0300 d29f04    jp      nc,049fh
0303 dd7e0d    ld      a,(ix+0dh)
0306 d330      out     (30h),a
0308 212421    ld      hl,2124h
030b dd5e0b    ld      e,(ix+0bh)
030e dd560c    ld      d,(ix+0ch)
0311 af        xor     a
0312 cb1a      rr      d
0314 cb1b      rr      e
0316 dd4e18    ld      c,(ix+18h)
0319 dd4619    ld      b,(ix+19h)
031c cdf513    call    13f5h
031f 3a0142    ld      a,(4201h)
0322 cdfa12    call    12fah
0325 fd214042  ld      iy,4240h
0329 dd4619    ld      b,(ix+19h)
032c dd4e18    ld      c,(ix+18h)
032f af        xor     a
0330 b1        or      c
0331 2801      jr      z,0334h
0333 04        inc     b
0334 78        ld      a,b
0335 cd2f0e    call    0e2fh
0338 3a0442    ld      a,(4204h)
033b cd7312    call    1273h
033e d29f04    jp      nc,049fh
0341 280b      jr      z,034eh
0343 b7        or      a
0344 caa404    jp      z,04a4h
0347 3c        inc     a
0348 caae04    jp      z,04aeh
034b c3bb04    jp      04bbh
034e 212021    ld      hl,2120h
0351 dd4e18    ld      c,(ix+18h)
0354 dd4619    ld      b,(ix+19h)
0357 cd900e    call    0e90h
035a cd0b13    call    130bh
035d d29f04    jp      nc,049fh
0360 c2a404    jp      nz,04a4h
0363 cdcb0f    call    0fcbh
0366 d29c01    jp      nc,019ch
0369 c2dc02    jp      nz,02dch
036c dd7e02    ld      a,(ix+02h)
036f 323e73    ld      (733eh),a
0372 c3e103    jp      03e1h
0375 dd7e0d    ld      a,(ix+0dh)
0378 d330      out     (30h),a
037a 3e00      ld      a,00h
037c dd771c    ld      (ix+1ch),a
037f dd771d    ld      (ix+1dh),a
0382 dd771e    ld      (ix+1eh),a
0385 dd771f    ld      (ix+1fh),a
0388 dd7e02    ld      a,(ix+02h)
038b cdaa11    call    11aah
038e 3005      jr      nc,0395h
0390 cd3613    call    1336h
0393 3808      jr      c,039dh
0395 0610      ld      b,10h
0397 1806      jr      039fh
0399 0640      ld      b,40h
039b 1802      jr      039fh
039d 0600      ld      b,00h
039f 78        ld      a,b
03a0 ddb620    or      (ix+20h)
03a3 dd7720    ld      (ix+20h),a
03a6 dde5      push    ix
03a8 e1        pop     hl
03a9 111c00    ld      de,001ch
03ac 19        add     hl,de
03ad cb1c      rr      h
03af cb1d      rr      l
03b1 dd5e0b    ld      e,(ix+0bh)
03b4 dd560c    ld      d,(ix+0ch)
03b7 af        xor     a
03b8 cb1a      rr      d
03ba cb1b      rr      e
03bc 010300    ld      bc,0003h
03bf cd9b13    call    139bh
03c2 c3e103    jp      03e1h

proc12:
03c5 cdb410    call    10b4h
03c8 af        xor     a
03c9 dd7715    ld      (ix+15h),a
03cc dd7716    ld      (ix+16h),a
03cf dd7e02    ld      a,(ix+02h)
03d2 cdaa11    call    11aah
03d5 d29f04    jp      nc,049fh
03d8 cdd511    call    11d5h
03db cd2712    call    1227h
03de c3e103    jp      03e1h
03e1 dd7e00    ld      a,(ix+00h)
03e4 fe03      cp      03h
03e6 2804      jr      z,03ech
03e8 fe02      cp      02h
03ea 2008      jr      nz,03f4h
03ec 0604      ld      b,04h
03ee dd4e17    ld      c,(ix+17h)
03f1 c3f803    jp      03f8h
03f4 0600      ld      b,00h
03f6 0e00      ld      c,00h
03f8 3e00      ld      a,00h
03fa dd7700    ld      (ix+00h),a
03fd dd5602    ld      d,(ix+02h)
0400 5a        ld      e,d
0401 14        inc     d
0402 3e01      ld      a,01h
0404 15        dec     d
0405 2803      jr      z,040ah
0407 87        add     a,a
0408 18fa      jr      0404h
040a 2f        cpl
040b 57        ld      d,a
040c 3a3d73    ld      a,(733dh)
040f a2        and     d
0410 e60f      and     0fh
0412 323d73    ld      (733dh),a
0415 3a3b73    ld      a,(733bh)
0418 b7        or      a
0419 c0        ret     nz

041a cd7b04    call    047bh
041d 2807      jr      z,0426h
041f dd7120    ld      (ix+20h),c
0422 af        xor     a
0423 dd7721    ld      (ix+21h),a
0426 dd7e01    ld      a,(ix+01h)
0429 e620      and     20h
042b 2833      jr      z,0460h

proc06:
042d db21      in      a,(21h)
042f e620      and     20h
0431 20fa      jr      nz,042dh
0433 7b        ld      a,e
0434 87        add     a,a
0435 87        add     a,a
0436 87        add     a,a
0437 87        add     a,a
0438 b0        or      b
0439 47        ld      b,a
043a d341      out     (41h),a
043c db21      in      a,(21h)
043e e620      and     20h
0440 201e      jr      nz,0460h
0442 cdeb15    call    proc10
0445 78        ld      a,b
0446 d341      out     (41h),a
0448 db21      in      a,(21h)
044a e620      and     20h
044c 200f      jr      nz,045dh
044e 3a0d42    ld      a,(420dh)
0451 b7        or      a
0452 28f1      jr      z,0445h
0454 3e10      ld      a,10h
0456 ddb620    or      (ix+20h)
0459 4f        ld      c,a
045a dd7720    ld      (ix+20h),a
045d cdfc15    call    proc11
0460 af        xor     a
0461 b1        or      c
0462 2802      jr      z,0466h
0464 3e04      ld      a,04h
0466 f698      or      98h
0468 4f        ld      c,a
0469 78        ld      a,b
046a e60f      and     0fh
046c fe08      cp      08h
046e 79        ld      a,c
046f 2805      jr      z,0476h
0471 f601      or      01h
0473 d370      out     (70h),a
0475 c9        ret

0476 f602      or      02h
0478 d370      out     (70h),a
047a c9        ret

047b 79        ld      a,c
047c fe09      cp      09h
047e 280e      jr      z,048eh
0480 fe21      cp      21h
0482 2811      jr      z,0495h
0484 fe03      cp      03h
0486 c0        ret     nz

0487 3e01      ld      a,01h
0489 dd7721    ld      (ix+21h),a
048c 180c      jr      049ah
048e 3e04      ld      a,04h
0490 dd7721    ld      (ix+21h),a
0493 1805      jr      049ah
0495 3e02      ld      a,02h
0497 dd7721    ld      (ix+21h),a
049a af        xor     a
049b dd7720    ld      (ix+20h),a
049e c9        ret

049f 0e10      ld      c,10h
04a1 c3e504    jp      04e5h
04a4 0e80      ld      c,80h
04a6 c3e504    jp      04e5h
04a9 0e40      ld      c,40h
04ab c3e504    jp      04e5h
04ae dd7e00    ld      a,(ix+00h)
04b1 fe02      cp      02h
04b3 ca9e02    jp      z,029eh
04b6 0e08      ld      c,08h
04b8 c3e504    jp      04e5h
04bb dd7e02    ld      a,(ix+02h)
04be cdaa11    call    11aah
04c1 d29f04    jp      nc,049fh
04c4 cde809    call    09e8h
04c7 d29f04    jp      nc,049fh
04ca 2008      jr      nz,04d4h
04cc cd3b0a    call    0a3bh
04cf 0e09      ld      c,09h
04d1 c3e504    jp      04e5h
04d4 fe01      cp      01h
04d6 caa404    jp      z,04a4h
04d9 fe02      cp      02h
04db caae04    jp      z,04aeh
04de 0601      ld      b,01h
04e0 0e09      ld      c,09h
04e2 c3f803    jp      03f8h
04e5 0601      ld      b,01h
04e7 dd7117    ld      (ix+17h),c
04ea dd7e01    ld      a,(ix+01h)
04ed e640      and     40h
04ef c2f803    jp      nz,03f8h
04f2 dd7e00    ld      a,(ix+00h)
04f5 fe03      cp      03h
04f7 caf803    jp      z,03f8h
04fa dd771a    ld      (ix+1ah),a
04fd 3e03      ld      a,03h
04ff dd7700    ld      (ix+00h),a
0502 dd7e02    ld      a,(ix+02h)
0505 cdaa11    call    11aah
0508 d29f04    jp      nc,049fh
050b cdd511    call    11d5h
050e cd2712    call    1227h
0511 af        xor     a
0512 dd7715    ld      (ix+15h),a
0515 dd7716    ld      (ix+16h),a
0518 3a3d73    ld      a,(733dh)
051b f680      or      80h
051d 323d73    ld      (733dh),a
0520 dd7e1a    ld      a,(ix+1ah)
0523 fe02      cp      02h
0525 c0        ret     nz

0526 dd7700    ld      (ix+00h),a
0529 c9        ret

052a cd050f    call    0f05h
052d d29c01    jp      nc,019ch
0530 dd7e02    ld      a,(ix+02h)
0533 cdaa11    call    11aah
0536 d29f04    jp      nc,049fh
0539 cd5205    call    0552h
053c d29f04    jp      nc,049fh
053f c3e103    jp      03e1h
0542 dd7e02    ld      a,(ix+02h)
0545 cdaa11    call    11aah
0548 d0        ret     nc

0549 dd7e01    ld      a,(ix+01h)
054c e680      and     80h
054e ee80      xor     80h
0550 37        scf
0551 c8        ret     z

0552 dd6e04    ld      l,(ix+04h)
0555 dd6605    ld      h,(ix+05h)
0558 22b175    ld      (75b1h),hl
055b 220242    ld      (4202h),hl
055e dd7e03    ld      a,(ix+03h)
0561 32b375    ld      (75b3h),a
0564 320142    ld      (4201h),a
0567 dd7e06    ld      a,(ix+06h)
056a 32b475    ld      (75b4h),a
056d 320442    ld      (4204h),a
0570 cd4f10    call    104fh
0573 2a0242    ld      hl,(4202h)
0576 eb        ex      de,hl
0577 dd6615    ld      h,(ix+15h)
057a dd6e16    ld      l,(ix+16h)
057d af        xor     a
057e ed52      sbc     hl,de
0580 300d      jr      nc,058fh
0582 d5        push    de
0583 eb        ex      de,hl
0584 dd5615    ld      d,(ix+15h)
0587 dd5e16    ld      e,(ix+16h)
058a af        xor     a
058b 3c        inc     a
058c ed52      sbc     hl,de
058e d1        pop     de
058f 47        ld      b,a
0590 7c        ld      a,h
0591 b5        or      l
0592 78        ld      a,b
0593 280a      jr      z,059fh
0595 dd7215    ld      (ix+15h),d
0598 dd7316    ld      (ix+16h),e
059b cd4212    call    1242h
059e d0        ret     nc

059f af        xor     a
05a0 37        scf
05a1 c9        ret

05a2 dd7e03    ld      a,(ix+03h)
05a5 dd7712    ld      (ix+12h),a
05a8 c3e103    jp      03e1h
05ab c39c01    jp      019ch
05ae c39c01    jp      019ch
05b1 c39c01    jp      019ch
05b4 cdf70e    call    0ef7h
05b7 d29c01    jp      nc,019ch
05ba 3e00      ld      a,00h
05bc 320f42    ld      (420fh),a
05bf cd4205    call    0542h
05c2 d29f04    jp      nc,049fh
05c5 dd7e0d    ld      a,(ix+0dh)
05c8 d330      out     (30h),a
05ca cdb311    call    11b3h
05cd d29f04    jp      nc,049fh
05d0 cdea12    call    12eah
05d3 3a0442    ld      a,(4204h)
05d6 cdac15    call    15ach
05d9 c2ae04    jp      nz,04aeh
05dc 212021    ld      hl,2120h
05df 010501    ld      bc,0105h
05e2 cd2413    call    1324h
05e5 d29f04    jp      nc,049fh
05e8 c2a404    jp      nz,04a4h
05eb 214044    ld      hl,4440h
05ee 114a44    ld      de,444ah
05f1 010a00    ld      bc,000ah
05f4 edb0      ldir
05f6 212021    ld      hl,2120h
05f9 dd5e0b    ld      e,(ix+0bh)
05fc dd560c    ld      d,(ix+0ch)
05ff 010501    ld      bc,0105h
0602 af        xor     a
0603 cb1a      rr      d
0605 cb1b      rr      e
0607 cd9b13    call    139bh
060a d29f04    jp      nc,049fh
060d c3e103    jp      03e1h
0610 dd7e06    ld      a,(ix+06h)
0613 320a42    ld      (420ah),a
0616 e61f      and     1fh
0618 dd7706    ld      (ix+06h),a
061b 320442    ld      (4204h),a
061e cdf70e    call    0ef7h
0621 d29c01    jp      nc,019ch
0624 af        xor     a
0625 32b575    ld      (75b5h),a
0628 dd6605    ld      h,(ix+05h)
062b dd6e04    ld      l,(ix+04h)
062e 220242    ld      (4202h),hl
0631 cd7605    call    0576h
0634 d29f04    jp      nc,049fh
0637 cdb311    call    11b3h
063a d29f04    jp      nc,049fh
063d dd7e03    ld      a,(ix+03h)
0640 320142    ld      (4201h),a
0643 cdfa12    call    12fah
0646 3a0442    ld      a,(4204h)
0649 cdac15    call    15ach
064c c2ae04    jp      nz,04aeh
064f 212021    ld      hl,2120h
0652 010501    ld      bc,0105h
0655 cd2413    call    1324h
0658 d29f04    jp      nc,049fh
065b c2a404    jp      nz,04a4h
065e 3a0a42    ld      a,(420ah)
0661 cb7f      bit     7,a
0663 2805      jr      z,066ah
0665 3eff      ld      a,0ffh
0667 32b575    ld      (75b5h),a
066a fd214042  ld      iy,4240h
066e 3e01      ld      a,01h
0670 cd2f0e    call    0e2fh
0673 af        xor     a
0674 32b575    ld      (75b5h),a
0677 3a0442    ld      a,(4204h)
067a cdac15    call    15ach
067d c2ae04    jp      nz,04aeh
0680 212021    ld      hl,2120h
0683 010501    ld      bc,0105h
0686 cd0b13    call    130bh
0689 d29f04    jp      nc,049fh
068c c2a404    jp      nz,04a4h
068f c3e103    jp      03e1h
0692 dd7e06    ld      a,(ix+06h)
0695 d340      out     (40h),a
0697 c3e103    jp      03e1h
069a c39c01    jp      019ch

proc01:
069d d9        exx
069e f3        di
069f 3e01      ld      a,01h
06a1 08        ex      af,af'
06a2 3acb08    ld      a,(08cbh)
06a5 210040    ld      hl,4000h
06a8 77        ld      (hl),a
06a9 110140    ld      de,4001h
06ac 01af36    ld      bc,36afh
06af edb0      ldir
06b1 210040    ld      hl,4000h
06b4 01b036    ld      bc,36b0h
06b7 be        cp      (hl)
06b8 2012      jr      nz,06cch
06ba 23        inc     hl
06bb 0b        dec     bc
06bc 5f        ld      e,a
06bd 78        ld      a,b
06be b1        or      c
06bf 7b        ld      a,e
06c0 20f5      jr      nz,06b7h
06c2 08        ex      af,af'
06c3 3d        dec     a
06c4 200c      jr      nz,06d2h
06c6 08        ex      af,af'
06c7 3ace08    ld      a,(08ceh)
06ca 18d9      jr      06a5h
06cc 3e0b      ld      a,0bh
06ce d370      out     (70h),a
06d0 18fa      jr      06cch
06d2 fb        ei
06d3 d9        exx
06d4 e9        jp      (hl)
06d5 af        xor     a
06d6 32c075    ld      (75c0h),a
06d9 dd6615    ld      h,(ix+15h)
06dc dd6e16    ld      l,(ix+16h)
06df dd7405    ld      (ix+05h),h
06e2 dd7504    ld      (ix+04h),l
06e5 c3e103    jp      03e1h
06e8 3e01      ld      a,01h
06ea 32c075    ld      (75c0h),a
06ed cdb410    call    10b4h
06f0 c3e103    jp      03e1h

proc18:
06f3 218908    ld      hl,0889h
06f6 47        ld      b,a
06f7 7e        ld      a,(hl)
06f8 23        inc     hl
06f9 b8        cp      b
06fa ca0507    jp      z,0705h
06fd eeff      xor     0ffh
06ff c2f706    jp      nz,06f7h
0702 37        scf
0703 3f        ccf
0704 c9        ret

0705 7e        ld      a,(hl)
0706 feff      cp      0ffh
0708 37        scf
0709 c0        ret     nz

070a 3a8908    ld      a,(0889h)
070d c9        ret

proc13:
070e dd7e02    ld      a,(ix+02h)
0711 cdaa11    call    11aah
0714 d29f04    jp      nc,049fh
0717 cde809    call    09e8h
071a d29f04    jp      nc,049fh
071d 2010      jr      nz,072fh
071f dd7e02    ld      a,(ix+02h)
0722 cd3b0a    call    0a3bh
0725 cdb410    call    10b4h
0728 0e00      ld      c,00h
072a 0600      ld      b,00h
072c c3f803    jp      03f8h
072f fe01      cp      01h
0731 caa404    jp      z,04a4h
0734 fe02      cp      02h
0736 caae04    jp      z,04aeh
0739 0e21      ld      c,21h
073b c3e504    jp      04e5h
073e dd7e02    ld      a,(ix+02h)
0741 cdaa11    call    11aah
0744 d29f04    jp      nc,049fh
0747 cde511    call    proc14
074a cd640a    call    0a64h
074d af        xor     a
074e 32bf75    ld      (75bfh),a
0751 210000    ld      hl,0000h
0754 22b175    ld      (75b1h),hl
0757 23        inc     hl
0758 220242    ld      (4202h),hl
075b dd7e24    ld      a,(ix+24h)
075e 3d        dec     a
075f 32b375    ld      (75b3h),a
0762 dd7e25    ld      a,(ix+25h)
0765 3d        dec     a
0766 32b475    ld      (75b4h),a
0769 2a0242    ld      hl,(4202h)
076c dd5626    ld      d,(ix+26h)
076f dd5e27    ld      e,(ix+27h)
0772 af        xor     a
0773 ed52      sbc     hl,de
0775 cad907    jp      z,07d9h
0778 af        xor     a
0779 320442    ld      (4204h),a
077c 320142    ld      (4201h),a
077f 2a0242    ld      hl,(4202h)
0782 cd7605    call    0576h
0785 d29f04    jp      nc,049fh
0788 cdb311    call    11b3h
078b d29f04    jp      nc,049fh
078e 3a0142    ld      a,(4201h)
0791 cdfa12    call    12fah
0794 dd7e25    ld      a,(ix+25h)
0797 210000    ld      hl,0000h
079a 010501    ld      bc,0105h
079d 09        add     hl,bc
079e 3d        dec     a
079f 20fc      jr      nz,079dh
07a1 e5        push    hl
07a2 af        xor     a
07a3 320f42    ld      (420fh),a
07a6 3a0442    ld      a,(4204h)
07a9 cdac15    call    15ach
07ac c1        pop     bc
07ad c2ae04    jp      nz,04aeh
07b0 212021    ld      hl,2120h
07b3 cd2413    call    1324h
07b6 d29f04    jp      nc,049fh
07b9 c2a404    jp      nz,04a4h
07bc cd7411    call    1174h
07bf 0e03      ld      c,03h
07c1 d2e504    jp      nc,04e5h
07c4 3a0142    ld      a,(4201h)
07c7 3c        inc     a
07c8 320142    ld      (4201h),a
07cb ddbe24    cp      (ix+24h)
07ce 20c1      jr      nz,0791h
07d0 2a0242    ld      hl,(4202h)
07d3 23        inc     hl
07d4 220242    ld      (4202h),hl
07d7 1893      jr      076ch
07d9 dd6626    ld      h,(ix+26h)
07dc dd6e27    ld      l,(ix+27h)
07df 22b175    ld      (75b1h),hl
07e2 af        xor     a
07e3 32b375    ld      (75b3h),a
07e6 3d        dec     a
07e7 32b475    ld      (75b4h),a
07ea cd880a    call    0a88h
07ed dd7e02    ld      a,(ix+02h)
07f0 cd6609    call    0966h
07f3 d29f04    jp      nc,049fh
07f6 cae103    jp      z,03e1h
07f9 fe01      cp      01h
07fb caa404    jp      z,04a4h
07fe c3ae04    jp      04aeh
0801 dd7e0d    ld      a,(ix+0dh)
0804 d330      out     (30h),a
0806 214042    ld      hl,4240h
0809 3a0300    ld      a,(0003h)
080c 77        ld      (hl),a
080d 23        inc     hl
080e 3a0400    ld      a,(0004h)
0811 77        ld      (hl),a
0812 23        inc     hl
0813 111800    ld      de,0018h
0816 af        xor     a
0817 cb1a      rr      d
0819 cb1b      rr      e
081b 72        ld      (hl),d
081c 23        inc     hl
081d 73        ld      (hl),e
081e 212021    ld      hl,2120h
0821 dd5e0b    ld      e,(ix+0bh)
0824 dd560c    ld      d,(ix+0ch)
0827 af        xor     a
0828 cb1a      rr      d
082a cb1b      rr      e
082c 010200    ld      bc,0002h
082f cd9b13    call    139bh
0832 c3e103    jp      03e1h
0835 dd7e0d    ld      a,(ix+0dh)
0838 d330      out     (30h),a
083a dde5      push    ix
083c dd21c475  ld      ix,75c4h
0840 012a00    ld      bc,002ah
0843 214042    ld      hl,4240h
0846 3e04      ld      a,04h
0848 dd5e22    ld      e,(ix+22h)
084b 73        ld      (hl),e
084c 23        inc     hl
084d dd5e23    ld      e,(ix+23h)
0850 73        ld      (hl),e
0851 23        inc     hl
0852 dd5e24    ld      e,(ix+24h)
0855 73        ld      (hl),e
0856 23        inc     hl
0857 dd5e25    ld      e,(ix+25h)
085a 73        ld      (hl),e
085b 23        inc     hl
085c dd5e26    ld      e,(ix+26h)
085f 73        ld      (hl),e
0860 23        inc     hl
0861 dd5e27    ld      e,(ix+27h)
0864 73        ld      (hl),e
0865 23        inc     hl
0866 dd09      add     ix,bc
0868 3d        dec     a
0869 20dd      jr      nz,0848h
086b dde1      pop     ix
086d 212021    ld      hl,2120h
0870 dd5e0b    ld      e,(ix+0bh)
0873 dd560c    ld      d,(ix+0ch)
0876 af        xor     a
0877 cb1a      rr      d
0879 cb1b      rr      e
087b 011800    ld      bc,0018h
087e af        xor     a
087f cb18      rr      b
0881 cb19      rr      c
0883 cd9b13    call    139bh
0886 c3e103    jp      03e1h
0889 00        nop
088a 2040      jr      nz,08cch
088c ff        rst     38h

proc15:
088d a3        and     e
088e 01a401    ld      bc,proc16
0891 c1        pop     bc
0892 01e101    ld      bc,01e1h

proc17:
0895 e1        pop     hl
0896 03        inc     bc
0897 0c        inc     c
0898 02        ld      (bc),a
0899 dc0275    call    c,7502h
089c 03        inc     bc
089d c5        push    bc
089e 03        inc     bc
089f e4012a    call    po,2a01h
08a2 05        dec     b
08a3 a2        and     d
08a4 05        dec     b
08a5 ab        xor     e
08a6 05        dec     b
08a7 ae        xor     (hl)
08a8 05        dec     b
08a9 b1        or      c
08aa 05        dec     b
08ab b4        or      h
08ac 05        dec     b
08ad 92        sub     d
08ae 069a      ld      b,9ah
08b0 069d      ld      b,9dh
08b2 06d5      ld      b,0d5h
08b4 0609      ld      b,09h
08b6 02        ld      (bc),a
08b7 0602      ld      b,02h
08b9 0e07      ld      c,07h
08bb 3e07      ld      a,07h
08bd e8        ret     pe

08be 0601      ld      b,01h
08c0 08        ex      af,af'
08c1 35        dec     (hl)
08c2 08        ex      af,af'
08c3 1006      djnz    08cbh
08c5 00        nop
08c6 00        nop
08c7 00        nop
08c8 ff        rst     38h
08c9 ff        rst     38h
08ca ff        rst     38h
08cb aa        xor     d
08cc aa        xor     d
08cd aa        xor     d
08ce 55        ld      d,l
08cf 55        ld      d,l
08d0 55        ld      d,l
08d1 6d        ld      l,l
08d2 b6        or      (hl)
08d3 dbb6      in      a,(0b6h)
08d5 db6d      in      a,(6dh)
08d7 db6d      in      a,(6dh)
08d9 b6        or      (hl)
08da 6d        ld      l,l
08db b6        or      (hl)

	defb	0dbh

proc20:

08dd cdaa11    call    011aah
08e0 d0        ret     nc
08e1 cdd511    call    011d5h
08e4 cd2712    call    01227h
08e7 af        xor     a
08e8 dd7715    ld      (ix+15h),a
08eb dd7716    ld      (ix+16h),a
08ee cde511    call    proc14
08f1 cd640a    call    0a64h
08f4 af        xor     a
08f5 320442    ld      (4204h),a
08f8 320142    ld      (4201h),a
08fb 32bf75    ld      (75bfh),a
08fe 32b575    ld      (75b5h),a
0901 210000    ld      hl,0000h
0904 220242    ld      (4202h),hl
0907 dd5626    ld      d,(ix+26h)
090a dd5e27    ld      e,(ix+27h)
090d af        xor     a
090e ed52      sbc     hl,de
0910 284d      jr      z,095fh
0912 2a0242    ld      hl,(4202h)
0915 cd7605    call    0576h
0918 d0        ret     nc

0919 cdb311    call    11b3h
091c d0        ret     nc

091d fd21c508  ld      iy,08c5h
0921 3e08      ld      a,08h
0923 320a42    ld      (420ah),a
0926 fd22bb75  ld      (75bbh),iy
092a cd200b    call    0b20h
092d d0        ret     nc

092e c0        ret     nz

092f cdcd0b    call    0bcdh
0932 d0        ret     nc

0933 201c      jr      nz,0951h
0935 fd2abb75  ld      iy,(75bbh)
0939 010300    ld      bc,0003h
093c fd09      add     iy,bc
093e 3a0a42    ld      a,(420ah)
0941 3d        dec     a
0942 320a42    ld      (420ah),a
0945 20df      jr      nz,0926h
0947 2a0242    ld      hl,(4202h)
094a 23        inc     hl
094b 220242    ld      (4202h),hl
094e c30709    jp      0907h
0951 fe05      cp      05h
0953 2802      jr      z,0957h
0955 37        scf
0956 c9        ret

0957 cd6609    call    0966h
095a 0601      ld      b,01h
095c af        xor     a
095d 37        scf
095e c9        ret

095f cd750b    call    0b75h
0962 010000    ld      bc,0000h
0965 c9        ret

0966 af        xor     a
0967 320442    ld      (4204h),a
096a 320142    ld      (4201h),a
096d 210000    ld      hl,0000h
0970 220242    ld      (4202h),hl
0973 22b175    ld      (75b1h),hl
0976 cd7605    call    0576h
0979 d0        ret     nc

097a cdb311    call    11b3h
097d d0        ret     nc

097e fd21c508  ld      iy,08c5h
0982 214042    ld      hl,4240h
0985 3e01      ld      a,01h
0987 cde40d    call    0de4h
098a 214d73    ld      hl,734dh
098d 019900    ld      bc,0099h
0990 dd7e02    ld      a,(ix+02h)
0993 3c        inc     a
0994 3d        dec     a
0995 2803      jr      z,099ah
0997 09        add     hl,bc
0998 18fa      jr      0994h
099a 114842    ld      de,4248h
099d edb0      ldir
099f 012200    ld      bc,0022h
09a2 dde5      push    ix
09a4 e1        pop     hl
09a5 09        add     hl,bc
09a6 010800    ld      bc,0008h
09a9 114044    ld      de,4440h
09ac edb0      ldir
09ae af        xor     a
09af 1818      jr      09c9h
09b1 3a0142    ld      a,(4201h)
09b4 3c        inc     a
09b5 320142    ld      (4201h),a
09b8 ddbe24    cp      (ix+24h)
09bb 3028      jr      nc,09e5h
09bd fd214042  ld      iy,4240h
09c1 3e01      ld      a,01h
09c3 cd2f0e    call    0e2fh
09c6 3a0142    ld      a,(4201h)
09c9 cdfa12    call    12fah
09cc 3a0442    ld      a,(4204h)
09cf cdac15    call    15ach
09d2 3e02      ld      a,02h
09d4 37        scf
09d5 c0        ret     nz

09d6 212021    ld      hl,2120h
09d9 010501    ld      bc,0105h
09dc cd0b13    call    130bh
09df d0        ret     nc

09e0 3e01      ld      a,01h
09e2 c0        ret     nz

09e3 18cc      jr      09b1h
09e5 af        xor     a
09e6 37        scf
09e7 c9        ret

09e8 af        xor     a
09e9 320142    ld      (4201h),a
09ec 320442    ld      (4204h),a
09ef 210000    ld      hl,0000h
09f2 220242    ld      (4202h),hl
09f5 22b175    ld      (75b1h),hl
09f8 cd7605    call    0576h
09fb d0        ret     nc

09fc cdb311    call    11b3h
09ff d0        ret     nc

0a00 af        xor     a
0a01 1811      jr      0a14h
0a03 3a0142    ld      a,(4201h)
0a06 3c        inc     a
0a07 320142    ld      (4201h),a
0a0a ddbe24    cp      (ix+24h)
0a0d 3805      jr      c,0a14h
0a0f 3e03      ld      a,03h
0a11 b7        or      a
0a12 37        scf
0a13 c9        ret

0a14 cdfa12    call    12fah
0a17 af        xor     a
0a18 320f42    ld      (420fh),a
0a1b 3a0442    ld      a,(4204h)
0a1e cdac15    call    15ach
0a21 3e02      ld      a,02h
0a23 37        scf
0a24 c0        ret     nz

0a25 212021    ld      hl,2120h
0a28 010501    ld      bc,0105h
0a2b cd2413    call    1324h
0a2e d0        ret     nc

0a2f 3e01      ld      a,01h
0a31 c0        ret     nz

0a32 3a0f42    ld      a,(420fh)
0a35 b7        or      a
0a36 20cb      jr      nz,0a03h
0a38 af        xor     a
0a39 37        scf
0a3a c9        ret

0a3b 214d73    ld      hl,734dh
0a3e 019900    ld      bc,0099h
0a41 3c        inc     a
0a42 3d        dec     a
0a43 2803      jr      z,0a48h
0a45 09        add     hl,bc
0a46 18fa      jr      0a42h
0a48 3e01      ld      a,01h
0a4a 32c075    ld      (75c0h),a
0a4d 114842    ld      de,4248h
0a50 eb        ex      de,hl
0a51 edb0      ldir
0a53 012200    ld      bc,0022h
0a56 dde5      push    ix
0a58 e1        pop     hl
0a59 09        add     hl,bc
0a5a 010800    ld      bc,0008h
0a5d eb        ex      de,hl
0a5e 214044    ld      hl,4440h
0a61 edb0      ldir
0a63 c9        ret

0a64 214d73    ld      hl,734dh
0a67 019900    ld      bc,0099h
0a6a dd7e02    ld      a,(ix+02h)
0a6d 3c        inc     a
0a6e 3d        dec     a
0a6f 2803      jr      z,0a74h
0a71 09        add     hl,bc
0a72 18fa      jr      0a6eh
0a74 22b975    ld      (75b9h),hl
0a77 22bd75    ld      (75bdh),hl
0a7a eb        ex      de,hl
0a7b 21c608    ld      hl,08c6h
0a7e 019900    ld      bc,0099h
0a81 2b        dec     hl
0a82 eda0      ldi
0a84 ea810a    jp      pe,0a81h
0a87 c9        ret

0a88 ed5bb975  ld      de,(75b9h)
0a8c 2ab175    ld      hl,(75b1h)
0a8f 3ab375    ld      a,(75b3h)
0a92 4f        ld      c,a
0a93 3ab475    ld      a,(75b4h)
0a96 3c        inc     a
0a97 ddbe25    cp      (ix+25h)
0a9a 200d      jr      nz,0aa9h
0a9c 79        ld      a,c
0a9d 3c        inc     a
0a9e ddbe24    cp      (ix+24h)
0aa1 4f        ld      c,a
0aa2 3e00      ld      a,00h
0aa4 2003      jr      nz,0aa9h
0aa6 0e00      ld      c,00h
0aa8 23        inc     hl
0aa9 cb21      sla     c
0aab cb21      sla     c
0aad cb21      sla     c
0aaf cb21      sla     c
0ab1 cb21      sla     c
0ab3 b1        or      c
0ab4 4f        ld      c,a
0ab5 7c        ld      a,h
0ab6 12        ld      (de),a
0ab7 13        inc     de
0ab8 7d        ld      a,l
0ab9 12        ld      (de),a
0aba 13        inc     de
0abb 79        ld      a,c
0abc 12        ld      (de),a
0abd 13        inc     de
0abe ed53b975  ld      (75b9h),de
0ac2 c9        ret

0ac3 ed5bbd75  ld      de,(75bdh)
0ac7 3a0142    ld      a,(4201h)
0aca cb27      sla     a
0acc cb27      sla     a
0ace cb27      sla     a
0ad0 cb27      sla     a
0ad2 cb27      sla     a
0ad4 47        ld      b,a
0ad5 3a0442    ld      a,(4204h)
0ad8 b0        or      b
0ad9 32b875    ld      (75b8h),a
0adc 1a        ld      a,(de)
0add 67        ld      h,a
0ade 13        inc     de
0adf 1a        ld      a,(de)
0ae0 6f        ld      l,a
0ae1 13        inc     de
0ae2 b4        or      h
0ae3 2004      jr      nz,0ae9h
0ae5 1a        ld      a,(de)
0ae6 b4        or      h
0ae7 2814      jr      z,0afdh
0ae9 ed4b0242  ld      bc,(4202h)
0aed af        xor     a
0aee ed42      sbc     hl,bc
0af0 2008      jr      nz,0afah
0af2 1a        ld      a,(de)
0af3 4f        ld      c,a
0af4 3ab875    ld      a,(75b8h)
0af7 b9        cp      c
0af8 37        scf
0af9 c8        ret     z

0afa 13        inc     de
0afb 18df      jr      0adch
0afd ed5bb975  ld      de,(75b9h)
0b01 2a0242    ld      hl,(4202h)
0b04 7c        ld      a,h
0b05 12        ld      (de),a
0b06 13        inc     de
0b07 7d        ld      a,l
0b08 12        ld      (de),a
0b09 13        inc     de
0b0a 3ab875    ld      a,(75b8h)
0b0d 12        ld      (de),a
0b0e 13        inc     de
0b0f ed53b975  ld      (75b9h),de
0b13 3abf75    ld      a,(75bfh)
0b16 3c        inc     a
0b17 32bf75    ld      (75bfh),a
0b1a fe33      cp      33h
0b1c 37        scf
0b1d c0        ret     nz

0b1e 3f        ccf
0b1f c9        ret

0b20 af        xor     a
0b21 320442    ld      (4204h),a
0b24 320142    ld      (4201h),a
0b27 214042    ld      hl,4240h
0b2a dd7e25    ld      a,(ix+25h)
0b2d cde40d    call    0de4h
0b30 3a0142    ld      a,(4201h)
0b33 cdfa12    call    12fah
0b36 fd214042  ld      iy,4240h
0b3a dd7e25    ld      a,(ix+25h)
0b3d cd2f0e    call    0e2fh
0b40 dd7e25    ld      a,(ix+25h)
0b43 010501    ld      bc,0105h
0b46 210000    ld      hl,0000h
0b49 09        add     hl,bc
0b4a 3d        dec     a
0b4b 20fc      jr      nz,0b49h
0b4d e5        push    hl
0b4e 3a0442    ld      a,(4204h)
0b51 cdac15    call    15ach
0b54 c1        pop     bc
0b55 3e02      ld      a,02h
0b57 37        scf
0b58 c0        ret     nz

0b59 212021    ld      hl,2120h
0b5c cd0b13    call    130bh
0b5f d0        ret     nc

0b60 3e01      ld      a,01h
0b62 c0        ret     nz

0b63 3a0142    ld      a,(4201h)
0b66 3c        inc     a
0b67 320142    ld      (4201h),a
0b6a ddbe24    cp      (ix+24h)
0b6d 20c4      jr      nz,0b33h
0b6f af        xor     a
0b70 320142    ld      (4201h),a
0b73 37        scf
0b74 c9        ret

0b75 fd21c808  ld      iy,08c8h
0b79 214042    ld      hl,4240h
0b7c 3e01      ld      a,01h
0b7e cde40d    call    0de4h
0b81 ed5bbd75  ld      de,(75bdh)
0b85 ed53b975  ld      (75b9h),de
0b89 cddc0c    call    0cdch
0b8c 283c      jr      z,0bcah
0b8e 2a0242    ld      hl,(4202h)
0b91 cd7605    call    0576h
0b94 d0        ret     nc

0b95 cdb311    call    11b3h
0b98 d0        ret     nc

0b99 3eff      ld      a,0ffh
0b9b 32b575    ld      (75b5h),a
0b9e fd214042  ld      iy,4240h
0ba2 3e01      ld      a,01h
0ba4 cd2f0e    call    0e2fh
0ba7 af        xor     a
0ba8 32b575    ld      (75b5h),a
0bab 3a0142    ld      a,(4201h)
0bae cdfa12    call    12fah
0bb1 3a0442    ld      a,(4204h)
0bb4 cdac15    call    15ach
0bb7 3e02      ld      a,02h
0bb9 37        scf
0bba c0        ret     nz

0bbb 212021    ld      hl,2120h
0bbe 010501    ld      bc,0105h
0bc1 cd0b13    call    130bh
0bc4 d0        ret     nc

0bc5 3e01      ld      a,01h
0bc7 c0        ret     nz

0bc8 18bf      jr      0b89h
0bca af        xor     a
0bcb 37        scf
0bcc c9        ret

0bcd af        xor     a
0bce 320442    ld      (4204h),a
0bd1 320142    ld      (4201h),a
0bd4 3a0142    ld      a,(4201h)
0bd7 cdfa12    call    12fah
0bda 3e06      ld      a,06h
0bdc 320942    ld      (4209h),a
0bdf dd7e25    ld      a,(ix+25h)
0be2 210000    ld      hl,0000h
0be5 010501    ld      bc,0105h
0be8 09        add     hl,bc
0be9 3d        dec     a
0bea 20fc      jr      nz,0be8h
0bec e5        push    hl
0bed af        xor     a
0bee 320f42    ld      (420fh),a
0bf1 3a0442    ld      a,(4204h)
0bf4 cdac15    call    15ach
0bf7 c1        pop     bc
0bf8 3e02      ld      a,02h
0bfa 37        scf
0bfb c0        ret     nz

0bfc 212021    ld      hl,2120h
0bff cd2413    call    1324h
0c02 d0        ret     nc

0c03 3e01      ld      a,01h
0c05 c0        ret     nz

0c06 3a0f42    ld      a,(420fh)
0c09 b7        or      a
0c0a 2810      jr      z,0c1ch
0c0c 2a0242    ld      hl,(4202h)
0c0f 7c        ld      a,h
0c10 b5        or      l
0c11 3e05      ld      a,05h
0c13 2820      jr      z,0c35h
0c15 cd380c    call    0c38h
0c18 3e05      ld      a,05h
0c1a 3019      jr      nc,0c35h
0c1c 3a0942    ld      a,(4209h)
0c1f 3d        dec     a
0c20 320942    ld      (4209h),a
0c23 20ba      jr      nz,0bdfh
0c25 3a0142    ld      a,(4201h)
0c28 3c        inc     a
0c29 320142    ld      (4201h),a
0c2c ddbe24    cp      (ix+24h)
0c2f 20a3      jr      nz,0bd4h
0c31 af        xor     a
0c32 320142    ld      (4201h),a
0c35 b7        or      a
0c36 37        scf
0c37 c9        ret

0c38 fd214042  ld      iy,4240h
0c3c fde5      push    iy
0c3e af        xor     a
0c3f 320442    ld      (4204h),a
0c42 3e01      ld      a,01h
0c44 fde1      pop     iy
0c46 fde5      push    iy
0c48 cdd410    call    10d4h
0c4b c4c30a    call    nz,0ac3h
0c4e e1        pop     hl
0c4f d0        ret     nc

0c50 200b      jr      nz,0c5dh
0c52 e5        push    hl
0c53 3e01      ld      a,01h
0c55 cd3411    call    1134h
0c58 c4c30a    call    nz,0ac3h
0c5b e1        pop     hl
0c5c d0        ret     nc

0c5d 3a0442    ld      a,(4204h)
0c60 3c        inc     a
0c61 ddbe25    cp      (ix+25h)
0c64 280a      jr      z,0c70h
0c66 320442    ld      (4204h),a
0c69 010a02    ld      bc,020ah
0c6c 09        add     hl,bc
0c6d e5        push    hl
0c6e 18d2      jr      0c42h
0c70 af        xor     a
0c71 320442    ld      (4204h),a
0c74 37        scf
0c75 c9        ret

0c76 c5        push    bc
0c77 e5        push    hl
0c78 0c        inc     c
0c79 0d        dec     c
0c7a 2829      jr      z,0ca5h
0c7c 3ab475    ld      a,(75b4h)
0c7f 3c        inc     a
0c80 32b475    ld      (75b4h),a
0c83 ddbe25    cp      (ix+25h)
0c86 20f1      jr      nz,0c79h
0c88 af        xor     a
0c89 32b475    ld      (75b4h),a
0c8c 3ab375    ld      a,(75b3h)
0c8f 3c        inc     a
0c90 32b375    ld      (75b3h),a
0c93 ddbe24    cp      (ix+24h)
0c96 20e1      jr      nz,0c79h
0c98 af        xor     a
0c99 32b375    ld      (75b3h),a
0c9c 2ab175    ld      hl,(75b1h)
0c9f 23        inc     hl
0ca0 22b175    ld      (75b1h),hl
0ca3 18d4      jr      0c79h
0ca5 e1        pop     hl
0ca6 c1        pop     bc
0ca7 c9        ret

0ca8 c5        push    bc
0ca9 e5        push    hl
0caa 0c        inc     c
0cab 0d        dec     c
0cac 282b      jr      z,0cd9h
0cae 3a0442    ld      a,(4204h)
0cb1 3c        inc     a
0cb2 320442    ld      (4204h),a
0cb5 ddbe25    cp      (ix+25h)
0cb8 20f1      jr      nz,0cabh
0cba af        xor     a
0cbb 320442    ld      (4204h),a
0cbe 3a0142    ld      a,(4201h)
0cc1 3c        inc     a
0cc2 320142    ld      (4201h),a
0cc5 e607      and     07h
0cc7 ddbe24    cp      (ix+24h)
0cca 20df      jr      nz,0cabh
0ccc af        xor     a
0ccd 320142    ld      (4201h),a
0cd0 2a0242    ld      hl,(4202h)
0cd3 23        inc     hl
0cd4 220242    ld      (4202h),hl
0cd7 18d2      jr      0cabh
0cd9 e1        pop     hl
0cda c1        pop     bc
0cdb c9        ret

0cdc ed5bb975  ld      de,(75b9h)
0ce0 1a        ld      a,(de)
0ce1 67        ld      h,a
0ce2 13        inc     de
0ce3 1a        ld      a,(de)
0ce4 6f        ld      l,a
0ce5 13        inc     de
0ce6 b4        or      h
0ce7 c8        ret     z

0ce8 220242    ld      (4202h),hl
0ceb 1a        ld      a,(de)
0cec 13        inc     de
0ced ed53b975  ld      (75b9h),de
0cf1 4f        ld      c,a
0cf2 e61f      and     1fh
0cf4 320442    ld      (4204h),a
0cf7 79        ld      a,c
0cf8 cb2f      sra     a
0cfa cb2f      sra     a
0cfc cb2f      sra     a
0cfe cb2f      sra     a
0d00 cb2f      sra     a
0d02 e607      and     07h
0d04 320142    ld      (4201h),a
0d07 f601      or      01h
0d09 c9        ret

proc08:
0d0a 21c475    ld      hl,75c4h
0d0d 01a800    ld      bc,00a8h
0d10 af        xor     a
0d11 32b575    ld      (75b5h),a
0d14 77        ld      (hl),a
0d15 23        inc     hl
0d16 0b        dec     bc
0d17 78        ld      a,b
0d18 b1        or      c
0d19 c2100d    jp      nz,0d10h
0d1c 3e01      ld      a,01h
0d1e 321142    ld      (4211h),a
0d21 32c075    ld      (75c0h),a
0d24 3eff      ld      a,0ffh
0d26 320042    ld      (4200h),a
0d29 326c76    ld      (766ch),a
0d2c 219b0d    ld      hl,0d9bh
0d2f 111242    ld      de,4212h
0d32 012e00    ld      bc,002eh
0d35 edb0      ldir
0d37 21c90d    ld      hl,0dc9h
0d3a 113f73    ld      de,733fh
0d3d 010e00    ld      bc,000eh
0d40 edb0      ldir
0d42 3e00      ld      a,00h
0d44 32c475    ld      (75c4h),a
0d47 32ee75    ld      (75eeh),a
0d4a 321876    ld      (7618h),a
0d4d 324276    ld      (7642h),a
0d50 21c475    ld      hl,75c4h
0d53 22c275    ld      (75c2h),hl
0d56 3e00      ld      a,00h
0d58 32d675    ld      (75d6h),a
0d5b 320076    ld      (7600h),a
0d5e 322a76    ld      (762ah),a
0d61 325476    ld      (7654h),a
0d64 32d575    ld      (75d5h),a
0d67 32ff75    ld      (75ffh),a
0d6a 322976    ld      (7629h),a
0d6d 325376    ld      (7653h),a
0d70 323d73    ld      (733dh),a
0d73 3d        dec     a
0d74 32d975    ld      (75d9h),a
0d77 320376    ld      (7603h),a
0d7a 322d76    ld      (762dh),a
0d7d 325776    ld      (7657h),a
0d80 323e73    ld      (733eh),a
0d83 fd214d73  ld      iy,734dh
0d87 21ffff    ld      hl,0ffffh
0d8a 019900    ld      bc,0099h
0d8d 3e04      ld      a,04h
0d8f fd7400    ld      (iy+00h),h
0d92 fd7501    ld      (iy+01h),l
0d95 fd09      add     iy,bc
0d97 3d        dec     a
0d98 c8        ret     z

0d99 18f4      jr      0d8fh

; wird von 0d2c geladen nach 4212h
0d9b 83        add     a,e
0d9c c3c3c3    jp      0c3c3h
0d9f c3c3c3    jp      0c3c3h
0da2 79        ld      a,c
0da3 00        nop
0da4 00        nop
0da5 00        nop
0da6 00        nop
0da7 54        ld      d,h
0da8 02        ld      (bc),a
0da9 50        ld      d,b
0daa 02        ld      (bc),a
0dab 80        add     a,b
0dac ad        xor     l
0dad 00        nop
0dae 00        nop
0daf 8a        adc     a,d
0db0 cf        rst     08h
0db1 cf        rst     08h
0db2 83        add     a,e
0db3 c3c3c3    jp      0c3c3h
0db6 c3c3c3    jp      0c3c3h
0db9 79        ld      a,c
0dba 00        nop
0dbb 00        nop
0dbc 00        nop
0dbd 00        nop
0dbe 5c        ld      e,h
0dbf ce50      adc     a,50h
0dc1 02        ld      (bc),a
0dc2 80        add     a,b
0dc3 ad        xor     l
0dc4 00        nop
0dc5 00        nop
0dc6 82        add     a,d
0dc7 cf        rst     08h
0dc8 b3        or      e

; wird von 0d37 geladen nach 733fh
0dc9 7c        ld      a,h
0dca 00        nop
0dcb 7d        ld      a,l
0dcc 00        nop
0dcd 00        nop
0dce 00        nop
0dcf 00        nop
0dd0 05        dec     b
0dd1 cf        rst     08h
0dd2 ad        xor     l
0dd3 00        nop
0dd4 00        nop
0dd5 01cf1a    ld      bc,1acfh
0dd8 be        cp      (hl)
0dd9 2007      jr      nz,0de2h
0ddb 23        inc     hl
0ddc 13        inc     de
0ddd 0b        dec     bc
0dde 78        ld      a,b
0ddf b1        or      c
0de0 20f5      jr      nz,0dd7h
0de2 37        scf
0de3 c9        ret

0de4 d5        push    de
0de5 e5        push    hl
0de6 f5        push    af
0de7 f5        push    af
0de8 54        ld      d,h
0de9 5d        ld      e,l
0dea 1b        dec     de
0deb 1b        dec     de
0dec cd030e    call    0e03h
0def eb        ex      de,hl
0df0 f1        pop     af
0df1 3d        dec     a
0df2 282d      jr      z,0e21h
0df4 f5        push    af
0df5 eb        ex      de,hl
0df6 010a00    ld      bc,000ah
0df9 09        add     hl,bc
0dfa eb        ex      de,hl
0dfb 09        add     hl,bc
0dfc 010002    ld      bc,0200h
0dff edb0      ldir
0e01 18ed      jr      0df0h
0e03 010800    ld      bc,0008h
0e06 09        add     hl,bc
0e07 010002    ld      bc,0200h
0e0a fd7e00    ld      a,(iy+00h)
0e0d cd290e    call    0e29h
0e10 c8        ret     z

0e11 fd7e01    ld      a,(iy+01h)
0e14 cd290e    call    0e29h
0e17 c8        ret     z

0e18 fd7e02    ld      a,(iy+02h)
0e1b cd290e    call    0e29h
0e1e c8        ret     z

0e1f 18e9      jr      0e0ah
0e21 f1        pop     af
0e22 fde1      pop     iy
0e24 d1        pop     de
0e25 cd2f0e    call    0e2fh
0e28 c9        ret

0e29 77        ld      (hl),a
0e2a 23        inc     hl
0e2b 0b        dec     bc
0e2c 78        ld      a,b
0e2d b1        or      c
0e2e c9        ret

0e2f 3c        inc     a
0e30 f5        push    af
0e31 3a0442    ld      a,(4204h)
0e34 321042    ld      (4210h),a
0e37 f1        pop     af
0e38 3d        dec     a
0e39 c8        ret     z

0e3a f5        push    af
0e3b 3e19      ld      a,19h
0e3d fd7700    ld      (iy+00h),a
0e40 3a1042    ld      a,(4210h)
0e43 cb27      sla     a
0e45 cb27      sla     a
0e47 cb27      sla     a
0e49 4f        ld      c,a
0e4a 3a0142    ld      a,(4201h)
0e4d e607      and     07h
0e4f b1        or      c
0e50 fd7701    ld      (iy+01h),a
0e53 2a0242    ld      hl,(4202h)
0e56 7c        ld      a,h
0e57 fd7702    ld      (iy+02h),a
0e5a 7d        ld      a,l
0e5b fd7703    ld      (iy+03h),a
0e5e 3ab575    ld      a,(75b5h)
0e61 fd7704    ld      (iy+04h),a
0e64 fd7705    ld      (iy+05h),a
0e67 af        xor     a
0e68 fd7706    ld      (iy+06h),a
0e6b fd7707    ld      (iy+07h),a
0e6e 010802    ld      bc,0208h
0e71 fd09      add     iy,bc
0e73 fd7700    ld      (iy+00h),a
0e76 fd7701    ld      (iy+01h),a
0e79 fd23      inc     iy
0e7b fd23      inc     iy
0e7d 3a1042    ld      a,(4210h)
0e80 3c        inc     a
0e81 321042    ld      (4210h),a
0e84 ddbe25    cp      (ix+25h)
0e87 20ae      jr      nz,0e37h
0e89 3e00      ld      a,00h
0e8b 321042    ld      (4210h),a
0e8e 18a7      jr      0e37h
0e90 af        xor     a
0e91 b1        or      c
0e92 2801      jr      z,0e95h
0e94 04        inc     b
0e95 78        ld      a,b
0e96 cb27      sla     a
0e98 cb27      sla     a
0e9a 80        add     a,b
0e9b 4f        ld      c,a
0e9c c9        ret

0e9d 3a0442    ld      a,(4204h)
0ea0 3c        inc     a
0ea1 320442    ld      (4204h),a
0ea4 ddbe25    cp      (ix+25h)
0ea7 3847      jr      c,0ef0h
0ea9 af        xor     a
0eaa 320442    ld      (4204h),a
0ead 3a0142    ld      a,(4201h)
0eb0 3c        inc     a
0eb1 320142    ld      (4201h),a
0eb4 e607      and     07h
0eb6 ddbe24    cp      (ix+24h)
0eb9 382f      jr      c,0eeah
0ebb af        xor     a
0ebc 320142    ld      (4201h),a
0ebf 2a0242    ld      hl,(4202h)
0ec2 23        inc     hl
0ec3 220242    ld      (4202h),hl
0ec6 3ac075    ld      a,(75c0h)
0ec9 b7        or      a
0eca 2008      jr      nz,0ed4h
0ecc dd5626    ld      d,(ix+26h)
0ecf dd5e27    ld      e,(ix+27h)
0ed2 1806      jr      0edah
0ed4 dd5622    ld      d,(ix+22h)
0ed7 dd5e23    ld      e,(ix+23h)
0eda 37        scf
0edb 3f        ccf
0edc eb        ex      de,hl
0edd ed52      sbc     hl,de
0edf 2813      jr      z,0ef4h
0ee1 eb        ex      de,hl
0ee2 cd7605    call    0576h
0ee5 d0        ret     nc

0ee6 cdb311    call    11b3h
0ee9 d0        ret     nc

0eea 3a0142    ld      a,(4201h)
0eed cdfa12    call    12fah
0ef0 f601      or      01h
0ef2 37        scf
0ef3 c9        ret

0ef4 af        xor     a
0ef5 37        scf
0ef6 c9        ret

0ef7 dd7e06    ld      a,(ix+06h)
0efa ddbe25    cp      (ix+25h)
0efd d0        ret     nc

0efe dd7e03    ld      a,(ix+03h)
0f01 ddbe24    cp      (ix+24h)
0f04 d0        ret     nc

0f05 dd6e04    ld      l,(ix+04h)
0f08 dd6605    ld      h,(ix+05h)
0f0b 3ac075    ld      a,(75c0h)
0f0e b7        or      a
0f0f 2008      jr      nz,0f19h
0f11 dd5626    ld      d,(ix+26h)
0f14 dd5e27    ld      e,(ix+27h)
0f17 1806      jr      0f1fh
0f19 dd5622    ld      d,(ix+22h)
0f1c dd5e23    ld      e,(ix+23h)
0f1f 37        scf
0f20 3f        ccf
0f21 ed52      sbc     hl,de
0f23 d0        ret     nc

0f24 dd7e02    ld      a,(ix+02h)
0f27 fe04      cp      04h
0f29 c9        ret

0f2a 3ac075    ld      a,(75c0h)
0f2d b7        or      a
0f2e 320c42    ld      (420ch),a
0f31 dd7e06    ld      a,(ix+06h)
0f34 286b      jr      z,0fa1h
0f36 dd660a    ld      h,(ix+0ah)
0f39 dd6e09    ld      l,(ix+09h)
0f3c af        xor     a
0f3d 320c42    ld      (420ch),a
0f40 b5        or      l
0f41 2801      jr      z,0f44h
0f43 24        inc     h
0f44 4c        ld      c,h
0f45 dd6605    ld      h,(ix+05h)
0f48 dd6e04    ld      l,(ix+04h)
0f4b 22b175    ld      (75b1h),hl
0f4e 220242    ld      (4202h),hl
0f51 dd7e03    ld      a,(ix+03h)
0f54 32b375    ld      (75b3h),a
0f57 320142    ld      (4201h),a
0f5a dd7e06    ld      a,(ix+06h)
0f5d 32b475    ld      (75b4h),a
0f60 320442    ld      (4204h),a
0f63 cd4f10    call    104fh
0f66 3a0b42    ld      a,(420bh)
0f69 47        ld      b,a
0f6a 3a0442    ld      a,(4204h)
0f6d f5        push    af
0f6e 3a0c42    ld      a,(420ch)
0f71 3c        inc     a
0f72 b9        cp      c
0f73 2827      jr      z,0f9ch
0f75 320c42    ld      (420ch),a
0f78 c5        push    bc
0f79 0e01      ld      c,01h
0f7b cd760c    call    0c76h
0f7e 2ab175    ld      hl,(75b1h)
0f81 220242    ld      (4202h),hl
0f84 3ab375    ld      a,(75b3h)
0f87 320142    ld      (4201h),a
0f8a 3ab475    ld      a,(75b4h)
0f8d 320442    ld      (4204h),a
0f90 cd4f10    call    104fh
0f93 c1        pop     bc
0f94 3a0b42    ld      a,(420bh)
0f97 b8        cp      b
0f98 28d4      jr      z,0f6eh
0f9a 1804      jr      0fa0h
0f9c af        xor     a
0f9d 320c42    ld      (420ch),a
0fa0 f1        pop     af
0fa1 47        ld      b,a
0fa2 dd7e25    ld      a,(ix+25h)
0fa5 90        sub     b
0fa6 47        ld      b,a
0fa7 3a0c42    ld      a,(420ch)
0faa 4f        ld      c,a
0fab b7        or      a
0fac 78        ld      a,b
0fad 2804      jr      z,0fb3h
0faf b9        cp      c
0fb0 3801      jr      c,0fb3h
0fb2 79        ld      a,c
0fb3 67        ld      h,a
0fb4 2e00      ld      l,00h
0fb6 dd560a    ld      d,(ix+0ah)
0fb9 dd5e09    ld      e,(ix+09h)
0fbc e5        push    hl
0fbd af        xor     a
0fbe ed52      sbc     hl,de
0fc0 e1        pop     hl
0fc1 3801      jr      c,0fc4h
0fc3 eb        ex      de,hl
0fc4 dd7518    ld      (ix+18h),l
0fc7 dd7419    ld      (ix+19h),h
0fca c9        ret

0fcb dd6e09    ld      l,(ix+09h)
0fce dd660a    ld      h,(ix+0ah)
0fd1 dd5e18    ld      e,(ix+18h)
0fd4 dd5619    ld      d,(ix+19h)
0fd7 af        xor     a
0fd8 ed52      sbc     hl,de
0fda dd7509    ld      (ix+09h),l
0fdd dd740a    ld      (ix+0ah),h
0fe0 37        scf
0fe1 c8        ret     z

0fe2 dd7e0d    ld      a,(ix+0dh)
0fe5 dd660c    ld      h,(ix+0ch)
0fe8 dd6e0b    ld      l,(ix+0bh)
0feb 19        add     hl,de
0fec 3001      jr      nc,0fefh
0fee 3c        inc     a
0fef 19        add     hl,de
0ff0 3001      jr      nc,0ff3h
0ff2 3c        inc     a
0ff3 dd750b    ld      (ix+0bh),l
0ff6 dd740c    ld      (ix+0ch),h
0ff9 dd770d    ld      (ix+0dh),a
0ffc dd6e18    ld      l,(ix+18h)
0fff dd6619    ld      h,(ix+19h)
1002 af        xor     a
1003 b5        or      l
1004 2801      jr      z,1007h
1006 24        inc     h
1007 4c        ld      c,h
1008 dd7e06    ld      a,(ix+06h)
100b 32b475    ld      (75b4h),a
100e dd7e03    ld      a,(ix+03h)
1011 32b375    ld      (75b3h),a
1014 dd6e04    ld      l,(ix+04h)
1017 dd6605    ld      h,(ix+05h)
101a 22b175    ld      (75b1h),hl
101d cd760c    call    0c76h
1020 3ab475    ld      a,(75b4h)
1023 dd7706    ld      (ix+06h),a
1026 3ab375    ld      a,(75b3h)
1029 dd7703    ld      (ix+03h),a
102c 2ab175    ld      hl,(75b1h)
102f dd7504    ld      (ix+04h),l
1032 dd7405    ld      (ix+05h),h
1035 dd5622    ld      d,(ix+22h)
1038 dd5e23    ld      e,(ix+23h)
103b 3ac075    ld      a,(75c0h)
103e b7        or      a
103f 2006      jr      nz,1047h
1041 dd5626    ld      d,(ix+26h)
1044 dd5e27    ld      e,(ix+27h)
1047 af        xor     a
1048 ed52      sbc     hl,de
104a d0        ret     nc

104b f601      or      01h
104d 37        scf
104e c9        ret

104f 3ac075    ld      a,(75c0h)
1052 b7        or      a
1053 c8        ret     z

1054 c5        push    bc
1055 d5        push    de
1056 e5        push    hl
1057 dd7e02    ld      a,(ix+02h)
105a 214d73    ld      hl,734dh
105d 019900    ld      bc,0099h
1060 3c        inc     a
1061 3d        dec     a
1062 2803      jr      z,1067h
1064 09        add     hl,bc
1065 18fa      jr      1061h
1067 dd4e28    ld      c,(ix+28h)
106a cda80c    call    0ca8h
106d 3eff      ld      a,0ffh
106f 320b42    ld      (420bh),a
1072 3a0142    ld      a,(4201h)
1075 cb27      sla     a
1077 cb27      sla     a
1079 cb27      sla     a
107b cb27      sla     a
107d cb27      sla     a
107f 4f        ld      c,a
1080 3a0442    ld      a,(4204h)
1083 b1        or      c
1084 f5        push    af
1085 ed4b0242  ld      bc,(4202h)
1089 3a0b42    ld      a,(420bh)
108c 3c        inc     a
108d 320b42    ld      (420bh),a
1090 56        ld      d,(hl)
1091 23        inc     hl
1092 5e        ld      e,(hl)
1093 23        inc     hl
1094 23        inc     hl
1095 af        xor     a
1096 eb        ex      de,hl
1097 ed42      sbc     hl,bc
1099 eb        ex      de,hl
109a 38ed      jr      c,1089h
109c 200a      jr      nz,10a8h
109e 2b        dec     hl
109f 5e        ld      e,(hl)
10a0 23        inc     hl
10a1 f1        pop     af
10a2 bb        cp      e
10a3 3804      jr      c,10a9h
10a5 f5        push    af
10a6 18e1      jr      1089h
10a8 f1        pop     af
10a9 3a0b42    ld      a,(420bh)
10ac 4f        ld      c,a
10ad cda80c    call    0ca8h
10b0 e1        pop     hl
10b1 d1        pop     de
10b2 c1        pop     bc
10b3 c9        ret

10b4 dd6605    ld      h,(ix+05h)
10b7 dd6e04    ld      l,(ix+04h)
10ba 23        inc     hl
10bb dd7405    ld      (ix+05h),h
10be dd7504    ld      (ix+04h),l
10c1 cd050f    call    0f05h
10c4 d8        ret     c

10c5 dd6622    ld      h,(ix+22h)
10c8 dd6e23    ld      l,(ix+23h)
10cb 2b        dec     hl
10cc 2b        dec     hl
10cd dd7405    ld      (ix+05h),h
10d0 dd7504    ld      (ix+04h),l
10d3 c9        ret

10d4 3c        inc     a
10d5 f5        push    af
10d6 2a0242    ld      hl,(4202h)
10d9 3a0142    ld      a,(4201h)
10dc e607      and     07h
10de 57        ld      d,a
10df 3a0442    ld      a,(4204h)
10e2 5f        ld      e,a
10e3 f1        pop     af
10e4 3d        dec     a
10e5 37        scf
10e6 c8        ret     z

10e7 f5        push    af
10e8 3e19      ld      a,19h
10ea fdbe00    cp      (iy+00h)
10ed 203c      jr      nz,112bh
10ef 7b        ld      a,e
10f0 cb27      sla     a
10f2 cb27      sla     a
10f4 cb27      sla     a
10f6 b2        or      d
10f7 fdbe01    cp      (iy+01h)
10fa 202f      jr      nz,112bh
10fc 7c        ld      a,h
10fd fdbe02    cp      (iy+02h)
1100 2029      jr      nz,112bh
1102 7d        ld      a,l
1103 fdbe03    cp      (iy+03h)
1106 2023      jr      nz,112bh
1108 fd6604    ld      h,(iy+04h)
110b fd7e05    ld      a,(iy+05h)
110e b4        or      h
110f 201f      jr      nz,1130h
1111 010a02    ld      bc,020ah
1114 fd09      add     iy,bc
1116 1c        inc     e
1117 7b        ld      a,e
1118 ddbe25    cp      (ix+25h)
111b 20c6      jr      nz,10e3h
111d 1e00      ld      e,00h
111f 14        inc     d
1120 7a        ld      a,d
1121 ddbe24    cp      (ix+24h)
1124 20bd      jr      nz,10e3h
1126 1600      ld      d,00h
1128 23        inc     hl
1129 18b8      jr      10e3h
112b f1        pop     af
112c f601      or      01h
112e 37        scf
112f c9        ret

1130 f1        pop     af
1131 af        xor     a
1132 3c        inc     a
1133 c9        ret

1134 fd2abb75  ld      iy,(75bbh)
1138 f5        push    af
1139 110800    ld      de,0008h
113c 19        add     hl,de
113d 13        inc     de
113e 13        inc     de
113f 010002    ld      bc,0200h
1142 cd4f11    call    114fh
1145 202a      jr      nz,1171h
1147 f1        pop     af
1148 3d        dec     a
1149 37        scf
114a c8        ret     z

114b f5        push    af
114c 19        add     hl,de
114d 18f0      jr      113fh
114f 7e        ld      a,(hl)
1150 fdbe00    cp      (iy+00h)
1153 c0        ret     nz

1154 cd6c11    call    116ch
1157 c8        ret     z

1158 7e        ld      a,(hl)
1159 fdbe01    cp      (iy+01h)
115c c0        ret     nz

115d cd6c11    call    116ch
1160 c8        ret     z

1161 7e        ld      a,(hl)
1162 fdbe02    cp      (iy+02h)
1165 c0        ret     nz

1166 cd6c11    call    116ch
1169 c8        ret     z

116a 18e3      jr      114fh
116c 23        inc     hl
116d 0b        dec     bc
116e 78        ld      a,b
116f b1        or      c
1170 c9        ret

1171 d1        pop     de
1172 37        scf
1173 c9        ret

1174 fd214042  ld      iy,4240h
1178 af        xor     a
1179 f5        push    af
117a fd6604    ld      h,(iy+04h)
117d fd7e05    ld      a,(iy+05h)
1180 b4        or      h
1181 2810      jr      z,1193h
1183 cd880a    call    0a88h
1186 3abf75    ld      a,(75bfh)
1189 3c        inc     a
118a 32bf75    ld      (75bfh),a
118d fe33      cp      33h
118f 2816      jr      z,11a7h
1191 1805      jr      1198h
1193 0e01      ld      c,01h
1195 cd760c    call    0c76h
1198 f1        pop     af
1199 3c        inc     a
119a ddbe25    cp      (ix+25h)
119d 37        scf
119e c8        ret     z

119f f5        push    af
11a0 010a02    ld      bc,020ah
11a3 fd09      add     iy,bc
11a5 18d3      jr      117ah
11a7 f1        pop     af
11a8 af        xor     a
11a9 c9        ret

11aa 320042    ld      (4200h),a
11ad d390      out     (90h),a
11af cdb311    call    11b3h
11b2 c9        ret

11b3 c5        push    bc
11b4 0604      ld      b,04h
11b6 cdeb15    call    proc10
11b9 db80      in      a,(80h)
11bb e601      and     01h
11bd 2810      jr      z,11cfh
11bf 3a0d42    ld      a,(420dh)
11c2 b7        or      a
11c3 28f4      jr      z,11b9h
11c5 05        dec     b
11c6 20ee      jr      nz,11b6h
11c8 cdfc15    call    proc11
11cb 37        scf
11cc 3f        ccf
11cd c1        pop     bc
11ce c9        ret

11cf cdfc15    call    proc11
11d2 37        scf
11d3 c1        pop     bc
11d4 c9        ret

11d5 3e01      ld      a,01h
11d7 d321      out     (21h),a
11d9 af        xor     a
11da d321      out     (21h),a
11dc 3e0c      ld      a,0ch
11de d320      out     (20h),a
11e0 e604      and     04h
11e2 d320      out     (20h),a
11e4 c9        ret

proc14:
11e5 db80      in      a,(80h)
11e7 cb3f      srl     a
11e9 cb3f      srl     a
11eb e603      and     03h
11ed 0e05      ld      c,05h
11ef fe03      cp      03h
11f1 280c      jr      z,11ffh
11f3 0d        dec     c
11f4 fe02      cp      02h
11f6 2807      jr      z,11ffh
11f8 0d        dec     c
11f9 fe01      cp      01h
11fb 2802      jr      z,11ffh
11fd 0e01      ld      c,01h
11ff dd7124    ld      (ix+24h),c
1202 af        xor     a
1203 c618      add     a,18h
1205 0d        dec     c
1206 20fb      jr      nz,1203h
1208 dd7728    ld      (ix+28h),a
120b 215802    ld      hl,0258h
120e dd7422    ld      (ix+22h),h
1211 dd7523    ld      (ix+23h),l
1214 215d02    ld      hl,025dh
1217 dd7426    ld      (ix+26h),h
121a dd7527    ld      (ix+27h),l
121d 3e18      ld      a,18h
121f dd7725    ld      (ix+25h),a
1222 af        xor     a
1223 dd7729    ld      (ix+29h),a
1226 c9        ret

1227 0604      ld      b,04h
1229 cdeb15    call    proc10
122c 3a0d42    ld      a,(420dh)
122f b7        or      a
1230 28fa      jr      z,122ch
1232 05        dec     b
1233 20f4      jr      nz,1229h
1235 c9        ret

1236 db80      in      a,(80h)
1238 e602      and     02h
123a ee02      xor     02h
123c 37        scf
123d c8        ret     z

123e cdfc15    call    proc11
1241 c9        ret

1242 f604      or      04h
1244 f5        push    af
1245 cdb311    call    11b3h
1248 c1        pop     bc
1249 d0        ret     nc

124a 3e06      ld      a,06h
124c b0        or      b
124d 4f        ld      c,a
124e 78        ld      a,b
124f d320      out     (20h),a
1251 1601      ld      d,01h
1253 15        dec     d
1254 20fd      jr      nz,1253h
1256 79        ld      a,c
1257 d320      out     (20h),a
1259 78        ld      a,b
125a d320      out     (20h),a
125c 2b        dec     hl
125d 7c        ld      a,h
125e 7c        ld      a,h
125f b5        or      l
1260 20ef      jr      nz,1251h
1262 3e04      ld      a,04h
1264 d320      out     (20h),a
1266 37        scf
1267 c9        ret

1268 21ffff    ld      hl,0ffffh
126b 37        scf
126c c8        ret     z

126d 2b        dec     hl
126e 7c        ld      a,h
126f b5        or      l
1270 c8        ret     z

1271 18f8      jr      126bh
1273 3d        dec     a
1274 feff      cp      0ffh
1276 2004      jr      nz,127ch
1278 dd7e25    ld      a,(ix+25h)
127b 3d        dec     a
127c f5        push    af
127d 3e00      ld      a,00h
127f 320742    ld      (4207h),a
1282 219839    ld      hl,3998h
1285 010400    ld      bc,0004h
1288 3e00      ld      a,00h
128a 320f42    ld      (420fh),a
128d cd2413    call    1324h
1290 c1        pop     bc
1291 d0        ret     nc

1292 3e00      ld      a,00h
1294 c0        ret     nz

1295 c5        push    bc
1296 dd7e25    ld      a,(ix+25h)
1299 cb27      sla     a
129b cb27      sla     a
129d 4f        ld      c,a
129e 3a0742    ld      a,(4207h)
12a1 3c        inc     a
12a2 320742    ld      (4207h),a
12a5 b9        cp      c
12a6 37        scf
12a7 2836      jr      z,12dfh
12a9 3a0f42    ld      a,(420fh)
12ac b7        or      a
12ad 20d3      jr      nz,1282h
12af 3a3173    ld      a,(7331h)
12b2 e607      and     07h
12b4 47        ld      b,a
12b5 3a0142    ld      a,(4201h)
12b8 e607      and     07h
12ba b8        cp      b
12bb 37        scf
12bc 2021      jr      nz,12dfh
12be 3a3273    ld      a,(7332h)
12c1 57        ld      d,a
12c2 3a3373    ld      a,(7333h)
12c5 5f        ld      e,a
12c6 2a0242    ld      hl,(4202h)
12c9 af        xor     a
12ca ed52      sbc     hl,de
12cc 37        scf
12cd 2010      jr      nz,12dfh
12cf 3a3173    ld      a,(7331h)
12d2 cb3f      srl     a
12d4 cb3f      srl     a
12d6 cb3f      srl     a
12d8 c1        pop     bc
12d9 b8        cp      b
12da 37        scf
12db c8        ret     z

12dc c5        push    bc
12dd 18a3      jr      1282h
12df c1        pop     bc
12e0 3004      jr      nc,12e6h
12e2 af        xor     a
12e3 3d        dec     a
12e4 37        scf
12e5 c9        ret

12e6 af        xor     a
12e7 3c        inc     a
12e8 37        scf
12e9 c9        ret

12ea c5        push    bc
12eb dd7e13    ld      a,(ix+13h)
12ee e660      and     60h
12f0 cb2f      sra     a
12f2 cb2f      sra     a
12f4 47        ld      b,a
12f5 3a0142    ld      a,(4201h)
12f8 b0        or      b
12f9 c1        pop     bc
12fa c5        push    bc
12fb 320142    ld      (4201h),a
12fe cb27      sla     a
1300 cb27      sla     a
1302 47        ld      b,a
1303 3a0042    ld      a,(4200h)
1306 b0        or      b
1307 d390      out     (90h),a
1309 c1        pop     bc
130a c9        ret

130b cdb311    call    11b3h
130e d0        ret     nc

130f cd3612    call    1236h
1312 c0        ret     nz

1313 f3        di
1314 cd6b13    call    136bh
1317 3e24      ld      a,24h
1319 d320      out     (20h),a
131b 3e04      ld      a,04h
131d d320      out     (20h),a
131f fb        ei
1320 cd3612    call    1236h
1323 c9        ret

1324 cdb311    call    11b3h
1327 d0        ret     nc

1328 cd7b13    call    137bh
132b 3e14      ld      a,14h
132d d320      out     (20h),a
132f 3e04      ld      a,04h
1331 d320      out     (20h),a
1333 af        xor     a
1334 37        scf
1335 c9        ret

1336 dd7e15    ld      a,(ix+15h)
1339 dd771e    ld      (ix+1eh),a
133c dd7e16    ld      a,(ix+16h)
133f dd771f    ld      (ix+1fh),a
1342 af        xor     a
1343 dd771d    ld      (ix+1dh),a
1346 dd771c    ld      (ix+1ch),a
1349 37        scf
134a c9        ret

proc09:
134b 215513    ld      hl,1355h
134e 0616      ld      b,16h
1350 0e00      ld      c,00h
1352 edb3      otir
1354 c9        ret

1355 83        add     a,e
1356 c3c3c3    jp      0c3c3h
1359 c3c3c3    jp      0c3c3h
135c 79        ld      a,c
135d 00        nop
135e 00        nop
135f 00        nop
1360 00        nop
1361 54        ld      d,h
1362 ce50      adc     a,50h
1364 ce80      adc     a,80h
1366 ad        xor     l
1367 00        nop
1368 00        nop
1369 8a        adc     a,d
136a cf        rst     08h
136b 3e00      ld      a,00h
136d d350      out     (50h),a
136f 222442    ld      (4224h),hl
1372 210060    ld      hl,6000h
1375 221a42    ld      (421ah),hl
1378 c38813    jp      1388h
137b 3e00      ld      a,00h
137d d350      out     (50h),a
137f 221a42    ld      (421ah),hl
1382 210060    ld      hl,6000h
1385 222442    ld      (4224h),hl
1388 0b        dec     bc
1389 ed431c42  ld      (421ch),bc
138d 211242    ld      hl,4212h
1390 0617      ld      b,17h
1392 0e00      ld      c,00h
1394 edb3      otir
1396 3e87      ld      a,87h
1398 d300      out     (00h),a
139a c9        ret

139b af        xor     a
139c b9        cp      c
139d 204b      jr      nz,13eah
139f 3c        inc     a
13a0 b8        cp      b
13a1 2047      jr      nz,13eah
13a3 3e88      ld      a,88h
13a5 d350      out     (50h),a
13a7 3e79      ld      a,79h
13a9 323a73    ld      (733ah),a
13ac 323042    ld      (4230h),a
13af 223b42    ld      (423bh),hl
13b2 ed533142  ld      (4231h),de
13b6 af        xor     a
13b7 eb        ex      de,hl
13b8 0b        dec     bc
13b9 ed4a      adc     hl,bc
13bb fae313    jp      m,13e3h
13be 213f00    ld      hl,003fh
13c1 223342    ld      (4233h),hl
13c4 212942    ld      hl,4229h
13c7 0617      ld      b,17h
13c9 0e00      ld      c,00h
13cb edb3      otir
13cd 0604      ld      b,04h
13cf 0e00      ld      c,00h
13d1 3e87      ld      a,87h
13d3 16b3      ld      d,0b3h
13d5 1ed3      ld      e,0d3h
13d7 1804      jr      13ddh
13d9 ed51      out     (c),d
13db ed59      out     (c),e
13dd ed79      out     (c),a
13df 10f8      djnz    13d9h
13e1 37        scf
13e2 c9        ret

13e3 ed42      sbc     hl,bc
13e5 03        inc     bc
13e6 eb        ex      de,hl
13e7 c33714    jp      1437h
13ea 3e88      ld      a,88h
13ec d350      out     (50h),a
13ee 3e79      ld      a,79h
13f0 323a73    ld      (733ah),a
13f3 1809      jr      13feh
13f5 3e88      ld      a,88h
13f7 d350      out     (50h),a
13f9 3e7d      ld      a,7dh
13fb 323a73    ld      (733ah),a
13fe 04        inc     b
13ff 05        dec     b
1400 2824      jr      z,1426h
1402 c5        push    bc
1403 010001    ld      bc,0100h
1406 d5        push    de
1407 e5        push    hl
1408 cd2a14    call    142ah
140b e1        pop     hl
140c 110501    ld      de,0105h
140f 19        add     hl,de
1410 e3        ex      (sp),hl
1411 110001    ld      de,0100h
1414 19        add     hl,de
1415 cb7c      bit     7,h
1417 2808      jr      z,1421h
1419 cbbc      res     7,h
141b dd7e0d    ld      a,(ix+0dh)
141e 3c        inc     a
141f d330      out     (30h),a
1421 eb        ex      de,hl
1422 e1        pop     hl
1423 c1        pop     bc
1424 18d9      jr      13ffh
1426 af        xor     a
1427 b1        or      c
1428 37        scf
1429 c8        ret     z

142a 3a3a73    ld      a,(733ah)
142d 323042    ld      (4230h),a
1430 ed533142  ld      (4231h),de
1434 223b42    ld      (423bh),hl
1437 210080    ld      hl,8000h
143a af        xor     a
143b ed52      sbc     hl,de
143d eb        ex      de,hl
143e 60        ld      h,b
143f 69        ld      l,c
1440 af        xor     a
1441 ed52      sbc     hl,de
1443 381e      jr      c,1463h
1445 281c      jr      z,1463h
1447 e5        push    hl
1448 d5        push    de
1449 42        ld      b,d
144a 4b        ld      c,e
144b cd6314    call    1463h
144e dd7e0d    ld      a,(ix+0dh)
1451 3c        inc     a
1452 d330      out     (30h),a
1454 210000    ld      hl,0000h
1457 223142    ld      (4231h),hl
145a 2a3b42    ld      hl,(423bh)
145d c1        pop     bc
145e 09        add     hl,bc
145f 223b42    ld      (423bh),hl
1462 c1        pop     bc
1463 af        xor     a
1464 57        ld      d,a
1465 5f        ld      e,a
1466 b1        or      c
1467 200b      jr      nz,1474h
1469 78        ld      a,b
146a 41        ld      b,c
146b 87        add     a,a
146c cb10      rl      b
146e 87        add     a,a
146f cb10      rl      b
1471 4f        ld      c,a
1472 1823      jr      1497h
1474 79        ld      a,c
1475 3d        dec     a
1476 b0        or      b
1477 286d      jr      z,14e6h
1479 1606      ld      d,06h
147b 1e00      ld      e,00h
147d af        xor     a
147e cb18      rr      b
1480 cb19      rr      c
1482 cb1b      rr      e
1484 15        dec     d
1485 c27e14    jp      nz,147eh
1488 cb3b      srl     e
148a cb3b      srl     e
148c 7b        ld      a,e
148d b7        or      a
148e 2807      jr      z,1497h
1490 3d        dec     a
1491 2003      jr      nz,1496h
1493 1e41      ld      e,41h
1495 0b        dec     bc
1496 1d        dec     e
1497 d5        push    de
1498 c5        push    bc
1499 213f00    ld      hl,003fh
149c 223342    ld      (4233h),hl
149f 212942    ld      hl,4229h
14a2 0617      ld      b,17h
14a4 0e00      ld      c,00h
14a6 edb3      otir
14a8 c1        pop     bc
14a9 79        ld      a,c
14aa b0        or      b
14ab cac114    jp      z,14c1h
14ae 41        ld      b,c
14af 0e00      ld      c,00h
14b1 3e87      ld      a,87h
14b3 16b3      ld      d,0b3h
14b5 1ed3      ld      e,0d3h
14b7 1804      jr      14bdh
14b9 ed51      out     (c),d
14bb ed59      out     (c),e
14bd ed79      out     (c),a
14bf 10f8      djnz    14b9h
14c1 c1        pop     bc
14c2 78        ld      a,b
14c3 b1        or      c
14c4 37        scf
14c5 c8        ret     z

14c6 3a3a73    ld      a,(733ah)
14c9 e6e7      and     0e7h
14cb d300      out     (00h),a
14cd 79        ld      a,c
14ce d300      out     (00h),a
14d0 78        ld      a,b
14d1 d300      out     (00h),a
14d3 3eb3      ld      a,0b3h
14d5 d300      out     (00h),a
14d7 3ed3      ld      a,0d3h
14d9 d300      out     (00h),a
14db 3e87      ld      a,87h
14dd d300      out     (00h),a
14df 37        scf
14e0 c9        ret

14e1 3e87      ld      a,87h
14e3 d300      out     (00h),a
14e5 c9        ret

14e6 fd212942  ld      iy,4229h
14ea fd710a    ld      (iy+0ah),c
14ed fd700b    ld      (iy+0bh),b
14f0 212942    ld      hl,4229h
14f3 0617      ld      b,17h
14f5 0e00      ld      c,00h
14f7 edb3      otir
14f9 3a3a73    ld      a,(733ah)
14fc fe79      cp      79h
14fe 2031      jr      nz,1531h
1500 dde5      push    ix
1502 dd213f73  ld      ix,733fh
1506 fd7e08    ld      a,(iy+08h)
1509 dd7703    ld      (ix+03h),a
150c fd7e09    ld      a,(iy+09h)
150f dd7704    ld      (ix+04h),a
1512 fd5e12    ld      e,(iy+12h)
1515 fd5613    ld      d,(iy+13h)
1518 1b        dec     de
1519 dd730a    ld      (ix+0ah),e
151c dd720b    ld      (ix+0bh),d
151f 110100    ld      de,0001h
1522 dd7305    ld      (ix+05h),e
1525 dd7206    ld      (ix+06h),d
1528 213f73    ld      hl,733fh
152b 060e      ld      b,0eh
152d edb3      otir
152f dde1      pop     ix
1531 cde114    call    14e1h
1534 c9        ret

proc07:
1535 3eff      ld      a,0ffh
1537 320542    ld      (4205h),a
153a 320842    ld      (4208h),a
153d 7d        ld      a,l
153e d310      out     (10h),a
1540 3e03      ld      a,03h
1542 d310      out     (10h),a
1544 d311      out     (11h),a
1546 d312      out     (12h),a
1548 d313      out     (13h),a
154a c9        ret

154b f5        push    af
154c 3a0842    ld      a,(4208h)
154f 3c        inc     a
1550 2811      jr      z,1563h
1552 ddbe25    cp      (ix+25h)
1555 3809      jr      c,1560h
1557 3a0642    ld      a,(4206h)
155a 3c        inc     a
155b 320642    ld      (4206h),a
155e 3e00      ld      a,00h
1560 320842    ld      (4208h),a
1563 3e03      ld      a,03h
1565 d311      out     (11h),a
1567 f1        pop     af
1568 fb        ei
1569 ed4d      reti

156b f5        push    af
156c 3a0542    ld      a,(4205h)
156f 3c        inc     a
1570 2814      jr      z,1586h
1572 3e00      ld      a,00h
1574 320842    ld      (4208h),a
1577 3a0642    ld      a,(4206h)
157a 3c        inc     a
157b 320642    ld      (4206h),a
157e 3ec7      ld      a,0c7h
1580 d310      out     (10h),a
1582 3e01      ld      a,01h
1584 d310      out     (10h),a
1586 f1        pop     af
1587 fb        ei
1588 ed4d      reti

158a f5        push    af
158b 3e03      ld      a,03h
158d d312      out     (12h),a
158f f1        pop     af
1590 fb        ei
1591 ed4d      reti

1593 f5        push    af
1594 3a0e42    ld      a,(420eh)
1597 3c        inc     a
1598 320e42    ld      (420eh),a
159b fe2e      cp      2eh
159d 3809      jr      c,15a8h
159f 3e03      ld      a,03h
15a1 d313      out     (13h),a
15a3 3e01      ld      a,01h
15a5 320d42    ld      (420dh),a
15a8 f1        pop     af
15a9 fb        ei
15aa ed4d      reti

15ac 47        ld      b,a
15ad 3ec7      ld      a,0c7h
15af d311      out     (11h),a
15b1 3e01      ld      a,01h
15b3 d311      out     (11h),a
15b5 af        xor     a
15b6 320542    ld      (4205h),a
15b9 320642    ld      (4206h),a
15bc cdeb15    call    proc10
15bf 3a0842    ld      a,(4208h)
15c2 b8        cp      b
15c3 2816      jr      z,15dbh
15c5 3a0d42    ld      a,(420dh)
15c8 b7        or      a
15c9 28f4      jr      z,15bfh
15cb cdfc15    call    proc11
15ce 3eff      ld      a,0ffh
15d0 320542    ld      (4205h),a
15d3 320842    ld      (4208h),a
15d6 3e03      ld      a,03h
15d8 d310      out     (10h),a
15da c9        ret

15db cdfc15    call    proc11
15de 3eff      ld      a,0ffh
15e0 320542    ld      (4205h),a
15e3 320842    ld      (4208h),a
15e6 3e03      ld      a,03h
15e8 d310      out     (10h),a
15ea c9        ret

proc10:
15eb 3e00      ld      a,00h
15ed 320d42    ld      (420dh),a
15f0 320e42    ld      (420eh),a
15f3 3ea7      ld      a,0a7h
15f5 d313      out     (13h),a
15f7 3eff      ld      a,0ffh
15f9 d313      out     (13h),a
15fb c9        ret

proc11:
15fc f3        di
15fd 3e03      ld      a,03h
15ff d313      out     (13h),a
1601 fb        ei
1602 c9        ret

setup01:
	ld	a,0ffh
	out	(22h),a
	ld	a,0c0h
	out	(22h),a
	ld	a,l
	out	(22h),a
	ld	a,0b7h
	out	(22h),a
	ld	a,7fh
	out	(22h),a
	xor	a
	out	(20h),a
	ld	a,0ffh
	out	(23h),a
	ld	a,0feh
	out	(23h),a
	ex	de,hl
	jp	(hl)

int_05:
	push	af
	ld	a,01h
	ld	(420fh),a
	pop	af
	ei
	reti

