;:sys9*4096
	;.opt oo
	*=$c000
;
;maskengen
;
;**********************
;source-text created by
;    re-ass 64 v2.2
; (c) 1986 by sol labs
;**********************
;
getin	    = $ffe4
;
laba613	 = $a613
labaefd	 = $aefd
labaf08	 = $af08
labb7eb	 = $b7eb
labbc49	 = $bc49
labbddf	 = $bddf
labe55e	 = $e55e
labe566	 = $e566
labe8cb	 = $e8cb
labe9c8	 = $e9c8
labe9f0	 = $e9f0
labe9ff	 = $e9ff
labea13	 = $ea13
labea24	 = $ea24
labfe6c	 = $fe6c
;
adr0006	 = $0006
adr002d	 = $002d
adr002e	 = $002e
adr00d3	 = $00d3
adr0100	 = $0100
adr01a0	 = $01a0
adr0286	 = $0286
adr0287	 = $0287
adr028a	 = $028a
adr0334	 = $0334
adr0384	 = $0384
adr0400	 = $0400
adr2069	 = $2069
adr3aa9	 = $3aa9
adr3ba9	 = $3ba9
adr7f29	 = $7f29
adr99a9	 = $99a9
adr9dc2	 = $9dc2
adra6a9	 = $a6a9
adrc706	 = $c706
adrd018	 = $d018
adrd020	 = $d020
adrd021	 = $d021
adrd800	 = $d800
adre8da	 = $e8da
adrecef	 = $ecef
adrecf1	 = $ecf1
;
zpg02	   = $02
zpg03	   = $03
zpg04	   = $04
zpg05	   = $05
zpg06	   = $06
zpg07	   = $07
zpg08	   = $08
zpg09	   = $09
zpg14	   = $14
zpg15	   = $15
zpg5f	   = $5f
zpg60	   = $60
zpg62	   = $62
zpg63	   = $63
zpg91	   = $91
zpg94	   = $94
zpgac	   = $ac
zpgc2	   = $c2
zpgc7	   = $c7
zpgcc	   = $cc
zpgce	   = $ce
zpgcf	   = $cf
zpgd1	   = $d1
zpgd2	   = $d2
zpgd3	   = $d3
zpgd6	   = $d6
zpgd8	   = $d8
zpgda	   = $da
zpgf3	   = $f3
;
	jsr labaefd
	jsr labb7eb
	cpx #$00
	bne labc00d
labc00a	jmp labaf08
;
labc00d	stx zpg02
	lda zpg15
	cmp #$fa
	bcs labc00a
	jsr laba613
	ldy #$01
	lda (zpg5f),y
	bne labc00a
labc01e	jsr labe55e
	lda #$00
	sta zpgc7
labc025	jsr getin
	sta zpgcc
	beq labc025
	pha
	lda zpgcf
	beq labc03d
	lda zpgce
	ldx adr0287
	ldy #$00
	sty zpgcf
	jsr labea13
labc03d	pla
	cmp #$20
	bcc labc071
	cmp #$61
	bcs labc053
	and #$3f
labc048	ora zpgc7
	ldx adr0286
	jsr labea13
	jmp labc196
;
labc053	cmp #$80
	bcs labc05b
	and #$df
	bne labc048
labc05b	cmp #$a0
	bcc labc071
	cmp #$c0
	bcs labc067
	sbc #$3f
	bne labc048
labc067	and #$7f
	cmp #$7f
	bne labc048
	lda #$5e
	bne labc048
labc071	jsr labe8cb
	bpl labc025
	ldy #$33
labc078	cmp adrc08d,y
	beq labc084
	dey
	dey
	dey
	bpl labc078
	bmi labc025
labc084	lda adrc08f,y
	pha
	lda adrc08e,y
	pha
	rts
;
adrc08d	.byt $03
adrc08e	.byt $c2
adrc08f	.byt $c0,$04,$05,$c1,$09,$25,$c1,$0d
	.byt $4a,$c1,$11,$5d,$c1,$13,$67,$c1
	.byt $14,$6c,$c1,$18,$78,$c1,$19,$7f
	.byt $c1,$1d,$95,$c1,$85,$c0,$c1,$86
	.byt $c3,$c1,$87,$b0,$c1,$88,$d1,$c1
	.byt $91,$da,$c1,$93,$e6
	cmp (zpg94,x)
	ora adr9dc2,y
	and (zpgc2,x)
	lda zpg91
	cmp #$7f
	bne labc0cc
	jmp labc2b3
;
labc0cc	jsr labc230
	sty zpg06
	lda #$27
	sec
	sbc zpg06
	sta zpg06
	bmi labc103
	ldy #$00
labc0dc	lda (zpgd1),y
	cmp #$20
	bne labc0e7
	iny
	cpy #$28
	bne labc0dc
labc0e7	tya
	sty zpg04
	clc
	adc zpg06
	lsr
	tax
labc0ef	ldy #$00
	cpx zpg04
	beq labc103
	bcs labc0fd
	jsr labc243
	inx
	bpl labc0ef
labc0fd	jsr labc261
	dex
	bpl labc0ef
labc103	jmp labc025
;
	ldx zpgd6
	beq labc103
	dex
	stx zpgd6
labc10d	jsr labe9f0
	lda adrecf1,x
	sta zpgac
	lda zpgda,x
	jsr labe9c8
	inx
	cpx #$18
	bcc labc10d
labc11f	jsr labe9ff
	ldx zpgd6
	bpl labc158
	lda zpgd1
	pha
	lda zpgd2
	pha
	ldx #$18
labc12e	cpx zpgd6
	beq labc11f
	jsr labe9f0
	lda adrecef,x
	sta zpgac
	lda zpgd8,x
	jsr labe9c8
	dex
	bpl labc12e
labc142	pla
	sta zpgd2
	pla
	sta zpgd1
	jmp labc025
;
	ldx zpgd6
	cpx #$18
	beq labc15b
	lda #$00
	sta zpgd3
labc155	inx
labc156	stx zpgd6
labc158	jsr labe9f0
labc15b	jmp labc025
;
	ldx zpgd6
	cpx #$18
	bne labc155
	ldx #$00
	beq labc156
labc168	jsr labe566
	bmi labc15b
	ldy zpgd3
	beq labc15b
	dey
	sty zpgd3
	jsr labc243
	bpl labc15b
	ldx zpgd6
	jsr labe9ff
	bmi labc15b
	lda zpgd1
	pha
	lda zpgd2
	pha
	ldx #$18
	ldy !adr00d3
labc18b	jsr labe9f0
	jsr labc257
	dex
	bpl labc18b
	bmi labc142
labc196	lda #$27
	cmp zpgd3
	bne labc1ac
	ldx zpgd6
	cpx #$18
	beq labc168
	inx
	stx zpgd6
	jsr labe9f0
	lda #$ff
	sta zpgd3
labc1ac	inc zpgd3
labc1ae	jmp labc025
;
	lda adr028a
	bmi labc1b9
	ora #$80
	.byt $2c
labc1b9	.byt $29
	.byt $7f
	sta adr028a
	jmp labc025
;
	ldy #$00
	bit adr01a0
	ldx adrd020,y
	inx
	txa
	and #$0f
	sta adrd020,y
	bpl labc1ae
	asl zpgc7
	bcs labc1ae
	sec
	ror zpgc7
	bcc labc1ae
labc1db	ldx zpgd6
	beq labc1e3
	dex
labc1e0	jmp labc156
;
labc1e3	ldx #$18
	bne labc1e0
	ldy #$00
labc1e9	ldx adrc20b,y
	beq labc1f3
	jsr labc27b
	bne labc1e9
labc1f3	sty !adr0006
labc1f6	jsr getin
	beq labc1f6
	cmp #$59
	beq labc208
	cmp #$4e
	bne labc1f6
	jsr labc293
	bmi labc1ae
labc208	jmp labc01e
;
adrc20b	.byt $83,$8c,$85,$81,$92,$a0,$93,$83
	.byt $92,$85,$85,$8e,$a0,$bf
	brk
	ldy zpgd3
	jsr labc261
labc21f	jmp labc025
;
	ldy zpgd3
	bne labc22c
	ldy #$27
	sty zpgd3
	bne labc1db
labc22c	dec zpgd3
	bpl labc21f
labc230	ldy #$27
labc232	lda (zpgd1),y
	cmp #$20
	beq labc23c
	cmp #$60
	bne labc241
labc23c	dey
	bpl labc232
	clc
	rts
;
labc241	sec
	rts
;
labc243	jsr labea24
labc246	iny
	lda (zpgd1),y
	dey
	sta (zpgd1),y
	iny
	lda (zpgf3),y
	dey
	sta (zpgf3),y
	iny
	cpy #$27
	bcc labc246
labc257	lda #$20
	sta (zpgd1),y
	lda adr0286
	sta (zpgf3),y
	rts
;
labc261	jsr labea24
	sty zpg05
	ldy #$27
labc268	dey
	lda (zpgd1),y
	iny
	sta (zpgd1),y
	dey
	lda (zpgf3),y
	iny
	sta (zpgf3),y
	dey
	cpy zpg05
	bne labc268
	beq labc257
labc27b	lda adr0400,y
	sta adr0334,y
	lda adrd800,y
	sta adr0384,y
	txa
	sta adr0400,y
	lda adr0286
	sta adrd800,y
	iny
labc292	rts
;
labc293	ldy !adr0006
labc296	dey
	bmi labc292
	lda adr0384,y
	sta adrd800,y
	lda adr0334,y
	sta adr0400,y
	jmp labc296
;
adrc2a8	.byt $86,$89,$8e,$89,$93,$88,$85,$84
	.byt $a0,$bf
	brk
labc2b3	ldy #$00
labc2b5	ldx adrc2a8,y
	beq labc2bf
	jsr labc27b
	bne labc2b5
labc2bf	sty !adr0006
labc2c2	jsr getin
	beq labc2c2
	cmp #$59
	beq labc2d5
	cmp #$4e
	bne labc2c2
	jsr labc293
	jmp labc025
;
labc2d5	jsr labc293
	sei
	ldx #$00
	ldy #$04
	jsr labc524
	ldy #$0c
	lda adrd020
	and #$0f
	tax
	jsr labc565
	ldy #$17
	lda adrd021
	and #$0f
	tax
	jsr labc565
	lda adrd018
	lsr
	lsr
	bcs labc303
	ldy #$20
	lda #$32
	sta (zpg5f),y
labc303	ldy #$29
	jsr labc586
	ldx #$ff
	stx zpgd6
	stx adr0286
	inx
	stx zpg07
	stx zpg09
	asl zpgc7
labc316	lda #$00
	sta zpg08
	sta zpgd3
labc31c	inc zpgd6
	ldx zpgd6
	cpx #$19
	bcc labc327
	jmp labc3bc
;
labc327	jsr labe9f0
	jsr labc230
	bcs labc333
	inc zpg08
	bne labc31c
labc333	sty zpg03
	ldx zpg08
	beq labc348
	jsr labc3e3
	ldy zpg05
	cpy #$04
	beq labc345
	jsr labc586
labc345	jsr labc4f5
labc348	jsr labea24
labc34b	ldy zpgd3
	lda (zpgf3),y
	and #$0f
	cmp adr0286
	beq labc37b
	tax
	lda (zpgd1),y
	cmp #$20
	beq labc37d
	cmp #$60
	beq labc37d
	stx adr0286
	jsr labc3e3
	jsr labc514
	tya
	ldy adr0286
	ldx adre8da,y
	tay
	txa
	sta (zpg5f),y
	iny
	sty zpg05
	ldy !adr00d3
labc37b	lda (zpgd1),y
labc37d	ldx zpg09
	beq labc38a
	cmp zpgce
	beq labc3ac
	pha
	jsr labc3e3
	pla
labc38a	sta zpgce
	bit zpgce
	bmi labc39b
	asl zpgc7
	bcc labc3ac
	jsr labc514
	lda #$92
	bne labc3a7
labc39b	bit zpgc7
	bmi labc3ac
	sec
	ror zpgc7
	jsr labc514
	lda #$12
labc3a7	sta (zpg5f),y
	iny
	sty zpg05
labc3ac	inc zpg09
	inc zpgd3
	lda zpg03
	cmp zpgd3
	bcs labc34b
	jsr labc3e3
	jmp labc316
;
labc3bc	jsr labc3e3
	ldy zpg05
	cpy #$04
	beq labc3c8
	jsr labc586
labc3c8	lda #$00
	ldy #$01
labc3cc	sta (zpg5f),y
	dey
	bpl labc3cc
	lda zpg5f
	clc
	adc #$02
	sta !adr002d
	lda zpg60
	adc #$00
	sta !adr002e
	jmp labfe6c
;
labc3e3	ldx zpg09
	bne labc3e8
	rts
;
labc3e8	ldy zpg05
	lda zpgce
	and #$7f
	cmp #$20
	bcc labc3fb
	cmp #$40
	bcc labc400
	cmp #$60
	bcc labc3fe
	clc
labc3fb	adc #$40
	.byt $2c
labc3fe	.byt $69
	.byt $20
labc400	sta zpgce
	cmp #$22
	bne labc436
	cpx #$05
	bcs labc426
	jsr labc4ae
	stx zpg06
labc40f	ldx #$2f
	jsr labc524
	dec zpg06
	bne labc40f
	sty zpg05
	ldx zpg03
	cpx zpgd3
	bcs labc469
	cpx #$27
	beq labc460
	bne labc464
labc426	jsr labc4d0
	ldx #$2f
	jsr labc524
	jsr labc4c7
	jsr labc4ee
	bne labc49c
labc436	cmp #$20
	beq labc46e
	cmp #$a0
	beq labc46e
labc43e	cpx #$14
	bcs labc488
labc442	jsr labc514
	lda zpgce
labc447	sta (zpg5f),y
	iny
	dex
	bne labc447
	sty zpg05
	ldx zpg03
	cpx zpgd3
	bcs labc469
	cpx #$27
	bne labc464
	cpy #$14
	bcc labc469
	jsr labc4b7
labc460	jsr labc4c7
	.byt $2c
labc464	.byt $06
	.byt $c7
labc466	jsr labc586
labc469	lda #$00
	sta zpg09
	rts
;
labc46e	bit zpgc7
	bmi labc43e
	cpx #$06
	bcc labc442
	jsr labc4ae
	jsr labc4c1
	jsr labc565
	lda #$29
	sta (zpg5f),y
	iny
	sty zpg05
	bne labc469
labc488	jsr labc4d0
	jsr labc4be
	lda zpgce
	sta (zpg5f),y
	iny
	jsr labc4be
	jsr labc4c7
	jsr labc4ee
labc49c	ldx zpg03
	cpx zpgd3
	bcs labc466
	cpx #$27
	beq labc466
	jsr labc4c4
	jsr labc4ca
	bne labc464
labc4ae	cpy #$04
	beq labc4ca
labc4b2	asl zpg07
	bcs labc4be
	rts
;
labc4b7	asl zpg07
	bcs labc4be
labc4bb	sec
	ror zpg07
labc4be	lda #$22
	.byt $2c
labc4c1	.byt $a9
	.byt $a6
	.byt $2c
labc4c4	.byt $a9
	.byt $3a
	.byt $2c
labc4c7	.byt $a9
	.byt $3b
	.byt $2c
labc4ca	.byt $a9
	.byt $99
labc4cc	sta (zpg5f),y
	iny
	rts
;
labc4d0	cpy #$04
	beq labc4dd
	jsr labc4b2
	jsr labc4c7
	jsr labc4c4
labc4dd	stx zpg06
	ldx #$26
	jsr labc524
	ldx zpg06
	jsr labc565
	jsr labc4c4
	bne labc4ca
labc4ee	jsr labc4c4
	lda #$82
	bne labc4cc
labc4f5	asl zpgc7
	ldx zpg08
	cpx #$06
	bcs labc50c
labc4fd	jsr labc4ca
	dex
	beq labc508
	jsr labc4c4
	bne labc4fd
labc508	jsr labc586
	rts
;
labc50c	jsr labc4d0
	jsr labc4ee
	bne labc508
labc514	ldy zpg05
	cpy #$04
	bne labc51f
	jsr labc4ca
	bne labc4bb
labc51f	bit zpg07
	bpl labc4bb
	rts
;
labc524	lda adrc530,x
	beq labc52f
	sta (zpg5f),y
	iny
	inx
	bne labc524
labc52f	rts
;
adrc530	.byt $97,$20,$35,$33,$32,$38,$30,$2c
	.byt $20,$20,$3a,$97,$20,$35,$33,$32
	.byt $38,$31,$2c,$20,$20,$3a,$99,$20
	.byt $c7,$28,$31,$34,$20,$29,$c7,$28
	.byt $31,$34,$37,$29,$3b,$00,$81,$20
	.byt $5a,$b2,$31,$20,$a4,$20,$00,$c7
	.byt $28,$33,$34,$29
	brk
labc565	sty zpg05
	lda #$00
	sta zpg62
	stx zpg63
	ldx #$90
	sec
	jsr labbc49
	jsr labbddf
	ldx #$00
	ldy zpg05
labc57a	lda adr0100,x
	beq labc585
	sta (zpg5f),y
	inx
	iny
	bne labc57a
labc585	rts
;
labc586	lda #$00
	sta (zpg5f),y
	sty zpg06
	ldy #$02
	lda zpg14
	sta (zpg5f),y
	clc
	adc zpg02
	sta zpg14
	lda zpg15
	bcc labc59d
	inc zpg15
labc59d	iny
	sta (zpg5f),y
	ldy #$00
	lda zpg5f
	sec
	adc zpg06
	sta (zpg5f),y
	pha
	lda zpg60
	adc #$00
	iny
	sta (zpg5f),y
	sta zpg60
	pla
	sta zpg5f
	ldy #$04
	sty zpg05
	asl zpg07
