;
;	Disassembled by:
;		DASMx object code disassembler
;		(c) Copyright 1996-1999   Conquest Consultants
;		Version 1.30 (Oct  6 1999)
;
;	File:		breakawa.bin
;	Size:		4096 bytes
;	Date:		Sat Mar 08 15:16:32 2003
;	CPU:		Signetics 2650 (2650 family)
;
;$VER: 1.0 (8.3.2003)
;Disassembled by Paul Robson in July 1998,
;and by Amigan Software in March 2003.
;URL:   http://users.bigpond.com/james.jacobs/
;EMail: james.jacobs@bigpond.com
;
;2650 Equates-------------------------------------------------------------
z              equ 0
eq             equ z
p              equ 1
gt             equ p
n              equ 2
lt             equ n
un             equ 3
;Variable Equates---------------------------------------------------------
TIMEOUT        equ 18D3h
NEWX           equ 18D7h
NEWY           equ 18D8h
OLDBATX        equ 18D9h
TIMEENDCTR     equ 18DAh
FIRE_1         equ 18E0h
FIRE_2         equ 18E1h
VGAME_COLLSIDE equ 18E9h
DIRECTION      equ 18ECh
BALLY_OLD      equ 18EDh
BALLX_OLD      equ 18EEh
GAME_IN_PLAY   equ 18EFh
BALLY          equ 18F2h
BALLX          equ 18F3h
BATY           equ 18F4h
BATX           equ 18F5h
BATY2          equ 18F6h
BATX2          equ 18F7h
CLOCK_L        equ 18F8h
CLOCK_H        equ 18F9h
DOT_X          equ 1AD0h
DOT_Y          equ 1AE0h
COLLISION1     equ 1AF4h
COLLISION2     equ 1AF5h
PADDLE2        equ 1AF6h
PADDLE1        equ 1AF7h
HI0            equ 1AF8h ;high score
HI1            equ 1AF9h
HI2            equ 1AFAh
HI3            equ 1AFBh
GAMENUMBER     equ 1AFCh
BATSIZE        equ 1AFDh
;-------------------------------------------------------------------------
        org     0000H
;
	eorz	r0
	bctr,un	L0004
;
	db	017H
;
L0004:
	lpsu
	lpsl
	ppsu	020H
	ppsl	002H
	strz	r1
        stra,r0 GAME_IN_PLAY
	stra,r1	18FCH
L0011:
	tpsu	080H
	bcfr,eq	L0011
L0015:
	tpsu	080H
	bctr,eq	L0015
L0019:
	stra,r0	17FFH,r1
	stra,r0	19FFH,r1
	stra,r0	18FFH,r1
	bdrr,r1	L0019
        bsta,un INITIALISE
	lodi,r0	050H
        stra,r0 HI0
        stra,r0 HI1
        stra,r0 HI2
        stra,r0 HI3
	eorz	r0
        stra,r0 GAMENUMBER
        stra,r0 BATSIZE
	stra,r0	18FDH
MAINLOOP:
        bsta,un BUILDDISPLAY
	loda,r0	1908H
	lodi,r1	001H
	andi,r0	001H
	bctr,eq	L0083
        bsta,un INITIALISE
	lodi,r0	001H
        stra,r0 GAME_IN_PLAY
	lodi,r0	0C3H
        stra,r0 TIMEOUT
	lodi,r1	006H
        loda,r2 GAMENUMBER
	comi,r2	004H
	bctr,lt	L0068
L0061:
	stra,r0	1814H,r1
	bdrr,r1	L0061
	bctr,un	L006D
;
L0068:
	stra,r0	1824H,r1
	bdrr,r1	L0068
L006D:
	tpsu	080H
	bcfr,eq	L006D
	lodi,r0	0FFH
        stra,r0 COLLISION1
        stra,r0 COLLISION2
	lodi,r0	006H
	stra,r0	18EBH
        bsta,un WHEE_NOISE
	bctr,un	L0083
;
L0083:
	loda,r0	1908H
	andi,r0	002H
	bcfr,eq	L00A4
	lodr,r0	*0084H
	andi,r0	004H
	bcfr,eq	L0099
        loda,r0 GAME_IN_PLAY
        bcta,eq MOVE_BAT
        bcta,un CHECKUPDATE
;
L0099:
        loda,r0 BATSIZE
	addi,r0	001H
	andi,r0	003H
	strr,r0	*009AH
	bctr,un	L00BE
;
L00A4:
	eorz	r0
	strr,r0	*0091H
        loda,r0 GAMENUMBER
	addi,r0	001H
	comi,r0	010H
	bcfr,eq	L00B1
	eorz	r0
L00B1:
        stra,r0 GAMENUMBER
	eorz	r0
	lodi,r1	004H
L00B7:
	stra,r0	1815H,r1
	bdrr,r1	L00B7
	strr,r0	*009AH
L00BE:
        bsta,un INITIALISE
        loda,r0 GAMENUMBER
	comi,r0	004H
	bctr,lt	L00E4
	comi,r0	008H
	bctr,gt	L00D7
	lodi,r1	000H
	stra,r1	1819H
	addr,r0	*00DEH
	strr,r0	*00DEH
	bctr,un	L00E9
;
L00D7:
	lodi,r1	091H
	subi,r0	009H
	addi,r0	090H
	stra,r0	181AH
	strr,r1	*00CFH
	bctr,un	L00E9
;
L00E4:
	adda,r0	182AH
	strr,r0	*00E5H
L00E9:
        bsta,un WHEE_NOISE
        bcta,un MAINLOOP
;
CHECKUPDATE:
        loda,r0 TIMEENDCTR
	bcfr,eq	L0109
        loda,r0 NEWX
	stra,r0	18FDH
        loda,r0 NEWY
	stra,r0	18FEH
	eorz	r0
        stra,r0 NEWY
        stra,r0 NEWX
        bctr,un COUNTDOWN
;
L0109:
	addi,r0	0FFH
        stra,r0 TIMEENDCTR
COUNTDOWN:
        loda,r0 TIMEOUT
	bcta,eq	L0176
	addi,r0	0FFH
        stra,r0 TIMEOUT
	bcfr,eq	L0158
        loda,r0 GAMENUMBER
	comi,r0	004H
	bcfa,lt	L0140
        loda,r0 CLOCK_L
	andi,r0	007H
	addi,r0	004H
	iori,r0	001H
	stra,r0	18EBH
	lodi,r0	000H
        stra,r0 DIRECTION
	lodi,r0	070H
        stra,r0 BALLY
	lodi,r0	068H
        stra,r0 BALLX
	bctr,un	L0158
;
L0140:
        loda,r0 CLOCK_L
	andi,r0	00FH
	iori,r0	001H
	stra,r0	18EBH
	eorz	r0
        stra,r0 DIRECTION
	lodi,r0	080H
        stra,r0 BALLY
	lodi,r0	066H
        stra,r0 BALLX
L0158:
	rrr,r0
	andi,r0	07FH
	stra,r0	18FDH
	lodi,r0	00FH
	stra,r0	18FEH
	lodi,r0	00FH
        stra,r0 TIMEENDCTR
        bcta,un MOVE_BAT
;
L016B:
	lodi,r1	000H
	bctr,un	L0171
;
L016F:
	lodi,r1	001H
L0171:
	stra,r1	1AF3H
	bctr,un	L0196
;
L0176:
        loda,r0 GAMENUMBER
	comi,r0	004H
	bcfa,lt	L0714
        loda,r0 BALLX
	comi,r0	030H
	bcta,lt	L032E
	comi,r0	09EH
	bcta,gt	L032E
L018B:
        loda,r0 BALLY
	comi,r0	0C8H
	bctr,gt	L016F
	comi,r0	060H
	bctr,lt	L016B
L0196:
	comi,r0	0CEH
        bcta,gt L033F
	comi,r0	024H
	bcta,lt	L0352
L01A0:
        loda,r0 COLLISION1
	andi,r0	002H
	bcfa,eq	L0265
	loda,r0	1AF3H
	bcfr,eq	L01B9
	loda,r0	18EBH
	comi,r0	004H
	bctr,lt	L01B9
	comi,r0	00CH
	bcta,lt	L0265
L01B9:
        loda,r0 BALLY
	comi,r0	070H
	bcta,lt	L0265
        bsta,un COLLIDE
	bcta,eq	L0265
	strz	r2
	strz	r1
	loda,r0	1800H,r1
	subi,r1	060H
	andi,r1	0F0H
	rrr,r1
	rrr,r1
	rrr,r1
	rrr,r1
	loda,r0	0227H,r1
	strz	r3
        adda,r0 18D0h
        stra,r0 18D0h
	loda,r0	0229H,r1
        stra,r0 DIRECTION
        loda,r0 GAMENUMBER
	andi,r0	003H
	comi,r0	003H
	bctr,eq	L01F6
	loda,r1	18EBH
	loda,r0	0308H,r1
	stra,r0	18EBH
L01F6:
	lodi,r0	002H
        stra,r0 TIMEENDCTR
	lodi,r0	008H
	addz	r3
	stra,r0	18FDH
	lodi,r0	00FH
	stra,r0	18FEH
	loda,r0	1800H,r2
	strz	r3
	eorz	r0
	stra,r0	1800H,r2
	loda,r0	18DBH
	addi,r0	001H
	comi,r0	054H
	stra,r0	18DBH
        bcfa,eq MOVE_BALL
	eorz	r0
	stra,r0	18DBH
	lodi,r1	001H
	stra,r1	18D5H
        bcta,un MOVE_BALL
;
X0227:
	db	006H, 005H
X0229:
	db	004H, 003H, 002H, 001H
	db	000H, 000H, 000H
;
COLLIDE:
        loda,r1 BALLX
	subi,r1	028H
	rrr,r1
	rrr,r1
	rrr,r1
        loda,r0 BALLY
	comi,r0	090H
	bctr,lt	L025A
	comi,r0	0C0H
	bctr,gt	L025A
	eori,r0	0FFH
	addi,r0	0F0H
	rrl,r0
	andi,r0	0F0H
	andi,r1	00FH
	iorz	r1
	strz	r1
	loda,r0	1800H,r1
	strz	r2
	andi,r0	030H
	comi,r0	030H
	bcfr,eq	L025A
	lodz	r1
	retc,un
;
L025A:
	eorz	r0
	retc,un
;
L025C:
        loda,r1 BATSIZE
	rrr,r1
	andi,r1	001H
	retc,un
;
X0263:
	db	010H, 00CH
;
L0265:
        loda,r0 BALLY
	comi,r0	02AH
        bcta,gt MOVE_BALL
	comi,r0	026H
        bcta,lt MOVE_BALL
        loda,r0 BALLX
	addi,r0	005H
        suba,r0 BATX
        bcta,lt MOVE_BALL
	bstr,un	L025C
	coma,r0	0263H,r1
        bcta,gt MOVE_BALL
	lodi,r0	00FH
	stra,r0	18FEH
	lodi,r0	004H
        stra,r0 TIMEENDCTR
	lodi,r0	014H
	stra,r0	18FDH
        loda,r0 FIRE_1
	bcfa,eq	L02BA
        loda,r0 GAMENUMBER
	andi,r0	003H
	comi,r0	002H
	bcfr,eq	L02C4
	loda,r0	1901H
	andi,r0	008H
	bctr,eq	L02C4
	lodi,r0	001H
        stra,r0 FIRE_1
        loda,r0 BALLX
        suba,r0 BATX
	stra,r0	18E2H
	bctr,un	L02C4
;
L02BA:
	loda,r0	1901H
	andi,r0	008H
	bcfr,eq	L02C4
        stra,r0 FIRE_1
L02C4:
        loda,r0 BATX
        suba,r0 OLDBATX
	andi,r0	0F0H
	bctr,eq	L02DE
	bctr,lt	L02D7
	lodi,r0	003H
	stra,r0	18EBH
	bctr,un	L02EC
;
L02D7:
	lodi,r0	00DH
	stra,r0	18EBH
	bctr,un	L02EC
;
L02DE:
        loda,r0 BALLX
	addi,r0	005H
        suba,r0 BATX
	adda,r0	0306H,r1
	loda,r0	02F2H,r0
L02EC:
	stra,r0	18EBH
        bcta,un MOVE_BALL
;
X02F2:
	db	00DH, 00DH, 00DH, 00DH
	db	00EH, 00EH, 00EH, 00FH
	db	00FH, 001H, 001H, 002H
	db	002H, 002H, 003H, 003H
	db	003H, 003H, 003H, 003H
X0306:
	db	000H, 002H
X0308:
	db	008H, 007H, 006H, 005H
	db	004H, 003H, 002H, 001H
X0310:
	db	000H, 00FH, 00EH, 00DH
	db	00CH, 00BH, 00AH, 009H
	db	008H, 007H, 006H, 005H
	db	004H, 003H, 002H, 001H
;
CANCEL_YMOVE:
        loda,r0 BALLY_OLD
        stra,r0 BALLY
	retc,un
;
CANCEL_XMOVE:
        loda,r0 BALLX_OLD
        stra,r0 BALLX
	retc,un
;
L032E:
	loda,r1	18EBH
	loda,r0	0310H,r1
	stra,r0	18EBH
	bsta,un	L08C1
        bstr,un CANCEL_XMOVE
	bcta,un	L018B
;
L033F:
	loda,r1	18EBH
	loda,r0	0308H,r1
	stra,r0	18EBH
	bsta,un	L08C1
        bstr,un CANCEL_YMOVE
        bstr,un CANCEL_XMOVE
	bcta,un	L01A0
;
L0352:
        loda,r0 181Dh        ;r0 = *(181D); // upper screen (LIVES)
	addi,r0	0FFH
        stra,r0 181Dh        ;*(181D) = r0; // upper screen (LIVES)
	comi,r0	050H
	bctr,eq	L0366
	lodi,r0	0AAH
        stra,r0 TIMEOUT
        bcta,un MOVE_BAT
;
L0366:
        bsta,un GAMEOVER
	eorz	r0
        stra,r0 GAME_IN_PLAY
L036D:
        loda,r0 18D0h
	bctr,eq	L0377
	bsta,un	L0631
	bctr,un	L036D
;
L0377:
	lodi,r1	000H
L0379:
	loda,r0	1811H,r1
	coma,r0	1816H,r1
	bctr,lt	L03B9
	bctr,gt	L038B
	addi,r1	001H
	comi,r1	004H
	bcfr,eq	L0379
	bctr,un	L03B9
;
L038B:
	lodi,r1	004H
L038D:
	loda,r0	1810H,r1
	stra,r0	1815H,r1
L0393:
	lodi,r3	0BEH
L0395:
	bdrr,r2	L0395
	lodi,r0	00FH
	stra,r0	18FEH
	lodz	r3
	rrr,r0
	andi,r0	07FH
	andi,r0	0AAH
	stra,r0	18FDH
	bdrr,r3	L0395
	bdrr,r1	L038D
	eorz	r0
        stra,r0 NEWY
        stra,r0 NEWX
	stra,r0	18FEH
	stra,r0	18FDH
        bcta,un MOVE_BAT
;
L03B9:
	lodi,r1	001H
	bctr,un	L0393
;
X03BD:
	db	000H, 003H, 006H, 009H
	db	00CH
;
MOVEBALL_SPECIAL:
        loda,r2 GAMENUMBER
	comi,r2	004H
	bcfr,lt	L03F3
	andi,r2	003H
	comi,r2	001H
	bcfr,eq	L03F3
	loda,r0	18EBH
	comi,r0	004H
	bctr,lt	L03DC
	comi,r0	00CH
	bctr,gt	L03DC
	bctr,un	L03F3
;
L03DC:
        loda,r0 BATX
	comi,r0	050H
	bctr,gt	L03E7
	lodi,r1	0FFH
	bctr,un	L03ED
;
L03E7:
	comi,r0	080H
	bcfr,gt	L03F3
	lodi,r1	001H
L03ED:
        adda,r1 BALLX
        stra,r1 BALLX
L03F3:
	loda,r1	18EBH
        loda,r0 BALLX
	retc,un
;
L03FA:
	loda,r1	18EBH
        loda,r0 BALLY
	retc,un
;
L0401:
        loda,r2 GAMENUMBER
	comi,r2	003H
	bcfr,gt	L03FA
	andi,r2	003H
	comi,r2	001H
	bcfr,eq	L03FA
	loda,r1	18EBH
	comi,r1	008H
	bctr,gt	L042E
        loda,r0 BATY
L0418:
	comi,r0	0C0H
	bctr,lt	L0420
	lodi,r1	001H
	bctr,un	L0426
;
L0420:
	comi,r0	040H
	bctr,gt	L03FA
	lodi,r1	0FFH
L0426:
        adda,r1 BALLY
        stra,r1 BALLY
	bctr,un	L03FA
;
L042E:
        loda,r0 BATY2
	bctr,un	L0418
;
MOVE_BALL:
        loda,r0 FIRE_1
        iora,r0 FIRE_2
        bcfa,eq MOVE_BAT
        loda,r0 BALLY
        stra,r0 BALLY_OLD
        loda,r1 CLOCK_L
	andi,r1	00FH
        stra,r0 DOT_X,r1
        loda,r0 BALLX
        stra,r0 BALLX_OLD
        stra,r0 DOT_Y,r1
        loda,r0 TIMEOUT
        bcfa,eq MOVE_BAT
        loda,r1 DIRECTION
	loda,r0	03BDH,r1
	strz	r3
        bsxa    L0466,r3
	bcta,un	L04BC
L0466:
        bcta,un MOVE
;
	db	01FH, 004H, 075H, 01FH
	db	004H, 08EH, 01FH, 004H
	db	0A5H, 01FH, 004H, 0A5H
;
MOVE:
        loda,r0 BALLY
	retc,eq
	bsta,un	L0401
	adda,r0	0551H,r1
	strr,r0	*0476H
        loda,r0 BALLX
	retc,eq
        bsta,un MOVEBALL_SPECIAL
	adda,r0	0FE4H,r1
	strr,r0	*0482H
	retc,un
;
	db	008H, 0E6H, 014H, 03FH
	db	004H, 001H, 08DH, 065H
	db	061H, 0C8H, 0DDH, 008H
	db	0E7H, 014H, 03FH, 003H
	db	0C2H, 08DH, 065H, 081H
	db	0C8H, 0DEH, 017H, 008H
	db	0CFH, 014H, 03FH, 004H
	db	001H, 08DH, 065H, 071H
	db	0C8H, 0C6H, 008H, 0D0H
	db	014H, 03FH, 003H, 0C2H
	db	08DH, 065H, 081H, 0C8H
	db	0C7H, 017H
;
L04BC:
        loda,r0 GAMENUMBER
	comi,r0	003H
	bcta,gt	L04EC
	loda,r0	18D5H
	bctr,eq	L04E9
        loda,r0 BALLY
	comi,r0	060H
	bcfr,lt	L04E9
	lodi,r1	000H
L04D2:
        loda,r0 0E60H,r1+
	stra,r0	1860H,r1
	comi,r1	05FH
	bcfr,eq	L04D2
	lodi,r1	000H
	stra,r1	18D5H
	lodi,r0	064H
        adda,r0 18D0h
        stra,r0 18D0h
L04E9:
	bcta,un	L054E
;
L04EC:
	loda,r0	18D5H
	bcta,eq	L051E
        loda,r0 BALLX
	comi,r0	068H
	bcfa,gt	L051E
	lodi,r2	0C5H
L04FC:
	lodi,r1	004H
L04FE:
	loda,r0	0C10H,r1
        stra,r0 1800H,r2-
	stra,r0	19E0H,r2
	stra,r0	19F0H,r2
	bdrr,r1	L04FE
	addi,r2	0F4H
	comi,r2	018H
	bcfr,lt	L04FC
	eorz	r0
	stra,r0	18D5H
	lodi,r0	064H
	adda,r0	18DEH
	stra,r0	18DEH
L051E:
	loda,r0	18D6H
	bctr,eq	L054E
        loda,r0 BALLX
	comi,r0	068H
	bcfr,lt	L054E
	lodi,r2	0CFH
L052C:
	lodi,r1	004H
L052E:
	loda,r0	0C0AH,r1
        stra,r0 1800H,r2-
	stra,r0	19E0H,r2
	stra,r0	19F0H,r2
	bdrr,r1	L052E
	addi,r2	0F4H
	comi,r2	021H
	bcfr,lt	L052C
	eorz	r0
	stra,r0	18D6H
	lodi,r0	064H
	adda,r0	18DFH
	stra,r0	18DFH
L054E:
        bcta,un MOVE_BAT
;
X0551:
	db	003H, 003H, 002H, 001H
	db	000H, 0FFH, 0FEH, 0FDH
	db	0FDH, 0FDH, 0FEH, 0FFH
	db	000H, 001H, 002H, 003H
	db	003H, 003H, 003H, 002H
	db	000H, 0FEH, 0FDH, 0FDH
	db	0FDH, 0FDH, 0FDH, 0FEH
	db	000H, 002H, 003H, 003H
	db	004H, 004H, 003H, 002H
	db	000H, 0FEH, 0FDH, 0FCH
	db	0FCH, 0FCH, 0FDH, 0FEH
	db	000H, 002H, 003H, 004H
	db	000H, 001H, 002H, 002H
	db	002H, 002H, 002H, 001H
	db	000H, 0FFH, 0FEH, 0FEH
	db	0FEH, 0FEH, 0FEH, 0FFH
;
L0591:
	comi,r2	030H
	bctr,lt	L059D
	comi,r2	0A5H
	bctr,gt	L05A1
L0599:
	lodi,r1	000H
L059B:
	addz	r1
	retc,un
;
L059D:
	lodi,r1	0FFH
	bctr,un	L059B
;
L05A1:
	lodi,r1	001H
	bctr,un	L059B
;
L05A5:
	comi,r2	030H
	bctr,lt	L05AF
	comi,r2	0A5H
	bctr,gt	L05B3
	bctr,un	L0599
;
L05AF:
	lodi,r1	0FEH
	bctr,un	L059B
;
L05B3:
	lodi,r1	002H
	bctr,un	L059B
;
FORCE_R0_IN_35_A0:
	comi,r0	0A0H
	bctr,lt	L05BE
	lodi,r0	0A0H
	retc,un
;
L05BE:
	comi,r0	035H
	bctr,gt	L05C4
	lodi,r0	035H
L05C4:
	retc,un
;
X05C5:
	db	008H, 004H
X05C7:
	db	091H, 095H
;
L05C9:
	comi,r0	0DDH
	bctr,lt	L05D0
	lodi,r0	0DDH
	retc,un
;
L05D0:
	comi,r0	038H
	bctr,gt	L05D6
	lodi,r0	038H
L05D6:
	retc,un
;
MOVE_BAT:
        loda,r0 GAMENUMBER
	comi,r0	004H
	bcfa,lt	L063C
        loda,r0 CLOCK_L
	andi,r0	003H
	bsta,eq	L0631
        loda,r0 BATX
        stra,r0 OLDBATX
        loda,r2 PADDLE1
	bsta,un	L0591
	loda,r2	1902H
	iora,r2	1900H
	iora,r2	1901H
	andi,r2	007H
	bctr,eq	L0604
	nop
	nop
	addz	r1
	addz	r1
L0604:
        bsta,un FORCE_R0_IN_35_A0
        stra,r0 BATX
	strz	r2
	bsta,un	L025C
	coma,r0	05C7H,r1
	bctr,lt	L0619
	loda,r0	05C7H,r1
        stra,r0 BATX
L0619:
	adda,r0	05C5H,r1
        stra,r0 BATX2
        loda,r0 FIRE_1
	bcta,eq	L0691
        loda,r0 BATX
	adda,r0	18E2H
        stra,r0 BALLX
	bcta,un	L0691
;
L0631:
        loda,r0 18D0h
	retc,eq
	addi,r0	0FFH
	strr,r0	*0632H
        bcta,un INCSCORE
;
L063C:
        loda,r2 PADDLE1
	eori,r2	0FFH
        loda,r0 BATY
	bsta,un	L05A5
	loda,r2	1902H
	iora,r2	1901H
	iora,r2	1900H
	andi,r2	007H
	bctr,eq	L0657
	nop
	addz	r1
	addz	r1
L0657:
	bsta,un	L05C9
        stra,r0 BATY
        loda,r2 FIRE_1
	bctr,eq	L0668
	suba,r0	18E2H
        stra,r0 BALLY
L0668:
        loda,r2 PADDLE2
        loda,r0 BATY2
	bsta,un	L05A5
	loda,r2	1906H
	iora,r2	1904H
	iora,r2	1905H
	andi,r2	007H
	bctr,eq	L0680
	addz	r1
	addz	r1
L0680:
	bsta,un	L05C9
        stra,r0 BATY2
        loda,r2 FIRE_2
	bctr,eq	L0691
	suba,r0	18E2H
        stra,r0 BALLY
L0691:
        loda,r0 GAMENUMBER
	comi,r0	008H
	bctr,lt	L06B3
	comi,r0	00CH
	bcfr,lt	L06B3
        loda,r0 CLOCK_L
        loda,r1 CLOCK_H
	andi,r1	007H
	subz	r1
	andi,r0	00FH
	strz	r1
        loda,r0 DOT_X,r1
        loda,r1 GAME_IN_PLAY
	bctr,eq	L06B3
        stra,r0 BATY2
L06B3:
	tpsu	080H
	bctr,eq	L06B3
        bcta,un MAINLOOP
;
INCSCORE:
	lodi,r1	004H
L06BC:
	loda,r0	1810H,r1
	addi,r0	001H
	comi,r0	05AH
	bcfr,eq	L06DC
	lodi,r0	050H
	stra,r0	1810H,r1
	bdrr,r1	L06BC
L06CC:
	lodi,r0	00FH
	stra,r0	18FEH
	lodi,r0	00AH
	stra,r0	18FDH
	lodi,r0	002H
        stra,r0 TIMEENDCTR
	retc,un
;
L06DC:
	stra,r0	1810H,r1
	retc,un
;
L06E0:
	lodi,r1	001H
	bctr,un	L06E6
;
L06E4:
	lodi,r1	000H
L06E6:
        stra,r1 VGAME_COLLSIDE
	bcta,un	L0745
;
L06EC:
	lodi,r1	001H
	bctr,un	L06F2
;
L06F0:
	lodi,r1	000H
L06F2:
	stra,r1	18E8H
	bcta,un	L0745
;
DRAWBALLLOWERHALF:
	eori,r0	0FFH
	subi,r0	078H
	rrl,r0
	andi,r0	0F0H
	iorz	r1
	strz	r2
	strz	r3
	loda,r0	1A00H,r2
	strz	r1
	andi,r0	030H
	comi,r0	030H
	bcfa,eq	L0811
	eorz	r0
	stra,r0	1A00H,r2
	bcta,un	L07A7
;
L0714:
        loda,r0 FIRE_1
        iora,r0 FIRE_2
	bcfr,eq	L0726
	loda,r0	18E7H
	bctr,eq	L0726
	addi,r0	0FFH
	stra,r0	18E7H
L0726:
        loda,r0 BALLX
	comi,r0	02AH
	bcta,lt	L0998
	comi,r0	0A3H
	bcta,gt	L0998
	comi,r0	02FH
	bcta,lt	L06EC
	comi,r0	09EH
	bcta,gt	L06E0
	comi,r0	068H
	bcta,gt	L06F0
	bcta,lt	L06E4
L0745:
        loda,r0 BALLY
	comi,r0	0DEH
	bcta,gt	L09AD
	comi,r0	029H
	bcta,lt	L09AD
L0752:
        loda,r0 COLLISION1
	andi,r0	002H
	bcfa,eq	L0811
        loda,r1 BALLX
	subi,r1	028H
	rrr,r1
	rrr,r1
	rrr,r1
	andi,r1	00FH
	tmi,r1	008H
	bctr,eq	L0777
	loda,r0	18EBH
	tmi,r0	008H
        bctr,eq DRAWBALL
	loda,r0	18E8H
        bcfr,eq DRAWBALL
	bcta,un	L0811
;
L0777:
	loda,r0	18EBH
	tmi,r0	008H
        bcfr,eq DRAWBALL
        loda,r0 VGAME_COLLSIDE
        bcfr,eq DRAWBALL
	bcta,un	L0811
;
DRAWBALL:
        loda,r0 BALLY
	comi,r0	088H
        bcta,lt DRAWBALLLOWERHALF
	eori,r0	0FFH
	subi,r0	010H
	rrl,r0
	andi,r0	0F0H
	iorz	r1
	strz	r2
	strz	r3
	loda,r0	1800H,r2
	strz	r1
	andi,r0	030H
	comi,r0	030H
	bcfa,eq	L0811
	eorz	r0
	stra,r0	1800H,r2
L07A7:
	rrl,r1
	rrl,r1
	andi,r1	003H
	addi,r1	001H
	rrr,r2
	rrr,r2
	rrr,r2
	andi,r2	001H
	loda,r0	18DEH,r2
	addz	r1
	stra,r0	18DEH,r2
	eorz	r0
        stra,r0 DIRECTION
        loda,r0 GAMENUMBER
	andi,r0	003H
	comi,r0	003H
	bctr,eq	L07CF
	loda,r3	18EBH
	loda,r0	0310H,r3
	stra,r0	18EBH
L07CF:
	bsta,un	L08C1
	loda,r0	18DBH,r2
	addi,r0	001H
	comi,r0	05CH
	stra,r0	18DBH,r2
        bcfa,eq MOVE_BALL
	eorz	r0
	stra,r0	18DBH,r2
	lodi,r0	001H
	stra,r0	18D5H,r2
        bcta,un MOVE_BALL
;
X07EB:
	db	001H, 001H, 001H, 002H
	db	002H, 002H, 003H, 003H
	db	003H, 005H, 005H, 005H
	db	006H, 006H, 006H, 007H
	db	007H, 007H, 007H
X07FE:
	db	00FH, 00FH, 00FH, 00EH
	db	00EH, 00EH, 00DH, 00DH
	db	00DH, 00BH, 00BH, 00BH
	db	00AH, 00AH, 00AH, 009H
	db	009H, 009H, 009H
;
L0811:
        loda,r0 FIRE_1
	bcfr,eq	L0841
        loda,r0 COLLISION2
	andi,r0	008H
	bcfa,eq	L0868
        loda,r0 GAMENUMBER
	andi,r0	003H
	comi,r0	002H
	bcfr,eq	L084B
	loda,r0	1901H
	andi,r0	008H
	bctr,eq	L084B
	lodi,r1	001H
        stra,r1 FIRE_1
        bsta,un CANCEL_YMOVE
        loda,r0 BATY
        suba,r0 BALLY
	stra,r0	18E2H
	bctr,un	L084B
;
L0841:
	loda,r0	1901H
	andi,r0	008H
	bcfr,eq	L084B
        stra,r0 FIRE_1
L084B:
        loda,r0 BATY
        suba,r0 BALLY
	addi,r0	001H
	bcta,lt	L0911
	comi,r0	010H
	bcta,gt	L0911
	strz	r2
	loda,r0	07EBH,r0
	stra,r0	18EBH
	bsta,un	L08F0
	bcta,un	L08BC
;
L0868:
        loda,r0 FIRE_2
	bcfr,eq	L0898
        loda,r0 COLLISION2
	andi,r0	010H
	bcfa,eq	L0911
        loda,r0 GAMENUMBER
	andi,r0	003H
	comi,r0	002H
	bcfr,eq	L08A2
	loda,r0	1905H
	andi,r0	008H
	bctr,eq	L08A2
	lodi,r1	001H
        stra,r1 FIRE_2
        bsta,un CANCEL_YMOVE
        loda,r0 BATY2
        suba,r0 BALLY
	stra,r0	18E2H
	bctr,un	L08A2
;
L0898:
	loda,r0	1905H
	andi,r0	008H
	bcfr,eq	L08A2
        stra,r0 FIRE_2
L08A2:
        loda,r0 BATY2
        suba,r0 BALLY
	addi,r0	001H
	bcta,lt	L0911
	comi,r0	010H
	bcta,gt	L0911
	strz	r2
	loda,r0	07FEH,r0
	stra,r0	18EBH
	bsta,un	L08D1
L08BC:
	bstr,un	L08C1
	bcta,un	L0911
;
L08C1:
	lodi,r0	00FH
	stra,r0	18FEH
	lodi,r0	002H
        stra,r0 TIMEENDCTR
	lodi,r0	004H
	stra,r0	18FDH
	retc,un
;
L08D1:
	lodr,r0	*08F1H
	comi,r0	00BH
	bcfr,gt	L08EF
	lodr,r0	*08F8H
	bcfr,eq	L08EF
	lodr,r3	*08E3H
	comi,r3	006H
	retc,eq
	addi,r3	001H
	stra,r3	18E4H
	rrr,r2
	andi,r2	007H
	stra,r2	18E6H
	lodi,r3	003H
	strr,r3	*08F8H
L08EF:
	retc,un
;
L08F0:
        loda,r0 GAMENUMBER
	comi,r0	00BH
	bcfr,gt	L08EF
	loda,r0	18E7H
	bcfr,eq	L08EF
	lodr,r3	*0904H
	comi,r3	006H
	retc,eq
	addi,r3	001H
	stra,r3	18E3H
	rrr,r2
	andi,r2	007H
	stra,r2	18E5H
	lodi,r3	003H
	strr,r3	*08F8H
	retc,un
;
L0911:
        loda,r0 CLOCK_L
	andi,r0	03FH
	bcfa,eq	L0949
	lodr,r0	*0931H
	iorr,r0	*0940H
	iorr,r0	*0947H
	comi,r0	0D0H
	bcta,eq	L09BF
	lodr,r0	*0931H
	addi,r0	0FFH
	strr,r0	*0931H
	comi,r0	0CFH
	bcfr,eq	L0949
	lodi,r0	0D9H
	stra,r0	1809H
	lodr,r0	*0940H
	addi,r0	0FFH
	strr,r0	*0940H
	comi,r0	0CFH
	bcfr,eq	L0949
	lodi,r0	0D5H
	stra,r0	1808H
	lodr,r0	*0947H
	addi,r0	0FFH
	stra,r0	1806H
L0949:
	loda,r0	18DEH
	bctr,eq	L0951
	bsta,un	L097A
L0951:
	loda,r0	18DFH
        bcta,eq MOVE_BALL
	bsta,un	L095D
        bcta,un MOVE_BALL
;
L095D:
	addi,r0	0FFH
	stra,r0	18DFH
	lodi,r1	004H
L0964:
	loda,r0	17FFH,r1
	addi,r0	001H
	comi,r0	05AH
	bcfr,eq	L0974
	lodi,r0	050H
	stra,r0	17FFH,r1
	bdrr,r1	L0964
L0974:
	stra,r0	17FFH,r1
L0977:
	bcta,un	L06CC
;
L097A:
	addi,r0	0FFH
	stra,r0	18DEH
	lodi,r1	004H
L0981:
	loda,r0	180AH,r1
	addi,r0	001H
	comi,r0	09AH
	bcfr,eq	L0993
	lodi,r0	090H
	stra,r0	180AH,r1
	bdrr,r1	L0981
	bctr,un	L0977
;
L0993:
	stra,r0	180AH,r1
	bctr,un	L0977
;
L0998:
	loda,r1	18EBH
	loda,r0	0310H,r1
	stra,r0	18EBH
	bsta,un	L08C1
        bsta,un CANCEL_XMOVE
        bsta,un CANCEL_YMOVE
	bcta,un	L0745
;
L09AD:
	loda,r1	18EBH
	loda,r0	0308H,r1
	stra,r0	18EBH
	bsta,un	L08C1
        bsta,un CANCEL_YMOVE
	bcta,un	L0752
;
L09BF:
        bsta,un GAMEOVER
	eorz	r0
        stra,r0 GAME_IN_PLAY
L09C6:
	loda,r0	18DEH
	bctr,eq	L09D0
	bsta,un	L097A
	bctr,un	L09C6
;
L09D0:
	loda,r0	18DFH
	bctr,eq	L09DA
	bsta,un	L095D
	bctr,un	L09D0
;
L09DA:
	lodi,r3	07FH
L09DC:
	stra,r3	18FDH
	lodi,r0	00FH
	stra,r0	18FEH
L09E4:
	bdrr,r2	L09E4
L09E6:
	bdrr,r1	L09E6
	bdrr,r3	L09DC
	eorz	r0
        stra,r0 NEWY
        stra,r0 NEWX
	stra,r0	18FEH
	stra,r0	18FDH
        bcta,un MOVE_BAT
;
SCREENHITOMEM:
	lodi,r1	004H
L09FC:
	loda,r0	1815H,r1
        stra,r0 PADDLE1,r1
	bdrr,r1	L09FC
	retc,un
;
INITIALISE:
        loda,r3 GAMENUMBER
	comi,r3	004H
	bcfa,lt	L0A45
        bstr,un SCREENHITOMEM
	lodi,r1	0F8H
L0A11:
	loda,r0	0DFFH,r1
	stra,r0	17FFH,r1
	loda,r0	0EFFH,r1
	stra,r0	19FFH,r1
	bdrr,r1	L0A11
	lodi,r1	020H
L0A21:
	eorz	r0
	stra,r0	1ACFH,r1
	stra,r0	18CFH,r1
	bdrr,r1	L0A21
LOADGRAPHICS:
	tpsu	080H
        bcfr,eq LOADGRAPHICS
	lodi,r1	080H
L0A30:
	loda,r0	0D7FH,r1
	stra,r0	197FH,r1
	bdrr,r1	L0A30
	lodi,r1	004H
MEMHITOSCREEN:
        loda,r0 PADDLE1,r1
	stra,r0	1815H,r1
        bdrr,r1 MEMHITOSCREEN
	bcta,un	L0A82
;
L0A45:
	lodi,r1	0F8H
L0A47:
	loda,r0	0AFFH,r1
	stra,r0	17FFH,r1
	loda,r0	0BFFH,r1
	stra,r0	19FFH,r1
	bdrr,r1	L0A47
	lodi,r1	020H
L0A57:
	eorz	r0
	stra,r0	18CFH,r1
	stra,r0	1ACFH,r1
	bdrr,r1	L0A57
L0A60:
	tpsu	080H
	bcfr,eq	L0A60
	lodi,r1	080H
L0A66:
	loda,r0	0CFFH,r1
	stra,r0	197FH,r1
	bdrr,r1	L0A66
	bsta,un	L025C
	bcta,eq	L0A82
	lodi,r1	008H
L0A76:
	lodi,r0	0E7H
	stra,r0	198FH,r1
	lodi,r0	0E7H
	stra,r0	1997H,r1
	bdrr,r1	L0A76
L0A82:
        loda,r0 BATSIZE
	tmi,r0	001H
	bcfr,eq	L0A8D
	ppsu	040H
	bctr,un	L0A8F
;
L0A8D:
	cpsu	040H
L0A8F:
	lodi,r0	0EEH
	stra,r0	18FCH
        stra,r3 GAMENUMBER
	retc,un
;
BUILDDISPLAY:
	tpsu	080H
        bcfr,eq BUILDDISPLAY
	lodi,r1	004H
L0A9E:
	loda,r0	19FBH,r1
	stra,r0	1AF3H,r1
	bdrr,r1	L0A9E
	loda,r1	18E5H
	bctr,eq	L0AB2
	eorz	r0
	stra,r0	1990H,r1
	stra,r0	18E5H
L0AB2:
	loda,r1	18E6H
	bctr,eq	L0ABE
	eorz	r0
	stra,r0	1998H,r1
	stra,r0	18E6H
L0ABE:
        loda,r0 BATSIZE
	tmi,r0	001H
	bcfa,eq	L0AFD
        loda,r0 GAMENUMBER
	comi,r0	003H
	bcfr,gt	L0AEA
        loda,r0 BALLX
	comi,r0	05DH
	bctr,gt	L0AD8
	lodi,r0	07FH
	bctr,un	L0AF6
;
L0AD8:
	comi,r0	072H
	bcfr,gt	L0AE0
	lodi,r0	07FH
	bctr,un	L0AE1
;
L0AE0:
	eorz	r0
L0AE1:
	lodi,r1	007H
L0AE3:
	stra,r0	19B0H,r1
	bdrr,r1	L0AE3
	bctr,un	L0AF5
;
L0AEA:
        loda,r0 BALLY
	comi,r0	069H
	bcfr,gt	L0AF5
	lodi,r0	07FH
	bctr,un	L0AF6
;
L0AF5:
	eorz	r0
L0AF6:
	lodi,r1	007H
L0AF8:
	stra,r0	19B8H,r1
	bdrr,r1	L0AF8
L0AFD:
        bcta,un BUMP_CLOCK
;
	db	050H, 050H, 050H, 050H
	db	000H, 0D0H, 0D3H, 0F4H
	db	0D0H, 0D0H, 000H, 090H
	db	090H, 090H, 090H, 000H
	db	0C3H, 0C3H, 0C3H, 0C3H
	db	0C3H, 0E0H, 0DAH, 0E6H
	db	0DEH, 000H, 091H, 0C3H
	db	0C3H, 0C3H, 0C3H, 0C3H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
;
WHEE_NOISE:
	lodi,r0	07FH
	lodi,r1	00FH
	stra,r1	18FEH
L0BD7:
	bdrr,r1	L0BD7
	strz	r3
	andi,r3	07FH
	stra,r3	18FDH
	bdrr,r0	L0BD7
	stra,r0	18FEH
	retc,un
;
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 0FFH
	db	0FFH, 080H, 066H, 050H
	db	057H, 050H, 079H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H
X0BFF:
	db	000H, 0C7H, 0FFH, 0BFH
	db	07FH, 03FH, 000H, 000H
	db	000H, 000H, 000H
X0C0A:
	db	000H, 03EH, 07EH, 0BEH
	db	0FEH, 0C5H
X0C10:
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C7H, 0FFH, 0BFH, 07FH
	db	03FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 03EH
	db	07EH, 0BEH, 0FEH, 0C5H
	db	0C3H, 0C3H, 0C3H, 0C3H
	db	0C3H, 0C3H, 0C3H, 0C3H
	db	0C3H, 0C3H, 0C3H, 0C3H
	db	0C3H, 0C3H, 0C3H, 0C3H
;
BUMP_CLOCK:
        loda,r0 CLOCK_L
	addi,r0	001H
        stra,r0 CLOCK_L
	bcfr,eq	L0CE2
        loda,r0 CLOCK_H
	addi,r0	001H
        stra,r0 CLOCK_H
L0CE2:
	retc,un
;
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
X0CFF:
	db	000H, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 008H, 008H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 0E0H, 0E0H, 0E0H
	db	0E0H, 0E0H, 0E0H, 0E0H
	db	0E0H, 007H, 007H, 007H
	db	007H, 007H, 007H, 007H
	db	007H, 000H, 07FH, 07FH
	db	07FH, 07FH, 07FH, 07FH
	db	07FH, 000H, 07FH, 07FH
	db	07FH, 07FH, 07FH, 07FH
	db	07FH, 000H, 07FH, 07FH
	db	07FH, 07FH, 07FH, 07FH
	db	07FH, 000H, 07FH, 07FH
	db	07FH, 07FH, 07FH, 07FH
	db	07FH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 04FH, 0C8H, 035H
	db	0EFH, 0FFH, 0FFH, 0FFH
X0D7F:
	db	0FFH, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 008H, 008H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 0FFH, 0FFH, 0FFH
	db	0FFH, 000H, 000H, 000H
	db	000H, 0FFH, 0FFH, 0FFH
	db	0FFH, 000H, 000H, 000H
	db	000H, 000H, 07FH, 07FH
	db	07FH, 07FH, 07FH, 07FH
	db	07FH, 000H, 07FH, 07FH
	db	07FH, 07FH, 07FH, 07FH
	db	07FH, 000H, 07FH, 07FH
	db	07FH, 07FH, 07FH, 07FH
	db	07FH, 000H, 07FH, 07FH
	db	07FH, 07FH, 07FH, 07FH
	db	07FH, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 04FH, 0C8H, 0F6H
	db	0EFH, 000H, 000H, 000H
X0DFF:
	db	000H, 0ACH, 09CH, 0A8H
	db	0ABH, 09EH, 000H, 000H
	db	0A1H, 0A2H, 000H, 000H
	db	000H, 09BH, 09AH, 0A5H
	db	0A5H, 000H, 050H, 050H
	db	050H, 050H, 000H, 050H
	db	050H, 050H, 050H, 000H
	db	000H, 000H, 056H, 000H
	db	000H, 0C3H, 0C3H, 0C3H
	db	0C3H, 0C3H, 0E0H, 0DAH
	db	0E6H, 0DEH, 000H, 091H
	db	0C3H, 0C3H, 0C3H, 0C3H
	db	0C3H, 0C3H, 0C3H, 0C3H
	db	0C3H, 0C3H, 0C3H, 0C3H
	db	0C3H, 0C3H, 0C3H, 0C3H
	db	0C3H, 0C3H, 0C3H, 0C3H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H
X0E60:
	db	0C3H, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0C3H
	db	0C3H, 0BFH, 0BFH, 0BFH
	db	0BFH, 0BFH, 0BFH, 0BFH
	db	0BFH, 0BFH, 0BFH, 0BFH
	db	0BFH, 0BFH, 0BFH, 0C3H
	db	0C3H, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0C3H
	db	0C3H, 0BFH, 0BFH, 0BFH
	db	0BFH, 0BFH, 0BFH, 0BFH
	db	0BFH, 0BFH, 0BFH, 0BFH
	db	0BFH, 0BFH, 0BFH, 0C3H
	db	0C3H, 07FH, 07FH, 07FH
	db	07FH, 07FH, 07FH, 07FH
	db	07FH, 07FH, 07FH, 07FH
	db	07FH, 07FH, 07FH, 0C3H
	db	0C3H, 03FH, 03FH, 03FH
	db	03FH, 03FH, 03FH, 03FH
	db	03FH, 03FH, 03FH, 03FH
	db	03FH, 03FH, 03FH, 0C3H
	db	0C3H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 0C3H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0FFH, 0FFH, 070H, 068H
	db	028H, 040H, 028H, 048H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H
X0EFF:
	db	000H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 0C3H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	0C3H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H
;
GAMEOVER:
	lodi,r1	009H
L0FD2:
	loda,r0	0FDAH,r1
	stra,r0	1A02H,r1
	bdrr,r1	L0FD2
X0FDA:
	retc,un
;
	db	0A0H, 09AH, 0A6H, 09EH
	db	000H, 0A8H, 0AFH, 09EH
	db	0ABH
X0FE4:
	db	000H, 001H, 001H, 001H
	db	001H, 001H, 001H, 001H
	db	000H, 0FFH, 0FFH, 0FFH
	db	0FFH, 0FFH, 0FFH, 0FFH
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
	db	000H, 000H, 000H, 000H
        end

$03F: mainloop
$0EF: checkupdate
$10E: countdown
$230: collide
$320: cancel_ymove
$327: cancel_xmove
$3C2: moveball_special
$433: move_ball
$475: move
$5B7: force_r0_in_35_A0
$5D7: move_bat
$6F8: drawballlowerhalf
$6BA: incscore
$786: drawball
$9FA: screenhitomem
$A05: initialise
$A2A: loadgraphics
$A3A: memhitoscreen
$A98: builddisplay
$BD0: whee_noise
$CD0: bump_clock
$FD0: gameover
