		org	0
		dc.l	0,reset
		org	$200


xz_data:	dc.l $FF01F0
		dc.l $10EF11F1,	$FFE02E0, $20FC04C0, $40E21EDE
		dc.w $2200

some_values:    dc.w 0, 0, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 0, 4, 4, 4, 0, 0, 0, 2, 0, 2, 0, 4, 0, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 2, 4, 2
		dc.w 4, 4, 0, 4, 2, 4, 2, 4, 4, 4, 0, 0, 4, 4, 2, 0, 2, 2, 0, 0, 2, 2, 4, 0, 2, 2, 0, 2, 2, 2, 2, 2, 4, 2, 2, 2, 0, 4
		dc.w 2, 2, 4, 4, 2, 2, 2, 4, 0, 0, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 0, 4, 4, 4, 0, 0, 0, 2, 0, 2, 0, 4, 0, 0, 2, 0, 2, 0
		dc.w 4, 0, 4, 0, 4, 2, 4, 2, 4, 4, 0, 4, 2, 4, 2, 4, 4, 4, 4, 0, 0, 4, 2, 0, 2, 2, 0, 0, 2, 2, 4, 0, 2, 2, 0, 2, 2, 2
		dc.w 2, 2, 4, 2, 2, 2, 0, 4, 2, 2, 4, 4, 2, 2, 2, 4


unk_0_25FDE0	equ	$FFF000

map_memory	equ	$FF0180

map_blocks	equ	$FF8000

unk_0_25e380	equ	map_blocks+$2000

unknpown_7c 	equ	$FFF010

map_blocks1	equ	$FFD000


reset:
		move.w	#$7C,(unknpown_7c).l
		move.w	#301,d0				; seed
		move.l	d0,-(sp)
		jsr	seed_generate
		addq.w  #4,sp
		


		lea	map_blocks,a0
		lea	map_blocks1,a1
		move.w	#4095,d1

convert
		move.w	(a0)+,d0
		move.b	d0,(a1)+

		dbf	d1,convert

	
		bra.s	*-0
		



; =============== S U B	R O U T	I N E =======================================



random_for_seed:
		movem.l	d1/a0,-(sp)
		lea	(unk_0_25FDE0).l,a0
		moveq	#0,d0
		move.b	3(a0),d0
		lsr.b	#2,d0
		move.b	1(a0),d1
		roxl.b	#1,d1
		move.b	d1,1(a0)
		move.b	2(a0),d1
		roxl.b	#1,d1
		move.b	d1,2(a0)
		eori	#$11,ccr
		move.b	3(a0),d1
		subx.b	d1,d0
		lsr.b	#1,d0
		move.b	3(a0),d1
		roxr.b	#1,d1
		move.b	d1,3(a0)
		move.b	3(a0),d0
		move.b	2(a0),d1
		eor.b	d1,d0
		andi.l	#$FF,d0
		movem.l	(sp)+,d1/a0
		rts


; =============== S U B	R O U T	I N E =======================================


sub_0_228C28:				; CODE XREF: seed_generate+218p
					; seed_generate+236p

arg_0		=  4
arg_2		=  6

		movem.l	d6-d7,-(sp)
		move.w	$C(sp),d7
		move.w	$E(sp),d6
		move.l	d7,d0
		andi.w	#$3F,d0
		move.l	d6,d1
		asl.w	#6,d1
		add.w	d0,d1
		move.l	d1,d0
		movem.l	(sp)+,d6-d7
		rts
; End of function sub_0_228C28



; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

seed_generate:				; CODE XREF: sub_0_227E82+58p
					; sub_0_22B8F8+204p

var_12C		= -$12C
var_12A		= -$12A
var_128		= -$128
var_126		= -$126
var_124		= -$124
var_122		= -$122
var_120		= -$120
var_11E		= -$11E
var_11C		= -$11C
var_11A		= -$11A
var_118		= -$118
var_116		= -$116
var_114		= -$114
var_96		= -$96
var_94		= -$94
var_16		= -$16
var_12		= -$12
var_10		= -$10
var_E		= -$E
arg_0		=  8

		link	a5,#-$12C
		movem.l	d2-d7/a2-a3/a6,-(sp)
		move.l	arg_0(a5),d7
		move.l	d7,(unk_0_25FDE0).l
		lea.l	(map_memory).l,a0 ; 260af0
		suba.w	#$180,a0
		movea.l	a0,a3		; 260970
		move.l	a3,d0		; fix
*		subq.w	#2,sp
*		moveq	#8,d0
*		move.w	d0,-(sp)
*		jsr	sub_0_22B6F4
*		addq.w	#4,sp
		move.w	#$62FF,d1
		moveq	#0,d2
		movea.l	d0,a0		; 260970

loc_0_22831E:				; CODE XREF: seed_generate+34j
		move.b	d2,(a0)+
		dbf	d1,loc_0_22831E
		move.l	d2,d6
		bra.s	loc_0_228344
; ---------------------------------------------------------------------------

loc_0_228328:				; CODE XREF: seed_generate+5Cj
		jsr	random_for_seed
		movea.l	a3,a0
		adda.w	d6,a0
		andi.b	#$F,d0
		move.b	d0,(a0)
		movea.l	a0,a2
		cmpi.b	#$A,(a2)
		bls.s	loc_0_228342
		move.b	#$A,(a2)

loc_0_228342:				; CODE XREF: seed_generate+50j
		addq.w	#1,d6

loc_0_228344:				; CODE XREF: seed_generate+3Aj
		cmpi.w	#$110,d6
		blt.s	loc_0_228328
		jsr	random_for_seed
		moveq	#0,d1
		move.b	d0,d1
		move.l	d1,d6
		andi.w	#$F,d6
		bra.s	loc_0_2283C2
; ---------------------------------------------------------------------------

loc_0_22835A:				; CODE XREF: seed_generate+D8j
		jsr	random_for_seed
		moveq	#0,d1
		move.b	d0,d1
		andi.w	#$FF,d1
		moveq	#0,d5
		move.w	d1,$26(sp)
		bra.s	loc_0_2283BA
; ---------------------------------------------------------------------------

loc_0_22836E:				; CODE XREF: seed_generate+D2j
		lea	(xz_data).l,a0
		adda.w	d5,a0
		move.b	(a0),d0
		ext.w	d0
		move.w	$26(sp),d1
		add.w	d0,d1
		bge.s	loc_0_228386
		moveq	#0,d0
		bra.s	loc_0_228388
; ---------------------------------------------------------------------------

loc_0_228386:				; CODE XREF: seed_generate+94j
		move.l	d1,d0

loc_0_228388:				; CODE XREF: seed_generate+98j
		cmpi.w	#$110,d0
		ble.s	loc_0_228394
		move.w	#$110,d1
		bra.s	loc_0_228396
; ---------------------------------------------------------------------------

loc_0_228394:				; CODE XREF: seed_generate+A0j
		move.l	d0,d1

loc_0_228396:				; CODE XREF: seed_generate+A6j
		move.w	d1,$24(sp)
		jsr	random_for_seed
		movea.w	$24(sp),a0
		andi.b	#$F,d0
		move.l	a0,d1
		move.b	(a3,d1.w),d1
		add.b	d0,d1
		andi.b	#$F,d1
		move.l	a0,d0
		move.b	d1,(a3,d0.w)
		addq.w	#1,d5

loc_0_2283BA:				; CODE XREF: seed_generate+80j
		moveq	#$15,d0
		cmp.w	d0,d5
		blt.s	loc_0_22836E
		subq.w	#1,d6

loc_0_2283C2:				; CODE XREF: seed_generate+6Cj
		tst.w	d6
		bpl.s	loc_0_22835A
		jsr	random_for_seed
		moveq	#0,d1
		move.b	d0,d1
		move.l	d1,d6
		andi.w	#3,d6
		bra.s	loc_0_228432
; ---------------------------------------------------------------------------

loc_0_2283D6:				; CODE XREF: seed_generate+148j
		jsr	random_for_seed
		moveq	#0,d1
		move.b	d0,d1
		andi.w	#$FF,d1
		moveq	#0,d5
		move.w	d1,$26(sp)
		bra.s	loc_0_22842A
; ---------------------------------------------------------------------------

loc_0_2283EA:				; CODE XREF: seed_generate+142j
		lea	(xz_data).l,a0
		adda.w	d5,a0
		move.b	(a0),d0
		ext.w	d0
		move.w	$26(sp),d1
		add.w	d0,d1
		bge.s	loc_0_228402
		moveq	#0,d0
		bra.s	loc_0_228404
; ---------------------------------------------------------------------------

loc_0_228402:				; CODE XREF: seed_generate+110j
		move.l	d1,d0

loc_0_228404:				; CODE XREF: seed_generate+114j
		cmpi.w	#$110,d0
		ble.s	loc_0_228410
		move.w	#$110,d1
		bra.s	loc_0_228412
; ---------------------------------------------------------------------------

loc_0_228410:				; CODE XREF: seed_generate+11Cj
		move.l	d0,d1

loc_0_228412:				; CODE XREF: seed_generate+122j
		move.w	d1,$24(sp)
		jsr	random_for_seed
		movea.w	$24(sp),a0
		andi.b	#3,d0
		move.l	a0,d1
		move.b	d0,(a3,d1.w)
		addq.w	#1,d5

loc_0_22842A:				; CODE XREF: seed_generate+FCj
		moveq	#$15,d0
		cmp.w	d0,d5
		blt.s	loc_0_2283EA
		subq.w	#1,d6

loc_0_228432:				; CODE XREF: seed_generate+E8j
		tst.w	d6
		bpl.s	loc_0_2283D6
		clr.w	-$10(a5)
		bra.s	loc_0_228470
; ---------------------------------------------------------------------------

loc_0_22843C:				; CODE XREF: seed_generate+18Aj
		clr.w	-$E(a5)
		bra.s	loc_0_228464
; ---------------------------------------------------------------------------

loc_0_228442:				; CODE XREF: seed_generate+17Ej
		move.w	-$10(a5),d0
		asl.w	#6,d0
		move.w	-$E(a5),d1
		add.w	d1,d0
		muls.w	#6,d0
		lea.l	(map_memory).l,a0
		adda.l	d0,a0
		moveq	#0,d0
		move.b	(a3)+,d0
		move.w	d0,(a0)
		addq.w	#4,var_E(a5)

loc_0_228464:				; CODE XREF: seed_generate+154j
		cmpi.w	#$40,-$E(a5)
		blt.s	loc_0_228442
		addq.w	#4,var_10(a5)

loc_0_228470:				; CODE XREF: seed_generate+14Ej
		cmpi.w	#$40,-$10(a5)
		blt.s	loc_0_22843C
		lea.l	(map_memory).l,a0
		suba.w	#$180,a0
		move.w	#$17F,d0
		moveq	#0,d1

loc_0_228488:				; CODE XREF: seed_generate+19Ej
		move.b	d1,(a0)+
		dbf	d0,loc_0_228488
		move.w	d1,var_10(a5)
		move.w	d1,var_12(a5)
		bra.w	loc_0_22857A
; ---------------------------------------------------------------------------

loc_0_22849A:				; CODE XREF: seed_generate+294j
		clr.w	var_E(a5)
		bra.w	loc_0_22856C
; ---------------------------------------------------------------------------

loc_0_2284A2:				; CODE XREF: seed_generate+286j
		tst.w	var_12(a5)
		seq	d0
		neg.b	d0
		ext.w	d0
		moveq	#$15,d1
		muls.w	d1,d0
		move.l	d0,d6
		move.l	d6,d1
		addi.w	#$15,d1
		move.l	d6,d2
		ext.l	d2
		asl.l	#3,d2
		lea	(some_values).l,a0
		adda.l	d2,a0
		movea.l	a0,a3
		move.w	d0,var_12(a5)
		move.w	d1,$150+var_126(sp)
		bra.w	loc_0_228560
; ---------------------------------------------------------------------------

loc_0_2284D4:				; CODE XREF: seed_generate+278j
		move.w	var_10(a5),d0
		move.w	2(a3),d1
		add.w	d0,d1
		move.w	var_E(a5),d2
		move.w	(a3),d3
		add.w	d2,d3
		add.w	6(a3),d0
		add.w	4(a3),d2
		asl.w	#6,d0
		add.w	d2,d0
		move.l	d1,d2
		asl.w	#6,d2
		add.w	d3,d2
		add.w	d0,d2
		lsr.w	#1,d2
		move.w	d1,-(sp)
		move.w	d3,-(sp)
		move.w	d2,$154+var_128(sp)
		bsr.w	sub_0_228C28
		move.w	var_E(a5),d1
		add.w	4(a3),d1
		move.w	var_10(a5),d2
		add.w	6(a3),d2
		subq.w	#2,sp
		move.w	d2,(sp)
		move.w	d1,-(sp)
		move.w	d0,$158+var_12A(sp)
		bsr.w	sub_0_228C28
		addq.w	#8,sp
		move.w	$150+var_128(sp),d1
		move.l	d1,d2
		andi.w	#$F000,d2
		tst.w	d2
		bne.s	loc_0_22855C
		move.w	$150+var_12A(sp),d2
		moveq	#6,d3
		muls.w	d3,d2
		lea.l	(map_memory).l,a0
		movea.l	a0,a1
		adda.l	d2,a1
		muls.w	d3,d0
		movea.l	a0,a6
		adda.l	d0,a6
		move.w	(a1),d0
		add.w	(a6),d0
		muls.w	d3,d1
		adda.l	d1,a0
		addq.w	#1,d0
		lsr.w	#1,d0
		move.w	d0,(a0)

loc_0_22855C:				; CODE XREF: seed_generate+248j
		addq.w	#1,d6
		addq.l	#8,a3

loc_0_228560:				; CODE XREF: seed_generate+1E4j
		cmp.w	$150+var_126(sp),d6
		blt.w	loc_0_2284D4
		addq.w	#4,var_E(a5)

loc_0_22856C:				; CODE XREF: seed_generate+1B2j
		cmpi.w	#$40,var_E(a5) ; '@'
		blt.w	loc_0_2284A2
		addq.w	#4,var_10(a5)

loc_0_22857A:				; CODE XREF: seed_generate+1AAj
		cmpi.w	#$40,var_10(a5)	; '@'
		blt.w	loc_0_22849A
		moveq	#$7F,d0	; ''
		moveq	#0,d1
		lea	var_114(a5),a0

loc_0_22858C:				; CODE XREF: seed_generate+2A2j
		move.b	d1,(a0)+
		dbf	d0,loc_0_22858C
		lea.l	(map_memory).l,a2
		move.l	a2,-$14(a5)
		move.w	d1,var_10(a5)
		bra.w	loc_0_228696
; ---------------------------------------------------------------------------

loc_0_2285A4:				; CODE XREF: seed_generate+3B0j
		moveq	#$7F,d0	; ''
		lea	var_114(a5),a0
		lea	var_94(a5),a1

loc_0_2285AE:				; CODE XREF: seed_generate+2C4j
		move.b	(a0)+,(a1)+
		dbf	d0,loc_0_2285AE
		lea	var_114(a5),a3
		bra.s	loc_0_2285BE
; ---------------------------------------------------------------------------

loc_0_2285BA:				; CODE XREF: seed_generate+2D8j
		move.w	(a2),(a3)+
		addq.l	#6,a2

loc_0_2285BE:				; CODE XREF: seed_generate+2CCj
		lea	var_94(a5),a0
		cmpa.l	a0,a3
		bcs.s	loc_0_2285BA
		moveq	#0,d7
		movea.l	-$14(a5),a2
		bra.w	loc_0_228688
; ---------------------------------------------------------------------------

loc_0_2285D0:				; CODE XREF: seed_generate+3A2j
		lea	var_114(a5),a0
		adda.l	d7,a0
		move.w	(a0),d0
		lea	var_94(a5),a1
		adda.l	d7,a1
		move.w	(a1),var_116(a5)
		move.w	2(a1),var_118(a5)
		move.w	2(a0),var_11A(a5)
		move.w	$186(a2),var_11C(a5)
		move.w	$180(a2),var_11E(a5)
		move.w	$17A(a2),var_120(a5)
		move.w	-2(a0),var_122(a5)
		move.w	-2(a1),var_124(a5)
		move.w	var_10(a5),d1
		bne.s	loc_0_22861E
		move.w	d0,var_116(a5)
		move.w	d0,var_118(a5)
		move.w	d0,var_124(a5)

loc_0_22861E:				; CODE XREF: seed_generate+324j
		tst.l	d7
		bne.s	loc_0_22862E
		move.w	d0,var_124(a5)
		move.w	d0,var_122(a5)
		move.w	d0,var_120(a5)

loc_0_22862E:				; CODE XREF: seed_generate+334j
		moveq	#$3F,d2	; '?'
		cmp.w	d2,d1
		bne.s	loc_0_228640
		move.w	d0,var_11C(a5)
		move.w	d0,var_11E(a5)
		move.w	d0,var_120(a5)

loc_0_228640:				; CODE XREF: seed_generate+346j
		moveq	#$7E,d1	; '~'
		cmp.l	d1,d7
		bne.s	loc_0_228652
		move.w	d0,var_118(a5)
		move.w	d0,var_11A(a5)
		move.w	d0,var_11C(a5)

loc_0_228652:				; CODE XREF: seed_generate+358j
		move.w	var_116(a5),d1
		add.w	var_118(a5),d1
		add.w	var_11A(a5),d1
		add.w	var_11C(a5),d1
		add.w	var_11E(a5),d1
		add.w	var_120(a5),d1
		add.w	var_122(a5),d1
		add.w	var_124(a5),d1
		add.w	d0,d1
		andi.l	#$FFFF,d1
		divu.w	#9,d1
		move.w	d1,(a2)
		addq.l	#6,a2
		move.l	a2,-$14(a5)
		addq.l	#2,d7

loc_0_228688:				; CODE XREF: seed_generate+2E0j
		moveq	#$40,d0	; '@'
		add.l	d0,d0
		cmp.l	d0,d7
		blt.w	loc_0_2285D0
		addq.w	#1,var_10(a5)

loc_0_228696:				; CODE XREF: seed_generate+2B4j
		cmpi.w	#$40,var_10(a5)	; '@'
		blt.w	loc_0_2285A4
		jsr	random_for_seed
		moveq	#0,d1
		move.b	d0,d1
		andi.w	#$F,d1
		moveq	#8,d0
		cmp.w	d0,d1
		bcs.s	loc_0_2286B4
		move.l	d1,d0

loc_0_2286B4:				; CODE XREF: seed_generate+3C4j
		moveq	#$C,d1
		cmp.w	d1,d0
		bhi.s	loc_0_2286BC
		move.l	d0,d1

loc_0_2286BC:				; CODE XREF: seed_generate+3CCj
		move.w	d1,$150+var_128(sp)
		jsr	random_for_seed
		moveq	#0,d1
		move.b	d0,d1
		andi.w	#3,d1
		subq.w	#1,d1
		move.w	$150+var_128(sp),d0
		move.l	d0,d2
		subq.w	#3,d2
		cmp.w	d1,d2
		bcs.s	loc_0_2286DC
		move.l	d1,d2

loc_0_2286DC:				; CODE XREF: seed_generate+3ECj
		lea.l	(map_memory).l,a3
		moveq	#0,d6
		move.w	d2,$150+var_12A(sp)
		bra.s	loc_0_228724
; ---------------------------------------------------------------------------

loc_0_2286EA:				; CODE XREF: seed_generate+43Cj
		move.w	(a3),d0
		clr.w	var_12(a5)
		move.w	$150+var_128(sp),d1
		move.l	d1,d2
		addq.w	#4,d2
		cmp.w	d2,d0
		bls.s	loc_0_228704
		move.w	#6,var_12(a5)
		bra.s	loc_0_22871C
; ---------------------------------------------------------------------------

loc_0_228704:				; CODE XREF: seed_generate+40Ej
		cmp.w	d1,d0
		bcs.s	loc_0_228710
		move.w	#4,var_12(a5)
		bra.s	loc_0_22871C
; ---------------------------------------------------------------------------

loc_0_228710:				; CODE XREF: seed_generate+41Aj
		cmp.w	$150+var_12A(sp),d0
		bhi.s	loc_0_22871C
		moveq	#2,d0
		move.w	d0,var_12(a5)

loc_0_22871C:				; CODE XREF: seed_generate+416j
					; seed_generate+422j ...
		move.w	var_12(a5),(a3)
		addq.l	#6,a3
		addq.w	#1,d6

loc_0_228724:				; CODE XREF: seed_generate+3FCj
		cmpi.w	#4096,d6
		blt.s	loc_0_2286EA
		lea.l	(map_memory).l,a0
		lea	var_116(a5),a3
		movea.l	a0,a2
		move.l	a0,-$14(a5)
		bra.s	loc_0_228740
; ---------------------------------------------------------------------------

loc_0_22873C:				; CODE XREF: seed_generate+45Aj
		move.w	(a2),(a3)+
		addq.l	#6,a2

loc_0_228740:				; CODE XREF: seed_generate+44Ej
		lea	var_96(a5),a0
		cmpa.l	a0,a3
		bcs.s	loc_0_22873C
		clr.w	var_10(a5)
		movea.l	-$14(a5),a2
		bra.w	loc_0_22892A
; ---------------------------------------------------------------------------

loc_0_228754:				; CODE XREF: seed_generate+644j
		moveq	#$7F,d0	; ''
		lea	var_116(a5),a0
		lea	var_96(a5),a1

loc_0_22875E:				; CODE XREF: seed_generate+474j
		move.b	(a0)+,(a1)+
		dbf	d0,loc_0_22875E
		lea	var_116(a5),a3
		bra.s	loc_0_22876E
; ---------------------------------------------------------------------------

loc_0_22876A:				; CODE XREF: seed_generate+488j
		move.w	(a2),(a3)+
		addq.l	#6,a2

loc_0_22876E:				; CODE XREF: seed_generate+47Cj
		lea	var_96(a5),a0
		cmpa.l	a0,a3
		bcs.s	loc_0_22876A
		moveq	#0,d7
		movea.l	-$14(a5),a2
		bra.w	loc_0_22891C
; ---------------------------------------------------------------------------

loc_0_228780:				; CODE XREF: seed_generate+636j
		move.w	(a2),d0
		lea	var_96(a5),a0
		adda.l	d7,a0
		move.w	(a0),var_118(a5)
		lea	var_114(a5),a0
		adda.l	d7,a0
		move.w	(a0),var_11A(a5)
		move.w	$180(a2),var_11C(a5)
		move.w	-4(a0),var_11E(a5)
		move.w	d0,$150+var_12C(sp)
		tst.l	d7
		bne.s	loc_0_2287AE
		move.w	d0,var_11E(a5)

loc_0_2287AE:				; CODE XREF: seed_generate+4BCj
		move.w	var_10(a5),d1
		bne.s	loc_0_2287B8
		move.w	d0,var_118(a5)

loc_0_2287B8:				; CODE XREF: seed_generate+4C6j
		moveq	#$7E,d2	; '~'
		cmp.l	d2,d7
		bne.s	loc_0_2287C2
		move.w	d0,var_11A(a5)

loc_0_2287C2:				; CODE XREF: seed_generate+4D0j
		moveq	#$3F,d2	; '?'
		cmp.w	d2,d1
		bne.s	loc_0_2287CC
		move.w	d0,var_11C(a5)

loc_0_2287CC:				; CODE XREF: seed_generate+4DAj
		moveq	#0,d1
		move.w	d1,var_16(a5)
		moveq	#4,d2
		cmp.w	d2,d0
		bne.s	loc_0_228832
		move.w	var_118(a5),d3
		cmp.w	d3,d0
		beq.s	loc_0_2287E6
		moveq	#6,d4
		cmp.w	d4,d3
		bne.s	loc_0_2287EC

loc_0_2287E6:				; CODE XREF: seed_generate+4F2j
		moveq	#1,d4
		move.w	d4,var_16(a5)

loc_0_2287EC:				; CODE XREF: seed_generate+4F8j
		move.w	var_11A(a5),d4
		cmp.w	d4,d0
		beq.s	loc_0_2287FA
		moveq	#6,d0
		cmp.w	d0,d4
		bne.s	loc_0_228800

loc_0_2287FA:				; CODE XREF: seed_generate+506j
		bset	#1,var_16+1(a5)

loc_0_228800:				; CODE XREF: seed_generate+50Cj
		move.w	var_11C(a5),d0
		move.w	$150+var_12C(sp),d1
		cmp.w	d0,d1
		beq.s	loc_0_228812
		moveq	#6,d4
		cmp.w	d4,d0
		bne.s	loc_0_228818

loc_0_228812:				; CODE XREF: seed_generate+51Ej
		bset	#2,var_16+1(a5)

loc_0_228818:				; CODE XREF: seed_generate+524j
		move.w	var_11E(a5),d4
		cmp.w	d4,d1
		beq.s	loc_0_228828
		moveq	#6,d2
		cmp.w	d2,d4
		bne.w	loc_0_2288CA

loc_0_228828:				; CODE XREF: seed_generate+532j
		bset	#3,var_16+1(a5)
		bra.w	loc_0_2288CA
; ---------------------------------------------------------------------------

loc_0_228832:				; CODE XREF: seed_generate+4EAj
		moveq	#8,d3
		cmp.w	d3,d0
		bne.s	loc_0_22888E
		move.w	var_118(a5),d4
		cmp.w	d4,d0
		beq.s	loc_0_228846
		moveq	#9,d0
		cmp.w	d0,d4
		bne.s	loc_0_22884C

loc_0_228846:				; CODE XREF: seed_generate+552j
		moveq	#1,d0
		move.w	d0,var_16(a5)

loc_0_22884C:				; CODE XREF: seed_generate+558j
		move.w	var_11A(a5),d0
		move.w	$150+var_12C(sp),d1
		cmp.w	d0,d1
		beq.s	loc_0_22885E
		moveq	#9,d4
		cmp.w	d4,d0
		bne.s	loc_0_228864

loc_0_22885E:				; CODE XREF: seed_generate+56Aj
		bset	#1,var_16+1(a5)

loc_0_228864:				; CODE XREF: seed_generate+570j
		move.w	var_11C(a5),d4
		cmp.w	d4,d1
		beq.s	loc_0_228872
		moveq	#9,d0
		cmp.w	d0,d4
		bne.s	loc_0_228878

loc_0_228872:				; CODE XREF: seed_generate+57Ej
		bset	#2,var_16+1(a5)

loc_0_228878:				; CODE XREF: seed_generate+584j
		move.w	var_11E(a5),d0
		cmp.w	d0,d1
		beq.s	loc_0_228886
		moveq	#9,d2
		cmp.w	d2,d0
		bne.s	loc_0_2288CA

loc_0_228886:				; CODE XREF: seed_generate+592j
		bset	#3,var_16+1(a5)
		bra.s	loc_0_2288CA
; ---------------------------------------------------------------------------

loc_0_22888E:				; CODE XREF: seed_generate+54Aj
		move.w	var_118(a5),d4
		cmp.w	d0,d4
		bne.s	loc_0_22889C
		moveq	#1,d0
		move.w	d0,var_16(a5)

loc_0_22889C:				; CODE XREF: seed_generate+5A8j
		move.w	$150+var_12C(sp),d0
		move.w	var_11A(a5),d4
		cmp.w	d0,d4
		bne.s	loc_0_2288AE
		bset	#1,var_16+1(a5)

loc_0_2288AE:				; CODE XREF: seed_generate+5BAj
		move.w	var_11C(a5),d4
		cmp.w	d0,d4
		bne.s	loc_0_2288BC
		bset	#2,var_16+1(a5)

loc_0_2288BC:				; CODE XREF: seed_generate+5C8j
		move.w	var_11E(a5),d4
		cmp.w	d0,d4
		bne.s	loc_0_2288CA
		bset	#3,var_16+1(a5)

loc_0_2288CA:				; CODE XREF: seed_generate+538j
					; seed_generate+542j ...
		move.w	$150+var_12C(sp),d0
		bne.s	loc_0_2288D6
		moveq	#0,d1
		move.w	d1,var_16(a5)

loc_0_2288D6:				; CODE XREF: seed_generate+5E2j
		moveq	#4,d1
		cmp.w	d1,d0
		bne.s	loc_0_2288E0
		addq.w	#1,var_16(a5)

loc_0_2288E0:				; CODE XREF: seed_generate+5EEj
		moveq	#2,d1
		cmp.w	d1,d0
		bne.s	loc_0_2288EC
		moveq	#$13,d1
		add.w	d1,var_16(a5)

loc_0_2288EC:				; CODE XREF: seed_generate+5F8j
		moveq	#6,d1
		cmp.w	d1,d0
		bne.s	loc_0_2288F8
		moveq	#$23,d1	; '#'
		add.w	d1,var_16(a5)

loc_0_2288F8:				; CODE XREF: seed_generate+604j
		moveq	#8,d1
		cmp.w	d1,d0
		bne.s	loc_0_228904
		moveq	#$33,d1	; '3'
		add.w	d1,var_16(a5)

loc_0_228904:				; CODE XREF: seed_generate+610j
		moveq	#9,d1
		cmp.w	d1,d0
		bne.s	loc_0_228910
		moveq	#$43,d0	; 'C'
		add.w	d0,var_16(a5)

loc_0_228910:				; CODE XREF: seed_generate+61Cj
		move.w	var_16(a5),(a2)
		addq.l	#6,a2
		move.l	a2,-$14(a5)
		addq.l	#2,d7

loc_0_22891C:				; CODE XREF: seed_generate+490j
		moveq	#$40,d0	; '@'
		add.l	d0,d0
		cmp.l	d0,d7
		blt.w	loc_0_228780
		addq.w	#1,var_10(a5)

loc_0_22892A:				; CODE XREF: seed_generate+464j
		cmpi.w	#$40,var_10(a5)	; '@'
		blt.w	loc_0_228754
		moveq	#0,d0
		lea	(xz_data2).l,a0
		move.w	$12(a0),d0
		add.l	d0,d0
		adda.l	d0,a0
		movea.l	a0,a3
		moveq	#0,d7
		bra.w	loc_0_228A2C
; ---------------------------------------------------------------------------

loc_0_22894C:				; CODE XREF: seed_generate+746j
		lea.l	(map_memory).l,a0
		adda.l	d7,a0
		moveq	#0,d0
		move.w	(a0),d0
		add.l	d0,d0
		moveq	#0,d1
		move.w	(a3,d0.l),d1
		swap	d1
		clr.w	d1
		lsl.l	#7,d1
		andi.l	#$FF800000,d1
		move.l	(a0),d0
		andi.l	#$7FFFFF,d0
		or.l	d1,d0
		move.l	d0,(a0)
		movea.l	a0,a2
		move.l	(a2),d0
		clr.w	d0
		swap	d0
		lsr.l	#7,d0
		andi.l	#$1FF,d0
		moveq	#$70,d1
		not.b	d1
		cmp.l	d1,d0
		bne.s	loc_0_2289FA
		jsr	random_for_seed
		moveq	#0,d1
		move.b	d0,d1
		andi.w	#3,d1
		ext.l	d1
		move.l	(a2),d0
		clr.w	d0
		swap	d0
		lsr.l	#7,d0
		andi.l	#$1FF,d0
		add.l	d1,d0
		swap	d0
		clr.w	d0
		lsl.l	#7,d0
		andi.l	#$FF800000,d0
		move.l	(a2),d1
		andi.l	#$7FFFFF,d1
		or.l	d0,d1
		move.l	d1,(a2)
		lea.l	(map_memory).l,a0
		movea.l	a0,a1
		adda.l	d7,a1
		movea.l	a1,a2
		move.l	(a2),d0
		clr.w	d0
		swap	d0
		lsr.l	#7,d0
		andi.l	#$1FF,d0
		moveq	#$6E,d1
		not.b	d1
		cmp.l	d1,d0
		bls.s	loc_0_2289FA
		move.l	#$47800000,d0
		move.l	(a2),d1
		andi.l	#$7FFFFF,d1
		or.l	d0,d1
		move.l	d1,(a2)

loc_0_2289FA:				; CODE XREF: seed_generate+6A2j
					; seed_generate+6FAj
		lea.l	(map_memory).l,a0
		adda.l	d7,a0
		moveq	#0,d0
		move.w	(unknpown_7c).l,d0
		swap	d0
		clr.w	d0
		andi.l	#$7F0000,d0
		move.l	(a0),d1
		andi.l	#$FF80FFFF,d1
		or.l	d0,d1
		move.l	d1,(a0)
		moveq	#0,d0
		move.b	d0,4(a0)
		move.b	d0,5(a0)
		addq.l	#6,d7

loc_0_228A2C:				; CODE XREF: seed_generate+65Cj
		cmpi.l	#$6000,d7
		blt.w	loc_0_22894C
		lea	(map_blocks).l,a3
		lea.l	(map_memory).l,a2
		bra.s	loc_0_228A56
; ---------------------------------------------------------------------------

loc_0_228A44:				; CODE XREF: seed_generate+770j
		move.l	(a2),d0
		clr.w	d0
		swap	d0
		lsr.l	#7,d0
		andi.l	#$1FF,d0
		move.w	d0,(a3)+
		addq.l	#6,a2

loc_0_228A56:				; CODE XREF: seed_generate+756j
		cmpa.l	#unk_0_25E380,a3
		bcs.s	loc_0_228A44
		movem.l	(sp)+,d2-d7/a2-a3/a6
		unlk	a5
		rts
; End of function seed_generate






xz_data2:	dc.w $1B, $1C, $22, $28, $2E, $34, $3C,	$87, $97, $9A, $ED, $EF, $113, $12B, $15B, $18B, $19B, $1AB, $1BB, $1CB, $1DB
		dc.w $235, $271, $2AD, $2B7, $2C1, $2D1, 0, 1, 2, 3, 4,	5, 6, 7, 8, 9, $A, $B, $C, $D, $E, $F, $10, $11, $12, $13, $14
		dc.w $15, $16, $17, $18, $19, $1A, $1B,	$1C, $1D, $1E, $1F, $20, $21, $22, $23,	$24, $25, $26, $27, $28, $29, $2A, $2B
		dc.w $2C, $2D, $2E, $2F, $30, $31, $32,	$33, $34, $35, $36, $37, $38, $39, $3A,	$3B, $3C, $3D, $3E, $3F, $40, $41, $42
		dc.w $43, $44, $45, $46, $47, $48, $49,	$4A, $4B, $4C, $4D, $4E, $4F, $50, $51,	$52, $53, $54, $55, $56, $57, $58, $59
		dc.w $5A, $5B, $5C, $5D, $5E, $5F, $60,	$61, $62, $63, $64, $65, $66, $67, $68,	$69, $6A, $6B, $6C, $6D, $6E, $6F, $70
		dc.w $71, $72, $73, $74, $75, $76, $77,	$78, $79, $7A, $7B, $7C, $7D, $7E, $7F,	$80, $81, $82, $83, $84, $85, $86, $87
		dc.w $88, $89, $8A, $8B, $8C, $8D, $8E,	$8F, $90, $91, $92, $93, $94, $95, $96,	$97, $98, $99, $9A, $9B, $9C, $9D, $9E
		dc.w $9F, $A0, $A1, $A2, $A3, $A4, $A5,	$A6, $A7, $A8, $A9, $AA, $AB, $AC, $AD,	$AE, $AF, $B0, $B1, $B2, $B3, $B4, $B5
		dc.w $B6, $B7, $B8, $B9, $BA, $BB, $BC,	$BD, $BE, $BF, $C0, $C1, $C2, $C3, $C4,	$C5, $C6, $C7, $C8, $C9, $CA, $CB, $CC
		dc.w $CD, $CE, $CF, $D0, $D1, $D2, $D3,	$D4, $D5, $D6, $DD, $DE, $DF, $E6, $E7,	$E8, $D7, $D8, $D9, $E0, $E1, $E2, $E9
		dc.w $EA, $EB, $DA, $DB, $DC, $E3, $E4,	$E5, $EC, $ED, $EE, $DA, $DB, $DC, $E3,	$E4, $E5, $EC, $ED, $EE, $EF, $F0, $F5
		dc.w $F6, $F1, $F2, $F7, $F8, $F3, $F4,	$F9, $FA, $F3, $F4, $F9, $FA, $F3, $F4,	$F9, $FB, $F3, $F4, $F9, $FB, $FC, $FD
		dc.w $FE, $102,	$103, $104, $D7, $D8, $D9, $E0,	$E1, $E2, $FF, $100, $101, $105, $106, $107, $FF, $100,	$101, $105, $106
		dc.w $107, $FF,	$100, $101, $105, $108,	$109, $FF, $100, $101, $105, $108, $109, $FF, $100, $101, $105,	$10A, $10B, $FF
		dc.w $100, $101, $105, $10A, $10B, $FC,	$FD, $FE, $102,	$103, $104, $D7, $D8, $D9, $E0,	$E1, $E2, $10C,	$10D, $10E, $110
		dc.w $111, $112, $10C, $10D, $10E, $110, $111, $112, $10C, $10F, $10E, $110, $113, $114, $10C, $10F, $10E, $110, $113
		dc.w $114, $10C, $115, $10E, $110, $116, $117, $10C, $115, $10E, $110, $116, $117, $EF,	$F0, $F5, $F6, $F1, $F2, $F7
		dc.w $F8, $118,	$119, $11A, $11B, $118,	$119, $11A, $11B, $EF, $F0, $F5, $F6, $F1, $F2,	$F7, $F8, $11C,	$11D, $11E, $11F
		dc.w $11C, $11D, $11E, $11F, $8F, $120,	$123, $124, $F1, $F2, $F7, $F8,	$121, $122, $125, $126,	$121, $122, $125, $126
		dc.w $EF, $F0, $F5, $F6, $F1, $F2, $F7,	$F8, $127, $128, $129, $12A, $127, $128, $129, $12A, $EF, $F0, $F5, $F6, $F1
		dc.w $F2, $F7, $F8, $12B, $12C,	$12D, $12E, $12B, $12C,	$12D, $12E, $D4, $D5, $D6, $DD,	$DE, $DF, $E6, $E7, $E8, $D7
		dc.w $D8, $D9, $E0, $E1, $E2, $E9, $EA,	$EB, $12F, $130, $131, $132, $133, $134, $137, $138, $139, $12F, $130, $131
		dc.w $132, $133, $134, $137, $138, $139, $12F, $130, $131, $135, $136, $134, $13A, $13B, $139, $12F, $130, $131, $135
		dc.w $136, $134, $13A, $13B, $139, $12F, $130, $131, $13C, $13D, $134, $140, $141, $139, $12F, $130, $131, $13C, $13D
		dc.w $134, $140, $141, $139, $12F, $130, $131, $13E, $13F, $134, $142, $143, $139, $12F, $130, $131, $13E, $13F, $134
		dc.w $142, $143, $139, $FC, $FD, $FE, $102, $103, $104,	$D7, $D8, $D9, $E0, $E1, $E2, $144, $145, $146,	$148, $149, $14A
		dc.w $144, $145, $146, $148, $149, $14A, $144, $145, $147, $148, $149, $14B, $144, $145, $147, $148, $149, $14B, $144
		dc.w $145, $14C, $148, $149, $14E, $144, $145, $14C, $148, $149, $14E, $144, $145, $14D, $148, $149, $14F, $144, $145
		dc.w $14D, $148, $149, $14F, $FC, $FD, $FE, $102, $103,	$104, $D7, $D8,	$D9, $E0, $E1, $E2, $150, $151,	$152, $153, $154
		dc.w $155, $150, $151, $152, $153, $154, $155, $150, $151, $152, $153, $156, $157, $150, $151, $152, $153, $156, $157
		dc.w $150, $151, $152, $153, $158, $159, $150, $151, $152, $153, $158, $159, $150, $151, $152, $153, $15A, $15B, $150
		dc.w $151, $152, $153, $15A, $15B, $15C, $F1, $15D, $15E, $15F,	$160, $161, $162, $163,	$164, $15C, $F1, $165, $166
		dc.w $167, $168, $169, $16A, $16B, $16C, $EF, $F0, $F5,	$F6, $F1, $F2, $F7, $F8, $16D, $16E, $16F, $170, $16D, $16E
		dc.w $16F, $170, $EF, $F0, $F5,	$F6, $F1, $F2, $F7, $F8, $171, $172, $176, $177, $171, $173, $176, $177, $171, $174
		dc.w $176, $177, $171, $175, $176, $177, 0, 0, 0, 0
