;----------------------------------------------------------------------------
;File name:	CIV_1.S			Revision date:	1999.03.01
;Disassembler:	Anatsu Ronara		Disassembled:	1993.10.02
;----------------------------------------------------------------------------
;Remarks:
;
;	This file contains some patch suggestions (seek for "patch").
;
;	one to stabilize page_2 info display (cmd F3) in debug mode
;	one indicates the code portion activating "Revolutionary" bug
;	two patch _CityEcon to allow higher difficulty levels
;       one patches the generation of polluted squares for new levels
;
;	This file contains the "advisory bug" !!!
;----------------------------------------------------------------------------
	SECTION	TEXT
;----------------------------------------------------------------------------
Begin:
	MOVEA.L	4(sp),A2
	LEA	0.L,A4
	MOVE.L	A2,__pbase
	PEA	L0021(PC)
	move	#$26,-(sp)
	TRAP	#$E		;xbios	Supexec,L0021(pc)
	ADDQ.W	#6,sp
	MOVEA.L	24(A2),A1
	ADDA.L	28(A2),A1
	MOVE.L	A1,_environ
	LEA	128(A2),A0
	CMPI.B	#$7F,(A0)
	SEQ	D7
	MOVEA.L	44(A2),A5
	TST.B	(A5)
	BNE.S	L0000
	TST.B	1(A5)
	BEQ	L0009
	ADDQ.W	#1,A5
L0000:
	TST.B	(A5)
	BEQ	L0009
	MOVE.L	A5,(A1)+
	ADDQ.W	#1,__ENVC
	CMPI.B	#$41,(A5)
	BNE.S	L0003
	MOVEA.L	A5,A3
	ADDQ.W	#1,A5
	CMPI.B	#$52,(A5)+
	BNE	L0008
	CMPI.B	#$47,(A5)+
	BNE	L0008
	CMPI.B	#$56,(A5)+
	BNE	L0008
	CMPI.B	#$3D,(A5)+
	BNE	L0008
	MOVEQ	#0,D0
	MOVE.B	D0,(A3)
	MOVE.L	D0,-4(A1)
	TST.B	D7
	BEQ	L0009
	JSR	L001F(PC)
	MOVEA.L	A1,A3
	MOVE.L	A1,D0
	ADDQ.W	#8,D0
L0001:
	TST.B	(A5)+
	BNE.S	L0001
	MOVE.L	A5,(A1)+
	CMP.L	A1,D0
	BNE.S	L0002
	MOVEA.L	A5,A6
	BSR	L0018
	MOVEA.L	A6,A5
	MOVE.L	A5,-4(A1)
L0002:
	TST.B	(A5)
	BNE.S	L0001
	CLR.L	-4(A1)
	BRA	L000B
;
L0003:
	CMPI.B	#$5F,(A5)+
	BNE.S	L0008
	CMPI.B	#$50,(A5)+
	BNE.S	L0008
	CMPI.B	#$42,(A5)+
	BNE.S	L0008
	CMPI.B	#$50,(A5)+
	BNE.S	L0008
	CMPI.B	#$3D,(A5)+
	BNE.S	L0008
	SUBQ.W	#4,A1
	TST.B	D7
	BNE.S	L0008
	MOVEQ	#0,D1
	MOVEQ	#0,D0
L0004:
	MOVE.B	(A5)+,D0
	BEQ.S	L0007
	LSL.L	#4,D1
	CMPI.B	#$30,D0
	BCS.S	L0008
	CMPI.B	#$39,D0
	BCC.S	L0005
	ANDI.B	#$F,D0
	ADD.L	D0,D1
	BRA.S	L0004
;
L0005:
	CMPI.B	#$41,D0
	BCS.S	L0008
	CMPI.B	#$7A,D0
	BCC.S	L0008
	CMPI.B	#$46,D0
	BLS.S	L0006
	CMPI.B	#$61,D0
	BCS.S	L0008
L0006:
	ANDI.B	#$F,D0
	ADDI.B	#9,D0
	ADD.L	D0,D1
	BRA.S	L0004
;
L0007:
	CMP.L	36(A2),D1
	SEQ	D7
	BRA	L0000
;
L0008:
	TST.B	(A5)+
	BNE.S	L0008
	BEQ	L0000
L0009:
	CLR.L	(A1)+
	JSR	L001F(PC)
	MOVEA.L	A1,A3
	LEA	128(A2),A0
	MOVEQ	#0,D0
	MOVE.B	(A0)+,D0
	CMPI.B	#$7D,D0
	BHI.S	L000A
	CLR.B	0(A0,D0.W)
L000A:
	MOVEA.L	A0,A6
	BSR	L0018
	JSR	@_setargv
	MOVEA.L	D0,A1
L000B:
	MOVE.L	A1,D2
	MOVEQ	#$10,D0
	CMPI.W	#$104,__tos
	BCS.S	L000C
	MOVEQ	#$40,D0
L000C:
	move	D0,__maxblk
	MOVE.L	A1,__mblk
	MOVE.L	D0,D1
	BRA.S	L000E
;
L000D:
	CLR.L	(A1)+
L000E:
	dbra	D1,L000D
	MOVE.L	A1,__msiz
	BRA.S	L0010
;
L000F:
	CLR.L	(A1)+
L0010:
	dbra	D0,L000F
	MOVE.L	__MNEED,D0
	CMPI.L	#$200,D0
	BLE.S	L0011
	ADDQ.L	#3,D0
	ANDI.W	#-4,D0
	CMPI.L	#$1FFFC,D0
	BGE.S	L0011
	MOVE.L	A1,__MemHeap
	CLR.L	(A1)+
	MOVE.L	D0,(A1)+
	SUBQ.L	#4,D0
	MOVE.L	D0,(A1)+
	ADDQ.W	#4,A1
	MOVE.L	A1,-4(A1)
	move	#-$8000,(A1)+
	CLR.L	(A1)+
	MOVE.L	D0,D1
	LSR.L	#2,D0
	BSET	#15,D0
	move	D0,(A1)
	ADDA.L	D1,A1
L0011:
	ADDA.L	__STKDELTA,A1
	MOVE.L	A1,__base
	ADDA.L	__STACK,A1
	MOVE.L	A1,D1
	ADDQ.L	#3,D1
	ANDI.W	#-4,D1
	MOVEA.L	D1,A1
	CMPA.L	A1,sp
	BCC.S	L0012
	move	#-$27,-(sp)
	BRA	L0017
;
L0012:
	TST.L	__MSTEP
	BNE.S	L0014
	MOVE.L	sp,D1
	SUB.L	A1,D1
	LSR.L	#4,D1
	CMPI.W	#$104,__tos
	BCS.S	L0013
	LSR.L	#2,D1
L0013:
	ADDQ.L	#2,D1
	BCLR	#0,D1
	MOVE.L	D1,__MSTEP
	MOVE.L	__BLKSIZ,D0
	DIVU	D0,D1
	move	D1,D0
	CLR.W	D1
	SWAP	D1
	ADDQ.W	#1,D0
	MOVE.L	__BLKSIZ,D3
	SUB.L	D1,D3
	DIVU	D0,D3
	SWAP	D3
	CLR.W	D3
	SWAP	D3
	NOT.L	D3
	SUBI.L	#$1B,D3
	ANDI.W	#-4,D3
	ADD.L	D3,__BLKSIZ
L0014:
	MOVEA.L	A1,sp
	SUB.L	A3,D2
	MOVE.L	A3,-(sp)
	LSR.W	#2,D2
	SUBQ.W	#1,D2
	move	D2,-(sp)
	SUBA.L	A2,A1
	ADDA.L	#$100,A1
	MOVE.L	A1,-(sp)
	MOVE.L	A2,-(sp)
	move	#0,-(sp)
	move	#$4A,-(sp)
	TRAP	#1		;gemdos	Mshrink,!,(A2),a1
	LEA	12(sp),sp
application_fix:
	JSR	__FPCsave	;patch to 'jsr nu_application_fix
	JSR	__main
	move	D0,(sp)
	BRA.S	L0016
;
; a suitable nu_application_fix is given below:
;;;	nu_application_fix:
;;;		jsr	app_init_sub
;;;		tst.l	d0
;;;		beq.s	.ok
;;;		move.l	#$4CFFFF,-(sp)
;;;		trap	#1		;gemdos	Pterm,#-1
;;;	;
;;;	.ok:
;;;		rts
;
;
__XCEXIT
	ADDQ.W	#4,sp
L0016:
	MOVE.L	__onbrk,D0
	BEQ.S	L0017
	MOVE.L	D0,-(sp)
	move	#$102,-(sp)
	move	#5,-(sp)
	TRAP	#$D		;bios	Setexc|_ind,#etv_term/4,__onbrk
	ADDQ.W	#8,sp
L0017:
	move	#$4C,-(sp)
	TRAP	#1		;gemdos	Pterm,()
	ILLEGAL		;!!! never reached !!!
;
;
L0018:
	CMPI.B	#$3D,(A6)
	BNE.S	L001E
	ADDQ.W	#1,A6
	MOVEQ	#0,D1
L0019:
	MOVEQ	#0,D2
	MOVE.B	(A6)+,D2
	SUBI.W	#$30,D2
	BLT.S	L001A
	CMPI.W	#9,D2
	BGT.S	L001A
	ADD.L	D1,D1
	MOVE.L	D1,D3
	ADD.L	D1,D1
	ADD.L	D1,D1
	ADD.L	D3,D1
	ADD.L	D2,D1
	BRA.S	L0019
;
L001A:
	MOVE.B	-1(A6),D2
	BEQ.S	L001D
	SUBI.B	#$20,D2
	BEQ.S	L001C
	SUBI.B	#$2B,D2
	BEQ.S	L001B
	SUBI.B	#$20,D2
	BNE.S	L001E
L001B:
	MOVEQ	#$A,D3
	LSL.L	D3,D1
L001C:
	ADDQ.W	#1,A6
L001D:
	TST.L	D1
	BEQ.S	L001E
	MOVE.L	D1,__STACK
	MOVEA.L	A6,A0
L001E:
	RTS
;
;
L001F:
	MOVEQ	#0,D0
	move	__ENVC,D0
	MOVEQ	#0,D1
	move	__ENEED,D1
	CMP.L	D0,D1
	BCS.S	L0020
	MOVE.L	D1,D0
L0020:
	ADD.L	D0,D0
	ADD.L	D0,D0
	ADDA.L	D0,A1
	RTS
;
;
L0021:
	MOVE.L	(_hz_200).w,__clkstart
	MOVEA.L	(_sysbase).w,A0
	MOVEA.L	8(A0),A0
	move	2(A0),__tos
	move	28(A0),D1
	LSR.W	#1,D1
	move	D1,__country
	CLR.L	($380).w
illegal_fix:
	ILLEGAL			;patch this to RTS
;
;
_DoMenu:
	MOVEM.L	A5/D6-D7,-(sp)
	MOVEA.L	16(sp),A5
	move	20(sp),D7
	move	22(sp),D6
	move	D6,-(sp)
	move	D7,-(sp)
	MOVE.L	A5,-(sp)
	JSR	_Menu
	ADDQ.W	#8,sp
	MOVEM.L	(sp)+,A5/D6-D7
	RTS
;
;
_sMenu:
	MOVEM.L	A5/D5-D7/D2,-(sp)
	MOVEA.L	24(sp),A5
	move	28(sp),D7
	move	30(sp),D6
	JSR	_hidemouse
	MOVEQ	#0,D0
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpBack,-(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectCopy
	JSR	_showmouse
	move	D6,(sp)
	move	D7,-(sp)
	MOVE.L	A5,-(sp)
	BSR.S	_DoMenu
	MOVE.L	D0,D5
	JSR	_hidemouse
	MOVEQ	#0,D0
	move	D0,(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpBack,-(sp)
	JSR	_RectCopy
	JSR	_showmouse
	LEA	44(sp),sp
	MOVE.L	D5,D0
	MOVEM.L	(sp)+,A5/D5-D7/D2
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_Game:
	LINK	A6,#-$1C
	MOVEM.L	D2-D7,-(sp)
	JSR	_hidemouse
	JSR	_CycleOn
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	ADDA.L	D0,A0
	move	(A0),D6
	MOVEQ	#0,D0
	move	D0,_Maxed
	move	D0,_Disordered
	move	D0,_MaxTech
	move	D0,_NPlayers
	MOVE.L	D0,D7
L0025:
	MOVEQ	#8,D0
	CMP.W	D0,D7
	BGE.S	L0027
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	ASL.W	D7,D1
	move	_Players,D2
	AND.W	D1,D2
	BEQ.S	L0026
	ADDQ.W	#1,_NPlayers
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_TechLevel,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	(A1),D0
	CMP.W	_MaxTech,D0
	BLE.S	L0026
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A0),_MaxTech
L0026:
	ADDQ.W	#1,D7
	BRA.S	L0025
;
L0027:
	TST.W	_Rtime
	BNE	L0029
	move	_Player,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	1(A1),D0
	SUBQ.W	#7,D0
	move	D0,_XMap
	move	_Player,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	SUBQ.W	#6,D0
	move	D0,_YMap
	JSR	_ResetScreen
	TST.W	_Diff
	BNE.S	L0028
	CLR.W	-(sp)
	move	_Player,-(sp)
	JSR	_DescribeUnit
	JSR	_Legend
	JSR	_ResetScreen
	ADDQ.W	#4,sp
L0028:
	MOVEQ	#$1A,D0
	move	D0,-(sp)
	JSR	_DoSound
	ADDQ.W	#2,sp
L0029:
	MOVEQ	#0,D7
L002A:
	MOVEQ	#8,D0
	CMP.W	D0,D7
	BGE	L0034
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Score,A0
	ADDA.L	D1,A0
	CLR.W	(A0)
	MOVEQ	#1,D1
	ASL.W	D7,D1
	move	_Players,D2
	AND.W	D1,D2
	BEQ	L0033
	CMP.W	_Player,D7
	BGE.S	L002B
	TST.W	_Reload
	BNE	L0033
L002B:
	move	D0,-(sp)
	MOVEQ	#6,D1
	move	D1,-(sp)
	move	D1,-(sp)
	move	#$C0,D2
	move	D2,-(sp)
	MOVEQ	#2,D3
	move	D3,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	LEA	14(sp),sp
	MOVEQ	#0,D5
	CMP.W	_Player,D7
	BNE.S	L002C
	JSR	_showmouse
	MOVEQ	#1,D5
L002C:
	TST.W	_Reload
	BNE.S	L002D
	move	D7,-(sp)
	JSR	_Production
	ADDQ.W	#2,sp
L002D:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.W	#$7530,(A1)
	BLE.S	L002E
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	#$7530,(A0)
L002E:
	move	D7,-(sp)
	JSR	_DoPolitics
	move	D7,-(sp)
	JSR	_Estrat
	move	D7,(sp)
	JSR	_ClearDest
	MOVEQ	#$F,D0
	move	D0,(sp)
	MOVEQ	#6,D1
	move	D1,-(sp)
	move	D1,-(sp)
	move	#$C0,D2
	move	D2,-(sp)
	MOVEQ	#2,D3
	move	D3,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	LEA	16(sp),sp
	CMP.W	_Player,D7
	BNE.S	L0030
	JSR	_TimeBar
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncity,A0
	ADDA.L	D0,A0
	TST.W	(A0)
	BNE.S	L002F
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nsettle,A0
	ADDA.L	D0,A0
	TST.W	(A0)
	BNE.S	L002F
	JSR	_hidemouse
	JSR	_Archeologists
	move	#-1,_Quit
	JSR	_showmouse
L002F:
	move	_Year,D0
	TST.W	D0
	BLE.S	L0030
	ADDQ.W	#1,_Peace
L0030:
	TST.W	_Quit
	BNE.S	L0031
	move	D7,-(sp)
	JSR	_MoveUnits
	ADDQ.W	#2,sp
L0031:
	CLR.W	_Reload
	TST.W	D5
	BEQ.S	L0032
	JSR	_hidemouse
L0032:
	TST.W	_Quit
	BEQ.S	L0033
	TST.W	_Slam
	BNE.S	L0033
	MOVEQ	#2,D0
	CMP.W	_Quit,D0
	BNE	L0066
	JSR	_EndGame
	JSR	_AdScreen
	BRA	L0066
;
L0033:
	ADDQ.W	#1,D7
	BRA	L002A
;
L0034:
	JSR	_showmouse
	JSR	_Barbarians
	JSR	_Events
	CMPI.W	#$32,_Rtime
	BLE	L0037
	MOVEQ	#0,D7
L0035:
	MOVEQ	#2,D0
	CMP.W	D0,D7
	BGE.S	L0037
	move	#$80,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	MOVE.L	D0,D7
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ.S	L0036
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncity,A1
	ADDA.L	D0,A1
	CMPI.W	#1,(A1)
	BLE.S	L0036
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	CMPI.B	#5,7(A0)
	BLT.S	L0036
	move	D7,-(sp)
	JSR	_Disaster
	ADDQ.W	#2,sp
L0036:
	ADDQ.W	#1,D7
	BRA.S	L0035
;
L0037:
	JSR	_Ranks
	TST.W	_Quit
	BNE	L0038
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncity,A0
	ADDA.L	D0,A0
	CMPI.W	#1,(A0)
	BLE	L0038
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.W	#$64,(A1)
	BGE.S	L0038
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A0),D0
	SUB.W	D6,D0
	MULS	#$A,D0
	move	(A1),D1
	ADD.W	D0,D1
	BGE.S	L0038
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	move	_Human,D1
	AND.W	D0,D1
	TST.W	D1
	BEQ.S	L0038
	CLR.B	_XEB
	PEA	L1AEB
	JSR	_KingTalk
	move	#4,_MSource
	MOVEQ	#$50,D0
	move	D0,(sp)
	move	D0,-(sp)
	PEA	_XEB
	BSR	_sMenu
	LEA	10(sp),sp
L0038:
	ADDQ.W	#1,_Rtime
	move	_Year,D0
	CMPI.W	#1000,D0
	BGE.S	L0039		;in 1000 AD or later, go test for 1500
	MOVEQ	#20,D1
	ADD.W	D1,_Year	;else add 20 years per turn (4000 BC => 250 turns)
	BRA.S	L003D
;
L0039:
	CMPI.W	#1500,D0
	BGE.S	L003A		;in 1500 AD or later, go test for 1750
	MOVEQ	#10,D1
	ADD.W	D1,_Year	;else add 10 years per turn (50 turns)
	BRA.S	L003D
;
L003A:
	CMPI.W	#1750,D0
	BGE.S	L003B		;in 1750 AD or later, go test for 1850
	ADDQ.W	#5,_Year	;else add 5 years per turn  (50 turns)
	BRA.S	L003D
;
L003B:
	CMPI.W	#1850,D0
	BGE.S	L003C		;in 1850 AD or later, go add 1 year per turn
	move	#$FE,D1
	AND.W	_Launched,D1
	BNE.S	L003C		;else if spaceship launched, go add 1 year per turn
	ADDQ.W	#2,_Year	;else add 2 years per turn  (50 turns)
	BRA.S	L003D
;
L003C:
	ADDQ.W	#1,_Year
L003D:
	TST.W	_Year
	BNE.S	L0040
	MOVEQ	#0,D7
L003E:
	MOVEQ	#8,D0
	CMP.W	D0,D7
	BGE.S	L003F
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Knowledge,A0
	ADDA.L	D0,A0
	move	(A0),D0
	ADD.W	D0,D0
	move	D0,(A0)
	ADDQ.W	#1,D7
	BRA.S	L003E
;
L003F:
	MOVEQ	#1,D0
	move	D0,_Year
L0040:
	MOVEQ	#21,D0
	CMP.W	_Year,D0
	BNE.S	L0041
	MOVEQ	#20,D0
	move	D0,_Year
L0041:
	move	_Rtime,D0
	EXT.L	D0
	DIVS	#$32,D0
	SWAP	D0
	TST.W	D0
	BNE	L0050
	MOVEQ	#-1,D0
	CMP.W	_Player,D0
	BEQ	L0050
	BTST	#0,L1ED4
	BNE.S	L0042
	move	_Year,D0
	TST.W	D0
	BPL.S	L0042
	JSR	_Protect
L0042:
	BSET	#1,L1FB8	;Orig: BTST
	BRA.S	L0043		;Orig: BEQ.S
;
	move	_Rtime,D0
	EXT.L	D0
	DIVS	#$32,D0
	SUBQ.W	#1,D0
	EXT.L	D0
	DIVS	#6,D0
	SWAP	D0
	ADDQ.W	#4,D0
	move	D0,-(sp)
	JSR	_SaveGameFile
	ADDQ.W	#2,sp
L0043:
	CLR.W	_MaxTech
	MOVEQ	#1,D7
L0044:
	MOVEQ	#8,D0
	CMP.W	D0,D7
	BGE.S	L0046
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_TechLevel,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	(A1),D0
	CMP.W	_MaxTech,D0
	BLE.S	L0045
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A0),_MaxTech
L0045:
	ADDQ.W	#1,D7
	BRA.S	L0044
;
L0046:
	MOVEQ	#0,D0
	move	D0,_TechTime
	move	_Year,D1
	TST.W	D1
	BMI.S	L0047
	move	_Rtime,D1
	EXT.L	D1
	DIVS	#9,D1
	move	_MaxTech,D2
	SUB.W	D1,D2
	MOVEQ	#6,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D2,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,_TechTime
L0047:
	move	_Player,-(sp)
	JSR	_PopSize
	MOVE.L	D0,D4
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncity,A0
	ADDA.L	D0,A0
	MOVE.L	D4,D0
	EXT.L	D0
	DIVS	#$100,D0
	MOVE.L	D4,D1
	ANDI.W	#$FF,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	(A0),-(sp)
	MOVEQ	#3,D2
	move	D2,-(sp)
	MOVEQ	#$B,D3
	move	D3,-(sp)
	JSR	_AddReplay
	LEA	12(sp),sp
	MOVEQ	#0,D7
L0048:
	MOVEQ	#4,D0
	CMP.W	D0,D7
	BGE.S	L0049
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	CLR.W	-24(A6,D0.L)
	ADDQ.W	#1,D7
	BRA.S	L0048
;
L0049:
	MOVEQ	#1,D7
L004A:
	MOVEQ	#8,D0
	CMP.W	D0,D7
	BGE.S	L004F
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	ASL.W	D7,D1
	move	_Players,D2
	AND.W	D1,D2
	BEQ.S	L004E
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Nrank,A0
	MOVEA.L	A0,A1
	ADDA.L	D1,A1
	BTST	#0,1(A1)
	BEQ.S	L004C
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	(A1),D0
	BPL.S	L004B
	ADDQ.W	#1,D0
L004B:
	ASR.W	#1,D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	MOVE.L	D7,D0
	ASL.W	#4,D0
	OR.W	D0,-24(A6,D1.L)
	BRA.S	L004E
;
L004C:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A0),D0
	BPL.S	L004D
	ADDQ.W	#1,D0
L004D:
	ASR.W	#1,D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	OR.W	D7,-24(A6,D1.L)
L004E:
	ADDQ.W	#1,D7
	BRA.S	L004A
;
L004F:
	move	-24(A6),-(sp)
	move	-22(A6),-(sp)
	move	-20(A6),-(sp)
	move	-18(A6),-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	MOVEQ	#$C,D1
	move	D1,-(sp)
	JSR	_AddReplay
	LEA	12(sp),sp
L0050:
	move	_Rtime,D0
	CMP.W	_LastHist,D0
	BLT.S	L0051
	MOVEQ	#$28,D0
	move	D0,-(sp)
	JSR	_rnd
	move	_Rtime,D1
	ADD.W	D0,D1
	ADDI.W	#20,D1
	move	D1,_LastHist
	JSR	_TheRanks
	ADDQ.W	#2,sp
L0051:
	MOVEQ	#1,D7
L0052:
	MOVEQ	#$15,D0
	CMP.W	D0,D7
	BGT.S	L0054
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Wonders,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#-1,D0
	CMP.W	(A1),D0
	BEQ.S	L0053
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.W	#$80,(A1)
	BEQ.S	L0053
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Score,A0
	ADDA.L	D0,A0
	MOVEQ	#$19,D0
	ADD.W	D0,(A0)
L0053:
	ADDQ.W	#1,D7
	BRA.S	L0052
;
L0054:
	MOVEQ	#-3,D0
	CMP.W	_MaxFame,D0
	BNE.S	L0055
	MOVEQ	#-2,D0
	move	D0,_MaxFame
	BRA.S	L0056
;
L0055:
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Score,A0
	ADDA.L	D0,A0
	move	_Polluted,D0
	MULS	#$A,D0
	SUB.W	D0,(A0)
	MOVEQ	#-2,D0
	CMP.W	_MaxFame,D0
	BNE.S	L0056
	MOVEQ	#0,D0
	move	D0,_MaxFame
L0056:
	MOVEQ	#0,D0
	MOVE.L	D0,D7
	move	D0,-26(A6)
L0057:
	CMPI.W	#$80,D7
	BGE.S	L0059
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ.S	L0058
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	_Player,D0
	BNE.S	L0058
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#0,3(A0)
	BEQ.S	L0058
	move	#1,-26(A6)
L0058:
	ADDQ.W	#1,D7
	BRA.S	L0057
;
L0059:
	TST.W	-26(A6)
	BEQ.S	L005A
	BTST	#7,L1FB8
	BEQ.S	L005A
	BTST	#0,_Launched
	BNE.S	L005A
	CLR.W	-(sp)
	move	_Player,-(sp)
	JSR	_FinalScore
	move	_Nwives,D1
	ADDQ.W	#1,D1
	move	D1,(sp)
	move	D0,28(sp)
	JSR	_FameLevel
	ADDQ.W	#4,sp
	move	24(sp),D1
	CMP.W	D0,D1
	BLT.S	L005A
	ADDQ.W	#1,_Nwives
	move	_Nwives,D0
	MOVEQ	#$25,D1
	CMP.W	D1,D0
	BGT.S	L005A
	move	D0,-(sp)
	JSR	_BuildPalace
	ADDQ.W	#2,sp
L005A:
	JSR	_TimeBar
	move	#-1,L1AEA
	MOVEQ	#1,D7
L005B:
	MOVEQ	#8,D0
	CMP.W	D0,D7
	BGE.S	L005D
	MOVEQ	#1,D0
	ASL.W	D7,D0
	move	_Launched,D1
	AND.W	D0,D1
	BEQ.S	L005C
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Arrives,A0
	ADDA.L	D0,A0
	move	(A0),D0
	CMP.W	_Year,D0
	BNE.S	L005C
	move	D7,L1AEA
L005C:
	ADDQ.W	#1,D7
	BRA.S	L005B
;
L005D:
	move	_Diff,D0
	MULS	#20,D0
	move	#2080,D1	;;;patch year limit detect here
	SUB.W	D0,D1
	move	_Year,D0
	CMP.W	D1,D0
	BNE	L005E
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	ASL.L	#2,D0
	LEA	_KingType,A0
	ADDA.L	D0,A0
	MOVE.L	(A0),-(sp)
	PEA	_XEB
	JSR	_strcpy
	PEA	L1AEC
	PEA	_XEB
	JSR	_strcat
	move	_Player,D0
	EXT.L	D0
	MOVEQ	#$E,D1
	JSR	__CXM22
	LEA	_KingText,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	retirement_plan_s
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#-1,D0
	move	D0,(sp)
	JSR	_NewsPaper
	LEA	28(sp),sp
L005E:
	MOVEQ	#-1,D0
	CMP.W	L1AEA,D0
	BNE.S	L005F
	TST.W	_Slam
	BNE.S	L005F
	move	_Diff,D0
	MULS	#20,D0
	move	#2100,D1
	SUB.W	D0,D1
	move	_Year,D0
	CMP.W	D1,D0
	BNE	L0066
L005F:
	JSR	_hidemouse
	PEA	game_over_s
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	TST.W	_Slam
	BEQ.S	L0060
	PEA	conqueror_won_s
	PEA	_XEB
	JSR	_strcpy
	MOVEQ	#-1,D0
	move	D0,(sp)
	move	D0,L1AEA
	JSR	_NewsPaper
	JSR	_TopDog
	ADDQ.W	#8,sp
L0060:
	move	L1AEA,D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0061
	move	D0,-(sp)
	JSR	_SpaceFlight
	JSR	_ResetScreen
	move	L1AEA,D0
	EXT.L	D0
	MOVEQ	#$B,D1
	JSR	__CXM22
	LEA	_ArmyText,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcpy
	PEA	space_arrival_s
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#-1,D0
	move	D0,(sp)
	JSR	_NewsPaper
	LEA	18(sp),sp
L0061:
	move	_Diff,D0
	MULS	#20,D0
	move	#2100,D1
	SUB.W	D0,D1
	move	_Year,D0
	CMP.W	D1,D0
	BNE	L0062
	move	_Player,D0
	EXT.L	D0
	MOVEQ	#$E,D1
	JSR	__CXM22
	LEA	_KingText,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcpy
	PEA	dynasty_end_s
	PEA	_XEB
	JSR	_strcat
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Leaders,A0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	MOVEQ	#$3A,D1
	JSR	__CXM22
	LEA	_ld,A0
	ADDA.L	D0,A0
	MOVEQ	#3,D0
	move	D0,(sp)
	move	56(A0),-(sp)
	JSR	_DoSound
	MOVEQ	#-1,D0
	move	D0,(sp)
	JSR	_NewsPaper
	MOVEQ	#$1A,D0
	move	D0,(sp)
	JSR	_DoSound
	LEA	18(sp),sp
L0062:
	JSR	_showmouse
	BTST	#0,_Launched
	BNE.S	L0063
	move	L1AEA,-(sp)
	BSR	_EndGame
	ADDQ.W	#2,sp
L0063:
	JSR	_ResetScreen
	BSET	#0,_Launched
	TST.W	_Slam
	BNE.S	L0064
	CLR.B	_XEB
	PEA	star_fame_s
	JSR	_KingTalk
	MOVEQ	#$50,D0
	move	D0,(sp)
	move	D0,-(sp)
	PEA	_XEB
	BSR	_sMenu
	LEA	10(sp),sp
	MOVEQ	#1,D1
	MOVE.L	D1,D2
	SUB.W	D0,D2
	move	D2,_Quit
	BRA.S	L0065
;
L0064:
	MOVEQ	#1,D0
	move	D0,_Quit
L0065:
	TST.W	_Quit
	BEQ.S	L0066
	JSR	_AdScreen
L0066:
	MOVEM.L	(sp)+,D2-D7
	UNLK	A6
	RTS
;
;
_EndGame:
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	JSR	_HistoGraph
	MOVEQ	#2,D0
	CMP.W	_Quit,D0
	BEQ.S	L0068
	JSR	_Replay
L0068:
	JSR	_hidemouse
	BTST	#0,_Launched
	BNE.S	L006A
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	_Player,-(sp)
	JSR	_FinalScore
	MOVE.L	D0,D6
	move	_Nwives,D0
	BPL.S	L0069
	ADDQ.W	#1,D0
L0069:
	ASR.W	#1,D0
	SUBQ.W	#1,D0
	move	D6,(sp)
	move	D0,-(sp)
	JSR	_Famous
	JSR	_CheckGameDisk
	JSR	_LoadFame
	move	D7,(sp)
	JSR	_AddFame
	JSR	_SaveFame
	ADDQ.W	#6,sp
L006A:
	JSR	_showmouse
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;----------------------------------------------------------------------------
;
_AdScreen:
	RTS
;
;----------------------------------------------------------------------------
;
_Barbarians:
	LINK	A6,#-$20
	MOVEM.L	D5-D7/D2,-(sp)
	MOVEQ	#0,D7
	MOVEQ	#5,D0
	SUB.W	_Diff,D0
	MULS	#$1E,D0
	move	_Rtime,D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BLT	L0085
	ADDQ.W	#1,D1
	ANDI.W	#7,D1
	BNE	L0074
	MOVEQ	#7,D0
	AND.W	L2190,D0
	BNE	L0074
L006D:
	MOVEQ	#$50,D0
	move	D0,-(sp)
	JSR	_rnd
	MOVEQ	#$2C,D1
	move	D1,-(sp)
	move	D0,-10(A6)
	JSR	_rnd
	ADDQ.W	#4,sp
	ADDQ.W	#3,D0
	move	D0,-12(A6)
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE.S	L006D
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	JSR	_IsUnitAt
	ADDQ.W	#4,sp
	ADDQ.W	#1,D0
	BNE.S	L006D
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	JSR	_RegionSize
	ADDQ.W	#4,sp
	MOVEQ	#$10,D1
	CMP.W	D1,D0
	BLT.S	L006D
	move	_Rtime,D0
	EXT.L	D0
	DIVS	#$96,D0
	ADDQ.W	#1,D0
	MOVEQ	#3,D1
	move	D1,-(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D0,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-14(A6)
	MOVEQ	#3,D1
	CMP.W	D1,D0
	BGE.S	L006E
	MOVEQ	#$11,D0
	BRA.S	L006F
;
L006E:
	MOVEQ	#$12,D0
L006F:
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	move	D0,-(sp)
	CLR.W	-(sp)
	JSR	_AddUnit
	ADDQ.W	#8,sp
	MOVEQ	#0,D6
L0070:
	move	-14(A6),D0
	CMP.W	D0,D6
	BGT.S	L0074
	MOVEQ	#7,D1
	AND.W	L218F,D1
	BNE.S	L0071
	move	#3,-24(A6)
	BRA.S	L0072
;
L0071:
	move	#7,-24(A6)
L0072:
	CMP.W	D0,D6
	BNE.S	L0073
	MOVEQ	#$1A,D0
	move	D0,-24(A6)
L0073:
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	move	-24(A6),-(sp)
	CLR.W	-(sp)
	JSR	_AddUnit
	ADDQ.W	#8,sp
	move	D0,-8(A6)
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	BSET	#0,(A0)
	ADDQ.W	#1,D6
	BRA.S	L0070
;
L0074:
	move	#$80,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	MOVE.L	D0,D6
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ	L0085
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	CMP.W	_Player,D0
	BNE	L0085
	move	D6,-(sp)
	JSR	_Plunder
	MOVEQ	#$64,D1
	move	D1,-(sp)
	move	D0,-14(A6)
	JSR	_rnd
	ADDQ.W	#4,sp
	move	-14(A6),D1
	CMP.W	D0,D1
	BLE	L0085
	CLR.W	-8(A6)
L0075:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#$D,D0
	move	D0,-(sp)
	MOVE.L	A0,18(sp)
	JSR	_rnd
	MOVEQ	#0,D1
	MOVEA.L	18(sp),A0
	MOVE.B	4(A0),D1
	ADD.W	D0,D1
	SUBQ.W	#6,D1
	MOVE.L	D6,D0
	EXT.L	D0
	move	D1,-10(A6)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#$D,D0
	move	D0,-(sp)
	MOVE.L	A0,20(sp)
	JSR	_rnd
	MOVEQ	#0,D1
	MOVEA.L	20(sp),A0
	MOVE.B	5(A0),D1
	ADD.W	D0,D1
	SUBQ.W	#6,D1
	move	D1,(sp)
	move	-10(A6),-(sp)
	move	D1,-12(A6)
	JSR	_FindCloseCity
	MOVE.L	D0,D6
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D6,D1
	EXT.L	D1
	move	D0,22(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,(sp)
	move	-12(A6),-(sp)
	move	24(sp),-(sp)
	move	-10(A6),-(sp)
	JSR	_mapdist
	LEA	12(sp),sp
	move	D0,-16(A6)
	ADDQ.W	#1,-8(A6)
	CMPI.W	#$63,-8(A6)
	BGE	L0076
	CMPI.W	#6,-16(A6)
	BLT	L0075
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	move	D7,-(sp)
	JSR	_ZOC2
	ADDQ.W	#6,sp
	TST.W	D0
	BNE	L0075
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BEQ	L0075
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	JSR	_IsUnitAt
	ADDQ.W	#4,sp
	ADDQ.W	#1,D0
	BNE	L0075
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	JSR	_GetRegion
	MOVE.L	D6,D1
	EXT.L	D1
	move	D0,20(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D6,D1
	EXT.L	D1
	move	D0,22(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,(sp)
	move	22(sp),-(sp)
	JSR	_GetRegion
	ADDQ.W	#6,sp
	move	16(sp),D1
	CMP.W	D0,D1
	BNE	L0075
L0076:
	CMPI.W	#$63,-8(A6)
	BGE	L0085
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	move	_Player,D1
	CMP.W	D1,D0
	BNE	L007A
	move	-10(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A1
	ADDA.L	D0,A1
	ADDA.W	-12(A6),A1
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	MOVE.B	(A1),D2
	EXT.W	D2
	AND.W	D0,D2
	TST.W	D2
	BEQ	L007A
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	SUBQ.W	#8,D0
	MOVE.L	D6,D1
	EXT.L	D1
	move	D0,16(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	SUBQ.W	#6,D0
	move	D0,-(sp)
	move	18(sp),-(sp)
	move	_Player,-(sp)
	JSR	_ShowMap
	PEA	travel_report_s
	PEA	_XEB
	JSR	_strcpy
	LEA	14(sp),sp
	MOVEQ	#7,D0
	AND.W	L218E,D0
	BEQ.S	L0077
	PEA	guerilla_uprising_s
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	BRA.S	L0079
;
L0077:
	MOVEQ	#7,D0
	AND.W	L218D,D0
	BEQ.S	L0078
	PEA	native_unrest_s
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	BRA.S	L0079
;
L0078:
	PEA	barbarian_uprising_s
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
L0079:
	move	D6,-(sp)
	JSR	_CityName
	PEA	L1AF7
	PEA	_XEB
	JSR	_strcat
	move	#2,_MSource
	MOVEQ	#$20,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	BSR	_sMenu
	LEA	16(sp),sp
L007A:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	TST.W	D0
	BPL.S	L007B
	ADDQ.W	#1,D0
L007B:
	ASR.W	#1,D0
	move	D0,-(sp)
	JSR	_rnd
	MOVEQ	#$63,D1
	move	D1,-(sp)
	MOVEQ	#2,D2
	move	D2,-(sp)
	move	D0,-(sp)
	JSR	_rng
	ADDQ.W	#8,sp
	MOVEQ	#0,D5
	move	D0,-14(A6)
L007C:
	move	-14(A6),D0
	CMP.W	D0,D5
	BGT	L0085
	MOVEQ	#7,D1
	AND.W	L218E,D1
	BEQ.S	L007F
	BTST	#2,D5
	BEQ.S	L007D
	MOVEQ	#9,D1
	BRA.S	L007E
;
L007D:
	MOVEQ	#4,D1
L007E:
	move	D1,-24(A6)
	BRA.S	L0082
;
L007F:
	BTST	#2,D5
	BEQ.S	L0080
	MOVEQ	#$A,D1
	BRA.S	L0081
;
L0080:
	MOVEQ	#6,D1
L0081:
	move	D1,-24(A6)
L0082:
	CMP.W	D0,D5
	BNE.S	L0083
	MOVEQ	#$1A,D0
	move	D0,-24(A6)
L0083:
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	move	-24(A6),-(sp)
	CLR.W	-(sp)
	JSR	_AddUnit
	ADDQ.W	#8,sp
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-10(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A1
	ADDA.L	D0,A1
	move	-12(A6),D0
	ADDA.W	D0,A1
	MOVE.B	(A1),D1
	OR.B	D1,9(A0)
	MOVE.L	D6,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	CMP.W	_Player,D0
	BNE.S	L0084
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0084:
	ADDQ.W	#1,D5
	BRA	L007C
;
L0085:
	MOVEM.L	(sp)+,D5-D7/D2
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_Ranks:
	LINK	A6,#-$1E
	MOVEM.L	D4-D7/D2,-(sp)
	MOVEQ	#0,D5
	MOVEQ	#1,D7
L0087:
	MOVEQ	#8,D0
	CMP.W	D0,D7
	BGE	L0093
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	MOVE.L	D7,D2
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_Npop,A0
	ADDA.L	D2,A0
	move	(A0),D2
	ASL.W	#3,D2
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_TechLevel,A0
	ADDA.L	D0,A0
	ADD.W	(A0),D2
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	DIVS	#$20,D0
	ADD.W	D0,D2
	move	D2,-26(A6,D1.L)
	MOVEQ	#0,D6
L0088:
	MOVEQ	#$1C,D0
	CMP.W	D0,D6
	BGE.S	L0089
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,20(sp)
	MOVEQ	#$38,D0
	JSR	__CXM22
	LEA	_units,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	move	(A0),D0
	MULS	24(A1),D0
	MOVE.L	20(sp),D1
	ADD.W	D0,-26(A6,D1.L)
	ADDQ.W	#1,D6
	BRA.S	L0088
;
L0089:
	MOVEQ	#1,D0
	ASL.W	D7,D0
	move	_Players,D1
	AND.W	D0,D1
	BNE.S	L008A
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEQ	#0,D1
	move	D1,-26(A6,D0.L)
L008A:
	move	_Player,D0
	CMP.W	D7,D0
	BEQ.S	L008B
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	move	-26(A6,D0.L),D1
	CMP.W	D5,D1
	BLE.S	L008B
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	move	-26(A6,D0.L),D5
L008B:
	move	_Rtime,D0
	CMPI.W	#600,D0
	BGE.S	L008D
	TST.W	D0
	BPL.S	L008C
	ADDQ.W	#3,D0
L008C:
	ASR.W	#2,D0
	EXT.L	D0
	DIVS	#150,D0
	SWAP	D0
	EXT.L	D0
	ASL.L	#3,D0
	LEA	_histo,A0
	ADDA.L	D0,A0
	ADDA.W	D7,A0
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	move	-26(A6,D0.L),D1
	EXT.L	D1
	DIVS	#8,D1
	move	#$FF,D0
	move	D0,-(sp)
	CLR.W	-(sp)
	move	D1,-(sp)
	MOVE.L	A0,26(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	MOVEA.L	20(sp),A0
	MOVE.B	D0,(A0)
L008D:
	MOVEQ	#0,D0
	MOVE.L	D0,D6
	move	D0,-10(A6)
L008E:
	MOVEQ	#8,D0
	CMP.W	D0,D6
	BGE.S	L0090
	MOVE.L	D7,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	MOVEQ	#3,D0
	AND.W	(A0),D0
	SUBQ.W	#1,D0
	BNE.S	L008F
	MOVEQ	#1,D0
	ASL.W	D6,D0
	OR.W	D0,-10(A6)
L008F:
	ADDQ.W	#1,D6
	BRA.S	L008E
;
L0090:
	move	_Rtime,D0
	CMPI.W	#$258,D0
	BGE.S	L0092
	TST.W	D0
	BPL.S	L0091
	ADDQ.W	#3,D0
L0091:
	ASR.W	#2,D0
	EXT.L	D0
	DIVS	#$96,D0
	SWAP	D0
	EXT.L	D0
	ASL.L	#3,D0
	LEA	_hwars,A0
	ADDA.L	D0,A0
	ADDA.W	D7,A0
	move	-10(A6),D0
	MOVE.B	D0,(A0)
L0092:
	ADDQ.W	#1,D7
	BRA	L0087
;
L0093:
	MOVEQ	#1,D6
L0094:
	MOVEQ	#8,D0
	CMP.W	D0,D6
	BGE.S	L0098
	MOVEQ	#-1,D5
	MOVEQ	#1,D7
L0095:
	MOVEQ	#8,D0
	CMP.W	D0,D7
	BGE.S	L0097
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	move	-26(A6,D0.L),D1
	CMP.W	D5,D1
	BLE.S	L0096
	MOVE.L	D7,D4
	move	-26(A6,D0.L),D5
L0096:
	ADDQ.W	#1,D7
	BRA.S	L0095
;
L0097:
	MOVE.L	D4,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nrank,A0
	ADDA.L	D0,A0
	MOVEQ	#8,D0
	SUB.W	D6,D0
	move	D0,(A0)
	MOVE.L	D4,D0
	EXT.L	D0
	ADD.L	D0,D0
	move	#-1,-26(A6,D0.L)
	ADDQ.W	#1,D6
	BRA.S	L0094
;
L0098:
	CLR.W	_GangUp
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nrank,A0
	ADDA.L	D0,A0
	MOVEQ	#7,D0
	CMP.W	(A0),D0
	BNE	L009C
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncity,A0
	ADDA.L	D0,A0
	CMPI.W	#4,(A0)
	BLE	L009C
	move	_Player,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_units,A0
	ADDA.L	D0,A0
	TST.W	50(A0)
	BNE	L009C
	CMPI.W	#$C8,_Rtime
	BLE.S	L009C
	MOVEQ	#1,D0
	move	D0,_GangUp
	MOVE.L	D0,D6
L0099:
	MOVEQ	#8,D0
	CMP.W	D0,D6
	BGE.S	L009C
	move	_Player,D0
	MOVE.L	D0,D1
	CMP.W	D6,D1
	BEQ.S	L009B
	MOVE.L	D6,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Ncity,A0
	ADDA.L	D1,A0
	CMPI.W	#1,(A0)
	BLE.S	L009B
	MOVE.L	D6,D1
	EXT.L	D1
	ASL.L	#4,D1
	LEA	_Treaties,A0
	MOVEA.L	A0,A1
	ADDA.L	D1,A1
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	BTST	#1,1(A1)
	BEQ.S	L009A
	MOVE.L	D6,D2
	EXT.L	D2
	ASL.L	#4,D2
	MOVEA.L	A0,A1
	ADDA.L	D2,A1
	ADDA.L	D1,A1
	BSET	#0,(A1)
	BRA.S	L009B
;
L009A:
	MOVE.L	D6,D1
	EXT.L	D1
	ASL.L	#4,D1
	ADDA.L	D1,A0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	BSET	#0,1(A0)
L009B:
	ADDQ.W	#1,D6
	BRA.S	L0099
;
L009C:
	MOVEM.L	(sp)+,D4-D7/D2
	UNLK	A6
	RTS
;
;
_MenuBar:
	MOVE.L	D2,-(sp)
	MOVEQ	#0,D0
	move	D0,-(sp)
	MOVEQ	#8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	MOVEQ	#$F,D0
	move	D0,(sp)
	MOVEQ	#1,D1
	move	D1,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	PEA	L1AF8
	JSR	_jPrint
	MOVEQ	#$F,D0
	move	D0,(sp)
	MOVEQ	#1,D1
	move	D1,-(sp)
	MOVEQ	#$40,D2
	move	D2,-(sp)
	PEA	L1AF9
	JSR	_jPrint
	MOVEQ	#$F,D0
	move	D0,(sp)
	MOVEQ	#1,D1
	move	D1,-(sp)
	move	#$80,D2
	move	D2,-(sp)
	PEA	L1AFA
	JSR	_jPrint
	MOVEQ	#$F,D0
	move	D0,(sp)
	MOVEQ	#1,D1
	move	D1,-(sp)
	move	#$C0,D2
	move	D2,-(sp)
	PEA	L1AFB
	JSR	_jPrint
	MOVEQ	#$F,D0
	move	D0,(sp)
	MOVEQ	#1,D1
	move	D1,-(sp)
	move	#$F0,D2
	move	D2,-(sp)
	PEA	L1AFC
	JSR	_jPrint
	LEA	54(sp),sp
	MOVE.L	(sp)+,D2
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_TimeBar:
	LINK	A6,#-8
	MOVEM.L	D2-D7,-(sp)
	MOVEQ	#1,D0
	CMP.W	_MapView,D0
	BEQ	L00A8
	MOVEQ	#$27,D0
	move	D0,-(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	MOVEQ	#$3A,D2
	move	D2,-(sp)
	CLR.W	-(sp)
	JSR	_MarbleBox
	MOVEQ	#$B,D0
	move	D0,(sp)
	move	D0,-(sp)
	MOVEQ	#$4A,D1
	move	D1,-(sp)
	MOVEQ	#$3C,D2
	move	D2,-(sp)
	MOVEQ	#3,D3
	move	D3,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	LEA	20(sp),sp
	move	_Peace,D0
	MOVEQ	#1,D1
	CMP.W	D1,D0
	BLE.S	L009F
	ADD.W	D0,D0
	MOVEQ	#$3C,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_rng
	MOVEQ	#$F,D1
	move	D1,(sp)
	MOVEQ	#2,D2
	move	D2,-(sp)
	move	D0,-(sp)
	MOVEQ	#$3C,D3
	move	D3,-(sp)
	MOVEQ	#3,D4
	move	D4,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	LEA	18(sp),sp
L009F:
	MOVEQ	#$3A,D0
	move	D0,-(sp)
	MOVEQ	#8,D1
	move	D1,-(sp)
	move	_Nwives,-(sp)
	move	_Player,-(sp)
	JSR	_PalaceAt
	ADDQ.W	#8,sp
	TST.W	_debug
	BEQ.S	L00A0
	JSR	_AvailSysMem
	MOVE.L	D0,D7
	CLR.B	_XEB
	MOVEQ	#$A,D0
	move	D0,-(sp)
	PEA	_ntmp
	move	D7,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	CLR.W	(sp)
	MOVEQ	#$3B,D0
	move	D0,-(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_jPrint
	LEA	20(sp),sp
L00A0:
	CLR.B	_XEB
	move	_Player,-(sp)
	JSR	_PopSize
	MOVE.L	D0,D6
	PEA	L1AFD
	PEA	_XEB
	JSR	_strcat
	LEA	10(sp),sp
	TST.W	D6
	BEQ.S	L00A1
	CLR.W	-(sp)
	MOVEQ	#$49,D0
	move	D0,-(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_jPrint
	LEA	10(sp),sp
L00A1:
	CLR.B	_XEB
	JSR	_TheYear
	CLR.W	-(sp)
	MOVEQ	#$51,D0
	move	D0,-(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_jPrint
	LEA	10(sp),sp
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Knowledge,A0
	ADDA.L	D0,A0
	move	(A0),D0
	ASL.W	#2,D0
	move	_Diff,D1
	ADD.W	D1,D1
	ADD.W	_TechTime,D1
	move	_Player,D2
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_TechLevel,A0
	ADDA.L	D2,A0
	ADDQ.W	#6,D1
	MULS	(A0),D1
	move	_Year,D2
	TST.W	D2
	BPL.S	L00A2
	MOVEQ	#1,D2
	BRA.S	L00A3
;
L00A2:
	MOVEQ	#2,D2
L00A3:
	MULS	D2,D1
	ADDQ.W	#1,D1
	EXT.L	D0
	DIVS	D1,D0
	MOVE.L	D0,D7
	MOVEQ	#3,D0
	move	D0,-(sp)
	CLR.W	-(sp)
	move	D7,-(sp)
	JSR	_rng
	ASL.W	#3,D0
	ADDI.W	#$A0,D0
	MOVEQ	#$50,D1
	move	D1,(sp)
	MOVEQ	#$30,D2
	move	D2,-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#8,D3
	move	D3,-(sp)
	move	D3,-(sp)
	MOVEQ	#$78,D4
	move	D4,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpMap,-(sp)
	JSR	_RectCopy
	LEA	24(sp),sp
	TST.W	_Temp
	BEQ.S	L00A5
	move	_Temp,D0
	BPL.S	L00A4
	ADDQ.W	#3,D0
L00A4:
	ASR.W	#2,D0
	MOVEQ	#3,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_rng
	MOVE.L	D0,D7
	MOVE.L	D7,D0
	ASL.W	#3,D0
	ADDI.W	#$A0,D0
	MOVEQ	#$50,D1
	move	D1,(sp)
	MOVEQ	#$38,D2
	move	D2,-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#8,D3
	move	D3,-(sp)
	move	D3,-(sp)
	move	#$80,D4
	move	D4,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpMap,-(sp)
	JSR	_RectCopy
	LEA	24(sp),sp
L00A5:
	CLR.B	_XEB
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	move	D0,-(sp)
	PEA	_ntmp
	move	(A0),-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1AFE
	PEA	_XEB
	JSR	_strcat
	PEA	L1AFF
	PEA	_XEB
	JSR	_strcat
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Happy,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	MOVE.L	D0,D1
	SUB.W	(A0),D1
	move	_Player,D2
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_Science,A0
	ADDA.L	D2,A0
	SUB.W	(A0),D1
	move	D0,(sp)
	PEA	_ntmp
	move	D1,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B00
	PEA	_XEB
	JSR	_strcat
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Happy,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	(A0),-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B01
	PEA	_XEB
	JSR	_strcat
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Science,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	(A0),-(sp)
	JSR	_itoa
	LEA	70(sp),sp
	MOVE.L	D0,-(sp)
	PEA	_XEB
	JSR	_strcat
	CLR.W	(sp)
	MOVEQ	#$59,D0
	move	D0,-(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_jPrint
	LEA	16(sp),sp
	TST.W	L1AE9
	BNE	L00A8
	move	_MaxPop,D5
	PEA	fertility_1_s
	PEA	_XEB
	JSR	_strcpy
	move	_Player,D0
	EXT.L	D0
	MOVEQ	#$B,D1
	JSR	__CXM22
	LEA	_ArmyText,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	fertility_2_s
	PEA	_XEB
	JSR	_strcat
	LEA	20(sp),sp
	MOVEQ	#$64,D0
	CMP.W	D0,D6
	BGE.S	L00A6
	move	_MaxPop,D0
	MOVEQ	#$A,D1
	MULS	D1,D0
	CMP.W	D0,D6
	BLE	L00A7
	MOVE.L	D6,D0
	EXT.L	D0
	DIVS	D1,D0
	move	D1,-(sp)
	PEA	_ntmp
	move	D0,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	LEA	12(sp),sp
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$A,D1
	DIVS	D1,D0
	move	D0,_MaxPop
	BRA.S	L00A7
;
L00A6:
	MOVEQ	#-9,D7
	ADD.W	_MaxPop,D7
	MOVE.L	D7,D1
	MULS	D0,D1
	CMP.W	D1,D6
	BLE.S	L00A7
	MOVE.L	D6,D0
	EXT.L	D0
	DIVS	#$64,D0
	MOVEQ	#$A,D1
	move	D1,-(sp)
	PEA	_ntmp
	move	D0,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	fertility_3_s
	PEA	_XEB
	JSR	_strcat
	LEA	20(sp),sp
	MOVE.L	D6,D0
	EXT.L	D0
	DIVS	#$64,D0
	ADDI.W	#9,D0
	move	D0,_MaxPop
L00A7:
	CMP.W	_MaxPop,D5
	BGE.S	L00A8
	CMPI.W	#-1,_MaxFame
	BLT.S	L00A8
	PEA	fertility_4_s
	PEA	_XEB
	JSR	_strcat
	move	#4,_MSource
	MOVEQ	#$50,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	BSR	_sMenu
	LEA	14(sp),sp
L00A8:
	MOVEM.L	(sp)+,D2-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_PalaceAt:
	LINK	A6,#-$42
	MOVEM.L	D2-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	MOVE.L	D5,D0
	SUBQ.W	#5,D0
	MOVEQ	#$D,D1
	ADD.W	14(A6),D1
	MOVE.L	D5,D2
	ADDI.W	#$44,D2
	MOVEQ	#2,D3
	move	D3,-(sp)
	move	D1,-(sp)
	move	D2,-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	JSR	_Line
	LEA	10(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncity,A0
	ADDA.L	D0,A0
	TST.W	(A0)
	BEQ	L00C0
	MOVE.L	D6,D0
	ADDQ.W	#3,D0
	MOVEQ	#$24,D1
	move	D1,-(sp)
	MOVEQ	#3,D2
	move	D2,-(sp)
	move	D0,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-4(A6)
	EXT.L	D0
	DIVS	#5,D0
	CLR.W	-2(A6)
	move	D0,-44(A6)
L00AA:
	move	-2(A6),D0
	MOVEQ	#9,D1
	CMP.W	D1,D0
	BGE.S	L00AB
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	move	#-1,-24(A6,D1.L)
	ADDQ.W	#1,-2(A6)
	BRA.S	L00AA
;
L00AB:
	move	#3,-2(A6)
L00AC:
	move	-2(A6),D0
	MOVEQ	#5,D1
	CMP.W	D1,D0
	BGT.S	L00AD
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	CLR.W	-24(A6,D1.L)
	ADDQ.W	#1,-2(A6)
	BRA.S	L00AC
;
L00AD:
	move	_rseed,D0
	MULS	D7,D0
	move	D0,-52(A6)
	CMP.W	_Player,D7
	BNE.S	L00AF
	CLR.W	-2(A6)
L00AE:
	move	-2(A6),D0
	MOVEQ	#9,D1
	CMP.W	D1,D0
	BGE	L00B9
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_palace,A0
	ADDA.L	D0,A0
	move	(A0),-24(A6,D1.L)
	move	-2(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_style,A0
	ADDA.L	D0,A0
	move	(A0),-42(A6,D1.L)
	ADDQ.W	#1,-2(A6)
	BRA.S	L00AE
;
L00AF:
	CLR.W	-2(A6)
L00B0:
	move	-2(A6),D0
	CMP.W	-4(A6),D0
	BGE	L00B9
	CLR.W	-54(A6)
L00B1:
	MOVEQ	#1,D0
	move	-52(A6),D1
	LSL.W	#2,D1
	ADD.W	-52(A6),D1
	ADDQ.W	#1,D1
	move	D1,-52(A6)
	ANDI.W	#$FF,D1
	EXT.L	D1
	MOVEQ	#9,D2
	DIVS	D2,D1
	SWAP	D1
	MOVE.L	D1,D3
	EXT.L	D3
	ADD.L	D3,D3
	move	-24(A6,D3.L),D4
	ADDQ.W	#1,D4
	MOVEM.W	D0,-50(A6)
	MOVEM.W	D1,-46(A6)
	MOVEM.W	D4,-48(A6)
	MOVEQ	#4,D0
	CMP.W	D0,D1
	BGE.S	L00B3
	MOVE.L	D1,D3
	EXT.L	D3
	ADD.L	D3,D3
	CMP.W	-22(A6,D3.L),D4
	BGT.S	L00B2
	MOVEQ	#7,D3
	SUB.W	D1,D3
	MOVE.L	D3,D2
	EXT.L	D2
	ADD.L	D2,D2
	MOVEQ	#-1,D3
	CMP.W	-24(A6,D2.L),D3
	BNE.S	L00B3
L00B2:
	MOVEQ	#0,D2
	move	D2,-50(A6)
L00B3:
	CMP.W	D0,D1
	BLE.S	L00B5
	MOVE.L	D1,D0
	EXT.L	D0
	ADD.L	D0,D0
	CMP.W	-26(A6,D0.L),D4
	BGT.S	L00B4
	MOVEQ	#9,D0
	SUB.W	D1,D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	MOVEQ	#-1,D0
	CMP.W	-24(A6,D1.L),D0
	BNE.S	L00B5
L00B4:
	MOVEQ	#0,D0
	move	D0,-50(A6)
L00B5:
	CMP.W	-44(A6),D4
	BGT.S	L00B6
	MOVEQ	#3,D0
	CMP.W	D0,D4
	BLE.S	L00B7
L00B6:
	CLR.W	-50(A6)
L00B7:
	TST.W	-50(A6)
	BNE.S	L00B8
	ADDQ.W	#1,-54(A6)
	CMPI.W	#$3E7,-54(A6)
	BLT	L00B1
L00B8:
	move	-46(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	move	-48(A6),-24(A6,D0.L)
	MOVE.L	D7,D1
	EXT.L	D1
	DIVS	#3,D1
	SWAP	D1
	move	D1,-42(A6,D0.L)
	ADDQ.W	#1,-2(A6)
	BRA	L00B0
;
L00B9:
	CLR.W	-2(A6)
L00BA:
	move	-2(A6),D0
	MOVEQ	#9,D1
	CMP.W	D1,D0
	BGE	L00C0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	move	-24(A6,D1.L),D2
	TST.W	D2
	BLE	L00BF
	MOVEQ	#2,D1
	move	D1,-48(A6)
	MOVEQ	#4,D2
	CMP.W	D2,D0
	BGE.S	L00BC
	MOVEQ	#1,D3
	MOVE.L	D0,D4
	EXT.L	D4
	ADD.L	D4,D4
	move	D3,-48(A6)
	MOVE.L	D4,24(sp)
	MOVEQ	#-1,D4
	MOVE.L	24(sp),D1
	CMP.W	-26(A6,D1.L),D4
	BEQ.S	L00BB
	CMP.W	D3,D0
	BNE.S	L00BC
L00BB:
	MOVEQ	#0,D1
	move	D1,-48(A6)
L00BC:
	CMP.W	D2,D0
	BLE.S	L00BE
	MOVEQ	#3,D1
	MOVE.L	D0,D3
	EXT.L	D3
	ADD.L	D3,D3
	move	D1,-48(A6)
	MOVEQ	#-1,D4
	CMP.W	-22(A6,D3.L),D4
	BEQ.S	L00BD
	MOVEQ	#7,D3
	CMP.W	D3,D0
	BNE.S	L00BE
L00BD:
	move	D2,-48(A6)
L00BE:
	MOVE.L	D0,D1
	LSL.W	#3,D1
	SUB.W	D0,D1
	ADD.W	D5,D1
	move	14(A6),D2
	SUBQ.W	#1,D2
	MOVE.L	D0,D3
	EXT.L	D3
	ADD.L	D3,D3
	move	-42(A6,D3.L),D0
	EXT.L	D0
	move	D1,24(sp)
	MOVEQ	#$28,D1
	JSR	__CXM22
	LEA	_wsprite,A0
	ADDA.L	D0,A0
	move	-24(A6,D3.L),D0
	SUBQ.W	#1,D0
	MOVEQ	#3,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	move	D2,32(sp)
	MOVE.L	A0,38(sp)
	JSR	_rng
	MOVE.L	D0,D1
	LSL.W	#2,D1
	ADD.W	D0,D1
	ADD.W	-48(A6),D1
	MOVE.L	D1,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	38(sp),A0
	ADDA.L	D0,A0
	move	(A0),(sp)
	move	32(sp),-(sp)
	move	32(sp),-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ShowSprite
	LEA	14(sp),sp
L00BF:
	ADDQ.W	#1,-2(A6)
	BRA	L00BA
;
L00C0:
	MOVEM.L	(sp)+,D2-D7
	UNLK	A6
	RTS
;
;
_FameLevel:
	MOVEM.L	D5-D7,-(sp)
	move	16(sp),D7
	MOVEQ	#0,D5
	MOVEQ	#0,D6
L00C2:
	CMP.W	D7,D6
	BGT.S	L00C3
	MOVEQ	#7,D0
	SUB.W	_Diff,D0
	MOVE.L	D6,D1
	MULS	D0,D1
	ADD.W	D1,D5
	ADDQ.W	#1,D6
	BRA.S	L00C2
;
L00C3:
	MOVE.L	D5,D0
	TST.W	D0
	BPL.S	L00C4
	ADDQ.W	#1,D0
L00C4:
	ASR.W	#1,D0
	ADDQ.W	#1,D0
	MOVEM.L	(sp)+,D5-D7
	RTS
;
;
_TheYear
	move	_Year,-(sp)
	JSR	_abs
	MOVEQ	#$A,D1
	move	D1,-(sp)
	PEA	_ntmp
	move	D0,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	LEA	14(sp),sp
	move	_Year,D0
	TST.W	D0
	BPL.S	L00C6
	LEA	BC_suffix_1_s,A0
	BRA.S	L00C7
;
L00C6:
	LEA	AD_suffix_1_s,A0
L00C7:
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_Events:
	LINK	A6,#-$14
	MOVEM.L	A2/D4-D7,-(sp)
;
	move	_Polluted,D0
	ADD.W	D0,D0
	move	_Warming,D1
	ASL.W	#2,D1
	SUB.W	D1,D0
	SUB.W	_Temp,D0
	move	D0,-(sp)
	JSR	_sgn
	move	_Temp,D1
	ADD.W	D0,D1
	MOVEQ	#$63,D0
	move	D0,-(sp)
	CLR.W	-(sp)
	move	D1,-(sp)
	JSR	_rng
	ADDQ.W	#8,sp
	move	D0,_Temp
	MOVEQ	#$C,D1
	CMP.W	D1,D0
	BNE.S	.L00C9
	CMPI.W	#6,_Polluted
	BLE.S	.L00C9
	PEA	warn_global_warming_s
	PEA	_XEB
	JSR	_strcpy
	MOVEQ	#-1,D0
	move	D0,(sp)
	JSR	_NewsPaper
	ADDQ.W	#8,sp
.L00C9:
;
	CMPI.W	#$10,_Temp
	BLE.S	.L00CA
	move	_Warming,D0
	ADDQ.W	#1,_Warming
	move	D0,-(sp)
	JSR	_GlobalWarming
	ADDQ.W	#2,sp
	MOVEQ	#0,D0
	move	D0,_Temp
.L00CA:
;
	MOVEQ	#0,D6
L00CB:
	CMP.W	_Diff,D6
	BGT	L00DA
	MOVEQ	#$15,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	MOVE.L	D0,D7
	ADDQ.W	#1,D7
	TST.W	_Diff
	BNE.S	L00CC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	move	28(A0),-(sp)
	move	_Player,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L00D9
L00CC:
	CMPI.W	#2,_Diff
	BGE.S	L00CF
	MOVEQ	#0,D5
L00CD:
	CMPI.W	#$80,D5
	BGE.S	L00CF
	MOVE.L	D5,D0		;\
	EXT.L	D0		; \/ d0 = 28 * d5
	MOVEQ	#$1C,D1		; /\
	JSR	__CXM22		;/
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	_Player,D0
	BNE.S	L00CE
	MOVE.L	D5,D0		;\
	EXT.L	D0		; \/ d0 = 28 * d5
	MOVEQ	#$1C,D1		; /\
	JSR	__CXM22		;/
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ.S	L00CE
	MOVE.L	D5,D0		;\
	EXT.L	D0		; \/ d0 = 28 * d5
	MOVEQ	#$1C,D1		; /\
	JSR	__CXM22		;/
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	ADDI.W	#$18,D0
	NEG.W	D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	CMP.W	D0,D1
	BNE.S	L00CE
	MOVEQ	#$11,D7
L00CE:
	ADDQ.W	#1,D5
	BRA.S	L00CD
;
L00CF:
	move	#$80,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	MOVE.L	D0,D5
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ	L00D9
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	11(A0),D4
	EXT.W	D4
	MOVE.L	D4,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	BTST	#2,1(A0)
	BNE	L00D9
	MOVEQ	#$11,D0
	CMP.W	D0,D7
	BNE.S	L00D0
	MOVEQ	#$2E,D0
	move	D0,-(sp)
	move	D4,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L00D9
L00D0:
	TST.W	D6
	BNE.S	L00D1
	MOVEQ	#$2E,D0
	move	D0,-(sp)
	move	D4,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L00D1
	MOVEQ	#$2E,D0
	move	D0,-(sp)
	move	_Player,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE.S	L00D1
	MOVEQ	#-1,D0
	CMP.W	L217B,D0
	BNE.S	L00D1
	MOVEQ	#$11,D7
L00D1:
	MOVEQ	#$11,D0
	CMP.W	D0,D7
	BNE.S	L00D2
	MOVEQ	#$2E,D0
	move	D0,-(sp)
	move	_Player,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L00D2
	MOVE.L	D4,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncombat,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A1),D0
	CMP.W	(A0),D0
	BGT	L00D9
L00D2:
	MOVEQ	#-1,D0
lottery_fix_1:
	CMP.W	D0,D4		;\/ 6 bytes patched to:
	BEQ	L00D9		;/\ jsr     nu_lottery_fix_
	move	_Player,D1
	CMP.W	D4,D1
	BEQ	L00D9
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Wonders,A0
	ADDA.L	D1,A0
	CMP.W	(A0),D0
	BNE	L00D9
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	ADDI.W	#$18,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	move	24(A2),D0
	EXT.L	D0
	DIVS	#$A,D0
	MOVE.B	7(A0),D1
	EXT.W	D1
	CMP.W	D0,D1
	BLE	L00D9
	MOVE.L	D7,D0
	ADDI.W	#$18,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	move	28(A1),-(sp)
	move	D4,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L00D9
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Wonders,A0
	ADDA.L	D0,A0
	move	D5,(A0)
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	CLR.W	14(A0)
	move	D7,-(sp)
	move	D4,-(sp)
	MOVEQ	#2,D0
	move	D0,-(sp)
	MOVEQ	#$A,D1
	move	D1,-(sp)
	JSR	_AddReplay
	CLR.B	_XEB
	move	D5,(sp)
	JSR	_CityName
	PEA	L1B09		;Left parenth
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D4,D0
	EXT.L	D0
	MOVEQ	#$B,D1
	JSR	__CXM22
	LEA	_ArmyText,A0	;City empire
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B0A		;Right parenth
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D7,D0
	ADDI.W	#$18,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B0B
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D4,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D4,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	DIVS	#3,D0
	MOVE.L	D7,D1
	ADDI.W	#$18,D1
	EXT.L	D1
	move	D0,64(sp)
	MOVEQ	#$1E,D0
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	move	24(A0),D0
	MULS	#$A,D0
	MOVE.L	D5,D1
	EXT.L	D1
	move	D0,66(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	move	66(sp),D0
	SUB.W	14(A0),D0
	move	D0,(sp)
	CLR.W	-(sp)
	move	66(sp),-(sp)
	MOVE.L	A1,64(sp)
	JSR	_rng
	LEA	44(sp),sp
	MOVEA.L	20(sp),A0
	SUB.W	D0,(A0)
	MOVEQ	#1,D0
	CMP.W	_MapView,D0
	BEQ	L00D5
	MOVE.L	D4,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Leaders,A0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	MOVEQ	#$3A,D1
	JSR	__CXM22
	LEA	_ld,A0
	ADDA.L	D0,A0
	move	54(A0),-(sp)
	JSR	_DoSound
	ADDQ.W	#2,sp
	move	_Player,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	MOVE.L	D4,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	BTST	#6,1(A0)
	BEQ.S	L00D3
	MOVEQ	#5,D0
	BRA.S	L00D4
;
L00D3:
	MOVEQ	#2,D0
L00D4:
	move	D0,_MSource
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	BSR	_sMenu
	MOVE.L	D7,D0
	ADDI.W	#$18,D0
	MOVEQ	#1,D1
	move	D1,(sp)
	move	D0,-(sp)
	JSR	_Blurb
	JSR	_ResetScreen
	MOVEQ	#$1A,D0
	move	D0,(sp)
	JSR	_DoSound
	LEA	10(sp),sp
L00D5:
	MOVEQ	#$E,D0
	CMP.W	D0,D7
	BNE.S	L00D6
	CLR.W	-(sp)
	move	D4,-(sp)
	JSR	_AddCivilized
	CLR.W	(sp)
	move	D4,-(sp)
	JSR	_AddCivilized
	ADDQ.W	#6,sp
L00D6:
	MOVEQ	#0,D5
L00D7:
	CMPI.W	#$80,D5
	BGE.S	L00DA
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ.S	L00D8
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	move	_Player,D1
	CMP.W	D1,D0
	BNE.S	L00D8
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	ADDI.W	#$18,D0
	NEG.W	D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	CMP.W	D0,D1
	BNE.S	L00D8
	move	D5,-(sp)
	move	_Player,-(sp)
	JSR	_CityReport
	ADDQ.W	#4,sp
L00D8:
	ADDQ.W	#1,D5
	BRA.S	L00D7
;
L00D9:
lottery_fix_2:
	ADDQ.W	#1,D6
	BRA	L00CB
;
L00DA:
	MOVEM.L	(sp)+,A2/D4-D7
	UNLK	A6
	RTS
;
;
;
;-----------------------------------------------------------------------------
;
_ResetScreen:
	MOVE.L	D2,-(sp)
	MOVEQ	#1,D0
	move	D0,-(sp)
	JSR	_CycleOff
	move	#1,L1AE9
	JSR	_hidemouse
	move	_YMap,-(sp)
	move	_XMap,-(sp)
	move	_Player,-(sp)
	JSR	_ShowMap
	MOVEQ	#$67,D0
	move	D0,(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	MOVEQ	#$61,D2
	move	D2,-(sp)
	CLR.W	-(sp)
	JSR	_MarbleBox
	JSR	_showmouse
	JSR	_RestorePal
	CLR.W	L1AE9
	JSR	_CycleOn
	LEA	14(sp),sp
	MOVE.L	(sp)+,D2
	RTS
;
;
_MarbleBox
	MOVEM.L	D2-D7,-(sp)
	move	28(sp),D7
	move	30(sp),D6
	move	32(sp),D5
	move	34(sp),D4
	move	D4,-(sp)
	move	D5,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_Marble
	MOVE.L	D5,D0
	SUBQ.W	#1,D0
	MOVE.L	D4,D1
	SUBQ.W	#1,D1
	MOVEQ	#8,D2
	move	D2,(sp)
	MOVEQ	#$F,D3
	move	D3,-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_Box2
	LEA	18(sp),sp
	MOVEM.L	(sp)+,D2-D7
	RTS
;
;
_RestorePal:
	RTS
;
;
_WScore:
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	MOVEQ	#0,D6
L00DF:
	ADDQ.W	#5,D6
	SUB.W	D6,D7
	TST.W	D7
	BGT.S	L00DF
	MOVE.L	D6,D0
	EXT.L	D0
	DIVS	#5,D0
	SUBQ.W	#1,D0
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
	dc.w	0
;
;----------------------------------------------------------------------------
;
_Line:
	LINK	A6,#0
	MOVEM.L	D4-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	move	14(A6),D4
	move	16(A6),-(sp)
	move	D4,-(sp)
	move	D5,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_DrawLine
	MOVEM.L	-16(A6),D4-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_sPrint:
	LINK	A6,#-4
	MOVEM.L	D5-D7,-(sp)
	move	12(A6),D7
	move	14(A6),D6
	move	16(A6),D5
	MOVEA.L	_Rp1,A0
	move	D5,12(A0)
	TST.W	_color85
	BEQ.S	L00E2
	MOVE.L	D7,D0
	ADD.W	D0,D0
	BRA.S	L00E3
;
L00E2:
	MOVE.L	D7,D0
L00E3:
	MOVE.L	8(A6),-(sp)
	move	D6,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RpPrint
	MOVEM.L	-16(A6),D5-D7
	UNLK	A6
	RTS
;
;
_jPrint:
	MOVEM.L	A5/D5-D7,-(sp)
	MOVEA.L	20(sp),A5
	move	24(sp),D7
	move	26(sp),D6
	move	28(sp),D5
	MOVEA.L	_Rp1,A0
	CLR.W	10(A0)
	move	D5,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	MOVE.L	A5,-(sp)
	BSR.S	_sPrint
	LEA	10(sp),sp
	MOVEA.L	_Rp1,A0
	move	#1,10(A0)
	MOVEM.L	(sp)+,A5/D5-D7
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_dPrint:
	LINK	A6,#0
	MOVEM.L	D5-D7,-(sp)
	move	12(A6),D7
	move	14(A6),D6
	move	16(A6),D5
	MOVE.L	D6,D0
	ADDQ.W	#1,D0
	CLR.W	-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	MOVE.L	8(A6),-(sp)
	BSR.S	_jPrint
	move	D5,(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	MOVE.L	8(A6),-(sp)
	BSR.S	_jPrint
	MOVEM.L	-12(A6),D5-D7
	UNLK	A6
	RTS
;
;
_cPrint:
	MOVEM.L	A5/D5-D7,-(sp)
	MOVEA.L	20(sp),A5
	move	24(sp),D7
	move	26(sp),D6
	move	28(sp),D5
	MOVE.L	A5,-(sp)
	JSR	_pstrlen
	TST.W	D0
	BPL.S	L00E7
	ADDQ.W	#1,D0
L00E7:
	ASR.W	#1,D0
	SUB.W	D0,D7
	MOVEA.L	_Rp1,A0
	CLR.W	10(A0)
	move	D5,(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	MOVE.L	A5,-(sp)
	BSR	_sPrint
	LEA	12(sp),sp
	MOVEA.L	_Rp1,A0
	move	#1,10(A0)
	MOVEM.L	(sp)+,A5/D5-D7
	RTS
;
;
_pstrlen
	MOVEM.L	A5/A3/D6-D7,-(sp)
	MOVEA.L	20(sp),A5
	MOVEA.L	A5,A3
	MOVEA.L	_Rp1,A0
	move	16(A0),D7
	MOVEQ	#0,D6
L00E9:
	TST.B	(A3)
	BEQ.S	L00EA
	MOVEQ	#0,D0
	MOVE.B	(A3)+,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_CharWidth
	ADDQ.W	#4,sp
	ADD.W	D0,D6
	BRA.S	L00E9
;
L00EA:
	MOVE.L	D6,D0
	MOVEM.L	(sp)+,A5/A3/D6-D7
	RTS
;
;
	MOVE.L	D7,-(sp)
	move	8(sp),D7
	MOVE.L	D7,D0
	JSR	_WaitTicks
	MOVE.L	(sp)+,D7
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_FillRect:
	LINK	A6,#0
	MOVEM.L	D4-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	move	14(A6),D4
	MOVE.L	D5,D0
	SUB.W	D7,D0
	ADDQ.W	#1,D0
	MOVE.L	D4,D1
	SUB.W	D6,D1
	ADDQ.W	#1,D1
	move	16(A6),-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	MOVEM.L	-16(A6),D4-D7
	UNLK	A6
	RTS
;
;
	dc.w	0
;
;----------------------------------------------------------------------------
;
_MoveUnits
	LINK	A6,#-$58
	MOVEM.L	A2-A3/D2-D7,-(sp)
	move	8(A6),D7
	MOVEQ	#0,D0
	move	D7,_MyTurn
	move	_Human,-64(A6)
	move	#-1,-70(A6)
	move	D0,-68(A6)
	move	D0,-72(A6)
	move	D0,-28(A6)
	move	_Player,D0
	CMP.W	D0,D7
	BNE.S	L00F0
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	move	D0,_Human
	move	_Rtime,D0
	MOVEQ	#20,D1
	CMP.W	D1,D0
	BEQ.S	L00ED
	MOVEQ	#60,D1
	CMP.W	D1,D0
	BNE.S	L00EE
L00ED:			;Here we come only at the 20th and 60th turn
	PEA	star_help1_s
	JSR	_Advice
	ADDQ.W	#4,sp
L00EE:			;Here we come any turn
	move	_Rtime,D0
	MOVEQ	#40,D1
	CMP.W	D1,D0
	BEQ.S	.L00EF
	MOVEQ	#80,D1
	CMP.W	D1,D0
	BNE.S	L00F0
.L00EF:			;Here we come only at the 40th and 80th turn
	PEA	star_help2_s
	JSR	_Advice
	ADDQ.W	#4,sp
L00F0:			;Here we come any turn
	MOVEQ	#0,D6
L00F1:
	CMPI.W	#$80,D6
	BGE	L00F4
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	CMPI.B	#-1,3(A1)
	BEQ	L00F3
	MOVEQ	#1,D0
	CMP.W	_Reload,D0
	BEQ	L00F3
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	MOVE.B	3(A2),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	move	16(A3),D0
	ADD.W	D0,D0
	ADD.W	16(A3),D0
	MOVE.B	D0,4(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A2
	MOVEQ	#2,D0
	CMP.W	14(A2),D0
	BNE.S	L00F3
	MOVEQ	#4,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BNE.S	L00F2
	MOVEQ	#8,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L00F3
L00F2:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	ADDQ.B	#3,4(A0)
L00F3:
	ADDQ.W	#1,D6
	BRA	L00F1
;
L00F4:
	MOVEQ	#0,D0
	move	#$7F,-62(A6)
	move	D0,-8(A6)
	move	D0,-30(A6)
	move	D0,-24(A6)
	move	D0,-66(A6)
L00F5:
	move	#1,-10(A6)
	MOVEQ	#0,D6
L00F6:
	CMPI.W	#$80,D6
	BGE	L021C
	TST.W	_WhiteScreen
	BEQ.S	L00F7
	JSR	_ResetScreen
L00F7:
	TST.W	_Quit
	BEQ.S	L00F8
	move	#$80,D6
	BRA	L021B
;
L00F8:
	move	-62(A6),D0
	CMP.W	D6,D0
	BNE.S	L00F9
	move	#1,-8(A6)
L00F9:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	CMPI.B	#-1,3(A1)
	BEQ	L021B
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	CMPI.B	#$1C,3(A1)
	BLT.S	L00FA
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDA.L	36(sp),A1
	MOVE.B	#1,3(A1)
L00FA:
	TST.W	-24(A6)
	BNE.S	L00FB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	CLR.W	-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	move	D0,-(sp)
	move	48(sp),-(sp)
	JSR	_ShowSquare
	LEA	10(sp),sp
L00FB:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#9,D1
	AND.B	(A1),D1
	MOVE.L	D0,36(sp)
	TST.B	D1
	BNE	L021B
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	TST.B	4(A1)
	BEQ	L021B
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	BTST	#2,(A1)
	BEQ	L00FD
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	BCLR	#2,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	BSET	#3,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	CLR.B	4(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#4,sp
	move	_Player,D0
	CMP.W	D7,D0
	BEQ	L00FC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	42(sp),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BEQ	L00FC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	42(sp),-(sp)
	JSR	_FindCity
	ADDQ.W	#4,sp
	move	D0,-16(A6)
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	CMPI.B	#3,7(A0)
	BLT.S	L00FC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	move	-16(A6),D0
	MOVE.B	D0,11(A1)
L00FC:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	42(sp),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BEQ	L021B
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	42(sp),-(sp)
	JSR	_FindCity
	ADDQ.W	#4,sp
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-16(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	11(A1),D1
	EXT.W	D1
	MOVE.L	D0,36(sp)
	CMP.W	-16(A6),D1
	BNE	L021B
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	42(sp),-(sp)
	JSR	_ZOC3
	ADDQ.W	#4,sp
	TST.W	D0
	BNE	L021B
	move	-16(A6),-(sp)
	JSR	_DeActivateGarr
	ADDQ.W	#2,sp
	BRA	L021B
;
L00FD:
	move	_Player,D0
	CMP.W	D7,D0
	BNE	L0101
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#-$3E,D0
	AND.B	(A1),D0
	BNE	L0101
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D2
	MOVE.B	1(A1),D2
	MOVE.L	D0,36(sp)
	move	_XMap,D3
	CMP.W	D3,D2
	BLE	L00FE
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	2(A1),D0
	move	_YMap,D1
	CMP.W	D1,D0
	BLE.S	L00FE
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#$E,D0
	ADD.W	D3,D0
	MOVEQ	#0,D2
	MOVE.B	1(A1),D2
	CMP.W	D0,D2
	BGT.S	L00FE
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	ADD.W	_YMap,D0
	MOVEQ	#0,D1
	MOVE.B	2(A0),D1
	CMP.W	D0,D1
	BLT	L0101
L00FE:
	TST.W	-8(A6)
	BNE.S	L00FF
	CLR.W	-10(A6)
	BRA	L021B
;
L00FF:
	MOVEQ	#1,D0
	CMP.W	_MapView,D0
	BEQ.S	L0100
	MOVEQ	#$1E,D0
	JSR	_WaitTicks
L0100:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	SUBQ.W	#7,D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	SUBQ.W	#6,D0
	move	D0,-(sp)
	move	42(sp),-(sp)
	move	D7,-(sp)
	JSR	_ShowMap
	ADDQ.W	#6,sp
	MOVE.L	D6,D0
	SUBQ.W	#1,D0
	ANDI.W	#$7F,D0
	CLR.W	-8(A6)
	move	D0,-62(A6)
	TST.W	_Rtime
	BNE.S	L0101
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_DescribeUnit
	ADDQ.W	#4,sp
L0101:
	MOVEQ	#1,D0
	ASL.W	D7,D0
	move	_Human,D1
	AND.W	D0,D1
	BEQ.S	L0102
	JSR	_DeBounce
L0102:
	CLR.W	-20(A6)
	TST.W	-28(A6)
	BEQ.S	L0103
	MOVEQ	#7,D0
	move	D0,-(sp)
	MOVEQ	#0,D1
	move	D1,-(sp)
	move	D1,-(sp)
	JSR	_MouseTYPE
	ADDQ.W	#6,sp
L0103:
	MOVEQ	#0,D0
	move	D0,-30(A6)
	move	D0,-28(A6)
	move	D0,-74(A6)
L0104:
	MOVEQ	#1,D0
	ASL.W	D7,D0
	move	_Human,D1
	AND.W	D0,D1
	BNE	L0106
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_Emove
	ADDQ.W	#4,sp
	move	D0,-12(A6)
	BEQ.S	L0105
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#-1,D0
	MOVE.B	D0,6(A1)
L0105:
	ADDQ.W	#1,-20(A6)
	CMPI.W	#4,-20(A6)
	BLE	L012C
	move	#' ',-12(A6)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	MOVEQ	#-1,D0
	MOVE.B	D0,8(A2)
	MOVE.B	D0,6(A1)
	BRA	L012C
;
L0106:
	CMPI.W	#$80,D6
	BGE	L010D
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#-$3E,D2
	AND.B	(A1),D2
	MOVE.L	D0,36(sp)
	TST.B	D2
	BNE.S	L0107
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	6(A1),D0
	CMPI.W	#$FF,D0
	BEQ	L010D
L0107:
	move	#'r',-12(A6)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	BTST	#6,(A1)
	BEQ.S	L010A
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	TST.B	3(A1)
	BEQ.S	L0108
	MOVEQ	#$6D,D0
	BRA.S	L0109
;
L0108:
	MOVEQ	#'i',D0
L0109:
	move	D0,-12(A6)
L010A:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	BTST	#7,(A1)
	BEQ.S	L010C
	move	#'m',-12(A6)
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	BTST	#6,(A1)
	BEQ.S	L010B
	move	#'f',-12(A6)
L010B:
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDA.L	36(sp),A1
	BTST	#1,(A1)
	BEQ.S	L010C
	move	#'p',-12(A6)
L010C:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	CMP.W	14(A0),D0
	BNE	L012B
	move	#'h',-12(A6)
	BRA	L012B
;
L010D:
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_DescribeUnit
	ADDQ.W	#4,sp
	TST.W	_Rtime
	BNE.S	L010E
	TST.W	-24(A6)
	BNE.S	L010E
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_ArmyTexts,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	MOVE.L	_To,-(sp)
	JSR	_strcpy
	PEA	star_firstmove_s
	JSR	_Advice
	LEA	12(sp),sp
	MOVEQ	#1,D0
	move	D0,-24(A6)
L010E:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	TST.B	3(A0)
	BNE.S	L010F
	TST.W	-24(A6)
	BNE.S	L010F
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_SettleHelp
	ADDQ.W	#4,sp
	move	#1,-24(A6)
L010F:
	move	-72(A6),-(sp)
	move	-70(A6),-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_BlinkUnit
	ADDQ.W	#8,sp
	CMPI.W	#$80,D6
	BEQ.S	L0110
	move	#1,-66(A6)
L0110:
	TST.W	mouse_butts
	BNE.S	L0111
	JSR	_GetCleanKey
	move	D0,-12(A6)
	MOVEQ	#CR,D1
	CMP.W	D1,D0
	BNE	L012B
	TST.W	-68(A6)
	BEQ	L012B
	move	-70(A6),-36(A6)
	move	-72(A6),-38(A6)
	MOVEQ	#'P',D0
	move	D0,mouse_X
	move	#8,mouse_Y
	move	#1,mouse_butts
	BRA	L011C
;
L0111:
	MOVEQ	#-$50,D0
	ADD.W	mouse_X,D0
	EXT.L	D0
	DIVS	#$10,D0
	ADD.W	_XMap,D0
	move	D0,-(sp)
	JSR	_xrange
	ADDQ.W	#2,sp
	move	mouse_Y,D1
	MOVE.L	D1,D2
	SUBQ.W	#8,D2
	EXT.L	D2
	DIVS	#$10,D2
	ADD.W	_YMap,D2
	move	D0,-36(A6)
	move	D2,-38(A6)
	MOVEQ	#8,D0
	CMP.W	D0,D1
	BGE.S	L0112
	MOVEQ	#-1,D0
	move	D0,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_MasterMenu
	JSR	_DeBounce
	ADDQ.W	#6,sp
	move	_TheOrder,D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L0211
	move	D0,-12(A6)
	CMPI.W	#$80,D6
	BGE	L01D3
	BRA	L012C
;
L0112:
	move	mouse_X,D0
	MOVEQ	#$50,D1
	CMP.W	D1,D0
	BGE	L0116
	CMPI.W	#$3A,mouse_Y
	BGE.S	L0113
	move	_GmapX,D1
	ADD.W	D0,D1
	SUBQ.W	#7,D1
	move	D1,-(sp)
	JSR	_xrange
	move	_GmapY,D1
	ADD.W	mouse_Y,D1
	SUBI.W	#$E,D1
	MOVEQ	#$31,D2
	move	D2,-(sp)
	CLR.W	-(sp)
	move	D1,-(sp)
	move	D0,40(sp)
	JSR	_rng
	move	D0,(sp)
	move	40(sp),-(sp)
	move	D7,-(sp)
	JSR	_ShowMap
	LEA	12(sp),sp
	BRA	L0115
;
L0113:
	CMPI.W	#$48,mouse_Y
	BGE	L0114
	MOVEQ	#1,D0
	move	D0,-(sp)
	CLR.W	-(sp)
	JSR	_CheckForDisk
	JSR	_hidemouse
	CLR.W	(sp)
	JSR	_ShowPalace
	MOVEA.L	_Rp1,A0
	CLR.W	(A0)
	JSR	_CycleOff
	MOVEQ	#0,D0
	move	D0,(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	MOVEQ	#0,D0
	move	D0,(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpBack,-(sp)
	JSR	_RectCopy
	JSR	_showmouse
	JSR	_WaitForIt
	MOVEQ	#1,D0
	move	D0,(sp)
	move	D0,-(sp)
	JSR	_CheckForDisk
	JSR	_ResetScreen
	JSR	_CycleOn
	LEA	36(sp),sp
	BRA.S	L0115
;
L0114:
	CMPI.W	#$80,D6
	BEQ	L021F
L0115:
	MOVEQ	#0,D0
	move	D0,mouse_butts
L0116:
	MOVEQ	#2,D0
	CMP.W	mouse_butts,D0
	BNE	L011A
	CMPI.W	#$80,D6
	BGE	L011A
L0117:
	JSR	_getmouse
	TST.W	mouse_butts
	BNE.S	L0117
	MOVEQ	#-$50,D0
	ADD.W	mouse_X,D0
	EXT.L	D0
	DIVS	#$10,D0
	ADD.W	_XMap,D0
	move	D0,-(sp)
	JSR	_xrange
	move	mouse_Y,D1
	SUBQ.W	#8,D1
	EXT.L	D1
	DIVS	#$10,D1
	ADD.W	_YMap,D1
	MOVE.L	D7,D2
	EXT.L	D2
	move	D0,-36(A6)
	MOVE.L	D2,D0
	move	D1,-38(A6)
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	move	-36(A6),D2
	SUB.W	D1,D2
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,38(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	38(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	-38(A6),D1
	SUB.W	D0,D1
	move	D1,-(sp)
	move	D2,-(sp)
	JSR	_xydist
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-48(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	1(A0),D0
	move	-36(A6),D1
	SUB.W	D0,D1
	move	D1,(sp)
	JSR	_abs
	ADDQ.W	#6,sp
	MOVEQ	#$4F,D1
	CMP.W	D1,D0
	BNE.S	L0118
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	-38(A6),D1
	SUB.W	D0,D1
	move	D1,-(sp)
	JSR	_abs
	ADDQ.W	#2,sp
	MOVEQ	#1,D1
	CMP.W	D1,D0
	BGT.S	L0118
	move	D1,-48(A6)
L0118:
	MOVEQ	#1,D0
	CMP.W	-48(A6),D0
	BNE	L0119
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	move	-36(A6),D1
	MOVE.B	D1,6(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	move	-38(A6),D1
	MOVE.B	D1,7(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	MOVE.B	#-1,8(A0)
	MOVEQ	#0,D0
	move	D0,mouse_butts
	MOVEQ	#7,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	move	D0,-28(A6)
	JSR	_MouseTYPE
	ADDQ.W	#6,sp
	BRA.S	L011A
;
L0119:
	MOVEQ	#2,D0
	move	D0,mouse_butts
L011A:
	MOVEQ	#2,D0
	CMP.W	mouse_butts,D0
	BNE.S	L011C
	move	-36(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	ADDA.W	-38(A6),A0
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	MOVE.B	(A0),D1
	EXT.W	D1
	AND.W	D0,D1
	BNE.S	L011B
	TST.W	_debug
	BEQ.S	L011C
L011B:
	JSR	_hidemouse
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_TerAt
	MOVEQ	#3,D1
	move	D1,(sp)
	move	D0,-(sp)
	JSR	_Blurb
	JSR	_ResetScreen
	JSR	_showmouse
	ADDQ.W	#6,sp
L011C:
	MOVEQ	#1,D0
	CMP.W	mouse_butts,D0
	BNE	L0129
	TST.W	-28(A6)
	BEQ	L0122
	CMPI.W	#$80,D6
	BGE	L0122
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	move	D0,-44(A6)
	MOVEQ	#2,D0
	CMP.W	-28(A6),D0
	BEQ	L011F
	move	-36(A6),D1
	EXT.L	D1
	MOVEQ	#$32,D0
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-38(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	move	_Player,D2
	ASL.W	D2,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ	L0120
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVEQ	#2,D0
	CMP.W	14(A2),D0
	BNE.S	L011D
	move	-44(A6),D0
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BEQ	L011F
L011D:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	TST.W	14(A1)
	BNE.S	L011E
	MOVEQ	#$A,D0
	CMP.W	-44(A6),D0
	BNE.S	L011F
L011E:
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BNE.S	L011F
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	CMP.W	14(A1),D0
	BNE.S	L0120
L011F:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	move	-36(A6),D1
	MOVE.B	D1,6(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	move	-38(A6),D1
	MOVE.B	D1,7(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	MOVE.B	#-1,8(A0)
L0120:
	MOVEQ	#0,D0
	MOVEQ	#7,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	move	D0,-28(A6)
	JSR	_MouseTYPE
	ADDQ.W	#6,sp
	TST.W	-68(A6)
	BEQ	L0129
	CLR.W	-68(A6)
	move	-70(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-72(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D7,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ.S	L0121
	move	D0,-(sp)
	move	-70(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0121:
	move	#-1,-70(A6)
	BRA	L0129
;
L0122:
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BEQ	L0125
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_WhoOwns
	ADDQ.W	#4,sp
	CMP.W	_Player,D0
	BEQ.S	L0123
	TST.W	_debug
	BEQ	L0125
L0123:
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_WhoOwns
	move	-38(A6),(sp)
	move	-36(A6),-(sp)
	move	D0,-14(A6)
	JSR	_FindCity
	MOVE.L	D0,D5
	move	D5,(sp)
	move	-14(A6),-(sp)
	JSR	_CityReport
	JSR	_TimeBar
	ADDQ.W	#8,sp
	CLR.W	-10(A6)
	TST.W	-68(A6)
	BEQ	L0129
	CLR.W	-68(A6)
	move	-70(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-72(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D7,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ.S	L0124
	move	D0,-(sp)
	move	-70(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0124:
	move	#-1,-70(A6)
	BRA	L0129
;
L0125:
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_UnitAt
	ADDQ.W	#4,sp
	move	D0,-12(A6)
	TST.W	_debug
	BEQ.S	L0126
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0126
	move	D0,-(sp)
	move	_armyAt,-(sp)
	JSR	_UnitReport
	ADDQ.W	#4,sp
L0126:
	move	-12(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L0128
	move	_armyAt,D1
	CMP.W	D1,D7
	BNE	L0128
	move	D0,-(sp)
	move	D1,-(sp)
	JSR	_WakeStack
	ADDQ.W	#4,sp
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-16(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-16(A6),D0
	MOVE.L	D0,D1
	MULS	#$C,D1
	ADDA.L	D1,A0
	MOVEQ	#9,D1
	AND.B	(A0),D1
	BNE.S	L0129
	MOVE.L	D0,D6
	SUBQ.W	#1,D0
	ANDI.W	#$7F,D0
	MOVEQ	#0,D1
	move	D0,-62(A6)
	move	D1,-10(A6)
	move	D1,-8(A6)
	TST.W	-68(A6)
	BEQ	L0211
	move	-70(A6),D0
	EXT.L	D0
	move	D1,-68(A6)
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-72(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D7,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ.S	L0127
	move	D0,-(sp)
	move	-70(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0127:
	move	#-1,-70(A6)
	BRA	L0211
;
L0128:
	move	-36(A6),D0
	SUBQ.W	#7,D0
	move	-38(A6),D1
	SUBQ.W	#6,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_ShowMap
	ADDQ.W	#6,sp
L0129:
	move	#-1,-12(A6)
	TST.W	-74(A6)
	BEQ.S	L012A
	CLR.W	-74(A6)
	BRA.S	L012B
;
L012A:
	BSR	_DeBounce
L012B:
	CMPI.W	#$80,D6
	BGE	L016E
L012C:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	6(A0),D0
	CMPI.W	#$FF,D0
	BEQ.S	L012D
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_MoveTo
	ADDQ.W	#4,sp
	move	D0,-12(A6)
	BRA.S	L012E
;
L012D:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	#-1,8(A1)
L012E:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,-32(A6)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-34(A6)
	move	-12(A6),D0
	SUBI.W	#$20,D0		;' ' ?	No order
	BEQ	cmd_unit_no_order
	SUBI.W	#$24,D0		;'D' ?	Disband
	BEQ.S	cmd_unit_disband
	SUBI.W	#$C,D0		;'P' ?	Pillage
	BEQ.S	cmd_unit_pillage
	SUBI.W	#$12,D0		;'b' ?	build
	BEQ	cmd_unit_build
	SUBQ.W	#4,D0		;'f' ?	fortress / fortify
	BEQ	cmd_unit_fortify
	SUBQ.W	#1,D0		;'g' ?	goto
	BEQ	cmd_unit_goto
	SUBQ.W	#1,D0		;'h' ?	home
	BEQ	cmd_unit_home
	SUBQ.W	#1,D0		;'i' ?	irrigate / deforest
	BEQ	cmd_unit_irrigate
	SUBQ.W	#4,D0		;'m' ?	mine / make woods
	BEQ	cmd_unit_mine
	SUBQ.W	#3,D0		;'p' ?	clean pollution
	BEQ	cmd_unit_pollution_fix
	SUBQ.W	#2,D0		;'r' ?	road / railroad
	BEQ	cmd_unit_road
	SUBQ.W	#1,D0		;'s' ?	sentry
	BEQ	cmd_unit_sentry
	SUBQ.W	#2,D0		;'u' ?	unload
	BEQ	cmd_unit_unload
	SUBQ.W	#2,D0		;'w' ?	wait
	BEQ	cmd_unit_wait
	BRA	L016E
;
cmd_unit_disband:
L012F:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_RemoveUnit
	ADDQ.W	#4,sp
	BRA	L016E
;
cmd_unit_pillage:
L0130:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BNE.S	L0131
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	CMPI.B	#$1A,3(A1)
	BGE.S	L0131
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#$E,D0
	CMP.B	3(A0),D0
	BNE.S	L0132
L0131:
	PEA	star_pillage_s
	JSR	_ErrorMsg
	ADDQ.W	#4,sp
	BRA	L016E
;
L0132:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_FindCloseCity
	ADDQ.W	#4,sp
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-56(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	TST.B	4(A0)
	BEQ	L016E
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	move	D0,-(sp)
	JSR	_Annoy
	ADDQ.W	#2,sp
	ADDQ.W	#1,D0
	BEQ	L016E
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	move	D0,-16(A6)
	ANDI.W	#6,D0
	BEQ.S	L0133
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	MOVEQ	#6,D0
	move	D0,-(sp)
	JSR	_DelSpecial
	ADDQ.W	#6,sp
	BRA.S	L0135
;
L0133:
	BTST	#4,-15(A6)
	BEQ.S	L0134
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	MOVEQ	#$10,D0
	move	D0,-(sp)
	JSR	_DelSpecial
	ADDQ.W	#6,sp
	BRA.S	L0135
;
L0134:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	MOVEQ	#8,D0
	move	D0,-(sp)
	JSR	_DelSpecial
	ADDQ.W	#6,sp
L0135:
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	CMP.W	_Player,D0
	BNE.S	L0136
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_SynchSpecial
	ADDQ.W	#4,sp
L0136:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_ChangeBlock
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	MOVEQ	#2,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	_Player,-(sp)
	JSR	_DelTreaty
	ADDQ.W	#8,sp
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BEQ.S	L0137
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	MOVEQ	#4,D1
	move	D1,-(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D0,-(sp)
	JSR	_AddDest
	LEA	10(sp),sp
L0137:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	BRA	L016E
;
cmd_unit_no_order:
L0138:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	BRA	L016E
;
cmd_unit_wait:
L0139:
	MOVEQ	#1,D0
	move	D0,-8(A6)
	move	D0,-30(A6)
	BRA	L016E
;
cmd_unit_sentry:
L013A:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	BSET	#0,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#4,sp
	BRA	L016E
;
cmd_unit_unload:
L013B:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D2
	EXT.W	D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	TST.W	28(A1)
	BNE.S	L013C
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#$17,D0
	CMP.B	3(A1),D0
	BNE	L016E
L013C:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CMPI.B	#-1,10(A0)
	BEQ	L016E
	PEA	_WakeUp
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UnitList
	CLR.W	-10(A6)
	move	#1,-30(A6)
	move	D6,(sp)
	move	D7,-(sp)
	JSR	_UnloadMe
	LEA	10(sp),sp
	MOVE.L	D0,D6
	SUBQ.W	#1,D6
	MOVE.L	D6,D0
	ANDI.W	#$7F,D0
	CLR.W	-8(A6)
	move	D0,-62(A6)
	BRA	L016E
;
cmd_unit_goto:
	TST.W	_HasMouse
	BNE	L0140
	TST.W	-28(A6)
	BNE.S	L013E
	TST.W	-68(A6)
	BNE	L0143
	MOVEQ	#1,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-68(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,-70(A6)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-72(A6)
	BRA.S	L0143
;
L013E:
	TST.W	-68(A6)
	BEQ.S	L0143
	CLR.W	-68(A6)
	move	-70(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-72(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D7,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ.S	L013F
	move	D0,-(sp)
	move	-70(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L013F:
	move	#-1,-70(A6)
	BRA.S	L0143
;
L0140:
	TST.W	-28(A6)
	BEQ.S	L0141
	MOVEQ	#7,D0
	BRA.S	L0142
;
L0141:
	MOVEQ	#2,D0
L0142:
	move	D0,-(sp)
	MOVEQ	#0,D1
	move	D1,-(sp)
	move	D1,-(sp)
	JSR	_MouseTYPE
	ADDQ.W	#6,sp
L0143:
	BCHG	#0,-27(A6)
	BRA	L016E
;
cmd_unit_home:
L0144:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_FindCloseCity
	ADDQ.W	#4,sp
	move	D0,-56(A6)
	TST.W	_CloseDist
	BNE.S	L0145
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	move	-56(A6),D0
	MOVE.B	D0,11(A1)
	BRA	L016E
;
L0145:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	CMP.W	14(A0),D0
	BNE	L016E
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_GoHome
	ADDQ.W	#4,sp
	move	D0,-46(A6)
	BEQ.S	L0146
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	BSET	#1,(A1)
	BRA	L017A
;
L0146:
	move	_Player,D0
	CMP.W	D7,D0
	BNE.S	L0147
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	BCLR	#1,(A1)
	BRA	L016E
;
L0147:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_RemoveUnit
	ADDQ.W	#4,sp
	BRA	L016E
;
cmd_unit_pollution_fix:
L0148:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	TST.B	3(A0)
	BEQ.S	L0149
	PEA	star_settlers_1_s
	JSR	_ErrorMsg
	ADDQ.W	#4,sp
	BRA	L016E
;
L0149:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	move	D0,-26(A6)
	BTST	#6,D0
	BNE.S	L014A
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D2
	ANDI.W	#-$83,D2
	MOVE.B	D2,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	5(A0)
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D7,-(sp)
	JSR	_ScrollMap
	ADDQ.W	#6,sp
	BRA	L016E
;
L014A:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	ORI.W	#$82,D1
	MOVE.B	D1,(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	CLR.B	4(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	MOVEQ	#-1,D1
	MOVE.B	D1,8(A2)
	MOVE.B	D1,6(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	ADDQ.B	#1,5(A0)
	CMPI.B	#4,5(A0)
	BLT	L016E
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	MOVEQ	#$40,D0
	move	D0,-(sp)
	JSR	_DelSpecial
	move	-34(A6),(sp)
	move	-32(A6),-(sp)
	JSR	_SynchSpecial
	SUBQ.W	#1,_Polluted
	move	D6,(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	LEA	10(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D2
	ANDI.W	#-$83,D2
	MOVE.B	D2,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	5(A0)
	BRA	L016E
;
cmd_unit_fortify:
L014B:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BNE	L016E
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	TST.B	3(A1)
	BEQ	L014C
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	BSET	#2,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	CLR.B	4(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#4,sp
	CMP.W	_Player,D7
	BEQ	L016E
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BEQ	L016E
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	MOVE.L	A0,36(sp)
	JSR	_FindCity
	ADDQ.W	#4,sp
	MOVEA.L	32(sp),A0
	MOVE.B	D0,11(A0)
	BRA	L016E
;
L014C:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	ANDI.W	#$21,D0
	BNE.S	L014D
	MOVEQ	#$2D,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE.S	L014E
L014D:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D2
	ANDI.W	#-$C1,D2
	MOVE.B	D2,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	5(A0)
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D7,-(sp)
	JSR	_ScrollMap
	ADDQ.W	#6,sp
	BRA	L016E
;
L014E:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D2
	ORI.W	#$C0,D2
	MOVE.B	D2,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	ADDQ.B	#1,5(A0)
	move	-44(A6),D0
	EXT.L	D0
	MOVEQ	#$13,D1
	JSR	__CXM22
	LEA	_tr,A1
	ADDA.L	D0,A1
	MOVE.B	12(A1),D0
	EXT.W	D0
	ADDQ.W	#4,D0
	MOVE.B	5(A0),D1
	EXT.W	D1
	CMP.W	D0,D1
	BLT	L016E
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	MOVEQ	#$20,D0
	move	D0,-(sp)
	JSR	_PutSpecial
	MOVEQ	#1,D0
	move	D0,(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_ShowSquare
	LEA	14(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D2
	ANDI.W	#-$C1,D2
	MOVE.B	D2,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	5(A0)
	BRA	L016E
;
cmd_unit_road:
L014F:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	TST.B	3(A0)
	BEQ.S	L0150
	PEA	star_settlers_2_s
	JSR	_ErrorMsg
	ADDQ.W	#4,sp
	BRA	L016E
;
L0150:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	move	D0,-26(A6)
	BTST	#3,D0
	BEQ.S	L0151
	MOVEQ	#$31,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0152
	BTST	#0,-25(A6)
	BNE.S	L0152
L0151:
	BTST	#4,-25(A6)
	BEQ.S	L0153
L0152:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	BCLR	#1,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	5(A0)
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D7,-(sp)
	JSR	_ScrollMap
	ADDQ.W	#6,sp
	BRA	L016E
;
L0153:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	move	D0,-44(A6)
	MOVEQ	#$B,D1
	CMP.W	D1,D0
	BNE.S	L0154
	MOVEQ	#$13,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L016E
L0154:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	BSET	#1,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	ADDQ.B	#1,5(A0)
	BTST	#3,-25(A6)
	BEQ.S	L0155
	MOVEQ	#4,D0
	BRA.S	L0156
;
L0155:
	MOVEQ	#2,D0
L0156:
	move	-44(A6),D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$13,D0
	JSR	__CXM22
	LEA	_tr,A1
	ADDA.L	D0,A1
	MOVE.B	12(A1),D0
	EXT.W	D0
	move	36(sp),D1
	MULS	D0,D1
	MOVE.B	5(A0),D0
	EXT.W	D0
	CMP.W	D1,D0
	BLT	L016E
	BTST	#3,-25(A6)
	BEQ.S	L0157
	MOVEQ	#$10,D0
	BRA.S	L0158
;
L0157:
	MOVEQ	#8,D0
L0158:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D0,-(sp)
	JSR	_PutSpecial
	MOVEQ	#1,D0
	move	D0,(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_ShowSquare
	LEA	14(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	BCLR	#1,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	5(A0)
	BRA	L016E
;
cmd_unit_irrigate:
L0159:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	TST.B	3(A0)
	BNE.S	L015A
	BTST	#1,L216B
	BEQ.S	L015A
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#1,D0
	BEQ	L015D
L015A:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D7,-(sp)
	JSR	_ScrollMap
	ADDQ.W	#6,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	TST.B	3(A0)
	BEQ.S	L015B
	PEA	star_settlers_3_s
	BSR	_ErrorMsg
	ADDQ.W	#4,sp
	BRA.S	L015C
;
L015B:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	CLR.B	5(A1)
L015C:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	BCLR	#6,(A0)
	BRA	L016E
;
L015D:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	move	D0,-44(A6)
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_ImproveMe,A0
	ADDA.L	D0,A0
	move	(A0),D0
	MOVEM.W	D0,-16(A6)
	ADDQ.W	#1,D0
	BNE.S	L015E
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D7,-(sp)
	JSR	_ScrollMap
	PEA	star_noirr_s
	BSR	_ErrorMsg
	LEA	10(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	BCLR	#6,(A0)
	BRA	L016E
;
L015E:
	MOVEQ	#-2,D0
	CMP.W	-16(A6),D0
	BNE.S	L015F
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_WaterAccess
	ADDQ.W	#4,sp
	TST.W	D0
	BNE.S	L015F
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D7,-(sp)
	JSR	_ScrollMap
	PEA	star_nowater_s
	BSR	_ErrorMsg
	LEA	10(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	BCLR	#6,(A1)
	BRA	L016E
;
L015F:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	BSET	#6,(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	CLR.B	4(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	MOVEQ	#-1,D1
	MOVE.B	D1,8(A2)
	MOVE.B	D1,6(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	ADDQ.B	#1,5(A0)
	move	-44(A6),D0
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_ImproveMe,A1
	ADDA.L	D0,A1
	MOVE.B	5(A0),D0
	EXT.W	D0
	CMP.W	2(A1),D0
	BLT	L016E
	move	-16(A6),D0
	TST.W	D0
	BMI.S	L0160
	MOVEQ	#2,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_PutPixel
	ADDQ.W	#8,sp
	move	-32(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-34(A6),D0
	ADDA.W	D0,A0
	BSET	#0,(A0)
	move	D0,-(sp)
	move	-32(A6),-(sp)
	MOVEQ	#6,D1
	move	D1,-(sp)
	JSR	_DelSpecial
	ADDQ.W	#6,sp
	BRA.S	L0161
;
L0160:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	JSR	_DelSpecial
	move	-34(A6),(sp)
	move	-32(A6),-(sp)
	MOVEQ	#2,D0
	move	D0,-(sp)
	JSR	_PutSpecial
	LEA	10(sp),sp
L0161:
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	BCLR	#6,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	5(A0)
	BRA	L016E
;
cmd_unit_mine:
L0162:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	TST.B	3(A0)
	BNE.S	L0163
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#2,D0
	BEQ	L0166
L0163:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D7,-(sp)
	JSR	_ScrollMap
	ADDQ.W	#6,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	TST.B	3(A0)
	BEQ.S	L0164
	PEA	star_settlers_4_s
	BSR	_ErrorMsg
	ADDQ.W	#4,sp
	BRA.S	L0165
;
L0164:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	CLR.B	5(A1)
L0165:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	ANDI.W	#-$81,D1
	MOVE.B	D1,(A0)
	BRA	L016E
;
L0166:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	move	D0,-44(A6)
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_ImproveMe,A0
	ADDA.L	D0,A0
	move	4(A0),D0
	MOVEM.W	D0,-16(A6)
	ADDQ.W	#1,D0
	BNE.S	L0167
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D7,-(sp)
	JSR	_ScrollMap
	PEA	star_nomine_s
	BSR	_ErrorMsg
	LEA	10(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	(A1),D0
	EXT.W	D0
	MOVE.L	D0,D2
	ANDI.W	#-$81,D2
	MOVE.B	D2,(A1)
	BRA	L016E
;
L0167:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	ORI.W	#$80,D1
	MOVE.B	D1,(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	CLR.B	4(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	MOVEQ	#-1,D1
	MOVE.B	D1,8(A2)
	MOVE.B	D1,6(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	ADDQ.B	#1,5(A1)
	move	-44(A6),D1
	EXT.L	D1
	MOVEQ	#$C,D0
	JSR	__CXM22
	LEA	_ImproveMe,A2
	ADDA.L	D0,A2
	MOVE.B	5(A1),D0
	EXT.W	D0
	CMP.W	6(A2),D0
	BLT	L016E
	move	-16(A6),D0
	TST.W	D0
	BMI.S	L0168
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	ADDQ.B	#1,5(A0)
	CMPI.B	#5,5(A0)
	BLE	L016E
	MOVEQ	#2,D0
	move	D0,-(sp)
	move	-16(A6),-(sp)
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_PutPixel
	ADDQ.W	#8,sp
	move	-32(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-34(A6),D0
	ADDA.W	D0,A0
	BSET	#0,(A0)
	move	D0,-(sp)
	move	-32(A6),-(sp)
	MOVEQ	#6,D1
	move	D1,-(sp)
	JSR	_DelSpecial
	ADDQ.W	#6,sp
	BRA.S	L0169
;
L0168:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	MOVEQ	#2,D0
	move	D0,-(sp)
	JSR	_DelSpecial
	move	-34(A6),(sp)
	move	-32(A6),-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	JSR	_PutSpecial
	LEA	10(sp),sp
L0169:
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D2
	ANDI.W	#-$81,D2
	MOVE.B	D2,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	5(A0)
	BRA	L016E
;
cmd_unit_build:
L016A:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	TST.B	3(A0)
	BEQ.S	L016B
	PEA	star_settlers_5_s
	BSR	_ErrorMsg
	ADDQ.W	#4,sp
	BRA	L016E
;
L016B:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BEQ	L016E
	move	-34(A6),D0
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BLT	L016E
	MOVEQ	#$30,D1
	CMP.W	D1,D0
	BGE	L016E
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BEQ	L016D
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_CityAt
	ADDQ.W	#4,sp
	move	D0,-56(A6)
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#$A,7(A1)
	BGE.S	L016C
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDQ.B	#1,7(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_RemoveUnit
	move	D6,(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#6,sp
	BRA.S	L016E
;
L016C:
	PEA	star_addcity_s
	BSR	_ErrorMsg
	ADDQ.W	#4,sp
	BRA.S	L016E
;
L016D:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	-46(A6),-(sp)
	move	D7,-(sp)
	JSR	_AddCity
	LEA	10(sp),sp
	move	D0,-16(A6)
	ADDQ.W	#1,D0
	BEQ.S	L016E
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_RemoveUnit
	move	D6,(sp)
	move	D7,-(sp)
	JSR	_UpdateUnit
	ADDQ.W	#6,sp
L016E:				;many branches come here from above
	CMPI.W	#$80,D6
	BLT.S	L016F
	TST.W	-68(A6)
	BEQ	L01D3
L016F:
	move	-12(A6),D0
	SUBQ.W	#1,D0		; ^A =
	BEQ	L0173
	SUBQ.W	#1,D0		; ^B =
	BEQ	L0174
	SUBQ.W	#1,D0		; ^C =
	BEQ	L0176
	SUBQ.W	#1,D0		; ^D =
	BEQ	L0179
	SUBQ.W	#1,D0		; ^E =
	BEQ	L0178
	SUBQ.W	#1,D0		; ^F =
	BEQ	L0177
	SUBQ.W	#1,D0		; ^G =
	BEQ	L0175
	SUBQ.W	#1,D0		; ^H =
	BEQ	L0172
	SUBI.W	#$5B,D0		;'c' =
	BEQ.S	L0170
	SUBI.W	#$469D,D0	;$4700 = Clr/Home	= ^H
	BEQ	L0172
	SUBI.W	#$100,D0	;$4800 = Arrow_up	= ^A
	BEQ	L0173
	SUBI.W	#$100,D0	;$4900 = nonexistent key= ^B
	BEQ	L0174
	SUBI.W	#$200,D0	;$4B00 = Arrow_left	= ^G
	BEQ	L0175
	SUBI.W	#$200,D0	;$4D00 = Arrow_right	= ^C
	BEQ	L0176
	SUBI.W	#$200,D0	;$4F00 = numkey '+'	=
	BEQ	L0177
	SUBI.W	#$100,D0	;$5000 = Arrow_down	=
	BEQ	L0178
	SUBI.W	#$100,D0	;$5100 = 
	BEQ	L0179
	BRA	L01D3
;
L0170:
	TST.W	-68(A6)
	BEQ.S	L0171
	move	-70(A6),D0
	SUBQ.W	#7,D0
	move	-72(A6),D1
	SUBQ.W	#6,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_ShowMap
	ADDQ.W	#6,sp
	BRA	L01D3
;
L0171:
	move	-32(A6),D0
	SUBQ.W	#7,D0
	move	-34(A6),D1
	SUBQ.W	#6,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_ShowMap
	ADDQ.W	#6,sp
	BRA	L01D3
;
L0172:
	move	#8,-46(A6)
	BRA.S	L017A
;
L0173:
	move	#1,-46(A6)
	BRA.S	L017A
;
L0174:
	move	#2,-46(A6)
	BRA.S	L017A
;
L0175:
	move	#7,-46(A6)
	BRA.S	L017A
;
L0176:
	move	#3,-46(A6)
	BRA.S	L017A
;
L0177:
	move	#6,-46(A6)
	BRA.S	L017A
;
L0178:
	move	#5,-46(A6)
	BRA.S	L017A
;
L0179:
	move	#4,-46(A6)
L017A:
	TST.W	-68(A6)
	BEQ	L017C
	move	-70(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-72(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D7,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ.S	L017B
	move	D0,-(sp)
	move	-70(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L017B:
	move	-46(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	move	-70(A6),D0
	ADD.W	(A0),D0
	move	D0,-(sp)
	JSR	_xrange
	move	-46(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveY,A0
	ADDA.L	D1,A0
	move	-72(A6),D1
	ADD.W	(A0),D1
	MOVEQ	#$31,D2
	move	D2,-(sp)
	CLR.W	-(sp)
	move	D1,-(sp)
	move	D0,-70(A6)
	JSR	_rng
	move	D0,(sp)
	move	-70(A6),-(sp)
	move	D0,-72(A6)
	JSR	_OnScreen
	LEA	10(sp),sp
	TST.W	D0
	BNE	L01D3
	move	-70(A6),D0
	SUBQ.W	#8,D0
	move	-72(A6),D1
	SUBQ.W	#7,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_ShowMap
	ADDQ.W	#6,sp
	BRA	L01D3
;
L017C:
	TST.W	D7
	BNE	L017E
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#$1A,D0
	CMP.B	3(A0),D0
	BEQ	L017E
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	move	D0,-26(A6)
	BTST	#0,D0
	BNE	L017E
	ANDI.W	#6,D0
	TST.W	D0
	BEQ	L017E
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	MOVEQ	#3,D1
	CMP.B	3(A1),D1
	BEQ	L017E
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#7,D0
	CMP.B	3(A0),D0
	BEQ	L017E
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_FindCloseCity
	ADDQ.W	#4,sp
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	CMP.W	_Player,D0
	BNE	L017E
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	MOVEQ	#6,D0
	move	D0,-(sp)
	JSR	_DelSpecial
	ADDQ.W	#6,sp
	move	-32(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-34(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	move	_Player,D2
	ASL.W	D2,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ.S	L017D
	move	D0,-(sp)
	move	-32(A6),-(sp)
	JSR	_SynchSpecial
	move	-34(A6),(sp)
	move	-32(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#6,sp
L017D:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	BRA	L01D3
;
L017E:
	move	-46(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	move	-32(A6),D0
	ADD.W	(A0),D0
	move	D0,-(sp)
	JSR	_xrange
	move	-46(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveY,A0
	ADDA.L	D1,A0
	move	-34(A6),D1
	ADD.W	(A0),D1
	MOVEQ	#$31,D2
	move	D2,-(sp)
	CLR.W	-(sp)
	move	D1,-(sp)
	move	D0,-36(A6)
	JSR	_rng
	move	-34(A6),(sp)
	move	-32(A6),-(sp)
	move	D0,-38(A6)
	JSR	_TerAt
	move	-38(A6),(sp)
	move	-36(A6),-(sp)
	move	D0,-54(A6)
	JSR	_TerAt
	move	-38(A6),(sp)
	move	-36(A6),-(sp)
	move	D0,-44(A6)
	JSR	_Special
	move	-38(A6),(sp)
	move	-36(A6),-(sp)
	move	D0,-26(A6)
	JSR	_UnitAt
	LEA	16(sp),sp
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-48(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	14(A0)
	BNE	L018B
	MOVEQ	#-1,D0
	CMP.W	-48(A6),D0
	BNE	L0181
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D7,-(sp)
	JSR	_ZOC		;test for move between threatened squares
	ADDQ.W	#6,sp
	TST.W	D0
	BEQ	L0181
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	move	D7,-(sp)
	JSR	_ZOC
	ADDQ.W	#6,sp
	TST.W	D0
	BEQ	L0181
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CMPI.B	#$1A,3(A0)
	BGE.S	L0181
	MOVEQ	#$A,D0
	CMP.W	-54(A6),D0
	BEQ.S	L0181
	CMP.W	_Player,D7
	BNE.S	L017F
	CLR.W	-(sp)
	JSR	_DoSound
	ADDQ.W	#2,sp
L017F:
	BTST	#0,L1FB8
	BEQ.S	L0180
	PEA	star_zoc_s	;move between threatened squares forbidden
	BSR	_ErrorMsg
	ADDQ.W	#4,sp
L0180:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	#-1,6(A1)
	BRA	L01D3
;
L0181:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CMPI.B	#$1A,3(A0)
	BLT	L018B
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_FindCity
	ADDQ.W	#4,sp
	move	D0,-56(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L018A
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BEQ.S	L0182
	MOVEQ	#$A,D0
	CMP.W	-54(A6),D0
	BEQ	L01D3
L0182:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A2
	MOVEQ	#$1A,D0
	CMP.B	3(A2),D0
	BNE	L0184
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	11(A2),D0
	EXT.W	D0
	CMP.W	D7,D0
	BEQ	L0184
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	move	_Player,D1
	CMP.W	D1,D0
	BNE	L0183
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A1,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D1
	move	_Player,D2
	ASL.W	D2,D1
	MOVE.B	9(A0),D3
	EXT.W	D3
	MOVE.L	D3,D4
	OR.W	D1,D4
	MOVE.B	D4,9(A0)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A1,A0
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D1
	MOVE.B	1(A0),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	ADDA.L	36(sp),A1
	MOVEQ	#0,D0
	MOVE.B	2(A1),D0
	move	D0,-(sp)
	move	42(sp),-(sp)
	move	_Player,-(sp)
	JSR	_ScrollMap
	MOVEQ	#$1E,D0
	JSR	_WaitTicks
	move	-46(A6),(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_MoveUnit
	LEA	10(sp),sp
L0183:
	move	D6,-(sp)
	move	D7,-(sp)
	move	-56(A6),-(sp)
	JSR	_SpyCity
	ADDQ.W	#6,sp
	BRA	L01D3
;
L0184:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	MOVEQ	#$1B,D1
	CMP.B	3(A1),D1
	BNE	L018B
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVE.B	11(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A2),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,40(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A1),D0
	move	D0,-(sp)
	move	-38(A6),-(sp)
	move	44(sp),-(sp)
	move	-36(A6),-(sp)
	JSR	_mapdist
	ADDQ.W	#8,sp
	move	-56(A6),D1
	EXT.L	D1
	move	D0,-16(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE	L0185
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	CMPI.B	#-$18,9(A0)
	BLT	L0185
	CMPI.W	#$A,-16(A6)
	BGE	L0185
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_GetRegion
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	11(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,42(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A2),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,46(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	42(sp),D0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A1),D0
	move	D0,(sp)
	move	46(sp),-(sp)
	JSR	_GetRegion
	ADDQ.W	#6,sp
	move	32(sp),D1
	CMP.W	D0,D1
	BEQ	L018B
L0185:
	PEA	caravan_arrival_s
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE.S	L0186
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	CMPI.B	#-$18,9(A0)
	BGE.S	L0186
	PEA	help_build_wonder_s
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	CMPI.W	#$A,-16(A6)
	BGE.S	L0186
	move	#2,_GreyOut
L0186:
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	CMP.W	D7,D0
	BEQ.S	L0187
	move	#1,-16(A6)
	BRA.S	L0188
;
L0187:
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	ADDQ.W	#8,sp
	move	D0,-16(A6)
L0188:
	MOVEQ	#1,D0
	CMP.W	-16(A6),D0
	BNE.S	L0189
	move	-56(A6),-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_AddCLink
	ADDQ.W	#6,sp
	TST.W	D0
	BNE	L01D3
L0189:
	MOVEQ	#2,D0
	CMP.W	-16(A6),D0
	BNE	L018B
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	MULS	#$A,D0
	ADD.W	D0,14(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_RemoveUnit
	ADDQ.W	#4,sp
	BRA	L01D3
;
L018A:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#$1A,D0
	CMP.B	3(A0),D0
	BNE.S	L018B
	move	-48(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L018B
	move	_Army,D1
	CMP.W	D1,D7
	BEQ.S	L018B
	move	D7,-(sp)
	move	D0,-(sp)
	move	D1,-(sp)
	JSR	_BribeUnit
	ADDQ.W	#6,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	#-1,6(A1)
L018B:
	MOVEQ	#$A,D0
	CMP.W	-44(A6),D0
	BNE	L018C
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	14(A0)
	BNE	L018C
	move	_Army,D0
	CMP.W	D7,D0
	BNE	L01D3
	move	-48(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L01D3
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_CanTransport
	ADDQ.W	#4,sp
	TST.W	D0
	BLE	L01D3
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	BSET	#0,(A1)
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#-$D,D1
	AND.B	D1,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDA.L	36(sp),A1
	MOVE.B	#3,4(A1)
	BRA	L01A0
;
L018C:
	MOVEQ	#-1,D0
	CMP.W	-48(A6),D0
	BEQ	L01A0
	move	_Army,D0
	CMP.W	D7,D0
	BEQ	L01A0
	MOVEQ	#$A,D0
	CMP.W	-54(A6),D0
	BNE.S	L018D
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	14(A0)
	BNE.S	L018D
	PEA	star_amphib_s
	BSR	_ErrorMsg
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	#-1,6(A1)
	BRA	L01D3
;
L018D:
	MOVEQ	#$A,D0
	CMP.W	-44(A6),D0
	BEQ.S	L018E
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#$16,D0
	CMP.B	3(A1),D0
	BEQ	L01D3
L018E:
	move	_Player,D0
	CMP.W	D7,D0
	BEQ.S	L018F
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	TST.W	20(A2)
	BEQ	L01D3
L018F:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	MOVEQ	#$1A,D2
	CMP.B	3(A1),D2
	BEQ	L01D3
	move	_Army,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-48(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	CMP.W	14(A1),D0
	BNE.S	L0190
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#$E,D0
	CMP.B	3(A0),D0
	BEQ.S	L0190
	BTST	#0,-25(A6)
	BNE.S	L0190
	PEA	star_fighter_s	;non-fighter attacking air unit
	BSR	_ErrorMsg
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	#-1,6(A1)
	BRA	L01D3
;
L0190:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CMPI.B	#3,4(A0)
	BGE	L0192
	CMP.W	_Player,D7
	BNE	L0191
	PEA	weakened_attack_1_s
	PEA	_XEB
	JSR	_strcpy
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	4(A0),D0
	EXT.W	D0
	MOVEQ	#$A,D1
	move	D1,(sp)
	PEA	_ntmp
	move	D0,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	weakened_attack_2_s
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$10,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	32(sp),sp
	SUBQ.W	#1,D0
	BEQ.S	L0192
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	#-1,6(A1)
	BRA	L01D3
;
L0191:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CMPI.B	#2,4(A0)
	BLT	L01D3
L0192:
	move	_Player,D0
	move	_Army,D1
	CMP.W	D0,D1
	BNE.S	L0193
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	move	D0,-(sp)
	JSR	_ScrollMap
	ADDQ.W	#6,sp
L0193:
	move	-48(A6),-(sp)
	move	_Army,-(sp)
	JSR	_ShowDefender
	ADDQ.W	#4,sp
	move	D0,-48(A6)
	move	_Player,D0
	CMP.W	D0,D7
	BEQ.S	L0194
	move	_Army,D1
	CMP.W	D1,D0
	BNE.S	L0195
L0194:
	MOVEQ	#1,D0
	move	D0,_PCombat
L0195:
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	-48(A6),-(sp)
	move	_Army,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_Combat
	LEA	10(sp),sp
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-16(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#-1,D0
	MOVE.B	D0,6(A1)
	CLR.W	_PCombat
	MOVEQ	#-1,D2
	CMP.W	-16(A6),D2
	BEQ	L01D3
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	CMPI.B	#-1,3(A1)
	BNE.S	L0196
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	D0,4(A1)
	BRA	L0211
;
L0196:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	SUBQ.B	#3,4(A1)
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVE.B	4(A1),D1
	TST.B	D1
	BPL.S	L0197
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDA.L	36(sp),A1
	MOVEQ	#0,D0
	MOVE.B	D0,4(A1)
L0197:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	MOVEQ	#$F,D1
	CMP.B	3(A1),D1
	BNE.S	L0198
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
L0198:
	BTST	#0,-25(A6)
	BEQ	L019F
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_FindCity
	ADDQ.W	#4,sp
	move	D0,-56(A6)
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	move	_Player,D1
	CMP.W	D1,D0
	BEQ.S	L0199
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BSET	#4,6(A1)
L0199:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	CMPI.B	#-1,3(A1)
	BEQ.S	L019B
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#7,3(A1)
	BNE.S	L019B
	MOVEQ	#$A,D0
	CMP.W	-54(A6),D0
	BEQ.S	L019B
	TST.W	_Diff
	BNE.S	L019A
	move	_Army,D0
	CMP.W	_Player,D0
	BEQ.S	L019B
L019A:
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	SUBQ.B	#1,7(A1)
L019B:
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	TST.B	7(A0)
	BNE	L019C
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	move	-56(A6),-(sp)
	JSR	_DeleteCity
	move	D7,(sp)
	move	_Army,-(sp)
	JSR	_KillCiv
	ADDQ.W	#8,sp
	CMP.W	_Player,D7
	BNE.S	L019C
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_UnitAt
	ADDQ.W	#4,sp
	move	D0,-48(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L019C
	move	_Army,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-48(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	MOVE.B	9(A0),D2
	EXT.W	D2
	MOVE.L	D2,D3
	OR.W	D0,D3
	MOVE.B	D3,9(A0)
L019C:
	move	_Player,D0
	CMP.W	D0,D7
	BEQ.S	L019D
	move	_Army,D1
	CMP.W	D0,D1
	BEQ.S	L019D
	TST.W	_debug
	BEQ.S	L019E
L019D:
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-56(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),8(A1)
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L019E:
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_IsUnitAt
	ADDQ.W	#4,sp
	ADDQ.W	#1,D0
	BNE	L01D3
	move	_Army,D0
	CMP.W	_Player,D0
	BEQ	L01D3
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_GetRegion
	move	D0,(sp)
	move	_Army,-(sp)
	JSR	_ResetProduction
	ADDQ.W	#6,sp
	BRA	L01D3
;
L019F:
	BTST	#5,-25(A6)
	BNE	L01D3
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	CMPI.B	#-1,3(A1)
	BNE	L01D3
	BRA	L01D3
;
L01A0:
	MOVEQ	#$A,D0
	CMP.W	-44(A6),D0
	BEQ.S	L01A1
	BTST	#0,-25(A6)
	BNE.S	L01A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVEQ	#2,D0
	CMP.W	14(A2),D0
	BNE.S	L01A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A2
	MOVE.B	#-1,6(A2)
	BRA	L01D3
;
L01A1:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	14(A0)
	BEQ	L01A3
	BTST	#0,-25(A6)
	BEQ	L01A3
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_WhoOwns
	ADDQ.W	#4,sp
	CMP.W	D7,D0
	BEQ	L01A3
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#$19,D0
	CMP.B	3(A0),D0
	BEQ.S	L01A2
	PEA	star_occupy_s	;attacking empty city with non-ground unit
	BSR	_ErrorMsg
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	#-1,6(A0)
	BRA	L01D3
;
L01A2:
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_RemoveUnit
	move	-38(A6),(sp)
	move	-36(A6),-(sp)
	move	D7,-(sp)
	JSR	_NukeAttack
	ADDQ.W	#8,sp
	BRA	L01D3
;
L01A3:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	TST.B	4(A1)
	BEQ	L01D3
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	14(A0)
	BNE	L01A8
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	AND.W	-26(A6),D0
	BTST	#3,D0
	BEQ	L01A6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	TST.B	4(A1)
	BEQ	L01A6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	MOVE.L	A0,36(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#4,D0
	BEQ.S	L01A4
	move	_Player,D0
	CMP.W	D7,D0
	BNE.S	L01A4
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BNE.S	L01A4
	MOVEQ	#0,D0
	BRA.S	L01A5
;
L01A4:
	MOVEQ	#1,D0
L01A5:
	MOVEA.L	32(sp),A0
	MOVE.B	4(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	SUB.W	D0,D2
	MOVE.B	D2,4(A0)
	BRA	L01A9
;
L01A6:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	MOVEQ	#3,D1
	CMP.B	4(A1),D1
	BEQ	L01A7
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	move	-44(A6),D0
	EXT.L	D0
	MOVEQ	#$13,D1
	JSR	__CXM22
	LEA	_tr,A1
	ADDA.L	D0,A1
	MOVE.B	12(A1),D0
	EXT.W	D0
	MOVE.L	D0,D1
	ADD.W	D1,D1
	ADD.W	D0,D1
	move	D1,-(sp)
	MOVE.L	A0,34(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	MOVEA.L	32(sp),A0
	MOVE.B	4(A0),D1
	EXT.W	D1
	CMP.W	D0,D1
	BGE.S	L01A7
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	D0,4(A1)
	BRA	L01D3
;
L01A7:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	move	-44(A6),D0
	EXT.L	D0
	MOVEQ	#$13,D1
	JSR	__CXM22
	LEA	_tr,A2
	ADDA.L	D0,A2
	MOVE.B	12(A2),D0
	EXT.W	D0
	MOVE.L	D0,D1
	ADD.W	D1,D1
	ADD.W	D0,D1
	MOVE.B	4(A1),D0
	EXT.W	D0
	MOVE.L	D0,D2
	SUB.W	D1,D2
	MOVE.B	D2,4(A1)
	BRA.S	L01A9
;
L01A8:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	SUBQ.B	#3,4(A1)
L01A9:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	MOVE.B	4(A1),D2
	TST.B	D2
	BPL.S	L01AA
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	CLR.B	4(A1)
L01AA:
	move	_Player,D0
	CMP.W	D7,D0
	BEQ	L01AC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	CMPI.B	#-1,8(A1)
	BEQ	L01AB
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVE.B	8(A0),D0
	EXT.W	D0
	EORI.W	#4,D0
	move	-46(A6),D1
	CMP.W	D0,D1
	BNE	L01AB
	MOVEQ	#2,D0
	move	D0,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_StackCheck
	ADDQ.W	#6,sp
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BGT.S	L01AB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	MOVEQ	#-1,D1
	MOVE.B	D1,8(A2)
	MOVE.B	D1,6(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDA.L	36(sp),A1
	CLR.B	4(A1)
	BRA	L01D3
;
L01AB:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	move	-46(A6),D0
	MOVE.B	D0,8(A1)
L01AC:
	move	-48(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L01B0
	move	_Army,D1
	CMP.W	D7,D1
	BNE	L01B0
	move	_Player,D1
	CMP.W	D7,D1
	BEQ	L01B0
	BTST	#0,-25(A6)
	BNE	L01B0
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	TST.W	14(A2)
	BEQ.S	L01AD
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	MOVE.B	3(A2),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	CMP.W	14(A1),D0
	BNE.S	L01B0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	TST.B	5(A0)
	BEQ.S	L01B0
L01AD:
	MOVEQ	#2,D0
	move	D0,-(sp)
	move	-48(A6),-(sp)
	move	D7,-(sp)
	JSR	_StackCheck
	ADDQ.W	#6,sp
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-16(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	TST.B	4(A0)
	BEQ.S	L01AE
	MOVEQ	#4,D0
	BRA.S	L01AF
;
L01AE:
	MOVEQ	#2,D0
L01AF:
	move	-16(A6),D1
	CMP.W	D0,D1
	BGE	L01D3
L01B0:
	MOVEQ	#$50,D0
	ADD.W	-36(A6),D0
	move	-38(A6),-(sp)
	move	D0,-(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	JSR	_GetPixel
	ADDQ.W	#6,sp
	move	D0,-76(A6)
	BEQ	L01B4
	MOVEQ	#8,D1
	CMP.W	D1,D0
	BGE	L01B4
	MOVEQ	#$A,D1
	CMP.W	-44(A6),D1
	BEQ	L01B3
	CMP.W	-54(A6),D1
	BEQ	L01B3
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	CMPI.B	#$1A,3(A1)
	BGE	L01B3
	MOVEQ	#$F,D0
	AND.W	-26(A6),D0
	TST.W	D0
	BEQ	L01B3
	move	-76(A6),D0
	MOVE.L	D0,D2
	CMP.W	D7,D2
	BEQ	L01B3
	move	_Player,D2
	CMP.W	D2,D7
	BEQ.S	L01B1
	CMP.W	D2,D0
	BNE	L01B3
L01B1:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	14(A0)
	BNE	L01B3
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_IsUnitAt
	ADDQ.W	#4,sp
	CMP.W	D7,D0
	BEQ	L01B3
	move	_Player,D0
	CMP.W	D7,D0
	BNE.S	L01B2
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	#-1,6(A0)
	move	-76(A6),-(sp)
	JSR	_Annoy
	ADDQ.W	#2,sp
	ADDQ.W	#1,D0
	BEQ	L01D3
	MOVEQ	#2,D0
	move	D0,-(sp)
	move	-76(A6),-(sp)
	move	D7,-(sp)
	JSR	_DelTreaty
	ADDQ.W	#6,sp
	BRA.S	L01B3
;
L01B2:
	move	-76(A6),D0
	move	_Player,D1
	CMP.W	D0,D1
	BNE.S	L01B3
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	BTST	#1,1(A0)
	BEQ.S	L01B3
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	BRA	L01D3
;
L01B3:
	CMP.W	-76(A6),D7
	BEQ.S	L01B4
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	ANDI.W	#$E,D0
	TST.W	D0
	BEQ.S	L01B4
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	-76(A6),D1
	ASL.W	D1,D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	D0,D2
	MOVE.B	D2,9(A0)
L01B4:
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_WhoOwns
	ADDQ.W	#4,sp
	move	D0,-14(A6)
	TST.W	D7
	BNE	L01B5
	MOVEQ	#$A,D0
	CMP.W	-44(A6),D0
	BEQ	L01B5
	move	-32(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-34(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	MOVE.L	D1,D2
	move	_Player,D3
	ASL.W	D3,D2
	MOVE.B	(A0),D4
	EXT.W	D4
	AND.W	D2,D4
	TST.W	D4
	BEQ	L01B5
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	ASL.W	D3,D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	AND.W	D0,D1
	BNE.S	L01B5
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_FindCloseCity
	ADDQ.W	#4,sp
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	move	_Player,D1
	CMP.W	D1,D0
	BNE.S	L01B5
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	move	-32(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	ADDA.W	-34(A6),A3
	MOVE.B	(A3),D0
	OR.B	D0,9(A1)
L01B5:
	BTST	#0,-25(A6)
	BEQ	L01B7
	move	-14(A6),D0
	MOVE.L	D0,D1
	CMP.W	D7,D1
	BEQ	L01B7
	move	-36(A6),D1
	EXT.L	D1
	MOVEQ	#$32,D0
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-38(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	MOVE.L	D1,D2
	move	_Player,D3
	ASL.W	D3,D2
	MOVE.B	(A0),D4
	EXT.W	D4
	AND.W	D2,D4
	TST.W	D4
	BEQ.S	L01B7
	EXT.L	D3
	ASL.L	#4,D3
	LEA	_Treaties,A0
	MOVEA.L	A0,A1
	ADDA.L	D3,A1
	MOVE.L	D7,D2
	EXT.L	D2
	ADD.L	D2,D2
	ADDA.L	D2,A1
	BTST	#6,1(A1)
	BNE.S	L01B6
	move	_Player,D2
	EXT.L	D2
	ASL.L	#4,D2
	ADDA.L	D2,A0
	move	-14(A6),D2
	EXT.L	D2
	ADD.L	D2,D2
	ADDA.L	D2,A0
	BTST	#6,1(A0)
	BEQ.S	L01B7
L01B6:
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	D0,D2
	MOVE.B	D2,9(A0)
L01B7:
	MOVEQ	#$A,D0
	CMP.W	-44(A6),D0
	BNE.S	L01B8
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#1,D0
	BEQ.S	L01B8
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	MOVE.L	D0,D2
	move	-14(A6),D3
	ASL.W	D3,D2
	MOVE.B	9(A1),D3
	EXT.W	D3
	MOVE.L	D3,D4
	OR.W	D2,D4
	MOVE.B	D4,9(A1)
L01B8:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	MOVE.B	9(A0),D2
	EXT.W	D2
	AND.W	D0,D2
	BNE.S	L01B9
	CMP.W	D7,D1
	BEQ.S	L01B9
	TST.W	_debug
	BEQ.S	L01BC
	TST.W	D7
	BEQ.S	L01BC
L01B9:
	BTST	#5,L1FB8
	BNE.S	L01BA
	CMP.W	D1,D7
	BNE.S	L01BB
L01BA:
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	move	D1,-(sp)
	JSR	_ScrollMap
	move	-46(A6),(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_MoveUnit
	LEA	10(sp),sp
	BRA.S	L01BC
;
L01BB:
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	JSR	_RestoreBlock
	ADDQ.W	#4,sp
L01BC:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	10(A0),D0
	EXT.W	D0
	move	-34(A6),-(sp)
	move	-32(A6),-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	move	D0,-58(A6)
	JSR	_DeleteUnitAt
	move	-32(A6),-50(A6)
	move	-34(A6),-52(A6)
	move	-38(A6),(sp)
	move	-36(A6),-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_AddUnitAt
	LEA	14(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	move	-36(A6),D2
	MOVE.B	D2,1(A1)
	MOVE.L	D7,D3
	EXT.L	D3
	MOVE.L	D0,36(sp)
	MOVE.L	D3,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	move	-38(A6),D1
	MOVE.B	D1,2(A1)
	MOVE.L	D7,D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	CLR.B	9(A1)
	move	_Player,D1
	CMP.W	D7,D1
	BEQ.S	L01BD
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDA.L	36(sp),A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	CMP.W	14(A1),D0
	BEQ.S	L01BD
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	ANDI.W	#-$D0,D1
	MOVE.B	D1,(A0)
L01BD:
	TST.W	-76(A6)
	BEQ.S	L01BE
	move	-76(A6),D0
	MOVEQ	#8,D1
	CMP.W	D1,D0
	BGE.S	L01BE
	CMP.W	D7,D0
	BEQ.S	L01BE
	MOVEQ	#$50,D0
	ADD.W	D2,D0
	MOVEQ	#2,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	-38(A6),-(sp)
	move	D0,-(sp)
	JSR	_PutPixel
	ADDQ.W	#8,sp
L01BE:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D2
	MOVE.B	6(A1),D2
	MOVE.L	D0,36(sp)
	move	-36(A6),D3
	CMP.W	D2,D3
	BNE	L01BF
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	7(A1),D0
	move	-38(A6),D1
	CMP.W	D0,D1
	BNE.S	L01BF
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	MOVEQ	#-1,D1
	MOVE.B	D1,8(A2)
	MOVE.B	D1,6(A1)
	move	_Player,D1
	CMP.W	D7,D1
	BEQ.S	L01BF
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDA.L	36(sp),A1
	MOVEQ	#0,D0
	MOVE.B	D0,4(A1)
L01BF:
	MOVEQ	#$A,D0
	CMP.W	-54(A6),D0
	BNE.S	L01C0
	CMP.W	-44(A6),D0
	BEQ.S	L01C0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVEQ	#1,D0
	CMP.W	14(A2),D0
	BEQ.S	L01C0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A2
	CLR.B	4(A2)
L01C0:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	TST.W	28(A1)
	BNE.S	L01C1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#$17,D0
	CMP.B	3(A0),D0
	BNE	L01C9
L01C1:
	MOVEQ	#-1,D0
	CMP.W	-58(A6),D0
	BEQ	L01C9
	MOVEQ	#0,D0
	MOVE.L	D0,D5
	move	D0,-6(A6)
L01C2:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-58(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.B	10(A1),D3
	EXT.W	D3
	MOVE.L	D7,D4
	EXT.L	D4
	MOVE.L	D4,D0
	MOVE.L	D1,36(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A3
	ADDA.L	D0,A3
	MOVE.L	D6,D0
	MULS	D2,D0
	ADDA.L	D0,A3
	MOVE.B	3(A3),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	move	D3,-60(A6)
	TST.W	28(A1)
	BEQ.S	L01C3
	MOVEQ	#0,D0
	BRA.S	L01C4
;
L01C3:
	MOVEQ	#1,D0
L01C4:
	move	14(A2),D1
	CMP.W	D0,D1
	BNE	L01C8
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-58(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A1
	BTST	#0,(A1)
	BNE.S	L01C5
	MOVEQ	#$A,D1
	CMP.W	-54(A6),D1
	BEQ.S	L01C5
	move	_Player,D1
	CMP.W	D7,D1
	BEQ	L01C8
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-58(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVEQ	#$C,D1
	AND.B	(A1),D1
	BNE	L01C8
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-58(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A0
	CMPI.B	#-1,10(A0)
	BEQ	L01C8
L01C5:
	move	-52(A6),-(sp)
	move	-50(A6),-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_DeleteUnitAt
	move	-38(A6),(sp)
	move	-36(A6),-(sp)
	move	-58(A6),-(sp)
	move	D7,-(sp)
	JSR	_AddUnitAt
	LEA	14(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-58(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	move	-36(A6),D3
	MOVE.B	D3,1(A1)
	MOVE.L	D7,D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	D1,36(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	move	-38(A6),D1
	MOVE.B	D1,2(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	CLR.B	9(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVE.B	#-1,8(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	D2,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	TST.W	28(A2)
	BEQ.S	L01C6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	ADDA.L	36(sp),A2
	BSET	#0,(A2)
L01C6:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	move	-58(A6),D0
	MULS	D2,D0
	ADDA.L	D0,A2
	MOVE.B	3(A2),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	TST.W	18(A2)
	BEQ.S	L01C7
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	move	18(A1),D0
	SUBQ.W	#1,D0
	MOVE.B	D0,5(A2)
L01C7:
	ADDQ.W	#1,D5
L01C8:
	move	-60(A6),-58(A6)
	ADDQ.W	#1,-6(A6)
	CMPI.W	#20,-6(A6)
	BGE.S	L01C9
	MOVEQ	#-1,D0
	CMP.W	-58(A6),D0
	BEQ.S	L01C9
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	CMP.W	28(A1),D5
	BLT	L01C2
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#$17,D0
	CMP.B	3(A0),D0
	BEQ	L01C2
	TST.W	D7
	BEQ	L01C2
L01C9:
	BTST	#0,-25(A6)
	BEQ.S	L01CA
	move	-14(A6),D0
	MOVE.L	D0,D1
	CMP.W	D7,D1
	BEQ.S	L01CA
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	-14(A6),D1
	ASL.W	D1,D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	D0,D2
	MOVE.B	D2,9(A0)
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_FindCity
	CLR.W	(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	move	D0,-56(A6)
	JSR	_CaptureCity
	move	-38(A6),(sp)
	move	-36(A6),-(sp)
	JSR	_PutUnitAt
	LEA	10(sp),sp
L01CA:
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	move	D7,-(sp)
	JSR	_NowOwns
	MOVEQ	#1,D0
	move	D0,(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_ShowSquare
	move	-38(A6),(sp)
	move	-36(A6),-(sp)
	move	-44(A6),-(sp)
	JSR	_SurpriseAt
	LEA	18(sp),sp
	TST.W	D0
	BEQ.S	L01CB
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_SurpriseMe
	ADDQ.W	#4,sp
	move	-36(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	ADDA.W	-38(A6),A0
	BSET	#0,(A0)
L01CB:
	MOVEQ	#$A,D0
	CMP.W	-44(A6),D0
	BNE.S	L01CC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#2,D0
	CMP.W	14(A0),D0
	BEQ.S	L01CC
	PEA	_ResetShip
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UnitList
	ADDQ.W	#8,sp
L01CC:
	TST.W	D7
	BNE	L01CD
	MOVEQ	#$A,D0
	CMP.W	-44(A6),D0
	BEQ	L01CD
	move	-36(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-38(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	MOVE.L	D1,D2
	move	_Player,D3
	ASL.W	D3,D2
	MOVE.B	(A0),D4
	EXT.W	D4
	AND.W	D2,D4
	TST.W	D4
	BEQ	L01CD
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	ASL.W	D3,D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	AND.W	D0,D1
	BNE.S	L01CD
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	JSR	_FindCloseCity
	ADDQ.W	#4,sp
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	move	_Player,D1
	CMP.W	D1,D0
	BNE.S	L01CD
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	move	-36(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A2
	ADDA.L	D0,A2
	move	-38(A6),D0
	ADDA.W	D0,A2
	MOVE.B	(A2),D1
	OR.B	D1,9(A1)
L01CD:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	MOVE.B	9(A0),D2
	EXT.W	D2
	AND.W	D0,D2
	BNE.S	L01CE
	CMP.W	D7,D1
	BEQ.S	L01CE
	TST.W	_debug
	BEQ.S	L01D1
	TST.W	D7
	BEQ.S	L01D1
L01CE:
	CMP.W	D1,D7
	BEQ.S	L01CF
	BTST	#5,L1FB8
	BEQ.S	L01D0
L01CF:
	move	-38(A6),-(sp)
	move	-36(A6),-(sp)
	move	D1,-(sp)
	JSR	_ScrollMap
	move	D6,(sp)
	move	D7,-(sp)
	JSR	_ShowUnit
	ADDQ.W	#8,sp
	CMP.W	_Player,D7
	BEQ.S	L01D1
	MOVEQ	#1,D0
	CMP.W	_MapView,D0
	BEQ.S	L01D1
	MOVEQ	#$1E,D0
	JSR	_WaitTicks
	BRA.S	L01D1
;
L01D0:
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_ShowUnit
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L01D1
	MOVEQ	#$A,D0
	JSR	_WaitTicks
L01D1:
	CLR.W	-20(A6)
	BTST	#0,-25(A6)
	BEQ	L01D2
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	TST.W	18(A2)
	BEQ.S	L01D2
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A2
	BCLR	#1,(A2)
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	CLR.B	4(A2)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	ADDA.L	36(sp),A2
	MOVE.B	#-1,6(A2)
L01D2:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	TST.W	18(A2)
	BEQ	L01D3
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	CMP.W	14(A1),D0
	BNE	L01D3
	MOVEQ	#$17,D0
	move	D0,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_IsInStack
	ADDQ.W	#6,sp
	TST.W	D0
	BEQ	L01D3
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22		;d0 = 0x600 * d7.w
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	BCLR	#1,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22		;d0 = 0x600 * d7.w
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	CLR.B	4(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22		;d0 = 0x600 * d7.w
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22		;d0 = 0x600 * d7.w
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22		;d0 = 0x22 * d0.b
	LEA	_tp,A0
	ADDA.L	D0,A0
	move	18(A0),D0
	MOVE.B	D0,5(A1)
L01D3:				;Many branches come here from above
	move	-12(A6),D0	;d0 = word[a6-12]
	ADDQ.W	#2,D0		;$FFFE =
	BEQ	L01F1
	SUBI.W	#$B,D0		;$0009 = Tab	=
	BEQ	L0205
	SUBQ.W	#4,D0		;$000D = Return	=
	BEQ	L01ED
	SUBI.W	#$E,D0		;$001B = Escape	=
	BEQ	L0203
	SUBQ.W	#5,D0		;$0020 = Space	=
	BEQ	L01ED
	SUBI.W	#$B,D0		;$002B = '+'	= Tax rate
	BEQ	L01F2
	SUBQ.W	#2,D0		;$002D = '-'	= Luxury rate
	BEQ	L01F5
	SUBQ.W	#2,D0		;$002F = '/'	= Find City
	BEQ	L01EE
	SUBI.W	#$E,D0		;$003D = '='	= Tax rate
	BEQ	L01F2
	SUBQ.W	#2,D0		;$003F = '?'	= Find City
	BEQ	L01EE
	SUBI.W	#$D,D0		;$004C = 'L'	=
	BEQ	L01F0
	SUBQ.W	#7,D0		;$0053 = 'S'	= Save game
	BEQ	L01EF
	SUBI.W	#$C,D0		;$005F = '_'	= Luxury rate
	BEQ	L01F5
	SUBI.W	#$15,D0		;$0074 = 't'	= Terrain display
	BEQ	L01F8
	SUBI.W	#$F8C,D0	;$1000 = Alt_Q	= Quit query
	BEQ	L0200
	SUBI.W	#$100,D0	;$1100 = Alt_W	= World menu
	BEQ	L020E
	SUBI.W	#$200,D0	;$1300 = Alt_R	=
	BEQ	L01F9
	SUBI.W	#$500,D0	;$1800 = Alt_O	= Order menu
	BEQ	L020C
	SUBI.W	#$600,D0	;$1E00 = Alt_A	= Advisor menu
	BEQ	L020D
	SUBI.W	#$400,D0	;$2200 = Alt_G	= Game menu
	BEQ	cmd_Alt_G_gamemenu
	SUBI.W	#$100,D0	;$2300 = Alt_H	= Help
	BEQ	L01FF
	SUBI.W	#$B00,D0	;$2E00 = Alt_C	= Civilopedia menu
	BEQ	L020F
	SUBI.W	#$100,D0	;$2F00 = Alt_V	= Sound On/Off
	BEQ	L01FC
	SUBI.W	#$300,D0	;$3200 = Alt_M	= Mouse normalization
	BEQ	L0211
	SUBI.W	#$900,D0	;$3B00 = F1	= Cities / Insight
	BEQ	cmd_F1_city_insight
	SUBI.W	#$100,D0	;$3C00 = F2	= Mr Military
	BEQ	cmd_F2_Mr_Military
	SUBI.W	#$100,D0	;$3D00 = F3	= Intelligence / Page 2
	BEQ	cmd_f3_Mr_Intelligence
	SUBI.W	#$100,D0	;$3E00 = F4	= Attitude report
	BEQ	cmd_F4_Mr_Attitude
	SUBI.W	#$100,D0	;$3F00 = F5	= Trade report
	BEQ	cmd_F5_Mr_Trader
	SUBI.W	#$100,D0	;$4000 = F6	= Mr Science
	BEQ	cmd_f6_Mr_Science
	SUBI.W	#$100,D0	;$4100 = F7	= Wonders / Civ report
	BEQ	cmd_F7_wonders_civrep
	SUBI.W	#$100,D0	;$4200 = F8	= Top cities / Graph + Replay
	BEQ	cmd_F8_topcities_grafreplay
	SUBI.W	#$100,D0	;$4300 = F9	= Score / Power
	BEQ	cmd_F9_civscore_power
	SUBI.W	#$100,D0	;$4400 = F10	= Map
	BEQ	cmd_F10_Map
	SUBI.W	#$337,D0	;$4737 =
	BEQ	L01EB
	SUBI.W	#$101,D0	;$4838 =
	BEQ	L01E4
	SUBI.W	#$101,D0	;$4939 =
	BEQ	L01E5
	SUBI.W	#$1FB,D0	;$4B34 =
	BEQ	L01EA
	SUBI.W	#$202,D0	;$4D36 =
	BEQ	L01E6
	SUBI.W	#$1FB,D0	;$4F31 =
	BEQ	L01E9
	SUBI.W	#$101,D0	;$5032 =
	BEQ	L01E8
	SUBI.W	#$101,D0	;$5133 =
	BEQ	L01E7
	BRA	L0211
;
cmd_F1_city_insight:
L01D4:				;F1 = City status / Debug strategy insight
	TST.W	_debug
	BEQ.S	.L01D5
	JSR	_Insight
	BRA	L0211
;
.L01D5:
	move	_Player,-(sp)
	JSR	_Cities
	ADDQ.W	#2,sp
	BRA	L0211
;
cmd_F2_Mr_Military:
L01D6:				;F2 = Military Advisor
	move	_Player,-(sp)
	JSR	_MrMilitary
	ADDQ.W	#2,sp
	BRA	L0211
;
cmd_f3_Mr_Intelligence:		;F3 = Intelligence Advisor / Debug report ???
L01D7:
	TST.W	_debug
	BEQ.S	.L01D8
	JSR	_hidemouse
	MOVEQ	#2,D0
	move	D0,-(sp)
	JSR	_ShowPage
	JSR	_getch		;patch: needs to be "JSR _WaitForIt"
	CLR.W	-(sp)
	JSR	_ShowPage
	JSR	_showmouse
	ADDQ.W	#4,sp
	BRA	L0211
;
.L01D8:
	move	_Player,-(sp)
	JSR	_Intelligence
	ADDQ.W	#2,sp
	BRA	L0211
;
cmd_F4_Mr_Attitude:		;F4 = Attitude Advisor
L01D9:
	move	_Player,-(sp)
	JSR	_Attitude
	ADDQ.W	#2,sp
	BRA	L0211
;
cmd_F5_Mr_Trader:		;F5 = Trade Advisor
L01DA:
	move	_Player,-(sp)
	JSR	_Financial
	ADDQ.W	#2,sp
	BRA	L0211
;
cmd_f6_Mr_Science:		;F6 = Science Advisor
L01DB:
	move	_Player,-(sp)
	JSR	_MrScience
	ADDQ.W	#2,sp
	BRA	L0211
;
cmd_F7_wonders_civrep:		;F7 = Wonders / Debug report
L01DC:
	TST.W	_debug
	BEQ.S	L01DE
	MOVEQ	#1,D5
L01DD:
	MOVEQ	#8,D0
	CMP.W	D0,D5
	BGE	L0211
	move	D5,-(sp)
	JSR	_MyStatus
	ADDQ.W	#2,sp
	ADDQ.W	#1,D5
	BRA.S	L01DD
;
L01DE:
	JSR	_TheWonders
	BRA	L0211
;
cmd_F8_topcities_grafreplay:	;F8 = Top 5 Cities / Debug Graph + Replay
L01DF:
	TST.W	_debug
	BEQ.S	.L01E0
	JSR	_HistoGraph
	JSR	_Replay
	BRA	L0211
;
.L01E0:
	JSR	_Top5
	BRA	L0211
;
cmd_F9_civscore_power:		;F9 = Score / Debug Power
L01E1:
	TST.W	_debug
	BEQ.S	.L01E2
	JSR	_Power
	BRA	L0211
;
.L01E2:
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	_Player,-(sp)
	JSR	_FinalScore
	ADDQ.W	#4,sp
	BRA	L0211
;
cmd_F10_Map:			;F10 = Map
L01E3:
	MOVEQ	#1,D0
	move	D0,-(sp)
	JSR	_GameMap
	ADDQ.W	#2,sp
	BRA	L0211
;
L01E4:
	move	#1,-46(A6)
	BRA.S	L01EC
;
L01E5:
	move	#2,-46(A6)
	BRA.S	L01EC
;
L01E6:
	move	#3,-46(A6)
	BRA.S	L01EC
;
L01E7:
	move	#4,-46(A6)
	BRA.S	L01EC
;
L01E8:
	move	#5,-46(A6)
	BRA.S	L01EC
;
L01E9:
	move	#6,-46(A6)
	BRA.S	L01EC
;
L01EA:
	move	#7,-46(A6)
	BRA.S	L01EC
;
L01EB:
	move	#8,-46(A6)
L01EC:
	move	-46(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	move	(A0),D0
	ASL.W	#2,D0
	ADD.W	D0,_XMap
	move	-46(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveY,A0
	ADDA.L	D0,A0
	move	(A0),D0
	ASL.W	#2,D0
	ADD.W	D0,_YMap
	move	_YMap,-(sp)
	move	_XMap,-(sp)
	move	_Player,-(sp)
	JSR	_ShowMap
	ADDQ.W	#6,sp
	BRA	L0211
;
L01ED:
	CMPI.W	#$80,D6
	BNE	L0211
	BRA	L021F
;
L01EE:
	JSR	_FindACity
	BRA	L0211
;
L01EF:
	TST.W	_Rtime
	BEQ	L0211
	MOVEQ	#-1,D0
	move	D0,-(sp)
	JSR	_SaveGameFile
	ADDQ.W	#2,sp
	BRA	L0211
;
L01F0:
	JSR	_memfree
	BRA	L0211
;
L01F1:
	CLR.B	_XEB
	PEA	star_rev_s	;get confirmation of revolution
	JSR	_KingTalk
	MOVEQ	#$50,D0
	move	D0,(sp)
	MOVEQ	#$40,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	10(sp),sp
	SUBQ.W	#1,D0
	BNE	L0211
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	CLR.W	(A0)
	PEA	revolution_1_s
	PEA	_XEB
	JSR	_strcpy
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#12,D1
	JSR	__CXM22		;d0 = d0 * 12
	LEA	_ArmyTexts,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	revolution_2_s
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#-1,D0
	move	D0,(sp)
	JSR	_NewsPaper
	JSR	_LoadAdvisors
	JSR	_ResetScreen
	MOVEQ	#1,D0
	move	D0,(sp)
	move	D0,-(sp)
	JSR	_CheckForDisk
	LEA	22(sp),sp
	BRA	L0211
;
L01F2:
	PEA	L1B26
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	CLR.W	-16(A6)
L01F3:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Happy,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Science,A1
	ADDA.L	D0,A1
	move	(A0),D0
	ADD.W	(A1),D0
	move	-16(A6),D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BGT	L01F4
	MOVEQ	#$A,D0
	MULS	D0,D1
	move	D0,-(sp)
	PEA	_ntmp
	move	D1,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B27
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Happy,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Science,A1
	ADDA.L	D0,A1
	move	(A0),D0
	ADD.W	(A1),D0
	SUB.W	-16(A6),D0
	MOVEQ	#$A,D1
	MULS	D1,D0
	move	D1,(sp)
	PEA	_ntmp
	move	D0,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B28
	PEA	_XEB
	JSR	_strcat
	LEA	38(sp),sp
	ADDQ.W	#1,-16(A6)
	BRA	L01F3
;
L01F4:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Happy,A0
	ADDA.L	D0,A0
	move	(A0),_DefaultItem
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	ADDQ.W	#8,sp
	move	D0,-16(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L0211
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Science,A0
	ADDA.L	D1,A0
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Happy,A1
	MOVEA.L	A1,A2
	ADDA.L	D1,A2
	move	(A2),D1
	SUB.W	D0,D1
	ADD.W	D1,(A0)
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	move	D0,(A1)
	JSR	_TimeBar
	BRA	L0211
;
L01F5:
	PEA	L1B29
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	CLR.W	-16(A6)
L01F6:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Happy,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	MOVE.L	D0,D1
	SUB.W	(A0),D1
	move	-16(A6),D2
	MOVE.L	D2,D3
	CMP.W	D1,D3
	BGT	L01F7
	MULS	D0,D2
	move	D0,-(sp)
	PEA	_ntmp
	move	D2,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B2A
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Happy,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	MOVE.L	D0,D1
	SUB.W	(A0),D1
	SUB.W	-16(A6),D1
	MULS	D0,D1
	move	D0,(sp)
	PEA	_ntmp
	move	D1,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B2B
	PEA	_XEB
	JSR	_strcat
	LEA	38(sp),sp
	ADDQ.W	#1,-16(A6)
	BRA	L01F6
;
L01F7:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Happy,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	SUB.W	(A0),D0
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Science,A0
	ADDA.L	D1,A0
	SUB.W	(A0),D0
	move	D0,_DefaultItem
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	ADDQ.W	#8,sp
	move	D0,-16(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L0211
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Science,A0
	ADDA.L	D1,A0
	MOVEQ	#$A,D1
	SUB.W	D0,D1
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Happy,A1
	ADDA.L	D0,A1
	SUB.W	(A1),D1
	move	D1,(A0)
	JSR	_TimeBar
	BRA	L0211
;
L01F8:
	move	#1,_Tflag
	move	_YMap,-(sp)
	move	_XMap,-(sp)
	move	D7,-(sp)
	JSR	_ShowMap
	JSR	_WaitForIt
	CLR.W	_Tflag
	move	_YMap,(sp)
	move	_XMap,-(sp)
	move	D7,-(sp)
	JSR	_ShowMap
	LEA	10(sp),sp
	BRA	L0211
;
L01F9:
	CLR.W	-16(A6)
L01FA:
	move	-16(A6),D0
	MOVEQ	#$10,D1
	CMP.W	D1,D0
	BGE	L01FB
	EXT.L	D0
	MOVEQ	#$3A,D1
	JSR	__CXM22
	LEA	_ld,A0
	ADDA.L	D0,A0
	MOVEQ	#3,D0
	move	D0,-(sp)
	MOVE.L	A0,34(sp)
	JSR	_rnd
	SUBQ.W	#1,D0
	MOVEA.L	34(sp),A0
	move	D0,48(A0)
	move	-16(A6),D0
	EXT.L	D0
	MOVEQ	#$3A,D1
	JSR	__CXM22
	LEA	_ld,A0
	ADDA.L	D0,A0
	MOVEQ	#3,D0
	move	D0,-(sp)
	MOVE.L	A0,36(sp)
	JSR	_rnd
	SUBQ.W	#1,D0
	MOVEA.L	36(sp),A0
	move	D0,50(A0)
	move	-16(A6),D0
	EXT.L	D0
	MOVEQ	#$3A,D1
	JSR	__CXM22
	LEA	_ld,A0
	ADDA.L	D0,A0
	MOVEQ	#3,D0
	move	D0,(sp)
	MOVE.L	A0,36(sp)
	JSR	_rnd
	ADDQ.W	#4,sp
	SUBQ.W	#1,D0
	MOVEA.L	32(sp),A0
	move	D0,52(A0)
	ADDQ.W	#1,-16(A6)
	BRA	L01FA
;
L01FB:
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	L1B2C
	JSR	_sMenu
	ADDQ.W	#8,sp
	BRA	L0211
;
L01FC:
	CLR.W	-(sp)
	JSR	_halt
	BCHG	#4,L1FB8
	PEA	L1B2D
	PEA	_XEB
	JSR	_strcpy
	LEA	10(sp),sp
	BTST	#4,L1FB8
	BEQ.S	L01FD
	LEA	L1B2E,A0
	BRA.S	L01FE
;
L01FD:
	LEA	L1B2F,A0
L01FE:
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$50,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	14(sp),sp
	BRA	L0211
;
L01FF:
	PEA	L1B30
	JSR	_Advice
	PEA	L1B31
	JSR	_Advice
	ADDQ.W	#8,sp
	BRA	L0211
;
L0200:
quit_menu_fix_1:
	PEA	quit_menu_s	;patch to 'pea nu_quit_menu_s' with RESTART option
	PEA	_XEB
	JSR	_strcpy
	MOVEQ	#$50,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	14(sp),sp
quit_menu_fix_2:		;patch to 'jsr nu_quit_menu_fix_2'
	SUBQ.W	#1,D0	;\
	BEQ.S	L0201	; > 6 bytes replaced by jsr instruction
	MOVEQ	#0,D0	;/
	move	D0,_Quit	;\/ 10 bytes
	BRA	L0211		;/\ skipped to exit
;
L0201:
	TST.W	_Quit
	BNE.S	L0202
	move	#1,_Quit
L0202:
	move	#$80,D6
	BRA	L0211
;
; suitable patch code follows:
;;;	nu_quit_menu_s:
;;;		dc.b	'Are you sure you',$0A
;;;		dc.b	'want to Quit ?',$0A
;;;		dc.b	' No,  Play Game',$0A
;;;		dc.b	' Yes, Quit Game',$0A
;;;		dc.b	' Start New Game',$0A
;;;		dc.b	$00,$00
;;;		even
;;;	;
;;;	restart_f:
;;;		dc.w	0
;;;	;
;;;	nu_quit_menu_fix_2:
;;;		cmp	#2,d0
;;;		seq	restart_f	;flag restart to shell
;;;		beq.s	.got_quit
;;;		cmp	#1,d0
;;;		bne.s	.not_quit
;;;	.got_quit:
;;;		add.l	#10,(sp)	;skip 10 bytes for return address
;;;	.not_quit:
;;;		clr.l	d0
;;;		rts
;
;
L0203:
	TST.W	_HasMouse
	BNE	L0211
	TST.W	-68(A6)
	BEQ	L0211
	CLR.W	-68(A6)
	move	-70(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-72(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D7,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ.S	L0204
	move	D0,-(sp)
	move	-70(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0204:
	move	#-1,-70(A6)
	BRA	L0211
;
L0205:
	TST.W	_HasMouse
	BNE	L0211
	TST.W	-68(A6)
	BEQ.S	L0207
	move	-70(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-72(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D7,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ.S	L0206
	move	D0,-(sp)
	move	-70(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0206:
	move	#-1,-70(A6)
	BRA	L020A
;
L0207:
	CMPI.W	#$80,D6
	BEQ	L0208
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	42(sp),-(sp)
	JSR	_OnScreen
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0208
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,-70(A6)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-72(A6)
	BRA.S	L0209
;
L0208:
	move	_XMap,D0
	ADDQ.W	#7,D0
	move	_YMap,D1
	ADDQ.W	#6,D1
	move	D0,-70(A6)
	move	D1,-72(A6)
L0209:
	move	-70(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-72(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D7,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ.S	L020A
	move	D0,-(sp)
	move	-70(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L020A:
	BCHG	#0,-67(A6)
	BRA.S	L0211
;
cmd_Alt_G_gamemenu:
	CLR.W	-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_MasterMenu
	ADDQ.W	#6,sp
	BRA.S	L0210
;
L020C:
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_MasterMenu
	ADDQ.W	#6,sp
	BRA.S	L0210
;
L020D:
	MOVEQ	#2,D0
	move	D0,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_MasterMenu
	ADDQ.W	#6,sp
	BRA.S	L0210
;
L020E:
	MOVEQ	#3,D0
	move	D0,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_MasterMenu
	ADDQ.W	#6,sp
	BRA.S	L0210
;
L020F:
	MOVEQ	#4,D0
	move	D0,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_MasterMenu
	ADDQ.W	#6,sp
L0210:
	move	_TheOrder,D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0211
	move	D0,-12(A6)
	BRA	L012C
;
L0211:
	CMPI.W	#$80,D6
	BGE.S	L0212
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	4(A0),D0
	TST.B	D0
	BLE.S	L0212
	TST.W	-30(A6)
	BNE.S	L0212
	TST.W	_Quit
	BEQ	L0104
L0212:
	CMPI.W	#$80,D6
	BGE	L021A
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,36(sp)
	CMPI.B	#-1,3(A1)
	BEQ	L021B
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVE.B	4(A1),D0
	TST.B	D0
	BLE.S	L0213
	CLR.W	-10(A6)
	BRA	L021A
;
L0213:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	TST.W	18(A1)
	BEQ	L0216
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	36(sp),A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	42(sp),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BNE.S	L0214
	MOVEQ	#$17,D0
	move	D0,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_IsInStack
	ADDQ.W	#6,sp
	TST.W	D0
	BEQ.S	L0215
L0214:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	36(sp),D0
	ADDA.L	D0,A2
	MOVE.B	3(A2),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A2
	ADDA.L	D0,A2
	move	18(A2),D0
	MOVE.B	D0,5(A1)
L0215:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	SUBQ.B	#1,5(A0)
	BGE.S	L0216
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_RemoveUnit
	PEA	L1B33
	BSR	_ErrorMsg
	ADDQ.W	#8,sp
L0216:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#$10,D0
	CMP.B	3(A0),D0
	BNE	L021A
	CMP.W	_Player,D7
	BNE	L021A
	MOVEQ	#2,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	TST.W	D0
	BEQ	L021A
	CLR.W	-18(A6)
	MOVEQ	#1,D5
L0217:
	MOVEQ	#8,D0
	CMP.W	D0,D5
	BGT	L0219
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D5,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveX,A2
	ADDA.L	D1,A2
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	ADD.W	(A2),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,36(sp)
	MOVE.L	D2,D0
	move	D1,40(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveY,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	ADD.W	(A1),D0
	move	D0,-(sp)
	move	42(sp),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BEQ.S	L0218
	move	#1,-18(A6)
	BRA.S	L0219
;
L0218:
	ADDQ.W	#1,D5
	BRA	L0217
;
L0219:
	TST.W	-18(A6)
	BNE.S	L021A
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_RemoveUnit
	PEA	L1B34
	BSR	_ErrorMsg
	ADDQ.W	#8,sp
L021A:
	MOVEQ	#1,D0
	ASL.W	D7,D0
	move	_Human,D1
	AND.W	D0,D1
	BEQ.S	L021B
	move	D6,-(sp)
	move	D7,-(sp)
	BSR	_DescribeUnit
	ADDQ.W	#4,sp
L021B:
	ADDQ.W	#1,D6
	BRA	L00F6
;
L021C:
	TST.W	-10(A6)
	BNE.S	L021D
	TST.W	_Quit
	BEQ	L00F5
L021D:
	TST.W	_Quit
	BNE.S	L021F
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	ASL.W	D7,D1
	move	_Human,D2
	AND.W	D1,D2
	TST.W	D2
	BEQ.S	L021F
	TST.W	-66(A6)
	BEQ.S	L021E
	BTST	#2,L1FB8
	BEQ.S	L021F
L021E:
	move	#$80,D6
	CLR.W	-10(A6)
	move	D0,-24(A6)
	BRA	L0101
;
L021F:
	CMP.W	_Player,D7
	BNE.S	L0220
	JSR	_hidemouse
	MOVEQ	#$67,D0
	move	D0,-(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	MOVEQ	#$61,D2
	move	D2,-(sp)
	CLR.W	-(sp)
	JSR	_MarbleBox
	JSR	_showmouse
	ADDQ.W	#8,sp
L0220:
	MOVEM.L	(sp)+,A2-A3/D2-D7
	UNLK	A6
	RTS
;
;
_ChangeBlock
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	move	14(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	ADDA.W	D6,A0
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	MOVE.B	(A0),D1
	EXT.W	D1
	AND.W	D0,D1
	BNE.S	L0222
	TST.W	_debug
	BEQ.S	L0223
L0222:
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0223:
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_UpdateUnit:
	LINK	A6,#-$A
	MOVEM.L	D6-D7/D2,-(sp)
	move	30(sp),D7
	move	32(sp),D6
	move	_Player,D0
	MOVE.L	D0,D1
	CMP.W	D7,D1
	BEQ.S	L0225
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	move	_Player,D2
	ASL.W	D2,D0
	MOVE.B	9(A1),D2
	EXT.W	D2
	AND.W	D0,D2
	TST.W	D2
	BEQ.S	L0226
L0225:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,16(sp)
	MOVE.L	D2,D0
	move	D1,20(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	16(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	22(sp),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0226:
	MOVEM.L	(sp)+,D6-D7/D2
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_CanImprove:
	LINK	A6,#-$C
	MOVEM.L	D5-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	ANDI.W	#7,D0
	BEQ.S	L0228
	MOVEQ	#0,D0
	BRA.S	L022B
;
L0228:
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVE.L	D0,D5
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_ImproveMe,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.W	#-3,4(A1)
	BGT.S	L0229
	MOVEQ	#2,D0
	BRA.S	L022B
;
L0229:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#-2,D0
	CMP.W	(A0),D0
	BNE.S	L022A
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_WaterAccess
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L022A
	MOVEQ	#1,D0
	BRA.S	L022B
;
L022A:
	MOVEQ	#0,D0
L022B:
	MOVEM.L	(sp)+,D5-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_WaterAccess
	LINK	A6,#-$C
	MOVEM.L	D4-D7/D2,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$B,D1
	CMP.W	D1,D0
	BNE.S	L022D
	MOVEQ	#1,D0
	BRA	L0233
;
L022D:
	MOVEQ	#0,D5
	MOVEQ	#1,D4
L022E:
	MOVEQ	#8,D0
	CMP.W	D0,D4
	BGT.S	L0232
	MOVE.L	D4,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	ADD.W	(A0),D0
	MOVE.L	D4,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveY,A0
	ADDA.L	D1,A0
	MOVE.L	D6,D1
	ADD.W	(A0),D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D0,-6(A6)
	move	D1,-8(A6)
	JSR	_TerAt
	move	-8(A6),(sp)
	move	-6(A6),-(sp)
	move	D0,-10(A6)
	JSR	_Special
	ADDQ.W	#6,sp
	move	D0,-12(A6)
	BTST	#0,D0
	BNE.S	L0231
	move	-10(A6),D1
	MOVEQ	#$B,D2
	CMP.W	D2,D1
	BEQ.S	L022F
	MOVEQ	#$A,D2
	CMP.W	D2,D1
	BNE.S	L0230
L022F:
	MOVEQ	#1,D0
	BRA.S	L0233
;
L0230:
	BTST	#1,-11(A6)
	BEQ.S	L0231
	MOVEQ	#1,D0
	BRA.S	L0233
;
L0231:
	ADDQ.W	#2,D4
	BRA.S	L022E
;
L0232:
	MOVE.L	D5,D0
L0233:
	MOVEM.L	(sp)+,D4-D7/D2
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_DescribeUnit:
	LINK	A6,#-$1A
	MOVEM.L	A2/D4-D7/D2,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	JSR	_hidemouse
	MOVEQ	#$67,D0
	move	D0,-(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	MOVEQ	#$61,D2
	move	D2,-(sp)
	CLR.W	-(sp)
	JSR	_MarbleBox
	ADDQ.W	#8,sp
	CMPI.W	#$80,D6
	BNE.S	L0235
	CLR.W	-(sp)
	MOVEQ	#$7C,D0
	move	D0,-(sp)
	MOVEQ	#4,D1
	move	D1,-(sp)
	PEA	L1B35
	JSR	_jPrint
	CLR.W	(sp)
	move	#$88,D0
	move	D0,-(sp)
	MOVEQ	#4,D1
	move	D1,-(sp)
	PEA	L1B36
	JSR	_jPrint
	CLR.W	(sp)
	move	#$90,D0
	move	D0,-(sp)
	MOVEQ	#4,D1
	move	D1,-(sp)
	PEA	L1B37
	JSR	_jPrint
	JSR	_showmouse
	BRA	L0244
;
L0235:
	MOVEQ	#$63,D4
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$B,D1
	JSR	__CXM22
	LEA	_ArmyText,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcpy
	CLR.W	(sp)
	move	D4,-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	PEA	_XEB
	JSR	_jPrint
	ADDQ.W	#8,D4
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcpy
	CLR.W	(sp)
	move	D4,-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	PEA	_XEB
	JSR	_jPrint
	LEA	28(sp),sp
	ADDQ.W	#8,D4
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	BTST	#5,(A0)
	BEQ.S	L0236
	CLR.W	-(sp)
	move	D4,-(sp)
	MOVEQ	#8,D0
	move	D0,-(sp)
	PEA	L1B38
	JSR	_jPrint
	LEA	10(sp),sp
	ADDQ.W	#8,D4
L0236:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	4(A0),D0
	EXT.W	D0
	EXT.L	D0
	DIVS	#3,D0
	MOVEQ	#$63,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_rng
	PEA	L1B39
	PEA	_XEB
	move	D0,-6(A6)
	JSR	_strcpy
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	-6(A6),-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	LEA	24(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	4(A0),D0
	EXT.W	D0
	EXT.L	D0
	DIVS	#3,D0
	SWAP	D0
	move	D0,-8(A6)
	BEQ.S	L0237
	PEA	L1B3A
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	-8(A6),-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	LEA	18(sp),sp
L0237:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	18(A0)
	BEQ	L0238
	PEA	L1B3B
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVE.B	5(A1),D0
	EXT.W	D0
	MULS	16(A0),D0
	ADD.W	D0,-6(A6)
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	-6(A6),-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B3C
	PEA	_XEB
	JSR	_strcat
	LEA	26(sp),sp
L0238:
	CLR.W	-(sp)
	move	D4,-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	PEA	_XEB
	JSR	_jPrint
	ADDQ.W	#8,D4
	CLR.B	_XEB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	move	D0,(sp)
	JSR	_CityName
	CLR.W	(sp)
	move	D4,-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	PEA	_XEB
	JSR	_jPrint
	ADDQ.W	#8,D4
	PEA	L1B3D
	PEA	_XEB
	JSR	_strcpy
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,54(sp)
	MOVE.L	D2,D0
	move	D1,58(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	54(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,(sp)
	move	58(sp),-(sp)
	JSR	_TerAt
	EXT.L	D0
	MOVEQ	#$13,D1
	JSR	__CXM22
	LEA	_tr,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B3E
	PEA	_XEB
	JSR	_strcat
	CLR.W	(sp)
	move	D4,-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	PEA	_XEB
	JSR	_jPrint
	ADDQ.W	#8,D4
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,76(sp)
	MOVE.L	D2,D0
	move	D1,80(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	76(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,(sp)
	move	80(sp),-(sp)
	JSR	_Special
	LEA	50(sp),sp
	move	D0,-12(A6)
	BTST	#4,D0
	BEQ.S	L0239
	CLR.W	-(sp)
	move	D4,-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	PEA	L1B3F
	JSR	_jPrint
	LEA	10(sp),sp
	ADDQ.W	#8,D4
	BRA.S	L023A
;
L0239:
	BTST	#3,D0
	BEQ.S	L023A
	CLR.W	-(sp)
	move	D4,-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	PEA	L1B40
	JSR	_jPrint
	LEA	10(sp),sp
	ADDQ.W	#8,D4
L023A:
	BTST	#1,-11(A6)
	BEQ.S	L023B
	CLR.W	-(sp)
	move	D4,-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	PEA	L1B41
	JSR	_jPrint
	LEA	10(sp),sp
	ADDQ.W	#8,D4
	BRA.S	L023C
;
L023B:
	BTST	#2,-11(A6)
	BEQ.S	L023C
	CLR.W	-(sp)
	move	D4,-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	PEA	L1B42
	JSR	_jPrint
	LEA	10(sp),sp
	ADDQ.W	#8,D4
L023C:
	BTST	#6,-11(A6)
	BEQ.S	L023D
	CLR.W	-(sp)
	move	D4,-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	PEA	L1B43
	JSR	_jPrint
	LEA	10(sp),sp
	ADDQ.W	#8,D4
L023D:
	ADDQ.W	#4,D4
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	10(A1),D1
	EXT.W	D1
	MOVEQ	#8,D5
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,28(sp)
	MOVE.L	D2,D0
	move	D1,-10(A6)
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	28(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	move	D1,32(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	28(sp),A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	34(sp),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BEQ	L0240
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,28(sp)
	MOVE.L	D2,D0
	move	D1,32(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	28(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	34(sp),-(sp)
	JSR	_FindCity
	ADDQ.W	#4,sp
	CLR.W	-16(A6)
	move	D0,-14(A6)
L023E:
	move	-16(A6),D0
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BGE	L0240
	move	-14(A6),D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-16(A6),D0
	ADDA.W	D0,A1
	CMPI.B	#-1,26(A1)
	BEQ	L023F
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	move	-14(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.W	-16(A6),A0
	MOVEQ	#$3F,D0
	AND.B	26(A0),D0
	MOVE.B	D0,1527(A2)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A1,A0
	ADDA.L	D0,A0
	MOVE.B	#8,1524(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVE.B	#-1,1530(A1)
	move	D4,-(sp)
	move	D5,-(sp)
	MOVEQ	#$7F,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_DrawUnit
	ADDQ.W	#8,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.B	#-1,1527(A0)
	ADDI.W	#$10,D5
L023F:
	ADDQ.W	#1,-16(A6)
	BRA	L023E
;
L0240:
	move	-10(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0242
	CMP.W	D0,D6
	BEQ.S	L0242
	CMPI.W	#$B8,D4
	BGE.S	L0242
	move	D4,-(sp)
	move	D5,-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_DrawUnit
	ADDQ.W	#8,sp
	ADDI.W	#$10,D5
	MOVEQ	#$40,D0
	CMP.W	D0,D5
	BLE.S	L0241
	MOVEQ	#8,D5
	ADDI.W	#$10,D4
L0241:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-10(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	10(A0),D0
	EXT.W	D0
	move	D0,-10(A6)
	BRA.S	L0240
;
L0242:
	move	-10(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0243
	CMP.W	D6,D0
	BEQ.S	L0243
	CLR.W	-(sp)
	move	#$C0,D0
	move	D0,-(sp)
	MOVEQ	#$4A,D1
	move	D1,-(sp)
	PEA	L1B44
	JSR	_jPrint
	LEA	10(sp),sp
L0243:
	JSR	_showmouse
L0244:
	MOVEM.L	-50(A6),A2/D4-D7/D2
	UNLK	A6
	RTS
;
;
_OnScreen:
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	move	14(sp),D6
	MOVEQ	#$10,D0
	CMP.W	D0,D7
	BGE.S	L0246
	move	_XMap,D0
	MOVEQ	#$41,D1
	CMP.W	D1,D0
	BLT.S	L0246
	ADDI.W	#$50,D7
L0246:
	move	_XMap,D0
	CMP.W	D0,D7
	BLT.S	L0247
	ADDI.W	#$F,D0
	CMP.W	D0,D7
	BGE.S	L0247
	move	_YMap,D0
	CMP.W	D0,D6
	BLT.S	L0247
	ADDI.W	#$C,D0
	CMP.W	D0,D6
	BLT.S	L0248
L0247:
	MOVEQ	#0,D0
	BRA.S	L0249
;
L0248:
	MOVEQ	#1,D0
L0249:
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_DeBounce:
	LINK	A6,#-4
	MOVE.L	D7,-(sp)
L024B:
	JSR	_kbhit
	TST.W	D0
	BEQ.S	L024C
	JSR	_GetCleanKey
	BRA.S	L024B
;
L024C:
	move	mouse_butts,D7
L024D:
	JSR	_getmouse
	TST.W	mouse_butts
	BNE.S	L024D
	move	D7,mouse_butts
	MOVE.L	(sp)+,D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_UnloadMe:
	LINK	A6,#-$A
	MOVEM.L	D4-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	10(A0),D5
	EXT.W	D5
	MOVEQ	#-1,D0
	CMP.W	D0,D5
	BNE.S	L024F
	MOVE.L	D6,D0
	BRA	L0255
;
L024F:
	MOVEQ	#0,D4
	move	D6,-6(A6)
	move	#$3E7,-8(A6)
L0250:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D5,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	MOVEQ	#2,D0
	CMP.W	14(A1),D0
	BEQ.S	L0253
	CMP.W	D6,D5
	BLE.S	L0251
	MOVE.L	D5,D0
	SUB.W	D6,D0
	move	D0,-10(A6)
	BRA.S	L0252
;
L0251:
	MOVE.L	D6,D0
	SUB.W	D5,D0
	move	#$80,D1
	SUB.W	D0,D1
	move	D1,-10(A6)
L0252:
	move	-10(A6),D0
	MOVE.L	D0,D1
	CMP.W	-8(A6),D1
	BGE.S	L0253
	move	D5,-6(A6)
	move	D0,-8(A6)
L0253:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D5,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	10(A0),D5
	EXT.W	D5
	CMP.W	D6,D5
	BEQ.S	L0254
	ADDQ.W	#1,D4
	MOVEQ	#$10,D0
	CMP.W	D0,D4
	BLT	L0250
L0254:
	move	-6(A6),D0
L0255:
	MOVEM.L	(sp)+,D4-D7
	UNLK	A6
	RTS
;
;
_ErrorMsg:
	MOVE.L	A5,-(sp)
	MOVEA.L	8(sp),A5
	move	_MyTurn,D0
	CMP.W	_Player,D0
	BNE.S	L0257
	MOVE.L	A5,-(sp)
	JSR	_ErrorMsgOv
	ADDQ.W	#4,sp
L0257:
	MOVEA.L	(sp)+,A5
	RTS
;
;
	dc.w	0
;
;----------------------------------------------------------------------------
;
_ActivateGarr:
	LINK	A6,#-8
	MOVEM.L	A2/D5-D7,-(sp)
	move	32(sp),D7
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	CMP.W	_Player,D0
	BNE	L025D
	move	#1,_InGarr
	MOVEQ	#0,D6
L0259:
	MOVEQ	#2,D0
	CMP.W	D0,D6
	BGE	L025C
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDA.W	D6,A1
	CMPI.B	#-1,26(A1)
	BEQ	L025B
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,16(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDA.W	D6,A1
	MOVE.B	26(A1),D0
	EXT.W	D0
	ANDI.W	#$3F,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,18(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,20(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	22(sp),-(sp)
	move	22(sp),-(sp)
	move	22(sp),-(sp)
	JSR	_AddUnit
	ADDQ.W	#8,sp
	MOVE.L	D0,D5
	MOVEQ	#-1,D0
	CMP.W	D0,D5
	BEQ	L025B
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVE.L	D5,D0
	MULS	#$C,D0
	ADDA.L	D0,A2
	BSET	#3,(A2)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,20(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	ADDA.W	D6,A2
	BTST	#6,26(A2)
	BEQ.S	L025A
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	11(A2),D0
	EXT.W	D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVE.L	20(sp),D0
	ADDA.L	D0,A1
	BSET	#5,(A1)
L025A:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.W	D6,A0
	MOVE.B	#-1,26(A0)
L025B:
	ADDQ.W	#1,D6
	BRA	L0259
;
L025C:
	CLR.W	_InGarr
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BSET	#2,6(A0)
L025D:
	MOVEM.L	(sp)+,A2/D5-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_DeActivateGarr:
	LINK	A6,#-$14
	MOVEM.L	A2-A3/D4-D7/D2,-(sp)
	move	8(A6),D7
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D6
	EXT.W	D6
	CMP.W	_Player,D6
	BNE	L0266
	move	_PCombat,D4
	MOVEQ	#0,D0
	move	D0,_PCombat
	move	#1,_InGarr
	MOVE.L	D0,D5
	move	D0,-8(A6)
L025F:
	CMPI.W	#$80,D5
	BGE	L0265
	MOVE.L	D6,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D5,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,32(sp)
	CMPI.B	#-1,3(A1)
	BEQ	L0264
	MOVE.L	D6,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	32(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	MOVE.B	1(A1),D0
	CMP.B	4(A3),D0
	BNE	L0264
	MOVE.L	D6,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D5,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	MOVE.B	2(A1),D0
	CMP.B	5(A3),D0
	BNE	L0264
	MOVE.L	D6,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D5,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE	L0264
	MOVE.L	D6,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D5,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	BTST	#3,(A1)
	BEQ	L0264
	TST.W	-8(A6)
	BEQ	L0263
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A2,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,26(A1)
	BNE.S	L0261
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A2,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A3
	ADDA.L	D0,A3
	MOVE.L	D5,D0
	MULS	#$C,D0
	ADDA.L	D0,A3
	MOVE.B	3(A3),26(A1)
	MOVE.L	D6,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	36(sp),D0
	ADDA.L	D0,A0
	BTST	#5,(A0)
	BEQ.S	L0260
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A2
	BSET	#6,26(A2)
L0260:
	move	D5,-(sp)
	move	D6,-(sp)
	JSR	_RemoveUnit
	ADDQ.W	#4,sp
	BRA	L0263
;
L0261:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A2,A0
	ADDA.L	D0,A0
	CMPI.B	#-1,27(A0)
	BNE	L0265
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A2,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	MOVEA.L	A1,A3
	ADDA.L	D0,A3
	MOVE.L	D5,D0
	MULS	#$C,D0
	ADDA.L	D0,A3
	MOVE.B	3(A3),27(A0)
	MOVE.L	D6,D1
	EXT.L	D1
	MOVE.L	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVE.L	36(sp),D0
	ADDA.L	D0,A1
	BTST	#5,(A1)
	BEQ.S	L0262
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A2
	BSET	#6,27(A2)
L0262:
	move	D5,-(sp)
	move	D6,-(sp)
	JSR	_RemoveUnit
	ADDQ.W	#4,sp
L0263:
	move	#1,-8(A6)
L0264:
	ADDQ.W	#1,D5
	BRA	L025F
;
L0265:
	CLR.W	_InGarr
	move	D4,_PCombat
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BCLR	#2,6(A0)
L0266:
	MOVEM.L	(sp)+,A2-A3/D4-D7/D2
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_ShowSquare:
	LINK	A6,#-$1E
	MOVEM.L	A2/D2-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	move	D0,-14(A6)
	CMP.W	_Player,D5
	BNE	L026B
	CLR.W	-2(A6)
L0268:
	move	-2(A6),D0
	MOVEQ	#$19,D1
	CMP.W	D1,D0
	BGE	L026B
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	ADD.W	(A0),D0
	move	D0,-(sp)
	JSR	_xrange
	ADDQ.W	#2,sp
	move	-2(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveY,A0
	ADDA.L	D1,A0
	MOVE.L	D6,D1
	ADD.W	(A0),D1
	MOVEM.W	D0,-4(A6)
	MOVEM.W	D1,-6(A6)
	CMPI.W	#9,-2(A6)
	BLT	L0269
	MOVE.L	D5,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	14(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,32(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	BTST	#1,27(A2)
	BEQ	L026A
	MOVE.L	D5,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVEQ	#2,D0
	CMP.W	14(A1),D0
	BNE.S	L0269
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE.S	L026A
L0269:
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_OnMap
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L026A
	move	-4(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-6(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D5,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	MOVE.L	D2,D3
	OR.W	D1,D3
	MOVE.B	D3,(A0)
	move	D0,-(sp)
	move	-4(A6),-(sp)
	JSR	_SynchSpecial
	ADDQ.W	#4,sp
L026A:
	ADDQ.W	#1,-2(A6)
	BRA	L0268
;
L026B:
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	move	#1,-2(A6)
	move	D0,-20(A6)
L026C:
	move	-2(A6),D0
	MOVEQ	#9,D1
	CMP.W	D1,D0
	BGE	L0281
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	ADD.W	(A0),D0
	move	D0,-(sp)
	JSR	_xrange
	move	-2(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveY,A0
	ADDA.L	D1,A0
	MOVE.L	D6,D1
	ADD.W	(A0),D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D0,-4(A6)
	move	D1,-6(A6)
	JSR	_OnMap
	ADDQ.W	#6,sp
	TST.W	D0
	BEQ	L0280
	TST.W	D5
	BEQ.S	L026D
	move	-4(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-6(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D5,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	MOVE.L	D2,D3
	OR.W	D1,D3
	MOVE.B	D3,(A0)
L026D:
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	move	D0,-22(A6)
	BTST	#0,D0
	BEQ	L026F
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_WhoOwns
	ADDQ.W	#4,sp
	CMP.W	D5,D0
	BEQ	L026F
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_WhoOwns
	move	-6(A6),(sp)
	move	-4(A6),-(sp)
	move	D0,-10(A6)
	JSR	_FindCity
	move	D0,(sp)
	move	D0,-16(A6)
	BSR	_ActivateGarr
	ADDQ.W	#6,sp
	move	_Player,D0
	CMP.W	D5,D0
	BNE.S	L026E
	move	-16(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-16(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),8(A1)
L026E:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	14(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,32(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BNE	L026F
	MOVE.L	D5,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	move	-10(A6),D2
	ASL.W	D2,D1
	MOVE.B	9(A0),D3
	EXT.W	D3
	MOVE.L	D3,D4
	OR.W	D1,D4
	MOVE.B	D4,9(A0)
	MOVE.L	D5,D1
	EXT.L	D1
	ASL.L	#4,D1
	LEA	_Treaties,A0
	ADDA.L	D1,A0
	MOVE.L	D2,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	BTST	#1,1(A0)
	BNE.S	L026F
	MOVEQ	#4,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	move	D2,-(sp)
	JSR	_AddDest
	MOVEQ	#2,D0
	move	D0,(sp)
	move	D0,-(sp)
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	move	-10(A6),-(sp)
	JSR	_AddDest
	LEA	18(sp),sp
L026F:
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_UnitAt
	ADDQ.W	#4,sp
	move	D0,-8(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L027C
	move	_armyAt,D1
	MOVE.L	D1,D2
	CMP.W	D5,D2
	BEQ	L027C
	BTST	#0,-19(A6)
	BNE.S	L0270
	MOVE.L	D5,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	14(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	_armyAt,D1
	ASL.W	D1,D0
	MOVE.B	9(A0),D2
	EXT.W	D2
	MOVE.L	D2,D3
	OR.W	D0,D3
	MOVE.B	D3,9(A0)
L0270:
	PEA	_AlertMe(PC)
	move	-8(A6),-(sp)
	move	_armyAt,-(sp)
	JSR	_UnitList
	move	-6(A6),(sp)
	move	-4(A6),-(sp)
	JSR	_TerAt
	LEA	10(sp),sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BEQ.S	L0271
	CMP.W	-14(A6),D1
	BEQ.S	L0272
L0271:
	move	_armyAt,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-8(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	#-1,6(A0)
L0272:
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE.S	L0273
	CMP.W	-14(A6),D1
	BEQ.S	L0273
	MOVE.L	D5,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	14(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVEQ	#1,D0
	CMP.W	14(A2),D0
	BNE.S	L0274
L0273:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	14(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.B	#-1,6(A1)
L0274:
	BTST	#0,-21(A6)
	BNE.S	L0275
	move	_armyAt,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-8(A6),D0
	MULS	D2,D0
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	ASL.W	D5,D0
	MOVE.B	9(A1),D1
	EXT.W	D1
	MOVE.L	D1,D3
	OR.W	D0,D3
	MOVE.B	D3,9(A1)
L0275:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	14(A6),D0
	MULS	D2,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	14(A0)
	BNE	L027B
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BEQ	L027B
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BEQ	L027B
	move	_armyAt,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-8(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	CMP.W	14(A0),D0
	BEQ	L027B
	move	D6,-(sp)
	move	D7,-(sp)
	move	_armyAt,-(sp)
	move	D5,-(sp)
	JSR	_Contact
	ADDQ.W	#8,sp
	MOVE.L	D5,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	move	_armyAt,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	BTST	#1,1(A0)
	BNE	L0278
	move	#1,-18(A6)
	TST.W	_armyAt
	BEQ	L0277
	move	_armyAt,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-8(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVEQ	#$1A,D1
	CMP.B	3(A1),D1
	BEQ.S	L0277
	move	_armyAt,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-8(A6),D0
	MULS	D2,D0
	ADDA.L	D0,A1
	MOVE.L	D0,32(sp)
	BTST	#3,(A1)
	BEQ.S	L0276
	move	_armyAt,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#2,D0
	CMP.W	30(A0),D0
	BEQ.S	L0277
L0276:
	MOVEQ	#3,D0
	move	D0,-18(A6)
L0277:
	move	-18(A6),-(sp)
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	move	D5,-(sp)
	JSR	_AddDest
	LEA	10(sp),sp
L0278:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	14(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#$1A,D0
	CMP.B	3(A0),D0
	BEQ.S	L027B
	TST.W	D5
	BEQ.S	L0279
	MOVEQ	#2,D0
	BRA.S	L027A
;
L0279:
	MOVEQ	#1,D0
L027A:
	move	D0,-(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	move	_armyAt,-(sp)
	JSR	_AddDest
	LEA	10(sp),sp
L027B:
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE.S	L027C
	TST.W	_armyAt
	BEQ.S	L027C
	MOVE.L	D5,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	move	_armyAt,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	BTST	#1,1(A0)
	BNE.S	L027C
	MOVEQ	#2,D0
	move	D0,-(sp)
	MOVEQ	#3,D1
	move	D1,-(sp)
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	move	D5,-(sp)
	JSR	_AddDest
	LEA	10(sp),sp
L027C:
	TST.W	16(A6)
	BEQ.S	L0280
	CMP.W	_Player,D5
	BEQ.S	L027D
	TST.W	_debug
	BEQ.S	L0280
L027D:
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_ShowBlock
	move	#$F0,D0
	ADD.W	-4(A6),D0
	move	-6(A6),(sp)
	move	-4(A6),-(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	move	D0,36(sp)
	JSR	_GetPixel
	ADDQ.W	#8,sp
	SUBQ.W	#1,D0
	BNE.S	L027E
	MOVEQ	#1,D0
	BRA.S	L027F
;
L027E:
	MOVEQ	#2,D0
L027F:
	MOVEQ	#2,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	-6(A6),-(sp)
	move	34(sp),-(sp)
	JSR	_PutPixel
	ADDQ.W	#8,sp
L0280:
	ADDQ.W	#1,-2(A6)
	BRA	L026C
;
L0281:
	move	#9,-2(A6)
L0282:
	move	-2(A6),D0
	MOVEQ	#$19,D1
	CMP.W	D1,D0
	BGE	L0290
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	ADD.W	(A0),D0
	move	D0,-(sp)
	JSR	_xrange
	move	-2(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveY,A0
	ADDA.L	D1,A0
	MOVE.L	D6,D1
	ADD.W	(A0),D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D0,-4(A6)
	move	D1,-6(A6)
	JSR	_OnMap
	ADDQ.W	#6,sp
	TST.W	D0
	BEQ	L028F
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_UnitAt
	move	-6(A6),(sp)
	move	-4(A6),-(sp)
	move	D0,-8(A6)
	JSR	_Special
	ADDQ.W	#6,sp
	MOVE.L	D5,D1
	EXT.L	D1
	move	D0,-22(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	14(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,32(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	BTST	#1,27(A2)
	BEQ	L028A
	MOVE.L	D5,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVEQ	#2,D0
	CMP.W	14(A1),D0
	BNE.S	L0283
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE	L028A
L0283:
	TST.W	D5
	BEQ.S	L0284
	move	-4(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-6(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	MOVE.L	D1,D2
	ASL.W	D5,D2
	MOVE.B	(A0),D3
	EXT.W	D3
	MOVE.L	D3,D4
	OR.W	D2,D4
	MOVE.B	D4,(A0)
L0284:
	move	-8(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L0286
	move	_armyAt,D1
	CMP.W	D1,D5
	BEQ	L0286
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-8(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D0,32(sp)
	MOVEQ	#$16,D1
	CMP.B	3(A1),D1
	BEQ	L0286
	BTST	#0,-21(A6)
	BNE.S	L0285
	move	_armyAt,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	ASL.W	D5,D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	D0,D2
	MOVE.B	D2,9(A0)
L0285:
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE.S	L0286
	TST.W	_armyAt
	BEQ.S	L0286
	MOVE.L	D5,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	move	_armyAt,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	BTST	#1,1(A0)
	BNE.S	L0286
	MOVEQ	#2,D0
	move	D0,-(sp)
	MOVEQ	#3,D1
	move	D1,-(sp)
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	move	D5,-(sp)
	JSR	_AddDest
	LEA	10(sp),sp
L0286:
	TST.W	16(A6)
	BEQ.S	L028A
	CMP.W	_Player,D5
	BEQ.S	L0287
	TST.W	_debug
	BEQ.S	L028A
L0287:
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_ShowBlock
	move	#$F0,D0
	ADD.W	-4(A6),D0
	move	-6(A6),(sp)
	move	-4(A6),-(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	move	D0,36(sp)
	JSR	_GetPixel
	ADDQ.W	#8,sp
	SUBQ.W	#1,D0
	BNE.S	L0288
	MOVEQ	#1,D0
	BRA.S	L0289
;
L0288:
	MOVEQ	#2,D0
L0289:
	MOVEQ	#2,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	-6(A6),-(sp)
	move	34(sp),-(sp)
	JSR	_PutPixel
	ADDQ.W	#8,sp
L028A:
	move	-8(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L028E
	move	_armyAt,D1
	MOVE.L	D1,D2
	CMP.W	D5,D2
	BEQ	L028E
	MOVE.L	D5,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	14(A6),D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#$16,D0
	CMP.B	3(A1),D0
	BEQ	L028E
	move	_armyAt,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-8(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	move	D0,-12(A6)
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#1,27(A1)
	BEQ	L028D
	move	-12(A6),D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#2,D0
	CMP.W	14(A0),D0
	BNE.S	L028B
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE	L028D
L028B:
	move	_armyAt,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-8(A6),D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	BCLR	#0,(A1)
	move	_armyAt,D2
	EXT.L	D2
	MOVE.L	D0,32(sp)
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	32(sp),D0
	ADDA.L	D0,A1
	MOVE.B	#-1,6(A1)
	BTST	#0,-19(A6)
	BNE.S	L028C
	MOVE.L	D5,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	14(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	_armyAt,D1
	ASL.W	D1,D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	D0,D2
	MOVE.B	D2,9(A0)
L028C:
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE	L028E
	TST.W	_armyAt
	BEQ	L028E
	MOVE.L	D5,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	move	_armyAt,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	BTST	#1,1(A0)
	BNE	L028E
	MOVEQ	#2,D0
	move	D0,-(sp)
	MOVEQ	#3,D1
	move	D1,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	move	_armyAt,-(sp)
	JSR	_AddDest
	LEA	10(sp),sp
	BRA	L028E
;
L028D:
	move	_armyAt,D0
	CMP.W	_Player,D0
	BNE	L028E
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BEQ.S	L028E
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	ADDA.W	D6,A0
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	move	_Player,D2
	ASL.W	D2,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	TST.W	D2
	BEQ.S	L028E
	MOVE.L	D5,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	14(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	_armyAt,D1
	ASL.W	D1,D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	D0,D2
	MOVE.B	D2,9(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L028E:
	BTST	#0,-21(A6)
	BEQ	L028F
	move	-6(A6),-(sp)
	move	-4(A6),-(sp)
	JSR	_WhoOwns
	ADDQ.W	#4,sp
	move	_Player,D1
	CMP.W	D1,D0
	BNE.S	L028F
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	ADDA.W	D6,A0
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	move	_Player,D2
	ASL.W	D2,D1
	MOVE.B	(A0),D3
	EXT.W	D3
	AND.W	D1,D3
	TST.W	D3
	BEQ.S	L028F
	MOVE.L	D5,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	14(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	ASL.W	D2,D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	D0,D2
	MOVE.B	D2,9(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L028F:
	ADDQ.W	#1,-2(A6)
	BRA	L0282
;
L0290:
	CMP.W	_Player,D5
	BNE	L0293
	TST.W	16(A6)
	BEQ	L0293
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
	move	#9,-2(A6)
L0291:
	move	-2(A6),D0
	MOVEQ	#$31,D1
	CMP.W	D1,D0
	BGE	L0293
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	ADD.W	(A0),D0
	move	D0,-(sp)
	JSR	_xrange
	move	-2(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveY,A0
	ADDA.L	D1,A0
	MOVE.L	D6,D1
	ADD.W	(A0),D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D0,-4(A6)
	move	D1,-6(A6)
	JSR	_OnMap
	ADDQ.W	#6,sp
	TST.W	D0
	BEQ.S	L0292
	move	-4(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-6(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	ASL.W	D5,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ.S	L0292
	move	D0,-(sp)
	move	-4(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0292:
	ADDQ.W	#1,-2(A6)
	BRA	L0291
;
L0293:
	MOVEM.L	(sp)+,A2/D2-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_BlinkUnit
	LINK	A6,#-$1A
	MOVEM.L	D5-D7/D2,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	MOVEQ	#-1,D0
	move	D0,-2(A6)
	CMP.W	D0,D5
	BEQ.S	L0296
	MOVE.L	D5,D0
	SUB.W	_XMap,D0
	move	D0,-(sp)
	JSR	_xrange
	ADDQ.W	#2,sp
	ASL.W	#4,D0
	ADDI.W	#$50,D0
	move	14(A6),D1
	SUB.W	_YMap,D1
	ASL.W	#4,D1
	ADDQ.W	#8,D1
	MOVEM.W	D0,-2(A6)
	MOVEM.W	D1,-4(A6)
	MOVEQ	#$50,D2
	CMP.W	D2,D0
	BLT.S	L0295
	CMPI.W	#$140,D0
	BGE.S	L0295
	MOVEQ	#8,D0
	CMP.W	D0,D1
	BLT.S	L0295
	CMPI.W	#$C0,D1
	BLE.S	L0296
L0295:
	move	#-1,-2(A6)
L0296:
	move	_GmapY,D0
	TST.W	D0
	BPL.S	L0297
	MOVEQ	#0,D1
	BRA.S	L0298
;
L0297:
	MOVE.L	D0,D1
L0298:
	move	D1,-12(A6)
	SUB.W	D0,D1
	MOVE.L	D7,D0
	EXT.L	D0
	move	D1,-14(A6)
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	1(A0),D0
	SUB.W	_GmapX,D0
	move	D0,-(sp)
	JSR	_xrange
	ADDQ.W	#2,sp
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-6(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	SUB.W	-12(A6),D0
	ADD.W	-14(A6),D0
	move	D0,-8(A6)
L0299:
	JSR	_hidemouse
	CMPI.W	#$80,D6
	BGE	L029A
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,20(sp)
	MOVE.L	D2,D0
	move	D1,24(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	20(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	26(sp),-(sp)
	JSR	_RestoreBlock
	ADDQ.W	#4,sp
	move	-8(A6),D0
	TST.W	D0
	BMI.S	L029B
	MOVEQ	#$32,D1
	CMP.W	D1,D0
	BGE.S	L029B
	ADDQ.W	#8,D0
	MOVEQ	#$F,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	-6(A6),-(sp)
	JSR	_plot
	ADDQ.W	#6,sp
	BRA.S	L029B
;
L029A:
	MOVEQ	#7,D0
	move	D0,-(sp)
	MOVEQ	#$7C,D1
	move	D1,-(sp)
	MOVEQ	#4,D2
	move	D2,-(sp)
	PEA	L1B46
	JSR	_jPrint
	LEA	10(sp),sp
L029B:
	move	-2(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L029C
	MOVEQ	#$F,D1
	move	D1,-(sp)
	move	D1,-(sp)
	move	D1,-(sp)
	move	-4(A6),-(sp)
	move	D0,-(sp)
	JSR	_Box
	LEA	10(sp),sp
L029C:
	JSR	_showmouse
	JSR	_kbhit
	TST.W	D0
	BEQ.S	L029D
	MOVEQ	#1,D0
	BRA.S	L029E
;
L029D:
	MOVEQ	#$A,D0
L029E:
	JSR	_WaitTicks
	JSR	_hidemouse
	CMPI.W	#$80,D6
	BGE	L02A1
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_ShowUnit
	ADDQ.W	#4,sp
	move	-8(A6),D0
	TST.W	D0
	BMI	L02A2
	MOVEQ	#$32,D1
	CMP.W	D1,D0
	BGE	L02A2
	ADDQ.W	#8,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,16(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,22(sp)
	MOVE.L	D2,D0
	move	D1,26(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	22(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	28(sp),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE.S	L029F
	MOVEQ	#1,D0
	BRA.S	L02A0
;
L029F:
	MOVEQ	#2,D0
L02A0:
	move	D0,-(sp)
	move	18(sp),-(sp)
	move	-6(A6),-(sp)
	JSR	_plot
	ADDQ.W	#6,sp
	BRA.S	L02A2
;
L02A1:
	CLR.W	-(sp)
	MOVEQ	#$7C,D0
	move	D0,-(sp)
	MOVEQ	#4,D1
	move	D1,-(sp)
	PEA	L1B47
	JSR	_jPrint
	LEA	10(sp),sp
L02A2:
	move	-2(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L02A3
	CLR.W	-(sp)
	MOVEQ	#$F,D1
	move	D1,-(sp)
	move	D1,-(sp)
	move	-4(A6),-(sp)
	move	D0,-(sp)
	JSR	_Box
	LEA	10(sp),sp
L02A3:
	JSR	_showmouse
	JSR	_kbhit
	TST.W	D0
	BEQ.S	L02A4
	MOVEQ	#1,D0
	BRA.S	L02A5
;
L02A4:
	MOVEQ	#$A,D0
L02A5:
	JSR	_WaitTicks
	JSR	_getmouse
	JSR	_kbhit
	TST.W	D0
	BNE.S	L02A6
	TST.W	mouse_butts
	BEQ	L0299
L02A6:
	MOVEM.L	(sp)+,D5-D7/D2
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_AddUnit
	LINK	A6,#-$10
	MOVEM.L	A2/D2-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	move	14(A6),D4
	CLR.W	-2(A6)
L02A8:
	move	-2(A6),D0
	MOVEQ	#$7F,D1
	CMP.W	D1,D0
	BGE	L02B1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-2(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D0,32(sp)
	CMPI.B	#-1,3(A1)
	BNE	L02B0
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	32(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#-1,D1
	MOVE.B	D1,1(A1)
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	32(sp),A0
	MOVE.B	#-1,10(A0)
	move	D4,-(sp)
	move	D5,-(sp)
	move	D7,-(sp)
	JSR	_NowOwns
	move	D4,(sp)
	move	D5,-(sp)
	move	-2(A6),-(sp)
	move	D7,-(sp)
	JSR	_AddUnitAt
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	ADDA.W	D4,A0
	MOVEQ	#1,D0
	ASL.W	D7,D0
	MOVE.B	(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	D0,D2
	MOVE.B	D2,(A0)
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,44(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-2(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	CLR.B	(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,50(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	50(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D5,D1
	MOVE.B	D1,1(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	50(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D4,D1
	MOVE.B	D1,2(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	50(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D6,D1
	MOVE.B	D1,3(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	50(sp),D0
	ADDA.L	D0,A1
	move	44(sp),D1
	MOVE.B	D1,9(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	50(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#-1,D1
	MOVE.B	D1,6(A1)
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	50(sp),D0
	ADDA.L	D0,A1
	MOVE.B	#-1,8(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	50(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	50(sp),D0
	ADDA.L	D0,A2
	MOVE.B	3(A2),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A2
	ADDA.L	D0,A2
	move	18(A2),D0
	MOVE.B	D0,5(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	50(sp),A0
	move	D4,(sp)
	move	D5,-(sp)
	MOVE.L	A0,42(sp)
	JSR	_FindCloseCity
	LEA	14(sp),sp
	MOVEA.L	28(sp),A0
	MOVE.B	D0,11(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-2(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.B	11(A1),D3
	EXT.W	D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	D1,32(sp)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BEQ.S	L02A9
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	32(sp),D0
	ADDA.L	D0,A1
	MOVE.B	#-1,11(A1)
L02A9:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-2(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.L	D1,32(sp)
	TST.B	5(A1)
	BEQ.S	L02AA
	MOVE.L	D7,D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	32(sp),D0
	ADDA.L	D0,A1
	SUBQ.B	#1,5(A1)
L02AA:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_units,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A1
	ADDQ.W	#1,(A1)
	TST.W	_InGarr
	BNE	L02AD
	TST.W	_debug
	BNE.S	L02AB
	move	_Player,D0
	MOVE.L	D0,D1
	CMP.W	D7,D1
	BEQ.S	L02AB
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-2(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVEQ	#1,D1
	move	_Player,D3
	ASL.W	D3,D1
	MOVE.B	9(A1),D3
	EXT.W	D3
	AND.W	D1,D3
	TST.W	D3
	BEQ.S	L02AC
L02AB:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-2(A6),D0
	MULS	D2,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,32(sp)
	MOVE.L	D2,D0
	move	D1,36(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D7,-(sp)
	move	D0,-(sp)
	move	40(sp),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#6,sp
L02AC:
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	-2(A6),-(sp)
	move	D7,-(sp)
	move	D4,-(sp)
	move	D5,-(sp)
	BSR	_ShowSquare
	LEA	10(sp),sp
L02AD:
	move	_Player,D0
	CMP.W	D7,D0
	BNE.S	L02AF
	TST.W	_Rtime
	BEQ.S	L02AF
	TST.W	_InGarr
	BNE.S	L02AF
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nunits,A0
	ADDA.L	D0,A0
	TST.W	(A0)
	BNE.S	L02AE
	PEA	L1B48
	JSR	_Advice
	ADDQ.W	#4,sp
L02AE:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nunits,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	CMP.W	(A0),D0
	BNE.S	L02AF
	PEA	L1B49
	JSR	_Advice
	ADDQ.W	#4,sp
L02AF:
	move	-2(A6),D0
	BRA.S	L02B3
;
L02B0:
	ADDQ.W	#1,-2(A6)
	BRA	L02A8
;
L02B1:
	CMP.W	_Player,D7
	BNE.S	L02B2
	TST.W	_Maxed
	BNE.S	L02B2
	move	#3,_MSource
	CLR.B	_XEB
	PEA	L1B4A
	JSR	_KingTalk
	MOVEQ	#$40,D0
	move	D0,(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	10(sp),sp
	move	#1,_Maxed
L02B2:
	MOVEQ	#-1,D0
L02B3:
	MOVEM.L	(sp)+,A2/D2-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_RemoveUnit:
	LINK	A6,#-$E
	MOVEM.L	A2/D6-D7/D2,-(sp)
	move	38(sp),D7
	move	40(sp),D6
	TST.W	_PCombat
	BEQ.S	L02B5
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_lost,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A2
	MOVE.B	3(A2),D0
	EXT.W	D0
	MOVE.L	D0,D2
	EXT.L	D2
	ADD.L	D2,D2
	ADDA.L	D2,A0
	ADDQ.W	#1,(A0)
L02B5:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D2
	EXT.W	D2
	EXT.L	D2
	MOVE.L	D0,20(sp)
	MOVE.L	D2,D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	TST.W	28(A1)
	BEQ	L02B6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	20(sp),D0
	ADDA.L	D0,A1
	CMPI.B	#-1,10(A1)
	BEQ.S	L02B6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,20(sp)
	MOVE.L	D2,D0
	move	D1,24(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	20(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	26(sp),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE.S	L02B6
	PEA	_KillGround(PC)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UnitList
	ADDQ.W	#8,sp
L02B6:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,20(sp)
	MOVEQ	#$17,D2
	CMP.B	3(A1),D2
	BNE	L02B7
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	20(sp),D0
	ADDA.L	D0,A1
	CMPI.B	#-1,10(A1)
	BEQ.S	L02B7
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,20(sp)
	MOVE.L	D2,D0
	move	D1,24(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	20(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	26(sp),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE.S	L02B7
	PEA	_KillAir(PC)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UnitList
	ADDQ.W	#8,sp
L02B7:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_units,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A2
	MOVE.B	3(A2),D1
	EXT.W	D1
	MOVE.L	D1,D2
	EXT.L	D2
	ADD.L	D2,D2
	ADDA.L	D2,A0
	SUBQ.W	#1,(A0)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,24(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A1,A0
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVE.B	#-1,3(A0)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A1,A0
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	CLR.B	4(A0)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A1,A0
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D1
	MOVE.B	1(A0),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	move	D1,28(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	ADDA.L	24(sp),A1
	MOVEQ	#0,D0
	MOVE.B	2(A1),D0
	move	D0,-(sp)
	move	30(sp),-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_DeleteUnitAt
	ADDQ.W	#8,sp
	TST.W	_InGarr
	BNE	L02B9
	MOVEQ	#-1,D0
	CMP.W	_KingMood,D0
	BNE	L02B9
	TST.W	_debug
	BNE.S	L02B8
	move	_Player,D0
	MOVE.L	D0,D1
	CMP.W	D7,D1
	BEQ.S	L02B8
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	move	_Player,D2
	ASL.W	D2,D0
	MOVE.B	9(A1),D2
	EXT.W	D2
	AND.W	D0,D2
	TST.W	D2
	BEQ.S	L02B9
L02B8:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,20(sp)
	MOVE.L	D2,D0
	move	D1,24(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	20(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D7,-(sp)
	move	D0,-(sp)
	move	28(sp),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#6,sp
L02B9:
	MOVEM.L	(sp)+,A2/D6-D7/D2
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_FindDefender:
	LINK	A6,#-8
	MOVEM.L	A2/D5-D7/D2,-(sp)
	move	36(sp),D7
	move	38(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CMPI.B	#-1,10(A0)
	BNE.S	L02BB
	MOVE.L	D6,D0
	BRA	L02BF
;
L02BB:
	move	D6,_Defender
	MOVEQ	#0,D0
	move	D0,_bestD
	MOVE.L	D0,D5
L02BC:
	CMPI.W	#$80,D5
	BGE	L02BE
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D5,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,24(sp)
	CMPI.B	#-1,3(A1)
	BEQ	L02BD
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	24(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A2
	MOVE.B	1(A1),D0
	CMP.B	1(A2),D0
	BNE.S	L02BD
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D5,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	2(A1),D0
	CMP.B	2(A0),D0
	BNE.S	L02BD
	PEA	_BestDefender(PC)
	move	D5,-(sp)
	move	D7,-(sp)
	JSR	_UnitList
	ADDQ.W	#8,sp
	BRA.S	L02BE
;
L02BD:
	ADDQ.W	#1,D5
	BRA	L02BC
;
L02BE:
	move	_Defender,D0
L02BF:
	MOVEM.L	(sp)+,A2/D5-D7/D2
	UNLK	A6
	RTS
;
;
_ShowDefender:
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	move	14(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	CMPI.B	#-1,10(A0)
	BNE.S	L02C1
	MOVE.L	D6,D0
	BRA.S	L02C2
;
L02C1:
	move	D6,_Defender
	move	#-1,_bestD
	PEA	_BestDefender(PC)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UnitList
	ADDQ.W	#8,sp
	move	_Defender,D0
L02C2:
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_BestDefender:
	LINK	A6,#-$10
	MOVEM.L	A2/D4-D7/D2,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D5
	EXT.W	D5
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,28(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	28(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	move	D1,32(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	28(sp),A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	34(sp),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVE.L	D0,D4
	MOVEQ	#$A,D0
	CMP.W	D0,D4
	BNE.S	L02C4
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#2,D0
	CMP.W	14(A1),D0
	BNE	L02CB
L02C4:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BNE.S	L02C7
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	22(A1),D0
	ASL.W	#3,D0
	MOVE.L	D4,D1
	EXT.L	D1
	move	D0,24(sp)
	MOVEQ	#$13,D0
	JSR	__CXM22
	LEA	_tr,A1
	ADDA.L	D0,A1
	MOVE.B	13(A1),D0
	EXT.W	D0
	move	24(sp),D1
	MULS	D0,D1
	MOVE.L	D7,D0
	EXT.L	D0
	move	D1,24(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A2
	BTST	#3,(A2)
	BEQ.S	L02C5
	MOVEQ	#3,D0
	BRA.S	L02C6
;
L02C5:
	MOVEQ	#2,D0
L02C6:
	move	24(sp),D2
	MULS	D0,D2
	move	D2,-6(A6)
	BRA.S	L02C8
;
L02C7:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	22(A0),D0
	ASL.W	#3,D0
	ADD.W	D0,D0
	move	D0,-6(A6)
L02C8:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	BTST	#5,(A0)
	BEQ.S	L02CA
	move	-6(A6),D0
	MOVE.L	D0,D1
	TST.W	D1
	BPL.S	L02C9
	ADDQ.W	#1,D1
L02C9:
	ASR.W	#1,D1
	ADD.W	D1,-6(A6)
L02CA:
	move	-6(A6),D0
	MOVE.L	D0,D1
	CMP.W	_bestD,D1
	BLE.S	L02CB
	move	D0,_bestD
	move	D6,_Defender
L02CB:
	MOVEM.L	(sp)+,A2/D4-D7/D2
	UNLK	A6
	RTS
;
;
_StackCheck:
	MOVEM.L	D5-D7,-(sp)
	move	16(sp),D7
	move	18(sp),D6
	move	20(sp),D5
	CLR.W	_stacksum
	move	D5,_stacktype
	move	D6,_stackfirst
	PEA	_Stacked(PC)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UnitList
	ADDQ.W	#8,sp
	move	_stacksum,D0
	MOVEM.L	(sp)+,D5-D7
	RTS
;
;
_Stacked
	dc.b	'H',$E7,$03,$00,'>/',$00,$0C
	dc.b	'</',$00,$0E,'09'
	dc.l	_stacktype
	dc.b	$0C,'@',$00,$05,'d',$00,$01,'>'
	dc.b	$D0,'@0;',$00,$06,'N',$FB
	dc.b	$00,$04,$00,$08,$00,'N',$00,$94
	dc.b	$00,$9E,$00,$E2
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	move	24(A0),D0
	ADD.W	D0,_stacksum
	BRA	L02CE
;
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	move	22(A0),D0
	ADD.W	D0,_stacksum
	BRA	L02CE
;
	ADDQ.W	#1,_stacksum
	BRA	L02CE
;
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	move	20(A0),D0
	ADD.W	D0,_stacksum
	BRA.S	L02CE
;
	CMP.W	_stackfirst,D6
	BGE.S	L02CE
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#2,D0
	CMP.W	30(A0),D0
	BNE.S	L02CE
	ADDQ.W	#1,_stacksum
L02CE:
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
_IsInStack
	MOVEM.L	D5-D7,-(sp)
	move	16(sp),D7
	move	18(sp),D6
	move	20(sp),D5
	move	D5,_FindType
	CLR.W	_TypeFound
	PEA	_IsType(PC)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UnitList
	ADDQ.W	#8,sp
	move	_TypeFound,D0
	MOVEM.L	(sp)+,D5-D7
	RTS
;
;
_IsType:
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	move	14(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	CMP.W	_FindType,D0
	BNE.S	L02D1
	ADDQ.W	#1,_TypeFound
L02D1:
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
_RoleInStack
	MOVEM.L	D5-D7,-(sp)
	move	16(sp),D7
	move	18(sp),D6
	move	20(sp),D5
	move	D5,_FindType
	CLR.W	_TypeFound
	PEA	_IsRole(PC)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UnitList
	ADDQ.W	#8,sp
	move	_TypeFound,D0
	MOVEM.L	(sp)+,D5-D7
	RTS
;
;
_IsRole:
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	move	14(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	move	30(A0),D0
	CMP.W	_FindType,D0
	BNE.S	L02D4
	ADDQ.W	#1,_TypeFound
L02D4:
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
_CanTransport:
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	move	14(sp),D6
	CLR.W	_TypeFound
	PEA	_Transport(PC)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_UnitList
	ADDQ.W	#8,sp
	move	_TypeFound,D0
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_Transport
	LINK	A6,#-8
	MOVEM.L	A2/D6-D7,-(sp)
	move	28(sp),D7
	move	30(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	TST.W	14(A2)
	BNE.S	L02D7
	SUBQ.W	#1,_TypeFound
L02D7:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A2
	MOVE.B	3(A2),D1
	EXT.W	D1
	EXT.L	D1
	MOVE.L	D0,16(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVEQ	#5,D0
	CMP.W	30(A2),D0
	BNE.S	L02D8
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	16(sp),D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	move	28(A1),D0
	ADD.W	D0,_TypeFound
L02D8:
	MOVEM.L	(sp)+,A2/D6-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_UnitList:
	LINK	A6,#-$A
	MOVEM.L	A5/D4-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	MOVEA.L	12(A6),A5
	MOVEQ	#0,D4
	MOVE.L	D6,D5
L02DA:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	10(A0),D0
	EXT.W	D0
	move	D6,-(sp)
	move	D7,-(sp)
	move	D0,-6(A6)
	JSR	(A5)
	ADDQ.W	#4,sp
	move	-6(A6),D6
	MOVEQ	#-1,D0
	CMP.W	D0,D6
	BEQ.S	L02DB
	CMP.W	D5,D6
	BEQ.S	L02DB
	ADDQ.W	#1,D4
	MOVEQ	#$A,D0
	CMP.W	D0,D4
	BLT.S	L02DA
L02DB:
	MOVEM.L	(sp)+,A5/D4-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_AlertMe
	LINK	A6,#-$A
	MOVEM.L	D6-D7/D2,-(sp)
	move	30(sp),D7
	move	32(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,16(sp)
	MOVE.L	D2,D0
	move	D1,20(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	16(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	22(sp),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE.S	L02DD
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BEQ.S	L02DE
L02DD:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	BCLR	#0,(A0)
L02DE:
	MOVEM.L	(sp)+,D6-D7/D2
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_WakeUp:
	LINK	A6,#-8
	MOVEM.L	A2-A3/D6-D7/D2,-(sp)
	move	36(sp),D7
	move	38(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,24(sp)
	BTST	#0,(A1)
	BEQ	L02E0
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	24(sp),D0
	ADDA.L	D0,A1
	BCLR	#0,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	24(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	24(sp),D0
	ADDA.L	D0,A2
	MOVE.B	3(A2),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	move	16(A3),D0
	ADD.W	D0,D0
	ADD.W	16(A3),D0
	MOVE.B	D0,4(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	24(sp),D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	MOVEA.L	A2,A1
	ADDA.L	D0,A1
	TST.W	18(A1)
	BEQ.S	L02E0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	24(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A3
	ADDA.L	D0,A3
	ADDA.L	24(sp),A3
	MOVE.B	3(A3),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A2
	move	18(A2),D0
	SUBQ.W	#1,D0
	MOVE.B	D0,5(A1)
L02E0:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,24(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#-1,D0
	MOVE.B	D0,8(A0)
	MOVE.B	D0,6(A1)
	MOVEM.L	(sp)+,A2-A3/D6-D7/D2
	UNLK	A6
	RTS
;
;
_ResetShip
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	move	14(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#2,D0
	CMP.W	14(A0),D0
	BNE.S	L02E2
	move	D6,-(sp)
	move	D7,-(sp)
	BSR	_Reset
	ADDQ.W	#4,sp
L02E2:
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_Reset
	LINK	A6,#-8
	MOVEM.L	A2/D6-D7/D2,-(sp)
	move	32(sp),D7
	move	34(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#-$3E,D2
	AND.B	(A1),D2
	MOVE.L	D0,20(sp)
	TST.B	D2
	BEQ.S	L02E4
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	20(sp),D0
	ADDA.L	D0,A1
	CLR.B	5(A1)
L02E4:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVEQ	#-$35,D2
	AND.B	(A1),D2
	MOVE.L	D0,20(sp)
	TST.B	D2
	BEQ.S	L02E5
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	20(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	ADDA.L	20(sp),A2
	MOVE.B	3(A2),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A2
	ADDA.L	D0,A2
	move	16(A2),D0
	ADD.W	D0,D0
	ADD.W	16(A2),D0
	MOVE.B	D0,4(A1)
L02E5:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D2
	ANDI.W	#-$D0,D2
	MOVE.B	D2,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,20(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	20(sp),D0
	ADDA.L	D0,A0
	MOVE.B	#-1,6(A0)
	move	_Player,D0
	CMP.W	D7,D0
	BNE.S	L02E6
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_ShowUnit
	ADDQ.W	#4,sp
L02E6:
	MOVEM.L	(sp)+,A2/D6-D7/D2
	UNLK	A6
	RTS
;
;
_KillGround:
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	move	14(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	14(A0)
	BNE.S	L02E8
	move	D6,-(sp)
	move	D7,-(sp)
	BSR	_RemoveUnit
	ADDQ.W	#4,sp
L02E8:
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
_KillXGround
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	move	14(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	14(A0)
	BEQ.S	L02EA
	move	D6,-(sp)
	move	D7,-(sp)
	BSR	_RemoveUnit
	ADDQ.W	#4,sp
L02EA:
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
_KillAir
	MOVEM.L	D6-D7,-(sp)
	move	12(sp),D7
	move	14(sp),D6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	CMP.W	14(A0),D0
	BNE.S	L02EC
	move	D6,-(sp)
	move	D7,-(sp)
	BSR	_RemoveUnit
	ADDQ.W	#4,sp
L02EC:
	MOVEM.L	(sp)+,D6-D7
	RTS
;
;
_ScrollMap
	MOVEM.L	D4-D7,-(sp)
	move	20(sp),D7
	move	22(sp),D6
	move	24(sp),D5
	MOVEQ	#0,D4
	MOVEQ	#$10,D0
	CMP.W	D0,D6
	BGE.S	L02EE
	move	_XMap,D0
	MOVEQ	#$40,D1
	CMP.W	D1,D0
	BLE.S	L02EE
	ADDI.W	#$50,D6
L02EE:
	move	_XMap,D0
	MOVE.L	D0,D1
	ADDQ.W	#2,D1
	CMP.W	D6,D1
	BGT.S	L02EF
	ADDI.W	#$D,D0
	CMP.W	D6,D0
	BGE.S	L02F0
L02EF:
	MOVEQ	#1,D4
L02F0:
	move	_YMap,D0
	MOVE.L	D0,D1
	ADDQ.W	#2,D1
	CMP.W	D5,D1
	BGT.S	L02F1
	ADDI.W	#9,D0
	CMP.W	D5,D0
	BGE.S	L02F2
L02F1:
	MOVEQ	#1,D4
L02F2:
	TST.W	D4
	BEQ.S	L02F3
	MOVE.L	D6,D0
	SUBQ.W	#8,D0
	move	D0,-(sp)
	JSR	_xrange
	MOVE.L	D5,D1
	SUBQ.W	#6,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_ShowMap
	ADDQ.W	#8,sp
L02F3:
	MOVEM.L	(sp)+,D4-D7
	RTS
;
;----------------------------------------------------------------------------
;test for move between threatened squares
;
_ZOC:
	MOVEM.L	D5-D7,-(sp)
	move	16(sp),D7
	move	18(sp),D6
	move	20(sp),D5
	move	D5,-(sp)
	move	D6,-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BEQ.S	L02F5
	MOVEQ	#0,D0
	BRA.S	L02F6
;
L02F5:
	move	D5,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_ZOC2
	ADDQ.W	#6,sp
L02F6:
	MOVEM.L	(sp)+,D5-D7
	RTS
;
;----------------------------------------------------------------------------
;
_ZOC2:
	LINK	A6,#-$1C
	MOVEM.L	D2-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	move	D5,-(sp)
	move	D6,-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#1,D4
	move	D0,-6(A6)
L02F8:
	MOVEQ	#9,D0
	CMP.W	D0,D4
	BGE	L02FC
	MOVE.L	D4,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	ADD.W	(A0),D0
	move	D0,-(sp)
	JSR	_xrange
	MOVE.L	D4,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveY,A0
	ADDA.L	D1,A0
	MOVE.L	D5,D1
	ADD.W	(A0),D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D0,-8(A6)
	move	D1,-10(A6)
	JSR	_TerAt
	ADDQ.W	#6,sp
	MOVEQ	#$A,D2
	CMP.W	D2,D0
	SEQ	D1
	ANDI.W	#1,D1
	CMP.W	-6(A6),D2
	SEQ	D0
	ANDI.W	#1,D0
	CMP.W	D0,D1
	BNE	L02FB
	move	-10(A6),-(sp)
	move	-8(A6),-(sp)
	JSR	_IsUnitAt
	ADDQ.W	#4,sp
	move	D0,-4(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L02FB
	CMP.W	D7,D0
	BEQ	L02FB
	CMP.W	_Player,D7
	BNE	L02FA
	move	-10(A6),-(sp)
	move	-8(A6),-(sp)
	JSR	_UnitAt
	ADDQ.W	#4,sp
	move	-4(A6),D1
	EXT.L	D1
	move	D0,-12(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-12(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#1,D1
	move	_Player,D2
	ASL.W	D2,D1
	MOVE.B	9(A1),D2
	EXT.W	D2
	AND.W	D1,D2
	MOVE.L	D0,28(sp)
	move	D1,36(sp)
	TST.W	D2
	BNE.S	L02F9
	move	-4(A6),D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	28(sp),D0
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	move	36(sp),D1
	MOVE.L	D0,D2
	OR.W	D1,D2
	MOVE.B	D2,9(A0)
	move	-8(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-10(A6),D0
	ADDA.W	D0,A0
	MOVE.B	(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	36(sp),D2
	MOVE.B	D2,(A0)
	move	D0,-(sp)
	move	-8(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L02F9:
	move	-10(A6),-(sp)
	move	-8(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BEQ	L02FA
	move	-10(A6),-(sp)
	move	-8(A6),-(sp)
	JSR	_FindCity
	move	D0,-14(A6)
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-14(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),8(A1)
	move	-10(A6),(sp)
	move	-8(A6),-(sp)
	JSR	_SynchSpecial
	move	-8(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-10(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	move	_Player,D2
	ASL.W	D2,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	MOVE.L	D2,D3
	OR.W	D1,D3
	MOVE.B	D3,(A0)
	move	D0,(sp)
	move	-8(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#8,sp
L02FA:
	MOVEQ	#1,D0
	BRA.S	L02FD
;
L02FB:
	ADDQ.W	#1,D4
	BRA	L02F8
;
L02FC:
	MOVEQ	#0,D0
L02FD:
	MOVEM.L	(sp)+,D2-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_ZOC3:
	LINK	A6,#-8
	MOVEM.L	D4-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	MOVEQ	#1,D4
L02FF:
	MOVEQ	#9,D0
	CMP.W	D0,D4
	BGE.S	L0301
	MOVE.L	D4,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	ADD.W	(A0),D0
	move	D0,-(sp)
	JSR	_xrange
	MOVE.L	D4,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveY,A0
	ADDA.L	D1,A0
	MOVE.L	D5,D1
	ADD.W	(A0),D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D0,-6(A6)
	move	D1,-8(A6)
	JSR	_IsUnitAt
	ADDQ.W	#6,sp
	move	D0,-4(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0300
	CMP.W	D7,D0
	BEQ.S	L0300
	MOVEQ	#1,D0
	BRA.S	L0302
;
L0300:
	ADDQ.W	#1,D4
	BRA.S	L02FF
;
L0301:
	MOVEQ	#0,D0
L0302:
	MOVEM.L	(sp)+,D4-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_SurpriseMe:
	LINK	A6,#-$20
	MOVEM.L	A2/D5-D7/D2,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	TST.W	D7
	BEQ	L0316
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	CMP.W	14(A1),D0
	BEQ	L0316
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,24(sp)
	MOVE.L	D2,D0
	move	D1,28(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	30(sp),-(sp)
	JSR	_FindCloseCity
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-12(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	move	-12(A6),D2
	EXT.L	D2
	MOVE.L	D0,28(sp)
	MOVE.L	D2,D0
	move	D1,32(sp)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A2),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,34(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	28(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	-12(A6),D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A1),D0
	move	D0,(sp)
	move	36(sp),-(sp)
	move	36(sp),-(sp)
	move	36(sp),-(sp)
	JSR	_mapdist
	MOVEQ	#4,D1
	move	D1,(sp)
	move	D0,-14(A6)
	JSR	_rnd
	LEA	10(sp),sp
	CMPI.W	#5,D0
	BHS	L0316
	ADD.W	D0,D0
	move	hut_alt_t(PC,D0.W),D0
	JMP	hut_alt_t+2(PC,D0.W)
;
hut_alt_t:
L0304:
	dc.w	hut_advanced_tribe-hut_alt_t-2
L0305:
	dc.w	hut_scrolls-hut_alt_t-2,hut_valuable_metal-hut_alt_t-2
	dc.w	hut_barbarians-hut_alt_t-2,hut_friendly_tribe-hut_alt_t-2
;
;
hut_advanced_tribe:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	ADDI.W	#$50,D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,24(sp)
	MOVE.L	D2,D0
	move	D1,28(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	30(sp),-(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	JSR	_GetPixel
	ADDQ.W	#6,sp
	ANDI.W	#7,D0
	MOVEM.W	D0,-18(A6)
	CMPI.W	#4,-14(A6)
	BLT	hut_friendly_tribe
	MOVEQ	#4,D1
	CMP.W	D1,D0
	BLE	hut_valuable_metal
	PEA	hut_advanced_tribe_s
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	CMP.W	_Player,D7
	BNE.S	L0306
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	ADDQ.W	#8,sp
L0306:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,24(sp)
	MOVE.L	D2,D0
	move	D1,28(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	MOVEQ	#1,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	32(sp),-(sp)
	CLR.W	-(sp)
	move	D7,-(sp)
	JSR	_AddCity
	LEA	10(sp),sp
	move	_Player,D0
	CMP.W	D7,D0
	BNE	L0316
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,24(sp)
	MOVE.L	D2,D0
	move	D1,28(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	30(sp),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
	BRA	L0316
;
hut_scrolls:
	TST.W	_Rtime
	BEQ	hut_valuable_metal
	CMPI.W	#1000,_Year
	BGT	hut_valuable_metal
	PEA	hut_scrolls_s
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	CMP.W	_Player,D7
	BNE.S	L0307
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	ADDQ.W	#8,sp
L0307:
	CLR.W	-16(A6)
hut_scroll_fix_1:		;;;new retry loop target, for use with improved random functions
	MOVEQ	#$48,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	move	D0,-10(A6)	;store new Civ advance index as -10(a6)
L0308:				;loop start for retries
	move	-10(A6),-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized	;Does Civ already have this 'new' advance ?
	ADDQ.W	#4,sp
	TST.W	D0
	BNE.S	L0309		;if Civ already has it, go skip the 'new' advance
	move	-10(A6),D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.B	20(A0),D0	;d0 = index of primary required previous advance
	EXT.W	D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized	;does Civ have the primary required advance ?
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0309		;if Civ lacks needed previous advance go skip the new one
	move	-10(A6),D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.B	21(A0),D0	;d0 = index of secondary required previous advance
	EXT.W	D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized	;does Civ have the secondary required advance ?
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0309		;if Civ lacks needed previous advance go skip the new one
	CLR.W	-(sp)
	move	-10(A6),-(sp)
	move	D7,-(sp)
	JSR	_HasCivilized
	ADDQ.W	#6,sp
	MOVEQ	#-1,D0
	move	D0,-10(A6)	;-10(a6) = success flag
	BRA.S	L030A
;
L0309:				;here we come at failure to give an advance
	ADDQ.W	#1,-10(A6)	;increment advance index
	move	-10(A6),D0	;\
	EXT.L	D0		; \
	DIVS	#$48,D0		;  > limit index to legal advance codes
	SWAP	D0		; /
	move	D0,-10(A6)	;/
L030A:
	ADDQ.W	#1,-16(A6)
	CMPI.W	#999,-16(A6)		;999 attempts to give advance ?
	BGE	L0316			;then give up (happens if Civ already has all advances)
	MOVEQ	#-1,D0			;d0 = success flag
	CMP.W	-10(A6),D0		;did we flag success earlier ?
hut_scroll_fix_2:			;;;patch to 'bne hut_scroll_fix_1'
	BNE	L0308			;if not, loop back to retry some other advance
	BRA	L0316			
;
;;;hut_scroll_fix_1 = L0307+4
;;;hut_scroll_fix_2 = L030B-8, but patch offset is at this address plus 2, (==L030B-6)
;
hut_valuable_metal:
L030B:
	PEA	hut_valuable_metal_s
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	CMP.W	_Player,D7
	BNE.S	L030C
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	ADDQ.W	#8,sp
L030C:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	ADDA.L	D0,A0
	MOVEQ	#$32,D0
	ADD.W	D0,(A0)
	BRA	L0316
;
hut_barbarians:
	CMPI.W	#4,-14(A6)
	BLT	hut_friendly_tribe
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncity,A0
	ADDA.L	D0,A0
	TST.W	(A0)
	BEQ	hut_friendly_tribe
	PEA	hut_barbarians_s
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	CMP.W	_Player,D7
	BNE.S	L030D
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	ADDQ.W	#8,sp
L030D:
	move	#1,-4(A6)
L030E:
	move	-4(A6),D0
	MOVEQ	#8,D1
	CMP.W	D1,D0
	BGT	L0316
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	move	-4(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveX,A2
	ADDA.L	D1,A2
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	ADD.W	(A2),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,24(sp)
	MOVE.L	D2,D0
	move	D1,-6(A6)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveY,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	ADD.W	(A1),D0
	move	D0,-(sp)
	move	-6(A6),-(sp)
	move	D0,-8(A6)
	JSR	_IsUnitAt
	ADDQ.W	#4,sp
	ADDQ.W	#1,D0
	BNE	L0311
	move	-8(A6),-(sp)
	move	-6(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BNE	L0311
	move	-8(A6),-(sp)
	move	-6(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BEQ	L0311
	move	-8(A6),-(sp)
	move	-6(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	EXT.L	D0
	MOVEQ	#$13,D1
	JSR	__CXM22
	LEA	_tr,A0
	ADDA.L	D0,A0
	CMPI.B	#2,12(A0)
	BLE.S	L030F
	MOVEQ	#3,D0
	BRA.S	L0310
;
L030F:
	MOVEQ	#6,D0
L0310:
	MOVE.L	D0,D5
	move	-8(A6),-(sp)
	move	-6(A6),-(sp)
	move	D5,-(sp)
	CLR.W	-(sp)
	BSR	_AddUnit
	ADDQ.W	#8,sp
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	ASL.W	D7,D0
	MOVE.B	9(A0),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	D0,D2
	MOVE.B	D2,9(A0)
	CMP.W	_Player,D7
	BNE.S	L0311
	move	-8(A6),-(sp)
	move	-6(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0311:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncity,A0
	ADDA.L	D0,A0
	MOVEQ	#4,D0
	MOVE.L	D0,D1
	SUB.W	(A0),D1
	move	D0,-(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	ADD.W	D0,-4(A6)
	BRA	L030E
;
hut_friendly_tribe:
L0312:
	PEA	hut_friendly_tribe_s
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	CMP.W	_Player,D7
	BNE.S	L0313
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	ADDQ.W	#8,sp
L0313:
	MOVEQ	#2,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	TST.W	D0
	BEQ.S	L0314
	MOVEQ	#3,D0
	BRA.S	L0315
;
L0314:
	MOVEQ	#6,D0
L0315:
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,20(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,26(sp)
	MOVE.L	D2,D0
	move	D1,30(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	26(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	MOVEQ	#1,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	34(sp),-(sp)
	move	26(sp),-(sp)
	move	D7,-(sp)
	BSR	_AddUnit
	LEA	10(sp),sp
	move	_Player,D0
	CMP.W	D7,D0
	BNE.S	L0316
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,24(sp)
	MOVE.L	D2,D0
	move	D1,28(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	30(sp),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
L0316:
	MOVEM.L	(sp)+,A2/D5-D7/D2
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_MoveUnit:
	LINK	A6,#-$14
	MOVEM.L	A2/D2-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	MOVEQ	#1,D0
	CMP.W	_MapView,D0
	BNE.S	L0318
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,32(sp)
	MOVE.L	D2,D0
	move	D1,36(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_RestoreBlock
	BRA	L031D
;
L0318:
	JSR	_hidemouse
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,32(sp)
	MOVE.L	D2,D0
	move	D1,36(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_RestoreBlock
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L031C
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,32(sp)
	MOVE.L	D2,D0
	move	D1,36(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_OnScreen
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L031C
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D5,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveX,A2
	ADDA.L	D1,A2
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	ADD.W	(A2),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,32(sp)
	MOVE.L	D2,D0
	move	D1,36(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveY,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	ADD.W	(A1),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_OnScreen
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L031C
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D0,32(sp)
	CMPI.B	#-1,10(A1)
	BEQ	L031A
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	32(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	move	D1,36(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	32(sp),A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BNE.S	L0319
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A2
	MOVE.B	10(A2),D0
	EXT.W	D0
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.B	3(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	MOVEQ	#2,D0
	CMP.W	14(A1),D0
	BNE.S	L031A
L0319:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	10(A0),D0
	EXT.W	D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_ShowUnit
	ADDQ.W	#4,sp
L031A:
	MOVEQ	#0,D0
	move	D0,-(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	MOVE.L	_RpBack,-(sp)
	move	#$C8,D2
	move	D2,-(sp)
	move	#$F0,D3
	move	D3,-(sp)
	move	D0,-(sp)
	move	D1,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectCopy
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	1(A0),D0
	SUB.W	_XMap,D0
	move	D0,(sp)
	JSR	_xrange
	LEA	20(sp),sp
	ASL.W	#4,D0
	ADDI.W	#$50,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-4(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	SUB.W	_YMap,D0
	ASL.W	#4,D0
	ADDQ.W	#8,D0
	MOVEQ	#0,D4
	move	D0,-6(A6)
L031B:
	MOVEQ	#$10,D0
	CMP.W	D0,D4
	BGT	L031C
	MOVE.L	D7,D0
	ASL.W	#5,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,28(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	move	28(sp),D1
	ADD.W	D0,D1
	ADDI.W	#$40,D1
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	move	(A0),D0
	MULS	D4,D0
	move	-4(A6),D2
	ADD.W	D0,D2
	ADDQ.W	#1,D2
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveY,A0
	ADDA.L	D0,A0
	MOVE.L	D4,D0
	MULS	(A0),D0
	move	-6(A6),D3
	ADD.W	D0,D3
	ADDQ.W	#1,D3
	move	D3,-(sp)
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_DoSprite
	MOVEQ	#1,D0
	JSR	_WaitTicks
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	(A1),D0
	MULS	D4,D0
	move	-4(A6),D1
	ADD.W	D1,D0
	MOVE.L	D5,D2
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_MoveY,A1
	MOVEA.L	A1,A2
	ADDA.L	D2,A2
	move	(A2),D2
	MULS	D4,D2
	move	-6(A6),D3
	ADD.W	D3,D2
	MOVE.L	D5,D3
	EXT.L	D3
	ADD.L	D3,D3
	ADDA.L	D3,A0
	move	(A0),D3
	MULS	D4,D3
	ADD.W	D3,D1
	MOVE.L	D5,D3
	EXT.L	D3
	ADD.L	D3,D3
	ADDA.L	D3,A1
	MOVE.L	D4,D3
	MULS	(A1),D3
	move	D1,38(sp)
	move	-6(A6),D1
	ADD.W	D3,D1
	move	D1,(sp)
	move	38(sp),-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#$10,D3
	move	D3,-(sp)
	move	D3,-(sp)
	move	D2,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpBack,-(sp)
	JSR	_RectCopy
	LEA	24(sp),sp
	ADDQ.W	#1,D4
	BRA	L031B
;
L031C:
	JSR	_showmouse
L031D:
	MOVEM.L	-48(A6),A2/D2-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_WakeStack
	LINK	A6,#-$30
	MOVEM.L	A2/D2-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	JSR	_hidemouse
	JSR	_SaveScreen
	move	D6,-(sp)
	move	D7,-(sp)
	BSR	_FindDefender
	ADDQ.W	#4,sp
	MOVEQ	#0,D5
	move	D6,-4(A6)
	CLR.W	-36(A6)
	move	D0,-10(A6)
L031F:
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	move	-4(A6),D1
	move	D1,-34(A6,D0.L)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	10(A0),D0
	EXT.W	D0
	move	D0,-4(A6)
	ADDQ.W	#1,D5
	MOVEQ	#$C,D0
	CMP.W	D0,D5
	BGE.S	L0320
	move	-4(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0320
	CMP.W	D6,D0
	BNE.S	L031F
L0320:
	MOVE.L	D5,D0
	ASL.W	#3,D0
	MOVEQ	#$60,D1
	SUB.W	D0,D1
	move	D1,-6(A6)
L0321:
	MOVE.L	D5,D0
	ASL.W	#4,D0
	ADDQ.W	#5,D0
	MOVEQ	#3,D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#$78,D2
	move	D2,-(sp)
	move	-6(A6),-(sp)
	MOVEQ	#$64,D3
	move	D3,-(sp)
	JSR	_Window
	LEA	10(sp),sp
	MOVEQ	#0,D5
	move	D6,-4(A6)
	move	-6(A6),D0
	ADDQ.W	#5,D0
	move	D0,-8(A6)
L0322:
	move	-8(A6),-(sp)
	MOVEQ	#$6A,D0
	move	D0,-(sp)
	move	-4(A6),-(sp)
	move	D7,-(sp)
	JSR	_DrawUnit
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcpy
	LEA	12(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	BTST	#5,(A0)
	BEQ.S	L0323
	PEA	L1B50
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
L0323:
	MOVEQ	#$F,D0
	move	D0,-(sp)
	move	-8(A6),-(sp)
	move	#$80,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_jPrint
	CLR.B	_XEB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	move	D0,(sp)
	JSR	_CityName
	move	-8(A6),D0
	ADDQ.W	#8,D0
	MOVEQ	#$E,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	#$80,D2
	move	D2,-(sp)
	PEA	_XEB
	JSR	_jPrint
	LEA	18(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	10(A0),D0
	EXT.W	D0
	MOVEQ	#$10,D1
	ADD.W	D1,-8(A6)
	move	D0,-4(A6)
	ADDQ.W	#1,D5
	MOVEQ	#$C,D0
	CMP.W	D0,D5
	BGE.S	L0324
	move	-4(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0324
	CMP.W	D6,D0
	BNE	L0322
L0324:
	JSR	_showmouse
	JSR	_DeBounce
	TST.W	_HasMouse
	BEQ.S	L0326
L0325:
	JSR	_getmouse
	TST.W	mouse_butts
	BNE	L032C
	JSR	_kbhit
	TST.W	D0
	BEQ.S	L0325
	BRA	L032C
;
L0326:
	move	-36(A6),D0
	ASL.W	#4,D0
	move	-6(A6),D1
	ADD.W	D0,D1
	ADDQ.W	#4,D1
	MOVEQ	#$B,D0
	move	D0,-(sp)
	MOVEQ	#3,D2
	move	D2,-(sp)
	MOVEQ	#$11,D3
	move	D3,-(sp)
	MOVEQ	#$70,D4
	move	D4,-(sp)
	move	D1,-(sp)
	MOVEQ	#$69,D0
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ChangeColor
	move	-36(A6),-38(A6)
	JSR	_GetCleanKey
	LEA	16(sp),sp
	move	D0,-40(A6)
	SUBI.W	#$4800,D0
	BEQ.S	L0327
	SUBI.W	#$800,D0
	BEQ.S	L0328
	BRA.S	L0329
;
L0327:
	TST.W	-36(A6)
	BEQ.S	L0329
	SUBQ.W	#1,-36(A6)
	BRA.S	L0329
;
L0328:
	MOVE.L	D5,D0
	SUBQ.W	#1,D0
	move	-36(A6),D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BGE.S	L0329
	ADDQ.W	#1,-36(A6)
L0329:
	move	-38(A6),D0
	ASL.W	#4,D0
	move	-6(A6),D1
	ADD.W	D0,D1
	ADDQ.W	#4,D1
	MOVEQ	#3,D0
	move	D0,-(sp)
	MOVEQ	#$B,D2
	move	D2,-(sp)
	MOVEQ	#$11,D3
	move	D3,-(sp)
	MOVEQ	#$70,D4
	move	D4,-(sp)
	move	D1,-(sp)
	MOVEQ	#$69,D0
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ChangeColor
	LEA	16(sp),sp
	move	-40(A6),D0
	MOVEQ	#$D,D1
	CMP.W	D1,D0
	BEQ.S	L032A
	MOVEQ	#$20,D1
	CMP.W	D1,D0
	BNE.S	L032B
L032A:
	move	-36(A6),-4(A6)
	BRA.S	L032D
;
L032B:
	MOVEQ	#$1B,D0
	CMP.W	-40(A6),D0
	BNE	L0326
L032C:
	JSR	_hidemouse
	MOVEQ	#1,D0
	CMP.W	mouse_butts,D0
	BNE	L032F
	move	mouse_X,D0
	MOVEQ	#$64,D1
	CMP.W	D1,D0
	BLE	L032F
	CMPI.W	#$DC,D0
	BGE	L032F
	move	mouse_Y,D0
	SUB.W	-6(A6),D0
	SUBQ.W	#5,D0
	EXT.L	D0
	DIVS	#$10,D0
	move	D0,-4(A6)
L032D:
	move	-4(A6),D0
	TST.W	D0
	BMI	L032F
	CMP.W	D5,D0
	BGE	L032F
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	move	-34(A6,D1.L),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-10(A6)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-10(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVEQ	#-$3E,D3
	AND.B	(A1),D3
	MOVE.L	D1,32(sp)
	TST.B	D3
	BEQ.S	L032E
	MOVE.L	D7,D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	32(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	ADDA.L	32(sp),A2
	MOVE.B	3(A2),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A2
	ADDA.L	D0,A2
	move	16(A2),D0
	ADD.W	D0,D0
	ADD.W	16(A2),D0
	MOVE.B	D0,4(A1)
L032E:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-10(A6),D0
	MULS	D2,D0
	ADDA.L	D0,A1
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D2
	ANDI.W	#-$D0,D2
	MOVE.B	D2,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,32(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	32(sp),D0
	ADDA.L	D0,A0
	MOVE.B	#-1,6(A0)
	MOVEQ	#1,D0
	CMP.W	D0,D5
	BGT	L0321
L032F:
	JSR	_RestoreScreen
	JSR	_showmouse
	JSR	_DeBounce
	move	-10(A6),D0
	MOVEM.L	(sp)+,A2/D2-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_GoHome:
	LINK	A6,#-$20
	MOVEM.L	A2/D5-D7/D2,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	#$3E7,-4(A6)
	move	#-1,-6(A6)
	MOVEQ	#0,D5
L0331:
	CMPI.W	#$80,D5
	BGE	L0335
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ	L0334
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE	L0334
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	1(A1),D0
	MOVEQ	#0,D1
	MOVE.B	4(A0),D1
	SUB.W	D1,D0
	move	D0,-(sp)
	JSR	_abs
	ADDQ.W	#2,sp
	move	D0,-10(A6)
	MOVEQ	#$28,D1
	CMP.W	D1,D0
	BLE.S	L0332
	MOVEQ	#$50,D1
	SUB.W	D0,D1
	move	D1,-10(A6)
L0332:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	MOVEQ	#0,D1
	MOVE.B	5(A1),D1
	SUB.W	D1,D0
	move	D0,-(sp)
	JSR	_abs
	ADDQ.W	#2,sp
	move	D0,-12(A6)
	move	-10(A6),D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BGT.S	L0333
	MOVE.L	D0,D1
L0333:
	move	D1,-14(A6)
	CMP.W	-4(A6),D1
	BGE.S	L0334
	MOVE.L	D5,D0
	EXT.L	D0
	move	D1,-4(A6)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D5,D1
	EXT.L	D1
	move	D0,-18(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D5,-6(A6)
	move	D0,-20(A6)
L0334:
	ADDQ.W	#1,D5
	BRA	L0331
;
L0335:
	CLR.W	-22(A6)
L0336:
	move	-22(A6),D0
	CMPI.W	#$80,D0
	BGE	L033A
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-22(A6),D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D0,24(sp)
	MOVEQ	#$17,D2
	CMP.B	3(A1),D2
	BNE	L0339
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	1(A1),D0
	MOVEQ	#0,D1
	MOVE.B	1(A0),D1
	SUB.W	D1,D0
	move	D0,-(sp)
	JSR	_abs
	ADDQ.W	#2,sp
	move	D0,-10(A6)
	MOVEQ	#$28,D1
	CMP.W	D1,D0
	BLE.S	L0337
	MOVEQ	#$50,D1
	SUB.W	D0,D1
	move	D1,-10(A6)
L0337:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-22(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A1),D0
	MOVEQ	#0,D1
	MOVE.B	2(A0),D1
	SUB.W	D1,D0
	move	D0,-(sp)
	JSR	_abs
	ADDQ.W	#2,sp
	move	D0,-12(A6)
	move	-10(A6),D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BGT.S	L0338
	MOVE.L	D0,D1
L0338:
	move	D1,-14(A6)
	CMP.W	-4(A6),D1
	BGE.S	L0339
	MOVE.L	D7,D0
	EXT.L	D0
	move	D1,-4(A6)
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-22(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,24(sp)
	MOVE.L	D2,D0
	move	D1,-18(A6)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-20(A6)
L0339:
	ADDQ.W	#1,-22(A6)
	BRA	L0336
;
L033A:
	CLR.W	-8(A6)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	SUB.W	-18(A6),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,24(sp)
	MOVE.L	D2,D0
	move	D1,28(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	SUB.W	-20(A6),D0
	move	D0,-(sp)
	move	30(sp),-(sp)
	JSR	_xydist2
	ADDQ.W	#4,sp
	move	#1,-16(A6)
	move	D0,-4(A6)
L033B:
	move	-16(A6),D0
	MOVEQ	#8,D1
	CMP.W	D1,D0
	BGT	L033F
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	move	-16(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveX,A2
	ADDA.L	D1,A2
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	ADD.W	(A2),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,24(sp)
	MOVE.L	D2,D0
	move	D1,-10(A6)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	24(sp),D0
	ADDA.L	D0,A0
	move	-16(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveY,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	ADD.W	(A1),D0
	move	D0,-(sp)
	move	-10(A6),-(sp)
	move	D0,-12(A6)
	JSR	_IsUnitAt
	ADDQ.W	#4,sp
	MOVE.L	D0,D5
	MOVEQ	#-1,D0
	CMP.W	D0,D5
	BEQ.S	L033C
	CMP.W	D7,D5
	BNE.S	L033E
L033C:
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BEQ.S	L033D
	move	-12(A6),-(sp)
	move	-10(A6),-(sp)
	JSR	_WhoOwns
	ADDQ.W	#4,sp
	CMP.W	D7,D0
	BNE.S	L033E
L033D:
	move	-10(A6),D0
	SUB.W	-18(A6),D0
	move	-12(A6),D1
	SUB.W	-20(A6),D1
	move	D1,-(sp)
	move	D0,-(sp)
	JSR	_xydist2
	ADDQ.W	#4,sp
	move	D0,-14(A6)
	CMP.W	-4(A6),D0
	BGE.S	L033E
	move	-16(A6),-8(A6)
	move	D0,-4(A6)
L033E:
	ADDQ.W	#1,-16(A6)
	BRA	L033B
;
L033F:
	move	-8(A6),D0
	MOVEM.L	(sp)+,A2/D5-D7/D2
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_AddReplay
	LINK	A6,#0
	MOVEM.L	D4-D7/D2,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	move	14(A6),D4
	MOVE.L	D6,D0
	move	_Rwilly,D1
	ADD.W	D1,D0
	ADDQ.W	#2,D0
	CMPI.W	#$1000,D0
	BGE	L0344
	LEA	_ReplayData,A0
	MOVEA.L	A0,A1
	ADDA.W	D1,A1
	ADDQ.W	#1,_Rwilly
	MOVE.L	D7,D0
	ASL.W	#4,D0
	move	_Rtime,D1
	MOVE.L	D1,D2
	ASR.W	#8,D2
	ADD.W	D2,D0
	MOVE.B	D0,(A1)
	MOVEA.L	A0,A1
	ADDA.W	_Rwilly,A1
	ADDQ.W	#1,_Rwilly
	move	#$FF,D0
	AND.W	_Rtime,D0
	MOVE.B	D0,(A1)
	TST.W	D6
	BLE.S	L0341
	MOVEA.L	A0,A1
	ADDA.W	_Rwilly,A1
	ADDQ.W	#1,_Rwilly
	MOVE.L	D5,D0
	MOVE.B	D0,(A1)
L0341:
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BLE.S	L0342
	MOVEA.L	A0,A1
	ADDA.W	_Rwilly,A1
	ADDQ.W	#1,_Rwilly
	MOVE.L	D4,D1
	MOVE.B	D1,(A1)
L0342:
	MOVEQ	#2,D1
	CMP.W	D1,D6
	BLE.S	L0343
	MOVEA.L	A0,A1
	ADDA.W	_Rwilly,A1
	ADDQ.W	#1,_Rwilly
	move	16(A6),D1
	MOVE.B	D1,(A1)
L0343:
	MOVEQ	#3,D1
	CMP.W	D1,D6
	BLE.S	L0344
	ADDA.W	_Rwilly,A0
	ADDQ.W	#1,_Rwilly
	move	18(A6),D0
	MOVE.B	D0,(A0)
L0344:
	MOVEM.L	(sp)+,D4-D7/D2
	UNLK	A6
	RTS
;
;
_SaveScreen:
	MOVE.L	D2,-(sp)
	MOVEQ	#0,D0
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpBack,-(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectCopy
	LEA	20(sp),sp
	MOVE.L	(sp)+,D2
	RTS
;
;
_RestoreScreen
	MOVE.L	D2,-(sp)
	MOVEQ	#0,D0
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpBack,-(sp)
	JSR	_RectCopy
	LEA	20(sp),sp
	MOVE.L	(sp)+,D2
	RTS
;
;
_Border:
	MOVEM.L	D2-D7,-(sp)
	MOVEQ	#2,D0
	move	D0,-(sp)
	JSR	_rnd
	ASL.W	#5,D0
	MOVE.L	D0,D7
	ADDI.W	#$C0,D7
	MOVEQ	#$78,D6
	MOVEQ	#0,D0
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#8,D1
	move	D1,-(sp)
	move	D1,-(sp)
	move	D6,-(sp)
	move	D7,-(sp)
	MOVE.L	_RpMap,-(sp)
	JSR	_RectCopy
	MOVE.L	D7,D0
	ADDQ.W	#8,D0
	CLR.W	(sp)
	move	#$138,D1
	move	D1,-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	move	D2,-(sp)
	move	D6,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpMap,-(sp)
	JSR	_RectCopy
	MOVE.L	D7,D0
	ADDI.W	#$18,D0
	move	#$C0,D1
	move	D1,(sp)
	move	#$138,D2
	move	D2,-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#8,D3
	move	D3,-(sp)
	move	D3,-(sp)
	move	D6,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpMap,-(sp)
	JSR	_RectCopy
	MOVE.L	D7,D0
	ADDI.W	#$10,D0
	move	#$C0,D1
	move	D1,(sp)
	CLR.W	-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	move	D2,-(sp)
	move	D6,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpMap,-(sp)
	JSR	_RectCopy
	LEA	76(sp),sp
	MOVEQ	#1,D5
L0348:
	MOVEQ	#$18,D0
	CMP.W	D0,D5
	BGE.S	L0349
	MOVE.L	D7,D0
	ADDI.W	#$18,D0
	MOVE.L	D6,D1
	ADDQ.W	#8,D1
	MOVE.L	D5,D2
	ASL.W	#3,D2
	move	D2,-(sp)
	CLR.W	-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#8,D3
	move	D3,-(sp)
	move	D3,-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpMap,-(sp)
	JSR	_RectCopy
	MOVE.L	D7,D0
	ADDQ.W	#8,D0
	MOVE.L	D6,D1
	ADDQ.W	#8,D1
	MOVE.L	D5,D2
	ASL.W	#3,D2
	move	D2,(sp)
	move	#$138,D3
	move	D3,-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#8,D4
	move	D4,-(sp)
	move	D4,-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpMap,-(sp)
	JSR	_RectCopy
	LEA	38(sp),sp
	ADDQ.W	#1,D5
	BRA.S	L0348
;
L0349:
	MOVEQ	#1,D5
L034A:
	MOVEQ	#$27,D0
	CMP.W	D0,D5
	BGE.S	L034B
	MOVE.L	D6,D0
	ADDQ.W	#8,D0
	MOVE.L	D5,D1
	ASL.W	#3,D1
	CLR.W	-(sp)
	move	D1,-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	move	D2,-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	MOVE.L	_RpMap,-(sp)
	JSR	_RectCopy
	MOVE.L	D7,D0
	ADDI.W	#$10,D0
	MOVE.L	D6,D1
	ADDQ.W	#8,D1
	MOVE.L	D5,D2
	ASL.W	#3,D2
	move	#$C0,D3
	move	D3,(sp)
	move	D2,-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#8,D4
	move	D4,-(sp)
	move	D4,-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpMap,-(sp)
	JSR	_RectCopy
	LEA	38(sp),sp
	ADDQ.W	#1,D5
	BRA.S	L034A
;
L034B:
	MOVEM.L	(sp)+,D2-D7
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_Production:
	LINK	A6,#-$10
	MOVEM.L	A2-A3/D4-D7,-(sp)
	move	8(A6),D7
	MOVEQ	#0,D0
	move	D0,_GoRepublic
	move	D0,_GoDespot
	MOVE.L	D0,D4
	MOVE.L	D0,D6
L034D:
	CMPI.W	#$80,D6
	BGE	L0353
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ	L0352
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE	L0352
L034E:
	CLR.W	-(sp)
	move	D6,-(sp)
	JSR	_CityEcon
	ADDQ.W	#4,sp
	TST.W	D0
	BNE.S	L034F
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#5,7(A1)
	BLE.S	L034F
	BSET	#0,D4
L034F:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BEQ.S	L0350
	BSET	#1,D4
L0350:
	TST.W	_UpdateCity
	BEQ.S	L0352
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	D6,-(sp)
	JSR	_CityEcon
	JSR	_ResetScreen
	ADDQ.W	#4,sp
	MOVEQ	#2,D0
	CMP.W	_UpdateCity,D0
	BNE.S	L0351
	MOVEQ	#0,D0
	move	D0,_UpdateCity
	BRA	L034E
;
L0351:
	CLR.W	_UpdateCity
L0352:
	ADDQ.W	#1,D6
	BRA	L034D
;
L0353:
	move	_Player,D0
	CMP.W	D7,D0
	BEQ	L0359
	BTST	#2,L216B
	BEQ	L0359
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Science,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#$A,D0
	SUB.W	(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Happy,A1
	MOVEA.L	A1,A2
	ADDA.L	D1,A2
	SUB.W	(A2),D0
	MOVE.L	D0,D5
	BTST	#1,D4
	BEQ.S	L0354
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	A1,A3
	ADDA.L	D0,A3
	move	(A2),D0
	ADD.W	(A3),D0
	MOVEQ	#6,D1
	CMP.W	D1,D0
	BLE.S	L0354
	ADDQ.W	#1,D5
L0354:
	MOVEQ	#3,D0
	AND.W	_Rtime,D0
	BNE.S	L0355
	TST.W	D4
	BNE.S	L0355
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A1),D0
	ADD.W	(A0),D0
	MOVEQ	#8,D1
	CMP.W	D1,D0
	BGE.S	L0355
	SUBQ.W	#1,D5
L0355:
	MOVEQ	#4,D0
	move	D0,-(sp)
	CLR.W	-(sp)
	move	D5,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	MOVE.L	D0,D5
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Science,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#$A,D0
	SUB.W	D5,D0
	TST.W	D0
	BPL.S	L0356
	ADDQ.W	#1,D0
L0356:
	ASR.W	#1,D0
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Leaders,A2
	ADDA.L	D1,A2
	move	(A2),D1
	EXT.L	D1
	move	D0,28(sp)
	MOVEQ	#$3A,D0
	JSR	__CXM22
	LEA	_ld,A2
	ADDA.L	D0,A2
	move	28(sp),D0
	ADD.W	52(A2),D0
	move	D0,(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A1
	ADDA.L	D0,A1
	MOVEQ	#$64,D0
	ADD.W	_Rtime,D0
	move	(A1),D1
	CMP.W	D0,D1
	BLE.S	L0357
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	ADDQ.W	#1,(A0)
L0357:
	MOVEQ	#$3F,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0358
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Science,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CLR.W	(A1)
L0358:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Happy,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	SUB.W	D5,D0
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Science,A1
	ADDA.L	D1,A1
	SUB.W	(A1),D0
	move	D0,(A0)
L0359:
	MOVEM.L	(sp)+,A2-A3/D4-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_DeleteCity:
	LINK	A6,#-$12
	MOVEM.L	A2/D2-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	22(A0),D0
	move	D5,-(sp)
	move	D6,-(sp)
	move	D0,-(sp)
	MOVEQ	#-1,D1
	move	D1,-(sp)
	MOVEQ	#4,D2
	move	D2,-(sp)
	MOVEQ	#1,D3
	move	D3,-(sp)
	JSR	_AddReplay
	LEA	12(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L035B
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	SUBQ.W	#1,(A1)
L035B:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncity,A1
	ADDA.L	D0,A1
	SUBQ.W	#1,(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	#-1,6(A0)
	move	D5,-(sp)
	move	D6,-(sp)
	CLR.W	-(sp)
	JSR	_PutSpecial
	ADDQ.W	#6,sp
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	ADDA.W	D5,A0
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	MOVE.B	(A0),D1
	EXT.W	D1
	AND.W	D0,D1
	BEQ.S	L035C
	move	D5,-(sp)
	move	D6,-(sp)
	JSR	_SynchSpecial
	ADDQ.W	#4,sp
L035C:
	MOVEQ	#0,D4
L035D:
	CMPI.W	#$80,D4
	BGE.S	L0361
	CLR.W	-4(A6)
L035E:
	move	-4(A6),D0
	MOVEQ	#3,D1
	CMP.W	D1,D0
	BGE.S	L0360
	MOVE.L	D4,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	ADDA.W	D0,A1
	MOVEQ	#0,D1
	MOVE.B	23(A1),D1
	CMP.W	D7,D1
	BNE.S	L035F
	MOVE.L	D4,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.W	-4(A6),A0
	MOVE.B	#-1,23(A0)
L035F:
	ADDQ.W	#1,-4(A6)
	BRA.S	L035E
;
L0360:
	ADDQ.W	#1,D4
	BRA.S	L035D
;
L0361:
	move	#1,-4(A6)
L0362:
	move	-4(A6),D0
	MOVEQ	#$15,D1
	CMP.W	D1,D0
	BGT.S	L0364
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Wonders,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	(A1),D0
	CMP.W	D7,D0
	BNE.S	L0363
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	#$80,(A0)
L0363:
	ADDQ.W	#1,-4(A6)
	BRA.S	L0362
;
L0364:
	CLR.W	-4(A6)
L0365:
	move	-4(A6),D0
	CMPI.W	#$80,D0
	BGE	L0367
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	move	-4(A6),D0
	MOVE.L	D0,D1
	MULS	#$C,D1
	ADDA.L	D1,A2
	MOVE.L	D1,32(sp)
	CMPI.B	#-1,3(A2)
	BEQ.S	L0366
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	11(A2),D0
	EXT.W	D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVE.L	32(sp),D0
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE.S	L0366
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	move	-4(A6),-(sp)
	move	D0,-(sp)
	JSR	_RemoveUnit
	ADDQ.W	#4,sp
L0366:
	ADDQ.W	#1,-4(A6)
	BRA	L0365
;
L0367:
	move	D5,-(sp)
	move	D6,-(sp)
	JSR	_UnitAt
	ADDQ.W	#4,sp
	move	D0,-10(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0368
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	PEA	_KillXGround
	move	-10(A6),-(sp)
	move	D0,-(sp)
	JSR	_UnitList
	ADDQ.W	#8,sp
L0368:
	CLR.W	-4(A6)
L0369:
	move	-4(A6),D0
	MOVEQ	#$2D,D1
	CMP.W	D1,D0
	BGE	L036C
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_MoveX,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	ADD.W	(A0),D0
	move	D0,-(sp)
	JSR	_xrange
	move	-4(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_MoveY,A0
	ADDA.L	D1,A0
	MOVE.L	D5,D1
	ADD.W	(A0),D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D0,-6(A6)
	move	D1,-8(A6)
	JSR	_FindCloseCity
	ADDQ.W	#6,sp
	MOVE.L	D0,D4
	CMPI.W	#20,-4(A6)
	BLE.S	L036A
	CMPI.W	#3,_CloseDist
	BLE.S	L036B
L036A:
	MOVEQ	#$50,D0
	ADD.W	-6(A6),D0
	MOVEQ	#$32,D1
	ADD.W	-8(A6),D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#2,D2
	move	D2,-(sp)
	move	D0,34(sp)
	JSR	_GetPixel
	MOVEQ	#2,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	-8(A6),-(sp)
	move	38(sp),-(sp)
	JSR	_PutPixel
	LEA	12(sp),sp
L036B:
	ADDQ.W	#1,-4(A6)
	BRA	L0369
;
L036C:
	MOVEM.L	(sp)+,A2/D2-D7
	UNLK	A6
	RTS
;
;
_SaveBackground:
	MOVE.L	D2,-(sp)
	JSR	_hidemouse
	MOVEQ	#0,D0
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpBack,-(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectCopy
	JSR	_showmouse
	LEA	20(sp),sp
	MOVE.L	(sp)+,D2
	RTS
;
;
_RestoreBackgrou
	MOVE.L	D2,-(sp)
	JSR	_hidemouse
	MOVEQ	#0,D0
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpBack,-(sp)
	JSR	_RectCopy
	JSR	_showmouse
	LEA	20(sp),sp
	MOVE.L	(sp)+,D2
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_CityReport:
	LINK	A6,#-2
	MOVE.L	D7,-(sp)
	move	10(A6),D7
	BSR	_SaveBackground
	CLR.W	_Stomped
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_CityEcon
	ADDQ.W	#4,sp
	TST.W	_Stomped
	BEQ.S	L0370
	JSR	_ResetScreen
	BRA.S	L0371
;
L0370:
	BSR.S	_RestoreBackgrou
L0371:
	MOVE.L	(sp)+,D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_UnitType:
	LINK	A6,#-$156
	MOVEM.L	A2-A3/D5-D7/D2-D3,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	MOVE.B	#$2A,-324(A6)
	MOVEQ	#0,D0
	MOVEQ	#-1,D1
	move	D1,-(sp)
	move	D6,-(sp)
	move	D0,-288(A6)
	move	D0,-302(A6)
	JSR	_CityEcon
	ADDQ.W	#4,sp
L0373:
	move	#1,-150(A6)
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	move	D0,-148(A6)
	PEA	L1B51
	PEA	_XEB
	JSR	_strcpy
	move	D6,(sp)
	JSR	_CityName
	PEA	L1B52
	PEA	_XEB
	JSR	_strcat
	LEA	16(sp),sp
	MOVEQ	#2,D0
	CMP.W	-302(A6),D0
	BEQ	L0378
	MOVEQ	#0,D5
L0374:
	MOVEQ	#$1C,D0
	CMP.W	D0,D5
	BGE	L0378
	MOVEQ	#$19,D0
	CMP.W	D0,D5
	BNE.S	L0375
	MOVEQ	#-1,D0
	CMP.W	L217B,D0
	BEQ	L0377
	MOVEQ	#$1B,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L0377
L0375:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	move	32(A0),-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L0377
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	move	12(A0),-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE	L0377
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#1,6(A0)
	BNE.S	L0376
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#2,D0
	CMP.W	14(A1),D0
	BEQ	L0377
L0376:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	move	24(A0),(sp)
	move	D6,-(sp)
	JSR	_TimeToBuild
	PEA	L1B53
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	20(A0),-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B54
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	22(A0),-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B55
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	16(A0),-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B56
	PEA	_XEB
	JSR	_strcat
	LEA	72(sp),sp
	move	-150(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDQ.W	#1,-150(A6)
	LEA	-148(A6),A0
	ADDA.L	D0,A0
	move	D5,(A0)
L0377:
	ADDQ.W	#1,D5
	BRA	L0374
;
L0378:
	move	-150(A6),-306(A6)
	PEA	_XEB
	JSR	_strlen
	CLR.W	-300(A6)
	MOVEQ	#$F,D1
	move	D1,(sp)
	move	D7,-(sp)
	move	D0,-308(A6)
	JSR	_HasWonder
	ADDQ.W	#6,sp
	TST.W	D0
	BEQ	L0379
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D6,D1
	EXT.L	D1
	move	D0,28(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	30(sp),-(sp)
	JSR	_GetRegion
	move	L217A,D1
	EXT.L	D1
	move	D0,32(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	move	L217A,D1
	EXT.L	D1
	move	D0,34(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,(sp)
	move	34(sp),-(sp)
	JSR	_GetRegion
	ADDQ.W	#6,sp
	move	28(sp),D1
	CMP.W	D0,D1
	BNE.S	L0379
	MOVEQ	#1,D0
	move	D0,-300(A6)
L0379:
	BTST	#2,L216B
	BEQ	L0385
	MOVEQ	#1,D5
L037A:
	MOVEQ	#$18,D0
	CMP.W	D0,D5
	BGT	L0385
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	move	28(A0),-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L0384
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D5,D0
	SUBQ.W	#1,D0
	MOVEQ	#1,D1
	MOVE.L	D1,D2
	ASL.L	D0,D2
	MOVE.L	(A1),D0
	AND.L	D2,D0
	BNE	L0384
	MOVEQ	#7,D0
	CMP.W	D0,D5
	BNE.S	L037B
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#0,3(A1)
	BNE	L0384
L037B:
	MOVEQ	#$F,D0
	CMP.W	D0,D5
	BNE.S	L037C
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#7,2(A1)
	BNE	L0384
L037C:
	MOVEQ	#$A,D0
	CMP.W	D0,D5
	BNE.S	L037D
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#4,3(A0)
	BNE.S	L037D
	move	L1F8E,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE	L0384
L037D:
	MOVEQ	#$C,D0
	CMP.W	D0,D5
	BNE.S	L037E
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#5,3(A0)
	BNE.S	L037E
	move	L1F8F,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE	L0384
L037E:
	MOVEQ	#20,D0
	CMP.W	D0,D5
	BNE.S	L037F
	MOVE.L	D6,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#3,6(A1)
	BEQ	L0384
L037F:
	MOVEQ	#$13,D0
	CMP.W	D0,D5
	BNE.S	L0380
	MOVE.L	D6,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#6,2(A1)
	BEQ	L0384
L0380:
	MOVEQ	#$13,D0
	CMP.W	D0,D5
	BEQ.S	L0381
	MOVEQ	#20,D0
	CMP.W	D0,D5
	BEQ.S	L0381
	MOVEQ	#$15,D0
	CMP.W	D0,D5
	BNE.S	L0382
L0381:
	TST.W	-300(A6)
	BNE	L0384
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#$1C,D0
	SWAP	D0
	AND.L	(A0),D0
	TST.L	D0
	BNE	L0384
L0382:
	MOVEQ	#$15,D0
	CMP.W	D0,D5
	BLE.S	L0383
	MOVEQ	#-1,D0
	CMP.W	L217C,D0
	BEQ	L0384
	MOVEQ	#1,D0
	ASL.W	D7,D0
	move	_Launched,D1
	AND.W	D0,D1
	TST.W	D1
	BNE.S	L0384
L0383:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	move	24(A0),(sp)
	move	D6,-(sp)
	JSR	_TimeToBuild
	PEA	L1B57
	PEA	_XEB
	JSR	_strcat
	LEA	18(sp),sp
	move	-150(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDQ.W	#1,-150(A6)
	LEA	-148(A6),A0
	ADDA.L	D0,A0
	MOVE.L	D5,D0
	NEG.W	D0
	move	D0,(A0)
L0384:
	ADDQ.W	#1,D5
	BRA	L037A
;
L0385:
	MOVEQ	#$19,D5
L0386:
	MOVEQ	#$2D,D0
	CMP.W	D0,D5
	BGT	L0389
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	move	28(A0),-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L0388
	MOVE.L	D5,D0
	SUBI.W	#$18,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Wonders,A0
	ADDA.L	D0,A0
	MOVEQ	#-1,D0
	CMP.W	(A0),D0
	BNE	L0388
	MOVE.L	D5,D0
	SUBI.W	#$18,D0
	move	D0,28(sp)
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_EndWonder,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#$7F,D0
	CMP.W	(A1),D0
	BEQ.S	L0387
	move	28(sp),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_first,A0
	ADDA.L	D0,A0
	MOVEQ	#7,D0
	AND.W	(A0),D0
	TST.W	D0
	BEQ.S	L0387
	PEA	L1B58
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
L0387:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	move	24(A0),(sp)
	move	D6,-(sp)
	JSR	_TimeToBuild
	PEA	L1B59
	PEA	_XEB
	JSR	_strcat
	LEA	18(sp),sp
	move	-150(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDQ.W	#1,-150(A6)
	LEA	-148(A6),A0
	ADDA.L	D0,A0
	MOVE.L	D5,D0
	NEG.W	D0
	move	D0,(A0)
L0388:
	ADDQ.W	#1,D5
	BRA	L0386
;
L0389:
	CMP.W	_Player,D7
	BNE.S	L038B
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#4,6(A0)
	BNE.S	L038B
	CMPI.W	#$1E,-150(A6)
	BLE.S	L038B
	TST.W	-302(A6)
	BNE.S	L038A
	move	#1,-302(A6)
	BRA	L0373
;
L038A:
	LEA	_XEB,A0
	ADDA.W	-308(A6),A0
	PEA	L1B5A
	MOVE.L	A0,-(sp)
	JSR	_strcpy
	ADDQ.W	#8,sp
	move	-306(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	-148(A6),A0
	ADDA.L	D0,A0
	move	#$63,(A0)
L038B:
	MOVEQ	#2,D0
	CMP.W	-302(A6),D0
	BNE.S	L038C
	PEA	L1B5B
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	move	-150(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDQ.W	#1,-150(A6)
	LEA	-148(A6),A0
	ADDA.L	D0,A0
	move	#$62,(A0)
L038C:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D6,D1
	EXT.L	D1
	move	D0,28(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	30(sp),-(sp)
	JSR	_GetRegion
	ADDQ.W	#4,sp
	MOVE.L	D7,D1
	EXT.L	D1
	ASL.L	#5,D1
	LEA	_Strategy,A0
	ADDA.L	D1,A0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	move	(A0),D1
	MOVEM.W	D0,-276(A6)
	MOVEM.W	D1,-284(A6)
	MOVEQ	#1,D0
	CMP.W	D0,D1
	BEQ.S	L038D
	MOVEQ	#2,D2
	CMP.W	D2,D1
	BEQ.S	L038D
	MOVEQ	#0,D0
L038D:
	move	D0,-280(A6)
	TST.W	_GangUp
	BEQ.S	L038E
	SUBQ.W	#5,D1
	BNE.S	L038E
	MOVEQ	#1,D0
	move	D0,-280(A6)
L038E:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	ADD.W	D0,D0
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Politics,A0
	ADDA.L	D1,A0
	CMPI.W	#1,(A0)
	BLE.S	L038F
	MOVEQ	#2,D1
	BRA.S	L0390
;
L038F:
	MOVEQ	#1,D1
L0390:
	move	_feed,D2
	MULS	D1,D2
	ADD.W	D2,D0
	move	_eff,D1
	SUB.W	D0,D1
	MOVEQ	#0,D5
	move	D1,-290(A6)
L0391:
	MOVEQ	#$1C,D0
	CMP.W	D0,D5
	BGE.S	L0392
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	-218(A6),A0
	ADDA.L	D0,A0
	move	#1,(A0)
	LEA	-274(A6),A0
	ADDA.L	D0,A0
	CLR.W	(A0)
	ADDQ.W	#1,D5
	BRA.S	L0391
;
L0392:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nunits,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	(A1),-304(A6)
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	move	D0,(A0)
	move	D0,-158(A6)
L0393:
	move	-158(A6),D0
	CMPI.W	#$80,D0
	BGE	L0398
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ	L0397
	move	-158(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE	L0397
	move	-158(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	move	-158(A6),D1
	EXT.L	D1
	move	D0,28(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	30(sp),-(sp)
	JSR	_GetRegion
	ADDQ.W	#4,sp
	CMP.W	-276(A6),D0
	BNE	L0397
	move	-158(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L0394
	move	-158(A6),D0
	CMP.W	D0,D6
	BEQ.S	L0394
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	-218(A6),A0
	ADDA.L	D1,A0
	ADDQ.W	#1,(A0)
L0394:
	CLR.W	-162(A6)
L0395:
	move	-162(A6),D0
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BGE.S	L0397
	move	-158(A6),D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-162(A6),D0
	ADDA.W	D0,A1
	CMPI.B	#-1,26(A1)
	BEQ.S	L0396
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Nunits,A1
	ADDA.L	D1,A1
	ADDQ.W	#1,(A1)
	move	-158(A6),D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.W	-162(A6),A0
	MOVE.B	26(A0),D0
	EXT.W	D0
	ANDI.W	#$3F,D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	-274(A6),A0
	ADDA.L	D1,A0
	ADDQ.W	#1,(A0)
L0396:
	ADDQ.W	#1,-162(A6)
	BRA.S	L0395
;
L0397:
	ADDQ.W	#1,-158(A6)
	BRA	L0393
;
L0398:
	MOVEQ	#0,D5
L0399:
	CMPI.W	#$80,D5
	BGE	L039B
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D5,D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVE.L	D0,32(sp)
	CMPI.B	#-1,3(A1)
	BEQ	L039A
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Nunits,A1
	ADDA.L	D1,A1
	ADDQ.W	#1,(A1)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	32(sp),D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	move	D1,36(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	32(sp),A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_GetRegion
	ADDQ.W	#4,sp
	CMP.W	-276(A6),D0
	BNE.S	L039A
	MOVE.L	D7,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	MOVE.L	D5,D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	-274(A6),A0
	ADDA.L	D1,A0
	ADDQ.W	#1,(A0)
L039A:
	ADDQ.W	#1,D5
	BRA	L0399
;
L039B:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nunits,A0
	ADDA.L	D0,A0
	TST.W	(A0)
	BNE.S	L039C
	move	_Player,D0
	CMP.W	D7,D0
	BEQ.S	L039C
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	CMPI.W	#1,(A0)
	BGT.S	L039C
	MOVEQ	#1,D0
	BRA	L03FA
;
L039C:
	TST.W	D7
	BNE.S	L039E
	MOVEQ	#7,D0
	AND.W	L218F,D0
	BNE.S	L039D
	MOVEQ	#3,D0
	BRA	L03FA
;
L039D:
	MOVEQ	#7,D0
	BRA	L03FA
;
L039E:
	CLR.W	-286(A6)
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D6,D1
	EXT.L	D1
	move	D0,28(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	30(sp),-(sp)
	JSR	_UnitAt
	ADDQ.W	#4,sp
	MOVE.L	D0,D5
	MOVEQ	#-1,D0
	CMP.W	D0,D5
	BNE.S	L039F
	MOVEQ	#2,D0
	move	D0,-286(A6)
	BRA.S	L03A1
;
L039F:
	MOVEQ	#2,D0
	move	D0,-(sp)
	move	D5,-(sp)
	move	D7,-(sp)
	JSR	_RoleInStack
	ADDQ.W	#6,sp
	MOVE.L	D6,D1
	EXT.L	D1
	move	D0,28(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	TST.W	D0
	BPL.S	L03A0
	ADDQ.W	#3,D0
L03A0:
	ASR.W	#2,D0
	ADD.W	-280(A6),D0
	move	28(sp),D1
	CMP.W	D0,D1
	BGE.S	L03A1
	MOVEQ	#1,D0
	move	D0,-286(A6)
L03A1:
	move	#$3E7,D0
	MOVEQ	#-1,D1
	MOVEQ	#1,D5
	move	D0,-154(A6)
	move	D0,-296(A6)
	move	D0,-298(A6)
	move	D1,-292(A6)	;set default Domestic production advice to failure
	move	D1,-294(A6)	;set default Military production advice to failure
L03A2:
	CMP.W	-150(A6),D5
	BGE	L03E7
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	-148(A6),A0
	ADDA.L	D0,A0
	move	(A0),D0
	MOVEM.W	D0,-152(A6)
	BLT.S	L03A3
	MOVEQ	#$1A,D1
	CMP.W	D1,D0
	BLT	L03C8
L03A3:
	move	#$3E7,-156(A6)
	CLR.W	-282(A6)
	NEG.W	D0
	SUBI.W	#-$1B,D0
	BEQ	L03BE
	SUBQ.W	#1,D0
	BEQ	L03C3
	SUBI.W	#$1C,D0
	BEQ	L03A8
	SUBQ.W	#1,D0
	BEQ	L03A9
	SUBQ.W	#1,D0
	BEQ.S	L03A4
	SUBQ.W	#1,D0
	BEQ	L03B0
	SUBQ.W	#1,D0
	BEQ	L03B2
	SUBQ.W	#1,D0
	BEQ.S	L03A5
	SUBQ.W	#1,D0
	BEQ	L03B6
	SUBQ.W	#1,D0
	BEQ	L03B9
	SUBQ.W	#1,D0
	BEQ	L03B3
	SUBQ.W	#1,D0
	BEQ.S	L03A6
	SUBQ.W	#1,D0
	BEQ	L03B4
	SUBQ.W	#2,D0
	BEQ	L03A7
	SUBQ.W	#1,D0
	BEQ	L03AC
	SUBQ.W	#1,D0
	BEQ	L03AF
	SUBQ.W	#2,D0
	BEQ	L03AF
	SUBQ.W	#1,D0
	BEQ	L03AE
	SUBQ.W	#1,D0
	BEQ	L03AC
	SUBQ.W	#1,D0
	BEQ	L03AF
	SUBQ.W	#1,D0
	BEQ	L03BB
	BRA	L03C4
;
L03A4:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BEQ	L03C4
	move	#-4,-156(A6)
	BRA	L03C4
;
L03A5:
	move	_Corrupted,D0
	ADD.W	D0,D0
	MOVEQ	#$C,D1
	SUB.W	D0,D1
	move	D1,-156(A6)
	BRA	L03C4
;
L03A6:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BEQ	L03C4
	move	#-2,-156(A6)
	BRA	L03C4
;
L03A7:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BEQ	L03C4
	move	#-1,-156(A6)
	BRA	L03C4
;
L03A8:
	move	#5,-156(A6)
	move	#1,-282(A6)
	BRA	L03C4
;
L03A9:
	CMPI.W	#3,L2035
	BLT.S	L03AA
	MOVEQ	#4,D0
	BRA.S	L03AB
;
L03AA:
	MOVEQ	#8,D0
L03AB:
	move	D0,-156(A6)
	BRA	L03C4
;
L03AC:
	move	L2035,D0
	BPL.S	L03AD
	ADDQ.W	#1,D0
L03AD:
	ASR.W	#1,D0
	MOVEQ	#$D,D1
	SUB.W	D0,D1
	move	D1,-156(A6)
	BRA	L03C4
;
L03AE:
	move	L2035,D0
	EXT.L	D0
	DIVS	#5,D0
	MOVEQ	#$C,D1
	SUB.W	D0,D1
	move	D1,-156(A6)
	BRA	L03C4
;
L03AF:
	move	L2035,D0
	EXT.L	D0
	DIVS	#8,D0
	MOVEQ	#$C,D1
	SUB.W	D0,D1
	move	D1,-156(A6)
	BRA	L03C4
;
L03B0:
	move	L2036,D0
	BPL.S	L03B1
	ADDQ.W	#1,D0
L03B1:
	ASR.W	#1,D0
	MOVEQ	#$A,D1
	SUB.W	D0,D1
	MOVE.L	D6,D0
	EXT.L	D0
	move	D1,-156(A6)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BEQ	L03C4
	move	#-3,-156(A6)
	BRA	L03C4
;
L03B2:
	move	L2036,D0
	EXT.L	D0
	DIVS	#3,D0
	MOVEQ	#$A,D1
	SUB.W	D0,D1
	move	D1,-156(A6)
	BRA	L03C4
;
L03B3:
	move	L2036,D0
	EXT.L	D0
	DIVS	#3,D0
	MOVEQ	#$A,D1
	SUB.W	D0,D1
	move	D1,-156(A6)
	BRA	L03C4
;
L03B4:
	move	L2036,D0
	BPL.S	L03B5
	ADDQ.W	#3,D0
L03B5:
	ASR.W	#2,D0
	MOVEQ	#$A,D1
	SUB.W	D0,D1
	move	D1,-156(A6)
	BRA	L03C4
;
L03B6:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	TST.W	D0
	BPL.S	L03B7
	ADDQ.W	#1,D0
L03B7:
	ASR.W	#1,D0
	MOVEQ	#$A,D1
	SUB.W	D0,D1
	MOVE.L	D6,D0
	EXT.L	D0
	move	D1,-156(A6)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#0,3(A0)
	BEQ.S	L03B8
	SUBQ.W	#4,-156(A6)
L03B8:
	move	#1,-282(A6)
	BRA	L03C4
;
L03B9:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-290(A6),D0
	BPL.S	L03BA
	ADDQ.W	#1,D0
L03BA:
	ASR.W	#1,D0
	MOVEQ	#$A,D1
	SUB.W	D0,D1
	MOVE.B	7(A1),D2
	EXT.W	D2
	move	D0,32(sp)
	CMP.W	D1,D2
	BLT	L03C4
	MOVE.L	D6,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	MOVEQ	#$E,D1
	SUB.W	D0,D1
	move	32(sp),D0
	SUB.W	D0,D1
	move	D1,-156(A6)
	BRA	L03C4
;
L03BB:
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	ASL.W	D7,D1
	MOVE.L	D0,D2
	move	_Player,D3
	ASL.W	D3,D2
	ADD.W	D2,D1
	move	_Launched,D2
	AND.W	D2,D1
	BNE	L03C4
	ADDQ.W	#8,D3
	ASL.W	D3,D0
	AND.W	D0,D2
	BEQ.S	L03BC
	MOVEQ	#2,D0
	BRA.S	L03BD
;
L03BC:
	MOVEQ	#4,D0
L03BD:
	move	D0,-156(A6)
	BRA	L03C4
;
L03BE:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	25(A1),D0
	CMPI.W	#$FF,D0
	BNE.S	L03C2
	move	L2036,D0
	BPL.S	L03BF
	ADDQ.W	#1,D0
L03BF:
	ASR.W	#1,D0
	MOVEQ	#$A,D1
	SUB.W	D0,D1
	MOVE.L	D6,D0
	EXT.L	D0
	move	D1,-156(A6)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	23(A1),D0
	CMPI.W	#$FF,D0
	BEQ.S	L03C0
	ADDQ.W	#2,-156(A6)
L03C0:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	24(A1),D0
	CMPI.W	#$FF,D0
	BEQ.S	L03C1
	ADDQ.W	#2,-156(A6)
L03C1:
	CMPI.W	#3,-156(A6)
	BGE.S	L03C2
	move	#3,-156(A6)
L03C2:
	CMP.W	_Player,D7
	BNE	L03C4
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#4,6(A0)
	BEQ	L03C4
	move	#$3E7,-156(A6)
	BRA	L03C4
;
L03C3:
	move	_Player,D0
	TST.W	D0
	BLE	L03C4
	MOVE.L	D7,D1
	EXT.L	D1
	ASL.L	#4,D1
	LEA	_Treaties,A0
	ADDA.L	D1,A0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	BTST	#1,1(A0)
	BNE	L03C4
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A0
	ADDA.L	D0,A0
	move	52(A0),D0
	TST.W	D0
	BGT	L03C4
	MOVEQ	#5,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	MOVEQ	#1,D1
	ASL.W	D7,D1
	move	_Access,D2
	AND.W	D1,D2
	move	D0,-158(A6)
	TST.W	D2
	BEQ	L03C4
	move	_Player,D0
	EXT.L	D0
	MOVEQ	#$A,D1
	JSR	__CXM22
	LEA	_Civilized,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-158(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,32(sp)
	MOVEQ	#$A,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.L	32(sp),D0
	ADDA.L	D0,A2
	move	(A1),D1
	OR.W	(A2),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	move	D1,36(sp)
	MOVEQ	#$A,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.L	32(sp),A0
	move	36(sp),D0
	CMP.W	(A0),D0
	BEQ.S	L03C4
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_TechLevel,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A1),D0
	SUB.W	(A0),D0
	MOVEQ	#$A,D1
	MOVE.L	D1,D2
	SUB.W	D0,D2
	move	D1,-(sp)
	MOVEQ	#5,D0
	move	D0,-(sp)
	move	D2,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-156(A6)
L03C4:
	move	-280(A6),D0
	move	-282(A6),D1
	CMP.W	D0,D1
	BEQ.S	L03C5
	MOVEQ	#20,D1
	BRA.S	L03C6
;
L03C5:
	MOVEQ	#$A,D1
L03C6:
	move	-156(A6),D2
	MULS	D1,D2
	MOVE.L	D2,D1
	ADD.W	D1,D1
	ADD.W	D2,D1
	MOVE.L	D7,D3
	EXT.L	D3
	ADD.L	D3,D3
	LEA	_Leaders,A0
	MOVEA.L	A0,A1
	ADDA.L	D3,A1
	move	(A1),D3
	EXT.L	D3
	MOVE.L	D3,D0
	move	D1,28(sp)
	MOVEQ	#$3A,D1
	JSR	__CXM22
	LEA	_ld,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	move	52(A2),D0
	ADDQ.W	#3,D0
	move	28(sp),D1
	EXT.L	D1
	DIVS	D0,D1
	MOVE.L	D6,D0
	EXT.L	D0
	move	D1,-156(A6)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	BTST	#1,3(A3)
	BEQ	L03E2
	move	-156(A6),D0
	MOVE.L	D0,D1
	TST.W	D1
	BPL.S	L03C7
	ADDQ.W	#3,D1
L03C7:
	ASR.W	#2,D1
	ADD.W	D1,-156(A6)
	BRA	L03E2
;
L03C8:
	move	-152(A6),D0
	MOVEQ	#$17,D1
	CMP.W	D1,D0
	BEQ	L03E6
	TST.W	D0
	BNE.S	L03CB
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Politics,A0
	MOVEA.L	A0,A1
	ADDA.L	D1,A1
	CMPI.W	#1,(A1)
	BLE.S	L03C9
	MOVEQ	#2,D1
	BRA.S	L03CA
;
L03C9:
	MOVEQ	#1,D1
L03CA:
	move	-290(A6),D2
	CMP.W	D1,D2
	BGT.S	L03CB
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$38,D0
	JSR	__CXM22
	LEA	_units,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	TST.W	(A2)
	BNE	L03E6
	CMPI.W	#1,-218(A6)
	BGT	L03E6
L03CB:
	move	-152(A6),D0
	MOVEQ	#1,D1
	CMP.W	D1,D0
	BNE.S	L03CC
	MOVE.L	D7,D2
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_Politics,A0
	ADDA.L	D2,A0
	CMPI.W	#1,(A0)
	BGT	L03E6
L03CC:
	MOVEQ	#$19,D2
	CMP.W	D2,D0
	BNE.S	L03CD
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_units,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.W	#4,50(A1)
	BGE	L03E6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	CMPI.W	#2,50(A2)
	BGE	L03E6
L03CD:
	move	-152(A6),D0
	MOVEQ	#$E,D1
	CMP.W	D1,D0
	BNE	L03CF
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$38,D0
	JSR	__CXM22
	LEA	_units,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-152(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVE.L	D0,32(sp)
	MOVEQ	#$38,D0
	JSR	__CXM22
	LEA	_prod,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	MOVE.L	32(sp),D0
	ADDA.L	D0,A3
	move	(A1),D0
	ADD.W	(A3),D0
	move	_Player,D1
	EXT.L	D1
	move	D0,28(sp)
	MOVEQ	#$38,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	30(A1),D0
	BPL.S	L03CE
	ADDQ.W	#1,D0
L03CE:
	ASR.W	#1,D0
	move	28(sp),D1
	CMP.W	D0,D1
	BGE	L03E6
	MOVE.L	D7,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A1
	ADDA.L	D0,A1
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A1
	BTST	#1,1(A1)
	BNE	L03E6
L03CF:
	move	-152(A6),D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BNE.S	L03D0
	move	-152(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	-218(A6),A1
	ADDA.L	D0,A1
	move	(A1),D1
	ADD.W	D1,D1
	LEA	-274(A6),A1
	ADDA.L	D0,A1
	ADD.W	(A1),D1
	move	D1,-156(A6)
	BRA	L03D1
;
L03D0:
	MOVE.L	D7,D0
	EXT.L	D0
	ASL.L	#5,D0
	LEA	_Runits,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	move	-276(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A2
	MOVE.L	D0,32(sp)
	CMPI.W	#8,(A2)
	BLT	L03E6
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$38,D0
	JSR	__CXM22
	LEA	_prod,A2
	ADDA.L	D0,A2
	move	-152(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A2
	move	(A2),D1
	ADD.W	D1,D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,40(sp)
	MOVE.L	D2,D0
	move	D1,44(sp)
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_units,A2
	ADDA.L	D0,A2
	MOVE.L	40(sp),D0
	ADDA.L	D0,A2
	move	44(sp),D0
	ADD.W	(A2),D0
	MOVE.L	D7,D1
	EXT.L	D1
	ASL.L	#5,D1
	ADDA.L	D1,A1
	MOVE.L	32(sp),D1
	ADDA.L	D1,A1
	MULS	(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Nunits,A1
	MOVEA.L	A1,A2
	ADDA.L	D1,A2
	move	(A2),D1
	ADDQ.W	#1,D1
	EXT.L	D0
	DIVS	D1,D0
	move	D0,-156(A6)
L03D1:
	TST.W	-286(A6)
	BEQ.S	L03D3
	move	-152(A6),D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#2,D0
	CMP.W	30(A1),D0
	BEQ.S	L03D2
	BRA	L03E6
;
L03D2:
	EXT.L	D0
	DIVS	-286(A6),D0
	move	D0,-156(A6)
L03D3:
	move	-152(A6),D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#2,D0
	CMP.W	30(A1),D0
	BEQ.S	L03D4
	move	-152(A6),D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.W	30(A1)
	BEQ.S	L03D4
	move	-156(A6),D0
	ADD.W	D0,D0
	move	-152(A6),D1
	EXT.L	D1
	move	D0,-156(A6)
	MOVEQ	#$22,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-284(A6),D0
	move	30(A1),D1
	CMP.W	D0,D1
	BEQ.S	L03D4
	move	-156(A6),D1
	ADD.W	D1,D1
	move	D1,-156(A6)
L03D4:
	move	-152(A6),D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#5,D0
	CMP.W	30(A1),D0
	BNE.S	L03D6
	CMP.W	-284(A6),D0
	BNE	L03E6
	move	-156(A6),D0
	ADD.W	D0,D0
	ADD.W	-156(A6),D0
	TST.W	D0
	BPL.S	L03D5
	ADDQ.W	#1,D0
L03D5:
	ASR.W	#1,D0
	move	D0,-156(A6)
L03D6:
	TST.W	-152(A6)
	BNE.S	L03D9
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A1
	ADDA.L	D0,A1
	BTST	#2,3(A1)
	BEQ.S	L03D7
	MOVEQ	#4,D0
	BRA.S	L03D8
;
L03D7:
	MOVEQ	#6,D0
L03D8:
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Leaders,A1
	ADDA.L	D1,A1
	move	(A1),D1
	EXT.L	D1
	move	D0,28(sp)
	MOVEQ	#$3A,D0
	JSR	__CXM22
	LEA	_ld,A1
	ADDA.L	D0,A1
	move	28(sp),D0
	SUB.W	52(A1),D0
	BRA.S	L03DA
;
L03D9:
	MOVEQ	#$10,D0
L03DA:
	move	-156(A6),D1
	MULS	D0,D1
	move	-152(A6),D0
	EXT.L	D0
	move	D1,28(sp)
	MOVEQ	#$22,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	ADDQ.W	#2,D0
	move	28(sp),D1
	MULS	D0,D1
	move	-152(A6),D0
	EXT.L	D0
	move	D1,28(sp)
	MOVEQ	#$22,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-152(A6),D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	move	20(A1),D0
	ADD.W	22(A2),D0
	move	-152(A6),D1
	EXT.L	D1
	move	D0,30(sp)
	MOVEQ	#$22,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	16(A1),D0
	ADDQ.W	#1,D0
	move	30(sp),D1
	MULS	D0,D1
	move	28(sp),D0
	EXT.L	D0
	DIVS	D1,D0
	move	-152(A6),D1
	EXT.L	D1
	move	D0,-156(A6)
	MOVEQ	#$22,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#3,D0
	CMP.W	30(A1),D0
	BNE.S	L03DD
	TST.W	-280(A6)
	BEQ.S	L03DB
	MOVEQ	#4,D0
	BRA.S	L03DC
;
L03DB:
	MOVEQ	#2,D0
L03DC:
	move	-156(A6),D1
	MULS	D0,D1
	move	D1,-156(A6)
L03DD:
	move	-152(A6),D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	CMP.W	14(A0),D0
	BNE.S	L03DE
	move	-156(A6),D0
	ADD.W	D0,D0
	move	D0,-156(A6)
L03DE:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nunits,A0
	ADDA.L	D0,A0
	CMPI.W	#$78,(A0)
	BLE.S	L03DF
	move	-156(A6),D0
	ASL.W	#2,D0
	move	D0,-156(A6)
L03DF:
	TST.W	-280(A6)
	BNE.S	L03E0
	move	_nmilitia,D0
	CMP.W	L2035,D0
	BGE.S	L03E1
L03E0:
	TST.W	_AtWar
	BNE.S	L03E2
L03E1:
	move	-156(A6),D0
	ADD.W	D0,D0
	move	D0,-156(A6)
	NOP
L03E2:
	move	-156(A6),D0
	MOVE.L	D0,D1
	CMP.W	-154(A6),D1
	BGE.S	L03E3
	move	D5,-160(A6)
	move	D0,-154(A6)
L03E3:
	move	-152(A6),D1
	TST.W	D1
	BMI.S	L03E4
	MOVEQ	#$1A,D2
	CMP.W	D2,D1
	BLT.S	L03E5
L03E4:
	CMP.W	-296(A6),D0
	BGE.S	L03E6
	move	D5,-292(A6)
	move	D0,-296(A6)
	BRA.S	L03E6
;
L03E5:
	CMP.W	-298(A6),D0
	BGE.S	L03E6
	move	D5,-294(A6)
	move	D0,-298(A6)
L03E6:
	ADDQ.W	#1,D5
	BRA	L03A2		;loop back...  this is part of the advisory bug !!!
;
L03E7:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nunits,A0
	ADDA.L	D0,A0
	move	-304(A6),(A0)
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	ASL.W	D7,D1
	move	_Human,D2
	AND.W	D1,D2
	BNE.S	L03E9
	MOVE.L	D6,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,9(A1)
	BNE.S	L03E8
	MOVEQ	#-1,D0
	BRA	L03FA
;
L03E8:
	move	-160(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	-148(A6),A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	move	(A2),D0
	BRA	L03FA
;
L03E9:
	MOVE.L	D6,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#4,6(A0)
	BEQ.S	L03EB
	move	-292(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L03EA
	CMPI.W	#$1F4,-296(A6)
	BGT.S	L03EA
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	-148(A6),A0
	MOVEA.L	A0,A1
	ADDA.L	D1,A1
	move	(A1),D0
	BRA	L03FA
;
L03EA:
	MOVEQ	#$63,D0
	BRA	L03FA
;
L03EB:
	BTST	#0,L1FB8
	BEQ	L03F2
	TST.W	-288(A6)
	BNE	L03F2
	MOVEQ	#2,D0
	MOVEA.L	_Rp1,A0
	move	D0,16(A0)
	move	-294(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	-148(A6),A0
	ADDA.L	D1,A0
	move	(A0),D0
	MOVEM.W	D0,-156(A6)
	BLT.S	L03EC
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	-323(A6)
	JSR	_strcpy
	ADDQ.W	#8,sp
	BRA.S	L03ED
;
L03EC:
	NEG.W	D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	-323(A6)
	JSR	_strcpy
	ADDQ.W	#8,sp
L03ED:
	MOVEQ	#-1,D0
	CMP.W	-294(A6),D0		;Check Military advice code
	BEQ.S	L03EE
	PEA	Military_Advisor_s
	PEA	_XEB
	JSR	_strcpy
	PEA	-324(A6)
	PEA	produce_txt_fn_1_s
	JSR	_ReadString
	PEA	-323(A6)
	MOVE.L	L1C52,-(sp)
	JSR	_strcpy
	JSR	_TextReplace
	MOVEQ	#$32,D0
	move	D0,(sp)
	JSR	_BlockText
	move	#1,_NoWait
	move	#$A0,D0
	move	D0,(sp)
	MOVEQ	#8,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_DoMenu			;Display the Military production advice
	LEA	30(sp),sp
L03EE:
	move	-292(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	-148(A6),A0
	ADDA.L	D0,A0
	move	(A0),D0
	MOVEM.W	D0,-156(A6)
	BLT.S	L03EF
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	-323(A6)
	JSR	_strcpy
	ADDQ.W	#8,sp
	BRA.S	L03F0
;
L03EF:
	NEG.W	D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	-323(A6)
	JSR	_strcpy
	ADDQ.W	#8,sp
L03F0:
	MOVEQ	#-1,D0
	CMP.W	-292(A6),D0		;Check Domestic advice code
	BEQ.S	L03F1
	PEA	Domestic_Advisor_s
	PEA	_XEB
	JSR	_strcpy
	PEA	-324(A6)
	PEA	produce_txt_fn_2_s
	JSR	_ReadString
	PEA	-323(A6)
	MOVE.L	L1C52,-(sp)
	JSR	_strcpy
	JSR	_TextReplace
	MOVEQ	#$32,D0
	move	D0,(sp)
	JSR	_BlockText
	move	#1,_NoWait
	move	#$A0,D0
	move	D0,(sp)
	move	#$A4,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_DoMenu			;Display the Domestic production advice
	LEA	30(sp),sp
L03F1:
	MOVEQ	#1,D0
	MOVEA.L	_Rp1,A0
	move	D0,16(A0)
	move	D0,-288(A6)
	BRA	L0373
;
L03F2:
	CMPI.W	#20,-150(A6)
	BGT.S	L03F3
	TST.W	-302(A6)
	BEQ.S	L03F4
L03F3:
	MOVEA.L	_Rp1,A0
	move	#2,16(A0)
L03F4:
	move	#1,_HelpAvl
	MOVEQ	#0,D0
	move	D0,_NoHi
	move	D0,_DefaultItem
	MOVEQ	#8,D0
	move	D0,-(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_DoMenu
	ADDQ.W	#8,sp
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	-146(A6),A0
	ADDA.L	D1,A0
	move	(A0),D0
	MOVEM.W	D0,-156(A6)
	MOVEQ	#$63,D1
	CMP.W	D1,D0
	BNE.S	L03F5
	move	#2,-302(A6)
	BRA	L0373
;
L03F5:
	MOVEQ	#$62,D1
	CMP.W	D1,D0
	BNE.S	L03F6
	MOVEQ	#1,D0
	move	D0,-302(A6)
	BRA	L0373
;
L03F6:
	MOVEA.L	_Rp1,A0
	move	#1,16(A0)
	TST.W	_Help
	BEQ.S	L03F9
	JSR	_hidemouse
	JSR	_SaveScreen
	move	#1,_NoIcon
	move	-156(A6),D0
	TST.W	D0
	BMI.S	L03F7
	MOVEQ	#2,D1
	move	D1,-(sp)
	move	D0,-(sp)
	JSR	_Blurb
	ADDQ.W	#4,sp
	BRA.S	L03F8
;
L03F7:
	NEG.W	D0
	MOVEQ	#1,D1
	move	D1,-(sp)
	move	D0,-(sp)
	JSR	_Blurb
	ADDQ.W	#4,sp
L03F8:
	JSR	_RestoreScreen
	JSR	_showmouse
	move	#1,_Stomped
	BRA	L0373
;
L03F9:
	move	-156(A6),D0
L03FA:
	MOVEM.L	(sp)+,A2-A3/D5-D7/D2-D3
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_TimeToBuild
	LINK	A6,#-2
	MOVEM.L	D5-D7/D2-D3,-(sp)
	move	30(sp),D7
	move	32(sp),D6
	MOVE.L	D6,D0
	MULS	#$A,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,20(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	move	20(sp),D0
	SUB.W	14(A0),D0
	move	L2035,D1
	SUB.W	_support,D1
	MOVEQ	#$63,D2
	move	D2,-(sp)
	MOVEQ	#1,D3
	move	D3,-(sp)
	move	D1,-(sp)
	move	D0,26(sp)
	JSR	_rng
	move	26(sp),D1
	SUBQ.W	#1,D1
	EXT.L	D1
	DIVS	D0,D1
	ADDQ.W	#1,D1
	move	#$3E7,D0
	move	D0,(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	MOVE.L	D0,D5
	PEA	L1B60
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	D5,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	LEA	28(sp),sp
	MOVEQ	#1,D0
	CMP.W	D0,D5
	BEQ.S	L03FC
	PEA	L1B61
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	BRA.S	L03FD
;
L03FC:
	PEA	L1B62
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
L03FD:
	MOVEM.L	(sp)+,D5-D7/D2-D3
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_AddCivilized:
	LINK	A6,#-$46
	MOVEM.L	D2-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	TST.W	D7
	BNE.S	L03FF
	MOVEQ	#-1,D0
	BRA	L042A
;
L03FF:
	MOVEQ	#0,D0
	MOVEQ	#-1,D1
	MOVE.L	D0,D5
	move	D0,-48(A6)
	move	D1,-42(A6)
	move	D1,-44(A6)
L0400:
	MOVEQ	#$48,D0
	CMP.W	D0,D5
	BGE	L0403
	move	D5,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE	L0402
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.B	20(A0),D0
	EXT.W	D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0402
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.B	21(A0),D0
	EXT.W	D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0402
	move	D5,-(sp)
	move	D7,-(sp)
	JSR	_CVal
	ASL.W	#2,D0
	move	D0,(sp)
	JSR	_rnd
	ADDQ.W	#4,sp
	move	D0,-46(A6)
	CMP.W	-42(A6),D0
	BLE.S	L0402
	move	_NextCiv,D1
	CMP.W	D5,D1
	BNE.S	L0401
	CMP.W	_Player,D7
	BEQ.S	L0402
L0401:
	move	D5,-44(A6)
	move	D0,-42(A6)
L0402:
	ADDQ.W	#1,D5
	BRA	L0400
;
L0403:
	move	_Player,D0
	CMP.W	D0,D7
	BNE.S	L0404
	TST.W	_Rtime
	BNE.S	L0407
L0404:
	TST.W	_Rtime
	BEQ.S	L0405
	TST.W	_Diff
	BNE.S	L0405
	move	-44(A6),-(sp)
	move	D0,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE.S	L0405
	MOVEQ	#2,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	TST.W	D0
	BEQ.S	L0405
	MOVEQ	#-1,D0
	BRA	L042A
;
L0405:
	MOVEQ	#-1,D0
	CMP.W	-42(A6),D0
	BEQ.S	L0406
	move	D6,-(sp)
	move	-44(A6),-(sp)
	move	D7,-(sp)
	JSR	_HasCivilized
	MOVEQ	#-1,D0
	move	D0,(sp)
	move	D7,-(sp)
	JSR	_ResetProduction
	ADDQ.W	#8,sp
L0406:
	move	-44(A6),D0
	BRA	L042A
;
L0407:
	move	_NextCiv,D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L0415
	move	D0,-(sp)
	JSR	_IconPage
	ADDQ.W	#2,sp
	MOVEQ	#0,D1
	move	D0,-50(A6)
	move	D1,-54(A6)
	MOVEQ	#$47,D0
	CMP.W	_NextCiv,D0
	BEQ.S	L0408
	CMPI.W	#3,_NDisk
	BLE.S	L0408
	move	D1,-(sp)
	MOVEQ	#1,D0
	move	D0,-(sp)
	JSR	_CheckForDisk
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0408
	BTST	#3,L1FB8
	BEQ.S	L0408
	MOVEQ	#1,D0
	move	D0,-54(A6)
L0408:
	TST.W	-54(A6)
	BEQ	L040A
	JSR	_hidemouse
	PEA	L1B63
	PEA	-70(A6)
	JSR	_strcpy
	CLR.W	-8(A6)
	MOVEQ	#$36,D0
	move	D0,(sp)
	move	_Player,-(sp)
	JSR	_IsCivilized
	LEA	10(sp),sp
	TST.W	D0
	BEQ.S	L0409
	MOVE.B	#$32,-63(A6)
	MOVEQ	#1,D0
	move	D0,-8(A6)
L0409:
	PEA	-70(A6)
	MOVEQ	#1,D0
	move	D0,-(sp)
	JSR	_LoadPicture
	MOVEQ	#0,D0
	move	D0,(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	JSR	_CycleOff
	MOVEQ	#0,D0
	move	D0,(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_RpBack,-(sp)
	JSR	_RectCopy
	LEA	36(sp),sp
L040A:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$B,D1
	JSR	__CXM22
	LEA	_ArmyText,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcpy
	MOVEQ	#20,D0
	move	D0,(sp)
	move	_Player,-(sp)
	JSR	_IsCivilized
	LEA	10(sp),sp
	TST.W	D0
	BEQ.S	L040B
	LEA	L1B64,A0
	BRA.S	L040C
;
L040B:
	LEA	L1B65,A0
L040C:
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B66
	PEA	_XEB
	JSR	_strcat
	move	_NextCiv,D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	LEA	20(sp),sp
	MOVEQ	#$47,D0
	CMP.W	_NextCiv,D0
	BNE.S	L040D
	PEA	L1B67
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#1,_TechBonus
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	_TechBonus,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	LEA	18(sp),sp
L040D:
	PEA	L1B68
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Leaders,A0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	MOVEQ	#$3A,D1
	JSR	__CXM22
	LEA	_ld,A0
	ADDA.L	D0,A0
	move	54(A0),(sp)
	JSR	_DoSound
	ADDQ.W	#8,sp
	TST.W	-54(A6)
	BEQ	L0413
	TST.W	-8(A6)
	BNE.S	L040E
	MOVEA.L	_Rp1,A0
	move	#6,16(A0)
L040E:
	move	#1,_NoWait
	TST.W	-8(A6)
	BEQ.S	L040F
	MOVEQ	#$19,D0
	BRA.S	L0410
;
L040F:
	MOVEQ	#1,D0
L0410:
	move	D0,-(sp)
	MOVEQ	#$60,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_DoMenu
	MOVEA.L	_Rp1,A0
	move	#1,16(A0)
	PEA	L1B69
	PEA	_XEB
	JSR	_strcpy
	move	-50(A6),D0
	EXT.L	D0
	DIVS	#9,D0
	MOVE.B	L212D,D1
	EXT.W	D1
	ADD.W	D0,D1
	MOVE.B	D1,L212D
	PEA	_XEB
	MOVEQ	#1,D0
	move	D0,-(sp)
	JSR	_LoadPicture
	MOVEQ	#1,D0
	move	D0,(sp)
	move	D0,-(sp)
	JSR	_CheckForDisk
	LEA	24(sp),sp
	move	-50(A6),D0
	EXT.L	D0
	MOVEQ	#3,D1
	DIVS	D1,D0
	SWAP	D0
	MULS	#$6F,D0
	ADDQ.W	#1,D0
	move	-50(A6),D2
	EXT.L	D2
	DIVS	#9,D2
	SWAP	D2
	EXT.L	D2
	DIVS	D1,D2
	MULS	#$45,D2
	ADDQ.W	#1,D2
	TST.W	-8(A6)
	BEQ.S	L0411
	MOVEQ	#$57,D1
	BRA.S	L0412
;
L0411:
	MOVEQ	#$60,D1
L0412:
	move	D1,-(sp)
	move	#$AE,D3
	move	D3,-(sp)
	MOVEQ	#$44,D4
	move	D4,-(sp)
	MOVEQ	#$6E,D3
	move	D3,-(sp)
	move	D2,-(sp)
	move	D0,-(sp)
	JSR	_ShowIcon
	JSR	_WaitForIt
	JSR	_showmouse
	JSR	_CycleOn
	LEA	12(sp),sp
	BRA.S	L0414
;
L0413:
	MOVEQ	#-1,D0
	move	D0,-(sp)
	JSR	_NewsPaper
	ADDQ.W	#2,sp
L0414:
	move	D6,-(sp)
	move	_NextCiv,-(sp)
	move	D7,-(sp)
	JSR	_HasCivilized
	MOVEQ	#$1A,D0
	move	D0,(sp)
	JSR	_DoSound
	ADDQ.W	#6,sp
	move	#-1,_NextCiv
L0415:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_TechLevel,A0
	ADDA.L	D0,A0
	CMPI.W	#1,(A0)
	BGT.S	L0416
	PEA	L1B6A
	JSR	_Advice
	ADDQ.W	#4,sp
L0416:
	JSR	_hidemouse
	JSR	_SaveScreen
	JSR	_showmouse
	BTST	#0,L1FB8
	BEQ	L041E
	MOVEQ	#-1,D0
	CMP.W	-44(A6),D0
	BEQ	L041E
	TST.W	_Diff
	BNE	L041E
	PEA	L1B6B
	PEA	_XEB
	JSR	_strcpy
	move	-44(A6),D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B6C
	PEA	_XEB
	JSR	_strcat
	PEA	_XEB
	JSR	_strlen
	CLR.W	-8(A6)
	PEA	L1B6D
	PEA	_XEB
	move	D0,-46(A6)
	JSR	_strcat
	LEA	32(sp),sp
	CLR.W	-6(A6)
L0417:
	move	-6(A6),D0
	MOVEQ	#$1C,D1
	CMP.W	D1,D0
	BGE.S	L0419
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	32(A1),D0
	CMP.W	-44(A6),D0
	BNE.S	L0418
	move	-6(A6),D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B6E
	PEA	_XEB
	JSR	_strcat
	LEA	16(sp),sp
	ADDQ.W	#1,-8(A6)
L0418:
	ADDQ.W	#1,-6(A6)
	BRA.S	L0417
;
L0419:
	CLR.W	-6(A6)
L041A:
	move	-6(A6),D0
	MOVEQ	#$18,D1
	CMP.W	D1,D0
	BGE.S	L041C
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	28(A1),D0
	CMP.W	-44(A6),D0
	BNE.S	L041B
	move	-6(A6),D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B6F
	PEA	_XEB
	JSR	_strcat
	LEA	16(sp),sp
	ADDQ.W	#1,-8(A6)
L041B:
	ADDQ.W	#1,-6(A6)
	BRA.S	L041A
;
L041C:
	TST.W	-8(A6)
	BNE.S	L041D
	LEA	_XEB,A0
	MOVEA.L	A0,A1
	ADDA.W	-46(A6),A1
	CLR.B	(A1)
L041D:
	MOVEA.L	_Rp1,A0
	move	#2,16(A0)
	move	#1,_NoWait
	move	-8(A6),D0
	ASL.W	#3,D0
	move	#$A8,D1
	SUB.W	D0,D1
	move	D1,-(sp)
	MOVEQ	#8,D0
	move	D0,-(sp)
	PEA	_XEB
	JSR	_DoMenu
	ADDQ.W	#8,sp
	MOVEA.L	_Rp1,A0
	move	#1,16(A0)
L041E:
	PEA	L1B70
	PEA	_XEB
	JSR	_strcpy
	MOVEQ	#20,D0
	move	D0,(sp)
	move	_Player,-(sp)
	JSR	_IsCivilized
	LEA	10(sp),sp
	TST.W	D0
	BEQ.S	L041F
	LEA	L1B71,A0
	BRA.S	L0420
;
L041F:
	LEA	L1B72,A0
L0420:
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B73
	PEA	_XEB
	JSR	_strcat
	LEA	16(sp),sp
	MOVEQ	#0,D0
	MOVE.L	D0,D5
	move	D0,-8(A6)
L0421:
	MOVEQ	#$48,D0
	CMP.W	D0,D5
	BGE	L0425
	move	D5,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE	L0424
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.B	20(A0),D0
	EXT.W	D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L0424
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.B	21(A0),D0
	EXT.W	D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L0424
	TST.W	-48(A6)
	BNE.S	L0422
	move	-8(A6),D0
	MOVEQ	#1,D1
	CMP.W	D1,D0
	BLE.S	L0423
	MOVE.L	D7,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_TechLevel,A0
	ADDA.L	D1,A0
	MOVE.L	D5,D1
	SUB.W	(A0),D1
	EXT.L	D1
	DIVS	#3,D1
	SWAP	D1
	TST.W	D1
	BNE.S	L0423
	TST.W	_Diff
	BEQ.S	L0423
L0422:
	TST.W	-48(A6)
	BEQ.S	L0424
	move	-8(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	move	-40(A6,D0.L),D1
	CMP.W	D5,D1
	BNE.S	L0424
L0423:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B74
	PEA	_XEB
	JSR	_strcat
	LEA	16(sp),sp
	move	-8(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDQ.W	#1,-8(A6)
	move	D5,-40(A6,D0.L)
L0424:
	ADDQ.W	#1,D5
	BRA	L0421
;
L0425:
	move	#6,_MSource
	TST.W	-8(A6)
	BEQ	L0428
	move	#1,_HelpAvl
	MOVEQ	#0,D0
	move	D0,_NoHi
	move	D0,_DefaultItem
	MOVEQ	#$40,D0
	move	D0,-(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_DoMenu
	MOVE.L	D0,D5
	JSR	_hidemouse
	JSR	_RestoreScreen
	JSR	_showmouse
	ADDQ.W	#8,sp
	MOVEQ	#-1,D0
	CMP.W	D0,D5
	BNE.S	L0426
	MOVEQ	#0,D5
L0426:
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	move	-40(A6,D0.L),D5
	TST.W	_Help
	BEQ.S	L0427
	CLR.W	-(sp)
	move	D5,-(sp)
	JSR	_Blurb
	JSR	_ResetScreen
	ADDQ.W	#4,sp
	move	#1,-48(A6)
	BRA	L0403
;
L0427:
	move	D5,_NextCiv
	BRA.S	L0429
;
L0428:
	PEA	L1B75
	PEA	_XEB
	JSR	_strcat
	move	_TechBonus,D0
	ADDQ.W	#1,D0
	MOVEQ	#$A,D1
	move	D1,(sp)
	PEA	_ntmp
	move	D0,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B76
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$50,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	32(sp),sp
	move	#$47,_NextCiv
L0429:
	MOVE.L	D5,D0
L042A:
	MOVEM.L	(sp)+,D2-D7
	UNLK	A6
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_HasCivilized:
	LINK	A6,#-8
	MOVEM.L	D4-D7/D2,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	move	12(A6),D5
	move	D6,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE	L044E
	MOVEQ	#$47,D0
	CMP.W	D0,D6
	BEQ.S	L042C
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$A,D1
	JSR	__CXM22
	LEA	_Civilized,A0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$10,D1
	DIVS	D1,D0
	MOVE.L	D0,D2
	EXT.L	D2
	ADD.L	D2,D2
	ADDA.L	D2,A0
	MOVE.L	D6,D0
	EXT.L	D0
	DIVS	D1,D0
	SWAP	D0
	MOVEQ	#1,D1
	MOVE.L	D1,D2
	ASL.W	D0,D2
	OR.W	D2,(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$48,D1
	JSR	__CXM22
	LEA	_source,A0
	ADDA.L	D0,A0
	ADDA.W	D6,A0
	MOVE.L	D5,D0
	MOVE.B	D0,(A0)
L042C:
	TST.W	_Rtime
	BNE.S	L042D
	BRA	L044E
;
L042D:
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_TechLevel,A0
	ADDA.L	D0,A0
	ADDQ.W	#1,(A0)
	move	_Player,D0
	CMP.W	D0,D7
	BEQ.S	L042E
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	BTST	#6,1(A0)
	BEQ	L043D
L042E:
	CLR.B	_XEB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_ArmyTexts,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	CMP.W	D5,D7
	BEQ.S	L042F
	TST.W	D5
	BNE.S	L0430
L042F:
	PEA	L1B77
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	BRA.S	L0431
;
L0430:
	PEA	L1B78
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
L0431:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	CMP.W	D5,D7
	BEQ.S	L0433
	TST.W	D5
	BEQ.S	L0433
	PEA	L1B79
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	MOVEQ	#-2,D0
	CMP.W	D0,D5
	BNE.S	L0432
	PEA	L1B7A
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	BRA.S	L0433
;
L0432:
	MOVE.L	D5,D0
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_ArmyTexts,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
L0433:
	PEA	L1B7B
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	CMP.W	_Player,D7
	BEQ	L0439
	CLR.W	-8(A6)
L0434:
	move	-8(A6),D0
	MOVEQ	#$18,D1
	CMP.W	D1,D0
	BGE.S	L0436
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	28(A1),D0
	CMP.W	D6,D0
	BNE.S	L0435
	move	-8(A6),D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B7C
	PEA	_XEB
	JSR	_strcat
	LEA	16(sp),sp
L0435:
	ADDQ.W	#1,-8(A6)
	BRA.S	L0434
;
L0436:
	CLR.W	-8(A6)
L0437:
	move	-8(A6),D0
	MOVEQ	#$1C,D1
	CMP.W	D1,D0
	BGE.S	L0439
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	32(A1),D0
	CMP.W	D6,D0
	BNE.S	L0438
	move	-8(A6),D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B7D
	PEA	_XEB
	JSR	_strcat
	LEA	16(sp),sp
L0438:
	ADDQ.W	#1,-8(A6)
	BRA.S	L0437
;
L0439:
	move	_Player,D0
	CMP.W	D0,D7
	BNE.S	L043A
	MOVEQ	#-2,D1
	CMP.W	D1,D5
	BNE	L043E
L043A:
	MOVEQ	#-1,D1
	CMP.W	_parlez,D1
	BNE	L043E
	move	#1,_NoHi
	CMP.W	_Player,D7
	BEQ.S	L043B
	CLR.W	_MSource
	BRA.S	L043C
;
L043B:
	move	#6,_MSource
L043C:
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	ADDQ.W	#8,sp
	BRA	L043E
;
L043D:
	MOVE.L	D6,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_first,A0
	ADDA.L	D0,A0
	MOVEQ	#7,D0
	AND.W	(A0),D0
	BNE	L043E
	MOVEQ	#8,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L043E
	move	D6,-(sp)
	move	_Player,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE	L043E
	MOVEQ	#3,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	TST.W	D0
	BNE	L043E
	CLR.W	-(sp)
	MOVEQ	#-1,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_Parley
	ADDQ.W	#6,sp
	ADDQ.W	#1,D0
	BEQ	L043E
	MOVEQ	#0,D0
	move	D0,_parlez
	move	D0,_parleyed
	CLR.B	_XEB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_ArmyTexts,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	MOVE.L	_To,-(sp)
	JSR	_strcpy
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	MOVE.L	L1C52,-(sp)
	JSR	_strcpy
	PEA	L1B7E
	JSR	_KingTalk
	move	#2,_KingMood
	move	#$C,_Talking
	move	#$8B,D0
	move	D0,(sp)
	MOVEQ	#20,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_kMenu
	JSR	_UnLoadKing
	JSR	_ResetKing
	LEA	22(sp),sp
L043E:
	CMP.W	_Player,D7
	BNE.S	L0441
	MOVEQ	#$47,D0
	CMP.W	D0,D6
	BEQ.S	L043F
	CLR.W	-(sp)
	move	D6,-(sp)
	JSR	_Blurb
	ADDQ.W	#4,sp
L043F:
	MOVEQ	#20,D0
	CMP.W	D0,D6
	BNE.S	L0440
	JSR	_LoadAdvisors
	JSR	_ResetScreen
L0440:
	MOVEQ	#-1,D0
	CMP.W	_parlez,D0
	BNE	L0442
	JSR	_ResetScreen
	MOVEQ	#5,D0
	CMP.W	D0,D6
	BNE	L0442
	PEA	L1B7F
	JSR	_Advice
	ADDQ.W	#4,sp
	BRA	L0442
;
L0441:
	TST.W	_Diff
	BNE	L0442
	MOVEQ	#$16,D0
	CMP.W	D0,D6
	BNE	L0442
	move	_Player,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A1
	TST.W	(A1)
	SEQ	D0
	ANDI.W	#1,D0
	BTST	#6,D0
	BEQ	L0442
	MOVEQ	#-1,D0
	CMP.W	_parlez,D0
	BNE.S	L0442
	move	_Player,D0
	EXT.L	D0
	ASL.L	#4,D0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	BSET	#6,1(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$C,D1
	JSR	__CXM22
	LEA	_ArmyTexts,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcpy
	PEA	L1B80
	PEA	_XEB
	JSR	_strcat
	move	#1,_MSource
	MOVEQ	#$64,D0
	move	D0,(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	JSR	_Intelligence
	LEA	22(sp),sp
L0442:
	MOVEQ	#$22,D0
	CMP.W	D0,D6
	BEQ.S	L0443
	MOVEQ	#$25,D0
	CMP.W	D0,D6
	BNE	L0447
L0443:
	CLR.W	-4(A6)
L0444:
	move	-4(A6),D0
	CMPI.W	#$80,D0
	BGE.S	L0446
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ.S	L0445
	move	-4(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE.S	L0445
	move	-4(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BCLR	#1,3(A0)
L0445:
	ADDQ.W	#1,-4(A6)
	BRA.S	L0444
;
L0446:
	CMP.W	_Player,D7
	BNE.S	L0447
	MOVEQ	#-1,D0
	CMP.W	_parlez,D0
	BNE.S	L0447
	PEA	L1B81
	PEA	_XEB
	JSR	_strcpy
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B82
	PEA	_XEB
	JSR	_strcat
	move	#3,_MSource
	MOVEQ	#$64,D0
	move	D0,(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	26(sp),sp
L0447:
	MOVE.L	D6,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_first,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#7,D0
	AND.W	(A1),D0
	BNE	L044A
	MOVE.L	D6,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	OR.W	D7,(A0)
	move	D6,-(sp)
	move	D7,-(sp)
	MOVEQ	#2,D0
	move	D0,-(sp)
	MOVEQ	#5,D1
	move	D1,-(sp)
	JSR	_AddReplay
	ADDQ.W	#8,sp
	move	#1,-4(A6)
L0448:
	move	-4(A6),D0
	MOVEQ	#$15,D1
	CMP.W	D1,D0
	BGT	L044A
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_EndWonder,A0
	ADDA.L	D0,A0
	move	(A0),D0
	CMP.W	D6,D0
	BNE	L0449
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Wonders,A0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	CMP.W	_Player,D0
	BNE.S	L0449
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$16,D1
	JSR	__CXM22
	LEA	_cv,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcpy
	PEA	L1B83
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$18,D0
	ADD.W	-4(A6),D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B84
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#-1,D0
	move	D0,(sp)
	JSR	_NewsPaper
	LEA	28(sp),sp
L0449:
	ADDQ.W	#1,-4(A6)
	BRA	L0448
;
L044A:
	move	L2177,D4
	MOVEQ	#-1,D0
	CMP.W	D0,D4
	BEQ	L044E
	MOVE.L	D4,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D4
	EXT.W	D4
	move	D6,-(sp)
	move	D4,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE.S	L044E
	MOVEQ	#5,D0
	move	D0,-(sp)
	move	D4,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L044E
	CLR.W	-6(A6)
	move	#1,-4(A6)
L044B:
	move	-4(A6),D0
	MOVEQ	#8,D1
	CMP.W	D1,D0
	BGE.S	L044D
	move	D6,-(sp)
	move	D0,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L044C
	ADDQ.W	#1,-6(A6)
L044C:
	ADDQ.W	#1,-4(A6)
	BRA.S	L044B
;
L044D:
	CMPI.W	#2,-6(A6)
	BLT.S	L044E
	MOVEQ	#-2,D0
	move	D0,-(sp)
	move	D6,-(sp)
	move	D4,-(sp)
	BSR	_HasCivilized
	ADDQ.W	#6,sp
L044E:
	MOVEM.L	(sp)+,D4-D7/D2
	UNLK	A6
	RTS
;
;
_IsCivilized
	MOVEM.L	D5-D7/D2,-(sp)
	move	20(sp),D7
	move	22(sp),D6
	MOVEQ	#-1,D0
	CMP.W	D0,D6
	BNE.S	L0450
	MOVEQ	#1,D0
	BRA.S	L0454
;
L0450:
	MOVEQ	#$47,D0
	CMP.W	D0,D6
	BLT.S	L0451
	MOVEQ	#0,D0
	BRA.S	L0454
;
L0451:
	TST.W	D7
	BNE.S	L0452
	MOVEQ	#0,D0
	BRA.S	L0454
;
L0452:
	MOVE.L	D6,D0
	EXT.L	D0
	MOVEQ	#$10,D1
	DIVS	D1,D0
	MOVE.L	D0,D5
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$A,D1
	JSR	__CXM22
	LEA	_Civilized,A0
	ADDA.L	D0,A0
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	MOVE.L	D6,D0
	EXT.L	D0
	DIVS	#$10,D0
	SWAP	D0
	MOVEQ	#1,D1
	MOVE.L	D1,D2
	ASL.W	D0,D2
	move	(A0),D0
	AND.W	D2,D0
	BEQ.S	L0453
	MOVE.L	D1,D0
	BRA.S	L0454
;
L0453:
	MOVEQ	#0,D0
L0454:
	MOVEM.L	(sp)+,D5-D7/D2
	RTS
;
;
_CVal:
	MOVEM.L	A2/D6-D7,-(sp)
	move	16(sp),D7
	move	18(sp),D6
	MOVE.L	D6,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_CivVal,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D6,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Leaders,A2
	ADDA.L	D0,A2
	move	(A2),D0
	EXT.L	D0
	MOVEQ	#$3A,D1
	JSR	__CXM22
	LEA	_ld,A2
	ADDA.L	D0,A2
	MOVE.B	1(A0),D0
	EXT.W	D0
	MULS	52(A2),D0
	MOVE.B	(A1),D1
	EXT.W	D1
	ADD.W	D0,D1
	MOVE.L	D1,D0
	MOVEM.L	(sp)+,A2/D6-D7
	RTS
;
;
	dc.b	$00,$00
_IndexOf
	MOVEM.L	D5-D7,-(sp)
	move	16(sp),D7
	move	18(sp),D6
	MOVEQ	#0,D5
L0457:
	MOVEQ	#20,D0
	CMP.W	D0,D5
	BGT.S	L0459
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A0
	ADDA.L	D0,A0
	CMP.W	(A0),D7
	BNE.S	L0458
	MOVE.L	D5,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A0
	ADDA.L	D0,A0
	CMP.W	(A0),D6
	BNE.S	L0458
	MOVE.L	D5,D0
	BRA.S	L045A
;
L0458:
	ADDQ.W	#1,D5
	BRA.S	L0457
;
L0459:
	MOVEQ	#-1,D0
L045A:
	MOVEM.L	(sp)+,D5-D7
	RTS
;
;
;
;----------------------------------------------------------------------------
;
_CityEcon:
	LINK	A6,#-$11C
	MOVEM.L	A5/A2-A3/D2-D7,-(sp)
	move	8(A6),D7
	move	10(A6),D6
	MOVEQ	#0,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-6(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	CMPI.B	#-1,6(A0)
	BNE.S	L045C
	JMP	L063A
;
L045C:
	MOVEQ	#0,D0
	move	D0,_CMode
	move	D0,-254(A6)
	move	D0,-256(A6)
	move	D0,-80(A6)
	move	D0,-244(A6)
	JSR	_hidemouse
	CLR.W	-88(A6)
L045D:
	CMPI.W	#5,-88(A6)
	BGE.S	L0460
	CLR.W	-90(A6)
L045E:
	move	-90(A6),D0
	MOVEQ	#5,D1
	CMP.W	D1,D0
	BGE.S	L045F
	move	-88(A6),D1
	MULS	#$A,D1
	LEA	-200(A6),A0
	ADDA.L	D1,A0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	CLR.W	(A0)
	ADDQ.W	#1,-90(A6)
	BRA.S	L045E
;
L045F:
	ADDQ.W	#1,-88(A6)
	BRA.S	L045D
;
L0460:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-88(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A1),D0
	move	D7,_TheCity
	move	#7,-82(A6)
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-90(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#0,3(A1)
	BEQ.S	L0461
	MOVEQ	#0,D0
	BRA.S	L0462
;
L0461:
	MOVEQ	#$20,D0
L0462:
	move	D0,_pdist
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.W	#$3E7,14(A1)
	BGT.S	L0463
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	14(A1),D0
	TST.W	D0
	BPL.S	L0464
L0463:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	move	D0,14(A0)
L0464:
	CLR.W	-84(A6)
L0465:
	move	-84(A6),D0
	CMPI.W	#$80,D0
	BGE	L046C
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ	L046B
	move	-84(A6),D0
	CMP.W	D0,D7
	BEQ	L046B
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	move	-84(A6),D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	-90(A6),-(sp)
	move	40(sp),-(sp)
	move	-88(A6),-(sp)
	JSR	_mapdist
	ADDQ.W	#8,sp
	move	D0,-86(A6)
	CMP.W	-82(A6),D0
	BGE.S	L0466
	TST.W	D0
	BEQ.S	L0466
	move	D0,-82(A6)
L0466:
	move	-84(A6),D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	11(A1),D0
	CMP.B	11(A2),D0
	BNE.S	L0467
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#0,3(A0)
	BEQ.S	L0467
	move	-86(A6),D0
	MOVE.L	D0,D1
	CMP.W	_pdist,D1
	BGE.S	L0467
	move	D0,_pdist
L0467:
	CMPI.W	#5,-86(A6)
	BGT	L046B
	CLR.W	-4(A6)
L0468:
	move	-4(A6),D0
	MOVEQ	#20,D1
	CMP.W	D1,D0
	BGT	L046B
	move	-84(A6),D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	move	-4(A6),D1
	ASL.L	D1,D0
	MOVE.L	16(A1),D2
	AND.L	D0,D2
	BNE.S	L0469
	MOVEQ	#20,D0
	CMP.W	D0,D1
	BNE	L046A
L0469:
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	ADD.W	(A2),D0
	move	-84(A6),D1
	EXT.L	D1
	move	D0,-12(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	ADD.W	(A1),D0
	move	-12(A6),D1
	SUB.W	-88(A6),D1
	move	D1,-(sp)
	move	D0,-14(A6)
	JSR	_abs
	ADDQ.W	#2,sp
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BGT.S	L046A
	move	-14(A6),D0
	SUB.W	-90(A6),D0
	move	D0,-(sp)
	JSR	_abs
	ADDQ.W	#2,sp
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BGT.S	L046A
	move	-12(A6),D0
	SUB.W	-88(A6),D0
	MULS	#$A,D0
	LEA	-180(A6),A0
	ADDA.L	D0,A0
	move	-14(A6),D0
	SUB.W	-90(A6),D0
	MOVE.L	D0,D2
	EXT.L	D2
	ADD.L	D2,D2
	ADDA.L	D2,A0
	move	#1,4(A0)
L046A:
	ADDQ.W	#1,-4(A6)
	BRA	L0468
;
L046B:
	ADDQ.W	#1,-84(A6)
	BRA	L0465
;
L046C:
	MOVEQ	#0,D0
	move	D0,-176(A6)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	move	D0,_who
	move	#$15,_maxblock
	move	_XMap,-72(A6)
	move	_YMap,-74(A6)
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A1
	ADDA.L	D0,A1
	CMPI.W	#1,(A1)
	BLE.S	L046D
	MOVEQ	#2,D0
	BRA.S	L046E
;
L046D:
	MOVEQ	#1,D0
L046E:
	CLR.W	_PLevel
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-138(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#4,2(A0)
	BNE.S	L0472
	MOVEQ	#$23,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L046F
	ADDQ.W	#1,_PLevel
L046F:
	MOVEQ	#$3A,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0470
	ADDQ.W	#1,_PLevel
L0470:
	MOVEQ	#$29,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0471
	ADDQ.W	#1,_PLevel
L0471:
	MOVEQ	#$3C,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0472
	ADDQ.W	#1,_PLevel
L0472:
	move	#$A,-124(A6)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	16(A1),D0
	SWAP	D0
	EXT.L	D0
	ASR.L	#8,D0
	ASR.L	#2,D0
	move	D0,_idle
	move	_Player,D0
	move	_who,D1
	CMP.W	D0,D1
	BEQ.S	L0475
	move	_Diff,D1
	MOVE.L	D1,D2
	ADD.W	D2,D2
	MOVEQ	#$10,D3
	SUB.W	D2,D3
	MOVEM.W	D3,-124(A6)
	move	_Year,D2
	TST.W	D2
	BMI.S	L0473
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nrank,A1
	ADDA.L	D0,A1
	MOVEQ	#7,D0
	CMP.W	(A1),D0
	BNE.S	L0473
	MOVEQ	#1,D0
	CMP.W	D0,D1
	BLE.S	L0473
	SUBQ.W	#2,-124(A6)
L0473:
citydiff_fix_1:			;patch to force positive nonzero divisor -124(a6)
	TST.W	D6
	BNE.S	L0475
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#0,6(A1)
	BNE.S	L0474
	CLR.W	_idle
	BRA.S	L0475
;
L0474:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	CLR.L	16(A0)
L0475:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-88(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	MOVEM.W	D0,-90(A6)
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE	L047C
	move	D7,-(sp)
	JSR	_ActivateGarr
	MOVEQ	#0,D0
	move	D0,-(sp)
	move	#$C8,D1
	move	D1,-(sp)
	move	#$140,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	MOVEQ	#$15,D0
	move	D0,(sp)
	move	#$D0,D1
	move	D1,-(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	MOVEQ	#2,D3
	move	D3,-(sp)
	JSR	_BlueBox
	LEA	22(sp),sp
	CLR.W	-92(A6)
	move	#1,-4(A6)
L0476:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	move	-4(A6),D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BGT.S	L0477
	ADD.W	D1,-92(A6)
	ADDQ.W	#1,-4(A6)
	BRA.S	L0476
;
L0477:
	MOVEA.L	_Rp1,A0
	move	#2,16(A0)
	CLR.B	_XEB
	move	D7,-(sp)
	JSR	_CityName
	PEA	_XEB
	JSR	_strupr
	PEA	L1B89
	PEA	_XEB
	JSR	_strcat
	move	-92(A6),(sp)
	JSR	_PopString
	PEA	L1B8A
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$F,D0
	move	D0,(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	MOVEQ	#$68,D2
	move	D2,-(sp)
	PEA	_XEB
	JSR	_cPrint
	MOVEQ	#$68,D0
	move	D0,(sp)
	move	#$D0,D1
	move	D1,-(sp)
	MOVEQ	#$17,D2
	move	D2,-(sp)
	MOVEQ	#$7F,D3
	move	D3,-(sp)
	JSR	_BlueBox
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	SUBQ.W	#5,D0
	move	D0,_XMap
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A1),D0
	SUBQ.W	#3,D0
	move	D0,_YMap
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,72(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,(sp)
	move	72(sp),-(sp)
	JSR	_RestoreBlock
	LEA	38(sp),sp
	CLR.W	-4(A6)
L0478:
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	_maxblock,D1
	BGE	L047C
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	ADD.W	(A2),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-12(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	ADD.W	(A1),D0
	MOVEM.W	D0,-14(A6)
	move	_who,D1
	move	_Player,D2
	CMP.W	D1,D2
	BNE.S	L0479
	move	-12(A6),D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-14(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	move	_who,D2
	ASL.W	D2,D1
	MOVE.B	(A0),D2
	EXT.W	D2
	AND.W	D1,D2
	BEQ	L047B
L0479:
	move	D0,-(sp)
	move	-12(A6),-(sp)
	JSR	_IsUnitAt
	ADDQ.W	#4,sp
	move	D0,-92(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L047A
	CMP.W	_who,D0
	BEQ.S	L047A
	move	-14(A6),-(sp)
	move	-12(A6),-(sp)
	JSR	_ShowBlock
	ADDQ.W	#4,sp
	BRA	L047B
;
L047A:
	move	-14(A6),-(sp)
	move	-12(A6),-(sp)
	JSR	_RestoreBlock
	ADDQ.W	#4,sp
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A0
	ADDA.L	D0,A0
	move	(A0),D0
	ADDQ.W	#2,D0
	MULS	#$A,D0
	LEA	-200(A6),A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A1
	ADDA.L	D0,A1
	move	(A1),D0
	ADDQ.W	#2,D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	TST.W	(A0)
	BEQ.S	L047B
	move	-12(A6),D0
	SUB.W	_XMap,D0
	ADDQ.W	#5,D0
	ASL.W	#4,D0
	move	-14(A6),D1
	SUB.W	_YMap,D1
	ASL.W	#4,D1
	ADDQ.W	#8,D1
	MOVEQ	#$C,D2
	move	D2,-(sp)
	MOVEQ	#$F,D3
	move	D3,-(sp)
	move	D3,-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	JSR	_Box
	LEA	10(sp),sp
L047B:
	ADDQ.W	#1,-4(A6)
	BRA	L0478
;
L047C:
	TST.W	D6
	BNE	L0489
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	6(A1),D0
	EXT.W	D0
	MOVE.L	D0,D1
	ANDI.W	#-$81,D1
	MOVE.B	D1,6(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	12(A0),D0
	TST.W	D0
	BPL	L0485
	move	#-1,-92(A6)
	CLR.W	-4(A6)
L047D:
	move	-4(A6),D0
	CMPI.W	#$80,D0
	BGE.S	L047F
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	MOVE.L	D0,D1
	MULS	#$C,D1
	ADDA.L	D1,A1
	MOVE.L	D1,40(sp)
	TST.B	3(A1)
	BNE.S	L047E
	move	_who,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	40(sp),D0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE.S	L047E
	move	-4(A6),-92(A6)
	BRA.S	L047F
;
L047E:
	ADDQ.W	#1,-4(A6)
	BRA.S	L047D
;
L047F:
	move	_who,D0
	CMP.W	_Player,D0
	BNE.S	L0482
	PEA	L1B8B
	PEA	_XEB
	JSR	_strcpy
	move	D7,(sp)
	JSR	_CityName
	ADDQ.W	#8,sp
	MOVEQ	#-1,D0
	CMP.W	-92(A6),D0
	BEQ.S	L0480
	LEA	L1B8C,A0
	BRA.S	L0481
;
L0480:
	LEA	L1B8D,A0
L0481:
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	CLR.W	(sp)
	JSR	_DoSound
	move	D7,(sp)
	JSR	_NewsPaper
	MOVEQ	#$1A,D0
	move	D0,(sp)
	JSR	_DoSound
	ADDQ.W	#8,sp
L0482:
	move	-92(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0483
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_RemoveUnit
	ADDQ.W	#4,sp
	BRA.S	L0484
;
L0483:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	SUBQ.B	#1,7(A1)
	BNE.S	L0484
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	move	D7,-(sp)
	JSR	_DeleteCity
	CLR.W	(sp)
	move	_who,-(sp)
	JSR	_KillCiv
	JSR	_showmouse
	BRA	L063C
;
L0484:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	CLR.W	12(A0)
	move	-90(A6),-(sp)
	move	-88(A6),-(sp)
	JSR	_ChangeBlock
	ADDQ.W	#4,sp
L0485:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	7(A2),D0
	EXT.W	D0
	ADDQ.W	#1,D0
	MULS	-124(A6),D0
	move	12(A1),D1
	CMP.W	D0,D1
	BLT	L0489
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDQ.B	#1,7(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	BTST	#2,3(A2)
	BEQ.S	L0486
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	7(A2),D0
	EXT.W	D0
	ADDQ.W	#1,D0
	MOVE.L	D0,D1
	LSL.W	#2,D1
	ADD.W	D0,D1
	BRA.S	L0487
;
L0486:
	MOVEQ	#0,D1
L0487:
	move	D1,12(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#$A,7(A1)
	BLE	L0488
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#0,2(A1)
	BNE.S	L0488
	BTST	#2,L216B
	BEQ.S	L0488
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	SUBQ.B	#1,7(A0)
	move	_who,D0
	CMP.W	_Player,D0
	BNE.S	L0488
	move	#4,_MSource
	CLR.B	_XEB
	move	D7,-(sp)
	JSR	_CityName
	PEA	L1B8E
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$50,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	16(sp),sp
L0488:
	move	-90(A6),-(sp)
	move	-88(A6),-(sp)
	JSR	_ChangeBlock
	ADDQ.W	#4,sp
L0489:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	MOVE.L	D0,D5
	ADDQ.W	#1,D5
	MOVEQ	#0,D0
	move	D0,_active
	move	D0,_nmilitia
	move	D0,_support
	move	D0,_feed
	move	D0,-4(A6)
L048A:
	move	-4(A6),D0
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BGE.S	L048C
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	ADDA.W	-4(A6),A0
	CMPI.B	#-1,26(A0)
	BEQ.S	L048B
	ADDQ.W	#1,_nmilitia
L048B:
	ADDQ.W	#1,-4(A6)
	BRA.S	L048A
;
L048C:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	move	_nmilitia,D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BLE.S	L048D
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	move	_nmilitia,D1
	SUB.W	D0,D1
	move	D1,_support
L048D:
	CLR.W	-4(A6)
L048E:
	move	-4(A6),D0
	CMPI.W	#$80,D0
	BGE	L0494
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.L	D1,40(sp)
	CMPI.B	#-1,3(A1)
	BEQ	L0493
	move	_who,D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	40(sp),D0
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE	L0493
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A1
	CMPI.B	#$1A,3(A1)
	BGE	L0492
	ADDQ.W	#1,_nmilitia
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVE.B	7(A2),D0
	EXT.W	D0
	move	_nmilitia,D1
	CMP.W	D0,D1
	BGT.S	L048F
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A2
	ADDA.L	D0,A2
	CMPI.W	#1,(A2)
	BLE.S	L0490
	BTST	#1,L216B
	BEQ.S	L0490
L048F:
	ADDQ.W	#1,_support
L0490:
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	move	-4(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A2
	MOVE.B	3(A2),D3
	EXT.W	D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	D1,40(sp)
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	TST.W	20(A3)
	BEQ	L0492
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A3
	ADDA.L	D0,A3
	MOVE.L	40(sp),D0
	ADDA.L	D0,A3
	MOVE.B	3(A3),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	ADDA.L	D0,A2
	MOVEQ	#1,D0
	CMP.W	14(A2),D0
	BEQ.S	L0491
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	ADDA.L	40(sp),A2
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A1,A3
	ADDA.L	D0,A3
	MOVE.B	1(A2),D0
	CMP.B	4(A3),D0
	BNE.S	L0491
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	move	-4(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A2
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVE.B	2(A2),D0
	CMP.B	5(A1),D0
	BEQ.S	L0492
L0491:
	ADDQ.W	#1,_active
L0492:
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	MULS	D2,D0
	ADDA.L	D0,A0
	TST.B	3(A0)
	BNE.S	L0493
	ADDQ.W	#1,_feed
L0493:
	ADDQ.W	#1,-4(A6)
	BRA	L048E
;
L0494:
	MOVEQ	#0,D0
	move	D0,_unhappy
	move	D0,-4(A6)
L0495:
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	_maxblock,D1
	BGE	L049A
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	CLR.W	-66(A6,D1.L)
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	ADD.W	(A2),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-12(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	ADD.W	(A1),D0
	MOVEM.W	D0,-14(A6)
	TST.W	_who
	BEQ.S	L0496
	move	-12(A6),D1
	EXT.L	D1
	MOVEQ	#$32,D0
	JSR	__CXM22
	LEA	_seen,A0
	ADDA.L	D0,A0
	move	-14(A6),D0
	ADDA.W	D0,A0
	MOVEQ	#1,D1
	MOVE.L	D1,D2
	move	_who,D3
	ASL.W	D3,D2
	MOVE.B	(A0),D3
	EXT.W	D3
	AND.W	D2,D3
	BNE.S	L0496
	move	-4(A6),D2
	EXT.L	D2
	ADD.L	D2,D2
	move	D1,-66(A6,D2.L)
L0496:
	move	D0,-(sp)
	move	-12(A6),-(sp)
	JSR	_IsUnitAt
	ADDQ.W	#4,sp
	move	D0,-92(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L0497
	move	_who,D1
	CMP.W	D0,D1
	BEQ.S	L0497
	move	-4(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	move	-4(A6),D2
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_XMove,A0
	MOVEA.L	A0,A1
	ADDA.L	D2,A1
	move	(A1),D2
	ADDQ.W	#2,D2
	MOVEQ	#$A,D3
	MULS	D3,D2
	LEA	-200(A6),A1
	MOVEA.L	A1,A2
	ADDA.L	D2,A2
	move	-4(A6),D2
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_YMove,A3
	MOVEA.L	A3,A5
	ADDA.L	D2,A5
	move	(A5),D2
	ADDQ.W	#2,D2
	MOVE.L	D2,D4
	EXT.L	D4
	ADD.L	D4,D4
	ADDA.L	D4,A2
	MOVEQ	#1,D2
	move	D2,(A2)
	move	D2,-66(A6,D1.L)
	CMP.W	_Player,D0
	BNE.S	L0497
	move	D2,_unhappy
L0497:
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A0
	ADDA.L	D0,A0
	move	(A0),D0
	ADDQ.W	#2,D0
	MULS	#$A,D0
	LEA	-200(A6),A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A1
	ADDA.L	D0,A1
	move	(A1),D0
	ADDQ.W	#2,D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	TST.W	(A0)
	BEQ.S	L0498
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	move	#1,-66(A6,D0.L)
L0498:
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	TST.W	-66(A6,D0.L)
	BEQ.S	L0499
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	-4(A6),D1
	ASL.L	D1,D0
	NOT.L	D0
	AND.L	D0,16(A0)
L0499:
	ADDQ.W	#1,-4(A6)
	BRA	L0495
;
L049A:
	CLR.W	-4(A6)
L049B:
	move	-4(A6),D0
	MOVEQ	#4,D1
	CMP.W	D1,D0
	BGE.S	L049C
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_eff,A0
	ADDA.L	D0,A0
	CLR.W	(A0)
	ADDQ.W	#1,-4(A6)
	BRA.S	L049B
;
L049C:
	CLR.L	-266(A6)
	MOVEQ	#1,D0
	move	_who,D1
	ASL.W	D1,D0
	move	_Human,D1
	AND.W	D0,D1
	BNE.S	L049D
	move	_Rtime,D0
	ADD.W	D7,D0
	ANDI.W	#3,D0
	TST.W	D0
	BNE.S	L049D
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BNE.S	L049D
	TST.W	_unhappy
	BEQ	L04A6
L049D:
	CLR.W	-4(A6)
L049E:
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	_maxblock,D1
	BGE.S	L04A0
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	-4(A6),D1
	ASL.L	D1,D0
	MOVE.L	16(A0),D1
	AND.L	D0,D1
	BEQ.S	L049F
	SUBQ.W	#1,D5
L049F:
	ADDQ.W	#1,-4(A6)
	BRA.S	L049E
;
L04A0:
	TST.W	D5
	BMI	L04A3
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	MOVE.L	D0,D5
	ADDQ.W	#1,D5
	CLR.W	-4(A6)
L04A1:
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	_maxblock,D1
	BGE	L04A5
	TST.W	D5
	BEQ.S	L04A2
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	-4(A6),D1
	ASL.L	D1,D0
	MOVE.L	16(A0),D2
	AND.L	D0,D2
	TST.L	D2
	BEQ.S	L04A2
	MOVE.L	D1,D0
	EXT.L	D0
	ADD.L	D0,D0
	move	#1,-66(A6,D0.L)
	move	D6,-(sp)
	move	D1,-(sp)
	move	D7,-(sp)
	JSR	_BlockEcon
	ADDQ.W	#6,sp
	SUBQ.W	#1,D5
	MOVEQ	#1,D0
	move	-4(A6),D1
	ASL.L	D1,D0
	OR.L	D0,-266(A6)
L04A2:
	ADDQ.W	#1,-4(A6)
	BRA.S	L04A1
;
L04A3:
	TST.W	D6
	BNE.S	L04A4
	move	_who,D0
	CMP.W	_Player,D0
	BNE.S	L04A4
	PEA	L1B8F
	PEA	_XEB
	JSR	_strcpy
	move	D7,(sp)
	JSR	_CityName
	PEA	L1B90
	PEA	_XEB
	JSR	_strcat
	move	#4,_MSource
	MOVEQ	#$50,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	22(sp),sp
	MOVEQ	#1,D0
	move	D0,_UpdateCity
L04A4:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	MOVE.L	D0,D5
	ADDQ.W	#1,D5
L04A5:
	MOVE.L	D5,D0
	SUB.W	_idle,D0
	BEQ	L04B4
	TST.W	D5
	BEQ	L04B4
L04A6:
	TST.W	D5
	BLE.S	L04A7
	TST.W	-26(A6)
	BNE.S	L04A7
	move	#1,-26(A6)
	move	D6,-(sp)
	MOVEQ	#20,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_BlockEcon
	ADDQ.W	#6,sp
	BSET	#4,-265(A6)
	SUBQ.W	#1,D5
L04A7:
	MOVE.L	D5,D0
	TST.W	D0
	BPL.S	L04A8
	ADDQ.W	#1,D0
L04A8:
	ASR.W	#1,D0
	move	_eff,D1
	ADD.W	D0,D1
	MOVE.L	D7,D0
	EXT.L	D0
	move	D1,36(sp)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	ADD.W	D0,D0
	move	_feed,D1
	MULS	-138(A6),D1
	ADD.W	D1,D0
	move	36(sp),D1
	CMP.W	D0,D1
	BLT.S	L04A9
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	CMPI.B	#3,7(A0)
	BGE	L04AF
L04A9:
	MOVE.L	D5,D0
	SUB.W	_idle,D0
	BLE	L04AF
	MOVEQ	#-1,D0
	CMP.W	-6(A6),D0
	BEQ	L04AF
	MOVEQ	#0,D1
	move	D0,-6(A6)
	move	D1,-4(A6)
	move	D1,-106(A6)
	move	D1,-108(A6)
L04AA:
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	_maxblock,D1
	BGE	L04AE
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	TST.W	-66(A6,D1.L)
	BNE	L04AD
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	ADD.W	(A2),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-12(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	ADD.W	(A1),D0
	CLR.W	-(sp)
	move	D0,-(sp)
	move	-12(A6),-(sp)
	move	D0,-14(A6)
	JSR	_BlockProd
	MOVEQ	#1,D1
	move	D1,(sp)
	move	-14(A6),-(sp)
	move	-12(A6),-(sp)
	move	D0,-112(A6)
	JSR	_BlockProd
	LEA	10(sp),sp
	ADD.W	D0,D0
	MOVEM.W	D0,-114(A6)
	MOVEQ	#1,D1
	CMP.W	D1,D5
	BNE.S	L04AB
	TST.W	L2035
	BNE.S	L04AB
	TST.W	D0
	BEQ.S	L04AD
L04AB:
	MOVEQ	#2,D0
	move	D0,-(sp)
	move	-14(A6),-(sp)
	move	-12(A6),-(sp)
	JSR	_BlockProd
	ADDQ.W	#6,sp
	ADD.W	D0,-114(A6)
	move	-106(A6),D0
	move	-112(A6),D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BGT.S	L04AC
	CMP.W	D1,D0
	BNE.S	L04AD
	move	-114(A6),D0
	MOVE.L	D0,D2
	CMP.W	-108(A6),D2
	BLE.S	L04AD
L04AC:
	move	-114(A6),-108(A6)
	move	-4(A6),-6(A6)
	move	D1,-106(A6)
L04AD:
	ADDQ.W	#1,-4(A6)
	BRA	L04AA
;
L04AE:
	move	-6(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L04AF
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	move	#1,-66(A6,D1.L)
	move	D6,-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_BlockEcon
	ADDQ.W	#6,sp
	MOVEQ	#1,D0
	move	-6(A6),D1
	ASL.L	D1,D0
	OR.L	D0,-266(A6)
	SUBQ.W	#1,D5
	BRA	L04A7
;
L04AF:
	move	_who,D0
	CMP.W	_Player,D0
	BEQ.S	L04B0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BEQ.S	L04B0
	ADDQ.W	#1,_idle
L04B0:
	MOVE.L	D5,D0
	SUB.W	_idle,D0
	BLE	L04B4
	move	#-1,-6(A6)
	MOVEQ	#0,D0
	move	D0,-4(A6)
	move	D0,-106(A6)
	move	D0,-108(A6)
	move	D0,-110(A6)
L04B1:
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	_maxblock,D1
	BGE	L04B3
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	TST.W	-66(A6,D1.L)
	BNE	L04B2
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	ADD.W	(A2),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-12(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	ADD.W	(A1),D0
	CLR.W	-(sp)
	move	D0,-(sp)
	move	-12(A6),-(sp)
	move	D0,-14(A6)
	JSR	_BlockProd
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,42(sp)
	move	D0,-100(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	ADD.W	D0,D0
	move	_eff,D1
	SUB.W	D0,D1
	move	_feed,D0
	MULS	-138(A6),D0
	SUB.W	D0,D1
	MOVEQ	#$63,D0
	move	D0,(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	MOVEQ	#$10,D1
	EXT.L	D1
	DIVS	D0,D1
	move	46(sp),D0
	MULS	D1,D0
	MOVEQ	#1,D1
	move	D1,(sp)
	move	-14(A6),-(sp)
	move	-12(A6),-(sp)
	move	D0,-114(A6)
	JSR	_BlockProd
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,50(sp)
	move	D0,-102(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	ADD.W	D1,D1
	ADD.W	D0,D1
	move	L2035,D0
	SUB.W	_support,D0
	MOVEQ	#$63,D2
	move	D2,(sp)
	MOVEQ	#1,D3
	move	D3,-(sp)
	move	D0,-(sp)
	move	D1,56(sp)
	JSR	_rng
	move	56(sp),D1
	EXT.L	D1
	DIVS	D0,D1
	move	54(sp),D0
	MULS	D1,D0
	ADD.W	D0,-114(A6)
	MOVEQ	#2,D0
	move	D0,(sp)
	move	-14(A6),-(sp)
	move	-12(A6),-(sp)
	JSR	_BlockProd
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,58(sp)
	move	D0,-104(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	ADD.W	D0,D0
	MOVEQ	#$63,D1
	move	D1,(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	L2036,-(sp)
	move	D0,64(sp)
	JSR	_rng
	LEA	26(sp),sp
	move	38(sp),D1
	EXT.L	D1
	DIVS	D0,D1
	move	36(sp),D0
	MULS	D1,D0
	ADD.W	D0,-114(A6)
	move	-114(A6),D0
	MOVE.L	D0,D1
	CMP.W	-108(A6),D1
	BLE.S	L04B2
	move	-4(A6),-6(A6)
	move	-100(A6),D1
	ADD.W	-100(A6),D1
	move	-102(A6),D2
	ADD.W	D2,D1
	ADD.W	D2,D1
	ADD.W	-104(A6),D1
	move	D0,-108(A6)
	move	D1,-110(A6)
L04B2:
	ADDQ.W	#1,-4(A6)
	BRA	L04B1
;
L04B3:
	move	-6(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L04B4
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	move	#1,-66(A6,D1.L)
	move	D6,-(sp)
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_BlockEcon
	ADDQ.W	#6,sp
	MOVEQ	#1,D0
	move	-6(A6),D1
	ASL.L	D1,D0
	OR.L	D0,-266(A6)
	SUBQ.W	#1,D5
	BRA	L04B0
;
L04B4:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.L	D5,D0
	EXT.L	D0
	SWAP	D0
	CLR.W	D0
	ASL.L	#8,D0
	ASL.L	#2,D0
	MOVE.L	-266(A6),D1
	ADD.L	D0,D1
	MOVE.L	D1,16(A0)
	MOVE.L	D5,D0
	NEG.W	D0
	move	D0,-96(A6)
L04B5:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-88(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D5,-202(A6)
	CLR.W	-4(A6)
	move	D0,-90(A6)
L04B6:
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	-202(A6),D1
	BGE.S	L04B8
	move	D0,-(sp)
	JSR	_GetElvis
	ADDQ.W	#2,sp
	TST.W	D0
	BNE.S	L04B7
	MOVEQ	#3,D0
	move	D0,-(sp)
	move	-4(A6),-(sp)
	JSR	_PutElvis
	ADDQ.W	#4,sp
L04B7:
	ADDQ.W	#1,-4(A6)
	BRA.S	L04B6
;
L04B8:
	move	-202(A6),-4(A6)
L04B9:
	move	-4(A6),D0
	MOVEQ	#8,D1
	CMP.W	D1,D0
	BGE.S	L04BA
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_PutElvis
	ADDQ.W	#4,sp
	ADDQ.W	#1,-4(A6)
	BRA.S	L04B9
;
L04BA:
	MOVEQ	#0,D0
	move	#1,_Dirty
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-132(A6)
	move	D0,-134(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#6,2(A1)
	BEQ.S	L04BB
	MOVEQ	#2,D0
	move	D0,-132(A6)
L04BB:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#7,2(A1)
	BEQ.S	L04BC
	move	#4,-132(A6)
L04BC:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#2,1(A1)
	BEQ.S	L04BD
	MOVEQ	#2,D0
	move	D0,-134(A6)
L04BD:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#3,1(A1)
	BEQ.S	L04BE
	MOVEQ	#2,D0
	move	D0,_Dirty
	move	D0,-134(A6)
L04BE:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#4,1(A0)
	BEQ.S	L04BF
	MOVEQ	#2,D0
	move	D0,_Dirty
	move	D0,-134(A6)
L04BF:
	MOVEQ	#$F,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L04C0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_GetRegion
	move	L217A,D1
	EXT.L	D1
	move	D0,40(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	move	L217A,D1
	EXT.L	D1
	move	D0,42(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,(sp)
	move	42(sp),-(sp)
	JSR	_GetRegion
	ADDQ.W	#6,sp
	move	36(sp),D1
	CMP.W	D0,D1
	BNE.S	L04C0
	MOVEQ	#2,D0
	move	D0,_Dirty
	move	D0,-134(A6)
L04C0:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#1,1(A0)
	BEQ.S	L04C1
	move	#3,_Dirty
L04C1:
	move	-132(A6),-(sp)
	CLR.W	-(sp)
	move	-134(A6),-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	L2035,D1
	move	L2036,-150(A6)
	move	-132(A6),D2
	MULS	D1,D2
	TST.W	D2
	BPL.S	L04C2
	ADDQ.W	#3,D2
L04C2:
	ASR.W	#2,D2
	move	D0,-134(A6)
	MULS	D1,D0
	TST.W	D0
	BPL.S	L04C3
	ADDQ.W	#3,D0
L04C3:
	ASR.W	#2,D0
	ADD.W	D0,D2
	ADD.W	D2,L2035
	move	D1,-140(A6)
	TST.W	D6
	BNE	L050B
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	7(A2),D0
	EXT.W	D0
	ADD.W	D0,D0
	move	_eff,D1
	SUB.W	D0,D1
	move	_feed,D0
	MULS	-138(A6),D0
	SUB.W	D0,D1
	ADD.W	D1,12(A1)
	move	L2035,D0
	move	D0,-92(A6)
	SUB.W	_support,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-92(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#0,6(A1)
	BEQ.S	L04C4
	MOVEQ	#0,D0
	move	D0,-92(A6)
L04C4:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-92(A6),D0
	ADD.W	D0,14(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI	L04DC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	move	24(A3),D0
	move	-124(A6),D1
	MULS	D1,D0
	move	14(A1),D2
	CMP.W	D0,D2
	BLT	L04FB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.B	9(A1)
	BNE.S	L04C5
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	CMP.B	7(A1),D0
	BNE.S	L04C5
	TST.W	_Diff
	BEQ	L04FF
L04C5:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A3
	ADDA.L	D0,A3
	MOVE.B	9(A3),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A2
	move	24(A2),D0
	MULS	-124(A6),D0
	SUB.W	D0,14(A1)
	move	#-1,-94(A6)
	move	_who,D0
	move	_Player,D1
	CMP.W	D0,D1
	BEQ.S	L04C6
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#$1A,D0
	CMP.B	9(A1),D0
	BEQ.S	L04C7
L04C6:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,38(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	40(sp),-(sp)
	move	40(sp),-(sp)
	move	_who,-(sp)
	JSR	_AddUnit
	ADDQ.W	#8,sp
	move	D0,-94(A6)
L04C7:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_first,A1
	ADDA.L	D0,A1
	BTST	#3,1(A1)
	BNE.S	L04C8
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	move	D0,-(sp)
	move	_who,-(sp)
	MOVEQ	#2,D1
	move	D1,-(sp)
	MOVEQ	#6,D2
	move	D2,-(sp)
	JSR	_AddReplay
	ADDQ.W	#8,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_first,A1
	ADDA.L	D0,A1
	BSET	#3,1(A1)
L04C8:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#1,3(A1)
	BEQ.S	L04C9
	move	-94(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ.S	L04C9
	move	_who,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A1
	ADDA.L	D0,A1
	move	-94(A6),D0
	MOVE.L	D0,D1
	MULS	#$C,D1
	ADDA.L	D1,A1
	BSET	#5,(A1)
L04C9:
	MOVEQ	#-1,D0
	CMP.W	-94(A6),D0
	BEQ	L04CB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.B	9(A1)
	BNE	L04CB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#1,7(A1)
	BGT.S	L04CA
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Ncity,A1
	ADDA.L	D0,A1
	CMPI.W	#1,(A1)
	BLE	L04CB
L04CA:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	SUBQ.B	#1,7(A1)
	BNE	L04CB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	move	D7,-(sp)
	JSR	_DeleteCity
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,42(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,44(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,(sp)
	move	44(sp),-(sp)
	move	44(sp),-(sp)
	move	_who,-(sp)
	JSR	_AddUnit
	CLR.W	(sp)
	move	_who,-(sp)
	move	D0,-94(A6)
	JSR	_KillCiv
	JSR	_showmouse
	BRA	L063C
;
L04CB:
	move	_who,D0
	CMP.W	_Player,D0
	BEQ	L04DA
	MOVEQ	#-1,D0
	CMP.W	-94(A6),D0
	BEQ	L04DA
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#$1B,D0
	CMP.B	9(A0),D0
	BNE	L04CF
	MOVEQ	#-1,D0
	CLR.W	-84(A6)
	move	D0,-8(A6)
	move	D0,-6(A6)
L04CC:
	move	-84(A6),D0
	CMPI.W	#$80,D0
	BGE	L04CE
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	_who,D0
	BEQ.S	L04CD
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ.S	L04CD
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	_Player,D0
	BEQ.S	L04CD
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	10(A1),D0
	EXT.W	D0
	CMP.W	-8(A6),D0
	BLE.S	L04CD
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	10(A0),D0
	EXT.W	D0
	move	-84(A6),-6(A6)
	move	D0,-8(A6)
L04CD:
	ADDQ.W	#1,-84(A6)
	BRA	L04CC
;
L04CE:
	move	-6(A6),-(sp)
	move	-94(A6),-(sp)
	move	_who,-(sp)
	JSR	_AddCLink
	ADDQ.W	#6,sp
L04CF:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#$1A,D0
	CMP.B	9(A0),D0
	BNE	L04D8
	move	#-1,-6(A6)
	move	#$7FFF,-8(A6)
	MOVEQ	#0,D0
	move	D0,-84(A6)
	move	D0,-10(A6)
L04D0:
	move	-84(A6),D0
	CMPI.W	#$80,D0
	BGE	L04D6
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	_Player,D0
	BNE	L04D5
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ	L04D5
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	move	-84(A6),D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	move	-94(A6),-(sp)
	move	_who,-(sp)
	JSR	_FindCloseUnit
	move	_CloseDist,D1
	SUBQ.W	#3,D1
	move	D1,(sp)
	move	D0,-92(A6)
	JSR	_abs
	ADDQ.W	#8,sp
	move	D0,_CloseDist
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#5,6(A0)
	BEQ.S	L04D1
	MOVEQ	#3,D0
	move	D0,_CloseDist
L04D1:
	move	-8(A6),D0
	move	_CloseDist,D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BLT.S	L04D2
	CMP.W	D0,D1
	BNE	L04D5
	ADDQ.W	#1,-10(A6)
	move	-10(A6),-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	TST.W	D0
	BNE	L04D5
L04D2:
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-92(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	move	_who,D2
	EXT.L	D2
	MOVE.L	D0,40(sp)
	MOVE.L	D2,D0
	move	D1,44(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	40(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	46(sp),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BEQ	L04D5
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	move	-84(A6),D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_GetRegion
	move	_who,D1
	EXT.L	D1
	move	D0,40(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-92(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	move	_who,D2
	EXT.L	D2
	MOVE.L	D0,46(sp)
	MOVE.L	D2,D0
	move	D1,50(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	46(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,(sp)
	move	50(sp),-(sp)
	JSR	_GetRegion
	ADDQ.W	#6,sp
	move	36(sp),D1
	CMP.W	D0,D1
	BNE.S	L04D5
	move	_CloseDist,D0
	move	-8(A6),D1
	CMP.W	D0,D1
	BNE.S	L04D3
	move	#1,-10(A6)
	BRA.S	L04D4
;
L04D3:
	move	D0,-8(A6)
L04D4:
	move	-92(A6),-6(A6)
	move	-84(A6),-86(A6)
L04D5:
	ADDQ.W	#1,-84(A6)
	BRA	L04D0
;
L04D6:
	CMPI.W	#3,-8(A6)
	BGT	L04D7
	move	_who,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	BTST	#1,1(A0)
	BNE	L04D7
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-6(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	move	_who,D2
	EXT.L	D2
	MOVE.L	D0,40(sp)
	MOVE.L	D2,D0
	move	D1,44(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	40(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	46(sp),-(sp)
	MOVEQ	#$1A,D1
	move	D1,-(sp)
	move	_who,-(sp)
	JSR	_AddUnit
	ADDQ.W	#8,sp
	move	D0,-94(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L04D8
	move	_who,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-94(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	move	-86(A6),D1
	EXT.L	D1
	MOVE.L	D0,40(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	MOVE.B	4(A3),6(A1)
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	40(sp),D0
	ADDA.L	D0,A0
	move	-86(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A2,A1
	ADDA.L	D0,A1
	MOVE.B	5(A1),7(A0)
	BRA.S	L04D8
;
L04D7:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A2
	ADDA.L	D0,A2
	move	24(A2),D0
	MULS	-124(A6),D0
	ADD.W	D0,14(A1)
L04D8:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#$19,D0
	CMP.B	9(A0),D0
	BNE.S	L04D9
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_units,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	CMP.W	50(A0),D0
	BNE.S	L04D9
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_LastContact,A0
	ADDA.L	D0,A0
	move	#-1,(A0)
L04D9:
	move	D7,-(sp)
	JSR	_ResetCity
	ADDQ.W	#2,sp
	BRA	L04FB
;
L04DA:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CLR.W	14(A1)
	MOVEQ	#-1,D0
	CMP.W	-94(A6),D0
	BEQ	L04FB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.B	9(A1)
	BEQ.S	L04DB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	CMPI.B	#$1A,9(A0)
	BLT	L04FB
L04DB:
	move	#1,_UpdateCity
	CLR.B	_XEB
	move	D7,-(sp)
	JSR	_CityName
	PEA	L1B91
	PEA	_XEB
	JSR	_strcat
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B92
	PEA	_XEB
	JSR	_strcat
	move	#3,_MSource
	move	_Marbled,D0
	EXT.L	D0
	CLR.W	_Marbled
	MOVEQ	#$50,D1
	move	D1,(sp)
	move	D1,-(sp)
	PEA	_XEB
	MOVE.L	D0,-270(A6)
	JSR	_sMenu
	LEA	28(sp),sp
	MOVE.L	-270(A6),D0
	move	D0,_Marbled
	BRA	L04FB
;
L04DC:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	EXT.W	D0
	NEG.W	D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A2
	ADDA.L	D0,A2
	move	24(A2),D0
	MULS	-124(A6),D0
	move	14(A1),D1
	CMP.W	D0,D1
	BLT	L04FB
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	NEG.W	D0
	MOVEM.W	D0,-92(A6)
	MOVEQ	#$18,D1
	CMP.W	D1,D0
	BLE.S	L04DE
	SUBI.W	#$18,D0
	move	D0,36(sp)
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Wonders,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#-1,D0
	CMP.W	(A1),D0
	BNE.S	L04DD
	move	36(sp),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	D7,(A0)
	move	36(sp),-(sp)
	move	_who,-(sp)
	MOVEQ	#2,D0
	move	D0,-(sp)
	MOVEQ	#$A,D1
	move	D1,-(sp)
	JSR	_AddReplay
	ADDQ.W	#8,sp
	BRA.S	L04DF
;
L04DD:
	move	D0,-92(A6)
	BRA.S	L04DF
;
L04DE:
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	move	-92(A6),D0
	SUBQ.W	#1,D0
	MOVEQ	#1,D1
	ASL.L	D0,D1
	MOVE.L	(A0),D0
	AND.L	D1,D0
	BEQ.S	L04DF
	MOVEQ	#-1,D0
	move	D0,-92(A6)
L04DF:
	move	-92(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L04FB
	MOVEQ	#$29,D1
	CMP.W	D1,D0
	BNE.S	L04E0
	PEA	L1B93
	PEA	_XEB
	JSR	_strcpy
	move	D7,(sp)
	JSR	_CityName
	PEA	L1B94
	PEA	_XEB
	JSR	_strcat
	CLR.W	(sp)
	JSR	_DoSound
	MOVEQ	#-1,D0
	move	D0,(sp)
	JSR	_NewsPaper
	MOVEQ	#$1A,D0
	move	D0,(sp)
	JSR	_DoSound
	LEA	16(sp),sp
L04E0:
	move	-92(A6),D0
	MOVEQ	#$16,D1
	CMP.W	D1,D0
	BGE.S	L04E1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-92(A6),D0
	MOVE.L	D0,D1
	SUBQ.W	#1,D1
	MOVEQ	#1,D2
	ASL.L	D1,D2
	OR.L	D2,(A1)
L04E1:
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	EXT.W	D0
	NEG.W	D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A2
	ADDA.L	D0,A2
	move	24(A2),D0
	MULS	-124(A6),D0
	SUB.W	D0,14(A1)
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	move	_who,D2
	ASL.W	D2,D1
	move	_Human,D3
	AND.W	D3,D1
	BNE.S	L04E2
	CMPI.W	#$18,-92(A6)
	BLE	L04E8
L04E2:
	MOVE.L	D0,D1
	ASL.W	D2,D1
	AND.W	D1,D3
	BEQ.S	L04E3
	move	D0,_UpdateCity
	BRA.S	L04E4
;
L04E3:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	ADDA.W	D0,A1
	MOVE.B	#-1,(A1)
L04E4:
	CLR.B	_XEB
	move	D7,-(sp)
	JSR	_CityName
	PEA	L1B95
	PEA	_XEB
	JSR	_strcat
	move	-92(A6),D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B96
	PEA	_XEB
	JSR	_strcat
	LEA	22(sp),sp
	move	_who,D0
	CMP.W	_Player,D0
	BNE.S	L04E6
	BTST	#3,L1FB8
	BEQ.S	L04E6
	move	-92(A6),D0
	MOVEQ	#$15,D1
	CMP.W	D1,D0
	BLE.S	L04E5
	MOVEQ	#$18,D1
	CMP.W	D1,D0
	BLE.S	L04E6
L04E5:
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#4,6(A0)
	BNE.S	L04E6
	MOVEQ	#1,D0
	CMP.W	-92(A6),D0
	BEQ.S	L04E6
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_CheckForDisk
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L04E6
	move	-92(A6),-(sp)
	move	D7,-(sp)
	JSR	_ShowCity
	ADDQ.W	#4,sp
	BRA.S	L04E7
;
L04E6:
	move	D7,-(sp)
	JSR	_NewsPaper
	ADDQ.W	#2,sp
L04E7:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CLR.W	14(A1)
	BRA	L04EA
;
L04E8:
	CMP.W	-92(A6),D0
	BNE.S	L04E9
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	#-2,9(A1)
L04E9:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	D7,-(sp)
	move	_who,-(sp)
	MOVE.L	A0,40(sp)
	JSR	_UnitType
	ADDQ.W	#4,sp
	MOVEA.L	36(sp),A0
	MOVE.B	D0,9(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L04EA
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	ADDQ.W	#1,(A1)
L04EA:
	move	-92(A6),D0
	MOVEQ	#$16,D1
	CMP.W	D1,D0
	BLT	L04F1
	MOVEQ	#$18,D2
	CMP.W	D2,D0
	BGT	L04F1
	MOVEQ	#1,D2
	move	_who,D3
	ASL.W	D3,D2
	move	_Launched,D4
	AND.W	D2,D4
	BNE	L04F1
	move	_Player,D2
	CMP.W	D3,D2
	BNE.S	L04EB
	SUBI.W	#$16,D0
	move	D0,-(sp)
	move	D3,-(sp)
	JSR	_AddDock
	ADDQ.W	#4,sp
	BRA	L04F1
;
L04EB:
	SUBI.W	#$16,D0
	move	D0,-(sp)
	move	D3,-(sp)
	JSR	_AddEDock
	ADDQ.W	#4,sp
	move	D0,-8(A6)
	BEQ	L04ED
	move	-92(A6),D1
	MOVEQ	#$18,D2
	CMP.W	D2,D1
	BGE	L04ED
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-92(A6),D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A2
	ADDA.L	D0,A2
	move	24(A2),D0
	MULS	-124(A6),D0
	ADD.W	D0,14(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-$16,9(A1)
	BGT.S	L04EC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-$18,9(A1)
	BLT.S	L04EC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-92(A6),D0
	NEG.W	D0
	SUBQ.W	#1,D0
	MOVE.B	D0,9(A0)
L04EC:
	SUBQ.W	#1,-8(A6)
L04ED:
	MOVEQ	#1,D0
	move	_who,D1
	ASL.W	D1,D0
	move	_Launched,D1
	AND.W	D0,D1
	BNE	L04F0
	CMPI.W	#$28,_ELaunch
	BLT	L04F0
	TST.W	-8(A6)
	BNE	L04EF
	MOVEQ	#$28,D0
	move	D0,-(sp)
	move	_Player,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L04F1
	CMPI.W	#$4B,_ELaunch
	BGT	L04EF
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nrank,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A1),D0
	CMP.W	(A0),D0
	BGT.S	L04EF
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	move	_Player,D2
	ASL.W	D2,D1
	move	_Launched,D3
	AND.W	D3,D1
	BEQ.S	L04EE
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Arrives,A0
	MOVEA.L	A0,A1
	ADDA.L	D1,A1
	move	_Year,D1
	move	(A1),D4
	SUB.W	D1,D4
	EXT.L	D2
	ADD.L	D2,D2
	ADDA.L	D2,A0
	move	(A0),D2
	SUB.W	D1,D2
	CMP.W	D2,D4
	BLE.S	L04EF
L04EE:
	move	_Player,D1
	ADDQ.W	#8,D1
	ASL.W	D1,D0
	AND.W	D0,D3
	BEQ.S	L04F1
	move	_Players,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	ADDA.L	D0,A0
	CMPI.W	#$3E8,(A0)
	BLE.S	L04F1
L04EF:
	move	_who,-(sp)
	JSR	_LaunchSS
	ADDQ.W	#2,sp
	BRA.S	L04F1
;
L04F0:
	TST.W	-8(A6)
	BEQ.S	L04F1
	move	_who,-(sp)
	JSR	_LaunchSS
	ADDQ.W	#2,sp
L04F1:
	MOVEQ	#1,D0
	CMP.W	-92(A6),D0
	BNE	L04F7
	CLR.W	-84(A6)
L04F2:
	move	-84(A6),D0
	CMPI.W	#$80,D0
	BGE.S	L04F4
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	_who,D0
	BNE.S	L04F3
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BCLR	#0,3(A0)
L04F3:
	ADDQ.W	#1,-84(A6)
	BRA.S	L04F2
;
L04F4:
	move	_Player,D0
	move	_who,D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BEQ.S	L04F5
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	MOVE.L	D1,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	BTST	#6,1(A0)
	BEQ	L04F7
L04F5:
	CLR.B	_XEB
	CMP.W	_Player,D1
	BEQ.S	L04F6
	PEA	L1B97
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	move	#1,_MSource
L04F6:
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$B,D1
	JSR	__CXM22
	LEA	_ArmyText,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1B98
	PEA	_XEB
	JSR	_strcat
	move	D7,(sp)
	JSR	_CityName
	PEA	L1B99
	PEA	_XEB
	JSR	_strcat
	move	#5,_MSource
	MOVEQ	#$50,D0
	move	D0,(sp)
	move	D0,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	30(sp),sp
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_FirstX,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A2),D0
	move	D0,(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	BSET	#0,3(A1)
L04F7:
	MOVEQ	#$26,D0
	CMP.W	-92(A6),D0
	BNE.S	L04F8
	JSR	_forcemouse
	CLR.W	-(sp)
	move	_who,-(sp)
	JSR	_AddCivilized
	CLR.W	(sp)
	move	_who,-(sp)
	JSR	_AddCivilized
	JSR	_unforcemouse
	ADDQ.W	#6,sp
L04F8:
	MOVEQ	#$2B,D0
	CMP.W	-92(A6),D0
	BNE	L04FB
	move	_who,D0
	CMP.W	_Player,D0
	BNE	L04FB
	CLR.W	-84(A6)
L04F9:
	move	-84(A6),D0
	CMPI.W	#$80,D0
	BGE	L04FB
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,6(A1)
	BEQ	L04FA
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	move	_who,D1
	CMP.W	D1,D0
	BEQ	L04FA
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	7(A2),8(A1)
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A1
	ADDA.L	D0,A1
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	5(A2),D0
	ADDA.W	D0,A1
	MOVEQ	#1,D0
	move	_who,D1
	ASL.W	D1,D0
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D2
	OR.W	D0,D2
	MOVE.B	D2,(A1)
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	move	-84(A6),D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_SynchSpecial
	ADDQ.W	#4,sp
L04FA:
	ADDQ.W	#1,-84(A6)
	BRA	L04F9
;
L04FB:
	move	_who,D0
	move	_Player,D1
	CMP.W	D0,D1
	BNE	L04FF
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#4,6(A1)
	BEQ	L04FF
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BEQ.S	L04FC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	TST.B	D0
	BPL	L04FF
	MOVEQ	#-1,D0
	CMP.W	-92(A6),D0
	BNE	L04FF
L04FC:
	move	D7,-(sp)
	move	_who,-(sp)
	JSR	_UnitType
	ADDQ.W	#4,sp
	MOVEQ	#2,D1
	MOVEA.L	_Rp1,A0
	move	D1,16(A0)
	move	D0,-92(A6)
	MOVEQ	#$63,D2
	CMP.W	D2,D0
	BEQ	L04FE
	CLR.W	_UpdateCity
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L04FD
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A3
	ADDA.L	D0,A3
	MOVE.B	9(A3),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A2
	SUBQ.W	#1,(A2)
L04FD:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-92(A6),D0
	MOVE.B	D0,9(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L04FF
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	ADDQ.W	#1,(A1)
	BRA.S	L04FF
;
L04FE:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BCLR	#4,6(A0)
L04FF:
	MOVEQ	#1,D0
	move	_who,D1
	ASL.W	D1,D0
	move	_Human,D1
	AND.W	D0,D1
	BNE	L050B
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#4,6(A0)
	BEQ.S	L0500
	move	D7,-(sp)
	JSR	_ResetCity
	ADDQ.W	#2,sp
L0500:
	CLR.W	-112(A6)
	move	_who,D0
	EXT.L	D0
	ASL.L	#5,D0
	LEA	_Strategy,A0
	ADDA.L	D0,A0
	move	-90(A6),-(sp)
	move	-88(A6),-(sp)
	MOVE.L	A0,40(sp)
	JSR	_GetRegion
	ADDQ.W	#4,sp
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	MOVEA.L	36(sp),A0
	ADDA.L	D1,A0
	move	(A0),D0
	MOVEM.W	D0,-76(A6)
	MOVEQ	#1,D1
	CMP.W	D1,D0
	BEQ.S	L0501
	MOVEQ	#2,D2
	CMP.W	D2,D0
	BEQ.S	L0501
	MOVEQ	#5,D2
	CMP.W	D2,D0
	BNE.S	L0502
L0501:
	TST.W	-92(A6)
	BEQ.S	L0502
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L0502
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	move	30(A1),D0
	CMP.W	-76(A6),D0
	BNE.S	L0502
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	move	(A2),D0
	EXT.L	D0
	DIVS	#$40,D0
	move	D0,-112(A6)
L0502:
	move	_Player,D0
	ADDQ.W	#8,D0
	MOVEQ	#1,D1
	ASL.W	D0,D1
	move	_Launched,D0
	AND.W	D1,D0
	BEQ.S	L0503
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	NEG.W	D0
	MOVEQ	#$16,D1
	CMP.W	D1,D0
	BLT.S	L0503
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	NEG.W	D0
	MOVEQ	#$18,D1
	CMP.W	D1,D0
	BGT.S	L0503
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	move	(A2),D0
	EXT.L	D0
	DIVS	#$80,D0
	move	D0,-112(A6)
L0503:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#0,6(A1)
	BEQ	L0504
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BPL	L0504
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BEQ.S	L0504
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	NEG.W	D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	MULS	-124(A6),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	36(sp),D0
	SUB.W	14(A0),D0
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Funds,A0
	ADDA.L	D1,A0
	move	(A0),D1
	EXT.L	D1
	DIVS	#8,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-112(A6)
L0504:
	move	-90(A6),-(sp)
	move	-88(A6),-(sp)
	JSR	_IsUnitAt
	ADDQ.W	#4,sp
	ADDQ.W	#1,D0
	BEQ.S	L0505
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#4,6(A1)
	BEQ	L0506
L0505:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI	L0506
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BEQ.S	L0506
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	MULS	-124(A6),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	36(sp),D0
	SUB.W	14(A0),D0
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Funds,A0
	ADDA.L	D1,A0
	move	(A0),D1
	EXT.L	D1
	DIVS	#3,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-112(A6)
L0506:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-1,9(A1)
	BNE	L0507
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BEQ.S	L0507
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	MULS	-124(A6),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	36(sp),D0
	SUB.W	14(A0),D0
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Funds,A0
	ADDA.L	D1,A0
	move	(A0),D1
	EXT.L	D1
	DIVS	#3,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-112(A6)
L0507:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#$19,D0
	CMP.B	6(A1),D0
	BNE	L0509
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_units,A1
	ADDA.L	D0,A1
	TST.W	50(A1)
	BNE	L0509
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BEQ.S	L0509
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	MULS	-124(A6),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	36(sp),D0
	SUB.W	14(A0),D0
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Funds,A0
	ADDA.L	D1,A0
	move	(A0),D1
	BPL.S	L0508
	ADDQ.W	#3,D1
L0508:
	ASR.W	#2,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-112(A6)
L0509:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.W	#$7D0,(A1)
	BLE.S	L050A
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	(A1),D0
	EXT.L	D0
	DIVS	#$200,D0
	ADD.W	D0,-112(A6)
L050A:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	move	-112(A6),D0
	ADD.W	D0,14(A2)
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	ADD.W	D0,D0
	SUB.W	D0,(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	BCLR	#4,6(A1)
L050B:
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE	L050C
	MOVEQ	#$68,D0
	move	D0,-(sp)
	MOVEQ	#$7C,D1
	move	D1,-(sp)
	MOVEQ	#$43,D2
	move	D2,-(sp)
	MOVEQ	#2,D3
	move	D3,-(sp)
	JSR	_BlueBox
	move	#$C5,D0
	move	D0,(sp)
	move	#$E3,D1
	move	D1,-(sp)
	MOVEQ	#$6A,D2
	move	D2,-(sp)
	MOVEQ	#$5F,D3
	move	D3,-(sp)
	JSR	_BlueBox
	MOVEQ	#9,D0
	move	D0,(sp)
	PEA	L1B9A
	MOVEQ	#$72,D1
	move	D1,-(sp)
	move	#$80,D2
	move	D2,-(sp)
	MOVEQ	#$6A,D3
	move	D3,-(sp)
	MOVEQ	#$5F,D4
	move	D4,-(sp)
	JSR	_MButton
	MOVEQ	#9,D0
	move	D0,(sp)
	PEA	L1B9B
	MOVEQ	#$72,D1
	move	D1,-(sp)
	move	#$A0,D2
	move	D2,-(sp)
	MOVEQ	#$6A,D3
	move	D3,-(sp)
	move	#$81,D4
	move	D4,-(sp)
	JSR	_MButton
	MOVEQ	#9,D0
	move	D0,(sp)
	PEA	L1B9C
	MOVEQ	#$72,D1
	move	D1,-(sp)
	move	#$C1,D2
	move	D2,-(sp)
	MOVEQ	#$6A,D3
	move	D3,-(sp)
	move	#$A1,D4
	move	D4,-(sp)
	JSR	_MButton
	MOVEQ	#9,D0
	move	D0,(sp)
	PEA	L1B9D
	MOVEQ	#$72,D1
	move	D1,-(sp)
	move	#$E2,D2
	move	D2,-(sp)
	MOVEQ	#$6A,D3
	move	D3,-(sp)
	move	#$C2,D4
	move	D4,-(sp)
	JSR	_MButton
	move	_CMode,D0
	LSL.W	#5,D0
	ADD.W	_CMode,D0
	ADDI.W	#$60,D0
	MOVEQ	#$F,D1
	move	D1,(sp)
	MOVEQ	#9,D2
	move	D2,-(sp)
	MOVEQ	#7,D3
	move	D3,-(sp)
	MOVEQ	#$20,D4
	move	D4,-(sp)
	MOVEQ	#$6B,D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ChangeColor
	LEA	76(sp),sp
	move	_CMode,D0
	SUBQ.W	#2,D0
	BNE.S	L050C
	JSR	_Map32
L050C:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-88(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A1),D0
	MOVEQ	#0,D1
	move	D1,_Corrupted
	move	_who,D2
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_Politics,A1
	MOVEA.L	A1,A2
	ADDA.L	D2,A2
	move	D0,-90(A6)
	MOVEQ	#3,D0
	CMP.W	(A2),D0
	BNE.S	L050D
	MOVEQ	#$A,D2
	move	D2,_pdist
L050D:
	move	_pdist,D2
	move	L2036,D3
	MULS	D3,D2
	MOVE.L	D2,D4
	ADD.W	D4,D4
	ADD.W	D2,D4
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	move	(A2),D0
	ADDQ.W	#4,D0
	MULS	#20,D0
	EXT.L	D4
	DIVS	D0,D4
	move	D4,_Corrupted
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	BTST	#6,3(A2)
	BNE.S	L050E
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	BTST	#0,3(A2)
	BEQ.S	L0510
L050E:
	TST.W	D4
	BPL.S	L050F
	ADDQ.W	#1,D4
L050F:
	ASR.W	#1,D4
	move	D4,_Corrupted
L0510:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A1
	MOVEQ	#5,D0
	CMP.W	(A1),D0
	BNE.S	L0511
	MOVEQ	#0,D0
	move	D0,_Corrupted
L0511:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	SUB.W	_Corrupted,D3
	MOVE.B	D3,10(A0)
	CLR.W	-70(A6)
L0512:
	move	-70(A6),D0
	MOVEQ	#3,D1
	CMP.W	D1,D0
	BGE	L0515
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	ADDA.W	-70(A6),A1
	MOVEQ	#0,D0
	MOVE.B	23(A1),D0
	MOVEM.W	D0,-84(A6)
	CMPI.W	#$FF,D0
	BEQ.S	L0514
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	move	_who,D1
	CMP.W	D0,D1
	BEQ.S	L0513
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	10(A1),D0
	EXT.W	D0
	move	L2036,D1
	ADD.W	D1,D0
	ADDQ.W	#4,D0
	EXT.L	D0
	DIVS	#8,D0
	ADD.W	D0,L2036
	BRA.S	L0514
;
L0513:
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	10(A0),D0
	EXT.W	D0
	move	L2036,D1
	ADD.W	D1,D0
	ADDQ.W	#4,D0
	EXT.L	D0
	DIVS	#$10,D0
	ADD.W	D0,L2036
L0514:
	ADDQ.W	#1,-70(A6)
	BRA	L0512
;
L0515:
	move	_pdist,D0
	move	L2036,D1
	MULS	D1,D0
	MOVE.L	D0,D2
	ADD.W	D2,D2
	ADD.W	D0,D2
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	(A1),D0
	ADDQ.W	#4,D0
	MULS	#20,D0
	EXT.L	D2
	DIVS	D0,D2
	move	D2,_Corrupted
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	MOVEQ	#5,D0
	CMP.W	(A0),D0
	BNE.S	L0516
	MOVEQ	#0,D3
	move	D3,_Corrupted
L0516:
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#6,3(A0)
	BEQ.S	L0518
	move	_Corrupted,D0
	BPL.S	L0517
	ADDQ.W	#1,D0
L0517:
	ASR.W	#1,D0
	move	D0,_Corrupted
L0518:
	move	L2036,D0
	MOVE.L	D0,D1
	SUB.W	_Corrupted,D1
	move	_who,D2
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_Science,A0
	ADDA.L	D2,A0
	MOVEQ	#$A,D2
	MOVE.L	D2,D3
	SUB.W	(A0),D3
	move	_who,D4
	EXT.L	D4
	ADD.L	D4,D4
	LEA	_Happy,A0
	ADDA.L	D4,A0
	SUB.W	(A0),D3
	MULS	D3,D1
	ADDQ.W	#5,D1
	EXT.L	D1
	DIVS	D2,D1
	move	D0,-(sp)
	CLR.W	-(sp)
	move	D1,-(sp)
	JSR	_rng
	move	D0,L2037
	move	_Corrupted,D0
	move	L2036,D1
	MOVE.L	D1,D2
	SUB.W	D0,D2
	move	_who,D3
	EXT.L	D3
	ADD.L	D3,D3
	LEA	_Happy,A0
	ADDA.L	D3,A0
	MULS	(A0),D2
	ADDQ.W	#5,D2
	EXT.L	D2
	DIVS	#$A,D2
	SUB.W	L2037,D1
	SUB.W	D0,D1
	move	D1,(sp)
	CLR.W	-(sp)
	move	D2,-(sp)
	JSR	_rng
	move	D0,_Taxes
	move	L2036,D0
	SUB.W	L2037,D0
	SUB.W	_Taxes,D0
	SUB.W	_Corrupted,D0
	move	D0,L203A
	MOVEQ	#1,D0
	move	D0,(sp)
	JSR	_NElvis
	ADD.W	D0,D0
	ADD.W	D0,_Taxes
	MOVEQ	#2,D0
	move	D0,(sp)
	JSR	_NElvis
	ADD.W	D0,D0
	ADD.W	D0,L203A
	MOVEQ	#3,D0
	move	D0,(sp)
	JSR	_NElvis
	LEA	10(sp),sp
	ADD.W	D0,D0
	ADD.W	D0,L2037
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#4,3(A1)
	BEQ.S	L051B
	move	L2037,D0
	MOVE.L	D0,D1
	TST.W	D1
	BPL.S	L0519
	ADDQ.W	#1,D1
L0519:
	ASR.W	#1,D1
	ADD.W	D1,L2037
	move	_Taxes,D0
	MOVE.L	D0,D1
	TST.W	D1
	BPL.S	L051A
	ADDQ.W	#1,D1
L051A:
	ASR.W	#1,D1
	ADD.W	D1,_Taxes
L051B:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#1,2(A1)
	BEQ.S	L051E
	move	L2037,D0
	MOVE.L	D0,D1
	TST.W	D1
	BPL.S	L051C
	ADDQ.W	#1,D1
L051C:
	ASR.W	#1,D1
	ADD.W	D1,L2037
	move	_Taxes,D0
	MOVE.L	D0,D1
	TST.W	D1
	BPL.S	L051D
	ADDQ.W	#1,D1
L051D:
	ASR.W	#1,D1
	ADD.W	D1,_Taxes
L051E:
	move	L203A,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-92(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#5,3(A0)
	BEQ.S	L0520
	move	L203A,D0
	BPL.S	L051F
	ADDQ.W	#1,D0
L051F:
	ASR.W	#1,D0
	ADD.W	D0,-92(A6)
	MOVEQ	#$C,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0520
	move	L203A,D0
	EXT.L	D0
	DIVS	#3,D0
	ADD.W	D0,-92(A6)
L0520:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#3,2(A0)
	BEQ.S	L0522
	move	L203A,D0
	BPL.S	L0521
	ADDQ.W	#1,D0
L0521:
	ASR.W	#1,D0
	ADD.W	D0,-92(A6)
	MOVEQ	#$C,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0522
	move	L203A,D0
	EXT.L	D0
	DIVS	#3,D0
	ADD.W	D0,-92(A6)
L0522:
	MOVEQ	#$A,D0
	move	D0,-(sp)
	JSR	_CityWonder
	ADDQ.W	#2,sp
	CMP.W	D7,D0
	BNE.S	L0523
	move	-92(A6),D0
	ADD.W	D0,-92(A6)
L0523:
	move	-92(A6),L203A
	MOVEQ	#0,D0
	move	D0,L2038
	move	_who,D1
	move	_Player,D2
	CMP.W	D1,D2
	BNE	L0526
	move	_Diff,D2
	MOVE.L	D2,D3
	ADD.W	D3,D3		;NB:	D3=2*d2, so it is even
	MOVEQ	#$E,D4		;	D4 is also even
citydiff_fix_2:			;patch to force positive nonzero divisor d4
	SUB.W	D3,D4
	move	D4,-92(A6)
	BPL.S	L0524		;\
	ADDQ.W	#1,D4		; > 	Orig code is bugged and will not
L0524:				; >	prevent zero divisor.
	ASR.W	#1,D4		;/	This should be positive 1 minimum
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Politics,A0
	ADDA.L	D1,A0
	move	(A0),D1
	BPL.S	L0525
	ADDQ.W	#1,D1
L0525:
	ASR.W	#1,D1
	ADDQ.W	#2,D1
	MULS	D1,D4
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	MOVEQ	#5,D1
	SUB.W	D2,D1
	SUB.W	D1,D0
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Ncity,A1
	ADDA.L	D1,A1
	move	(A1),D1
	SUB.W	D4,D1
	MOVE.L	D7,D2
	EXT.L	D2
	DIVS	D4,D2
	SWAP	D2
	ADD.W	D2,D1
	EXT.L	D1
	DIVS	D4,D1
	ADD.W	D1,D0
	SUBQ.W	#1,D0
	move	D0,L2039
	move	D0,-146(A6)
	move	D4,-92(A6)
	BRA.S	L0527
;
L0526:
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	SUBQ.W	#3,D0
	move	D0,L2039
	move	D0,-146(A6)
L0527:
	CLR.W	_riot5
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	move	L2039,D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BLE.S	L0528
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	move	L2039,D1
	SUB.W	D0,D1
	move	D1,_riot5
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	move	D0,L2039
L0528:
	move	-202(A6),-(sp)
	move	D7,-(sp)
	JSR	_FixEff
	ADDQ.W	#4,sp
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE.S	L0529
	CMP.W	_CMode,D0
	BNE.S	L0529
	MOVEQ	#$74,D0
	MOVEQ	#$5C,D1
	move	D1,-(sp)
	move	-202(A6),-(sp)
	move	D0,-(sp)
	MOVEQ	#$64,D2
	move	D2,-(sp)
	move	D7,-(sp)
	move	D0,-252(A6)
	JSR	_Population
	MOVEQ	#$10,D0
	ADD.W	D0,-252(A6)
	move	-252(A6),D0
	SUBQ.W	#2,D0
	MOVEQ	#1,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	#$DE,D2
	move	D2,-(sp)
	move	D0,-(sp)
	MOVEQ	#$64,D3
	move	D3,-(sp)
	JSR	_Line
	LEA	18(sp),sp
L0529:
	move	L2037,D0
	BPL.S	L052A
	ADDQ.W	#1,D0
L052A:
	ASR.W	#1,D0
	move	D0,L2038
	move	-202(A6),-(sp)
	move	D7,-(sp)
	JSR	_FixEff
	ADDQ.W	#4,sp
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE.S	L052B
	CMP.W	_CMode,D0
	BNE.S	L052B
	TST.W	L2038
	BEQ.S	L052B
	MOVEQ	#$5C,D0
	move	D0,-(sp)
	move	-202(A6),-(sp)
	move	-252(A6),-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	move	D7,-(sp)
	JSR	_Population
	move	-252(A6),D0
	ADDQ.W	#4,D0
	move	D0,(sp)
	move	#$D0,D1
	move	D1,-(sp)
	MOVEQ	#$E,D2
	move	D2,-(sp)
	JSR	_DoSprite
	MOVEQ	#$10,D0
	ADD.W	D0,-252(A6)
	move	-252(A6),D0
	SUBQ.W	#2,D0
	MOVEQ	#1,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	#$DE,D2
	move	D2,-(sp)
	move	D0,-(sp)
	MOVEQ	#$64,D3
	move	D3,-(sp)
	JSR	_Line
	LEA	22(sp),sp
L052B:
	move	#$D0,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-250(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#5,2(A0)
	BEQ.S	L052C
	SUBQ.W	#3,L2039
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE.S	L052C
	CMP.W	_CMode,D0
	BNE.S	L052C
	move	-252(A6),-(sp)
	move	-250(A6),-(sp)
	MOVEQ	#$E,D0
	move	D0,-(sp)
	JSR	_DrawImprove
	ADDQ.W	#6,sp
	MOVEQ	#$10,D0
	SUB.W	D0,-250(A6)
L052C:
	MOVEQ	#$1D,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ	L0530
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#2,2(A0)
	BEQ.S	L052E
	MOVEQ	#9,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L052D
	MOVEQ	#6,D0
	BRA.S	L052F
;
L052D:
	MOVEQ	#4,D0
	BRA.S	L052F
;
L052E:
	MOVEQ	#0,D0
L052F:
	SUB.W	D0,L2039
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE.S	L0530
	CMP.W	_CMode,D0
	BNE.S	L0530
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#2,2(A0)
	BEQ.S	L0530
	move	-252(A6),-(sp)
	move	-250(A6),-(sp)
	MOVEQ	#$B,D0
	move	D0,-(sp)
	JSR	_DrawImprove
	ADDQ.W	#6,sp
	MOVEQ	#$10,D0
	SUB.W	D0,-250(A6)
L0530:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#3,3(A0)
	BEQ	L0536
	MOVEQ	#$1A,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0531
	SUBQ.W	#2,L2039
	BRA.S	L0532
;
L0531:
	MOVEQ	#$19,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0532
	SUBQ.W	#1,L2039
L0532:
	MOVEQ	#6,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0535
	MOVEQ	#$1A,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0533
	MOVEQ	#2,D0
	BRA.S	L0534
;
L0533:
	MOVEQ	#1,D0
L0534:
	SUB.W	D0,L2039
L0535:
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE.S	L0536
	CMP.W	_CMode,D0
	BNE.S	L0536
	move	-252(A6),-(sp)
	move	-250(A6),-(sp)
	MOVEQ	#4,D0
	move	D0,-(sp)
	JSR	_DrawImprove
	ADDQ.W	#6,sp
	MOVEQ	#$10,D0
	SUB.W	D0,-250(A6)
L0536:
	move	-202(A6),-(sp)
	move	D7,-(sp)
	JSR	_FixEff
	ADDQ.W	#4,sp
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE.S	L0537
	CMP.W	_CMode,D0
	BNE.S	L0537
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.L	#$2408,D0
	AND.L	(A0),D0
	TST.L	D0
	BEQ.S	L0537
	MOVEQ	#$5C,D0
	move	D0,-(sp)
	move	-202(A6),-(sp)
	move	-252(A6),-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	move	D7,-(sp)
	JSR	_Population
	MOVEQ	#$10,D0
	ADD.W	D0,-252(A6)
	move	-252(A6),D0
	SUBQ.W	#2,D0
	MOVEQ	#1,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	#$DE,D2
	move	D2,-(sp)
	move	D0,-(sp)
	MOVEQ	#$64,D3
	move	D3,-(sp)
	JSR	_Line
	LEA	18(sp),sp
L0537:
	move	#$D0,-250(A6)
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	CMPI.W	#4,(A0)
	BGE	L053F
	MOVEQ	#0,D0
	move	-90(A6),-(sp)
	move	-88(A6),-(sp)
	move	D0,-260(A6)
	move	D0,-262(A6)
	JSR	_UnitAt
	ADDQ.W	#4,sp
	move	D0,-94(A6)
	move	D0,-92(A6)
L0538:
	move	-94(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L053A
	ADDQ.W	#1,-262(A6)
	CMPI.W	#$20,-262(A6)
	BGE	L053A
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-94(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	TST.W	20(A1)
	BEQ.S	L0539
	ADDQ.W	#1,-260(A6)
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE.S	L0539
	CMP.W	_CMode,D0
	BNE.S	L0539
	CMPI.W	#3,-260(A6)
	BGT.S	L0539
	move	_who,D1
	MOVE.L	D1,D3
	ASL.W	#5,D3
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-94(A6),D0
	MULS	D2,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	ADD.W	D0,D3
	ADDI.W	#$40,D3
	move	-252(A6),D0
	SUBQ.W	#1,D0
	move	D0,-(sp)
	move	-250(A6),-(sp)
	move	D3,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	SUBQ.W	#2,-250(A6)
L0539:
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-94(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	10(A0),D0
	EXT.W	D0
	MOVEM.W	D0,-94(A6)
	CMP.W	-92(A6),D0
	BNE	L0538
	move	#-1,-94(A6)
	BRA	L0538
;
L053A:
	CLR.W	-94(A6)
L053B:
	move	-94(A6),D0
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BGE.S	L053D
	TST.W	L2039
	BEQ.S	L053C
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-94(A6),D0
	ADDA.W	D0,A1
	CMPI.B	#-1,26(A1)
	BEQ.S	L053C
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	ADDA.W	-94(A6),A0
	MOVE.B	26(A0),D0
	EXT.W	D0
	ANDI.W	#$3F,D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	TST.W	20(A0)
	BEQ.S	L053C
	ADDQ.W	#1,-260(A6)
L053C:
	ADDQ.W	#1,-94(A6)
	BRA.S	L053B
;
L053D:
	CMPI.W	#3,-260(A6)
	BLE.S	L053E
	MOVEQ	#3,D0
	move	D0,-260(A6)
L053E:
	move	L2039,-(sp)
	CLR.W	-(sp)
	move	-260(A6),-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	SUB.W	D0,L2039
	BRA	L0544
;
L053F:
	MOVEQ	#$10,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0540
	MOVEQ	#0,D0
	BRA.S	L0541
;
L0540:
	MOVEQ	#1,D0
L0541:
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Politics,A0
	ADDA.L	D1,A0
	move	D0,-92(A6)
	MOVEQ	#5,D1
	CMP.W	(A0),D1
	BNE.S	L0542
	ADDQ.W	#1,-92(A6)
L0542:
	TST.W	-92(A6)
	BEQ.S	L0544
	move	_active,D0
	MULS	-92(A6),D0
	ADD.W	D0,L2039
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE.S	L0544
	CMP.W	_CMode,D0
	BNE.S	L0544
	CLR.W	-94(A6)
L0543:
	move	_active,D0
	MULS	-92(A6),D0
	move	-94(A6),D1
	CMP.W	D0,D1
	BGE.S	L0544
	move	-252(A6),D0
	ADDQ.W	#4,D0
	move	D0,-(sp)
	move	-250(A6),-(sp)
	MOVEQ	#$D,D1
	move	D1,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	SUBQ.W	#2,-250(A6)
	ADDQ.W	#1,-94(A6)
	BRA.S	L0543
;
L0544:
	move	-202(A6),-(sp)
	move	D7,-(sp)
	JSR	_FixEff
	ADDQ.W	#4,sp
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE.S	L0545
	CMP.W	_CMode,D0
	BNE.S	L0545
	MOVEQ	#$5C,D0
	move	D0,-(sp)
	move	-202(A6),-(sp)
	move	-252(A6),-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	move	D7,-(sp)
	JSR	_Population
	MOVEQ	#$10,D0
	ADD.W	D0,-252(A6)
	move	-252(A6),D0
	SUBQ.W	#2,D0
	MOVEQ	#1,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	#$DE,D2
	move	D2,-(sp)
	move	D0,-(sp)
	MOVEQ	#$64,D3
	move	D3,-(sp)
	JSR	_Line
	LEA	18(sp),sp
L0545:
	move	L2038,D0
	SUB.W	L2039,D0
	MOVEQ	#2,D1
	move	D1,-(sp)
	move	_who,-(sp)
	move	D0,-92(A6)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0546
	ADDQ.W	#1,L2038
L0546:
	MOVEQ	#$15,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0547
	ADDQ.W	#1,L2038
L0547:
	MOVEQ	#$B,D0
	move	D0,-(sp)
	JSR	_CityWonder
	ADDQ.W	#2,sp
	CMP.W	D7,D0
	BNE.S	L0548
	CLR.W	L2039
L0548:
	MOVEQ	#$D,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0549
	move	-90(A6),-(sp)
	move	-88(A6),-(sp)
	JSR	_GetRegion
	move	L2179,D1
	EXT.L	D1
	move	D0,40(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	move	L2179,D1
	EXT.L	D1
	move	D0,42(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,(sp)
	move	42(sp),-(sp)
	JSR	_GetRegion
	ADDQ.W	#6,sp
	move	36(sp),D1
	CMP.W	D0,D1
	BNE.S	L0549
	SUBQ.W	#2,L2039
L0549:
	move	-202(A6),-(sp)
	move	D7,-(sp)
	JSR	_FixEff
	ADDQ.W	#4,sp
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE.S	L054A
	CMP.W	_CMode,D0
	BNE.S	L054A
	move	L2038,D0
	SUB.W	L2039,D0
	move	-92(A6),D1
	CMP.W	D0,D1
	BEQ.S	L054A
	MOVEQ	#$5C,D0
	move	D0,-(sp)
	move	-202(A6),-(sp)
	move	-252(A6),-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	move	D7,-(sp)
	JSR	_Population
	move	-252(A6),D0
	ADDQ.W	#5,D0
	MOVEQ	#$F,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	#$BE,D2
	move	D2,-(sp)
	PEA	L1B9E
	JSR	_jPrint
	MOVEQ	#$10,D0
	ADD.W	D0,-252(A6)
	move	-252(A6),D0
	SUBQ.W	#2,D0
	MOVEQ	#1,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	#$DE,D2
	move	D2,-(sp)
	move	D0,-(sp)
	MOVEQ	#$64,D3
	move	D3,-(sp)
	JSR	_Line
	LEA	26(sp),sp
L054A:
	BTST	#1,L216B
	BNE.S	L054B
	MOVEQ	#0,D0
	move	D0,L2039
	move	D0,L2038
L054B:
	MOVEQ	#0,D0
	move	D0,_nmilitia
	move	D0,_maint
	move	D0,_support
	move	D0,-4(A6)
	move	D0,-16(A6)
L054C:
	move	-4(A6),D0
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BGE.S	L054E
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	ADDA.W	-4(A6),A0
	CMPI.B	#-1,26(A0)
	BEQ.S	L054D
	ADDQ.W	#1,_nmilitia
L054D:
	ADDQ.W	#1,-4(A6)
	BRA.S	L054C
;
L054E:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	move	_nmilitia,D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BLE.S	L054F
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	move	_nmilitia,D1
	SUB.W	D0,D1
	move	D1,_support
L054F:
	move	#8,-116(A6)
	move	#$45,-118(A6)
	move	#$64,-120(A6)
	move	#$74,-122(A6)
	CLR.W	-4(A6)
L0550:
	move	-4(A6),D0
	CMPI.W	#$80,D0
	BGE	L0564
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.L	D1,40(sp)
	CMPI.B	#-1,3(A1)
	BEQ	L0562
	move	_who,D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	40(sp),D0
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE	L0562
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A0
	CMPI.B	#$1A,3(A0)
	BGE.S	L0552
	ADDQ.W	#1,_nmilitia
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	move	_nmilitia,D1
	CMP.W	D0,D1
	BGT.S	L0551
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	CMPI.W	#1,(A2)
	BLE.S	L0552
	BTST	#1,L216B
	BEQ.S	L0552
L0551:
	ADDQ.W	#1,_support
L0552:
	TST.W	D6
	BNE	L055A
	move	_support,D0
	CMP.W	L2035,D0
	BGT.S	L0553
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BEQ	L055A
	move	-4(A6),D0
	ADD.W	_Rtime,D0
	ANDI.W	#7,D0
	BNE	L055A
	move	_who,D0
	move	_Player,D1
	CMP.W	D0,D1
	BEQ	L055A
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	CMPI.W	#4,(A0)
	BLT	L055A
L0553:
	MOVEQ	#-1,D0
	CLR.W	-10(A6)
	move	D0,-8(A6)
	move	D0,-6(A6)
L0554:
	move	-10(A6),D0
	CMPI.W	#$80,D0
	BGE	L0556
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-10(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.L	D1,40(sp)
	CMPI.B	#-1,3(A1)
	BEQ	L0555
	move	_who,D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	40(sp),D0
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	CMP.W	D7,D0
	BNE	L0555
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-10(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A1
	CMPI.B	#$1A,3(A1)
	BGE	L0555
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A2),D0
	move	_who,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	move	-10(A6),D0
	MULS	D2,D0
	ADDA.L	D0,A2
	MOVEQ	#0,D1
	MOVE.B	1(A2),D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,42(sp)
	MOVE.L	D2,D0
	move	D1,46(sp)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A1),D0
	move	_who,D1
	EXT.L	D1
	move	D0,48(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	42(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	move	D0,-(sp)
	move	50(sp),-(sp)
	move	50(sp),-(sp)
	move	42(sp),-(sp)
	JSR	_mapdist
	ADDQ.W	#8,sp
	move	D0,-82(A6)
	CMP.W	-8(A6),D0
	BLE.S	L0555
	move	-10(A6),-6(A6)
	move	D0,-8(A6)
L0555:
	ADDQ.W	#1,-10(A6)
	BRA	L0554
;
L0556:
	move	L2035,D0
	CMP.W	_support,D0
	BLT	L0558
	TST.W	_GangUp
	BEQ.S	L0557
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_TechLevel,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	_Player,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	(A1),D0
	CMP.W	(A0),D0
	BGE.S	L0557
	move	#-$3E7,_GoRepublic
	BRA	L055A
;
L0557:
	move	-8(A6),D0
	TST.W	D0
	BLE	L055A
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-6(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	TST.W	14(A1)
	BNE	L055A
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-6(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A0
	TST.B	3(A0)
	BEQ	L055A
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_RemoveUnit
	ADDQ.W	#4,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BCLR	#0,6(A0)
	BRA	L055A
;
L0558:
	move	_who,D0
	CMP.W	_Player,D0
	BNE	L0559
	CLR.B	_XEB
	move	D7,-(sp)
	JSR	_CityName
	PEA	L1B9F
	PEA	_XEB
	JSR	_strcat
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-6(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1BA0
	PEA	_XEB
	JSR	_strcat
	move	#3,_MSource
	MOVEQ	#$50,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	28(sp),sp
L0559:
	move	-6(A6),-(sp)
	move	_who,-(sp)
	JSR	_RemoveUnit
	ADDQ.W	#4,sp
	BRA	L054B
;
L055A:
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE	L0562
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A0
	CMPI.B	#$1A,3(A0)
	BGE	L0561
	TST.W	_support
	BEQ.S	L055B
	move	-116(A6),D0
	ADDQ.W	#8,D0
	MOVEQ	#$C,D1
	ADD.W	-118(A6),D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#9,D2
	move	D2,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
L055B:
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MOVEQ	#$C,D1
	MULS	D1,D0
	ADDA.L	D0,A0
	TST.B	3(A0)
	BNE.S	L055C
	MOVEQ	#$C,D0
	ADD.W	-118(A6),D0
	move	D0,-(sp)
	move	-116(A6),-(sp)
	MOVEQ	#8,D1
	move	D1,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	CMPI.W	#2,(A0)
	BLT	L0561
	move	-116(A6),D0
	ADDQ.W	#2,D0
	MOVEQ	#$C,D1
	ADD.W	-118(A6),D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	BRA	L0561
;
L055C:
	MOVEQ	#$10,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L055D
	MOVEQ	#0,D0
	BRA.S	L055E
;
L055D:
	MOVEQ	#1,D0
L055E:
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Politics,A0
	MOVEA.L	A0,A1
	ADDA.L	D1,A1
	move	D0,-92(A6)
	MOVEQ	#5,D1
	CMP.W	(A1),D1
	BNE.S	L055F
	ADDQ.W	#1,-92(A6)
L055F:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	CMPI.W	#4,(A0)
	BLT	L0561
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.B	3(A1),D1
	EXT.W	D1
	EXT.L	D1
	MOVEQ	#$22,D0
	JSR	__CXM22
	LEA	_tp,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	TST.W	20(A2)
	BEQ	L0561
	TST.W	-92(A6)
	BEQ	L0561
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	move	-4(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A2
	MOVE.B	3(A2),D3
	EXT.W	D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	D1,40(sp)
	MOVEQ	#$22,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	CMP.W	14(A1),D0
	BEQ.S	L0560
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	40(sp),D0
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	MOVE.B	1(A1),D0
	CMP.B	4(A3),D0
	BNE.S	L0560
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	MULS	D2,D0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A2
	MOVE.B	2(A0),D0
	CMP.B	5(A2),D0
	BEQ.S	L0561
L0560:
	MOVEQ	#$C,D0
	ADD.W	-118(A6),D0
	move	D0,-(sp)
	move	-116(A6),-(sp)
	MOVEQ	#$D,D1
	move	D1,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	CMPI.W	#1,-92(A6)
	BLE.S	L0561
	move	-116(A6),D0
	ADDQ.W	#2,D0
	MOVEQ	#$C,D1
	ADD.W	-118(A6),D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#$D,D2
	move	D2,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
L0561:
	move	_who,D0
	MOVE.L	D0,D1
	ASL.W	#5,D1
	EXT.L	D0
	move	D1,36(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	3(A0),D0
	EXT.W	D0
	move	36(sp),D1
	ADD.W	D0,D1
	ADDI.W	#$40,D1
	move	-118(A6),-(sp)
	move	-116(A6),-(sp)
	move	D1,-(sp)
	JSR	_DoSprite
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	move	_who,D2
	EXT.L	D2
	MOVE.L	D0,46(sp)
	MOVE.L	D2,D0
	move	D1,50(sp)
	MOVE.L	#$600,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	46(sp),D0
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	2(A0),D0
	MOVEQ	#7,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	52(sp),-(sp)
	JSR	_Set32
	LEA	10(sp),sp
	MOVEQ	#$10,D0
	ADD.W	D0,-116(A6)
	CMPI.W	#$70,-116(A6)
	BLT.S	L0562
	move	#8,-116(A6)
	MOVEQ	#$10,D0
	ADD.W	D0,-118(A6)
	move	-118(A6),D0
	MOVEQ	#$55,D1
	CMP.W	D1,D0
	BLE.S	L0562
	MOVEQ	#$18,D1
	SUB.W	D1,-118(A6)
L0562:
	CMPI.W	#$12,-16(A6)
	BGE	L0563
	TST.W	_CMode
	BNE	L0563
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	MOVE.L	D0,D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	CMPI.B	#-1,3(A1)
	BEQ	L0563
	MOVEQ	#1,D1
	CMP.W	D1,D6
	BNE	L0563
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVEQ	#0,D1
	MOVE.B	1(A1),D1
	CMP.W	-88(A6),D1
	BNE	L0563
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	MOVE.L	D0,D1
	MULS	D2,D1
	ADDA.L	D1,A0
	MOVEQ	#0,D1
	MOVE.B	2(A0),D1
	CMP.W	-90(A6),D1
	BNE	L0563
	move	-122(A6),-(sp)
	move	-120(A6),-(sp)
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_DrawUnit
	CLR.B	_XEB
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVE.B	11(A0),D0
	EXT.W	D0
	move	D0,(sp)
	JSR	_CityName
	MOVE.B	#$2E,L212B
	CLR.B	L212C
	MOVEQ	#$F,D0
	ADD.W	-122(A6),D0
	CLR.W	(sp)
	move	D0,-(sp)
	move	-120(A6),-(sp)
	PEA	_XEB
	JSR	_jPrint
	LEA	16(sp),sp
	move	-16(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDQ.W	#1,-16(A6)
	LEA	-238(A6),A0
	ADDA.L	D0,A0
	move	-4(A6),(A0)
	MOVEQ	#$12,D0
	ADD.W	D0,-120(A6)
	move	-16(A6),D0
	EXT.L	D0
	DIVS	#6,D0
	SWAP	D0
	TST.W	D0
	BNE.S	L0563
	move	#$64,-120(A6)
	MOVEQ	#$10,D0
	ADD.W	D0,-122(A6)
L0563:
	ADDQ.W	#1,-4(A6)
	BRA	L0550
;
L0564:
	TST.W	D6
	BNE	L0568
	move	L2035,D0
	move	_nmilitia,D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BLE.S	L0565
	MOVE.L	D1,D2
	SUB.W	D0,D2
	MOVE.L	D2,D0
	LSL.W	#2,D0
	ADD.W	D2,D0
	ADD.W	D0,_GoDespot
L0565:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	move	D0,-(sp)
	CLR.W	-(sp)
	move	_nmilitia,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	ADD.W	D0,_GoDespot
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#4,3(A0)
	BEQ.S	L0566
	MOVEQ	#5,D0
	BRA.S	L0567
;
L0566:
	MOVEQ	#7,D0
L0567:
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Leaders,A0
	ADDA.L	D1,A0
	move	(A0),D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$3A,D0
	JSR	__CXM22
	LEA	_ld,A0
	ADDA.L	D0,A0
	move	36(sp),D0
	SUB.W	52(A0),D0
	move	_active,D1
	MULS	D0,D1
	SUB.W	D1,_GoRepublic
L0568:
	MOVEQ	#1,D0
	CMP.W	D0,D6
	BNE	L0609
	MOVEA.L	_Rp1,A0
	move	#2,16(A0)
	MOVEQ	#$61,D1
	move	D1,-(sp)
	move	#$13D,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	#$D3,D3
	move	D3,-(sp)
	JSR	_BlueBox
	ADDQ.W	#8,sp
	MOVEQ	#2,D0
	MOVEQ	#0,D1
	move	D0,-90(A6)
	move	D0,-10(A6)
	move	D1,-78(A6)
	move	D1,-258(A6)
	TST.W	-80(A6)
	BNE	L056D
	move	D1,-70(A6)
L0569:
	move	-70(A6),D0
	MOVEQ	#$15,D1
	CMP.W	D1,D0
	BGE	L056D
	MOVE.L	D0,D1
	ADDQ.W	#1,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Wonders,A0
	ADDA.L	D1,A0
	move	(A0),D1
	CMP.W	D7,D1
	BNE	L056C
	ADDI.W	#$18,D0
	move	D0,-92(A6)
	ADDQ.W	#1,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcpy
	PEA	_XEB
	JSR	_strupr
	MOVEQ	#$3F,D0
	move	D0,(sp)
	PEA	_XEB
	JSR	_ClipText
	move	-90(A6),D0
	ADDQ.W	#2,D0
	MOVEQ	#$F,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	#$FD,D2
	move	D2,-(sp)
	PEA	_XEB
	JSR	_jPrint
	LEA	24(sp),sp
	move	-92(A6),D0
	ADDQ.W	#1,D0
	BTST	#0,-9(A6)
	BEQ.S	L056A
	move	#$D5,D1
	BRA.S	L056B
;
L056A:
	move	#$E9,D1
L056B:
	move	-90(A6),D2
	SUBQ.W	#2,D2
	move	D2,-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	JSR	_DrawImprove
	ADDQ.W	#6,sp
	ADDQ.W	#6,-90(A6)
	ADDQ.W	#1,-10(A6)
	ADDQ.W	#1,-258(A6)
L056C:
	ADDQ.W	#1,-70(A6)
	BRA	L0569
;
L056D:
	CLR.W	-256(A6)
	move	-80(A6),-70(A6)
L056E:
	move	-70(A6),D0
	MOVEQ	#$18,D1
	CMP.W	D1,D0
	BGE	L0573
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	-70(A6),D1
	ASL.L	D1,D0
	MOVE.L	(A0),D2
	AND.L	D0,D2
	BEQ	L0572
	CMPI.W	#$10,-10(A6)
	BLT.S	L056F
	BSET	#1,-253(A6)
	BCLR	#0,-253(A6)
	move	D1,-256(A6)
	BRA	L0573
;
L056F:
	ADDQ.W	#1,-78(A6)
	move	-90(A6),D0
	ADDQ.W	#1,D0
	move	D0,-(sp)
	move	#$135,D1
	move	D1,-(sp)
	MOVEQ	#$B,D2
	move	D2,-(sp)
	JSR	_DoSprite
	move	-70(A6),D0
	ADDQ.W	#1,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcpy
	PEA	_XEB
	JSR	_strupr
	MOVEQ	#$38,D0
	move	D0,(sp)
	PEA	_XEB
	JSR	_ClipText
	move	-90(A6),D0
	ADDQ.W	#2,D0
	MOVEQ	#$F,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	#$FD,D2
	move	D2,-(sp)
	PEA	_XEB
	JSR	_jPrint
	LEA	26(sp),sp
	move	-70(A6),D0
	ADDQ.W	#1,D0
	BTST	#0,-9(A6)
	BEQ.S	L0570
	move	#$D5,D1
	BRA.S	L0571
;
L0570:
	move	#$E9,D1
L0571:
	move	-90(A6),D2
	SUBQ.W	#2,D2
	move	D2,-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	JSR	_DrawImprove
	ADDQ.W	#6,sp
	ADDQ.W	#6,-90(A6)
	ADDQ.W	#1,-10(A6)
L0572:
	ADDQ.W	#1,-70(A6)
	BRA	L056E
;
L0573:
	MOVEQ	#0,D0
	move	D0,-(sp)
	move	D0,-(sp)
	move	#$FA,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	#$E7,D2
	move	D2,-(sp)
	JSR	_Line
	MOVEQ	#1,D0
	move	D0,(sp)
	move	D0,-(sp)
	move	#$FA,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	#$E7,D2
	move	D2,-(sp)
	JSR	_Line
	LEA	18(sp),sp
	BTST	#1,-253(A6)
	BEQ.S	L0574
	MOVEQ	#9,D0
	move	D0,-(sp)
	PEA	L1BA1
	MOVEQ	#$60,D1
	move	D1,-(sp)
	move	#$13B,D2
	move	D2,-(sp)
	MOVEQ	#$58,D3
	move	D3,-(sp)
	move	#$11F,D4
	move	D4,-(sp)
	JSR	_MButton
	LEA	14(sp),sp
L0574:
	MOVEQ	#$C,D0
	move	D0,-(sp)
	MOVEQ	#$E,D1
	move	D1,-(sp)
	MOVEQ	#$60,D2
	move	D2,-(sp)
	MOVEQ	#8,D3
	move	D3,-(sp)
	MOVEQ	#2,D4
	move	D4,-(sp)
	move	#$135,D0
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ChangeColor
	LEA	16(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L0575
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	move	24(A1),-128(A6)
	BRA.S	L0576
;
L0575:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	NEG.W	D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	move	D0,-128(A6)
L0576:
	move	-128(A6),D0
	SUBQ.W	#1,D0
	EXT.L	D0
	DIVS	#$A,D0
	ADDQ.W	#1,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	14(A0),D0
	SUBQ.W	#1,D0
	EXT.L	D0
	DIVS	#$64,D0
	ADDQ.W	#1,D0
	MOVEQ	#$63,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	40(sp),-(sp)
	JSR	_rng
	MOVEQ	#$50,D1
	EXT.L	D1
	move	-124(A6),D2
	DIVS	D2,D1
	MULS	D1,D2
	MOVE.L	D0,D3
	SUBQ.W	#1,D3
	ASL.W	#3,D3
	EXT.L	D3
	DIVS	D0,D3
	ADD.W	D3,D2
	move	-128(A6),D3
	SUBQ.W	#1,D3
	EXT.L	D3
	DIVS	D0,D3
	ADDQ.W	#1,D3
	ASL.W	#3,D3
	move	D2,-116(A6)
	ADDQ.W	#3,D2
	move	D3,-118(A6)
	ADDI.W	#$13,D3
	MOVEQ	#1,D4
	move	D4,(sp)
	move	D3,-(sp)
	move	D2,-(sp)
	move	D0,-130(A6)
	MOVEQ	#$63,D0
	move	D0,-(sp)
	move	D1,-92(A6)
	move	#$E6,D1
	move	D1,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	LEA	18(sp),sp
	move	_who,D0
	CMP.W	_Player,D0
	BNE.S	L0579
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#4,6(A0)
	BEQ.S	L0577
	LEA	L1BA2,A0
	BRA.S	L0578
;
L0577:
	LEA	L1BA3,A0
L0578:
	MOVEQ	#9,D0
	move	D0,-(sp)
	MOVE.L	A0,-(sp)
	MOVEQ	#$72,D1
	move	D1,-(sp)
	move	#$107,D2
	move	D2,-(sp)
	MOVEQ	#$6A,D3
	move	D3,-(sp)
	move	#$E7,D4
	move	D4,-(sp)
	JSR	_MButton
	MOVEQ	#9,D0
	move	D0,(sp)
	PEA	L1BA4
	MOVEQ	#$72,D1
	move	D1,-(sp)
	move	#$137,D2
	move	D2,-(sp)
	MOVEQ	#$6A,D3
	move	D3,-(sp)
	move	#$126,D4
	move	D4,-(sp)
	JSR	_MButton
	LEA	26(sp),sp
L0579:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L057A
	move	_who,D0
	ASL.W	#5,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	move	36(sp),D1
	ADD.W	D0,D1
	ADDI.W	#$40,D1
	MOVEQ	#$64,D0
	move	D0,-(sp)
	move	#$108,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	BRA.S	L057B
;
L057A:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	NEG.W	D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcpy
	MOVEQ	#$56,D0
	move	D0,(sp)
	PEA	_XEB
	JSR	_ClipText
	MOVEQ	#$F,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	move	#$112,D2
	move	D2,-(sp)
	PEA	_XEB
	JSR	_cPrint
	LEA	20(sp),sp
L057B:
	move	-116(A6),D0
	ADDQ.W	#1,D0
	move	-118(A6),D1
	ADDQ.W	#1,D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#$74,D2
	move	D2,-(sp)
	move	#$E7,D3
	move	D3,-(sp)
	JSR	_BlueFill
	ADDQ.W	#8,sp
	CLR.W	-4(A6)
L057C:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	14(A0),D1
	BGE.S	L057D
	move	-124(A6),D1
	move	-130(A6),D2
	MULS	D2,D1
	EXT.L	D0
	DIVS	D1,D0
	SWAP	D0
	MULS	-92(A6),D0
	EXT.L	D0
	DIVS	D2,D0
	ADDI.W	#$E8,D0
	move	-4(A6),D2
	EXT.L	D2
	DIVS	D1,D2
	ASL.W	#3,D2
	ADDI.W	#$75,D2
	move	D2,-(sp)
	move	D0,-(sp)
	MOVEQ	#9,D1
	move	D1,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	ADDQ.W	#1,-4(A6)
	BRA.S	L057C
;
L057D:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	MOVEQ	#$50,D1
	EXT.L	D1
	DIVS	D0,D1
	MOVEQ	#8,D0
	move	D0,-(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	MOVEQ	#$50,D1
	EXT.L	D1
	move	-124(A6),D2
	DIVS	D2,D1
	MULS	D1,D2
	ADDI.W	#$C,D2
	MOVEQ	#1,D3
	move	D3,(sp)
	move	D2,-(sp)
	MOVEQ	#$5B,D4
	move	D4,-(sp)
	move	D0,-92(A6)
	MOVEQ	#$6A,D0
	move	D0,-(sp)
	move	D1,-118(A6)
	MOVEQ	#2,D1
	move	D1,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	MOVEQ	#$F,D0
	move	D0,(sp)
	MOVEQ	#$6C,D1
	move	D1,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	PEA	L1BA5
	JSR	_jPrint
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	MULS	-92(A6),D0
	ADDI.W	#9,D0
	move	-124(A6),D1
	MULS	-118(A6),D1
	ADDQ.W	#2,D1
	move	D1,(sp)
	move	D0,-(sp)
	MOVEQ	#$73,D2
	move	D2,-(sp)
	MOVEQ	#3,D3
	move	D3,-(sp)
	JSR	_BlueFill
	LEA	32(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#2,3(A1)
	BEQ.S	L057E
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	MULS	-92(A6),D0
	ADDI.W	#9,D0
	MOVEQ	#1,D1
	move	D1,-(sp)
	move	#$9B,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	D2,-(sp)
	MOVEQ	#5,D3
	move	D3,-(sp)
	JSR	_Line
	LEA	10(sp),sp
L057E:
	CLR.W	-4(A6)
L057F:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	ADDQ.W	#1,D0
	MULS	-124(A6),D0
	move	D0,-(sp)
	CLR.W	-(sp)
	move	12(A1),-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	-4(A6),D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BGE.S	L0580
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	ADDQ.W	#1,D0
	move	-4(A6),D1
	EXT.L	D1
	DIVS	D0,D1
	SWAP	D1
	MULS	-92(A6),D1
	ADDQ.W	#4,D1
	MOVE.L	D7,D0
	EXT.L	D0
	move	D1,36(sp)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	ADDQ.W	#1,D0
	move	-4(A6),D1
	EXT.L	D1
	DIVS	D0,D1
	MULS	-118(A6),D1
	ADDI.W	#$74,D1
	move	D1,-(sp)
	move	38(sp),-(sp)
	MOVEQ	#8,D0
	move	D0,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	ADDQ.W	#1,-4(A6)
	BRA	L057F
;
L0580:
	MOVEQ	#$41,D0
	move	D0,-(sp)
	MOVEQ	#$7C,D1
	move	D1,-(sp)
	MOVEQ	#$17,D2
	move	D2,-(sp)
	MOVEQ	#2,D3
	move	D3,-(sp)
	JSR	_BlueBox
	move	#$19,-118(A6)
	MOVEQ	#1,D0
	move	D0,(sp)
	MOVEQ	#9,D1
	move	D1,-(sp)
	MOVEQ	#$7A,D2
	move	D2,-(sp)
	MOVEQ	#$17,D3
	move	D3,-(sp)
	MOVEQ	#2,D4
	move	D4,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	MOVEQ	#$F,D0
	move	D0,(sp)
	move	-118(A6),-(sp)
	MOVEQ	#8,D1
	move	D1,-(sp)
	PEA	L1BA6
	JSR	_jPrint
	LEA	28(sp),sp
	ADDQ.W	#8,-118(A6)
	CLR.W	-70(A6)
L0581:
	move	-70(A6),D0
	MOVEQ	#3,D1
	CMP.W	D1,D0
	BGE	L0589
	move	#4,-88(A6)
	TST.W	D0
	BNE.S	L0582
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_eff,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	ADD.W	D0,D0
	move	_feed,D1
	MULS	-138(A6),D1
	ADD.W	D1,D0
	move	#$3E7,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	(A0),-(sp)
	JSR	_rng
	ADDQ.W	#1,D0
	MOVEQ	#$74,D1
	EXT.L	D1
	DIVS	D0,D1
	MOVEQ	#8,D0
	move	D0,(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	LEA	10(sp),sp
	move	D0,-92(A6)
	BRA.S	L0583
;
L0582:
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_eff,A0
	ADDA.L	D0,A0
	move	(A0),D0
	ADDQ.W	#1,D0
	MOVEQ	#$74,D1
	EXT.L	D1
	DIVS	D0,D1
	MOVEQ	#8,D0
	move	D0,-(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-92(A6)
L0583:
	CLR.W	-4(A6)
L0584:
	move	-70(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_eff,A0
	ADDA.L	D0,A0
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	(A0),D1
	BGE	L0588
	TST.W	-70(A6)
	BNE.S	L0585
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	ADD.W	D0,D0
	move	_feed,D1
	MULS	-138(A6),D1
	ADD.W	D1,D0
	move	-4(A6),D1
	CMP.W	D1,D0
	BNE.S	L0585
	ADDQ.W	#4,-88(A6)
L0585:
	move	-70(A6),D0
	MOVEQ	#1,D1
	CMP.W	D1,D0
	BNE.S	L0586
	TST.W	_support
	BEQ.S	L0586
	move	-4(A6),D1
	move	_support,D2
	CMP.W	D1,D2
	BNE.S	L0586
	ADDQ.W	#4,-88(A6)
L0586:
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BNE.S	L0587
	move	L2036,D2
	SUB.W	_Corrupted,D2
	move	-4(A6),D3
	CMP.W	D2,D3
	BNE.S	L0587
	ADDQ.W	#2,-88(A6)
L0587:
	MOVE.L	D0,D1
	ADDQ.W	#8,D1
	ASL.W	#3,D0
	move	-118(A6),D2
	ADD.W	D0,D2
	move	D2,-(sp)
	move	-88(A6),-(sp)
	move	D1,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	move	-92(A6),D0
	ADD.W	D0,-88(A6)
	ADDQ.W	#1,-4(A6)
	BRA	L0584
;
L0588:
	ADDQ.W	#1,-70(A6)
	BRA	L0581
;
L0589:
	move	#8,-88(A6)
	move	L2037,D0
	ADD.W	L203A,D0
	ADD.W	_Taxes,D0
	ADD.W	_Corrupted,D0
	ADDQ.W	#2,D0
	move	#$E0,D1
	EXT.L	D1
	DIVS	D0,D1
	MOVEQ	#$10,D0
	move	D0,-(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	CLR.W	-4(A6)
	move	D0,-92(A6)
L058A:
	move	-4(A6),D0
	CMP.W	L2037,D0
	BGE.S	L058C
	move	-88(A6),D0
	BPL.S	L058B
	ADDQ.W	#1,D0
L058B:
	ASR.W	#1,D0
	MOVEQ	#$18,D1
	ADD.W	-118(A6),D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#$E,D2
	move	D2,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	move	-92(A6),D0
	ADD.W	D0,-88(A6)
	ADDQ.W	#1,-4(A6)
	BRA.S	L058A
;
L058C:
	TST.W	L2037
	BEQ.S	L058D
	ADDQ.W	#8,-88(A6)
L058D:
	move	-88(A6),-116(A6)
	CLR.W	-4(A6)
L058E:
	move	-4(A6),D0
	CMP.W	_Taxes,D0
	BGE.S	L0590
	move	-88(A6),D0
	BPL.S	L058F
	ADDQ.W	#1,D0
L058F:
	ASR.W	#1,D0
	MOVEQ	#$18,D1
	ADD.W	-118(A6),D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#$B,D2
	move	D2,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	move	-92(A6),D0
	ADD.W	D0,-88(A6)
	ADDQ.W	#1,-4(A6)
	BRA.S	L058E
;
L0590:
	TST.W	_Taxes
	BEQ.S	L0591
	ADDQ.W	#8,-88(A6)
L0591:
	CLR.W	-4(A6)
L0592:
	move	-4(A6),D0
	CMP.W	L203A,D0
	BGE.S	L0594
	move	-88(A6),D0
	BPL.S	L0593
	ADDQ.W	#1,D0
L0593:
	ASR.W	#1,D0
	MOVEQ	#$18,D1
	ADD.W	-118(A6),D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#$C,D2
	move	D2,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	move	-92(A6),D0
	ADD.W	D0,-88(A6)
	ADDQ.W	#1,-4(A6)
	BRA.S	L0592
;
L0594:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	ADD.W	D0,D0
	move	_feed,D1
	MULS	-138(A6),D1
	ADD.W	D1,D0
	move	D1,38(sp)
	move	_eff,D2
	CMP.W	D0,D2
	BGE	L0597
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	ADD.W	D0,D0
	move	38(sp),D1
	ADD.W	D1,D0
	ADDQ.W	#1,D0
	MOVEQ	#$74,D1
	EXT.L	D1
	DIVS	D0,D1
	MOVEQ	#8,D0
	move	D0,-(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	_eff,-4(A6)
	move	D0,-92(A6)
L0595:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	ADD.W	D0,D0
	move	_feed,D1
	MULS	-138(A6),D1
	ADD.W	D1,D0
	move	-4(A6),D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BGE.S	L0596
	MULS	-92(A6),D1
	ADDQ.W	#8,D1
	move	-118(A6),-(sp)
	move	D1,-(sp)
	MOVEQ	#8,D0
	move	D0,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	ADDQ.W	#1,-4(A6)
	BRA.S	L0595
;
L0596:
	move	-92(A6),D0
	MOVE.L	D0,D1
	move	_eff,D2
	MULS	D2,D1
	ADDQ.W	#8,D1
	MOVE.L	D7,D3
	EXT.L	D3
	MOVE.L	D3,D0
	move	D1,36(sp)
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	ADD.W	D0,D0
	move	_feed,D1
	MULS	-138(A6),D1
	ADD.W	D1,D0
	SUB.W	D2,D0
	MULS	-92(A6),D0
	ADDQ.W	#4,D0
	CLR.W	-(sp)
	MOVEQ	#$F,D1
	move	D1,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	move	D0,-(sp)
	move	-118(A6),-(sp)
	move	46(sp),-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ChangeColor
	LEA	16(sp),sp
L0597:
	move	L2035,D0
	MOVE.L	D0,D1
	CMP.W	_support,D1
	BGE	L059A
	ADDQ.W	#1,D0
	MOVEQ	#$74,D1
	EXT.L	D1
	DIVS	D0,D1
	MOVEQ	#8,D0
	move	D0,-(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	L2035,-4(A6)
	move	D0,-92(A6)
L0598:
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	_support,D1
	BGE.S	L0599
	MULS	-92(A6),D0
	ADDQ.W	#8,D0
	move	-118(A6),D1
	ADDQ.W	#8,D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#9,D2
	move	D2,-(sp)
	JSR	_DoSprite
	ADDQ.W	#6,sp
	ADDQ.W	#1,-4(A6)
	BRA.S	L0598
;
L0599:
	move	-92(A6),D0
	MOVE.L	D0,D1
	move	L2035,D2
	MULS	D2,D1
	ADDQ.W	#8,D1
	move	-118(A6),D3
	ADDQ.W	#8,D3
	move	_support,D4
	SUB.W	D2,D4
	MULS	D0,D4
	CLR.W	-(sp)
	MOVEQ	#$F,D0
	move	D0,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	move	D4,-(sp)
	move	D3,-(sp)
	move	D1,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ChangeColor
	LEA	16(sp),sp
L059A:
	TST.W	_Corrupted
	BEQ.S	L059B
	move	L2036,D0
	ADDQ.W	#1,D0
	MOVEQ	#$74,D1
	EXT.L	D1
	DIVS	D0,D1
	MOVEQ	#8,D0
	move	D0,-(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	move	_Corrupted,D1
	move	L2036,D2
	SUB.W	D1,D2
	MULS	D0,D2
	ADDQ.W	#6,D2
	MOVEQ	#$10,D3
	ADD.W	-118(A6),D3
	MULS	D0,D1		;d1 *= d0
	ADDQ.W	#2,D1		;d1 += 2
	CLR.W	(sp)
	MOVEQ	#$F,D4
	move	D4,-(sp)
	move	D0,-92(A6)
	MOVEQ	#8,D0
	move	D0,-(sp)	;H  = 8
	move	D1,-(sp)	;W
	move	D3,-(sp)	;Y1
	move	D2,-(sp)	;X1
	MOVE.L	_Rp1,-(sp)	;si
rev_bug_patch:
	JSR	_ChangeColor
;patch: The call above can bomb due to "Revolutionary" bug
;	This only happens when X1+W > 320  (unsigned)
;	Actually it appears to be X1 which erroneously gets negative
	LEA	20(sp),sp
L059B:
	MOVEQ	#$D,D0
	move	D0,-(sp)
	move	#$C8,D1
	move	D1,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	move	D2,-(sp)
	JSR	_BlueFill
	move	#$C0,D0
	move	D0,(sp)
	move	-202(A6),-(sp)
	MOVEQ	#8,D1
	move	D1,-(sp)
	move	D1,-(sp)
	move	D7,-(sp)
	JSR	_Population
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-148(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	ADDQ.W	#3,D0
	ASL.W	#3,D0
	move	#$80,D1
	move	D1,(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_rng
	LEA	20(sp),sp
	CLR.W	-70(A6)
	move	D0,-92(A6)
L059C:
	move	-70(A6),D0
	MOVEQ	#3,D1
	CMP.W	D1,D0
	BGE	L05A1
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	ADDA.W	-70(A6),A0
	MOVEQ	#0,D0
	MOVE.B	23(A0),D0
	MOVEM.W	D0,-84(A6)
	CMPI.W	#$FF,D0
	BEQ	L05A0
	CLR.B	_XEB
	move	D0,-(sp)
	JSR	_CityName
	PEA	L1BA7
	PEA	_XEB
	JSR	_strcat
	LEA	10(sp),sp
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	11(A1),D0
	EXT.W	D0
	move	_who,D1
	CMP.W	D0,D1
	BEQ.S	L059D
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	10(A1),D0
	EXT.W	D0
	MOVE.B	10(A0),D1
	EXT.W	D1
	ADD.W	D1,D0
	ADDQ.W	#4,D0
	EXT.L	D0
	DIVS	#8,D0
	MOVEQ	#$A,D1
	move	D1,-(sp)
	PEA	_ntmp
	move	D0,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	LEA	12(sp),sp
	BRA.S	L059E
;
L059D:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	10(A1),D0
	EXT.W	D0
	MOVE.B	10(A0),D1
	EXT.W	D1
	ADD.W	D1,D0
	ADDQ.W	#4,D0
	EXT.L	D0
	DIVS	#$10,D0
	MOVEQ	#$A,D1
	move	D1,-(sp)
	PEA	_ntmp
	move	D0,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	LEA	12(sp),sp
L059E:
	PEA	L1BA8
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	MOVEQ	#2,D0
	CMP.W	_CMode,D0
	BNE.S	L059F
	move	-84(A6),D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	move	-84(A6),D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	MOVEQ	#$A,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	40(sp),-(sp)
	JSR	_Set32
	ADDQ.W	#6,sp
L059F:
	TST.W	_CMode
	BNE.S	L05A0
	move	-70(A6),D0
	MULS	#6,D0
	ADDI.W	#$B3,D0
	MOVEQ	#$A,D1
	move	D1,-(sp)
	move	D0,-(sp)
	MOVEQ	#$62,D2
	move	D2,-(sp)
	PEA	_XEB
	JSR	_jPrint
	LEA	10(sp),sp
L05A0:
	ADDQ.W	#1,-70(A6)
	BRA	L059C
;
L05A1:
	MOVEQ	#2,D0
	CMP.W	_CMode,D0
	BNE.S	L05A2
	move	_TheCity,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	move	_TheCity,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	MOVEQ	#$F,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	40(sp),-(sp)
	JSR	_Set32
	ADDQ.W	#6,sp
L05A2:
	TST.W	_CMode
	BNE	L05A5
	move	L2035,D0
	EXT.L	D0
	DIVS	_Dirty,D0
	SUBI.W	#20,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-126(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	move	_PLevel,D1
	MULS	D0,D1
	TST.W	D1
	BPL.S	L05A3
	ADDQ.W	#3,D1
L05A3:
	ASR.W	#2,D1
	ADD.W	D1,-126(A6)
	MOVEQ	#$63,D0
	move	D0,-(sp)
	MOVEQ	#1,D1
	move	D1,-(sp)
	move	-126(A6),-(sp)
	JSR	_rng
	MOVEQ	#$64,D1
	EXT.L	D1
	DIVS	D0,D1
	MOVEQ	#8,D0
	move	D0,(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	move	D1,-(sp)
	JSR	_rng
	LEA	10(sp),sp
	CLR.W	-4(A6)
	move	D0,-118(A6)
L05A4:
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	-126(A6),D1
	BGE.S	L05A5
	move	-118(A6),D1
	MULS	D0,D1
	ADDI.W	#$62,D1
	ANDI.W	#1,D0
	ADDI.W	#$A1,D0
	move	L208E,-(sp)
	move	D0,-(sp)
	move	D1,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ShowSprite
	LEA	10(sp),sp
	ADDQ.W	#1,-4(A6)
	BRA.S	L05A4
;
L05A5:
	move	_who,D0
	CMP.W	_Player,D0
	BNE	L0607
	MOVEQ	#$C,D0
	move	D0,-(sp)
	PEA	L1BA9
	move	#$C6,D1
	move	D1,-(sp)
	move	#$13C,D2
	move	D2,-(sp)
	move	#$BE,D3
	move	D3,-(sp)
	move	#$11C,D4
	move	D4,-(sp)
	JSR	_MButton
	MOVEQ	#9,D0
	move	D0,(sp)
	PEA	L1BAA
	move	#$C6,D1
	move	D1,-(sp)
	move	#$110,D2
	move	D2,-(sp)
	move	#$BE,D3
	move	D3,-(sp)
	move	#$E7,D4
	move	D4,-(sp)
	JSR	_MButton
	LEA	26(sp),sp
	CLR.W	-240(A6)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BPL.S	L05A6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-$15,9(A1)
	BLT.S	L05A6
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	EXT.W	D0
	NEG.W	D0
	SUBQ.W	#1,D0
	MOVEQ	#1,D1
	ASL.L	D0,D1
	MOVE.L	(A1),D0
	AND.L	D1,D0
	TST.L	D0
	BEQ.S	L05A6
	MOVEQ	#1,D0
	move	D0,-240(A6)
L05A6:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-$15,9(A1)
	BGE.S	L05A7
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-$18,9(A1)
	BLT.S	L05A7
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	move	_who,D2
	ASL.W	D2,D1
	move	_Launched,D3
	AND.W	D1,D3
	TST.W	D3
	BEQ.S	L05A7
	move	D0,-240(A6)
L05A7:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#-$18,9(A1)
	BGE.S	L05A8
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	NEG.W	D0
	SUBI.W	#$18,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Wonders,A1
	ADDA.L	D0,A1
	MOVEQ	#-1,D0
	CMP.W	(A1),D0
	BEQ.S	L05A8
	MOVEQ	#1,D0
	move	D0,-240(A6)
L05A8:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	TST.B	D0
	BMI.S	L05A9
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Nunits,A0
	ADDA.L	D0,A0
	CMPI.W	#$7F,(A0)
	BLT.S	L05A9
	move	#1,-240(A6)
L05A9:
	JSR	_showmouse
L05AA:
	TST.W	mouse_butts
	BEQ.S	L05AB
	JSR	_getmouse
	BRA.S	L05AA
;
L05AB:
	TST.W	mouse_butts
	BNE	L05AE
	JSR	_kbhit
	TST.W	D0
	BNE	L05AE
	TST.W	-244(A6)
	BNE	L05AE
	JSR	_getmouse
	TST.W	-240(A6)
	BEQ.S	L05AB
	JSR	_hidemouse
	ADDQ.W	#1,-240(A6)
	BTST	#0,-239(A6)
	BEQ.S	L05AC
	MOVEQ	#9,D0
	move	D0,-(sp)
	MOVEQ	#$E,D1
	move	D1,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	MOVEQ	#$20,D3
	move	D3,-(sp)
	MOVEQ	#$6A,D4
	move	D4,-(sp)
	move	#$E7,D0
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ChangeColor
	LEA	16(sp),sp
	BRA.S	L05AD
;
L05AC:
	MOVEQ	#$E,D0
	move	D0,-(sp)
	MOVEQ	#9,D1
	move	D1,-(sp)
	MOVEQ	#8,D2
	move	D2,-(sp)
	MOVEQ	#$20,D3
	move	D3,-(sp)
	MOVEQ	#$6A,D4
	move	D4,-(sp)
	move	#$E7,D0
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ChangeColor
	LEA	16(sp),sp
L05AD:
	JSR	_showmouse
	MOVEQ	#$A,D0
	JSR	_WaitTicks
	BRA	L05AB
;
L05AE:
	move	#-1,-242(A6)
	JSR	_kbhit
	TST.W	D0
	BEQ.S	L05AF
	JSR	_GetCleanKey
	MOVEQ	#0,D1
	move	D1,mouse_Y
	move	D1,mouse_X
	move	D0,-242(A6)
	BRA.S	L05B0
;
L05AF:
	TST.W	-244(A6)
	BEQ.S	L05B0
	move	#$70,-242(A6)
L05B0:
	JSR	_hidemouse
	MOVEQ	#2,D0
	CMP.W	mouse_butts,D0
	BNE.S	L05B1
	move	mouse_X,D0
	CMPI.W	#$E6,D0
	BLT.S	L05B1
	CMPI.W	#$10E,D0
	BGE.S	L05B1
	move	mouse_Y,D0
	MOVEQ	#$6A,D1
	CMP.W	D1,D0
	BLT.S	L05B1
	MOVEQ	#$74,D1
	CMP.W	D1,D0
	BLE.S	L05B2
L05B1:
	MOVEQ	#$41,D0
	CMP.W	-242(A6),D0
	BNE	L05B6
L05B2:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BCHG	#4,6(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#4,6(A0)
	BEQ	L05B5
	move	D7,-(sp)
	move	_who,-(sp)
	JSR	_UnitType
	ADDQ.W	#4,sp
	MOVEQ	#2,D1
	MOVEA.L	_Rp1,A0
	move	D1,16(A0)
	move	D0,-98(A6)
	MOVEQ	#$63,D2
	CMP.W	D2,D0
	BEQ	L0475
	MOVEQ	#0,D3
	move	D3,_UpdateCity
	MOVE.L	D7,D4
	EXT.L	D4
	MOVE.L	D4,D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	TST.B	D0
	BMI.S	L05B3
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A1,A5
	ADDA.L	D0,A5
	MOVE.B	9(A5),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A3
	SUBQ.W	#1,(A3)
L05B3:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A1,A0
	ADDA.L	D0,A0
	move	-98(A6),D0
	MOVE.B	D0,9(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A1,A0
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	TST.B	D0
	BMI.S	L05B4
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	ADDQ.W	#1,(A0)
L05B4:
	move	D3,-(sp)
	MOVEQ	#$64,D0
	move	D0,-(sp)
	MOVEQ	#$5A,D1
	move	D1,-(sp)
	move	D2,-(sp)
	move	#$E6,D4
	move	D4,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectumFill
	LEA	14(sp),sp
L05B5:
	move	-140(A6),L2035
	move	-150(A6),L2036
	BRA	L04B5
;
L05B6:
	move	-242(A6),D0
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BNE.S	L05B7
	MOVEQ	#1,D1
	CMP.W	mouse_butts,D1
	BNE	L05CC
	move	mouse_Y,D1
	MOVEQ	#$6A,D2
	CMP.W	D2,D1
	BLT	L05CC
	MOVEQ	#$74,D2
	CMP.W	D2,D1
	BGT	L05CC
L05B7:
	CMPI.W	#$128,mouse_X
	BGE.S	L05B8
	MOVEQ	#$62,D1
	CMP.W	D1,D0
	BNE	L05C1
L05B8:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI	L05B9
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	move	D0,-10(A6)
	MULS	#$A,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	36(sp),D0
	SUB.W	14(A0),D0
	move	#$3E7,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-92(A6)
	ADD.W	D0,D0
	move	-92(A6),D1
	MULS	-92(A6),D1
	EXT.L	D1
	DIVS	#20,D1
	ADD.W	D1,D0
	move	D0,-92(A6)
	BRA	L05BA
;
L05B9:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	NEG.W	D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	move	D0,-10(A6)
	MULS	#$A,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	36(sp),D0
	SUB.W	14(A0),D0
	move	#$3E7,D1
	move	D1,-(sp)
	CLR.W	-(sp)
	move	D0,-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	ADD.W	D0,D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-92(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	EXT.W	D0
	NEG.W	D0
	MOVEQ	#$15,D1
	CMP.W	D1,D0
	BLE.S	L05BA
	move	-92(A6),D0
	ADD.W	D0,D0
	move	D0,-92(A6)
L05BA:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	TST.W	14(A0)
	BNE.S	L05BB
	move	-92(A6),D0
	ADD.W	D0,D0
	move	D0,-92(A6)
L05BB:
	PEA	L1BAB
	PEA	_XEB
	JSR	_strcpy
	ADDQ.W	#8,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L05BC
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	BRA.S	L05BD
;
L05BC:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	NEG.W	D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,-(sp)
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
L05BD:
	PEA	L1BAC
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	-92(A6),-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1BAD
	PEA	_XEB
	JSR	_strcat
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	ADDA.L	D0,A0
	MOVEQ	#$A,D0
	move	D0,(sp)
	PEA	_ntmp
	move	(A0),-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1BAE
	PEA	_XEB
	JSR	_strcat
	LEA	44(sp),sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L05BE
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BEQ.S	L05BE
	PEA	L1BAF
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
	BRA.S	L05BF
;
L05BE:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	ADDA.L	D0,A0
	move	-92(A6),D0
	CMP.W	(A0),D0
	BGT.S	L05BF
	PEA	L1BB0
	PEA	_XEB
	JSR	_strcat
	ADDQ.W	#8,sp
L05BF:
	JSR	_showmouse
	MOVEA.L	_Rp1,A0
	move	#1,16(A0)
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_DoMenu
	ADDQ.W	#8,sp
	TST.W	D0
	BNE.S	L05C0
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-92(A6),D0
	MOVE.L	D0,D1
	CMP.W	(A1),D1
	BGT.S	L05C0
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A1
	ADDA.L	D0,A1
	move	-10(A6),D0
	MULS	#$A,D0
	move	D0,14(A1)
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	move	-92(A6),D0
	SUB.W	D0,(A0)
L05C0:
	JSR	_hidemouse
	BRA	L0475
;
L05C1:
	move	mouse_X,D0
	CMPI.W	#$E6,D0
	BLT.S	L05C2
	CMPI.W	#$10E,D0
	BLT.S	L05C3
L05C2:
	MOVEQ	#$63,D0
	CMP.W	-242(A6),D0
	BNE	L05C6
L05C3:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BCLR	#4,6(A0)
	JSR	_showmouse
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L05C4
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	SUBQ.W	#1,(A1)
L05C4:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	D7,-(sp)
	move	_who,-(sp)
	MOVE.L	A0,40(sp)
	JSR	_UnitType
	ADDQ.W	#4,sp
	MOVEA.L	36(sp),A0
	MOVE.B	D0,9(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L05C5
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	ADDQ.W	#1,(A1)
L05C5:
	JSR	_hidemouse
	BRA	L0475
;
L05C6:
	move	-242(A6),D0
	MOVEQ	#$69,D1
	CMP.W	D1,D0
	BNE.S	L05C7
	CLR.W	_CMode
	BRA.S	L05CB
;
L05C7:
	MOVEQ	#$68,D1
	CMP.W	D1,D0
	BNE.S	L05C8
	move	#1,_CMode
	BRA.S	L05CB
;
L05C8:
	MOVEQ	#$6D,D1
	CMP.W	D1,D0
	BNE.S	L05C9
	move	#2,_CMode
	BRA.S	L05CB
;
L05C9:
	MOVEQ	#$76,D1
	CMP.W	D1,D0
	BNE.S	L05CA
	move	#3,_CMode
	BRA.S	L05CB
;
L05CA:
	move	mouse_X,D0
	MOVEQ	#$60,D1
	CMP.W	D1,D0
	BLT.S	L05CC
	CMPI.W	#$E0,D0
	BGE.S	L05CC
	SUBI.W	#$60,D0
	EXT.L	D0
	DIVS	#$20,D0
	move	D0,_CMode
L05CB:
	move	-140(A6),L2035
	move	-150(A6),L2036
	MOVEQ	#3,D0
	CMP.W	_CMode,D0
	BNE	L04B5
	MOVEA.L	_Rp1,A0
	move	#1,16(A0)
	CLR.B	_XEB
	MOVEQ	#-1,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_ShowCity
	ADDQ.W	#4,sp
	move	#1,_Stomped
	MOVEQ	#0,D0
	move	D0,_CMode
	BRA	L0475
;
L05CC:
	MOVEQ	#$61,D0
	CMP.W	-242(A6),D0
	BNE	L05DA
	CLR.W	-10(A6)
L05CD:
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	ADDA.L	D0,A0
	move	-10(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	-238(A6),A1
	ADDA.L	D0,A1
	move	(A1),D0
	MULS	#$C,D0
	ADDA.L	D0,A0
	MOVEQ	#-$31,D0
	AND.B	(A0),D0
	BNE.S	L05CE
	move	-10(A6),D0
	MOVE.L	D0,D1
	CMP.W	-16(A6),D1
	BGE.S	L05CE
	ADDQ.W	#1,-10(A6)
	BRA.S	L05CD
;
L05CE:
	move	-10(A6),D0
	CMP.W	-16(A6),D0
	BNE.S	L05CF
	CLR.W	-10(A6)
L05CF:
	move	-10(A6),D0
	EXT.L	D0
	MOVEQ	#6,D1
	DIVS	D1,D0
	SWAP	D0
	MULS	#$12,D0
	ADDI.W	#$64,D0
	move	-10(A6),D1
	EXT.L	D1
	DIVS	#6,D1
	ASL.W	#4,D1
	ADDI.W	#$74,D1
	move	D0,-120(A6)
	move	D1,-122(A6)
L05D0:
	MOVEQ	#$10,D0
	move	D0,-(sp)
	move	D0,-(sp)
	move	-122(A6),-(sp)
	move	-120(A6),-(sp)
	JSR	_BlueFill
	MOVEQ	#$A,D0
	JSR	_WaitTicks
	move	-10(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	-238(A6),A0
	ADDA.L	D0,A0
	move	-122(A6),(sp)
	move	-120(A6),-(sp)
	move	(A0),-(sp)
	move	_who,-(sp)
	JSR	_DrawUnit
	MOVEQ	#$A,D0
	JSR	_WaitTicks
	LEA	14(sp),sp
	JSR	_kbhit
	TST.W	D0
	BEQ.S	L05D0
	JSR	_GetCleanKey
	move	D0,-118(A6)
	SUBI.W	#$4800,D0
	BEQ.S	L05D4
	SUBI.W	#$300,D0
	BEQ.S	L05D2
	SUBI.W	#$200,D0
	BEQ.S	L05D1
	SUBI.W	#$300,D0
	BEQ.S	L05D3
	BRA.S	L05D5
;
L05D1:
	move	-10(A6),D0
	ADDQ.W	#1,D0
	move	D0,-4(A6)
	BRA.S	L05D6
;
L05D2:
	move	-10(A6),D0
	SUBQ.W	#1,D0
	move	D0,-4(A6)
	BRA.S	L05D6
;
L05D3:
	move	-10(A6),D0
	ADDQ.W	#6,D0
	move	D0,-4(A6)
	BRA.S	L05D6
;
L05D4:
	move	-10(A6),D0
	SUBQ.W	#6,D0
	move	D0,-4(A6)
	BRA.S	L05D6
;
L05D5:
	move	-10(A6),-4(A6)
L05D6:
	move	-16(A6),D0
	SUBQ.W	#1,D0
	move	D0,-(sp)
	CLR.W	-(sp)
	move	-4(A6),-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-10(A6)
	move	-118(A6),D0
	MOVEQ	#$D,D1
	CMP.W	D1,D0
	BEQ.S	L05D7
	MOVEQ	#$20,D1
	CMP.W	D1,D0
	BNE	L05D9
L05D7:
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-10(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	-238(A6),A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	move	(A3),D1
	MOVEQ	#$C,D2
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVEQ	#9,D1
	AND.B	(A1),D1
	MOVE.L	D0,40(sp)
	TST.B	D1
	BEQ.S	L05D8
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	40(sp),D0
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	move	(A3),D1
	MULS	D2,D1
	ADDA.L	D1,A1
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A3
	ADDA.L	D0,A3
	MOVEA.L	A2,A5
	ADDA.L	40(sp),A5
	move	(A5),D0
	MULS	D2,D0
	ADDA.L	D0,A3
	MOVE.B	3(A3),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A3
	ADDA.L	D0,A3
	move	16(A3),D0
	ADD.W	D0,D0
	ADD.W	16(A3),D0
	MOVE.B	D0,4(A1)
L05D8:
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-10(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	move	(A3),D1
	MULS	D2,D1
	ADDA.L	D1,A1
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D3
	ANDI.W	#-$D0,D3
	MOVE.B	D3,(A1)
	move	_who,D1
	EXT.L	D1
	MOVE.L	D0,40(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	40(sp),D0
	ADDA.L	D0,A2
	move	(A2),D0
	MULS	D2,D0
	ADDA.L	D0,A0
	MOVE.B	#-1,6(A0)
L05D9:
	MOVEQ	#$1B,D0
	CMP.W	-118(A6),D0
	BNE	L05CF
	move	-140(A6),L2035
	move	-150(A6),L2036
	BRA	L04B5
;
L05DA:
	MOVEQ	#$73,D0
	CMP.W	-242(A6),D0
	BNE	L05DE
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#7,6(A0)
	BNE	L05DE
	CLR.W	-10(A6)
L05DB:
	move	-10(A6),D0
	ADD.W	-258(A6),D0
	MULS	#6,D0
	ADDQ.W	#3,D0
	MOVEQ	#1,D1
	move	D1,-(sp)
	MOVEQ	#9,D2
	move	D2,-(sp)
	MOVEQ	#7,D3
	move	D3,-(sp)
	MOVEQ	#$38,D4
	move	D4,-(sp)
	move	D0,-(sp)
	move	#$FC,D1
	move	D1,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ChangeColor
	MOVEQ	#$A,D0
	JSR	_WaitTicks
	move	-10(A6),D0
	ADD.W	-258(A6),D0
	MULS	#6,D0
	ADDQ.W	#3,D0
	MOVEQ	#9,D1
	move	D1,(sp)
	MOVEQ	#1,D2
	move	D2,-(sp)
	MOVEQ	#7,D3
	move	D3,-(sp)
	MOVEQ	#$38,D4
	move	D4,-(sp)
	move	D0,-(sp)
	move	#$FC,D1
	move	D1,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_ChangeColor
	MOVEQ	#$A,D0
	JSR	_WaitTicks
	LEA	30(sp),sp
	JSR	_kbhit
	TST.W	D0
	BEQ	L05DB
	JSR	_GetCleanKey
	move	D0,-118(A6)
	SUBI.W	#$4800,D0
	BEQ.S	L05DC
	SUBI.W	#$800,D0
	BNE.S	L05DD
	move	-10(A6),D0
	ADDQ.W	#1,D0
	move	D0,-4(A6)
	BRA.S	L05DD
;
L05DC:
	move	-10(A6),D0
	SUBQ.W	#1,D0
	move	D0,-4(A6)
L05DD:
	move	-78(A6),D0
	SUBQ.W	#1,D0
	move	D0,-(sp)
	CLR.W	-(sp)
	move	-4(A6),-(sp)
	JSR	_rng
	ADDQ.W	#6,sp
	move	D0,-10(A6)
	move	-118(A6),D0
	MOVEQ	#$D,D1
	CMP.W	D1,D0
	BEQ	L05F6
	MOVEQ	#$20,D1
	CMP.W	D1,D0
	BEQ	L05F6
	MOVEQ	#$1B,D0
	CMP.W	-118(A6),D0
	BNE	L05DB
L05DE:
	move	-242(A6),D0
	MOVEQ	#$31,D1
	CMP.W	D1,D0
	BLT	L05E2
	MOVEQ	#$39,D2
	CMP.W	D2,D0
	BGT	L05E2
	SUBI.W	#$31,D0
	MOVEM.W	D0,-4(A6)
	CMP.W	-202(A6),D0
	BGE	L0475
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	CMPI.B	#5,7(A0)
	BLT.S	L05E0
	move	-4(A6),-(sp)
	JSR	_GetElvis
	ADDQ.W	#2,sp
	move	D0,-92(A6)
	MOVEQ	#3,D1
	CMP.W	D1,D0
	BGE.S	L05DF
	ADDQ.W	#1,D0
	move	D0,-(sp)
	move	-4(A6),-(sp)
	JSR	_PutElvis
	ADDQ.W	#4,sp
	BRA.S	L05E1
;
L05DF:
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	-4(A6),-(sp)
	JSR	_PutElvis
	ADDQ.W	#4,sp
	BRA.S	L05E1
;
L05E0:
	JSR	_ElvisErr
	BRA	L0475
;
L05E1:
	move	-140(A6),L2035
	move	-150(A6),L2036
	BRA	L04B5
;
L05E2:
	MOVEQ	#$70,D0
	CMP.W	-242(A6),D0
	BNE	L05F1
	TST.W	-244(A6)
	BNE.S	L05E3
	MOVEQ	#0,D0
	move	#1,-244(A6)
	move	D0,-246(A6)
	move	D0,-248(A6)
L05E3:
	move	-246(A6),D0
	ASL.W	#4,D0
	ADDI.W	#$A0,D0
	move	-248(A6),D1
	ASL.W	#4,D1
	ADDI.W	#$38,D1
	MOVEQ	#0,D2
	move	D2,-(sp)
	move	D2,-(sp)
	MOVE.L	_RpBack,-(sp)
	MOVEQ	#$10,D3
	move	D3,-(sp)
	move	D3,-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	JSR	_RectCopy
	move	-246(A6),D0
	ASL.W	#4,D0
	ADDI.W	#$A0,D0
	move	-248(A6),D1
	ASL.W	#4,D1
	ADDI.W	#$38,D1
	MOVEQ	#$F,D2
	move	D2,(sp)
	move	D2,-(sp)
	move	D2,-(sp)
	move	D1,-(sp)
	move	D0,-(sp)
	JSR	_Box
	MOVEQ	#$A,D0
	JSR	_WaitTicks
	move	-246(A6),D0
	ASL.W	#4,D0
	ADDI.W	#$A0,D0
	move	-248(A6),D1
	ASL.W	#4,D1
	ADDI.W	#$38,D1
	move	D1,(sp)
	move	D0,-(sp)
	MOVE.L	_Rp1,-(sp)
	MOVEQ	#$10,D2
	move	D2,-(sp)
	move	D2,-(sp)
	MOVEQ	#0,D3
	move	D3,-(sp)
	move	D3,-(sp)
	MOVE.L	_RpBack,-(sp)
	JSR	_RectCopy
	MOVEQ	#$A,D0
	JSR	_WaitTicks
	LEA	46(sp),sp
	move	#1,_Stomped
	JSR	_kbhit
	TST.W	D0
	BEQ	L05E3
	move	-246(A6),-116(A6)
	move	-248(A6),-118(A6)
	JSR	_GetCleanKey
	move	D0,-92(A6)
	SUBI.W	#$4700,D0
	BEQ.S	L05EB
	SUBI.W	#$100,D0
	BEQ.S	L05E4
	SUBI.W	#$100,D0
	BEQ.S	L05E5
	SUBI.W	#$200,D0
	BEQ.S	L05EA
	SUBI.W	#$200,D0
	BEQ.S	L05E6
	SUBI.W	#$200,D0
	BEQ.S	L05E9
	SUBI.W	#$100,D0
	BEQ.S	L05E8
	SUBI.W	#$100,D0
	BEQ.S	L05E7
	BRA.S	L05EC
;
L05E4:
	SUBQ.W	#1,-248(A6)
	BRA.S	L05EC
;
L05E5:
	SUBQ.W	#1,-248(A6)
	ADDQ.W	#1,-246(A6)
	BRA.S	L05EC
;
L05E6:
	ADDQ.W	#1,-246(A6)
	BRA.S	L05EC
;
L05E7:
	ADDQ.W	#1,-246(A6)
	ADDQ.W	#1,-248(A6)
	BRA.S	L05EC
;
L05E8:
	ADDQ.W	#1,-248(A6)
	BRA.S	L05EC
;
L05E9:
	SUBQ.W	#1,-246(A6)
	ADDQ.W	#1,-248(A6)
	BRA.S	L05EC
;
L05EA:
	SUBQ.W	#1,-246(A6)
	BRA.S	L05EC
;
L05EB:
	SUBQ.W	#1,-246(A6)
	SUBQ.W	#1,-248(A6)
L05EC:
	move	-246(A6),-(sp)
	JSR	_abs
	ADDQ.W	#2,sp
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BGT	L05ED
	move	-248(A6),-(sp)
	JSR	_abs
	ADDQ.W	#2,sp
	MOVEQ	#2,D1
	CMP.W	D1,D0
	BGT	L05ED
	move	-246(A6),-(sp)
	JSR	_abs
	move	-248(A6),-(sp)
	move	D0,40(sp)
	JSR	_abs
	ADDQ.W	#4,sp
	move	36(sp),D1
	ADD.W	D0,D1
	MOVEQ	#4,D0
	CMP.W	D0,D1
	BGE.S	L05ED
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	ADD.W	-246(A6),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	ADD.W	-248(A6),D0
	ADDA.W	D0,A1
	MOVEQ	#1,D0
	move	_Player,D1
	ASL.W	D1,D0
	MOVE.B	(A1),D1
	EXT.W	D1
	AND.W	D0,D1
	BNE.S	L05EE
L05ED:
	move	-116(A6),D0
	move	-118(A6),D1
	move	D0,-246(A6)
	move	D1,-248(A6)
L05EE:
	move	-92(A6),D0
	MOVEQ	#$D,D1
	CMP.W	D1,D0
	BEQ.S	L05EF
	MOVEQ	#$20,D1
	CMP.W	D1,D0
	BNE.S	L05F0
L05EF:
	move	-246(A6),-116(A6)
	move	-248(A6),-118(A6)
	BRA	L0601
;
L05F0:
	MOVEQ	#$1B,D0
	CMP.W	-92(A6),D0
	BNE	L05E3
	CLR.W	-244(A6)
	BRA	L0475
;
L05F1:
	move	-242(A6),D0
	MOVEQ	#$4D,D1
	CMP.W	D1,D0
	BNE.S	L05F2
	BTST	#1,-253(A6)
	BEQ.S	L05F2
	BCHG	#0,-253(A6)
	move	-256(A6),-80(A6)
	move	-140(A6),L2035
	move	-150(A6),L2036
	BRA	L04B5
;
L05F2:
	MOVEQ	#$72,D1
	CMP.W	D1,D0
	BEQ.S	L05F3
	MOVEQ	#1,D0
	CMP.W	mouse_butts,D0
	BNE.S	L05F4
	move	mouse_X,D1
	CMPI.W	#$E7,D1
	BLT.S	L05F4
	CMPI.W	#$BE,mouse_Y
	BLE.S	L05F4
	CMPI.W	#$10E,D1
	BGE.S	L05F4
L05F3:
	MOVEQ	#1,D0
	JSR	_WaitTicks
	JSR	_DeBounce
	MOVEA.L	_Rp1,A0
	move	#1,16(A0)
	move	D7,-(sp)
	JSR	_NameCity
	ADDQ.W	#2,sp
	MOVEQ	#1,D0
	move	D0,_Stomped
	BRA	L0475
;
L05F4:
	CMP.W	mouse_butts,D0
	BNE	L0608
	move	mouse_X,D1
	CMPI.W	#$120,D1
	BLT.S	L05F5
	move	mouse_Y,D2
	MOVEQ	#$60,D3
	CMP.W	D3,D2
	BGE.S	L05F5
	MOVEQ	#$58,D3
	CMP.W	D3,D2
	BLE.S	L05F5
	BTST	#1,-253(A6)
	BEQ.S	L05F5
	BCHG	#0,-253(A6)
	move	-256(A6),-80(A6)
	move	-140(A6),L2035
	move	-150(A6),L2036
	BRA	L04B5
;
L05F5:
	CMPI.W	#$12C,D1
	BLT	L05FA
	move	mouse_Y,D0
	MOVEQ	#$5E,D1
	CMP.W	D1,D0
	BGE	L05FA
	SUBQ.W	#2,D0
	EXT.L	D0
	DIVS	#6,D0
	SUB.W	-258(A6),D0
	move	D0,-10(A6)
L05F6:
	move	-80(A6),-70(A6)
L05F7:
	move	-70(A6),D0
	MOVEQ	#$18,D1
	CMP.W	D1,D0
	BGE	L05FA
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	move	-70(A6),D1
	ASL.L	D1,D0
	MOVE.L	(A1),D1
	AND.L	D0,D1
	BEQ	L05F9
	move	-10(A6),D0
	SUBQ.W	#1,-10(A6)
	TST.W	D0
	BNE	L05F9
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#7,6(A0)
	BNE	L05F9
	PEA	L1BB1
	PEA	_XEB
	JSR	_strcpy
	move	-70(A6),D0
	ADDQ.W	#1,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1BB2
	PEA	_XEB
	JSR	_strcat
	move	-70(A6),D0
	ADDQ.W	#1,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	move	24(A0),D0
	MOVEQ	#$A,D1
	MULS	D1,D0
	move	D1,(sp)
	PEA	_ntmp
	move	D0,-(sp)
	JSR	_itoa
	MOVE.L	D0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1BB3
	PEA	_XEB
	JSR	_strcat
	MOVEA.L	_Rp1,A0
	move	#1,16(A0)
	JSR	_showmouse
	MOVEQ	#$50,D0
	move	D0,(sp)
	move	#$80,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_Menu
	LEA	44(sp),sp
	SUBQ.W	#1,D0
	BNE	L05F8
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	ADDA.L	D0,A0
	move	-70(A6),D0
	MOVE.L	D0,D1
	ADDQ.W	#1,D1
	move	D1,40(sp)
	EXT.L	D1
	MOVEQ	#$1E,D0
	JSR	__CXM22
	LEA	_im,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	MULS	#$A,D0
	ADD.W	D0,(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	move	-70(A6),D1
	ASL.L	D1,D0
	SUB.L	D0,(A1)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	6(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	ORI.W	#$80,D1
	MOVE.B	D1,6(A0)
	MOVEQ	#8,D0
	CMP.W	40(sp),D0
	BNE.S	L05F8
	move	#1,_Stomped
L05F8:
	JSR	_hidemouse
	BRA	L0475
;
L05F9:
	ADDQ.W	#1,-70(A6)
	BRA	L05F7
;
L05FA:
	move	mouse_X,D0
	CMPI.W	#$C8,D0
	BGE	L05FE
	CMPI.W	#20,mouse_Y
	BGE	L05FE
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#5,7(A1)
	BLT.S	L05FC
	MOVEQ	#-$10,D0
	ADD.W	mouse_X,D0
	EXT.L	D0
	DIVS	-148(A6),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,-4(A6)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	7(A0),D0
	EXT.W	D0
	SUB.W	D5,D0
	SUB.W	D0,-4(A6)
	BLT	L0475
	move	-4(A6),D0
	MOVE.L	D0,D1
	CMP.W	-202(A6),D1
	BGE	L0475
	move	-4(A6),-(sp)
	JSR	_GetElvis
	ADDQ.W	#2,sp
	move	D0,-92(A6)
	MOVEQ	#3,D1
	CMP.W	D1,D0
	BGE.S	L05FB
	ADDQ.W	#1,D0
	move	D0,-(sp)
	move	-4(A6),-(sp)
	JSR	_PutElvis
	ADDQ.W	#4,sp
	BRA.S	L05FD
;
L05FB:
	MOVEQ	#1,D0
	move	D0,-(sp)
	move	-4(A6),-(sp)
	JSR	_PutElvis
	ADDQ.W	#4,sp
	BRA.S	L05FD
;
L05FC:
	JSR	_ElvisErr
	BRA	L0475
;
L05FD:
	move	-140(A6),D0
	move	D0,L2035
	move	-150(A6),D1
	move	D1,L2036
	BRA	L04B5
;
L05FE:
	move	mouse_X,D0
	MOVEQ	#$64,D1
	CMP.W	D1,D0
	BLT	L0600
	CMPI.W	#$2580,D0
	BGE	L0600
	move	mouse_Y,D2
	MOVEQ	#$74,D3
	CMP.W	D3,D2
	BLT	L0600
	MOVEQ	#-$64,D1
	ADD.W	D0,D1
	EXT.L	D1
	MOVEQ	#$10,D4
	DIVS	D4,D1
	MOVEQ	#-$74,D3
	ADD.W	D2,D3
	EXT.L	D3
	DIVS	D4,D3
	MULS	#6,D3
	ADD.W	D3,D1
	MOVEM.W	D1,-10(A6)
	CMP.W	-16(A6),D1
	BGE	L0600
	move	_who,D3
	EXT.L	D3
	MOVE.L	D3,D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	LEA	_un,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-10(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	-238(A6),A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	move	(A3),D1
	MOVEQ	#$C,D3
	MULS	D3,D1
	ADDA.L	D1,A1
	MOVEQ	#9,D1
	AND.B	(A1),D1
	MOVE.L	D0,40(sp)
	TST.B	D1
	BEQ.S	L05FF
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	40(sp),D0
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	move	(A3),D1
	MULS	D3,D1
	ADDA.L	D1,A1
	move	_who,D1
	EXT.L	D1
	MOVE.L	#$600,D0
	JSR	__CXM22
	MOVEA.L	A0,A3
	ADDA.L	D0,A3
	MOVEA.L	A2,A5
	ADDA.L	40(sp),A5
	move	(A5),D0
	MULS	D3,D0
	ADDA.L	D0,A3
	MOVE.B	3(A3),D0
	EXT.W	D0
	EXT.L	D0
	MOVEQ	#$22,D1
	JSR	__CXM22
	LEA	_tp,A3
	ADDA.L	D0,A3
	move	16(A3),D0
	ADD.W	D0,D0
	ADD.W	16(A3),D0
	MOVE.B	D0,4(A1)
L05FF:
	move	_who,D0
	EXT.L	D0
	MOVE.L	#$600,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-10(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	move	(A3),D1
	MULS	D3,D1
	ADDA.L	D1,A1
	MOVE.B	(A1),D1
	EXT.W	D1
	MOVE.L	D1,D2
	ANDI.W	#-$D0,D2
	MOVE.B	D2,(A1)
	move	_who,D1
	EXT.L	D1
	MOVE.L	D0,40(sp)
	MOVE.L	#$600,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	40(sp),D0
	ADDA.L	D0,A2
	move	(A2),D0
	MULS	D3,D0
	ADDA.L	D0,A0
	MOVE.B	#-1,6(A0)
	move	-140(A6),L2035
	move	-150(A6),L2036
	BRA	L04B5
;
L0600:
	move	mouse_Y,D0
	MOVEQ	#$18,D1
	CMP.W	D1,D0
	BLT	L0608
	MOVEQ	#$68,D2
	CMP.W	D2,D0
	BGE	L0608
	move	mouse_X,D2
	EXT.L	D2
	MOVEQ	#$10,D3
	DIVS	D3,D2
	SUBI.W	#$A,D2
	SUBI.W	#$18,D0
	EXT.L	D0
	DIVS	D3,D0
	SUBQ.W	#2,D0
	move	D0,-118(A6)
	move	D2,-116(A6)
L0601:
	move	-118(A6),-(sp)
	move	-116(A6),-(sp)
	BSR	_IndexOf
	ADDQ.W	#4,sp
	move	D0,-4(A6)
	MOVEQ	#-1,D1
	CMP.W	D1,D0
	BEQ	L0475
	MOVEQ	#20,D1
	CMP.W	D1,D0
	BGE	L0475
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A2
	MOVEA.L	A2,A3
	ADDA.L	D0,A3
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	ADD.W	(A3),D0
	EXT.L	D0
	MOVEQ	#$32,D1
	JSR	__CXM22
	LEA	_seen,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A3
	ADDA.L	D0,A3
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A5
	MOVEA.L	A5,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	5(A3),D0
	ADD.W	(A2),D0
	ADDA.W	D0,A1
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	move	_who,D2
	ASL.W	D2,D1
	MOVE.B	(A1),D2
	EXT.W	D2
	AND.W	D1,D2
	TST.W	D2
	BEQ	L0475
	move	-140(A6),L2035
	move	-150(A6),L2036
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	move	-4(A6),D2
	ASL.L	D2,D1
	MOVE.L	16(A1),D3
	AND.L	D1,D3
	BNE.S	L0602
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_XMove,A1
	ADDA.L	D2,A1
	move	(A1),D1
	ADDQ.W	#2,D1
	MULS	#$A,D1
	LEA	-200(A6),A1
	ADDA.L	D1,A1
	move	-4(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A5
	move	(A5),D1
	ADDQ.W	#2,D1
	MOVE.L	D1,D2
	EXT.L	D2
	ADD.L	D2,D2
	ADDA.L	D2,A1
	TST.W	(A1)
	BNE	L04B5
L0602:
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#1,D0
	move	-4(A6),D1
	ASL.L	D1,D0
	EOR.L	D0,16(A1)
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D0,40(sp)
	MOVE.L	D2,D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	40(sp),D0
	MOVE.L	16(A0),D1
	AND.L	D0,D1
	BEQ.S	L0603
	ADDQ.W	#1,-96(A6)
	move	D6,-(sp)
	move	-4(A6),-(sp)
	move	D7,-(sp)
	JSR	_BlockEcon
	ADDQ.W	#6,sp
	TST.W	_idle
	BEQ	L0606
	SUBQ.W	#1,_idle
	SUBQ.W	#1,D5
	BRA	L0606
;
L0603:
	SUBQ.W	#1,-96(A6)
	CLR.W	-70(A6)
L0604:
	move	-70(A6),D0
	MOVEQ	#3,D1
	CMP.W	D1,D0
	BGE	L0605
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	ADD.W	(A2),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	ADD.W	(A1),D0
	move	-70(A6),-(sp)
	move	D0,-(sp)
	move	40(sp),-(sp)
	JSR	_BlockProd
	ADDQ.W	#6,sp
	move	-70(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_eff,A0
	ADDA.L	D1,A0
	SUB.W	D0,(A0)
	move	D0,-112(A6)
	ADDQ.W	#1,-70(A6)
	BRA	L0604
;
L0605:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A2
	ADDA.L	D0,A2
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	ADD.W	(A2),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
	JSR	__CXM22
	ADDA.L	D0,A0
	move	-4(A6),D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_YMove,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	ADD.W	(A1),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_RestoreBlock
	ADDQ.W	#4,sp
	ADDQ.W	#1,_idle
	ADDQ.W	#1,D5
L0606:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.L	#$3FFFFFF,D0
	AND.L	16(A0),D0
	MOVE.L	D5,D1
	EXT.L	D1
	SWAP	D1
	CLR.W	D1
	ASL.L	#8,D1
	ASL.L	#2,D1
	ADD.L	D1,D0
	MOVE.L	D0,16(A1)
	move	-96(A6),D0
	TST.W	D0
	BLE	L04B5
	BRA	L0475
;
L0607:
	JSR	_WaitForIt
L0608:
	move	-72(A6),_XMap
	move	-74(A6),_YMap
L0609:
	TST.W	D6
	BNE	L0639
	TST.W	_who
	BEQ	L061F
	move	L2038,D0
	SUB.W	L2039,D0
	MOVEM.W	D0,-92(A6)
	BGE	L0611
	MOVEQ	#1,D0
	move	_who,D1
	ASL.W	D1,D0
	move	_Human,D1
	AND.W	D0,D1
	BEQ	L060C
	PEA	L1BB4
	PEA	_XEB
	JSR	_strcpy
	move	D7,(sp)
	JSR	_CityName
	PEA	L1BB5
	PEA	_XEB
	JSR	_strcat
	CLR.W	(sp)
	JSR	_DoSound
	LEA	16(sp),sp
	BTST	#3,L1FB8
	BEQ.S	L060A
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BNE.S	L060A
	TST.W	_Disordered
	BNE.S	L060A
	MOVEQ	#-2,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_ShowCity
	JSR	_Riot
	MOVEQ	#1,D0
	move	D0,(sp)
	move	D0,-(sp)
	JSR	_CheckForDisk
	JSR	_ResetScreen
	ADDQ.W	#6,sp
	move	#1,_Disordered
	BRA.S	L060B
;
L060A:
	move	#4,_MSource
	MOVEQ	#$50,D0
	move	D0,-(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	ADDQ.W	#8,sp
L060B:
	MOVEQ	#$1A,D0
	move	D0,-(sp)
	JSR	_DoSound
	ADDQ.W	#2,sp
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#0,6(A0)
	BNE.S	L060C
	MOVEQ	#1,D0
	move	D0,_UpdateCity
	BTST	#0,L1FB8
	BEQ.S	L060C
	PEA	L1BB6
	JSR	_Advice
	ADDQ.W	#4,sp
L060C:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#0,6(A1)
	BNE	L060F
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BSET	#0,6(A1)
	MOVEQ	#1,D0
	MOVE.L	D0,D1
	move	_who,D2
	ASL.W	D2,D1
	move	_Human,D3
	AND.W	D1,D3
	BNE	L060E
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L060D
	EXT.L	D2
	MOVE.L	D2,D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	SUBQ.W	#1,(A1)
L060D:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	D7,-(sp)
	move	_who,-(sp)
	MOVE.L	A0,40(sp)
	JSR	_UnitType
	ADDQ.W	#4,sp
	MOVEA.L	36(sp),A0
	MOVE.B	D0,9(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L060E
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	ADDQ.W	#1,(A1)
L060E:
	move	-90(A6),-(sp)
	move	-88(A6),-(sp)
	JSR	_ChangeBlock
	ADDQ.W	#4,sp
	BRA	L0616
;
L060F:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	MOVEQ	#5,D0
	CMP.W	(A0),D0
	BNE	L0616
	CLR.W	-(sp)
	JSR	_DoSound
	PEA	L1BB7
	PEA	_XEB
	JSR	_strcpy
	move	D7,(sp)
	JSR	_CityName
	PEA	L1BB8
	PEA	_XEB
	JSR	_strcat
	LEA	18(sp),sp
	move	_who,D0
	CMP.W	_Player,D0
	BNE.S	L0610
	move	D7,-(sp)
	JSR	_NewsPaper
	ADDQ.W	#2,sp
	move	_who,D0
	EXT.L	D0
	ASL.L	#4,D0
	LEA	_Treaties,A0
	ADDA.L	D0,A0
	BSET	#2,1(A0)
L0610:
	CLR.W	-(sp)
	move	_who,-(sp)
	JSR	_NewGovt
	MOVEQ	#$1A,D0
	move	D0,(sp)
	JSR	_DoSound
	ADDQ.W	#4,sp
	BRA	L0616
;
L0611:
	TST.W	D0
	BMI	L0615
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#0,6(A1)
	BEQ	L0615
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BCLR	#0,6(A0)
	MOVEQ	#1,D0
	move	_who,D1
	ASL.W	D1,D0
	move	_Human,D1
	AND.W	D0,D1
	BEQ.S	L0612
	move	#4,_MSource
	PEA	L1BB9
	PEA	_XEB
	JSR	_strcpy
	move	D7,(sp)
	JSR	_CityName
	PEA	L1BBA
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$50,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	22(sp),sp
	BRA	L0614
;
L0612:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L0613
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	9(A2),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	SUBQ.W	#1,(A1)
L0613:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	move	D7,-(sp)
	move	_who,-(sp)
	MOVE.L	A0,40(sp)
	JSR	_UnitType
	ADDQ.W	#4,sp
	MOVEA.L	36(sp),A0
	MOVE.B	D0,9(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	9(A1),D0
	TST.B	D0
	BMI.S	L0614
	move	_who,D0
	EXT.L	D0
	MOVEQ	#$38,D1
	JSR	__CXM22
	LEA	_prod,A1
	ADDA.L	D0,A1
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVE.B	9(A0),D0
	EXT.W	D0
	MOVE.L	D0,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	ADDQ.W	#1,(A1)
L0614:
	move	-90(A6),-(sp)
	move	-88(A6),-(sp)
	JSR	_ChangeBlock
	ADDQ.W	#4,sp
L0615:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	TST.W	(A1)
	BEQ.S	L0616
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A1
	ADDA.L	D0,A1
	move	_Taxes,D0
	ADD.W	D0,(A1)
L0616:
	TST.W	L2039
	BNE	L061D
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	CMPI.B	#2,7(A1)
	BLE	L061D
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0
	ADDQ.W	#1,D0
	TST.W	D0
	BPL.S	L0617
	ADDQ.W	#1,D0
L0617:
	ASR.W	#1,D0
	move	L2038,D1
	CMP.W	D0,D1
	BLT	L061D
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	TST.W	(A2)
	BEQ	L061D
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#6,6(A0)
	BNE	L061B
	MOVEQ	#1,D0
	move	_who,D1
	ASL.W	D1,D0
	move	_Human,D2
	AND.W	D0,D2
	BEQ	L061A
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A1
	TST.W	(A1)
	BEQ	L061A
	PEA	L1BBB
	PEA	_XEB
	JSR	_strcpy
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	ASL.L	#2,D0
	LEA	_KingType,A0
	ADDA.L	D0,A0
	MOVE.L	(A0),(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1BBC
	PEA	_XEB
	JSR	_strcat
	move	D7,(sp)
	JSR	_CityName
	PEA	L1BBD
	PEA	_XEB
	JSR	_strcat
	CLR.W	(sp)
	JSR	_DoSound
	LEA	28(sp),sp
	BTST	#3,L1FB8
	BEQ.S	L0618
	MOVEQ	#-2,D0
	move	D0,-(sp)
	move	D7,-(sp)
	JSR	_ShowCity
	JSR	_Love
	MOVEQ	#1,D0
	move	D0,(sp)
	move	D0,-(sp)
	JSR	_CheckForDisk
	JSR	_ResetScreen
	ADDQ.W	#6,sp
	BRA.S	L0619
;
L0618:
	move	D7,-(sp)
	JSR	_NewsPaper
	ADDQ.W	#2,sp
L0619:
	MOVEQ	#$1A,D0
	move	D0,-(sp)
	JSR	_DoSound
	ADDQ.W	#2,sp
L061A:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BSET	#6,6(A1)
	BRA	L061F
;
L061B:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	MOVEA.L	A1,A0
	ADDA.L	D0,A0
	CMPI.W	#4,(A0)
	BLT	L061F
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	MOVE.B	7(A2),D0
	EXT.W	D0
	ADD.W	D0,D0
	move	_feed,D1
	MULS	-138(A6),D1
	ADD.W	D1,D0
	move	_eff,D1
	CMP.W	D0,D1
	BLE	L061F
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	CMPI.B	#$A,7(A2)
	BLT.S	L061C
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	BTST	#0,2(A2)
	BEQ	L061F
L061C:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A2
	ADDA.L	D0,A2
	ADDQ.B	#1,7(A2)
	BRA	L061F
;
L061D:
	move	-92(A6),D0
	TST.W	D0
	BMI	L061F
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BTST	#6,6(A0)
	BEQ	L061F
	MOVEQ	#1,D0
	move	_who,D1
	ASL.W	D1,D0
	move	_Human,D2
	AND.W	D0,D2
	BEQ	L061E
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Politics,A0
	ADDA.L	D1,A0
	TST.W	(A0)
	BEQ	L061E
	MOVEQ	#$E,D0
	move	D0,-(sp)
	JSR	_DoSound
	PEA	L1BBE
	PEA	_XEB
	JSR	_strcpy
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	move	(A0),D0
	EXT.L	D0
	ASL.L	#2,D0
	LEA	_KingType,A0
	ADDA.L	D0,A0
	MOVE.L	(A0),(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1BBF
	PEA	_XEB
	JSR	_strcat
	move	D7,(sp)
	JSR	_CityName
	PEA	L1BC0
	PEA	_XEB
	JSR	_strcat
	move	D7,(sp)
	JSR	_NewsPaper
	MOVEQ	#$1A,D0
	move	D0,(sp)
	JSR	_DoSound
	LEA	30(sp),sp
L061E:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BCLR	#6,6(A0)
L061F:
	move	L203A,-92(A6)
	move	_who,D0
	move	_Player,D1
	CMP.W	D0,D1
	BNE	L0623
	move	_NextCiv,D1
	MOVEQ	#-1,D2
	CMP.W	D2,D1
	BEQ.S	L0620
	move	D1,-(sp)
	move	D0,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE.S	L0621
L0620:
	MOVEQ	#-1,D0
	CMP.W	_NextCiv,D0
	BNE.S	L0623
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Knowledge,A0
	ADDA.L	D1,A0
	TST.W	(A0)
	BEQ.S	L0623
L0621:
	move	#-1,_NextCiv
	BTST	#3,L216B
	BEQ.S	L0622
	JSR	_forcemouse
	CLR.W	-(sp)
	move	_who,-(sp)
	JSR	_AddCivilized
	JSR	_unforcemouse
	ADDQ.W	#4,sp
L0622:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Knowledge,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	move	D0,(A1)
L0623:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	TST.W	(A0)
	BNE.S	L0624
	MOVEQ	#0,D0
	move	D0,-92(A6)
L0624:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Knowledge,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-92(A6),D0
	ADD.W	D0,(A1)
	move	_who,D1
	move	_Player,D2
	CMP.W	D1,D2
	BNE.S	L0625
	TST.W	_Diff
	BNE.S	L0625
	move	_NextCiv,D2
	EXT.L	D2
	ADD.L	D2,D2
	LEA	_first,A1
	ADDA.L	D2,A1
	MOVEQ	#7,D2
	AND.W	(A1),D2
	TST.W	D2
	BEQ.S	L0625
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	ADD.W	D0,(A0)
L0625:
	MOVEQ	#20,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_HasWonder
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0627
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Knowledge,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	-92(A6),D0
	BPL.S	L0626
	ADDQ.W	#1,D0
L0626:
	ASR.W	#1,D0
	ADD.W	D0,(A1)
L0627:
	move	_Player,D0
	move	_who,D1
	MOVE.L	D1,D2
	CMP.W	D0,D2
	BEQ.S	L0628
	MOVEQ	#$E,D2
	move	_Diff,D3
	SUB.W	D3,D2
	BRA.S	L0629
;
L0628:
	move	_Diff,D2
	ADD.W	D2,D2
	ADDQ.W	#6,D2
L0629:
	move	D2,-148(A6)
	ADD.W	_TechTime,D2
	MOVEM.W	D2,-148(A6)
	CMP.W	D1,D0
	BNE.S	L062A
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_TechLevel,A0
	MOVEA.L	A0,A1
	ADDA.L	D1,A1
	MOVEQ	#$B,D1
	MOVE.L	D1,D2
	SUB.W	(A1),D2
	CMP.W	-148(A6),D2
	BLE.S	L062A
	move	_who,D2
	EXT.L	D2
	ADD.L	D2,D2
	MOVEA.L	A0,A1
	ADDA.L	D2,A1
	SUB.W	(A1),D1
	move	D1,-148(A6)
L062A:
	move	_who,D1
	CMP.W	D1,D0
	BNE.S	L062B
	TST.W	_UpdateCity
	BNE.S	L062E
L062B:
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_Knowledge,A0
	MOVEA.L	A0,A1
	ADDA.L	D1,A1
	move	_Year,D0
	TST.W	D0
	BPL.S	L062C
	MOVEQ	#1,D0
	BRA.S	L062D
;
L062C:
	MOVEQ	#2,D0
L062D:
	move	(A1),D1
	EXT.L	D1
	DIVS	D0,D1
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_TechLevel,A1
	ADDA.L	D0,A1
	move	(A1),D0
	MULS	-148(A6),D0
	CMP.W	D0,D1
	BLE.S	L062E
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	CLR.W	(A0)
	BTST	#3,L216B
	BEQ.S	L062E
	JSR	_forcemouse
	CLR.W	-(sp)
	move	_who,-(sp)
	JSR	_AddCivilized
	JSR	_unforcemouse
	ADDQ.W	#4,sp
L062E:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Score,A0
	ADDA.L	D0,A0
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A1
	MOVEA.L	A1,A2
	ADDA.L	D0,A2
	MOVE.B	7(A2),D0
	EXT.W	D0
	ADD.W	L2038,D0
	SUB.W	L2039,D0
	ADD.W	D0,(A0)
	move	_who,D0
	move	_Player,D1
	CMP.W	D0,D1
	BNE	L0639
	move	L2035,D1	;d1 = raw industrial City_dirt
	EXT.L	D1
	DIVS	_Dirty,D1	;d1 = raw_ind_dirt / Civ_dirt_level(powerpl,norm,hydropl,recyc_cent)
	SUBI.W	#20,D1
	MOVE.L	D7,D2
	EXT.L	D2
	MOVE.L	D2,D0		;d0 = City_index
	move	D1,-126(A6)	;-126(a6) = effective industrial dirt in city after cleaning agent
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A1
	MOVE.B	7(A1),D0
	EXT.W	D0		;d0 = City_size
	move	_PLevel,D1	;d1 = _Plevel (norm,Ind,Auto,MP,Plast) in range 0..4
	MULS	D0,D1		;d1 = _Plevel * raw_pop_dirt
	TST.W	D1
	BPL.S	L062F
	ADDQ.W	#3,D1
L062F:
	ASR.W	#2,D1
	ADD.W	D1,-126(A6)	;add population dependent dirt to total effective amount in -126(a6)
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_TechLevel,A0
	ADDA.L	D0,A0
	move	_Diff,D0
	MULS	(A0),D0		;d0 = TechLevel_of_Civ * _Diff
	TST.W	D0
	BPL.S	L0630
	ADDQ.W	#1,D0
L0630:
	ASR.W	#1,D0		;d0 = (TechLevel_of_Civ * _Diff)/2
	move	#$100,D1
	SUB.W	D0,D1		;d1 = 256 - (TechLevel_of_Civ * _Diff)/2
	move	D1,-(sp)
pollution_fix:
	JSR	_rnd		;d0 = pollution tolerance
;;;
;;;Patch the line above to 'jsr nu_pollution_fix'
;;;and let that routine return 0 if d1 <= 0, but jump to '_rnd' otherwise
;;;
	ADDQ.W	#2,sp
	move	-126(A6),D1	;d1 = total effective dirt in city
	ADD.W	D1,D1		;d1 = effective_dirt * 2
	CMP.W	D1,D0		;is tolerance >= effective_dirt * 2
	BGE	done_pollution	;if so, go tolerate dirt without polluting any square
	MOVEQ	#20,D0		;\
	move	D0,-(sp)	; > Get random number in range 0..19, as city cell for pollution
	JSR	_rnd		;/
	move	D0,-92(A6)
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_XMove,A0
	ADDA.L	D0,A0
	move	-88(A6),D0
	ADD.W	(A0),D0
	move	-92(A6),D1
	EXT.L	D1
	ADD.L	D1,D1
	LEA	_YMove,A0
	ADDA.L	D1,A0
	move	-90(A6),D1
	ADD.W	(A0),D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	D0,-12(A6)
	move	D1,-14(A6)
	JSR	_Special
	ADDQ.W	#6,sp
	BTST	#6,D0
	BNE	done_pollution
	move	-14(A6),-(sp)
	move	-12(A6),-(sp)
	JSR	_TerAt
	ADDQ.W	#4,sp
	MOVEQ	#$A,D1
	CMP.W	D1,D0
	BEQ	done_pollution
	move	-14(A6),-(sp)
	move	-12(A6),-(sp)
	JSR	_Special
	ADDQ.W	#4,sp
	BTST	#0,D0
	BNE	done_pollution
	move	-14(A6),-(sp)
	move	-12(A6),-(sp)
	JSR	_AddPollution		;This adds one polluted square to city
	move	-12(A6),D0
	SUBQ.W	#8,D0
	move	-14(A6),D1
	SUBQ.W	#6,D1
	move	D1,(sp)
	move	D0,-(sp)
	move	_Player,-(sp)
	JSR	_ShowMap
	move	-14(A6),(sp)
	move	-12(A6),-(sp)
	JSR	_ShowBlock
	move	#6,_MSource
	PEA	L1BC1
	PEA	_XEB
	JSR	_strcpy
	move	D7,(sp)
	JSR	_CityName
	PEA	L1BC2
	PEA	_XEB
	JSR	_strcat
	MOVEQ	#$40,D0
	move	D0,(sp)
	MOVEQ	#$50,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	32(sp),sp
done_pollution:				;jump target when not polluting any square in city
L0631:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#0,6(A1)
	BEQ	L0632
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	ADDA.L	D0,A0
	BTST	#4,1(A0)
	BEQ	L0632
	MOVEQ	#3,D0
	move	D0,-(sp)
	JSR	_rnd
	ADDQ.W	#2,sp
	TST.W	D0
	BNE	L0632
	MOVEQ	#$42,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BNE	L0632
	move	-88(A6),D0
	SUBQ.W	#8,D0
	move	-90(A6),D1
	SUBQ.W	#6,D1
	move	D1,-(sp)
	move	D0,-(sp)
	move	_Player,-(sp)
	JSR	_ShowMap
	move	-90(A6),(sp)
	move	-88(A6),-(sp)
	JSR	_ShowNuke
	move	-90(A6),(sp)
	move	-88(A6),-(sp)
	JSR	_NukeAt
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	BCLR	#4,1(A0)
	CLR.W	(sp)
	JSR	_DoSound
	PEA	L1BC3
	PEA	_XEB
	JSR	_strcpy
	move	D7,(sp)
	JSR	_CityName
	PEA	L1BC4
	PEA	_XEB
	JSR	_strcat
	move	D7,(sp)
	JSR	_NewsPaper
	MOVEQ	#$1A,D0
	move	D0,(sp)
	JSR	_DoSound
	LEA	26(sp),sp
L0632:
	move	#1,-70(A6)
L0633:
	move	-70(A6),D0
	MOVEQ	#$18,D1
	CMP.W	D1,D0
	BGE	L0639
	MOVE.L	D7,D1
	EXT.L	D1
	MOVEQ	#$1C,D0
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	-70(A6),D1
	ASL.L	D1,D0
	MOVE.L	(A0),D2
	AND.L	D0,D2
	BEQ	L0638
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Politics,A0
	ADDA.L	D0,A0
	TST.W	(A0)
	BEQ	L0638
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVE.L	D1,D0
	ADDQ.W	#1,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A2
	ADDA.L	D0,A2
	move	26(A2),D0
	SUB.W	D0,(A1)
	MOVEQ	#1,D0
	CMP.W	-70(A6),D0
	BNE	L0637
	move	_Diff,D1
	MOVEQ	#2,D2
	CMP.W	D2,D1
	BLT.S	L0634
	move	_who,D2
	EXT.L	D2
	ADD.L	D2,D2
	MOVEA.L	A0,A1
	ADDA.L	D2,A1
	SUBQ.W	#1,(A1)
L0634:
	CMPI.W	#4,_Diff
	BLT.S	L0635
	move	_who,D1
	EXT.L	D1
	ADD.L	D1,D1
	ADDA.L	D1,A0
	SUBQ.W	#1,(A0)
L0635:
	MOVEQ	#$22,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0636
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	ADDA.L	D0,A0
	SUBQ.W	#1,(A0)
L0636:
	MOVEQ	#$25,D0
	move	D0,-(sp)
	move	_who,-(sp)
	JSR	_IsCivilized
	ADDQ.W	#4,sp
	TST.W	D0
	BEQ.S	L0637
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	SUBQ.W	#1,(A1)
L0637:
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	move	(A1),D0
	TST.W	D0
	BPL	L0638
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	ADDA.L	D0,A0
	CLR.W	(A0)
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	ADDA.L	D0,A0
	MOVEQ	#1,D0
	move	-70(A6),D1
	ASL.L	D1,D0
	NOT.L	D0
	AND.L	D0,(A0)
	CLR.B	_XEB
	move	D7,-(sp)
	JSR	_CityName
	PEA	L1BC5
	PEA	_XEB
	JSR	_strcat
	move	-70(A6),D0
	ADDQ.W	#1,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A0
	ADDA.L	D0,A0
	MOVE.L	A0,(sp)
	PEA	_XEB
	JSR	_strcat
	PEA	L1BC6
	PEA	_XEB
	JSR	_strcat
	move	#4,_MSource
	MOVEQ	#$50,D0
	move	D0,(sp)
	MOVEQ	#$64,D1
	move	D1,-(sp)
	PEA	_XEB
	JSR	_sMenu
	LEA	28(sp),sp
	move	_who,D0
	EXT.L	D0
	ADD.L	D0,D0
	LEA	_Funds,A0
	ADDA.L	D0,A0
	move	-70(A6),D0
	ADDQ.W	#1,D0
	EXT.L	D0
	MOVEQ	#$1E,D1
	JSR	__CXM22
	LEA	_im,A1
	ADDA.L	D0,A1
	move	24(A1),D0
	MULS	#$A,D0
	ADD.W	D0,(A0)
L0638:
	ADDQ.W	#1,-70(A6)
	BRA	L0633
;
L0639:
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	LEA	_ct,A0
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	BTST	#2,6(A1)
	BEQ.S	L063B
	MOVE.L	D7,D0
	EXT.L	D0
	MOVEQ	#$1C,D1
	JSR	__CXM22
	MOVEA.L	A0,A1
	ADDA.L	D0,A1
	MOVEQ	#0,D0
	MOVE.B	4(A1),D0
	MOVE.L	D7,D1
	EXT.L	D1
	move	D0,36(sp)
	MOVEQ	#$1C,D0
L063A:
	JSR	__CXM22
	ADDA.L	D0,A0
	MOVEQ	#0,D0
	MOVE.B	5(A0),D0
	move	D0,-(sp)
	move	38(sp),-(sp)
	JSR	_ZOC3
	ADDQ.W	#4,sp
	TST.W	D0
	BNE.S	L063B
	move	D7,-(sp)
	JSR	_DeActivateGarr
	ADDQ.W	#2,sp
L063B:
	MOVEA.L	_Rp1,A0
	move	#1,16(A0)
	JSR	_showmouse
	move	L2038,D0
	SUB.W	L2039,D0
L063C:
	MOVEM.L	-320(A6),A5/A2-A3/D2-D7
	UNLK	A6
	RTS
;
;
	dc.b	$00,$00
;
;----------------------------------------------------------------------------
;End of file:	CIV_1.S
;----------------------------------------------------------------------------
