;
;	Disassembled by:
;		DASMx object code disassembler
;		(c) Copyright 1996-1999   Conquest Consultants
;		Version 1.30 (Oct  6 1999)
;
;	File:		boxing.bin
;	Size:		4096 bytes
;	Date:		Thu Jan 23 07:03:07 2003
;	CPU:		Signetics 2650 (2650 family)
;
z     equ  0
eq    equ  z
p     equ  1
gt    equ  p
n     equ  2
lt    equ  n
un    equ  3

;Hardware Equates/Memory Map----------------------------------------------
;                $0000..$0FFF can be ROM (first 4K of cartridge)
;                $1000..$17FF are unmapped
;                $1800..$18CF are upper screen display
;                $18D0..$18EF are user RAM
SPRITE0Y      equ 18F0h
SPRITE0X      equ 18F1h
SPRITE1Y      equ 18F2h
SPRITE1X      equ 18F3h
SPRITE2Y      equ 18F4h
SPRITE2X      equ 18F5h
SPRITE3Y      equ 18F6h
SPRITE3X      equ 18F7h
;                $18F8..$18FB are user RAM
CRTCVPR       equ 18FCh ;crtc vertical position register
PITCH         equ 18FDh ;also other uses
VOLUME        equ 18FEh ;also other uses
CHARLINE      equ 18FFh ;current character line
P1LEFTKEYS    equ 1900h
P1MIDDLEKEYS  equ 1901h
P1RIGHTKEYS   equ 1902h
P1PALLADIUM   equ 1903h ;unused
P2LEFTKEYS    equ 1904h
P2MIDDLEKEYS  equ 1905h
P2RIGHTKEYS   equ 1906h
P2PALLADIUM   equ 1907h ;unused
CONSOLE       equ 1908h ;unused
;$1909..$197F are unmapped
;$1980..$19BF are user-defined characters
;$19C0..$19F7 are unmapped
RESOLUTION    equ 19F8h ;also other uses, apparently unused
BGCOLOUR      equ 19F9h ;also other uses, apparently unused
SPRITES23CTRL equ 19FAh ;apparently unused
SPRITES01CTRL equ 19FBh ;apparently unused
BGCOLLIDE     equ 19FCh
SPRITECOLLIDE equ 19FDh
P2PADDLE      equ 19FEh
P1PADDLE      equ 19FFh
;                $1A00..$1ACF are lower screen display
;                $1AD0..$1AFF are user RAM
;                $1B00..$1FFF are unmapped
;                $2000..$7FFF can be ROM (last 24K of cartridge)
;-------------------------------------------------------------------------
	org	00000H
;
	bcta,un	L015D
;
L0003:
	tpsu	080H
	bctr,eq	L0003
L0007:
	tpsu	080H
	bcfr,eq	L0007
	retc,un
;Subroutine---------------------------------------------------------------
;$C:
        ppsl    018h         ;PSL |= %00011000; // With Carry + Register Select
        strz    r1           ;r1 = r0;

        lodi,r2 008h         ;r2 = 8; // loop iterator
;$11:
        rrl,r1               ;rotate r1 to the left once
        rrr,r0               ;rotate r0 to the right once
        bdrr,r2 0011h        ;if (--r2 != 0) goto $11;
;end of loop

        cpsl    018h         ;PSL &= %11100111; // clear WC and RS bits
        retc,un              ;return;
;Subroutine---------------------------------------------------------------
;$18:
        ppsl    010h         ;PSL |= %00010000; // Register Select

;increment *(1A2A) by one (frame counter)
        loda,r0 1a2ah        ;r0 = *(1A2A); // user RAM (in low-res mode)
        addi,r0 001h         ;r0++;
        stra,r0 1a2ah        ;*(1A2A) = r0; // user RAM (in low-res mode)

;$18DD..$18E0 is the screen offset of each body part
;erase cyan boxer's old body from screen
        lodi,r1 004h         ;r1 = 4; // loop iterator
;$24:

;*(1800 + *(18DC + r1)) = 0;
        loda,r0 18dch,r1     ;r0 = *(18DC + r1); // user RAM
        strz    r3           ;r3 = r0;
        eorz    r0           ;r0 = 0;
        stra,r0 1800h,r3     ;*(1800 + r3) = r0; // upper screen

        bdrr,r1 0024h        ;if (--r1 != 0) goto $24;
;end of loop

;wait for CHARLINE to become $F5
;$2E:
        loda,r0 CHARLINE     ;r0 = CHARLINE;
        comi,r0 0f5h         ;compare r0 against $F5
        bcfr,eq 002eh        ;if (!=) goto $2E;
;end of loop

;delay loop
        lodi,r1 014h         ;r1 = $14; // loop iterator
;$37:
        nop
        bdrr,r1 0037h        ;if (--r1 != 0) goto $37;
;end of loop

        ppsu    040h         ;PSU |= %01000000; // Flag
        loda,r1 18dbh        ;r1 = *(18DB); // user RAM

;swap nybbles of r1
        rrr,r1               ;rotate r1 to the right quarce
	rrr,r1
	rrr,r1
	rrr,r1

;extract low (formerly high) nybble
        andi,r1 00fh         ;r1 &= %00001111;

        lodi,r0 0fbh         ;r0 = %11111011;
        subz    r1           ;r0 -= r1;
        strz    r1           ;r1 = r0;

        loda,r0 18d7h        ;r0 = *(18D7); // user RAM
        comi,r0 088h         ;compare r0 against $88
        bcta,gt 0089h        ;if (>) goto $89;

;$51:
        lodi,r2 003h         ;r2 = 3; // loop iterator
;$53:
        bsta,un 00eah        ;gosub $EA;
        loda,r0 18d7h        ;r0 = *(18D7); // user RAM
        coma,r0 0c01h,r2     ;compare r0 against *(C01 + r2)
        bctr,lt 006bh        ;if (<) goto $6B;
        coma,r0 0c04h,r2     ;compare r0 against *(C04 + r2)
        bctr,gt 006bh        ;if (>) goto $6B;
        lodi,r0 07ch         ;r0 = $7C; // cyan arms
;$65:
        stra,r0 1800h,r3+    ;*(1800 + ++r3) = r0; // upper screen
        stra,r3 18ddh        ;*(18DD) = r3; // user RAM
;$6B:
        addi,r1 001h         ;r1++;
        bdra,r2 0053h        ;if (--r2 != 0) goto $53;
;end of loop

;$70:
;wait for vertical blank
        loda,r0 CHARLINE     ;r0 = *(18FF); // CHARLINE
        comi,r0 0fch         ;compare r0 against $FC
        bcfr,eq 0070h        ;if (!=) goto $70;
;end of loop

;delay loop
        lodi,r1 014h         ;r1 = $14; // loop iterator
;$79:
        nop
        bdrr,r1 0079h        ;if (--r1 != 0) goto $79;
;end of loop

        cpsu    040h         ;PSU &= %10111111; // Flag
        loda,r0 VOLUME       ;r0 = *(18FE); // VOLUME
;clear the horizontal scrolling bits (7..5)
        andi,r0 01fh         ;r0 &= %00011111;

;change the horizontal displacement back to 0 for displaying scores
        stra,r0 VOLUME       ;*(18FE) = r0; // VOLUME
        cpsl    010h         ;PSL &= %11101111;
        retc,un              ;return;

;$89:
        comi,r0 090h         ;compare r0 against %10010000
        bctr,gt 00b2h        ;if (>) goto $B2;
        addi,r1 001h         ;r1++;
        lodi,r2 003h         ;r2 = 3;
        bsta,un 00eah        ;gosub $EA;
        addi,r1 001h         ;r1++;
        lodi,r2 002h         ;r2 = 2;
        bsta,un 00eah        ;gosub $EA;
        addi,r3 002h         ;r3 += 2;
        stra,r3 18deh        ;*(18DE) = r3; // user RAM
        subi,r0 001h         ;r0--;
        stra,r0 1800h,r3     ;*(1800 + r3) = r0; // display
        subi,r0 01h          ;r0--;
        subi,r3 01h          ;r3--;
        stra,r3 18ddh        ;*(18DD) = r3; // user RAM
        stra,r0 1800h,r3     ;*(1800 + r3) = r0; // display
        bcta,un 0070h        ;goto $70;
;$B2:
        comi,r0 0a0h         ;compare r0 against $A0
        bctr,eq 00c9h        ;if (==) goto $C9;
        subi,r1 001h         ;r1--;
        lodi,r2 003h         ;r2 = 3;
        bstr,un 00eah        ;gosub $EA;
        lodi,r0 07ch         ;r0 = $7C;
        stra,r0 1800h,r3     ;*(1800 + r3) = r0 [$7C]; // upper screen
        stra,r3 18ddh        ;*(18DD) = r3;
        addi,r1 001h         ;r1++;
        bcta,un 0051h        ;goto $51;
;$C9:
        addi,r1 002h         ;r1 += 2;
        lodi,r2 001h         ;r2 = 1;
        bstr,un 00eah        ;gosub $EA;
        subi,r0 001h         ;r0--;
        stra,r0 1800h,r3-    ;*(1800 + --r3) = r0; // upper display
        stra,r3 18ddh        ;*(18DD) = r3; // user RAM
        addi,r0 002h         ;r0 += 2;
        stra,r0 1800h,r3-    ;*(1800 + --r3) = r0; // upper display
        stra,r3 18dfh        ;*(18DF) = r3; // user RAM
        addi,r0 001h         ;r0++;
        stra,r0 1800h,r3-    ;*(1800 + --r3) = r0; // upper display
        stra,r3 18e0h        ;*(18E0) = r3; // user RAM
        bcta,un 0070h        ;goto $70;
;Subroutine---------------------------------------------------------------
;draw part of the cyan boxer?
;$EA:

;wait until CHARLINE == r1
        loda,r0 CHARLINE     ;r0 = *(18FF); // CHARLINE
        comz    r1           ;compare r0 against r1
        bcfr,eq 00eah        ;if (!=) goto $EA;
;end of loop

        loda,r0 18d3h,r2     ;r0 = *(18D3 + r2);
;move bits 2..0 to 7..5
        rrr,r0               ;rotate r0 to the right thrice
	rrr,r0
	rrr,r0
        strz    r3           ;r3 = r0;
;extract the horizontal shift bits (7..5)
        andi,r3 0e0h         ;r3 &= %11100000;
        loda,r0 VOLUME       ;r0 = *(18FE); // VOLUME
        andi,r0 01fh         ;r0 &= %00011111;
        iorz    r3           ;r0 |= r3;
        stra,r0 VOLUME       ;*(18FE) = r0; // VOLUME                   ;3
        loda,r0 18d3h,r2     ;r0 = *(18D3 + r2);
        rrr,r0               ;rotate r0 to the right thrice
        rrr,r0               ;bits are now 21076543
	rrr,r0
        andi,r0 00fh         ;r0 &= %00001111;
        strz    r3           ;r3 = r0;
        lodz    r1           ;r0 = r1;
        addi,r0 001h         ;r0++;
        rrr,r0               ;rotate r0 to the right quarce
	rrr,r0
	rrr,r0
	rrr,r0
        andi,r0 0f0h         ;r0 &= %11110000;
        iorz    r3           ;r0 |= r3;
        strz    r3           ;r3 = r0;
        stra,r0 18ddh,r2     ;*(18DD + r2) = r0;
        lodi,r0 07ch         ;r0 = $7C;
        addz    r2           ;r0 += r2;
        stra,r0 1800h,r3     ;*(1800 + r3) = r0;
        retc,un              ;return;
;Data---------------------------------------------------------------------
X0120:
	db	003H, 004H, 005H, 01BH
	db	005H, 004H, 003H
X0127:
	db	018H, 004H, 003H
X012A:
	db	006H, 001H, 000H, 001H
;Code---------------------------------------------------------------------
L012E:
        stra,r0 18E1h
        stra,r1 18E2h
	bsta,un	L0955
        loda,r1 18E1h
	subi,r1	017H
	rrl,r1
	rrl,r1
	lodi,r3	004H
L0140:
        coma,r0 0120h,r1-
	retc,eq
	bdrr,r3	L0140
	retc,un
;
L0147:
	lodz	r3
	retc,eq
	lodi,r3	000H
	comi,r0	004H
	bctr,eq	L0156
	iori,r0	010H
        stra,r0 1880h,r1
        eorz    r0
	retc,un
;
L0156:
        loda,r0 1880h,r1
	bsta,gt	L0777
	retc,un
;
L015D:
	eorz	r0
	lpsu
	lpsl
	ppsu	020H
	ppsl	002H
        strz    r1
L0165:
        stra,r0 17FFh,r1
        stra,r0 19FFh,r1
        stra,r0 CHARLINE,r1
	bdrr,r1	L0165
	lodi,r1	00AH
        zbsr    0003h
	addi,r0	001H
;
	db	0B4H
L0177:
	db	080H
;
	bctr,eq	00174H
	comi,r0	060H
	bctr,lt	L0180
	lodi,r1	008H
L0180:
        stra,r1 1A28h
	lodi,r1	00AH
L0185:
        loda,r0 0F53h,r1
        stra,r0 1822h,r1
	bdrr,r1	L0185
	lodi,r1	02CH
L018F:
        loda,r0 0F5Dh,r1
        stra,r0 1842h,r1
	bdrr,r1	L018F
	lodi,r0	084H
        stra,r0 1892h
        stra,r0 189Dh
	lodi,r2	003H
	bsta,un	L05FF
	lodi,r0	0E0H
        stra,r0 CRTCVPR
L01A9:
        loda,r0 1A2Eh
	bcfr,eq	L01BD
	lodi,r0	018H
	lodi,r1	0FFH
	bsta,un	L012E
	lodi,r1	002H
	bsta,un	L0147
        stra,r0 1A2Eh
L01BD:
        loda,r0 1A2Fh
	bcfr,eq	L01D1
	lodi,r0	019H
	lodi,r1	003H
	bsta,un	L012E
	lodi,r1	00DH
	bsta,un	L0147
        stra,r0 1A2Fh
L01D1:
        anda,r0 1A2Eh
	bctr,eq	L01A9
	lodi,r2	002H
L01D8:
        loda,r0 1A2Dh,r2
	andi,r0	00FH
	strz	r1
        loda,r0 0127h,r1
        stra,r0 1A2Fh,r2
        loda,r0 012Ah,r1
        stra,r0 1A31h,r2
	rrl,r1
	rrl,r1
	rrl,r1
        loda,r0 0A1Dh,r1-
        stra,r0 1A21h,r2
        stra,r0 1A25h,r2
        loda,r0 0A1Dh,r1-
        stra,r0 1A1Fh,r2
        stra,r0 1A23h,r2
	bdrr,r2	L01D8
	eorz	r0
	lodi,r1	0D0H
L0204:
        stra,r0 17FFh,r1
	bdrr,r1	L0204
	lodi,r1	020H
L020B:
        loda,r0 0E87h,r1
        stra,r0 17FFh,r1
	bdrr,r1	L020B
	lodi,r2	006H
	bsta,un	L05FF
	lodi,r2	008H
	bsta,un	L0685
	lodi,r0	003H
        stra,r0 18EBh
L0222:
	bsta,un	L05E1
	bsta,un	L060C
	brnr,r1	L0222
	lodi,r3	000H
	bsta,un	L0777
L022F:
	bsta,un	L05E1
	lodi,r2	001H
	bsta,un	L05B3
	bctr,eq	L022F
	eorz	r0
	lodi,r1	090H
L023C:
        stra,r0 186Fh,r1
	bdrr,r1	L023C
	lodi,r1	020H
L0243:
        stra,r0 19FFh,r1
	bdrr,r1	L0243
	lodi,r0	05BH
        stra,r0 18E9h
	lodi,r0	034H
        stra,r0 180Ch
	bsta,un	L06A7
	lodi,r0	010H
	bsta,un	L0678
	lodi,r2	003H
	bsta,un	L05FF
	lodi,r0	0E0H
        stra,r0 CRTCVPR
	lodi,r0	070H
        stra,r0 18DCh
	lodi,r0	080H
        stra,r0 1A19h
	lodi,r0	020H
        stra,r0 18D4h
        stra,r0 18D6h
        stra,r0 18D5h
	lodi,r0	008H
        stra,r0 18D7h
        stra,r0 18D8h
        stra,r0 18D9h
        stra,r0 18DAh
	lodi,r0	05FH
        stra,r0 18DBh
	lodi,r0	003H
        stra,r0 18EDh
L0291:
        zbsr    0003h
        loda,r0 BGCOLLIDE
L0296:
        stra,r0 1A18h
        loda,r0 18EDh
	bcta,eq	L02DA
	tmi,r0	001H
	bcfr,eq	L02B9
	lodi,r1	001H
        loda,r0 18D4h
	comi,r0	030H
	bctr,lt	L02B3
	lodi,r1	000H
	lodi,r0	0FEH
	bsta,un	L0770
L02B3:
        stra,r1 18D2h
	bcta,un	L0355
;
L02B9:
	tmi,r0	004H
	bcfa,eq	L0355
	lodi,r1	0FFH
        loda,r0 18D4h
	comi,r0	020H
	bctr,gt	L02CE
	lodi,r1	000H
	lodi,r0	0FBH
	bsta,un	L0770
L02CE:
        stra,r1 18D2h
        loda,r0 18EDh
	bcta,eq	L06E0
	bcta,un	L0355
;
L02DA:
        loda,r0 1A29h
	addi,r0	001H
	comi,r0	027H
	bsta,gt	L0A44
        stra,r0 1A29h
        loda,r0 18EAh
	addi,r0	001H
        coma,r0 1A28h
	bctr,lt	L02F2
	eorz	r0
L02F2:
        stra,r0 18EAh
	bsta,eq	L06A7
        loda,r0 18E9h
	bcfr,eq	L030A
	lodi,r3	015H
	bsta,un	L0777
	lodi,r0	00CH
        stra,r0 18EDh
	bcta,un	L0291
;
L030A:
	bsta,un	L078E
        loda,r0 18E5h
	bcfa,eq	L0355
        loda,r0 1A04h
	bctr,eq	L0321
	bsta,un	L0AB8
        zbsr    0018h
	eorz	r0
	bcta,un	L0367
;
L0321:
        loda,r0 1A05h
	bctr,eq	L0337
        loda,r0 1A0Ah
	bctr,eq	L0332
	subi,r0	001H
        stra,r0 1A0Ah
	lodi,r0	0FFH
L0332:
        stra,r0 18D2h
L0335:
	bctr,un	L0355
;
L0337:
        loda,r0 19FFh
	comi,r0	0B0H
	bcfr,gt	L0342
	lodi,r0	001H
	bctr,un	L034B
;
L0342:
	comi,r0	030H
	bcfr,lt	L034A
	lodi,r0	0FFH
	bctr,un	L034B
;
L034A:
	eorz	r0
L034B:
        stra,r0 18D2h
	eorz	r0
        stra,r0 18D0h
	bsta,un	L098E
L0355:
        zbsr    0018h
        loda,r1 18E5h
	bctr,eq	L036F
	subi,r1	001H
        stra,r1 18E5h
        adda,r1 1A14h
        loda,r0 09FFh,r1
L0367:
        adda,r0 18E3h
        loda,r0 0A1Dh,r0
	bctr,un	L038B
;
L036F:
	eorz	r0
        stra,r0 1845h
        stra,r0 18E7h
        loda,r0 18D9h
        loda,r1 18EAh
	tmi,r1	001H
	bctr,eq	L0388
	addi,r0	008H
	comi,r0	018H
	bcfr,gt	L0388
	lodi,r0	008H
L0388:
        stra,r0 18D9h
L038B:
        stra,r0 18D7h
	bsta,un	L0476
	bsta,un	L04D1
        zbsr    0018h
        zbsr    0003h
        loda,r0 18EDh
L039B:
	bcta,eq	L03D9
	tmi,r0	002H
	bcfr,eq	L03B8
	lodi,r1	0FFH
        loda,r0 1A19h
	comi,r0	070H
	bctr,gt	L03B2
	lodi,r1	000H
;
	db	004H
L03AE:
	db	0FDH
;
	bsta,un	L0770
L03B2:
        stra,r1 18D3h
	bcta,un	L0421
;
L03B8:
	tmi,r0	008H
	bcfa,eq	L0421
	lodi,r1	001H
        loda,r0 SPRITE1X
	comi,r0	080H
	bctr,lt	L03CD
	lodi,r1	000H
	lodi,r0	0F7H
	bsta,un	L0770
L03CD:
        stra,r1 18D3h
        loda,r0 18EDh
	bcta,eq	L06E0
	bcta,un	L0421
;
L03D9:
        loda,r0 18E6h
	bcfa,eq	L0421
        loda,r0 1A05h
	bctr,eq	L03ED
	bsta,un	L0ABE
        zbsr    0018h
	eorz	r0
	bcta,un	L0433
;
L03ED:
        loda,r0 1A04h
	bctr,eq	L0403
        loda,r0 1A0Bh
	bctr,eq	L03FE
	subi,r0	001H
        stra,r0 1A0Bh
	lodi,r0	001H
L03FE:
        stra,r0 18D3h
L0401:
	bctr,un	L0421
;
L0403:
        loda,r0 19FEh
	comi,r0	0B0H
	bcfr,gt	L040E
	lodi,r0	001H
	bctr,un	L0417
;
L040E:
	comi,r0	030H
	bcfr,lt	L0416
	lodi,r0	0FFH
	bctr,un	L0417
;
L0416:
	eorz	r0
L0417:
        stra,r0 18D3h
	eorz	r0
        stra,r0 18D1h
	bsta,un	L0994
L0421:
        zbsr    0018h
        loda,r1 18E6h
	bctr,eq	L043B
	subi,r1	001H
        stra,r1 18E6h
        adda,r1 1A15h
        loda,r0 09FFh,r1
L0433:
        adda,r0 18E4h
        loda,r0 0A1Dh,r0
	bctr,un	L0457
;
L043B:
	eorz	r0
        stra,r0 184Dh
        stra,r0 18E8h
        loda,r0 18DAh
        loda,r1 18EAh
	tmi,r1	001H
	bctr,eq	L0454
	addi,r0	008H
	comi,r0	018H
	bcfr,gt	L0454
	lodi,r0	008H
L0454:
        stra,r0 18DAh
L0457:
        stra,r0 18D8h
	bsta,un	L08E4
	bsta,un	L0496
        zbsr    0018h
	bsta,un	L050B
	bsta,un	L04C6
        zbsr    0018h
        loda,r0 1A0Ch
        adda,r0 1A0Dh
	bcfa,eq	L0B33
	bcta,un	L0291
;
L0476:
        loda,r1 18D7h
;
	db	006H
L047A:
	db	008H
;
L047B:
        loda,r0 0C08h,r1-
        stra,r0 199Fh,r2
;
	db	00DH
L0482:
	db	06CH
;
	subr,r0	*00453H

;this is really bsnr,r1
        bsnr,gt *L04AE          ;INFO: indirect jump

        loda,r0 0D48h,r1
	stra,r0	019AFH,r2
        loda,r0 0DE8h,r1
        stra,r0 19B7h,r2
	bdrr,r2	L047B
	retc,un
;
L0496:
        loda,r0 18D8h
	strz	r1
	strz	r3
	lodi,r2	008H
;
	db	00DH
	db	04CH
;
L049F:
	lodr,r0	*004DCH
        loda,r0 *00E7AH,r0-
	bira,r3	00D6CH
	subr,r0	*004E4H
        loda,r0 *00E7AH,r0-
	comi,r3	0FAH
;
L04AE:
	db	06EH
;
        zbsr    0018h
	lodi,r2	008H
;
	db	00FH
	db	04DH
L04B5:
	db	048H
;
L04B6:
        zbsr    000Ch
        stra,r0 1AEFh,r2
        loda,r0 0DE8h,r3
        zbsr    000Ch
        stra,r0 1AF7h,r2
;
	db	0FAH
L04C4:
	db	06EH
;
	retc,un
;
L04C6:
	lodi,r1	020H
        loda,r0 1ADFh,r1
;
	db	0CDH
L04CC:
	db	079H
;

;this is really bsna,r3
        bsna,un *07978H         ;INFO: indirect jump

	retc,un
;
L04D1:
        loda,r0 18D4h
        adda,r0 18D2h
	comi,r0	018H
	bctr,lt	L04E6
        loda,r1 SPRITE1X
	subi,r1	036H
	comz	r1
	bctr,gt	L04E6
        stra,r0 18D4h
L04E6:
        loda,r1 18D7h
	rrr,r1
	rrr,r1
	rrr,r1
        loda,r2 18D4h
        loda,r0 0BD7h,r1
	addz	r2
        stra,r0 18D5h
        loda,r0 0BE9h,r1
	addz	r2
        stra,r0 18D6h
        loda,r0 18DBh
        adda,r0 18D0h
        stra,r0 18DBh
	eorz	r0
        stra,r0 18D2h
	retc,un
;
L050B:
        loda,r0 1A19h
        stra,r0 SPRITE1X
        adda,r0 18D3h
	comi,r0	090H
	bctr,gt	L0526
        loda,r1 18D4h
	addi,r1	036H
	comz	r1
	bctr,lt	L0526
        stra,r0 SPRITE1X
        stra,r0 1A19h
L0526:
        loda,r0 18DCh
        adda,r0 18D1h
	comi,r0	0C0H
	bctr,gt	L0537
	comi,r0	030H
	bctr,lt	L0537
        stra,r0 18DCh
L0537:
        loda,r0 18DCh
        loda,r1 18D8h
	comi,r1	0A0H
	bcta,eq	L0593
	comi,r1	090H
	bctr,lt	L0552
	subi,r0	010H
        stra,r0 SPRITE3Y
	subi,r0	010H
        stra,r0 SPRITE2Y
	bctr,un	L055C
;
L0552:
        stra,r0 SPRITE3Y
	subi,r0	010H
        stra,r0 SPRITE2Y
	subi,r0	010H
L055C:
        stra,r0 SPRITE1Y
	rrr,r1
	rrr,r1
	rrr,r1
        loda,r0 SPRITE1X
	strz	r2
        suba,r0 0BD7h,r1
        stra,r0 SPRITE2X
	lodz	r2
        suba,r0 0BE9h,r1
        stra,r0 SPRITE3X
        loda,r0 SPRITE2Y
        loda,r2 SPRITE2X
        loda,r1 18D8h
	comi,r1	058H
	bctr,gt	L0586
        loda,r0 SPRITE3Y
        loda,r2 SPRITE3X
L0586:
        stra,r0 SPRITE0Y
	subi,r2	008H
        stra,r2 SPRITE0X
L058E:
	eorz	r0
        stra,r0 18D3h
	retc,un
;
L0593:
        loda,r0 SPRITE1Y
        stra,r0 SPRITE0Y
        stra,r0 SPRITE2Y
        stra,r0 SPRITE3Y
        loda,r0 SPRITE1X
	addi,r0	008H
        stra,r0 SPRITE0X
	addi,r0	008H
        stra,r0 SPRITE2X
	addi,r0	008H
        stra,r0 SPRITE3X
	bctr,un	L058E
;
L05B3:
        loda,r0 SPRITE0Y
	subz	r2
	comi,r0	078H
	retc,lt
	comi,r0	088H
	retc,gt
        stra,r0 SPRITE0Y
        stra,r0 SPRITE2Y
	subi,r0	010H
        stra,r0 SPRITE1Y
        stra,r0 SPRITE3Y
        loda,r0 SPRITE0X
	subz	r2
        stra,r0 SPRITE0X
        stra,r0 SPRITE1X
        loda,r0 SPRITE2X
	addz	r2
        stra,r0 SPRITE2X
        stra,r0 SPRITE3X
	eorz	r0
	retc,un
;
L05E1:
	lodi,r3	008H
L05E3:
        zbsr    0003h
	bdrr,r3	L05E3
;
L05E7:
	db	00FH
L05E8:
	db	018H
;
        coma,r0 00730H,r0+
        stra,r3 18ECh
	lodi,r1	010H
L05F1:
        loda,r0 0F34h,r3-
        stra,r0 198Fh,r1
        zbsr    000Ch
        stra,r0 197Fh,r1
	bdrr,r1	L05F1
	retc,un
;
L05FF:
        zbsr    0003h
	lodi,r1	003H
;
X0603:
        dw      0E4Bh
;
L0605:
        bdra,r0 *4D79h          ;INFO: indirect jump
        bdrr,r0 *0603h          ;INFO: indirect jump

;this is really bsnr,r0
        bsnr,eq L0623

L060C:
        loda,r1 18EBh
        loda,r0 P1LEFTKEYS
        iora,r0 P1MIDDLEKEYS
        iora,r0 P1RIGHTKEYS
	andi,r0	00FH
	bctr,eq	L061E
	andi,r1	0FEH
L061E:
        loda,r0 P2LEFTKEYS
;
	db	06CH
	db	019H
L0623:
	db	005H
;
        iora,r0 P2RIGHTKEYS
	andi,r0	00FH
	bctr,eq	L062D
	andi,r1	0FDH
L062D:
        stra,r1 18EBh
	retc,un
;
	db	007H, 00EH, 01BH, 002H
	db	007H, 006H
;
L0637:
        loda,r0 1820h,r3
	addi,r0	001H
	comi,r0	01AH
	bctr,lt	L064A
        loda,r0 181Fh,r3
	addi,r0	001H
        stra,r0 181Fh,r3
	lodi,r0	010H
L064A:
        stra,r0 1820h,r3
	retc,un
;
L064E:
	lodi,r1	00FH
	bctr,un	L0654
;
L0652:
	lodi,r1	007H
L0654:
	eorz	r0
	lodi,r2	002H
L0657:
	lodi,r3	000H
        adda,r0 1810h,r1-
        adda,r0 1820h,r1
	comi,r0	02AH
	bctr,lt	L0667
	lodi,r3	001H
	subi,r0	00AH
L0667:
	andi,r0	00FH
	iori,r0	010H
        stra,r0 1810h,r1
	lodz	r3
	bdrr,r2	L0657
        adda,r0 1810h,r1-
        stra,r0 1810h,r1
	retc,un
;
L0678:
        stra,r0 1825h
        stra,r0 1826h
        stra,r0 182Dh
        stra,r0 182Eh
	retc,un
;
L0685:
	lodi,r1	060H
L0687:
        loda,r0 0EABh,r1
        stra,r0 186Fh,r1
	bdrr,r1	L0687
	lodi,r0	0C0H
        stra,r0 CRTCVPR
	lodi,r0	010H
        stra,r0 18ECh
	bsta,un	L05E7
	lodi,r1	008H
L069E:
        loda,r0 0F0Ch,r2-
        stra,r0 18EFh,r1
	bdrr,r1	L069E
	retc,un
;
L06A7:
        loda,r0 1A28h
	tmi,r0	002H
	bctr,eq	L06B3
	eori,r0	001H
        stra,r0 1A28h
L06B3:
        loda,r0 18E9h
	subi,r0	001H
        stra,r0 18E9h
	strz	r1
	lodi,r2	010H
	comi,r0	03CH
	bctr,lt	L06C6
	lodi,r2	011H
	subi,r1	03CH
L06C6:
        stra,r2 180Bh
	lodi,r2	000H
L06CB:
	comi,r1	00AH
	bctr,lt	L06D5
	subi,r1	00AH
	addi,r2	001H
        bctr,un L06CB
;
L06D5:
	addi,r1	010H
        stra,r1 180Eh
	addi,r2	010H
        stra,r2 180Dh
	retc,un
;
L06E0:
	bsta,un	L064E
	bsta,un	L0652
	eorz	r0
        stra,r0 VOLUME
	bsta,un	L0678
        loda,r0 1808h
	addi,r0	001H
	comi,r0	011H
	bcta,eq	L0B33
	comi,r0	01AH
	bctr,lt	L0702
	lodi,r0	010H
	lodi,r1	011H
        stra,r1 1807h
L0702:
        stra,r0 1808h
	lodi,r2	00FH
	lodi,r1	002H
L0709:
        loda,r0 1A1Fh,r1
	addi,r0	00AH
	comi,r0	096H
	bcfr,gt	L0714
	lodi,r0	096H
L0714:
        stra,r0 1A1Fh,r1
        loda,r0 1A21h,r1
	addi,r0	00FH
	comi,r0	078H
	bcfr,gt	L0722
	lodi,r0	078H
L0722:
        stra,r0 1A21h,r1
	bdrr,r1	L0709
	lodi,r2	006H
	bsta,un	L05FF
	lodi,r2	010H
	bsta,un	L0685
	lodi,r1	008H
L0733:
        loda,r0 0F1Bh,r1
        stra,r0 199Fh,r1
        zbsr    000Ch
        stra,r0 19A7h,r1
	bdrr,r1	L0733
	lodi,r0	0BCH
        stra,r0 18A3h
	lodi,r0	0BDH
L0747:
        stra,r0 18ADh
L074A:
	bsta,un	L05E1
	lodi,r2	0FFH
	bsta,un	L05B3
	bctr,eq	L074A
	lodi,r1	010H
L0756:
        loda,r0 0F23h,r1
        stra,r0 198Fh,r1
        zbsr    000Ch
        stra,r0 197Fh,r1
	bdrr,r1	L0756
	lodi,r0	003H
        stra,r0 18EBh
;
	db	03FH
	db	006H
L076A:
	db	00CH
;
	brnr,r1	00768H
	bcta,un	0022AH
;
L0770:
	db	04CH
;
	bctr,eq	*00760H		;INFO: indirect jump
        stra,r0 18EDh
	retc,un
;
L0777:
	lodi,r1	01FH
        stra,r1 PITCH
	lodi,r1	00BH
        stra,r1 VOLUME
	lodi,r1	00AH
L0783:
        bsxa    L0003,r3
	bdrr,r1	L0783
	lodi,r1	000H
        stra,r1 VOLUME
	retc,un
;
L078E:
	lodi,r2	002H
L0790:
        loda,r0 1A18h
	tmi,r0	00FH
	bcta,eq	L0824
        loda,r0 18E6h,r2
	bcfa,eq	L082B
	lodz	r2
	eori,r0	003H
        loda,r0 18D6h,r0
	strz	r1
        loda,r0 18D6h,r2
	bsta,un	L0882
	comi,r3	000H
	bcta,eq	L0824
	comi,r0	038H
	bctr,gt	L07B9
	comi,r1	070H
	bcta,eq	L0824
L07B9:
        loda,r0 18E4h,r2
        coma,r0 1A31h,r2
	bctr,lt	L07C9
	rrl,r3
	rrl,r3
	lodz	r1
	bsta,un	L088B
	brnr,r1	L07DB
L07C9:
	lodi,r0	00EH
        stra,r0 18E6h,r2
        stra,r0 1A15h,r2
	lodz	r2
	eori,r0	003H
	strz	r1
	bsta,un	L0A11
	bcta,un	L0824
;
L07DB:
	bsta,un	L084A
        stra,r0 18E6h,r2
        stra,r0 1A15h,r2
	eori,r2	003H
	comi,r2	001H
	bctr,eq	L07EF
        loda,r0 08CBh,r3
	bctr,un	L07F3
;
L07EF:
	eorz	r0
        suba,r0 08CBh,r3
L07F3:
        stra,r0 18D1h,r2
        loda,r0 08B3h,r3
        stra,r0 18E2h,r2
	lodz	r2
	strz	r1
	bsta,un	L0A5D
	bsta,un	L0935
	lodi,r0	004H
        stra,r0 18E4h,r2
	lodi,r0	002H
        stra,r0 1A13h,r2
        loda,r0 0847h,r2
	strz	r3
        loda,r0 18E2h,r2
	comi,r0	022H
	bcfr,eq	L081F
	bsta,un	L0A6C
	bsta,un	L0637
L081F:
	bsta,un	L0637
	bctr,un	L0829
;
L0824:
	eori,r2	003H
	bsta,un	L086D
L0829:
	eori,r2	003H
L082B:
	bdra,r2	L0790
	lodi,r0	02DH
        loda,r1 1A16h
        iora,r1 1A17h
	retc,eq
	subz	r1
        stra,r0 PITCH
	lodi,r0	017H
        stra,r0 VOLUME
	eorz	r0
        stra,r0 1A16h
        stra,r0 1A17h
X0847:
	retc,un
;
	db	00EH, 006H
;
L084A:
	eori,r2	003H
	comi,r3	00DH
	bctr,lt	L0852
	subi,r3	00CH
L0852:
        loda,r0 1A1Fh,r2
	comi,r0	078H
	bctr,lt	L0866
        loda,r0 1A11h,r2
	addi,r0	001H
        stra,r0 1A11h,r2
        coma,r0 1A2Fh,r2
	bctr,lt	L0868
L0866:
	addi,r3	00CH
L0868:
	lodi,r0	01FH
	eori,r2	003H
	retc,un
;
L086D:
        loda,r0 1A2Bh,r2
	addi,r0	001H
        stra,r0 1A2Bh,r2
	tmi,r0	003H
	retc,lt
        loda,r0 1A11h,r2
	retc,eq
	subi,r0	001H
        stra,r0 1A11h,r2
	retc,un
;
L0882:
	lodi,r3	006H
L0884:
        coma,r0 0895h,r3
	retc,eq
	bdrr,r3	L0884
	retc,un
;
L088B:
	lodi,r1	004H
L088D:
        coma,r0 089Bh,r3
	retc,eq
	subi,r3	001H
	bdrr,r1	L088D
X0895:
	retc,un
;
	db	028H, 040H, 060H, 038H
	db	048H
X089B:
	db	068H, 018H, 020H, 078H
	db	068H, 040H, 068H, 030H
	db	078H, 048H, 030H, 038H
	db	008H, 018H, 030H, 058H
	db	060H, 048H, 060H, 020H
	db	058H, 008H, 028H, 040H
X08B3:
	db	020H, 01EH, 020H, 020H
	db	022H, 01EH, 01EH, 020H
	db	020H, 024H, 024H, 024H
	db	020H, 020H, 020H, 022H
	db	022H, 01EH, 020H, 020H
	db	022H, 024H, 024H, 020H
X08CB:
	db	022H, 002H, 004H
X08CE:
	db	004H, 006H, 002H, 002H
	db	004H, 004H, 002H, 002H
	db	002H, 004H, 004H, 004H
	db	006H, 006H, 002H, 004H
	db	004H, 006H, 002H, 002H
	db	004H, 006H
;
L08E4:
        loda,r0 1A11h
	bctr,eq	L08EF
	subi,r0	001H
        stra,r0 1A11h
	retc,un
;
L08EF:
        loda,r0 1A0Eh
	bctr,eq	L08FD
	lodi,r1	014H
        loda,r0 1A0Fh
	iori,r0	010H
	bctr,un	L090F
;
L08FD:
	lodi,r1	017H
	lodi,r0	011H
        loda,r2 1A2Bh
	addi,r2	001H
        stra,r2 1A2Bh
	andi,r2	00EH
	bcfr,eq	L090F
	lodi,r0	012H
L090F:
        stra,r1 PITCH        ;*(18FD) = r1;
        stra,r0 VOLUME        ;*(18FE) = r0;
        loda,r0 1A0Eh        ;r0 = *(1A0E);
        retc,eq              ;if (==) return;
        loda,r0 1A0Fh
        adda,r0 1A10h
	bctr,lt	L0930
        coma,r0 1A0Eh
	bctr,gt	L092A
        stra,r0 1A0Fh
	retc,un
;
L092A:
	lodi,r0	0FEH
        stra,r0 1A10h
	retc,un
;
L0930:
	eorz	r0
        stra,r0 1A0Eh
	retc,un
;
L0935:
	comi,r0	022H
	bctr,eq	L0945
	comi,r0	01EH
	bctr,eq	L0941
	lodi,r1	005H
	bctr,un	L0947
;
L0941:
	lodi,r1	003H
	bctr,un	L0947
;
L0945:
	lodi,r1	007H
L0947:
        stra,r1 1A0Eh
	lodi,r1	001H
        stra,r1 1A0Fh
	lodi,r1	002H
        stra,r1 1A10h
	retc,un
;
L0955:
	lodi,r2	003H
	lodi,r3	000H
L0959:
	lodi,r1	004H
        loda,r0 *18E1h,r2
L095E:
	addi,r3	001H
	rrr,r0
	bctr,lt	L0969
	bdrr,r1	L095E
	bdrr,r2	L0959
	eorz	r0
	retc,un
;
L0969:
        loda,r0 18E2h
	bctr,lt	L0972
        loda,r0 0981h,r3
	retc,un
;
L0972:
        loda,r0 0975h,r3
X0975:
	retc,un
;
	db	01BH, 013H, 00BH, 005H
	db	000H, 000H, 000H, 004H
	db	018H, 010H, 008H
X0981:
	db	003H, 018H, 010H, 008H
	db	003H, 000H, 000H, 000H
	db	004H, 01BH, 013H, 00BH
	db	005H
;
L098E:
	lodi,r0	018H
	lodi,r1	0FFH
	bctr,un	L0998
;
L0994:
	lodi,r0	019H
	lodi,r1	003H
L0998:
        stra,r0 18E1h
        stra,r1 18E2h
	bsta,un	L0955
        loda,r1 18E1h
	subi,r1	018H
        coma,r0 18E3h,r1
	retc,eq
        stra,r0 18E3h,r1
	comi,r0	000H
	retc,eq
	rrr,r0
	rrr,r0
	rrr,r0
	andi,r0	007H
	strz	r2
        loda,r0 1A2Eh,r1
	subi,r0	011H
	rrl,r0
	rrl,r0
	addz	r2
        loda,r0 09F3h,r0
        stra,r0 18E5h,r1
        loda,r0 0A06h,r0
        stra,r0 1A14h,r1
	lodz	r2
	retc,eq
	addi,r1	003H
	comi,r2	001H
	bctr,eq	L09DA
        loda,r0 SPRITECOLLIDE,r1 ;read paddle
        eori,r0 001H
        stra,r0 SPRITECOLLIDE,r1 ;read paddle
L09DA:
	bstr,eq	L0A11
        loda,r0 1A1Fh,r1
	comi,r0	046H
	retc,gt
        loda,r0 18E5h,r1
	addi,r0	002H
        stra,r0 18E5h,r1
        loda,r0 1A14h,r1
	subi,r0	001H
        stra,r0 1A14h,r1
	retc,un
;
X09F3:
	db	002H, 006H, 005H, 006H
	db	002H, 004H, 004H, 004H
	db	003H, 006H, 006H, 006H
X09FF:
	db	000H, 000H, 000H, 000H
	db	000H, 001H, 002H
X0A06:
	db	002H, 002H, 001H, 001H
	db	003H, 003H, 002H
;
L0A0D:
	lodi,r3	002H
	bctr,un	L0A13
;
L0A11:
	lodi,r3	001H
L0A13:
        loda,r0 1A1Fh,r1
L0A16:
	bctr,eq	L0A1C
	subi,r0	001H
	bdrr,r3	L0A16
L0A1C:
        stra,r0 1A1Fh,r1
	retc,un
;
	db	020H, 070H, 030H, 0C8H
	db	0C8H, 028H, 008H, 020H
	db	038H, 008H, 030H, 0A0H
	db	0F0H, 040H, 018H, 020H
	db	048H, 018H, 030H, 0F0H
	db	0A0H, 060H, 018H, 058H
	db	068H, 018H, 078H, 050H
	db	050H, 088H, 088H, 090H
	db	088H, 080H, 080H, 0A0H
;
L0A44:
	lodi,r1	004H
L0A46:
        loda,r0 1A1Fh,r1
	addi,r0	001H
        coma,r0 1A23h,r1
	bctr,gt	L0A53
        stra,r0 1A1Fh,r1
L0A53:
	bdrr,r1	L0A46
	eorz	r0
	retc,un
;
	db	005H, 001H, 01BH, 002H
	db	005H, 002H
;
L0A5D:
	lodi,r3	005H
	comi,r0	022H
	bcta,eq	L0A13
	comi,r0	01EH
	bsta,gt	L0A11
	bcta,un	L0A0D
;
L0A6C:
        loda,r0 1A29h
	comi,r0	024H
	bcfr,eq	L0A77
	lodi,r0	00BH
	bctr,un	L0A9E
;
L0A77:
	andi,r0	0F8H
	bcfr,eq	L0A84
        loda,r0 1A2Ah
	andi,r0	007H
	addi,r0	003H
	bctr,un	L0A9E
;
L0A84:
        loda,r0 1A1Fh,r2
	lodi,r1	004H
L0A89:
        coma,r0 0AAFh,r1
	bctr,lt	L0A91
	bdrr,r1	L0A89
	retc,un
;
L0A91:
        loda,r0 0AB3h,r1
	comi,r0	01AH
	bctr,eq	L0A9E
        loda,r1 1A2Ah
	andi,r1	003H
	addz	r1
L0A9E:
        stra,r0 1A07h,r2
	lodi,r0	001H
        stra,r0 1A03h,r2
	eori,r2	003H
	lodi,r0	018H
        stra,r0 1A09h,r2
	eori,r2	003H
X0AAF:
	retc,un
;
	db	0AFH, 096H, 064H
X0AB3:
	db	032H, 011H, 015H, 017H
	db	01AH
;
L0AB8:
	lodi,r1	000H
	lodi,r2	005H
	bctr,un	L0AC2
;
L0ABE:
	lodi,r1	001H
	lodi,r2	00DH
L0AC2:
        loda,r0 1A08h,r1
	comi,r0	00BH
	bcfr,eq	L0AD4
	lodi,r0	026H
        stra,r0 18E3h,r1
	lodi,r0	010H
        stra,r0 1A0Ch,r1
	retc,un
;
L0AD4:
        loda,r0 1840h,r2
	bcfr,eq	L0ADE
	lodi,r0	011H
        stra,r0 1840h,r2
L0ADE:
        loda,r0 1A06h,r1
	addi,r0	001H
        stra,r0 1A06h,r1
        coma,r0 1A28h
	retc,lt
	eorz	r0
        stra,r0 1A06h,r1
        loda,r0 1840h,r2
	addi,r0	001H
	comi,r0	01AH
	bctr,lt	L0B05
	lodi,r0	010H
        stra,r0 1840h,r2
        stra,r0 1A0Ch,r1
	lodi,r0	011H
        stra,r0 183Fh,r2
	retc,un
;
L0B05:
        stra,r0 1840h,r2
        coma,r0 1A08h,r1
	retc,lt
	lodi,r0	020H
        stra,r0 18E3h,r1
	lodi,r0	001H
        stra,r0 18E5h,r1
	eorz	r0
        stra,r0 1A14h,r1
        stra,r0 1A04h,r1
	eori,r1	001H
        iora,r0 1A04h,r1
	retc,gt
	lodi,r0	01FH
        stra,r0 PITCH
	lodi,r0	00BH
        stra,r0 VOLUME
	lodi,r0	001H
        stra,r0 1A11h
	retc,un
;
L0B33:
	comi,r0	020H
	bctr,eq	L0B50
	comi,r0	010H
	bcfr,eq	L0B42
        loda,r0 1A0Ch
	bctr,eq	L0B5C
	bctr,un	L0B58
;
L0B42:
	lodi,r1	000H
L0B44:
        loda,r0 1813h,r1+
        coma,r0 181Bh,r1
	bcfr,eq	L0B56
	comi,r1	003H
	bctr,lt	L0B44
L0B50:
	lodi,r1	00CH
	lodi,r2	006H
	bctr,un	L0B60
;
L0B56:
	bctr,gt	L0B5C
L0B58:
	lodi,r1	00FH
	bctr,un	L0B5E
;
L0B5C:
	lodi,r1	007H
L0B5E:
	lodi,r2	00CH
L0B60:
	lodi,r3	006H
L0B62:
        loda,r0 0BCCh,r2-
        stra,r0 1840h,r1-
	bdrr,r3	L0B62
	comi,r2	000H
	bctr,eq	L0BA5
	comi,r1	003H
	bctr,gt	L0B7C
	lodi,r0	098H
        stra,r0 18D7h
	bsta,un	L0476
	bctr,un	L0B8C
;
L0B7C:
	lodi,r0	098H
        stra,r0 18D8h
	bsta,un	L0496
        zbsr    0018h
	bsta,un	L0BAD
	bsta,un	L04C6
L0B8C:
        zbsr    0018h
	lodi,r3	003H
L0B90:
	lodi,r0	024H
	bsta,un	L0935
L0B95:
	bsta,un	L08E4
	lodi,r1	005H
L0B9A:
        zbsr    0018h
	bdrr,r1	L0B9A
L0B9E:
        loda,r0 1A0Eh
	bcfr,eq	L0B95
	bdrr,r3	L0B90
L0BA5:
	eorz	r0
L0BA6:
        stra,r0 VOLUME
L0BA9:
        zbsr    0018h
;
X0BAB:
        dw      1B7Ch
;
L0BAD:
        loda,r0 SPRITE1X
        stra,r0 SPRITE0X
;
	db	0CCH
;
L0BB4:
        bctr,eq *0BABh          ;INFO: indirect jump
        stra,r0 SPRITE3X
        loda,r0 SPRITE1Y
	addi,r0	010H
        stra,r0 SPRITE2Y
	addi,r0	010H
L0BC3:
        stra,r0 SPRITE3Y
	addi,r0	010H
        stra,r0 SPRITE0Y
	retc,un
;
X0BCC:
	db	01DH, 02BH, 01AH, 030H
	db	000H, 000H, 030H, 022H
	db	027H, 027H, 01EH
X0BD7:
	db	02BH, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 0FEH, 0FFH
	db	000H, 000H, 000H, 0F8H
	db	000H, 0F7H
X0BE9:
	db	0F0H, 000H, 000H, 000H
	db	0FCH, 000H, 0FCH, 000H
	db	000H, 000H, 0FCH, 0FBH
	db	000H, 000H, 000H, 000H
	db	003H, 0F7H, 0F0H, 047H
	db	009H, 009H, 0C7H, 02DH
;$C01:
	db	036H, 008H, 060H
;$C04:
        db      008H, 000H, 090H, 058H
X0C08:
        db      000H ;........
        db      000H ;........
        db      000H ;........
        db      000H ;........
        db      040H ;.#......
        db      0E0H ;###.....
        db      0E0H ;###.....
        db      0E0H ;###.....

        db      000H, 000H, 080H, 040H
	db	0C0H, 0E0H, 0E0H, 0E0H
	db	000H, 000H, 000H, 000H
	db	080H, 040H, 0C0H, 000H
	db	000H, 000H, 000H, 000H
	db	010H, 0B8H, 0F8H, 0F8H
	db	007H, 005H, 01FH, 0F8H
	db	0A0H, 070H, 0F0H, 0F0H
	db	000H, 000H, 000H, 060H
	db	050H, 0F0H, 0C0H, 080H
	db	002H, 007H, 08FH, 0BFH
	db	0F0H, 0E0H, 080H, 000H
	db	000H, 000H, 000H, 007H
	db	005H, 0FFH, 0F0H, 000H
	db	000H, 000H, 000H, 087H
	db	087H, 0FFH, 0E0H, 080H
	db	000H, 000H, 000H, 0C0H
	db	0A0H, 0E0H, 000H, 0C0H
	db	0C0H, 0C0H, 0C0H, 080H
	db	0C8H, 0DCH, 0FCH, 0E0H
	db	080H, 0C0H, 076H, 01DH
	db	00FH, 000H, 000H, 000H
	db	000H, 000H, 083H, 0FFH
	db	033H, 000H, 000H, 000H
	db	0C0H, 0A0H, 0E0H, 080H
	db	080H, 000H, 000H, 000H
	db	0F8H, 0F8H, 0F8H, 0F8H
	db	0F0H, 0F8H, 0F8H, 07CH
	db	040H, 0E0H, 0E0H, 000H
	db	000H, 000H, 000H, 000H
	db	0E0H, 0E0H, 000H, 080H
	db	0E0H, 0F8H, 0FCH, 0FCH
	db	000H, 001H, 087H, 0CFH
	db	0FFH, 0FEH, 0F8H, 0F0H
	db	000H, 000H, 000H, 000H
	db	070H, 070H, 030H, 030H
	db	000H, 000H, 001H, 09FH
	db	0FFH, 0FFH, 0FFH, 01EH
X0CA8:
        db      03FH ;..######
        db      03EH ;..#####.
        db      03CH ;..####..
        db      07CH ;.#####..
        db      06CH ;.##.##..
        db      06FH ;.##.####
        db      0E4H ;###..#..
        db      070H ;.###....

        db      03EH ;..#####.
        db      037H ;..##.###
        db      036H ;..##.##.
        db      07EH ;.######.
        db      06CH ;.##.##..
        db      06CH ;.##.##..
        db      0ECH ;###.##..
        db      077H ;.###.###

        db      03EH ;..#####.
        db      01FH ;...#####
        db      01EH ;...####.
        db      036H ;..##.##.
        db      06CH ;.##.##..
        db      0CCH ;##..##..
        db      06CH ;.##.##..
        db      007H ;.....###

        db      07EH ;.######.
        db      03FH ;..######
        db      03EH ;..#####.
        db      06CH ;.##.##..
        db      06CH ;.##.##..
        db      0C7H ;##...###
        db      0C4H ;##...#..
        db      060H ;.##.....

        db      03FH ;..######
        db      03EH ;..#####.
        db      03CH ;..####..
        db      07CH ;.#####..
        db      06CH ;.##.##..
        db      06FH ;.##.####
        db      0E4H ;###..#..
        db      070H ;.###....

        db      06CH ;.##.##..
        db      02FH ;..#.####
        db      03EH ;..#####.
        db      07CH ;.#####..
        db      06CH ;.##.##..
        db      06CH ;.##.##..
        db      0C7H ;##...###
        db      064H ;.##..#..

        db      03FH ;..######
        db      03EH ;..#####.
        db      03CH ;..####..
        db      07CH ;.#####..
        db      06CH ;.##.##..
        db      06FH ;.##.####
        db      0E4H ;###..#..
        db      070H ;.###....

        db      03CH ;..####..
        db      01FH ;...#####
        db      01EH ;...####.
        db      036H ;..##.##.
        db      06CH ;.##.##..
        db      0CCH ;##..##..
        db      06CH ;.##.##..
        db      007H ;.....###

        db      03CH ;..####..
        db      01FH ;...#####
        db      01EH ;...####.
        db      036H ;..##.##.
        db      06CH ;.##.##..
        db      0CCH ;##..##..
        db      06CH ;.##.##..
        db      007H ;.....###

        db      0F8H ;#####...
        db      07EH ;.######.
        db      03CH ;..####..
        db      03CH ;..####..
        db      06CH ;.##.##..
        db      06FH ;.##.####
        db      0E4H ;###..#..
        db      070H ;.###....

        db      07CH ;.#####..
        db      03EH ;..#####.
        db      03CH ;..####..
        db      07CH ;.#####..
        db      06CH ;.##.##..
        db      06FH ;.##.####
        db      0E4H ;###..#..
        db      070H ;.###....

        db      07EH ;.######.
        db      03FH ;..######
        db      01EH ;...####.
        db      036H ;..##.##.
        db      06CH ;.##.##..
        db      0CCH ;##..##..
        db      06CH ;.##.##..
        db      007H ;.....###

        db      07EH ;.######.
        db      03FH ;..######
        db      01EH ;...####.
        db      036H ;..##.##.
        db      06CH ;.##.##..
        db      0CCH ;##..##..
        db      06CH ;.##.##..
        db      007H ;.....###

        db      078H ;.####...
        db      03CH ;..####..
        db      01EH ;...####.
        db      01FH ;...#####
        db      03EH ;..#####.
        db      06CH ;.##.##..
        db      0C4H ;##...#..
        db      067H ;.##..###

        db      03EH ;..#####.
        db      037H ;..##.###
        db      036H ;..##.##.
        db      07EH ;.######.
        db      06CH ;.##.##..
        db      06CH ;.##.##..
        db      0ECH ;###.##..
        db      077H ;.###.###

        db      07CH ;##..##..
        db      03FH ;..######
        db      03EH ;..#####.
        db      07CH ;.#####..
        db      07CH ;.#####..
        db      06FH ;.##.####
        db      0E4H ;###..#..
        db      070H ;.###....

        db      07CH ;.#####..
        db      06EH ;.##.###.
        db      02CH ;..#.##..
        db      03CH ;..####..
        db      07CH ;.#####..
        db      06FH ;.##.####
        db      0E4H ;###..#..
        db      070H ;.###....

        db      000H ;........
        db      0A0H ;#.#.....
        db      0F0H ;####....
        db      0F8H ;#####...
        db      075H ;.###.#.#
        db      03EH ;..#####.
        db      01FH ;...#####
        db      004H ;.....#..

        db      03EH ;..#####.
        db      03EH ;..#####.
        db      03EH ;..#####.
        db      07EH ;.######.
        db      06CH ;.##.##..
        db      06CH ;.##.##..
        db      0ECH ;###.##..
        db      077H ;.###.###

        db      000H ;........
        db      0C0H ;##......
        db      0E0H ;###.....
        db      0B0H ;#.##....
        db      019H ;...##..#
        db      0FFH ;########
        db      0FFH ;########
        db      002H ;......#.
X0D48:
        db      0FFH ;########
        db      0FCH ;######..
        db      0F8H ;#####...
        db      070H ;.###....
        db      058H ;.#.##...
        db      0D8H ;##.##...
        db      0ECH ;###.##..
        db      07EH ;.######.

        db      0FFH ;########
        db      0FCH ;######..
        db      0FCH ;######..
        db      078H ;.####...
        db      050H ;.#.#....
        db      0D8H ;##.##...
        db      0E8H ;###.#...
        db      07CH ;.#####..

        db      0FBH ;#####.##
        db      0FFH ;########
        db      0FFH ;########
        db      07CH ;.#####..
        db      058H ;.#.##...
        db      0D0H ;##.#....
        db      0D8H ;##.##...
        db      07CH ;.#####..

        db      0FEH ;#######.
        db      0F8H ;#####...
        db      0F8H ;#####...
        db      0F8H ;#####...
        db      058H ;.#.##...
        db      058H ;.#.#....
        db      0ECH ;###.##..
        db      0ECH ;###.##..

	db	0FFH, 0FCH, 0F8H, 070H
	db	058H, 0D8H, 0ECH, 07EH
	db	0F8H, 0F8H, 0F8H, 0F8H
	db	078H, 070H, 0F8H, 0FCH
	db	0FCH, 0FCH, 0F8H, 070H
	db	058H, 0D8H, 0ECH, 07EH
	db	0FAH, 0FFH, 0FFH, 07CH
	db	058H, 0D8H, 0D0H, 078H
	db	0FCH, 0F8H, 0F8H, 078H
	db	058H, 0D0H, 0F8H, 07CH
	db	0FFH, 07FH, 07CH, 07CH
	db	03CH, 038H, 07CH, 07CH
	db	07CH, 07CH, 07CH, 07CH
	db	03CH, 038H, 06CH, 076H
	db	0FFH, 0F9H, 0FAH, 0FFH
	db	07FH, 07CH, 0E8H, 0ECH
	db	0FCH, 0FEH, 0FBH, 0F9H
	db	078H, 070H, 0D8H, 0FCH
	db	07CH, 0FFH, 0FFH, 0FFH
	db	0FFH, 07BH, 058H, 0D0H
	db	001H, 003H, 007H, 002H
	db	003H, 001H, 000H, 000H
	db	01FH, 03FH, 07FH, 0FFH
	db	07CH, 078H, 0F0H, 0F8H
	db	07EH, 07FH, 07FH, 03FH
	db	01FH, 00FH, 007H, 001H
	db	07EH, 07FH, 07FH, 06FH
	db	067H, 063H, 061H, 070H
	db	0F8H, 0F8H, 070H, 070H
	db	0F8H, 0D8H, 0ECH, 07CH
	db	000H, 000H, 038H, 07FH
	db	0FFH, 0FFH, 07FH, 03FH
X0DE8:
	db	038H, 038H, 03FH, 075H
	db	0FFH, 0FCH, 0F9H, 0FFH
	db	01CH, 01CH, 01DH, 03BH
	db	07FH, 07EH, 0FDH, 0FFH
	db	000H, 01CH, 01CH, 01CH
	db	039H, 07FH, 0FFH, 0F9H
	db	0E7H, 0A7H, 0E7H, 066H
	db	07FH, 07FH, 03FH, 01FH
	db	007H, 007H, 007H, 00FH
	db	01FH, 01EH, 03EH, 03FH
	db	0E7H, 0E7H, 0E7H, 066H
	db	07FH, 07FH, 03FH, 01FH
	db	01CH, 01CH, 01FH, 03AH
	db	07FH, 0FFH, 0FFH, 0FEH
	db	01CH, 01CH, 01CH, 038H
	db	07EH, 07FH, 0FCH, 0F8H
	db	01CH, 01CH, 01CH, 03BH
	db	07EH, 0FFH, 0FFH, 0FFH
	db	008H, 01CH, 03EH, 01CH
	db	00DH, 01FH, 03FH, 03EH
	db	001H, 001H, 001H, 003H
	db	01FH, 03FH, 037H, 01FH
	db	000H, 000H, 01CH, 01CH
	db	01CH, 038H, 07CH, 0FFH
	db	000H, 01CH, 01CH
;
L0E4B:
;not code?
        bcta,eq 3B7Eh
        bdra,r3 *7800h          ;INFO: indirect jump
;
	db	000H, 000H, 000H, 000H
	db	007H, 007H, 007H, 000H
	db	01CH, 01CH, 01CH, 03BH
	db	07EH, 0FFH, 0F8H, 000H
	db	000H, 038H, 038H, 038H
	db	073H, 07AH, 0FFH, 000H
	db	000H, 000H, 020H, 073H
	db	0FBH, 071H, 03BH, 000H
	db	000H, 038H, 038H, 038H
	db	030H, 07CH, 07CH, 038H
	db	038H, 038H, 070H, 0F8H
	db	0FCH, 0FCH, 0FCH, 000H
	db	000H, 000H, 003H, 007H
	db	00FH, 007H
X0E87:
	db	002H, 000H, 0ABH, 0A8H
	db	0AEH, 0A7H, 09DH, 000H
	db	000H, 011H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 0ACH, 09CH
	db	000H, 010H, 010H, 010H
	db	000H, 000H, 0ACH, 09CH
	db	000H, 010H, 010H, 010H
	db	000H, 011H, 034H, 013H
X0EAB:
	db	010H, 000H, 000H, 000H
	db	041H, 049H, 044H, 044H
	db	044H, 044H, 044H, 044H
	db	044H, 048H, 042H, 000H
	db	000H, 000H, 000H, 041H
	db	041H, 049H, 044H, 044H
	db	044H, 044H, 044H, 044H
	db	044H, 048H, 042H, 042H
	db	000H, 000H, 041H, 041H
	db	041H, 049H, 044H, 044H
	db	044H, 044H, 044H, 044H
	db	044H, 048H, 042H, 042H
	db	042H, 041H, 041H, 041H
	db	00CH, 003H, 003H, 003H
	db	003H, 003H, 003H, 003H
	db	003H, 003H, 00DH, 042H
	db	042H, 041H, 041H, 00CH
	db	003H, 003H, 003H, 003H
	db	003H, 003H, 003H, 003H
	db	003H, 003H, 003H, 00DH
	db	042H, 041H, 00CH, 003H
	db	003H, 003H, 003H, 003H
	db	003H, 003H, 003H, 003H
	db	003H, 003H, 003H, 003H
	db	00DH
X0F0C:
	db	084H, 08AH, 074H, 08AH
	db	084H, 04CH, 074H, 04CH
	db	078H, 07EH, 068H, 07EH
	db	078H, 058H, 068H
X0F1B:
	db	058H, 00FH, 01FH, 03FH
	db	03FH, 07FH, 07FH, 0FFH
X0F23:
	db	0FFH, 000H, 000H, 000H
	db	030H, 030H, 06CH, 0FCH
	db	0F0H, 0F8H, 0F8H, 0F0H
	db	03CH, 01EH, 01AH, 00AH
	db	01FH
X0F34:
	db	030H, 030H, 066H, 0FEH
	db	0F8H, 0FCH, 0FCH, 0F8H
	db	070H, 0F0H, 0D8H, 07CH
	db	03CH, 068H, 0C8H, 06CH
	db	030H, 03CH, 06CH, 0F8H
	db	0F6H, 0EEH, 0F8H, 0F8H
	db	070H, 0F8H, 0FCH, 07CH
	db	068H, 048H, 0CCH
X0F53:
	db	060H, 0DCH, 0E1H, 0E8H
	db	0E8H, 0ECH, 0DEH, 000H
	db	0E6H, 0DEH
X0F5D:
	db	0E7H, 011H, 074H, 000H
	db	05BH, 05AH, 065H, 05AH
	db	067H, 05CH, 05EH, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 012H, 074H, 000H
	db	068H, 05FH, 05FH, 05EH
	db	067H, 06CH, 062H, 06FH
	db	05EH, 000H, 000H, 000H
	db	000H, 013H, 074H, 000H
	db	05DH, 05EH, 05FH, 05EH
	db	067H, 06CH, 062H, 06FH
	db	05EH, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	060H, 049H, 04EH, 04FH
	db	031H, 020H, 020H, 001H
	db	020H, 000H, 060H, 049H
	db	04EH, 04FH, 032H, 020H
	db	020H, 001H, 024H, 000H
	db	060H, 049H, 04EH, 04FH
	db	033H, 020H, 020H, 001H
	db	028H, 000H, 060H, 049H
	db	04EH, 04FH, 034H, 020H
	db	020H, 001H, 02BH, 000H
	db	060H, 049H, 04EH, 054H
	db	049H, 04EH, 048H, 000H
	db	020H, 000H, 060H, 04AH
	db	020H, 020H, 020H, 020H
	db	020H, 000H, 042H, 000H
	db	060H, 04BH, 045H, 059H
	db	031H, 020H, 020H, 018H
	db	0E3H, 000H, 060H, 04BH
	db	045H, 059H, 032H, 020H
	db	020H, 018H, 0E4H, 000H
        db      060H
        db      04BH, 045H, 059H, 041H, 044H, 052H, 018H, 0E1H, 000H, 060H
        db      04BH, 045H, 059H, 04CH, 030H, 020H, 019H, 000H, 000H, 060H
        db      04BH, 045H, 059H, 04CH, 031H, 020H, 019H, 001H, 000H, 060H
        end

$18DD..$18E0 is the screen offset of each body part, for the cyan boxer

                       $19A0..$19AF    $1980..$1987
                          UDC #4        sprite #0
                         cyan arms     yellow arms
   $19B8..$19BF ........ ........        ........ ..###... $1998..$199F
         UDC #7 ...###.. ........        ........ ..###... sprite #3
      cyan head ...###.. ........        .......# #.###... yellow head
                ...###.. ........        ......#. ##.###..
                ..###..# #.......        ......## #######.
                .####### .#......        .....### .######.
                ######## ##......        .....### #.######
                #####..# ........        .....### ########

   $19B0..$19B7 #####.##                          ######## $1990..$1997
         UDC #6 ########                          ..###### sprite #2
      cyan body ########                          ..###### yellow body
                .#####..                          ...####.
                .#.##...                          ....#.#.
                ##.#....                          ...##.##
                ##.##...                          ...#.###
                .#####..                          ..#####.

   $19A8..$19AF ..#####.                          .#####.. $1988..$198F
         UDC #5 ...#####                          ###.##.. sprite #1
      cyan legs ...####.                          .##.##.. yellow legs
                ..##.##.                          .######.
                .##.##..                          ..##.##.
                ##..##..                          ..##.##.
                .##.##..                          ..##.###
                .....###                          ###.###.

PSU: SP:  Stack Pointer     bits 0..2
     II:  Interrupt Inhibit bit  5
     F:   Flag              bit  6
     S:   Sense             bit  7
PSL: C:   Carry             bit  0
     COM: Compare           bit  1
     OVF: Overflow          bit  2
     WC:  With Carry        bit  3
     RS:  Register Select   bit  4
     IDC: Inter Digit Carry bit  5
     CC:  Condition Code    bits 6..7
