sega_cd_load:
		cmpi.w	#'BR',($400180).l
		seq	(sega_cd_flag).w
		bne.w	no_sega_cd
		lea	($A12000).l,a6
		moveq	#0,d0
		move.b	(a6),d0
		bset	#1,d0
		bclr	#0,d0
		move.b	d0,(a6)
		moveq	#$7F,d0

loc_0_2B8:				; CODE XREF: RESET+B6j
		nop
		nop
		dbf	d0,loc_0_2B8
		move.b	#9,2(a6)
		moveq	#0,d0
		lea	($A12003).l,a3

		moveq	#0,d0
		lea	($416000).l,a0
		lea	($420000).l,a1
		bsr.w	sub_0_24DA
		

		lea	(aMainSubcpu).l,a0 ; "MAIN-SUBCPU"
		lea	($426000).l,a1
		moveq	#0,d0
		move.w	#$1EE,d0

loc_0_2F2:				; CODE XREF: RESET+EEj
		move.b	(a0)+,(a1)+
		dbf	d0,loc_0_2F2
		move.b	#$2A,($A12002).l
		lea	($A12001).l,a3
		moveq	#1,d0

loc_0_308:				; CODE XREF: RESET+106j
		move.b	d0,(a3)
		cmp.b	(a3),d0
		bne.s	loc_0_308
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		bsr.s	sub_0_34A
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		bsr.s	sub_0_34A
		move.b	#-1,($A12010).l
no_sega_cd:
		rts
; End of function RESET


; =============== S U B	R O U T	I N E =======================================


sub_0_34A:				; CODE XREF: RESET+11Cp RESET+134p ...
		moveq	#0,d0
		move.w	($A12000).l,d0
		bset	#8,d0
		move.w	d0,($A12000).l
		rts
; End of function sub_0_34A

; ---------------------------------------------------------------------------



; ---------------------------------------------------------------------------
aMainSubcpu:    dc.b 'MAIN-SUBCPU',0 
		dc.b   0
		dc.b   1
		dc.b   0
		dc.b   0
		dc.b   0
		dc.b   0
		dc.b   0
		dc.b   0
		dc.b   0
		dc.b   0
		dc.b   0
		dc.b   0
		dc.b   0
		dc.b   0
		dc.w off_0_37E-aMainSubcpu ; "MAIN-SUBCPU"
		dc.b   0
		dc.b   0
		dc.b   0
		dc.b   0
off_0_37E:
		dc.w loc_0_38A-off_0_37E
		dc.w loc_0_3AE-off_0_37E
		dc.w locret_0_388-off_0_37E
		dc.w locret_0_54A-off_0_37E
		dc.w 0

; ---------------------------------------------------------------------------
locret_0_388:
		rts
; ---------------------------------------------------------------------------
loc_0_38A:
		moveq	#0,d1
		move.w	#$3FC,d1
		move.w	#$85,d0
		jsr	($5F22).w
		move.w	#$8400,d1
		move.w	#$85,d0
		jsr	($5F22).w
		move.b	#0,($FF800F).l
		rts
; ---------------------------------------------------------------------------

loc_0_3AE:				; CODE XREF: ROM:000003BCj
					; ROM:0000041Ej ...
		clr.b	($FF800F).l
		cmpi.b	#-1,($FF8010).l
		beq.s	loc_0_3AE
		move.b	#$42,($FF800F).l
		moveq	#0,d0
		move.b	($FF8010).l,d0
		cmpi.b	#0,d0
		beq.w	loc_0_438
		cmpi.b	#1,d0
		beq.w	loc_0_44E
		cmpi.b	#2,d0
		beq.w	loc_0_460
		cmpi.b	#3,d0
		beq.w	loc_0_474
		cmpi.b	#4,d0
		beq.w	loc_0_4AC
		cmpi.b	#5,d0
		beq.w	loc_0_4DA
		cmpi.b	#6,d0
		beq.w	loc_0_4EC
		cmpi.b	#7,d0
		beq.w	loc_0_4FE
		cmpi.b	#8,d0
		beq.w	loc_0_518
		cmpi.b	#9,d0
		beq.w	loc_0_530
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------
		dc.w $16, $2C, $3E, $52, $8A, $B8, $CA,	$DC, $F6, $10E
word_0_436:	dc.w $1FF		; DATA XREF: ROM:loc_0_438o
; ---------------------------------------------------------------------------

loc_0_438:				; CODE XREF: ROM:000003D2j
		lea	word_0_436(pc),a0
		move.w	#16,d0
		jsr	($5F22).w
		clr.b	($FF800F).l
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------

loc_0_44E:				; CODE XREF: ROM:000003DAj
		move.w	#$A,d0
		jsr	($5F22).w
		clr.b	($FF800F).l
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------

loc_0_460:				; CODE XREF: ROM:000003E2j
		move.w	#2,d0
		jsr	($5F22).w
		clr.b	($FF800F).l
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------
word_0_472:	dc.w 4			; DATA XREF: ROM:0000048Ao
					; ROM:00000496o ...
; ---------------------------------------------------------------------------

loc_0_474:				; CODE XREF: ROM:000003EAj
		move.w	#$89,d0
		jsr	($5F22).w
		moveq	#0,d1
		move.w	#4,d1
		move.w	#$95,d0
		jsr	($5F22).w
		lea	word_0_472(pc),a0
		move.w	($FF8012).l,d0
		move.w	d0,(a0)
		lea	word_0_472(pc),a0
		move.w	#$13,d0
		jsr	($5F22).w
		clr.b	($FF800F).l
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------

loc_0_4AC:				; CODE XREF: ROM:000003F2j
		move.w	#$89,d0
		jsr	($5F22).w
		move.w	#2,d0
		jsr	($5F22).w
		lea	word_0_472(pc),a0
		move.w	($FF8012).l,d0
		move.w	d0,(a0)
		move.w	#$12,d0
		jsr	($5F22).w
		clr.b	($FF800F).l
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------

loc_0_4DA:				; CODE XREF: ROM:000003FAj
		move.w	#3,d0
		jsr	($5F22).w
		clr.b	($FF800F).l
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------

loc_0_4EC:				; CODE XREF: ROM:00000402j
		move.w	#4,d0
		jsr	($5F22).w
		clr.b	($FF800F).l
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------

loc_0_4FE:				; CODE XREF: ROM:0000040Aj
		moveq	#0,d1
		move.w	($FF8012).l,d1
		move.w	#$85,d0
		jsr	($5F22).w
		clr.b	($FF800F).l
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------

loc_0_518:				; CODE XREF: ROM:00000412j
		move.l	($FF8014).l,d1
		move.w	#$86,d0
		jsr	($5F22).w
		clr.b	($FF800F).l
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------

loc_0_530:				; CODE XREF: ROM:0000041Aj
		moveq	#0,d1
		move.b	($FF8011).l,d1
		move.w	#$95,d0
		jsr	($5F22).w
		clr.b	($FF800F).l
		bra.w	loc_0_3AE
; ---------------------------------------------------------------------------
locret_0_54A:
		rts
; ---------------------------------------------------------------------------
		dc.b   0
		dc.b   0


; ---------------------------------------------------------------------------


sub_0_24DA:
		subq.l	#2,sp
		move.b	(a0)+,1(sp)
		move.b	(a0)+,(sp)
		move.w	(sp),d5
		moveq	#$F,d4

loc_0_24E6:
		lsr.w	#1,d5
		move	sr,d6
		dbf	d4,loc_0_24F8
		move.b	(a0)+,1(sp)
		move.b	(a0)+,(sp)
		move.w	(sp),d5
		moveq	#$F,d4

loc_0_24F8:
		move	d6,ccr
		bcc.s	loc_0_2500
		move.b	(a0)+,(a1)+
		bra.s	loc_0_24E6
; ---------------------------------------------------------------------------

loc_0_2500:
		moveq	#0,d3
		lsr.w	#1,d5
		move	sr,d6
		dbf	d4,loc_0_2514
		move.b	(a0)+,1(sp)
		move.b	(a0)+,(sp)
		move.w	(sp),d5
		moveq	#$F,d4

loc_0_2514:
		move	d6,ccr
		bcs.s	loc_0_2544
		lsr.w	#1,d5
		dbf	d4,loc_0_2528
		move.b	(a0)+,1(sp)
		move.b	(a0)+,(sp)
		move.w	(sp),d5
		moveq	#$F,d4

loc_0_2528:
		roxl.w	#1,d3
		lsr.w	#1,d5
		dbf	d4,loc_0_253A
		move.b	(a0)+,1(sp)
		move.b	(a0)+,(sp)
		move.w	(sp),d5
		moveq	#$F,d4

loc_0_253A:
		roxl.w	#1,d3
		addq.w	#1,d3
		moveq	#-1,d2
		move.b	(a0)+,d2
		bra.s	loc_0_255A
; ---------------------------------------------------------------------------

loc_0_2544:
		move.b	(a0)+,d0
		move.b	(a0)+,d1
		moveq	#-1,d2
		move.b	d1,d2
		lsl.w	#5,d2
		move.b	d0,d2
		andi.w	#7,d1
		beq.s	loc_0_2566
		move.b	d1,d3
		addq.w	#1,d3

loc_0_255A:
		move.b	(a1,d2.w),d0
		move.b	d0,(a1)+
		dbf	d3,loc_0_255A
		bra.s	loc_0_24E6
; ---------------------------------------------------------------------------

loc_0_2566:
		move.b	(a0)+,d1
		beq.s	loc_0_2576
		cmpi.b	#1,d1
		beq.w	loc_0_24E6
		move.b	d1,d3
		bra.s	loc_0_255A
; ---------------------------------------------------------------------------

loc_0_2576:
		addq.l	#2,sp
		rts
; End of function sub_0_24DA