
dsksync	EQU	$7E
bltbpth	EQU	$4C
bpl2pth	EQU	$E4
bpl2ptl	EQU	$E6
bpl3pth	EQU	$E8
potgo	EQU	$34
adkcon	EQU	$9E
bpl3ptl	EQU	$EA
color0	EQU	$180
color1	EQU	$182
color2	EQU	$184
color3	EQU	$186
_custom	EQU	$DFF000
ddfstop	EQU	$94
bltapth	EQU	$50
bltcon0	EQU	$40
bpl1pth	EQU	$E0
bltcon1	EQU	$42
diwstrt	EQU	$8E
intreq	EQU	$9C
bplcon0	EQU	$100
bplcon1	EQU	$102
bpl1ptl	EQU	$E2
foreground	EQU	$888
tv_ZeroDivide	EQU	$14
cop1lcl	EQU	$82
dskpth	EQU	$20
cop1lch	EQU	$80
diwstop	EQU	$90
ddfstrt	EQU	$92
bltdpth	EQU	$54
bpl4pth	EQU	$EC
bpl4ptl	EQU	$EE
intena	EQU	$9A
sync	EQU	$4489
rtc	EQU	io+$7C21
bltafwm	EQU	$44
intreqr	EQU	$1E
joy0dat	EQU	$A
tv_Lev4IntVect	EQU	$70
tv_Lev3IntVect	EQU	$6C
tv_Lev2IntVect	EQU	$68
tv_Lev1IntVect	EQU	$64
bltbmod	EQU	$62
bpl2mod	EQU	$10A
potinp	EQU	$16
bltamod	EQU	$64
bpl1mod	EQU	$108
vhposr	EQU	$6
gap4	EQU	$4E4E4E4E
bltalwm	EQU	$46
dmacon	EQU	$96
gap2	EQU	$4E4E
bltcdat	EQU	$70
timeout	EQU	$7A120
tv_PrivilegeViolation	EQU	$20
dsklen	EQU	$24
MEMF_CHIP	EQU	$2
tv_Line1010Emulator	EQU	$28
MemList	EQU	$142
bltsize	EQU	$58
MaxExtMem	EQU	$4E
bltdmod	EQU	$66
**********************************************************************
	org	emu
lbC000000	BRA	Warmstart

	LEA	io,A0
	MOVE.L	#$1FFF,D0
lbC000010	CLR.L	(A0)+
	DBRA	D0,lbC000010

	MOVE.B	#2,io+$260
	MOVE.B	#0,io+$7A01	; MFP
	LEA	$3FF00,A0
	MOVEQ	#$7F,D0
lbC00002E	CLR.W	(A0)+
	DBRA	D0,lbC00002E

	MOVE.B	#0,rtc
	MOVE.B	#0,rtc+2
	MOVE.B	#9,rtc+4
	MOVE.B	#3,rtc+6
	MOVE.B	#5,rtc+8
	MOVE.B	#1,rtc+10
	MOVE.B	#6,rtc+14
	MOVE.B	#1,rtc+16
	MOVE.B	#6,rtc+18
	MOVE.B	#0,rtc+20
	MOVE.B	#10,rtc+22
	MOVE.B	#0,rtc+24
	LEA	CODXOFTHEBRAI.MSG,A0
	MOVE.L	0.w,D0
	CMP.L	(A0),D0
*	BNE	Deadend
*	LEA	rom,A0
*	LEA	rom+romsize,A1
*lbC0000B0	MOVE.L	A0,D0
*	EOR.L	D0,(A0)+
*	CMP.L	A0,A1
*	BNE.S	*lbC0000B0
Warmstart	CLR.B	$3FF3A
	MOVE.W	#0,D0
	BSR	lbC00064E
	LEA	_custom,A0
	MOVE.W	#$7FF,dmacon(A0)
	MOVE.W	#$7FFF,intena(A0)
	MOVE.W	#$3FFF,intreq(A0)
	MOVE.L	#lbC0000EA,tv_PrivilegeViolation
lbC0000EA	MOVE	#$2700,SR
*	NOP
*	NOP
*	NOP
*	NOP
*	NOP
*	NOP
*	NOP
*	NOP
*	NOP
*	NOP
*	NOP
*	NOP
*	NOP
*	NOP
	MOVE.W	#$FFFF,temp1
	CLR.W	$3FF0A
	MOVE.L	#FLOPRD,patch1
lbC000122	SUB.L	A5,A5
	CMP.L	#$31415926,$426(A5)
	BNE.S	lbC000146
	MOVE.L	$42A(A5),D0
	TST.B	$42A(A5)
	BNE.S	lbC000146
	BTST	#0,D0
	BNE.S	lbC000146
	MOVE.L	D0,A0
	LEA	lbC000122(PC),A6
	JMP	(A0)

lbC000146	MOVE.W	#7,$484
	MOVE.W	#$F02,$E82
	MOVE.B	#1,io+$201
	MOVE.B	#0,io+$203
	TST.L	$3FF00
	BNE	lbC000276
	MOVE.L	4,A6
	MOVE.L	MemList(A6),A6
lbC00017A	BTST	#MEMF_CHIP,15(A6)
	BEQ.S	lbC0001AE
	CMP.L	#$C00000,$14(A6)
	BGE.S	lbC0001AE
	MOVE.L	$14(A6),D0
	AND.L	#$FFFF0000,D0
	MOVE.L	D0,$3FF00
	MOVE.L	$18(A6),D0
	MOVE.L	D0,$3FF04
	BSR	lbC000256
	BRA	lbC000276

lbC0001AE	TST.L	(A6)
	MOVE.L	0(A6),A6
	BNE.S	lbC00017A
	MOVE.L	4,A6
	TST.L	MaxExtMem(A6)
	BEQ.S	lbC0001FA
	MOVE.L	MaxExtMem(A6),A6
	MOVE.L	#$C00000,$3FF00
	MOVE.L	A6,$3FF04
	BRA	lbC000276

CODXOFTHEBRAI.MSG	dc.b	'CODX OF THE BRAINS HAS DONE IT !'

lbC0001FA	CLR.W	$FC0000
	TST.W	$FC0000
	BNE.S	lbC000226
	MOVE.L	#$FC0000,$3FF00
	MOVE.L	#$1000000,$3FF04
	BSR.S	lbC000256
	BRA.S	lbC000276

lbC000226	LEA	$80000,A0
	CMP.L	#'CODX',(A0)
	BEQ.S	lbC000252
	MOVE.L	#$80000,$3FF00
	MOVE.L	#$100000,$3FF04
	BSR.S	lbC000256
	BRA.S	lbC000276

lbC000252	BRA.S	Deadend

lbC000256	MOVE.L	$3FF00,A0
	MOVE.L	#$1000,D0
lbC000262	CLR.L	(A0)+
	DBRA	D0,lbC000262

	RTS

Deadend	MOVE.W	_custom+vhposr,_custom+color0
	BRA.S	Deadend

lbC000276	LEA	lbC000280(PC),A6
	JMP	patch2

lbC000280	BEQ.S	lbC0002F6
	SUB.L	A5,A5
	MOVE.L	#scr+scrsize,A0
	MOVE.L	#scr-scrsize,D4
	MOVEQ	#0,D0
	MOVEQ	#0,D1
	MOVEQ	#0,D2
	MOVEQ	#0,D3
lbC00029A	MOVEM.L	D0-D3,-(A0)
	MOVEM.L	D0-D3,-(A0)
	MOVEM.L	D0-D3,-(A0)
	MOVEM.L	D0-D3,-(A0)
	CMP.L	D4,A0
	BNE.S	lbC00029A
	MOVE.L	#$18000,A0
	MOVE.L	#$400,D4
	MOVEQ	#0,D0
	MOVEQ	#0,D1
	MOVEQ	#0,D2
	MOVEQ	#0,D3
lbC0002C2	MOVEM.L	D0-D3,-(A0)
	MOVEM.L	D0-D3,-(A0)
	MOVEM.L	D0-D3,-(A0)
	MOVEM.L	D0-D3,-(A0)
	CMP.L	D4,A0
	BNE.S	lbC0002C2
	MOVE.L	$3FF04,$42E(A5)
	MOVE.L	#$752019F3,$420(A5)
	MOVE.L	#$237698AA,$43A(A5)
	MOVE.L	#$5555AAAA,$51A(A5)
lbC0002F6	MOVE.L	#scr,A0
	MOVE.L	#scr-scrsize,D4
	MOVEQ	#-$1,D0
lbC000304	MOVE.L	D0,-(A0)
	CMP.L	D4,A0
	BNE.S	lbC000304
	BSR	Corners
	SUB.L	A5,A5
	MOVE.L	#$980,A0
	MOVE.L	#$10000,A1
	MOVEQ	#0,D0
lbC00031E	MOVE.W	D0,(A0)+
	CMP.L	A0,A1
	BNE.S	lbC00031E
	MOVE.L	$42E,A0
	SUB.L	#$8000,A0
	CMP.B	#2,io+$260
	BLT.S	lbC000340
	LEA	scr,A0
lbC000340	MOVE.L	A0,$44E(A5)
	MOVE.B	$44F(A5),io+$201
	MOVE.B	$450(A5),io+$203
	MOVE.W	#$7FF,D1
lbC000358	MOVE.L	D0,(A0)+
	MOVE.L	D0,(A0)+
	MOVE.L	D0,(A0)+
	MOVE.L	D0,(A0)+
	DBRA	D1,lbC000358

	MOVE.W	#$FFF,D0
	MOVE.L	rom+$14,A0
	CMP.L	#$87654321,(A0)
	BEQ.S	lbC00037C
	LEA	rom+$8,A0
lbC00037C	MOVE.L	4(A0),$4FA
	MOVE.L	8(A0),$4FE
	LEA	lbC0003A4(PC),A6
	CMP.B	#1,io+$260
	BLT	lbC00068E
	BEQ	lbC000704
	BGT	lbC00076A
lbC0003A4	MOVE.L	#$3FFB0,$80(A0)
	TST.W	$88(A0)
lbC0003B0	BSR	lbC000668
	TST.W	4(A0)
	BPL.S	lbC0003B0
	MOVE.W	#$83C0,$96(A0)
	MOVE.L	#lbC00111C,$46A(A5)
	MOVE.L	#lbC001174,$476(A5)
	MOVE.L	#patch3,$472(A5)
	MOVE.L	#lbC001294,$47E(A5)
	MOVE.L	#lbC0012C0,$47A(A5)
	MOVE.L	#lbC000FC4,$506(A5)
	MOVE.L	#lbC000F82,$50A(A5)
	MOVE.L	#lbC001116,$50E(A5)
	MOVE.L	#lbC001116,$512(A5)
	MOVE.L	#patch4,$502(A5)
	MOVE.L	$3FF04,$436(A5)
	MOVE.L	$3FF00,$432(A5)
	LEA	$755A,SP
	MOVE.W	#8,$454(A5)
	ST 	$444(A5)
	MOVE.W	#3,$440(A5)
	MOVE.L	#$16DA,$4C6(A5)
	MOVE.W	#$FFFF,$4EE(A5)
	MOVE.L	#rom,$4F2(A5)
	MOVE.L	#$93A,$4A2(A5)
	MOVE.L	#patch5,$46E(A5)
	MOVE.W	#$FFF,D0
	JSR	patch6
	LEA	patch7,A3
	LEA	patch5,A4
	LEA	patch8,A1
	ADD.L	#$2000000,A1
	LEA	8,A0
	MOVE.W	#$3D,D0
lbC000488	MOVE.L	A1,(A0)+
	ADD.L	#$1000000,A1
	DBRA	D0,lbC000488

	MOVE.L	A3,tv_ZeroDivide
	MOVEQ	#6,D0
	LEA	tv_Lev1IntVect(A5),A1
lbC0004A0	MOVE.L	#patch7,(A1)+
	DBRA	D0,lbC0004A0

	MOVE.L	#patch9,tv_Lev4IntVect(A5)
	MOVE.L	#Lev3Int,tv_Lev3IntVect(A5)
	MOVE.L	#Lev2Int,tv_Lev2IntVect
	MOVE.W	#$C028,_custom+intena
	MOVE.L	A3,$88(A5)
	MOVE.L	#lbC000D6A,$B4(A5)
	MOVE.L	#lbC000D62,$B8(A5)
	MOVE.L	#patch10,tv_Line1010Emulator(A5)
	MOVE.L	A4,$400(A5)
	MOVE.L	#patch11,$404(A5)
	MOVE.L	A4,$408(A5)
	LEA	$4CE(A5),A0
	MOVE.L	A0,$456(A5)
	MOVE.W	#7,D0
lbC000504	CLR.L	(A0)+
	DBRA	D0,lbC000504

	LEA	patch12,A0
	MOVE.W	#$51E,A1
	MOVEQ	#$1F,D0
lbC000516	MOVE.L	(A0)+,(A1)+
	DBRA	D0,lbC000516

	MOVE.B	io+$7A01,D0
	MOVE.W	D0,-(SP)
	JSR	patch13
	MOVE.W	(SP)+,D0
	MOVE.B	D0,io+$7A01
	MOVE.L	#$7FFF,D0
lbC000538	JSR	patch14
	DBRA	D0,lbC000538

	MOVE.W	#$CCC,D0
	LEA	lbC00054A(PC),A6
lbC00054A	MOVE.B	io+$260,$44C
	MOVEQ	#0,D0
	JSR	patch15
	JSR	patch16
	MOVE.L	#Warmstart,$46E(A5)
	MOVE.W	#1,$452
	MOVE	#$2100,SR
	MOVE.W	#$999,D0
	JSR	patch17
	MOVE.W	rom+$1E,$8840
	JSR	patch18
	JSR	patch19
	JSR	patch20
	TST.W	$482
	BEQ.S	lbC0005C2
	JSR	patch21
	PEA	patch22
	PEA	patch22
	PEA	patch23
	CLR.W	-(SP)
	BRA.S	lbC000636

lbC0005C2	JSR	patch21
	MOVE.W	#$666,D0
	MOVE.L	#rom,$4F2
	LEA	patch24,A0
	MOVE.L	#$840,A1
lbC0005E2	CMP.B	#$23,(A0)
	BNE.S	lbC0005EA
	MOVE.L	A1,A2
lbC0005EA	MOVE.B	(A0)+,(A1)+
	BPL.S	lbC0005E2
	MOVE.B	$446,D0
	ADD.B	#$41,D0
	MOVE.B	D0,(A2)
	PEA	$840
	PEA	patch22
	PEA	patch22
	MOVE.W	#5,-(SP)
	MOVE.W	#$4B,-(SP)
	TRAP	#1
	ADD.W	#14,SP
	MOVE.L	D0,A0
	MOVE.L	$4FE,8(A0)
	PEA	$840
	MOVE.L	A0,-(SP)
	PEA	patch22
	MOVE.W	#4,-(SP)
lbC000636	MOVE.W	#$4B,-(SP)
	TRAP	#1
	ADD.W	#14,SP
	MOVEQ	#3,D7
	JSR	patch25
	JMP	Warmstart

lbC00064E	MOVE.W	D0,_custom+color0
	MOVE.W	D0,_custom+color1
	MOVE.W	D0,_custom+color2
	MOVE.W	D0,_custom+color3
	RTS

lbC000668	MOVE.W	$1E(A0),D0
	BTST	#5,D0
	BEQ.S	lbC000668
	MOVE.W	D0,$9C(A0)
	RTS

lbC000678	BTST	#6,$BFE001
	BNE.S	lbC000678
lbC000682	BTST	#6,$BFE001
	BEQ.S	lbC000682
	RTS

lbC00068E	LEA	_custom,A0
	MOVE.W	#$4200,bplcon0(A0)
	MOVE.W	#0,bplcon1(A0)
	MOVE.W	#0,bpl1mod(A0)
	MOVE.W	#0,bpl2mod(A0)
	MOVE.W	#$38,ddfstrt(A0)
	MOVE.W	#$D0,ddfstop(A0)
	MOVE.W	#$2C81,diwstrt(A0)
	MOVE.W	#$F4C1,diwstop(A0)
	MOVE.W	#$222,color1(A0)
	LEA	lbW0006E0,A1
	LEA	$3FFB0,A2
	MOVEQ	#$11,D0
lbC0006D8	MOVE.W	(A1)+,(A2)+
	DBRA	D0,lbC0006D8

	JMP	(A6)

lbW0006E0	dc.w	bpl1pth
	dc.w	(scr)>>16
	dc.w	bpl1ptl
	dc.w	(scr)<<16>>16
	dc.w	bpl2pth
	dc.w	(scr+$2000)>>16
	dc.w	bpl2ptl
	dc.w	(scr+$2000)<<16>>16
	dc.w	bpl3pth
	dc.w	(scr+$4000)>>16
	dc.w	bpl3ptl
	dc.w	(scr+$4000)<<16>>16
	dc.w	bpl4pth
	dc.w	(scr+$6000)>>16
	dc.w	bpl4ptl
	dc.w	(scr+$6000)<<16>>16
	dc.w	$FFFF
	dc.w	$FFFE

lbC000704	LEA	_custom,A0
	MOVE.W	#$A200,bplcon0(A0)
	MOVE.W	#0,bplcon1(A0)
	MOVE.W	#0,bpl1mod(A0)
	MOVE.W	#0,bpl2mod(A0)
	MOVE.W	#$3C,ddfstrt(A0)
	MOVE.W	#$D4,ddfstop(A0)
	MOVE.W	#$2C81,diwstrt(A0)
	MOVE.W	#$F4C1,diwstop(A0)
	MOVE.W	#$222,color1(A0)
	LEA	lbW000756,A1
	LEA	$3FFB0,A2
	MOVEQ	#9,D0
lbC00074E	MOVE.W	(A1)+,(A2)+
	DBRA	D0,lbC00074E

	JMP	(A6)

lbW000756	dc.w	bpl1pth
	dc.w	(scr)>>16
	dc.w	bpl1ptl
	dc.w	(scr)<<16>>16
	dc.w	bpl2pth
	dc.w	(scr+$4000)>>16
	dc.w	bpl2ptl
	dc.w	(scr+$4000)<<16>>16
	dc.w	$FFFF
	dc.w	$FFFE

lbC00076A	LEA	_custom,A0
	MOVE.W	#$A204,bplcon0(A0)
	MOVE.W	#0,bplcon1(A0)
	MOVE.W	#$50,bpl1mod(A0)
	MOVE.W	#$50,bpl2mod(A0)
	MOVE.W	#$3C,ddfstrt(A0)
	MOVE.W	#$D4,ddfstop(A0)
	MOVE.W	#$3C81,diwstrt(A0)
	MOVE.W	#$4C1,diwstop(A0)
	MOVE.W	#0,color0(A0)
	MOVE.W	#0,color1(A0)
	MOVE.W	#foreground,color2(A0)
	MOVE.W	#0,color3(A0)
	LEA	lbW0007E2,A1
	LEA	$3FFB0,A2
	MOVEQ	#13,D0
lbC0007C6	MOVE.W	(A1)+,(A2)+
	DBRA	D0,lbC0007C6

	LEA	lbW0007FE,A1
	LEA	$3FFD0,A2
	MOVEQ	#13,D0
lbC0007DA	MOVE.W	(A1)+,(A2)+
	DBRA	D0,lbC0007DA

	JMP	(A6)

lbW0007E2	dc.w	bpl1pth
	dc.w	(scr)>>16
	dc.w	bpl1ptl
	dc.w	(scr)<<16
	dc.w	bpl2pth
	dc.w	(scr-$8000)>>16
	dc.w	bpl2ptl
	dc.w	(scr-$8000)<<16>>16
	dc.w	cop1lch
	dc.w	3
	dc.w	cop1lcl
	dc.w	$FFD0
	dc.w	$FFFF
	dc.w	$FFFE
lbW0007FE	dc.w	bpl1pth
	dc.w	(scr+$50)>>16
	dc.w	bpl1ptl
	dc.w	(scr+$50)<<16>>16
	dc.w	bpl2pth
	dc.w	(scr-$7fb0)>>16
	dc.w	bpl2ptl
	dc.w	(scr-$7fb0)<<16>>16
	dc.w	cop1lch
	dc.w	3
	dc.w	cop1lcl
	dc.w	$FFB0
	dc.w	$FFFF
	dc.w	$FFFE

Lev3Int	MOVE.W	#$20,_custom+intreq
	CMP.B	#7,$3FF3A
	BNE.S	lbC000834
	JMP	Warmstart

lbC000834	CMP.B	#11,$3FF3A
	BNE.S	lbC000854
	MOVE.B	#1,io+$260
	MOVE.B	#$80,io+$7A01
	BRA.S	lbC000870

lbC000854	CMP.B	#$13,$3FF3A
	BNE.S	lbC000876
	MOVE.B	#2,io+$260
	MOVE.B	#0,io+$7A01
lbC000870	JMP	Warmstart

lbC000876	MOVEM.L	D0/D7/A0-A4,-(SP)
	BSR	lbC001E32
	BCHG	#1,$BFE001	; change LED
	TST.W	$3FF1E
	BNE	lbC000918
	SUBQ.W	#1,$3FF08
	BPL.S	lbC0008F2
	MOVE.W	#2,$3FF08
	CMP.B	#2,io+$260
	BEQ.S	lbC0008C4
	MOVE.L	#io+$240,A0	; palette 64 bytes
	MOVE.L	#_custom+color0,A1
	MOVEQ	#15,D7
lbC0008BA	MOVE.W	(A0)+,D0
	LSL.W	#1,D0
	MOVE.W	D0,(A1)+
	DBRA	D7,lbC0008BA

lbC0008C4	MOVEQ	#0,D0
	MOVE.B	io+$201,D0
	SWAP	D0
	MOVE.B	io+$203,D0
	LSL.W	#8,D0
	MOVE.L	D0,A0
	LEA	scr,A1
	CMP.B	#1,io+$260
	BLT.S	Lores
	BGT	Hires
	BRA	Meres

lbC0008F2	TST.W	$3FF20
	BEQ.S	lbC00090A
	SUBQ.W	#1,$3FF20
	BNE.S	lbC000918
	BSR	lbC001464
	BRA.S	lbC000918

lbC00090A	TST.W	$3FF1E
	BNE.S	lbC000918
	BSR	lbC000C1A
lbC000918	TST.B	$3FF38
	BEQ.S	lbC000928
	SUBQ.B	#1,$3FF38
lbC000928	BSR	lbC000D60
	TST.B	$2847
	BNE.S	lbC000940
	TST.W	$3FF0A
	BEQ.S	lbC000940
	BSR	lbC000A5C
lbC000940	MOVEM.L	(SP)+,D0/D7/A0-A4
	ADDQ.L	#4,$4BA
	JSR	patch26
	MOVE.L	(tv_Lev4IntVect).w,-(SP)
	RTS

Lores	LEA	$2000(A1),A2
	LEA	$2000(A2),A3
	LEA	$2000(A3),A4
	MOVE.W	#999,D7
1$	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A3)+
	MOVE.W	(A0)+,(A4)+
	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A3)+
	MOVE.W	(A0)+,(A4)+
	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A3)+
	MOVE.W	(A0)+,(A4)+
	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A3)+
	MOVE.W	(A0)+,(A4)+
	DBRA	D7,1$

	BRA	lbC0008F2

Meres	LEA	$4000(A1),A2
	MOVE.W	#999,D7
1$	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	MOVE.W	(A0)+,(A1)+
	MOVE.W	(A0)+,(A2)+
	DBRA	D7,1$

	BRA	lbC0008F2

Hires	CMP.L	#$40000,D0
	BLE.S	lbC0009E4
	MOVE.W	#999,D7
1$	MOVE.L	(A0)+,(A1)+
	MOVE.L	(A0)+,(A1)+
	MOVE.L	(A0)+,(A1)+
	MOVE.L	(A0)+,(A1)+
	MOVE.L	(A0)+,(A1)+
	MOVE.L	(A0)+,(A1)+
	MOVE.L	(A0)+,(A1)+
	MOVE.L	(A0)+,(A1)+
	DBRA	D7,1$

	BRA	lbC0008F2

lbC0009E4	MOVE.B	io+$201,D0
	MOVE.B	D0,$3FFB3
	MOVE.B	D0,$3FFD3
	MOVE.B	io+$203,D0
	MOVE.B	D0,$3FFB6
	MOVE.B	D0,$3FFD6
	BRA	lbC0008F2

Corners	LEA	scr-scrsize,A0
	EOR.B	#$E0,0(A0)
	EOR.B	#$80,$50(A0)
	EOR.B	#$80,$A0(A0)
	EOR.B	#7,$4F(A0)
	EOR.B	#1,$9F(A0)
	EOR.B	#1,$EF(A0)
	EOR.B	#$80,$7C10(A0)
	EOR.B	#$80,$7C60(A0)
	EOR.B	#$E0,$7CB0(A0)
	EOR.B	#1,$7C5F(A0)
	EOR.B	#1,$7CAF(A0)
	EOR.B	#7,$7CFF(A0)
	RTS

lbC000A5C	MOVEM.L	D1/D2/A0/A1/A5,-(SP)
	SUB.L	A5,A5
	LEA	$3FFF0,A0
	CLR.W	D0
	MOVE.W	#$FF00,_custom+potgo
	BTST	#6,$BFE001
	BNE.S	lbC000A80
	BSET	#1,D0
lbC000A80	BTST	#2,_custom+potinp
	BNE.S	lbC000A8E
	BSET	#0,D0
lbC000A8E	OR.B	#$F8,D0
	MOVE.B	D0,(A0)
	MOVE.W	_custom+joy0dat,D2
	MOVE.L	$3FF12,$3FF0E
	MOVE.B	D2,D1
	MOVE.W	D1,$3FF12
	SUB.W	$3FF0E,D1
	LSR.W	#8,D2
	MOVE.W	D2,$3FF14
	SUB.W	$3FF10,D2
	MOVE.B	D1,1(A0)
	MOVE.B	D2,2(A0)
	MOVE.L	$E22,A1
	MOVE.L	A1,D0
	TST.L	D0
	BMI.S	lbC000AD8
	JSR	(A1)
lbC000AD8	MOVEM.L	(SP)+,D1/D2/A0/A1/A5
	RTS

Lev2Int	MOVEM.L	D0-D7/A0-A6,-(SP)
	SUB.L	A5,A5
	MOVE.B	$BFED01,D0
	MOVE.W	#8,_custom+intreq
	MOVE.B	$BFEC01,D0
	BSET	#6,$BFEE01
	MOVE.B	#0,$BFEC01
	BCLR	#6,$BFEE01
	NOT.B	D0
	ROR.B	#1,D0
	MOVE.B	D0,D1
	BSR.S	lbC000B70
	AND.W	#$7F,D1
	CMP.B	#$62,D1
	BEQ.S	lbC000B46
	LEA	scancode(PC),A0
	MOVE.B	0(A0,D1.W),D3
	AND.B	#$80,D0
	OR.B	D3,D0
	CLR.W	D1
	LEA	$C76,A0
	JSR	patch27
	MOVEM.L	(SP)+,D0-D7/A0-A6
	RTE

lbC000B46	CLR.W	D1
	MOVE.B	#$3A,D0
	LEA	$C76,A0
	JSR	patch27
	CLR.W	D1
	MOVE.B	#$BA,D0
	LEA	$C76,A0
	JSR	patch27
	MOVEM.L	(SP)+,D0-D7/A0-A6
	RTE

lbC000B70	MOVEM.L	D0-D3/A0,-(SP)
	MOVE.B	$3FF3A,D3
	LEA	cdeON.MSG(PC),A0
	MOVEQ	#0,D0
lbC000B80	MOVE.B	(A0)+,D2
	CMP.B	D1,D2
	BNE.S	lbC000B8A
	BSET	D0,D3
	BRA.S	lbC000B94

lbC000B8A	OR.B	#$80,D2
	CMP.B	D1,D2
	BNE.S	lbC000B94
	BCLR	D0,D3
lbC000B94	ADDQ.B	#1,D0
	CMP.B	#5,D0
	BNE.S	lbC000B80
	MOVE.B	D3,$3FF3A
	MOVEM.L	(SP)+,D0-D3/A0
	RTS

cdeON.MSG	dc.b	'cdeON',0
scancode	dc.b	0
	dc.b	2
	dc.b	3
	dc.b	4
	dc.b	5
	dc.b	6
	dc.b	7
	dc.b	8
	dc.b	9
	dc.b	10
	dc.b	11
	dc.b	12
	dc.b	13
	dc.b	$2B
	dc.b	0
	dc.b	$70
	dc.b	$10
	dc.b	$11
	dc.b	$12
	dc.b	$13
	dc.b	$14
	dc.b	$15
	dc.b	$16
	dc.b	$17
	dc.b	$18
	dc.b	$19
	dc.b	$1A
	dc.b	$1B
	dc.b	0
	dc.b	$6D
	dc.b	$6E
	dc.b	$6F
	dc.b	$1E
	dc.b	$1F
	dc.b	$20
	dc.b	$21
	dc.b	$22
	dc.b	$23
	dc.b	$24
	dc.b	$25
	dc.b	$26
	dc.b	$27
	dc.b	$28
	dc.b	$29
	dc.b	0
	dc.b	$6A
	dc.b	$6B
	dc.b	$6C
	dc.b	$60
	dc.b	$2C
	dc.b	$2D
	dc.b	$2E
	dc.b	$2F
	dc.b	$30
	dc.b	$31
	dc.b	$32
	dc.b	$33
	dc.b	$34
	dc.b	$35
	dc.b	0
	dc.b	$71
	dc.b	$67
	dc.b	$68
	dc.b	$69
	dc.b	$39
	dc.b	14
	dc.b	15
	dc.b	$72
	dc.b	$1C
	dc.b	1
	dc.b	$53
	dcb.b	3,0
	dc.b	$4A
	dc.b	0
	dc.b	$48
	dc.b	$50
	dc.b	$4D
	dc.b	$4B
	dc.b	$3B
	dc.b	$3C
	dc.b	$3D
	dc.b	$3E
	dc.b	$3F
	dc.b	$40
	dc.b	$41
	dc.b	$42
	dc.b	$43
	dc.b	$44
	dc.b	$63
	dc.b	$64
	dc.b	$65
	dc.b	$66
	dc.b	$4E
	dc.b	$62
	dc.b	$2A
	dc.b	$36
	dc.b	$3A
	dc.b	$1D
	dc.b	$38
	dc.b	$61
	dc.b	$52
	dc.b	$47
	dcb.b	2,0

lbC000C1A	MOVEM.L	D0/D1,-(SP)
	TST.B	$3FF39
	BNE	lbC000C5C
	MOVE.B	#1,$3FF38
	MOVE.B	#$28,$3FF39
	MOVEQ	#0,D0
	MOVE.B	$3FF3B,D0
	BSR.S	lbC000C68
	MOVEQ	#2,D1
	ADDQ.B	#1,$3FF3B
lbC000C4C	ADDQ.B	#1,D0
	CMP.B	D1,D0
	BNE.S	lbC000C5C
	MOVE.B	#0,$3FF3B
lbC000C5C	SUBQ.B	#1,$3FF39
	MOVEM.L	(SP)+,D0/D1
	RTS

lbC000C68	MOVEM.L	D0-D7/A0-A2,-(SP)
	LEA	$3FF34,A0
	LEA	$3FF40,A1
	LEA	$3FF3C,A2
	BSR	lbC000D2A
	TST.B	0(A0,D0.W)
	BNE.S	lbC000C8E
	CLR.B	0(A1,D0.W)
lbC000C8E	TST.B	0(A1,D0.W)
	BEQ.S	lbC000CA2
	BSET	#1,$BFD100
	BRA.S	lbC000CAA

lbC000CA2	BCLR	#1,$BFD100
lbC000CAA	MOVE.B	0(A2,D0.W),D1
	CMP.B	#$FF,D1
	BNE.S	lbC000CEA
	BCLR	#0,$BFD100
	NOP
	NOP
	NOP
	BSET	#0,$BFD100
	TST.B	0(A1,D0.W)
	BEQ.S	lbC000CE0
	SUBQ.B	#1,0(A0,D0.W)
	CLR.B	0(A1,D0.W)
	BRA.S	lbC000CEA

lbC000CE0	ADDQ.B	#1,0(A0,D0.W)
	MOVE.B	#1,0(A1,D0.W)
lbC000CEA	BTST	#2,$BFE001
	BEQ.S	lbC000D06
	CMP.B	#$FF,D1
	BNE.S	lbC000D20
	MOVE.B	#2,0(A2,D0.W)
	BRA.S	lbC000D20

lbC000D06	MOVE.B	#$FF,0(A2,D0.W)
	MOVE.W	temp1,D1
	CMP.W	D0,D1
	BNE.S	lbC000D20
	MOVE.W	#$FFFF,temp1
lbC000D20	BSR.S	lbC000D42
	MOVEM.L	(SP)+,D0-D7/A0-A2
	RTS

lbC000D2A	MOVE.L	D0,D6
	ADDQ.L	#3,D6
	MOVE.B	#$7D,$BFD100
	NOP
	NOP
	BCLR	D6,$BFD100
	RTS

lbC000D42	MOVE.L	D0,D6
	ADDQ.L	#3,D6
	MOVE.B	#$FD,$BFD100
	NOP
	NOP
	BCLR	D6,$BFD100
	BSET	D6,$BFD100
	RTS

lbC000D60	RTS

lbC000D62	LEA	XBIOS,A0
	BRA.S	lbC000D70

lbC000D6A	LEA	BIOS,A0
lbC000D70	MOVE.L	$4A2,A1
	MOVE.W	(SP)+,D0
	MOVE.W	D0,-(A1)
	MOVE.L	(SP)+,-(A1)
	MOVEM.L	D3-D7/A3-A7,-(A1)
	MOVE.L	A1,$4A2
	BTST	#13,D0
	BNE.S	lbC000D8E
	MOVE	USP,SP
lbC000D8E	MOVE.W	(SP)+,D0
	CMP.W	(A0)+,D0
	BGE.S	lbC000DA4
	LSL.W	#2,D0
	MOVE.L	0(A0,D0.W),D0
	MOVE.L	D0,A0
	BPL.S	lbC000DA0
	MOVE.L	(A0),A0
lbC000DA0	SUB.L	A5,A5
	JSR	(A0)
lbC000DA4	MOVE.L	$4A2,A1
	MOVEM.L	(A1)+,D3-D7/A3-A7
	MOVE.L	(A1)+,-(SP)
	MOVE.W	(A1)+,-(SP)
	MOVE.L	A1,$4A2
	RTE

	ifd	0
BIOS	dc.w	12
	dc.l	$40A46
	dc.l	BCONSTAT
	dc.l	BCONIN
	dc.l	BCONOUT
	dc.l	$80000476
	dc.l	$40A72
	dc.l	$40A8A
	dc.l	$80000472
	dc.l	BCOSTAT
	dc.l	$8000047E
	dc.l	$40A2E
	dc.l	$40A34
XBIOS	dc.w	$41
	dc.l	INITMOUSE
	dc.l	$40670
	dc.l	$40A92
	dc.l	$40AA6
	dc.l	GETREZ
	dc.l	SETSCREEN
	dc.l	$40B06
	dc.l	$40B0E
	dc.l	FLOPRD
	dc.l	FLOPWR
	dc.l	FLOPFMT
	dc.l	$40FC0
	dc.l	DUMMY
	dc.l	DUMMY
	dc.l	$428F6
	dc.l	DUMMY
	dc.l	$43088
	dc.l	$41510
	dc.l	$415F8
	dc.l	$41AE2
	dc.l	$40D50
	dc.l	$446F2
	dc.l	SETTIME
	dc.l	GETTIME
	dc.l	$430B4
	dc.l	DUMMY
	dc.l	DUMMY
	dc.l	DUMMY
	dc.l	GIACCESS
	dc.l	OFFGIBIT
	dc.l	ONGIBIT
	dc.l	DUMMY
	dc.l	DOSOUND
	dc.l	$430E2
	dc.l	$43116
	dc.l	$430F4
	dc.l	$43254
	dc.l	$407D0
	dc.l	$4097E
	dc.l	$40B34
	dc.l	DUMMY
	dcb.l	$17,$40670
	dc.l	$40EF6

	endc
GIACCESS	MOVE.W	#$F0,_custom+color0
	MOVEQ	#0,D0
	MOVEQ	#0,D1
	LEA	io+$880,A0	; snd
	MOVE.B	4(SP),D0
	MOVE.W	6(SP),D1
	BTST	#7,D1
	BEQ.S	lbC000F20
	AND.B	#15,D0
	MOVE.B	D0,0(A0,D1.W)
	CLR.B	D0
	RTS

lbC000F20	MOVE.B	0(A0,D1.W),D0
	RTS

OFFGIBIT	MOVEQ	#0,D0
	RTS

ONGIBIT	MOVEQ	#0,D0
	RTS

DOSOUND	MOVEQ	#0,D0
	RTS

BCONSTAT	MOVE	#$2100,SR
	CMP.W	#0,4(SP)
	BEQ.S	lbC000F48
	CMP.W	#2,4(SP)
	BNE	DUMMY
lbC000F48	JMP	_BCONSTAT

BCONIN	CMP.W	#2,4(SP)
	BNE	DUMMY
	MOVE	#$2100,SR
	JMP	_BCONIN

BCONOUT	CMP.W	#0,4(SP)
	BEQ.S	lbC000F82
	CMP.W	#2,4(SP)
	BEQ.S	lbC000F7C
	CMP.W	#5,4(SP)
	BNE	DUMMY
lbC000F7C	JMP	_BCONOUT

lbC000F82	BTST	#2,$BFD000
	BEQ	DUMMY
lbC000F8E	BTST	#0,$BFD000
	BNE.S	lbC000F8E
	MOVE.B	#$FF,$BFE301
	MOVE.B	7(SP),$BFE101
	MOVEQ	#1,D0
	RTS

BCOSTAT	CMP.W	#0,4(SP)
	BEQ.S	lbC000FC4
	CMP.W	#2,4(SP)
	BNE	DUMMY
	JMP	_BCOSTAT

lbC000FC4	BTST	#0,$BFD000
	BNE	DUMMY
	MOVEQ	#-$1,D0
	RTS

INITMOUSE	MOVE.L	10(SP),$E22
	MOVE.W	#1,$3FF0A
	MOVEQ	#-$1,D0
	RTS

SETSCREEN	TST.L	4(SP)
	BMI.S	lbC000FF4
	MOVE.L	4(SP),$44E(A5)
lbC000FF4	TST.L	8(SP)
	BMI.S	lbC00100A
	MOVE.B	9(SP),io+$201
	MOVE.B	10(SP),io+$203
lbC00100A	TST.W	12(SP)
	BMI.S	lbC001028
	MOVE.B	13(SP),D0
	CMP.B	$44C(A5),D0
	BEQ.S	lbC001028
	MOVE.B	D0,$44C(A5)
	MOVE.B	D0,io+$260
	BRA	Warmstart

lbC001028	RTS

GETREZ	MOVEQ	#0,D0
	MOVE.B	$44C,D0
	RTS

FLOPRD	MOVE.W	12(SP),$3FF22
	BSR	lbC00136E
	TST.L	D0
	BNE.S	lbC001072
	MOVE.W	$12(SP),$3FF24
	MOVE.W	$10(SP),$3FF26
	MOVE.W	14(SP),$3FF28
	MOVE.W	$14(SP),$3FF2A
	MOVE.L	4(SP),$3FF2C
	BSR	lbC0014F2
lbC001072	BSR	lbC001422
	TST.L	D0
	RTS

FLOPWR	MOVE.W	12(SP),$3FF22
	BSR	lbC00136E
	TST.L	D0
	BNE.S	lbC0010B8
	MOVE.W	$12(SP),$3FF24
	MOVE.W	$10(SP),$3FF26
	MOVE.W	14(SP),$3FF28
	MOVE.W	$14(SP),$3FF2A
	MOVE.L	4(SP),$3FF2C
	BSR	lbC0016F0
lbC0010B8	BSR	lbC001422
	TST.L	D0
	RTS

FLOPFMT	CMP.L	#$87654321,$16(SP)
	BNE.S	DUMMY
	MOVE.W	12(SP),$3FF22
	BSR	lbC00136E
	TST.L	D0
	BNE.S	lbC00110A
	MOVE.W	$12(SP),$3FF24
	MOVE.W	$10(SP),$3FF26
	MOVE.W	14(SP),$3FF32
	MOVE.L	4(SP),$3FF2C
	MOVE.W	$1A(SP),$3FF30
	BSR	lbC001A68
lbC00110A	BSR	lbC001422
	TST.L	D0
	RTS

DUMMY	CLR.L	D0
	RTS

lbC001116	MOVEQ	#-$2,D0
	TST.L	D0
	RTS

lbC00111C	MOVE.W	#2,$4A6
	MOVE.L	#3,$4C2
	MOVEQ	#1,D0
lbC001130	MOVE.W	D0,$3FF22
	MOVE.L	D0,-(SP)
	BSR	lbC00135E
	MOVE.L	(SP)+,D0
	TST.L	D6
	BPL.S	lbC001150
	SUBQ.W	#1,$4A6
	BCLR	D0,$4C5
lbC001150	DBRA	D0,lbC001130

	BSR	GETTIME
	SWAP	D0
	MOVE.W	D0,-(SP)
	MOVE.W	#$2B,-(SP)
	TRAP	#1
	ADDQ.L	#4,SP
	BSR	GETTIME
	MOVE.W	D0,-(SP)
	MOVE.W	#$2D,-(SP)
	TRAP	#1
	ADDQ.L	#4,SP
	RTS

lbC001174	TST.L	6(SP)
	BEQ	lbC001276
	MOVE.L	6(SP),A0
	MOVE.W	14(SP),$3FF22
	BSR	lbC00136E
	TST.L	D0
	BNE	lbC00128C
	MOVE.W	12(SP),D6
	MOVE.W	10(SP),D7
	MOVE.L	#$7590,A1
	CMP.W	#1,$3FF22
	BEQ.S	lbC0011B0
	MOVE.L	#$7570,A1
lbC0011B0	CLR.W	$3FF24
	MOVE.W	D6,D0
	EXT.L	D0
	DIVU	$16(A1),D0
	MOVE.W	D0,$3FF26
	SWAP	D0
	CMP.W	$18(A1),D0
	BLT.S	lbC0011D8
	MOVE.W	#1,$3FF24
	SUB.W	$18(A1),D0
lbC0011D8	MOVE.W	D0,D1
	ADDQ.W	#1,D1
	MOVE.W	D1,$3FF28
	MOVE.W	D0,D1
	ADD.W	D7,D1
	CMP.W	$18(A1),D1
	BLE.S	lbC0011F0
	MOVE.W	$18(A1),D1
lbC0011F0	SUB.W	D0,D1
	MOVE.W	D1,$3FF2A
	MOVE.L	A0,$3FF2C
	MOVE.W	4(SP),D0
	CMP.W	#0,D0
	BEQ.S	lbC001240
	CMP.W	#1,D0
	BEQ.S	lbC001226
	CMP.W	#2,D0
	BEQ.S	lbC00124C
	CMP.W	#3,D0
	BEQ.S	lbC001232
	MOVEQ	#-$5,D0
	BRA.S	lbC00128C

lbC001226	MOVEM.L	D6/D7/A1,-(SP)
	BSR	lbC0016F0
	BRA.S	lbC001256

lbC001232	MOVEM.L	D6/D7/A1,-(SP)
	BSR	lbC0016F0
	CLR.L	D0
	BRA.S	lbC001256

lbC001240	MOVEM.L	D6/D7/A1,-(SP)
	BSR	lbC0014F2
	BRA.S	lbC001256

lbC00124C	MOVEM.L	D6/D7/A1,-(SP)
	BSR	lbC0014F2
	CLR.L	D0
lbC001256	MOVEM.L	(SP)+,D6/D7/A1
	TST.L	D0
	BNE.S	lbC00128C
	ADD.W	$3FF2A,D6
	SUB.W	$3FF2A,D7
	BNE	lbC0011B0
	BSR	lbC001422
	CLR.L	D0
	RTS

lbC001276	MOVE.W	14(SP),D0
	MOVE.W	10(SP),D1
	LEA	$3FF3C,A0
	MOVE.B	D1,0(A0,D0.W)
	CLR.L	D0
	RTS

lbC00128C	BSR	lbC001422
	TST.L	D0
	RTS

lbC001294	TST.B	$3FF38
	BNE.S	lbC001294
	LEA	$3FF3C,A0
	MOVE.W	4(SP),D0
	MOVEQ	#0,D1
	MOVE.B	0(A0,D0.W),D1
	TST.B	D1
	BMI.S	lbC0012BC
	CLR.B	0(A0,D0.W)
	MOVE.L	D1,D0
	RTS

lbC0012BC	MOVEQ	#0,D0
	RTS

lbC0012C0	LINK	A6,#0
	MOVEM.L	D6/D7,-(SP)
	JSR	lbC00111C
	TST.W	$4A6
	BEQ.S	lbC0012DA
	MOVEQ	#1,D0
	BRA.S	lbC0012DC

lbC0012DA	MOVEQ	#2,D0
lbC0012DC	MOVE.W	D0,D7
	TST.W	$4A6
	BEQ.S	lbC00132A
	CMP.W	#2,$446
	BGE.S	lbC00132A
	MOVE.W	#1,(SP)
	CLR.W	-(SP)
	CLR.W	-(SP)
	MOVE.W	#1,-(SP)
	MOVE.W	$446,-(SP)
	CLR.L	-(SP)
	MOVE.L	#$16DA,-(SP)
	JSR	FLOPRD
	ADD.L	#$10,SP
	TST.L	D0
	BNE.S	lbC00131E
	CLR.W	D7
	BRA.S	lbC00132A

lbC00131E	TST.B	$9F8
	BNE.S	lbC00132A
	MOVEQ	#3,D0
	BRA.S	lbC001350

lbC00132A	TST.W	D7
	BEQ.S	lbC001332
	MOVE.W	D7,D0
	BRA.S	lbC001350

lbC001332	MOVE.W	#$100,(SP)
	MOVE.L	#$16DA,-(SP)
	JSR	patch28
	ADDQ.L	#4,SP
	CMP.W	#$1234,D0
	BNE.S	lbC00134E
	CLR.W	D0
	BRA.S	lbC001350

lbC00134E	MOVEQ	#4,D0
lbC001350	TST.L	(SP)+
	MOVE.L	(SP)+,D7
	UNLK	A6
	RTS

lbC001358	DBRA	D0,lbC001358

	RTS

lbC00135E	BSR.S	lbC00136E
	MOVE.L	#$5A,D6
	BSR	lbC0014A0
	RTS

lbC00136E	TST.B	$3FF38
	BNE.S	lbC00136E
	MOVE.W	#1,$3FF1E
	MOVE.W	$3FF1C,D0
	CMP.W	$3FF22,D0
	BEQ.S	lbC0013A2
	BSR	lbC001464
	CLR.W	$3FF20
	MOVE.W	$3FF22,$3FF1C
lbC0013A2	MOVE.W	$3FF1C,D0
	TST.W	$3FF20
	BNE.S	lbC001416
	BSR.S	lbC00142A
	BCLR	#1,$BFD100
	BCLR	#0,$BFD100
	NOP
	NOP
	NOP
	NOP
	BSET	#0,$BFD100
	MOVE.L	D7,-(SP)
	MOVE.L	#$A88,D7
	BSR	lbC001CC0
	MOVE.L	(SP)+,D7
	MOVE.L	A0,-(SP)
	MOVE.W	$3FF22,D0
	LEA	$3FF34,A0
	ADDQ.B	#1,0(A0,D0.W)
	MOVE.L	(SP)+,A0
	BTST	#2,$BFE001
	BNE.S	lbC001416
	CLR.W	$3FF1E
	MOVE.W	#$64,$3FF20
	MOVE.L	#$FFFFFFEF,D0
	RTS

lbC001416	MOVE.W	#$64,$3FF20
	MOVEQ	#0,D0
	RTS

lbC001422	CLR.W	$3FF1E
	RTS

lbC00142A	ADDQ.W	#3,D0
	MOVE.B	#$FF,$BFD300
	MOVE.B	#3,$BFE201
	BSET	D0,$BFD100
	BSET	#0,$BFD100
	BCLR	#7,$BFD100
	BCLR	D0,$BFD100
	MOVEQ	#5,D7
lbC00145A	BSR	lbC001C9C
	DBRA	D7,lbC00145A

	RTS

lbC001464	MOVE.W	$3FF1C,D0
	ADDQ.W	#3,D0
	MOVE.W	#dsksize,_custom+dsklen
	BSET	D0,$BFD100
	BSET	#7,$BFD100
	NOP
	NOP
	NOP
	BCLR	D0,$BFD100
	NOP
	NOP
	NOP
	NOP
	NOP
	BSET	D0,$BFD100
	RTS

lbC0014A0	MOVE.B	$BFE001,D0
	BTST	#4,D0
	BEQ.S	lbC0014DE
	BSET	#1,$BFD100
	BCLR	#0,$BFD100
	NOP
	NOP
	NOP
	NOP
	BSET	#0,$BFD100
	MOVE.L	#$A88,D7
	BSR	lbC001CC0
	SUBQ.L	#1,D6
	BNE.S	lbC0014A0
	MOVEQ	#-$1,D6
	RTS

lbC0014DE	MOVE.W	$3FF22,D1
	LEA	$3FF34,A0
	CLR.B	0(A0,D1.W)
	MOVEQ	#0,D6
lbC0014F0	RTS

lbC0014F2	MOVE.W	$3FF22,D0
	MOVE.W	temp1,D1
	CMP.W	D0,D1
	BNE.S	lbC00152C
	MOVE.W	$3FF24,D0
	MOVE.W	temp2,D1
	CMP.W	D0,D1
	BNE.S	lbC00152C
	MOVE.W	$3FF26,D0
	MOVE.W	temp3,D1
	CMP.W	D0,D1
	BNE.S	lbC00152C
	BRA	lbC0015BE

lbC00152C	BSR	lbC001CCA
	MOVE.L	#$A88,D7
	BSR	lbC001CC0
	BTST	#2,$BFE001
	BEQ	lbC001A60
	BSET	#2,$BFD100
	TST.W	$3FF24
	BEQ.S	lbC00155E
	BCLR	#2,$BFD100
lbC00155E	MOVE.W	#2,_custom+intreq
	MOVE.L	#dsk,_custom+dskpth
	MOVE.W	#sync,_custom+dsksync
	MOVE.W	#$7F00,_custom+adkcon
	MOVE.W	#$9500,_custom+adkcon
	MOVE.W	#$8210,_custom+dmacon
	BSR	lbC001C9C
	MOVE.W	#dsksize,_custom+dsklen
	MOVE.W	#$9A00,_custom+dsklen
	MOVE.W	#$9A00,_custom+dsklen
	BSR	lbC001D20
	MOVE.W	#dsksize,_custom+dsklen
	TST.L	D0
	BEQ.S	lbC0015F2
	RTS

lbC0015BE	MOVEQ	#0,D0
	MOVEQ	#0,D1
	MOVE.W	$3FF28,D0
	MOVE.W	$3FF2A,D1
	MOVE.L	$3FF2C,A0
	SUBQ.L	#1,D0
	LSL.L	#8,D0
	LSL.L	#1,D0
	LEA	buffer,A1
	ADD.L	D0,A1
	LSL.L	#8,D1
	LSL.L	#1,D1
	SUBQ.L	#1,D1
lbC0015E8	MOVE.B	(A1)+,(A0)+
	DBRA	D1,lbC0015E8

	CLR.L	D0
	RTS

lbC0015F2	LEA	dsk,A1
	MOVE.L	A1,A0
	LEA	lbW00206A,A2
	LEA	lbW00216A,A3
	MOVE.W	#$19FF,D7
	MOVEQ	#0,D1
lbC00160C	MOVE.B	(A1)+,D1
	MOVE.B	0(A2,D1.W),D0
	MOVE.B	(A1)+,D1
	OR.B	0(A3,D1.W),D0
	MOVE.B	D0,(A0)+
	DBRA	D7,lbC00160C

	MOVE.W	$3FF28,D0
	MOVE.W	$3FF2A,D1
	SUBQ.W	#1,D1
	MOVE.L	$3FF2C,A0
lbC001632	LEA	dsk,A1
	LEA	$39B5C,A2
	MOVE.B	#$A1,$1B58(A1)
	MOVE.B	#$A1,$1B59(A1)
	MOVE.B	#$FE,$1B5A(A1)
lbC001650	CMP.B	#$A1,(A1)+
	BNE.S	lbC001650
	CMP.B	#$FE,(A1)
	BNE.S	lbC001650
	CMP.B	3(A1),D0
	BEQ.S	lbC001682
	CMP.B	#1,D0
	BNE.S	lbC001676
	MOVEQ	#12,D7
	CMP.B	3(A1),D7
	BEQ.S	lbC001682
lbC001676	CMP.L	A2,A1
	BLT.S	lbC001650
	MOVE.L	#$FFFFFFF8,D0
	RTS

lbC001682	ADD.L	#$20,A1
lbC001688	CMP.B	#$A1,(A1)+
	BNE.S	lbC001688
	CMP.B	#$FB,(A1)
	BNE.S	lbC001688
	MOVE.B	#$FB,(A1)
	MOVE.B	#$A1,-(A1)
	MOVE.B	#$A1,-(A1)
	MOVE.B	#$A1,-(A1)
	ADDQ.L	#4,A1
	MOVE.W	#$1FF,D7
lbC0016AA	MOVE.B	(A1)+,(A0)+
	MOVE.L	A0,$3FF2C
	DBRA	D7,lbC0016AA

	MOVE.L	D6,-(SP)
	MOVEQ	#-$1,D6
	MOVEQ	#-$1,D7
	SUB.L	#$204,A1
	MOVE.L	#$205,D2
	BSR	lbC001E0A
	OR.B	D6,D7
	MOVE.L	(SP)+,D6
	TST.B	D7
	BEQ.S	lbC0016DA
	BSR	lbC001C5A
lbC0016DA	ADDQ.W	#1,D0
	DBRA	D1,lbC001632

	MOVEQ	#0,D0
	RTS

	MOVE.W	#15,_custom+color0
	MOVEQ	#-$4,D0
	RTS

lbC0016F0	LEA	lbC0016F0(PC),A6
	BSR	lbC001CCA
	MOVE.L	#$A88,D7
	BSR	lbC001CC0
	BTST	#2,$BFE001
	BEQ	lbC001A60
	BSET	#2,$BFD100
	TST.W	$3FF24
	BEQ.S	lbC001726
	BCLR	#2,$BFD100
lbC001726	MOVE.W	$3FF22,D0
	MOVE.W	temp1,D1
	CMP.W	D0,D1
	BNE.S	lbC001760
	MOVE.W	$3FF24,D0
	MOVE.W	temp2,D1
	CMP.W	D0,D1
	BNE.S	lbC001760
	MOVE.W	$3FF26,D0
	MOVE.W	temp3,D1
	CMP.W	D0,D1
	BNE.S	lbC001760
	BRA	lbC001808

lbC001760	MOVE.W	$3FF2A,-(SP)
	MOVE.W	$3FF28,-(SP)
	MOVE.L	$3FF2C,-(SP)
	MOVE.L	#buffer,$3FF2C
	MOVE.W	#9,$3FF2A
	MOVE.W	#1,$3FF28
	BSR	lbC00155E
	TST.L	D0
	BNE	lbC001A0A
	MOVE.L	#buffer+$1200,$3FF2C
	MOVE.W	#1,$3FF2A
	MOVE.W	#10,$3FF28
	BSR	lbC00155E
	MOVE.L	(SP)+,$3FF2C
	MOVE.W	(SP)+,$3FF28
	MOVE.W	(SP)+,$3FF2A
	MOVE.W	#9,$3FF32
	TST.L	D0
	BNE.S	lbC0017DC
	MOVE.W	#10,$3FF32
lbC0017DC	MOVE.W	$3FF22,temp1
	MOVE.W	$3FF24,temp2
	MOVE.W	$3FF26,temp3
	MOVE.W	$3FF32,temp4
	BRA.S	lbC001812

lbC001808	MOVE.W	temp4,$3FF32
lbC001812	LEA	buffer,A1
	MOVEQ	#0,D0
	MOVE.W	$3FF28,D0
	SUBQ.L	#1,D0
	LSL.L	#1,D0
	LSL.L	#8,D0
	ADD.L	D0,A1
	MOVE.L	$3FF2C,A2
	MOVE.W	$3FF2A,D1
	SUBQ.L	#1,D1
lbC001836	MOVE.L	#$1FF,D0
lbC00183C	MOVE.B	(A2)+,(A1)+
	DBRA	D0,lbC00183C

	DBRA	D1,lbC001836

	LEA	buffer,A2
	LEA	dsk,A1
	MOVEQ	#14,D0
lbC001854	MOVE.L	#gap4,(A1)+
	DBRA	D0,lbC001854

	MOVEQ	#1,D1
lbC001860	MOVEQ	#2,D0
lbC001862	CLR.L	(A1)+
	DBRA	D0,lbC001862

	MOVE.L	#$A1A1A1FE,(A1)+
	MOVE.B	$3FF27,(A1)+
	MOVE.B	$3FF25,(A1)+
	MOVE.B	D1,(A1)+
	MOVE.B	#2,(A1)+
	MOVEM.L	D2/D6/D7/A1,-(SP)
	SUBQ.L	#8,A1
	MOVEQ	#-$1,D6
	MOVEQ	#-$1,D7
	MOVEQ	#7,D2
	BSR	lbC001E0A
	MOVE.B	D6,(A1)+
	MOVE.B	D7,(A1)+
	MOVEM.L	(SP)+,D2/D6/D7/A1
	ADDQ.L	#2,A1
	MOVEQ	#10,D0
lbC00189C	MOVE.W	#gap2,(A1)+
	DBRA	D0,lbC00189C

	MOVEQ	#2,D0
lbC0018A6	CLR.L	(A1)+
	DBRA	D0,lbC0018A6

	MOVE.L	#$A1A1A1FB,(A1)+
	MOVE.L	#buffer,A2
	MOVE.L	D1,D0
	SUBQ.L	#1,D0
	LSL.L	#8,D0
	LSL.L	#1,D0
	ADD.L	D0,A2
	MOVEQ	#$7F,D0
lbC0018C4	MOVE.L	(A2)+,(A1)+
	DBRA	D0,lbC0018C4

	MOVEM.L	D2/D6/D7/A1,-(SP)
	SUB.L	#$204,A1
	MOVEQ	#-$1,D6
	MOVEQ	#-$1,D7
	MOVE.L	#$203,D2
	BSR	lbC001E0A
	MOVE.B	D6,(A1)+
	MOVE.B	D7,(A1)+
	MOVEM.L	(SP)+,D2/D6/D7/A1
	ADDQ.L	#2,A1
	MOVEQ	#9,D0
lbC0018EE	MOVE.L	#gap4,(A1)+
	DBRA	D0,lbC0018EE

	ADDQ.L	#1,D1
	MOVEQ	#0,D2
	MOVE.W	$3FF32,D2
	ADDQ.L	#1,D2
	CMP.L	D2,D1
	BNE	lbC001860
	LEA	dsk+$1A00,A0
lbC001910	MOVE.L	#gap4,(A1)+
	CMP.L	A0,A1
	BLT.S	lbC001910
	LEA	$3B404,A1
	LEA	dsk+$1A00,A0
	LEA	lbW00226A,A2
	MOVE.L	#$19FF,D1
lbC001934	MOVEQ	#0,D0
	MOVE.B	-(A0),D0
	ADD.W	D0,D0
	MOVE.W	0(A2,D0.W),D0
	MOVE.W	D0,-(A1)
	DBRA	D1,lbC001934

	LEA	dsk,A0
	MOVE.L	#$3400,D6
	JSR	lbC001D4A
	LEA	$3807C,A0
	MOVEQ	#0,D0
	MOVE.W	$3FF32,D0
	SUBQ.L	#1,D0
lbC001966	ADD.L	#$18,A0
	MOVE.W	#sync,(A0)+
	MOVE.W	#sync,(A0)+
	MOVE.W	#sync,(A0)+
	ADD.L	#$52,A0
	MOVE.W	#sync,(A0)+
	MOVE.W	#sync,(A0)+
	MOVE.W	#sync,(A0)+
	ADD.L	#$456,A0
	DBRA	D0,lbC001966

	MOVE.L	$3FF2C,A0
	CLR.L	D0
	MOVE.W	$3FF2A,D0
	LSL.L	#8,D0
	LSL.L	#1,D0
	ADD.L	D0,A0
	BTST	#3,$BFE001
	BEQ.S	lbC001A1A
	MOVE.W	#2,_custom+intreq
	MOVE.L	#dsk,_custom+dskpth
	MOVE.W	#$7F00,_custom+adkcon
	MOVE.W	#$8100,_custom+adkcon
	MOVE.W	#$8210,_custom+dmacon
	MOVE.W	#dsksize,_custom+dsklen
	BSR	lbC001C9C
	MOVE.W	#$D86A,_custom+dsklen
	MOVE.W	#$D86A,_custom+dsklen
	BSR	lbC001D20
	MOVE.W	#dsksize,_custom+dsklen
	CLR.L	D0
	RTS

lbC001A0A	MOVE.L	D0,-(SP)
	MOVE.L	#15,D0
	BSR	lbC001C7A
	MOVE.L	(SP)+,D0
	RTS

lbC001A1A	MOVE.L	#$FFFFFFF3,D0
	MOVE.W	#$64,$3FF20
	BSR	lbC001422
	MOVE.W	$3FF1C,-(SP)
	MOVE.W	D0,-(SP)
	MOVE.L	$404.w,A0
	JSR	(A0)
	ADDQ.L	#4,SP
	MOVE.L	D0,-(SP)
	BSR	lbC00136E
	MOVE.L	(SP)+,D0
	CMP.L	#$10000,D0
	BNE.S	lbC001A50
	JMP	(A6)

lbC001A50	MOVE.W	#$FFFF,temp1
	MOVE.L	#$FFFFFFF3,D0
	RTS

lbC001A60	MOVE.L	#$FFFFFFEF,D0
	RTS

lbC001A68	LEA	lbC001A68(PC),A6
	LEA	dsk,A1
	MOVEQ	#14,D0
lbC001A74	MOVE.L	#gap4,(A1)+
	DBRA	D0,lbC001A74

	MOVEQ	#1,D1
lbC001A80	MOVEQ	#2,D0
lbC001A82	CLR.L	(A1)+
	DBRA	D0,lbC001A82

	MOVE.L	#$A1A1A1FE,(A1)+
	MOVE.B	$3FF27,(A1)+
	MOVE.B	$3FF25,(A1)+
	MOVE.B	D1,(A1)+
	MOVE.B	#2,(A1)+
	MOVEM.L	D2/D6/D7/A1,-(SP)
	SUBQ.L	#8,A1
	MOVEQ	#-$1,D6
	MOVEQ	#-$1,D7
	MOVEQ	#7,D2
	BSR	lbC001E0A
	MOVE.B	D6,(A1)+
	MOVE.B	D7,(A1)+
	MOVEM.L	(SP)+,D2/D6/D7/A1
	ADDQ.L	#2,A1
	MOVEQ	#10,D0
lbC001ABC	MOVE.W	#gap2,(A1)+
	DBRA	D0,lbC001ABC

	MOVEQ	#2,D0
lbC001AC6	CLR.L	(A1)+
	DBRA	D0,lbC001AC6

	MOVE.L	#$A1A1A1FB,(A1)+
	MOVE.L	#$FF,D0
lbC001AD8	MOVE.W	$3FF30,(A1)+
	DBRA	D0,lbC001AD8

	MOVEM.L	D2/D6/D7/A1,-(SP)
	SUB.L	#$204,A1
	MOVEQ	#-$1,D6
	MOVEQ	#-$1,D7
	MOVE.L	#$203,D2
	BSR	lbC001E0A
	MOVE.B	D6,(A1)+
	MOVE.B	D7,(A1)+
	MOVEM.L	(SP)+,D2/D6/D7/A1
	ADDQ.L	#2,A1
	MOVEQ	#9,D0
lbC001B06	MOVE.L	#gap4,(A1)+
	DBRA	D0,lbC001B06

	ADDQ.L	#1,D1
	MOVE.W	$3FF32,D2
	ADD.W	#1,D2
	CMP.B	D2,D1
	BNE	lbC001A80
	LEA	dsk+$1A00,A0
lbC001B28	MOVE.L	#gap4,(A1)+
	CMP.L	A0,A1
	BLT.S	lbC001B28
	LEA	$3B404,A1
	LEA	dsk+$1A00,A0
	LEA	lbW00226A,A2
	MOVE.L	#$19FF,D1
lbC001B4C	MOVEQ	#0,D0
	MOVE.B	-(A0),D0
	ADD.W	D0,D0
	MOVE.W	0(A2,D0.W),D0
	MOVE.W	D0,-(A1)
	DBRA	D1,lbC001B4C

	LEA	dsk,A0
	MOVE.L	#$3400,D6
	JSR	lbC001D4A
	LEA	$3807C,A0
	MOVEQ	#0,D0
	MOVE.W	$3FF32,D0
	SUBQ.L	#1,D0
lbC001B7E	ADD.L	#$18,A0
	MOVE.W	#sync,(A0)+
	MOVE.W	#sync,(A0)+
	MOVE.W	#sync,(A0)+
	ADD.L	#$52,A0
	MOVE.W	#sync,(A0)+
	MOVE.W	#sync,(A0)+
	MOVE.W	#sync,(A0)+
	ADD.L	#$456,A0
	DBRA	D0,lbC001B7E

	BSR	lbC001CCA
	MOVE.L	#$A88,D7
	BSR	lbC001CC0
	BTST	#2,$BFE001
	BEQ	lbC001A60
	BSET	#2,$BFD100
	TST.W	$3FF24
	BEQ.S	lbC001BDE
	BCLR	#2,$BFD100
lbC001BDE	BTST	#3,$BFE001
	BEQ	lbC001A1A
	MOVE.W	#2,_custom+intreq
	MOVE.L	#dsk,_custom+dskpth
	MOVE.W	#$7F00,_custom+adkcon
	MOVE.W	#$8100,_custom+adkcon
	MOVE.W	#$8210,_custom+dmacon
	MOVE.W	#dsksize,_custom+dsklen
	BSR.S	lbC001C9C
	MOVE.W	#$D86A,_custom+dsklen
	MOVE.W	#$D86A,_custom+dsklen
	BSR	lbC001D20
	MOVE.W	#dsksize,_custom+dsklen
	MOVE.W	$3FF22,D1
	MOVE.W	temp1,D0
	CMP.W	D0,D1
	BNE.S	lbC001C56
	MOVE.W	#$FFFF,temp1
lbC001C56	MOVEQ	#0,D0
	RTS

lbC001C5A	MOVE.L	D0,-(SP)
	MOVE.W	#$FFF,D0
lbC001C60	MOVE.W	_custom+vhposr,_custom+color2
	DBRA	D0,lbC001C60

	MOVE.W	#foreground,_custom+color2
	MOVE.L	(SP)+,D0
	RTS

lbC001C7A	MOVEM.L	D0/D1,-(SP)
	MOVE.L	#$7FFF,D1
lbC001C84	MOVE.W	D0,_custom+color0
	DBRA	D1,lbC001C84

	MOVE.W	#$666,_custom+color0
	MOVEM.L	(SP)+,D0/D1
	RTS

lbC001C9C	MOVE.B	#$20,$BFDD00
	BTST	#4,$BFDD00
	BNE.S	lbC001C9C
	MOVE.W	#$7D00,D0
lbC001CB2	BTST	#4,$BFDD00
	DBNE	D0,lbC001CB2

	RTS

lbC001CC0	SUB.L	#1,D7
	BNE.S	lbC001CC0
	RTS

lbC001CCA	MOVE.W	$3FF22,D0
	LEA	$3FF34,A0
	LEA	0(A0,D0.W),A0
lbC001CDA	MOVE.W	$3FF26,D1
	BSET	#1,$BFD100
	CMP.B	(A0),D1
	BEQ	lbC0014F0
	BLS.S	lbC001CFA
	BCLR	#1,$BFD100
	ADDQ.B	#2,(A0)
lbC001CFA	SUBQ.B	#1,(A0)
	BCLR	#0,$BFD100
	NOP
	NOP
	NOP
	NOP
	BSET	#0,$BFD100
	MOVE.L	#$A88,D7
	BSR.S	lbC001CC0
	BRA.S	lbC001CDA

lbC001D20	MOVE.L	#timeout,D7
lbC001D26	MOVE.W	_custom+intreqr,D0
	BTST	#1,D0
	BNE.S	lbC001D3E
	SUBQ.L	#1,D7
	BNE.S	lbC001D26
	MOVE.L	#$FFFFFFFF,D0
	RTS

lbC001D3E	MOVE.W	#2,_custom+intreq
	MOVEQ	#0,D0
	RTS

lbC001D4A	MOVE.W	#$40,_custom+intreq
	MOVE.W	#$5555,_custom+bltcdat
	MOVE.L	A0,-(SP)
	ADD.L	#$40,D6
	AND.L	#$FFFFFFE0,D6
	ADD.L	D6,A0
	OR.W	#$20,D6
	SUBQ.L	#2,A0
	MOVE.L	A0,_custom+bltapth
	MOVE.W	#0,_custom+bltamod
	MOVE.W	#$FFFF,_custom+bltafwm
	MOVE.W	#$FFFF,_custom+bltalwm
	MOVE.L	A0,_custom+bltbpth
	MOVE.L	A0,_custom+bltdpth
	MOVE.W	#0,_custom+bltbmod
	MOVE.W	#0,_custom+bltdmod
	MOVE.W	#$1002,_custom+bltcon1
	MOVE.W	#$DB1,_custom+bltcon0
	MOVE.W	D6,_custom+bltsize
	BSR.S	lbC001DF4
	MOVE.L	(SP)+,A0
	MOVE.L	A0,_custom+bltapth
	MOVE.L	A0,_custom+bltbpth
	MOVE.L	A0,_custom+bltdpth
	MOVE.W	#0,_custom+bltcon1
	MOVE.W	#$1D8C,_custom+bltcon0
	MOVE.W	D6,_custom+bltsize
	BSR.S	lbC001DF4
	RTS

lbC001DF4	MOVE.W	_custom+intreqr,D3
	BTST	#6,D3
	BEQ.S	lbC001DF4
	MOVE.W	#$40,_custom+intreq
	RTS

lbC001E0A	MOVEM.L	D4/D5/A6,-(SP)
	LEA	lbW00246A,A6
	MOVE.L	A6,D4
	MOVEQ	#0,D5
lbC001E18	MOVE.B	(A1)+,D5
	MOVE.L	D4,A6
	EOR.B	D6,D5
	ADD.W	D5,A6
	MOVE.B	(A6),D6
	EOR.B	D7,D6
	MOVE.B	$100(A6),D7
	DBRA	D2,lbC001E18

	MOVEM.L	(SP)+,D4/D5/A6
	RTS

lbC001E32	MOVEM.L	D0-D3,-(SP)
	SUBQ.B	#1,lbB001EDE
	BNE	lbC001ED8
	MOVE.B	#$32,lbB001EDE
	MOVE.B	rtc,D0
	MOVE.B	rtc+2,D1
	BSR	lbC001EE0
	MOVE.B	D0,rtc
	MOVE.B	D1,rtc+2
	CMP.B	#$3C,D2
	BNE.S	lbC001ED8
	CLR.B	rtc
	CLR.B	rtc+2
	MOVE.B	rtc+4,D0
	MOVE.B	rtc+6,D1
	BSR.S	lbC001EE0
	MOVE.B	D0,rtc+4
	MOVE.B	D1,rtc+6
	CMP.B	#$3C,D2
	BNE.S	lbC001ED8
	CLR.B	rtc+4
	CLR.B	rtc+6
	MOVE.B	rtc+8,D0
	MOVE.B	rtc+10,D1
	BSR.S	lbC001EE0
	MOVE.B	D0,rtc+8
	MOVE.B	D1,rtc+10
	CMP.B	#$19,D2
	BNE.S	lbC001ED8
	CLR.B	rtc+8
	CLR.B	rtc+10
lbC001ED8	MOVEM.L	(SP)+,D0-D3
	RTS

lbB001EDE	dc.b	$32
	dc.b	0

lbC001EE0	LSL.B	#4,D1
	OR.B	D1,D0
	ADDQ.B	#1,D0
	MOVE.B	D0,D1
	MOVE.B	D0,D2
	LSR.B	#4,D1
	AND.B	#15,D0
	RTS

GETTIME	MOVEQ	#0,D0
	MOVEQ	#0,D1
	MOVEQ	#0,D2
	MOVE.B	rtc+14,D1
	MOVE.B	rtc+16,D2
	LSL.B	#4,D2
	OR.B	D2,D1
	AND.L	#$1F,D1
	OR.W	D1,D0
	MOVE.B	rtc+18,D1
	MOVE.B	rtc+20,D2
	LSL.B	#4,D2
	OR.B	D2,D1
	AND.L	#15,D1
	LSL.L	#5,D1
	OR.W	D1,D0
	MOVE.B	rtc+22,D1
	MOVE.B	rtc+24,D2
	LSL.B	#4,D2
	OR.B	D2,D1
	AND.L	#$7F,D1
	LSL.L	#8,D1
	LSL.L	#1,D1
	OR.W	D1,D0
	SWAP	D0
	MOVE.B	rtc,D1
	MOVE.B	rtc+2,D2
	LSL.B	#4,D2
	OR.B	D2,D1
	LSR.B	#1,D1
	AND.L	#$1F,D1
	OR.W	D1,D0
	MOVE.B	rtc+4,D1
	MOVE.B	rtc+6,D2
	LSL.B	#4,D2
	OR.B	D2,D1
	AND.L	#$3F,D1
	LSL.L	#5,D1
	OR.W	D1,D0
	MOVE.B	rtc+8,D1
	MOVE.B	rtc+10,D2
	LSL.B	#4,D2
	OR.B	D2,D1
	AND.L	#$1F,D1
	LSL.L	#8,D1
	LSL.L	#3,D1
	OR.W	D1,D0
	MOVEQ	#0,D1
	MOVEQ	#0,D2
	RTS

SETTIME	MOVE.L	4(SP),D0
	CMP.W	#2,D0
	BGE.S	lbC001FAE
	BRA.S	lbC002014

lbC001FAE	MOVE.L	D0,D1
	AND.L	#$1F,D1
	MOVE.L	D1,D2
	LSR.B	#4,D2
	AND.B	#15,D1
	AND.B	#15,D2
	MOVE.B	D1,rtc
	MOVE.B	D2,rtc+2
	MOVE.L	D0,D1
	LSR.L	#5,D1
	AND.L	#$3F,D1
	MOVE.L	D1,D2
	LSR.B	#4,D2
	AND.B	#15,D1
	AND.B	#15,D2
	MOVE.B	D1,rtc+4
	MOVE.B	D2,rtc+6
	MOVE.L	D0,D1
	LSR.L	#8,D1
	LSR.L	#3,D1
	AND.L	#$1F,D1
	MOVE.L	D1,D2
	LSR.B	#4,D2
	AND.B	#15,D1
	AND.B	#15,D2
	MOVE.B	D1,rtc+8
	MOVE.B	D2,rtc+10
lbC002014	SWAP	D0
	MOVE.W	D0,D1
	AND.L	#$1F,D1
	MOVE.L	D1,D2
	LSR.B	#4,D2
	MOVE.B	D1,rtc+14
	MOVE.B	D2,rtc+16
	MOVE.L	D0,D1
	LSR.L	#5,D1
	AND.L	#15,D1
	MOVE.L	D1,D2
	LSR.B	#4,D2
	MOVE.B	D1,rtc+18
	MOVE.B	D2,rtc+20
	MOVE.L	D0,D1
	LSR.L	#8,D1
	LSR.L	#1,D1
	AND.L	#$7F,D1
	MOVE.L	D1,D2
	LSR.B	#4,D2
	MOVE.B	D1,rtc+22
	MOVE.B	D2,rtc+24
	MOVEQ	#0,D1
	MOVEQ	#0,D2
	RTS

lbW00206A	dcb.w	2,$10
	dcb.w	2,$2030
	dcb.w	2,$10
	dcb.w	2,$2030
	dcb.w	2,$4050
	dcb.w	2,$6070
	dcb.w	2,$4050
	dcb.w	2,$6070
	dcb.w	2,$10
	dcb.w	2,$2030
	dcb.w	2,$10
	dcb.w	2,$2030
	dcb.w	2,$4050
	dcb.w	2,$6070
	dcb.w	2,$4050
	dcb.w	2,$6070
	dcb.w	2,$8090
	dcb.w	2,$A0B0
	dcb.w	2,$8090
	dcb.w	2,$A0B0
	dcb.w	2,$C0D0
	dcb.w	2,$E0F0
	dcb.w	2,$C0D0
	dcb.w	2,$E0F0
	dcb.w	2,$8090
	dcb.w	2,$A0B0
	dcb.w	2,$8090
	dcb.w	2,$A0B0
	dcb.w	2,$C0D0
	dcb.w	2,$E0F0
	dcb.w	2,$C0D0
	dcb.w	2,$E0F0
	dcb.w	2,$10
	dcb.w	2,$2030
	dcb.w	2,$10
	dcb.w	2,$2030
	dcb.w	2,$4050
	dcb.w	2,$6070
	dcb.w	2,$4050
	dcb.w	2,$6070
	dcb.w	2,$10
	dcb.w	2,$2030
	dcb.w	2,$10
	dcb.w	2,$2030
	dcb.w	2,$4050
	dcb.w	2,$6070
	dcb.w	2,$4050
	dcb.w	2,$6070
	dcb.w	2,$8090
	dcb.w	2,$A0B0
	dcb.w	2,$8090
	dcb.w	2,$A0B0
	dcb.w	2,$C0D0
	dcb.w	2,$E0F0
	dcb.w	2,$C0D0
	dcb.w	2,$E0F0
	dcb.w	2,$8090
	dcb.w	2,$A0B0
	dcb.w	2,$8090
	dcb.w	2,$A0B0
	dcb.w	2,$C0D0
	dcb.w	2,$E0F0
	dcb.w	2,$C0D0
	dcb.w	2,$E0F0
lbW00216A	dcb.w	2,1
	dcb.w	2,$203
	dcb.w	2,1
	dcb.w	2,$203
	dcb.w	2,$405
	dcb.w	2,$607
	dcb.w	2,$405
	dcb.w	2,$607
	dcb.w	2,1
	dcb.w	2,$203
	dcb.w	2,1
	dcb.w	2,$203
	dcb.w	2,$405
	dcb.w	2,$607
	dcb.w	2,$405
	dcb.w	2,$607
	dcb.w	2,$809
	dcb.w	2,$A0B
	dcb.w	2,$809
	dcb.w	2,$A0B
	dcb.w	2,$C0D
	dcb.w	2,$E0F
	dcb.w	2,$C0D
	dcb.w	2,$E0F
	dcb.w	2,$809
	dcb.w	2,$A0B
	dcb.w	2,$809
	dcb.w	2,$A0B
	dcb.w	2,$C0D
	dcb.w	2,$E0F
	dcb.w	2,$C0D
	dcb.w	2,$E0F
	dcb.w	2,1
	dcb.w	2,$203
	dcb.w	2,1
	dcb.w	2,$203
	dcb.w	2,$405
	dcb.w	2,$607
	dcb.w	2,$405
	dcb.w	2,$607
	dcb.w	2,1
	dcb.w	2,$203
	dcb.w	2,1
	dcb.w	2,$203
	dcb.w	2,$405
	dcb.w	2,$607
	dcb.w	2,$405
	dcb.w	2,$607
	dcb.w	2,$809
	dcb.w	2,$A0B
	dcb.w	2,$809
	dcb.w	2,$A0B
	dcb.w	2,$C0D
	dcb.w	2,$E0F
	dcb.w	2,$C0D
	dcb.w	2,$E0F
	dcb.w	2,$809
	dcb.w	2,$A0B
	dcb.w	2,$809
	dcb.w	2,$A0B
	dcb.w	2,$C0D
	dcb.w	2,$E0F
	dcb.w	2,$C0D
	dcb.w	2,$E0F
lbW00226A	dc.w	0
	dc.w	1
	dc.w	4
	dc.w	5
	dc.w	$10
	dc.w	$11
	dc.w	$14
	dc.w	$15
	dc.w	$40
	dc.w	$41
	dc.w	$44
	dc.w	$45
	dc.w	$50
	dc.w	$51
	dc.w	$54
	dc.w	$55
	dc.w	$100
	dc.w	$101
	dc.w	$104
	dc.w	$105
	dc.w	$110
	dc.w	$111
	dc.w	$114
	dc.w	$115
	dc.w	$140
	dc.w	$141
	dc.w	$144
	dc.w	$145
	dc.w	$150
	dc.w	$151
	dc.w	$154
	dc.w	$155
	dc.w	$400
	dc.w	$401
	dc.w	$404
	dc.w	$405
	dc.w	$410
	dc.w	$411
	dc.w	$414
	dc.w	$415
	dc.w	$440
	dc.w	$441
	dc.w	$444
	dc.w	$445
	dc.w	$450
	dc.w	$451
	dc.w	$454
	dc.w	$455
	dc.w	$500
	dc.w	$501
	dc.w	$504
	dc.w	$505
	dc.w	$510
	dc.w	$511
	dc.w	$514
	dc.w	$515
	dc.w	$540
	dc.w	$541
	dc.w	$544
	dc.w	$545
	dc.w	$550
	dc.w	$551
	dc.w	$554
	dc.w	$555
	dc.w	$1000
	dc.w	$1001
	dc.w	$1004
	dc.w	$1005
	dc.w	$1010
	dc.w	$1011
	dc.w	$1014
	dc.w	$1015
	dc.w	$1040
	dc.w	$1041
	dc.w	$1044
	dc.w	$1045
	dc.w	$1050
	dc.w	$1051
	dc.w	$1054
	dc.w	$1055
	dc.w	$1100
	dc.w	$1101
	dc.w	$1104
	dc.w	$1105
	dc.w	$1110
	dc.w	$1111
	dc.w	$1114
	dc.w	$1115
	dc.w	$1140
	dc.w	$1141
	dc.w	$1144
	dc.w	$1145
	dc.w	$1150
	dc.w	$1151
	dc.w	$1154
	dc.w	$1155
	dc.w	$1400
	dc.w	$1401
	dc.w	$1404
	dc.w	$1405
	dc.w	$1410
	dc.w	$1411
	dc.w	$1414
	dc.w	$1415
	dc.w	$1440
	dc.w	$1441
	dc.w	$1444
	dc.w	$1445
	dc.w	$1450
	dc.w	$1451
	dc.w	$1454
	dc.w	$1455
	dc.w	$1500
	dc.w	$1501
	dc.w	$1504
	dc.w	$1505
	dc.w	$1510
	dc.w	$1511
	dc.w	$1514
	dc.w	$1515
	dc.w	$1540
	dc.w	$1541
	dc.w	$1544
	dc.w	$1545
	dc.w	$1550
	dc.w	$1551
	dc.w	$1554
	dc.w	$1555
	dc.w	$4000
	dc.w	$4001
	dc.w	$4004
	dc.w	$4005
	dc.w	$4010
	dc.w	$4011
	dc.w	$4014
	dc.w	$4015
	dc.w	$4040
	dc.w	$4041
	dc.w	$4044
	dc.w	$4045
	dc.w	$4050
	dc.w	$4051
	dc.w	$4054
	dc.w	$4055
	dc.w	$4100
	dc.w	$4101
	dc.w	$4104
	dc.w	$4105
	dc.w	$4110
	dc.w	$4111
	dc.w	$4114
	dc.w	$4115
	dc.w	$4140
	dc.w	$4141
	dc.w	$4144
	dc.w	$4145
	dc.w	$4150
	dc.w	$4151
	dc.w	$4154
	dc.w	$4155
	dc.w	$4400
	dc.w	$4401
	dc.w	$4404
	dc.w	$4405
	dc.w	$4410
	dc.w	$4411
	dc.w	$4414
	dc.w	$4415
	dc.w	$4440
	dc.w	$4441
	dc.w	$4444
	dc.w	$4445
	dc.w	$4450
	dc.w	$4451
	dc.w	$4454
	dc.w	$4455
	dc.w	$4500
	dc.w	$4501
	dc.w	$4504
	dc.w	$4505
	dc.w	$4510
	dc.w	$4511
	dc.w	$4514
	dc.w	$4515
	dc.w	$4540
	dc.w	$4541
	dc.w	$4544
	dc.w	$4545
	dc.w	$4550
	dc.w	$4551
	dc.w	$4554
	dc.w	$4555
	dc.w	$5000
	dc.w	$5001
	dc.w	$5004
	dc.w	$5005
	dc.w	$5010
	dc.w	$5011
	dc.w	$5014
	dc.w	$5015
	dc.w	$5040
	dc.w	$5041
	dc.w	$5044
	dc.w	$5045
	dc.w	$5050
	dc.w	$5051
	dc.w	$5054
	dc.w	$5055
	dc.w	$5100
	dc.w	$5101
	dc.w	$5104
	dc.w	$5105
	dc.w	$5110
	dc.w	$5111
	dc.w	$5114
	dc.w	$5115
	dc.w	$5140
	dc.w	$5141
	dc.w	$5144
	dc.w	$5145
	dc.w	$5150
	dc.w	$5151
	dc.w	$5154
	dc.w	$5155
	dc.w	$5400
	dc.w	$5401
	dc.w	$5404
	dc.w	$5405
	dc.w	$5410
	dc.w	$5411
	dc.w	$5414
	dc.w	$5415
	dc.w	$5440
	dc.w	$5441
	dc.w	$5444
	dc.w	$5445
	dc.w	$5450
	dc.w	$5451
	dc.w	$5454
	dc.w	$5455
	dc.w	$5500
	dc.w	$5501
	dc.w	$5504
	dc.w	$5505
	dc.w	$5510
	dc.w	$5511
	dc.w	$5514
	dc.w	$5515
	dc.w	$5540
	dc.w	$5541
	dc.w	$5544
	dc.w	$5545
	dc.w	$5550
	dc.w	$5551
	dc.w	$5554
	dc.w	$5555
lbW00246A	dc.w	$10
	dc.w	$2030
	dc.w	$4050
	dc.w	$6070
	dc.w	$8191
	dc.w	$A1B1
	dc.w	$C1D1
	dc.w	$E1F1
	dc.w	$1202
	dc.w	$3222
	dc.w	$5242
	dc.w	$7262
	dc.w	$9383
	dc.w	$B3A3
	dc.w	$D3C3
	dc.w	$F3E3
	dc.w	$2434
	dc.w	$414
	dc.w	$6474
	dc.w	$4454
	dc.w	$A5B5
	dc.w	$8595
	dc.w	$E5F5
	dc.w	$C5D5
	dc.w	$3626
	dc.w	$1606
	dc.w	$7666
	dc.w	$5646
	dc.w	$B7A7
	dc.w	$9787
	dc.w	$F7E7
	dc.w	$D7C7
	dc.w	$4858
	dc.w	$6878
	dc.w	$818
	dc.w	$2838
	dc.w	$C9D9
	dc.w	$E9F9
	dc.w	$8999
	dc.w	$A9B9
	dc.w	$5A4A
	dc.w	$7A6A
	dc.w	$1A0A
	dc.w	$3A2A
	dc.w	$DBCB
	dc.w	$FBEB
	dc.w	$9B8B
	dc.w	$BBAB
	dc.w	$6C7C
	dc.w	$4C5C
	dc.w	$2C3C
	dc.w	$C1C
	dc.w	$EDFD
	dc.w	$CDDD
	dc.w	$ADBD
	dc.w	$8D9D
	dc.w	$7E6E
	dc.w	$5E4E
	dc.w	$3E2E
	dc.w	$1E0E
	dc.w	$FFEF
	dc.w	$DFCF
	dc.w	$BFAF
	dc.w	$9F8F
	dc.w	$9181
	dc.w	$B1A1
	dc.w	$D1C1
	dc.w	$F1E1
	dc.w	$1000
	dc.w	$3020
	dc.w	$5040
	dc.w	$7060
	dc.w	$8393
	dc.w	$A3B3
	dc.w	$C3D3
	dc.w	$E3F3
	dc.w	$212
	dc.w	$2232
	dc.w	$4252
	dc.w	$6272
	dc.w	$B5A5
	dc.w	$9585
	dc.w	$F5E5
	dc.w	$D5C5
	dc.w	$3424
	dc.w	$1404
	dc.w	$7464
	dc.w	$5444
	dc.w	$A7B7
	dc.w	$8797
	dc.w	$E7F7
	dc.w	$C7D7
	dc.w	$2636
	dc.w	$616
	dc.w	$6676
	dc.w	$4656
	dc.w	$D9C9
	dc.w	$F9E9
	dc.w	$9989
	dc.w	$B9A9
	dc.w	$5848
	dc.w	$7868
	dc.w	$1808
	dc.w	$3828
	dc.w	$CBDB
	dc.w	$EBFB
	dc.w	$8B9B
	dc.w	$ABBB
	dc.w	$4A5A
	dc.w	$6A7A
	dc.w	$A1A
	dc.w	$2A3A
	dc.w	$FDED
	dc.w	$DDCD
	dc.w	$BDAD
	dc.w	$9D8D
	dc.w	$7C6C
	dc.w	$5C4C
	dc.w	$3C2C
	dc.w	$1C0C
	dc.w	$EFFF
	dc.w	$CFDF
	dc.w	$AFBF
	dc.w	$8F9F
	dc.w	$6E7E
	dc.w	$4E5E
	dc.w	$2E3E
	dc.w	$E1E
	dc.w	$21
	dc.w	$4263
	dc.w	$84A5
	dc.w	$C6E7
	dc.w	$829
	dc.w	$4A6B
	dc.w	$8CAD
	dc.w	$CEEF
	dc.w	$3110
	dc.w	$7352
	dc.w	$B594
	dc.w	$F7D6
	dc.w	$3918
	dc.w	$7B5A
	dc.w	$BD9C
	dc.w	$FFDE
	dc.w	$6243
	dc.w	$2001
	dc.w	$E6C7
	dc.w	$A485
	dc.w	$6A4B
	dc.w	$2809
	dc.w	$EECF
	dc.w	$AC8D
	dc.w	$5372
	dc.w	$1130
	dc.w	$D7F6
	dc.w	$95B4
	dc.w	$5B7A
	dc.w	$1938
	dc.w	$DFFE
	dc.w	$9DBC
	dc.w	$C4E5
	dc.w	$86A7
	dc.w	$4061
	dc.w	$223
	dc.w	$CCED
	dc.w	$8EAF
	dc.w	$4869
	dc.w	$A2B
	dc.w	$F5D4
	dc.w	$B796
	dc.w	$7150
	dc.w	$3312
	dc.w	$FDDC
	dc.w	$BF9E
	dc.w	$7958
	dc.w	$3B1A
	dc.w	$A687
	dc.w	$E4C5
	dc.w	$2203
	dc.w	$6041
	dc.w	$AE8F
	dc.w	$ECCD
	dc.w	$2A0B
	dc.w	$6849
	dc.w	$97B6
	dc.w	$D5F4
	dc.w	$1332
	dc.w	$5170
	dc.w	$9FBE
	dc.w	$DDFC
	dc.w	$1B3A
	dc.w	$5978
	dc.w	$88A9
	dc.w	$CAEB
	dc.w	$C2D
	dc.w	$4E6F
	dc.w	$80A1
	dc.w	$C2E3
	dc.w	$425
	dc.w	$4667
	dc.w	$B998
	dc.w	$FBDA
	dc.w	$3D1C
	dc.w	$7F5E
	dc.w	$B190
	dc.w	$F3D2
	dc.w	$3514
	dc.w	$7756
	dc.w	$EACB
	dc.w	$A889
	dc.w	$6E4F
	dc.w	$2C0D
	dc.w	$E2C3
	dc.w	$A081
	dc.w	$6647
	dc.w	$2405
	dc.w	$DBFA
	dc.w	$99B8
	dc.w	$5F7E
	dc.w	$1D3C
	dc.w	$D3F2
	dc.w	$91B0
	dc.w	$5776
	dc.w	$1534
	dc.l	$4C6D0E2F
	dc.l	$C8E98AAB
	dc.l	$44650627
	dc.l	$C0E182A3
	dc.l	$7D5C3F1E
	dc.l	$F9D8BB9A
	dc.l	$75543716
	dc.l	$F1D0B392
	dc.l	$2E0F6C4D
	dc.l	$AA8BE8C9
	dc.l	$26076445
	dc.l	$A283E0C1
	dc.l	$1F3E5D7C
	dc.l	$9BBAD9F8
	dc.l	$17365574
	dc.l	$93B2D1F0
	dc.l	$1234
	dc.l	$56780000
	dcb.l	$40,0
	dcb.l	$40,0
	dcb.l	$40,0
	dcb.l	$40,0
	dcb.l	$40,0
	dcb.l	$23,0
	dcb.b	3,0
