	org 512
__START_PROGRAM:
	di
	push ix
	push iy
	exx
	push hl
	exx
	ld hl, 0
	add hl, sp
	ld (__CALL_BACK__), hl
	ei
	jp __LABEL__charmap01end
__LABEL__charmap01:
#line 2
		defb $00,$00,$00,$00,$00,$00,$00,$00
		defb $00,$08,$08,$08,$08,$00,$08,$00
		defb $00,$22,$22,$00,$00,$00,$00,$00
		defb $00,$22,$08,$22,$22,$08,$22,$00
		defb $00,$08,$2A,$20,$2A,$02,$2A,$08
		defb $00,$22,$02,$08,$08,$20,$22,$00
		defb $00,$2A,$22,$08,$20,$22,$2A,$00
		defb $00,$02,$08,$00,$00,$00,$00,$00
		defb $00,$08,$20,$20,$20,$20,$08,$00
		defb $00,$08,$02,$02,$02,$02,$08,$00
		defb $00,$00,$22,$08,$2A,$08,$22,$00
		defb $00,$00,$08,$08,$2A,$08,$08,$00
		defb $00,$00,$00,$00,$00,$00,$02,$0A
		defb $00,$00,$00,$00,$2A,$00,$00,$00
		defb $00,$00,$00,$00,$00,$08,$08,$00
		defb $00,$02,$02,$08,$08,$20,$20,$00
		defb $00,$2A,$22,$22,$22,$22,$2A,$00
		defb $00,$28,$08,$08,$08,$08,$08,$00
		defb $00,$2A,$22,$02,$2A,$20,$2A,$00
		defb $00,$2A,$22,$0A,$02,$22,$2A,$00
		defb $00,$22,$22,$22,$2A,$02,$02,$00
		defb $00,$2A,$20,$2A,$02,$02,$2A,$00
		defb $00,$2A,$20,$2A,$22,$22,$2A,$00
		defb $00,$2A,$02,$02,$2A,$20,$20,$00
		defb $00,$2A,$22,$08,$22,$22,$2A,$00
		defb $00,$2A,$22,$22,$2A,$02,$2A,$00
		defb $00,$00,$08,$08,$00,$08,$08,$00
		defb $00,$00,$08,$08,$00,$08,$20,$00
		defb $00,$00,$02,$08,$20,$08,$02,$00
		defb $00,$00,$00,$2A,$00,$2A,$00,$00
		defb $00,$00,$20,$08,$02,$08,$20,$00
		defb $00,$08,$22,$02,$08,$00,$08,$00
		defb $00,$2A,$22,$2A,$2A,$20,$2A,$00
		defb $00,$2A,$22,$22,$2A,$22,$22,$00
		defb $00,$2A,$22,$28,$22,$22,$2A,$00
		defb $00,$2A,$22,$20,$20,$22,$2A,$00
		defb $00,$28,$22,$22,$22,$22,$28,$00
		defb $00,$2A,$20,$2A,$20,$20,$2A,$00
		defb $00,$2A,$20,$28,$20,$20,$20,$00
		defb $00,$2A,$20,$20,$22,$22,$2A,$00
		defb $00,$22,$22,$2A,$22,$22,$22,$00
		defb $00,$2A,$08,$08,$08,$08,$2A,$00
		defb $00,$0A,$02,$02,$22,$22,$2A,$00
		defb $00,$22,$22,$28,$22,$22,$22,$00
		defb $00,$20,$20,$20,$20,$20,$2A,$00
		defb $00,$22,$2A,$2A,$2A,$22,$22,$00
		defb $00,$22,$2A,$22,$22,$22,$22,$00
		defb $00,$2A,$22,$22,$22,$22,$2A,$00
		defb $00,$2A,$22,$22,$2A,$20,$20,$00
		defb $00,$2A,$22,$22,$22,$2A,$0A,$00
		defb $00,$2A,$22,$22,$28,$22,$22,$00
		defb $00,$2A,$20,$2A,$02,$02,$2A,$00
		defb $00,$2A,$08,$08,$08,$08,$08,$00
		defb $00,$22,$22,$22,$22,$22,$2A,$00
		defb $00,$22,$22,$22,$22,$2A,$08,$00
		defb $00,$22,$22,$2A,$2A,$2A,$22,$00
		defb $00,$22,$22,$08,$22,$22,$22,$00
		defb $00,$22,$22,$2A,$08,$08,$08,$00
		defb $00,$2A,$02,$08,$20,$20,$2A,$00
		defb $00,$28,$20,$20,$20,$20,$28,$00
		defb $00,$20,$20,$08,$08,$02,$02,$00
		defb $00,$0A,$02,$02,$02,$02,$0A,$00
		defb $00,$08,$22,$00,$00,$00,$00,$00
		defb $AA,$82,$AA,$8A,$8A,$AA,$82,$AA
		defb $00,$15,$11,$11,$11,$11,$15,$00
		defb $00,$14,$04,$04,$04,$04,$04,$00
		defb $00,$15,$11,$01,$15,$10,$15,$00
		defb $00,$15,$11,$05,$01,$11,$15,$00
		defb $00,$11,$11,$11,$15,$01,$01,$00
		defb $00,$15,$10,$15,$01,$01,$15,$00
		defb $00,$15,$10,$15,$11,$11,$15,$00
		defb $00,$15,$01,$01,$15,$10,$10,$00
		defb $00,$15,$11,$04,$11,$11,$15,$00
		defb $00,$15,$11,$11,$15,$01,$15,$00
		defb $00,$00,$00,$0C,$00,$00,$0C,$00
		defb $A2,$AA,$AA,$A8,$A8,$A8,$A8,$88
		defb $8A,$AA,$AA,$2A,$2A,$2A,$2A,$22
		defb $51,$55,$55,$54,$54,$54,$54,$44
		defb $45,$55,$55,$15,$15,$15,$15,$11
		defb $CC,$FC,$FC,$FC,$FC,$FF,$FF,$F3
		defb $00,$3F,$33,$3F,$3F,$30,$3F,$00
		defb $00,$3F,$33,$33,$3F,$33,$33,$00
		defb $00,$3F,$33,$3C,$33,$33,$3F,$00
		defb $00,$3F,$33,$30,$30,$33,$3F,$00
		defb $00,$3C,$33,$33,$33,$33,$3C,$00
		defb $00,$3F,$30,$3F,$30,$30,$3F,$00
		defb $00,$3F,$30,$3C,$30,$30,$30,$00
		defb $00,$3F,$30,$30,$33,$33,$3F,$00
		defb $00,$33,$33,$3F,$33,$33,$33,$00
		defb $00,$3F,$0C,$0C,$0C,$0C,$3F,$00
		defb $00,$0F,$03,$03,$33,$33,$3F,$00
		defb $00,$33,$33,$3C,$33,$33,$33,$00
		defb $00,$30,$30,$30,$30,$30,$3F,$00
		defb $00,$33,$3F,$3F,$3F,$33,$33,$00
		defb $00,$33,$3F,$33,$33,$33,$33,$00
		defb $00,$3F,$33,$33,$33,$33,$3F,$00
		defb $00,$3F,$33,$33,$3F,$30,$30,$00
		defb $00,$3F,$33,$33,$33,$3F,$0F,$00
		defb $00,$3F,$33,$33,$3C,$33,$33,$00
		defb $00,$3F,$30,$3F,$03,$03,$3F,$00
		defb $00,$3F,$0C,$0C,$0C,$0C,$0C,$00
		defb $00,$33,$33,$33,$33,$33,$3F,$00
		defb $00,$33,$33,$33,$33,$3F,$0C,$00
		defb $00,$33,$33,$3F,$3F,$3F,$33,$00
		defb $00,$33,$33,$0C,$33,$33,$33,$00
		defb $00,$33,$33,$3F,$0C,$0C,$0C,$00
		defb $00,$3F,$03,$0C,$30,$30,$3F,$00
		defb $00,$3C,$30,$30,$30,$30,$3C,$00
		defb $00,$30,$30,$0C,$0C,$03,$03,$00
		defb $00,$0F,$03,$03,$03,$03,$0F,$00
		defb $00,$0C,$33,$00,$00,$00,$00,$00
		defb $FF,$C3,$FF,$CF,$CF,$FF,$C3,$FF
#line 114
__LABEL__charmap01end:
	ld a, 152
	call _mc1000screen
	xor a
	push af
	call _mc1000cls
	ld hl, 0
	ld (_eey), hl
	jp __LABEL0
__LABEL3:
	ld hl, 0
	ld (_eex), hl
	jp __LABEL5
__LABEL8:
	ld hl, (__LABEL__charmap01) - (256)
	push hl
	ld hl, (_eey)
	ld de, 16
	call __MUL16_FAST
	ex de, hl
	ld hl, (_eex)
	add hl, de
	push hl
	ld hl, (_eey)
	ld de, 32
	call __MUL16_FAST
	ld de, 239
	add hl, de
	ex de, hl
	ld hl, (_eex)
	add hl, de
	push hl
	call _mc1000vpokechr
	ld hl, (_eex)
	inc hl
	ld (_eex), hl
__LABEL5:
	ld hl, 15
	ld de, (_eex)
	or a
	sbc hl, de
	jp nc, __LABEL8
	ld hl, (_eey)
	inc hl
	ld (_eey), hl
__LABEL0:
	ld hl, 15
	ld de, (_eey)
	or a
	sbc hl, de
	jp nc, __LABEL3
__LABEL__variables:
	call __LABEL__startup
__LABEL10:
	call __LABEL__title
	call __LABEL__gamestart
__LABEL__playloop:
	call __LABEL__stagestart
	call __LABEL__stageplay
	ld hl, 0
	ld de, (_stam)
	call __LTI16
	or a
	jp nz, __LABEL__playloop
	jp __LABEL10
__LABEL__startup:
	ld hl, 6144
	push hl
	ld hl, 0
	push hl
	ld hl, 32768
	push hl
	call _aquariusfillram
	ld hl, 0
	ld (_hiscore), hl
	ret
__LABEL__title:
	ld hl, 6144
	push hl
	ld hl, 0
	push hl
	ld hl, 32768
	push hl
	call _aquariusfillram
	ld hl, 1536
	push hl
	ld hl, 255
	push hl
	ld hl, 32768
	push hl
	call _aquariusfillram
	ld hl, 0
	ld (_c), hl
	jp __LABEL14
__LABEL17:
	ld hl, (_seed)
	push hl
	call _mc1000rnd
	call __FTOU32REG
	ld (_seed), hl
	ld hl, (__LABEL__charmap01) - (256)
	push hl
	ld hl, 110
	push hl
	ld hl, (_seed)
	ld h, 0
	ld a, l
	and 7
	ld l, a
	ld de, 15
	add hl, de
	ld de, 32
	call __MUL16_FAST
	ld de, 0
	push de
	push hl
	ld hl, (_seed)
	ld h, 0
	ld a, l
	and 31
	ld l, a
	ld de, 0
	pop bc
	add hl, bc
	pop bc
	ex de, hl
	adc hl, bc
	ex de, hl
	push hl
	call _mc1000vpokechr
	ld hl, (_c)
	inc hl
	ld (_c), hl
__LABEL14:
	ld hl, 15
	ld de, (_c)
	or a
	sbc hl, de
	jp nc, __LABEL17
	ld hl, (__LABEL__charmap01) - (256)
	push hl
	ld hl, (__LABEL__text02) - (__LABEL__text01)
	push hl
	ld hl, __LABEL__text01
	push hl
	ld hl, 18
	push hl
	ld hl, 2
	push hl
	call _mc1000writetext
	ld hl, (__LABEL__charmap01) - (256)
	push hl
	ld hl, (__LABEL__text03) - (__LABEL__text02)
	push hl
	ld hl, __LABEL__text02
	push hl
	ld hl, 19
	push hl
	ld hl, 2
	push hl
	call _mc1000writetext
	ld hl, (__LABEL__charmap01) - (256)
	push hl
	ld hl, (__LABEL__text04) - (__LABEL__text03)
	push hl
	ld hl, __LABEL__text03
	push hl
	ld hl, 20
	push hl
	ld hl, 2
	push hl
	call _mc1000writetext
__LABEL__lpkbbf01:
	ld a, 1
	call _mc1000keymapinv
	push af
	ld a, 2
	call _mc1000keymapinv
	ld h, a
	pop af
	or h
	push af
	ld a, 4
	call _mc1000keymapinv
	ld h, a
	pop af
	or h
	push af
	ld a, 8
	call _mc1000keymapinv
	ld h, a
	pop af
	or h
	ld (_kbbf), a
	ld a, 16
	call _mc1000keymapinv
	ld h, a
	ld a, (_kbbf)
	or h
	push af
	ld a, 32
	call _mc1000keymapinv
	ld h, a
	pop af
	or h
	push af
	ld a, 64
	call _mc1000keymapinv
	ld h, a
	pop af
	or h
	push af
	ld a, 128
	call _mc1000keymapinv
	ld h, a
	pop af
	or h
	ld (_kbbf), a
	sub 1
	jp c, __LABEL__lpkbbf01
	ret
__LABEL__gamestart:
	ld hl, 0
	ld (_score), hl
	ld hl, 1
	ld (_stg), hl
	ld hl, 99
	ld (_stam), hl
	ret
__LABEL__stagestart:
	ld hl, 6144
	push hl
	ld hl, 0
	push hl
	ld hl, 32768
	push hl
	call _aquariusfillram
	ld hl, 1024
	push hl
	ld hl, 17
	push hl
	ld hl, 36864
	push hl
	call _aquariusfillram
	ld hl, 1024
	push hl
	ld hl, 0
	push hl
	ld hl, 36864
	push hl
	call _aquariusfillram
	call __LABEL__displayscore
	call __LABEL__displaystamina
	ld hl, (_stg)
	add hl, hl
	add hl, hl
	ld de, 4
	add hl, de
	ld (_enam), hl
	ld (_cnt), hl
	xor a
	ld (_kprs), a
	ld hl, (_seed)
	push hl
	call _mc1000rnd
	call __FTOU32REG
	ld (_seed), hl
	ld h, 0
	ld a, l
	and 31
	ld l, a
	ld (_x), a
	ld hl, (_seed)
	push hl
	call _mc1000rnd
	call __FTOU32REG
	ld (_seed), hl
	ld hl, _xeed + 4
	call __FP_PUSH_REV
	ld a, 085h
	ld de, 00040h
	ld bc, 00000h
	call __MODF
	call __FTOU32REG
	ld a, l
	ld (_y), a
	ld hl, 0
	ld (_i), hl
	jp __LABEL21
__LABEL24:
	ld hl, (_seed)
	push hl
	call _mc1000rnd
	call __FTOU32REG
	ld (_seed), hl
	ld h, 0
	ld a, l
	and 31
	ld l, a
	push af
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	pop af
	ld (hl), a
	ld hl, (_seed)
	push hl
	call _mc1000rnd
	call __FTOU32REG
	ld (_seed), hl
	ld de, 23
	call __MODU16
	inc hl
	inc hl
	ld a, l
	push af
	ld hl, (_i)
	push hl
	ld hl, _yin
	call __ARRAY
	pop af
	ld (hl), a
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	ld h, a
	ld a, (_x)
	call __LTI8
	or a
	jp z, __LABEL27
__LABEL27:
	ld hl, (_i)
	push hl
	ld hl, _stin
	call __ARRAY
	ld (hl), 0
	ld hl, (_i)
	inc hl
	ld (_i), hl
__LABEL21:
	ld hl, 255
	ld de, (_i)
	call __LTI16
	or a
	jp z, __LABEL24
	ld hl, 0
	ld (_i), hl
	jp __LABEL28
__LABEL31:
	ld hl, (__LABEL__charmap01) - (256)
	push hl
	ld hl, 34
	push hl
	ld hl, (_i)
	push hl
	ld hl, _yin
	call __ARRAY
	ld a, (hl)
	ld h, 32
	call __MUL8_FAST
	push af
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	ld h, a
	pop af
	add a, h
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _mc1000vpokechr
	ld hl, (_i)
	inc hl
	ld (_i), hl
__LABEL28:
	ld hl, (_enam)
	dec hl
	ld de, (_i)
	call __LTI16
	or a
	jp z, __LABEL31
	ld hl, (__LABEL__charmap01) - (256)
	push hl
	ld hl, 51
	push hl
	ld a, (_y)
	ld h, 32
	call __MUL8_FAST
	ld h, a
	ld a, (_x)
	add a, h
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _mc1000vpokechr
	ret
__LABEL__stageplay:
__LABEL__lp01:
	ld a, 128
	call _mc1000keymapinv
	ld h, 4
	and h
	push af
	ld a, (_kprs)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL34
	ld a, (_y)
	dec a
	ld (_y), a
	ld a, 1
	ld (_kprs), a
	ld h, 3
	ld a, (_y)
	call __LTI8
	or a
	jp z, __LABEL36
	ld a, 2
	ld (_y), a
__LABEL36:
__LABEL34:
	ld a, 8
	call _mc1000keymapinv
	ld h, 4
	and h
	push af
	ld a, (_kprs)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL38
	ld a, (_y)
	inc a
	ld (_y), a
	ld a, 1
	ld (_kprs), a
	ld a, 22
	ld hl, (_y - 1)
	call __LTI8
	or a
	jp z, __LABEL40
	ld a, 23
	ld (_y), a
__LABEL40:
__LABEL38:
	ld a, 2
	call _mc1000keymapinv
	ld h, 1
	and h
	push af
	ld a, (_kprs)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL42
	ld a, (_x)
	dec a
	ld (_x), a
	ld a, 1
	ld (_kprs), a
	ld h, 1
	ld a, (_x)
	call __LTI8
	or a
	jp z, __LABEL44
	xor a
	ld (_x), a
__LABEL44:
__LABEL42:
	ld a, 16
	call _mc1000keymapinv
	ld h, 1
	and h
	push af
	ld a, (_kprs)
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL46
	ld a, (_x)
	inc a
	ld (_x), a
	ld a, 1
	ld (_kprs), a
	ld a, 30
	ld hl, (_x - 1)
	call __LTI8
	or a
	jp z, __LABEL48
	ld a, 31
	ld (_x), a
__LABEL48:
__LABEL46:
	xor a
	ld (_kprs), a
	ld hl, 0
	ld (_i), hl
	jp __LABEL49
__LABEL52:
	ld hl, (_i)
	push hl
	ld hl, _stin
	call __ARRAY
	ld a, (hl)
	sub 1
	jp nc, __LABEL55
	ld hl, (_i)
	push hl
	ld hl, _yin
	call __ARRAY
	ld a, (hl)
	ld h, a
	ld a, (_y)
	call __LTI8
	or a
	jp z, __LABEL57
	ld hl, (_i)
	push hl
	ld hl, _yin
	call __ARRAY
	ld a, (hl)
	dec a
	push af
	ld hl, (_i)
	push hl
	ld hl, _yin
	call __ARRAY
	pop af
	ld (hl), a
__LABEL57:
	ld hl, (_i)
	push hl
	ld hl, _yin
	call __ARRAY
	ld a, (hl)
	ld hl, (_y - 1)
	call __LTI8
	or a
	jp z, __LABEL59
	ld hl, (_i)
	push hl
	ld hl, _yin
	call __ARRAY
	ld a, (hl)
	inc a
	push af
	ld hl, (_i)
	push hl
	ld hl, _yin
	call __ARRAY
	pop af
	ld (hl), a
__LABEL59:
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	ld h, a
	ld a, (_x)
	call __LTI8
	or a
	jp z, __LABEL61
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	dec a
	push af
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	pop af
	ld (hl), a
__LABEL61:
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	ld hl, (_x - 1)
	call __LTI8
	or a
	jp z, __LABEL63
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	inc a
	push af
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	pop af
	ld (hl), a
__LABEL63:
__LABEL55:
	ld hl, 0
	ld (_j), hl
	jp __LABEL64
__LABEL67:
	ld hl, (_i)
	push hl
	ld hl, _yin
	call __ARRAY
	ld a, (hl)
	push af
	ld hl, (_j)
	push hl
	ld hl, _yin
	call __ARRAY
	ld a, (hl)
	ld h, a
	pop af
	sub h
	sub 1
	sbc a, a
	push af
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	push af
	ld hl, (_j)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	ld h, a
	pop af
	sub h
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL70
	ld hl, (_i)
	push hl
	ld hl, _stin
	call __ARRAY
	ld (hl), 1
	ld hl, (_j)
	push hl
	ld hl, _stin
	call __ARRAY
	ld (hl), 1
	ld hl, (_score)
	ld de, 10
	add hl, de
	ld (_score), hl
__LABEL70:
	ld hl, (_j)
	inc hl
	ld (_j), hl
__LABEL64:
	ld hl, (_i)
	dec hl
	ld de, (_j)
	call __LTI16
	or a
	jp z, __LABEL67
	ld de, (_score)
	ld hl, (_hiscore)
	call __LTI16
	or a
	jp z, __LABEL72
	ld hl, (_score)
	ld (_hiscore), hl
__LABEL72:
	call __LABEL__displayscore
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	ld h, a
	ld a, (_x)
	call __LTI8
	or a
	jp z, __LABEL74
__LABEL74:
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	ld hl, (_x - 1)
	call __LTI8
	or a
	jp z, __LABEL76
__LABEL76:
	ld hl, (_i)
	inc hl
	ld (_i), hl
__LABEL49:
	ld hl, (_enam)
	dec hl
	ld de, (_i)
	call __LTI16
	or a
	jp z, __LABEL52
	ld hl, 0
	ld (_cnt), hl
	ld hl, 0
	ld (_i), hl
	jp __LABEL77
__LABEL80:
	ld hl, (_i)
	push hl
	ld hl, _stin
	call __ARRAY
	ld a, (hl)
	sub 1
	jp nc, __LABEL83
	ld hl, (_cnt)
	inc hl
	ld (_cnt), hl
__LABEL83:
	ld hl, (_i)
	push hl
	ld hl, _xin
	call __ARRAY
	ld a, (hl)
	ld h, a
	ld a, (_x)
	sub h
	sub 1
	sbc a, a
	push af
	ld hl, (_i)
	push hl
	ld hl, _yin
	call __ARRAY
	ld a, (hl)
	ld h, a
	ld a, (_y)
	sub h
	sub 1
	sbc a, a
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL85
	ld hl, (_stam)
	dec hl
	ld (_stam), hl
__LABEL85:
	ld hl, (_i)
	inc hl
	ld (_i), hl
__LABEL77:
	ld hl, (_enam)
	dec hl
	ld de, (_i)
	call __LTI16
	or a
	jp z, __LABEL80
	call __LABEL__displaystamina
	ld hl, 0
	ld de, (_cnt)
	call __LTI16
	or a
	jp nz, __LABEL__lp01
	ld hl, (_stg)
	inc hl
	ld (_stg), hl
	call __LABEL__displayscore
	call __LABEL__displaystamina
	ret
__LABEL__displayscore:
	ret
__LABEL__displaystamina:
	ret
__LABEL__text01:
#line 232
		defb "BACACHASE"
#line 233
__LABEL__text02:
#line 236
		defb 95
		defb " PAULO SILVA, '11"
#line 238
__LABEL__text03:
#line 241
		defb "PUSH ANY KEY"
#line 242
__LABEL__text04:
#line 245
	defb "SCORE:"
#line 246
__LABEL__text05:
#line 249
	defb " HISCORE:"
#line 250
__LABEL__text06:
#line 253
	defb "ZOMBIES:"
#line 254
__LABEL__text07:
#line 257
	defb " STAMINA:"
#line 258
__LABEL__text08:
#line 261
	defb " STAGE:"
#line 262
__LABEL__text09:
	ld hl, 0
	ld b, h
	ld c, l
__END_PROGRAM:
	di
	ld hl, (__CALL_BACK__)
	ld sp, hl
	exx
	pop hl
	pop iy
	pop ix
	exx
	ei
	ret
__CALL_BACK__:
	DEFW 0
_minivadersldir32b:
	push ix
	ld ix, 0
	add ix, sp
#line 2
		ld d,(ix+5)
		ld e,(ix+4)
		ld h,(ix+7)
		ld l,(ix+6)
		ld b,(ix+9)
		ld c,(ix+8)
minivadersldir32bloop:
		ld a,(hl)
		ld (de),a
		inc hl
		ex de,hl
		push de
		ld de,32
		add hl,de
		pop de
		ex de,hl
		dec bc
		ld a,b
		or c
		jp nz,minivadersldir32bloop
#line 22
_minivadersldir32b__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_aquariusfillram:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld b,(ix+6)
		ld d,(ix+9)
		ld e,(ix+8)
		ld h,(ix+5)
		ld l,(ix+4)
fillbytes:
		ld (hl),b
		inc hl
		dec de
		ld a,d
		or e
		jr nz,fillbytes
#line 13
_aquariusfillram__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_mc1000screen:
#line 1
		out($80),a
		ld($00F5),a
#line 3
_mc1000screen__leave:
	ret
_mc1000cls:
	push ix
	ld ix, 0
	add ix, sp
	ld hl, 0
	push hl
	push hl
	push hl
	inc sp
	ld (ix-3), 0
	ld (ix-2), 2
	ld (ix-1), 0
	ld a, (245)
	ld h, 248
	and h
	sub 128
	sub 1
	jp nc, __LABEL89
	ld (ix-3), 0
	ld (ix-2), 4
__LABEL89:
	ld a, (245)
	ld h, 252
	and h
	sub 136
	sub 1
	jp nc, __LABEL91
	ld (ix-3), 0
	ld (ix-2), 8
__LABEL91:
	ld a, (245)
	ld h, 252
	and h
	sub 140
	sub 1
	jp nc, __LABEL93
	ld (ix-3), 0
	ld (ix-2), 6
__LABEL93:
	ld a, (245)
	ld h, 248
	and h
	sub 144
	sub 1
	jp nc, __LABEL95
	ld (ix-3), 0
	ld (ix-2), 12
__LABEL95:
	ld a, (245)
	ld h, 248
	and h
	sub 152
	sub 1
	jp nc, __LABEL97
	ld (ix-3), 0
	ld (ix-2), 24
__LABEL97:
	ld a, (245)
	ld h, 132
	and h
	sub 128
	sub 1
	jp nc, __LABEL99
	ld a, (ix+5)
	ld h, 3
	and h
	ld h, 85
	call __MUL8_FAST
	ld (ix-1), a
__LABEL99:
	ld a, (245)
	ld h, 132
	and h
	sub 132
	sub 1
	jp nc, __LABEL101
	ld a, (ix+5)
	ld h, 1
	and h
	ld h, 255
	call __MUL8_FAST
	ld (ix-1), a
__LABEL101:
	ld a, (245)
	ld h, 96
	and h
	sub 96
	sub 1
	jp nc, __LABEL103
	ld (ix-1), 0
	ld a, (ix+5)
	ld h, 7
	and h
	ld h, 4
	cp h
	jp nc, __LABEL105
	ld a, (ix+5)
	ld h, 3
	and h
	ld b, 6
__LABEL122:
	add a, a
	djnz __LABEL122
	ld h, a
	ld a, 63
	or h
	ld (ix-1), a
__LABEL105:
__LABEL103:
	ld a, (245)
	ld h, 96
	and h
	sub 64
	sub 1
	jp nc, __LABEL107
	ld (ix-1), 0
	ld a, (ix+5)
	ld h, 15
	and h
	ld h, 8
	cp h
	jp nc, __LABEL109
	ld a, (ix+5)
	ld h, 7
	and h
	add a, a
	add a, a
	add a, a
	add a, a
	ld h, a
	ld a, 15
	or h
	ld (ix-1), a
__LABEL109:
__LABEL107:
	ld a, (245)
	ld h, 252
	and h
	sub 1
	jp nc, __LABEL111
	ld a, (ix+5)
	ld h, 1
	and h
	ld b, 7
__LABEL123:
	add a, a
	djnz __LABEL123
	ld h, a
	ld a, 32
	or h
	ld (ix-1), a
__LABEL111:
	ld (ix-5), 0
	ld (ix-4), 0
	jp __LABEL112
__LABEL115:
	ld l, (ix-5)
	ld h, (ix-4)
	ld de, 32768
	add hl, de
	push hl
	ld a, (ix-1)
	pop hl
	ld (hl), a
	ld l, (ix-5)
	ld h, (ix-4)
	inc hl
	ld (ix-5), l
	ld (ix-4), h
__LABEL112:
	ld l, (ix-5)
	ld h, (ix-4)
	push hl
	ld l, (ix-3)
	ld h, (ix-2)
	dec hl
	pop de
	or a
	sbc hl, de
	jp nc, __LABEL115
_mc1000cls__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	ex (sp), hl
	exx
	ret
_mc1000vpokechr:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+4)
	ld h, (ix+5)
	ld de, 768
	call __MODU16
	ld (ix+4), l
	ld (ix+5), h
	ld hl, 8
	push hl
	ld l, (ix+8)
	ld h, (ix+9)
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	add hl, hl
	add hl, hl
	add hl, hl
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ld h, 0
	ld a, l
	and 31
	ld l, a
	ld de, 32768
	add hl, de
	ld de, 0
	push de
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ld de, 32
	call __DIVU16
	ld de, 0
	push de
	push hl
	ld de, 0
	ld hl, 256
	call __MUL32
	pop bc
	add hl, bc
	pop bc
	ex de, hl
	adc hl, bc
	ex de, hl
	push hl
	call _minivadersldir32b
_mc1000vpokechr__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_mc1000rnd:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+4)
	ld h, (ix+5)
	ld de, 255
	call __BAND16
	ld de, 221
	call __MUL16_FAST
	ld de, 53
	add hl, de
	ld de, 255
	call __BAND16
	ld de, 0
	call __U32TOFREG
_mc1000rnd__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	ex (sp), hl
	exx
	ret
_mc1000keymapinv:
#line 1
		di
		xor $FF
		ld b,a
		ld a,$0E
		out($20),a
		ld a,b
		out($60),a
		ld a,$0F
		out($20),a
		in a,($40)
		xor $FF
		ei
#line 13
_mc1000keymapinv__leave:
	ret
_mc1000writetext:
	push ix
	ld ix, 0
	add ix, sp
	ld hl, 0
	push hl
	ld (ix-2), 0
	ld (ix-1), 0
	jp __LABEL117
__LABEL120:
	ld l, (ix+12)
	ld h, (ix+13)
	push hl
	ld l, (ix+8)
	ld h, (ix+9)
	push hl
	ld l, (ix-2)
	ld h, (ix-1)
	ex de, hl
	pop hl
	add hl, de
	ld b, h
	ld c, l
	ld a, (bc)
	ld l, a
	ld h, 0
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	ld de, 32
	call __MUL16_FAST
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld l, (ix-2)
	ld h, (ix-1)
	ex de, hl
	pop hl
	add hl, de
	push hl
	call _mc1000vpokechr
	ld l, (ix-2)
	ld h, (ix-1)
	inc hl
	ld (ix-2), l
	ld (ix-1), h
__LABEL117:
	ld l, (ix-2)
	ld h, (ix-1)
	push hl
	ld l, (ix+10)
	ld h, (ix+11)
	dec hl
	pop de
	or a
	sbc hl, de
	jp nc, __LABEL120
_mc1000writetext__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
#line 1 "and8.asm"
	; FASTCALL boolean and 8 version.
	; result in Accumulator (0 False, not 0 True)
; __FASTCALL__ version (operands: A, H)
	; Performs 8bit and 8bit and returns the boolean
	
__AND8:
		or a
		ret z
		ld a, h
		ret 
	
#line 1407 "bacachase.bas"
#line 1 "array.asm"
; vim: ts=4:et:sw=4:
	; Copyleft (K) by Jose M. Rodriguez de la Rosa
	;  (a.k.a. Boriel) 
;  http://www.boriel.com
	; -------------------------------------------------------------------
	; Simple array Index routine
	; Number of total indexes dimensions - 1 at beginning of memory
	; HL = Start of array memory (First two bytes contains N-1 dimensions)
	; Dimension values on the stack, (top of the stack, highest dimension)
	; E.g. A(2, 4) -> PUSH <4>; PUSH <2>
	
	; For any array of N dimension A(aN-1, ..., a1, a0)
	; and dimensions D[bN-1, ..., b1, b0], the offset is calculated as
	; O = [a0 + b0 * (a1 + b1 * (a2 + ... bN-2(aN-1)))]
; What I will do here is to calculate the following sequence:
	; ((aN-1 * bN-2) + aN-2) * bN-3 + ...
	
	
#line 1 "mul16.asm"
__MUL16:	; Mutiplies HL with the last value stored into de stack
				; Works for both signed and unsigned
	
			PROC
	
			LOCAL __MUL16LOOP
	        LOCAL __MUL16NOADD
			
			ex de, hl
			pop hl		; Return address
			ex (sp), hl ; CALLEE caller convention
	
;;__MUL16_FAST:	; __FASTCALL ENTRY: HL = 1st operand, DE = 2nd Operand
	;;		ld c, h
	;;		ld a, l	 ; C,A => 1st Operand
	;;
	;;		ld hl, 0 ; Accumulator
	;;		ld b, 16
	;;
;;__MUL16LOOP:
	;;		sra c	; C,A >> 1  (Arithmetic)
	;;		rra
	;;
	;;		jr nc, __MUL16NOADD
	;;		add hl, de
	;;
;;__MUL16NOADD:
	;;		sla e
	;;		rl d
	;;			
	;;		djnz __MUL16LOOP
	
__MUL16_FAST:
	        ld b, 16
	        ld a, d
	        ld c, e
	        ex de, hl
	        ld hl, 0
	
__MUL16LOOP:
	        add hl, hl  ; hl << 1
	        sla c
	        rla         ; a,c << 1
	        jp nc, __MUL16NOADD
	        add hl, de
	
__MUL16NOADD:
	        djnz __MUL16LOOP
	
			ret	; Result in hl (16 lower bits)
	
			ENDP
	
#line 20 "array.asm"
	
#line 24 "/mnt/sda3/opt/zxbasiccompiler/zxbasiccompiler_zxspectrum/library-asm/array.asm"
	
__ARRAY:
		PROC
	
		LOCAL LOOP
		LOCAL ARRAY_END
		LOCAL RET_ADDRESS ; Stores return address
	
		ex (sp), hl	; Return address in HL, array address in the stack
		ld (RET_ADDRESS + 1), hl ; Stores it for later
	
		exx
		pop hl		; Will use H'L' as the pointer
		ld c, (hl)	; Loads Number of dimensions from (hl)
		inc hl
		ld b, (hl)
		inc hl		; Ready
		exx
			
		ld hl, 0	; BC = Offset "accumulator"
	
#line 48 "/mnt/sda3/opt/zxbasiccompiler/zxbasiccompiler_zxspectrum/library-asm/array.asm"
	
LOOP:
		pop bc		; Get next index (Ai) from the stack
	
#line 60 "/mnt/sda3/opt/zxbasiccompiler/zxbasiccompiler_zxspectrum/library-asm/array.asm"
	
		add hl, bc	; Adds current index
	
		exx			; Checks if B'C' = 0
		ld a, b		; Which means we must exit (last element is not multiplied by anything)
		or c
		jr z, ARRAY_END		; if B'Ci == 0 we are done
	
		ld e, (hl)			; Loads next dimension into D'E'
		inc hl
		ld d, (hl)
		inc hl
		push de
		dec bc				; Decrements loop counter
		exx
		pop de				; DE = Max bound Number (i-th dimension)
	
#line 80 "/mnt/sda3/opt/zxbasiccompiler/zxbasiccompiler_zxspectrum/library-asm/array.asm"
		;call __MUL16_FAST	; HL *= DE
	    call __FNMUL
#line 86 "/mnt/sda3/opt/zxbasiccompiler/zxbasiccompiler_zxspectrum/library-asm/array.asm"
		jp LOOP
		
ARRAY_END:
		ld e, (hl)
		inc hl
		ld d, c			; C = 0 => DE = E = Element size
		push hl
		push de
		exx
	
#line 100 "/mnt/sda3/opt/zxbasiccompiler/zxbasiccompiler_zxspectrum/library-asm/array.asm"
	    LOCAL ARRAY_SIZE_LOOP
	
	    ex de, hl
	    ld hl, 0
	    pop bc
	    ld b, c
ARRAY_SIZE_LOOP: 
	    add hl, de
	    djnz ARRAY_SIZE_LOOP
	
	    ;; Even faster
	    ;pop bc
	
	    ;ld d, h
	    ;ld e, l
	    
	    ;dec c
	    ;jp z, __ARRAY_FIN
	
	    ;add hl, hl
	    ;dec c
	    ;jp z, __ARRAY_FIN
	
	    ;add hl, hl
	    ;dec c
	    ;dec c
	    ;jp z, __ARRAY_FIN
	
	    ;add hl, de
    ;__ARRAY_FIN:    
#line 131 "/mnt/sda3/opt/zxbasiccompiler/zxbasiccompiler_zxspectrum/library-asm/array.asm"
	
		pop de
		add hl, de  ; Adds element start
	
RET_ADDRESS:
		ld de, 0
		push de
		ret			; HL = (Start of Elements + Offset)
	
	    ;; Performs a faster multiply for little 16bit numbs
	    LOCAL __FNMUL, __FNMUL2
	
__FNMUL:
	    xor a
	    or d
	    jp nz, __MUL16_FAST
	
	    or e
	    ex de, hl
	    ret z
	
	    cp 33
	    jp nc, __MUL16_FAST
	
	    ld b, l
	    ld l, h  ; HL = 0
	
__FNMUL2:
	    add hl, de
	    djnz __FNMUL2
	    ret
	
		ENDP
		
#line 1408 "bacachase.bas"
#line 1 "band16.asm"
; vim:ts=4:et:
	; FASTCALL bitwise and16 version.
	; result in hl 
; __FASTCALL__ version (operands: A, H)
	; Performs 16bit or 16bit and returns the boolean
; Input: HL, DE
; Output: HL <- HL AND DE
	
__BAND16:
		ld a, h
		and d
	    ld h, a
	
	    ld a, l
	    and e
	    ld l, a
	
	    ret 
	
#line 1409 "bacachase.bas"
#line 1 "div16.asm"
	; 16 bit division and modulo functions 
	; for both signed and unsigned values
	
#line 1 "neg16.asm"
	; Negates HL value (16 bit)
__ABS16:
		bit 7, h
		ret z
	
__NEGHL:
		ld a, l			; HL = -HL
		cpl
		ld l, a
		ld a, h
		cpl
		ld h, a
		inc hl
		ret
	
#line 5 "div16.asm"
	
__DIVU16:    ; 16 bit unsigned division
	             ; HL = Dividend, Stack Top = Divisor
	
		;   -- OBSOLETE ; Now uses FASTCALL convention
		;   ex de, hl
	    ;	pop hl      ; Return address
	    ;	ex (sp), hl ; CALLEE Convention
	
__DIVU16_FAST:
	    ld a, h
	    ld c, l
	    ld hl, 0
	    ld b, 16
	
__DIV16LOOP:
	    sll c
	    rla
	    adc hl,hl
	    sbc hl,de
	    jr  nc, __DIV16NOADD
	    add hl,de
	    dec c
	
__DIV16NOADD:
	    djnz __DIV16LOOP
	
	    ex de, hl
	    ld h, a
	    ld l, c
	
	    ret     ; HL = quotient, DE = Mudulus
	
	
	
__MODU16:    ; 16 bit modulus
	             ; HL = Dividend, Stack Top = Divisor
	
	    ;ex de, hl
	    ;pop hl
	    ;ex (sp), hl ; CALLEE Convention
	
	    call __DIVU16_FAST
	    ex de, hl	; hl = reminder (modulus)
					; de = quotient
	
	    ret
	
	
__DIVI16:	; 16 bit signed division
		;	--- The following is OBSOLETE ---
		;	ex de, hl
		;	pop hl
		;	ex (sp), hl 	; CALLEE Convention
	
__DIVI16_FAST:
		ld a, d
		xor h
		ex af, af'		; BIT 7 of a contains result
	
		bit 7, d		; DE is negative?
		jr z, __DIVI16A	
	
		ld a, e			; DE = -DE
		cpl
		ld e, a
		ld a, d
		cpl
		ld d, a
		inc de
	
__DIVI16A:
		bit 7, h		; HL is negative?
		call nz, __NEGHL
	
__DIVI16B:
		call __DIVU16_FAST
		ex af, af'
	
		or a	
		ret p	; return if positive
	    jp __NEGHL
	
		
__MODI16:    ; 16 bit modulus
	             ; HL = Dividend, Stack Top = Divisor
	
	    ;ex de, hl
	    ;pop hl
	    ;ex (sp), hl ; CALLEE Convention
	
	    call __DIVI16_FAST
	    ex de, hl	; hl = reminder (modulus)
					; de = quotient
	
	    ret
	
#line 1410 "bacachase.bas"
#line 1 "ftou32reg.asm"
#line 1 "neg32.asm"
__ABS32:
		bit 7, d
		ret z
	
__NEG32: ; Negates DEHL (Two's complement)
		ld a, l
		cpl
		ld l, a
	
		ld a, h
		cpl
		ld h, a
	
		ld a, e
		cpl
		ld e, a
		
		ld a, d
		cpl
		ld d, a
	
		inc l
		ret nz
	
		inc h
		ret nz
	
		inc de
		ret
	
#line 2 "ftou32reg.asm"
	
__FTOU32REG:	; Converts a Float to (un)signed 32 bit integer (NOTE: It's ALWAYS 32 bit signed)
					; Input FP number in A EDCB (A exponent, EDCB mantissa)
				; Output: DEHL 32 bit number (signed)
		PROC
	
		LOCAL __IS_FLOAT
	
		or a
		jr nz, __IS_FLOAT 
		; Here if it is a ZX ROM Integer
	
		ld h, c
		ld l, d
	ld a, e	 ; Takes sign: FF = -, 0 = +
		ld de, 0
		inc a
		jp z, __NEG32	; Negates if negative
		ret
	
__IS_FLOAT:  ; Jumps here if it is a true floating point number
		ld h, e	
		push hl  ; Stores it for later (Contains Sign in H)
	
		push de
		push bc
	
		exx
		pop de   ; Loads mantissa into C'B' E'D' 
		pop bc	 ; 
	
		set 7, c ; Highest mantissa bit is always 1
		exx
	
		ld hl, 0 ; DEHL = 0
		ld d, h
		ld e, l
	
		;ld a, c  ; Get exponent
		sub 128  ; Exponent -= 128
		jr z, __FTOU32REG_END	; If it was <= 128, we are done (Integers must be > 128)
		jr c, __FTOU32REG_END	; It was decimal (0.xxx). We are done (return 0)
	
		ld b, a  ; Loop counter = exponent - 128
	
__FTOU32REG_LOOP:
		exx 	 ; Shift C'B' E'D' << 1, output bit stays in Carry
		sla d
		rl e
		rl b
		rl c
	
	    exx		 ; Shift DEHL << 1, inserting the carry on the right
		rl l
		rl h
		rl e
		rl d
	
		djnz __FTOU32REG_LOOP
	
__FTOU32REG_END:
		pop af   ; Take the sign bit
		or a	 ; Sets SGN bit to 1 if negative
		jp m, __NEG32 ; Negates DEHL
		
		ret
	
		ENDP
	
	
__FTOU8:	; Converts float in C ED LH to Unsigned byte in A
		call __FTOU32REG
		ld a, l
		ret
	
#line 1411 "bacachase.bas"
#line 1 "lti16.asm"
	
#line 1 "lti8.asm"
	
__LTI8: ; Test 8 bit values A < H
        ; Returns result in A: 0 = False, !0 = True
	        sub h
	
__LTI:  ; Signed CMP
	        PROC
	        LOCAL __PE
	
	        ld a, 0  ; Sets default to false
__LTI2:
	        jp pe, __PE
	        ; Overflow flag NOT set
	        ret p
	        dec a ; TRUE
	
__PE:   ; Overflow set
	        ret m
	        dec a ; TRUE
	        ret
	        
	        ENDP
#line 3 "lti16.asm"
	
__LTI16: ; Test 8 bit values HL < DE
        ; Returns result in A: 0 = False, !0 = True
	        xor a
	        sbc hl, de
	        jp __LTI2
	
#line 1412 "bacachase.bas"
	
#line 1 "modf.asm"
#line 1 "stackf.asm"
	; -------------------------------------------------------------
	; Functions to manage FP-Stack of the ZX Spectrum ROM CALC
	; -------------------------------------------------------------
	
	
	__FPSTACK_PUSH EQU 2AB6h	; Stores an FP number into the ROM FP stack (A, ED CB)
	__FPSTACK_POP  EQU 2BF1h	; Pops an FP number out of the ROM FP stack (A, ED CB)
	
__FPSTACK_PUSH2: ; Pushes Current A ED CB registers and top of the stack on (SP + 4)
	                 ; Second argument to push into the stack calculator is popped out of the stack
	                 ; Since the caller routine also receives the parameters into the top of the stack
	                 ; four bytes must be removed from SP before pop them out
	
	    call __FPSTACK_PUSH ; Pushes A ED CB into the FP-STACK
	    exx
	    pop hl       ; Caller-Caller return addr
	    exx
	    pop hl       ; Caller return addr
	
	    pop af
	    pop de
	    pop bc
	
	    push hl      ; Caller return addr
	    exx
	    push hl      ; Caller-Caller return addr
	    exx
	 
	    jp __FPSTACK_PUSH
	
	
__FPSTACK_I16:	; Pushes 16 bits integer in HL into the FP ROM STACK
					; This format is specified in the ZX 48K Manual
					; You can push a 16 bit signed integer as
					; 0 SS LL HH 0, being SS the sign and LL HH the low
					; and High byte respectively
		ld a, h
		rla			; sign to Carry
		sbc	a, a	; 0 if positive, FF if negative
		ld e, a
		ld d, l
		ld c, h
		xor a
		ld b, a
		jp __FPSTACK_PUSH
#line 2 "modf.asm"
	
	; -------------------------------------------------------------
	; Floating point library using the FP ROM Calculator (ZX 48K)
	
	; All of them uses A EDCB registers as 1st paramter.
	; For binary operators, the 2n operator must be pushed into the
	; stack, in the order A DE BC.
	;
	; Uses CALLEE convention
	; -------------------------------------------------------------
	
__MODF:	; MODULO
		call __FPSTACK_PUSH2	; Enters B, A
		
		; ------------- ROM DIV
		rst 28h
		defb 01h	; EXCHANGE
		defb 32h	; MOD
		defb 38h;   ; END CALC
	
		jp __FPSTACK_POP
	
#line 1414 "bacachase.bas"
	
#line 1 "mul32.asm"
#line 1 "_mul32.asm"
	
; Ripped from: http://www.andreadrian.de/oldcpu/z80_number_cruncher.html#moztocid784223
	; Used with permission.
	; Multiplies 32x32 bit integer (DEHL x D'E'H'L')
	; 64bit result is returned in H'L'H L B'C'A C
	
	
__MUL32_64START:
			push hl
			exx
			ld b, h
			ld c, l		; BC = Low Part (A)
			pop hl		; HL = Load Part (B)
			ex de, hl	; DE = Low Part (B), HL = HightPart(A) (must be in B'C')
			push hl
	
			exx
			pop bc		; B'C' = HightPart(A)
			exx			; A = B'C'BC , B = D'E'DE
	
				; multiply routine 32 * 32bit = 64bit
				; h'l'hlb'c'ac = b'c'bc * d'e'de
				; needs register a, changes flags
				;
				; this routine was with tiny differences in the
				; sinclair zx81 rom for the mantissa multiply
	
__LMUL:
	        and     a               ; reset carry flag
	        sbc     hl,hl           ; result bits 32..47 = 0
	        exx
	        sbc     hl,hl           ; result bits 48..63 = 0
	        exx
	        ld      a,b             ; mpr is b'c'ac
	        ld      b,33            ; initialize loop counter
	        jp      __LMULSTART  
	
__LMULLOOP:
	        jr      nc,__LMULNOADD  ; JP is 2 cycles faster than JR. Since it's inside a LOOP
	                                ; it can save up to 33 * 2 = 66 cycles
	                                ; But JR if 3 cycles faster if JUMP not taken!
	        add     hl,de           ; result += mpd
	        exx
	        adc     hl,de
	        exx
	
__LMULNOADD:
	        exx
	        rr      h               ; right shift upper
	        rr      l               ; 32bit of result
	        exx
	        rr      h
	        rr      l
	
__LMULSTART:
	        exx
	        rr      b               ; right shift mpr/
	        rr      c               ; lower 32bit of result
	        exx
	        rra                     ; equivalent to rr a
	        rr      c
	        djnz    __LMULLOOP
	
			ret						; result in h'l'hlb'c'ac
	       
#line 2 "mul32.asm"
	
__MUL32:	; multiplies 32 bit un/signed integer.
				; First operand stored in DEHL, and 2nd onto stack
				; Lowest part of 2nd operand on top of the stack
				; returns the result in DE.HL
			exx
			pop hl	; Return ADDRESS
			pop de	; Low part
			ex (sp), hl ; CALLEE -> HL = High part
			ex de, hl
			call __MUL32_64START
	
__TO32BIT:  ; Converts H'L'HLB'C'AC to DEHL (Discards H'L'HL)
			exx
			push bc
			exx
			pop de
			ld h, a
			ld l, c
			ret
	
	
#line 1416 "bacachase.bas"
#line 1 "mul8.asm"
__MUL8:		; Performs 8bit x 8bit multiplication
		PROC
	
		;LOCAL __MUL8A
		LOCAL __MUL8LOOP
		LOCAL __MUL8B
				; 1st operand (byte) in A, 2nd operand into the stack (AF)
		pop hl	; return address
		ex (sp), hl ; CALLE convention
	
;;__MUL8_FAST: ; __FASTCALL__ entry
	;;	ld e, a
	;;	ld d, 0
	;;	ld l, d
	;;	
	;;	sla h	
	;;	jr nc, __MUL8A
	;;	ld l, e
	;;
;;__MUL8A:
	;;
	;;	ld b, 7
;;__MUL8LOOP:
	;;	add hl, hl
	;;	jr nc, __MUL8B
	;;
	;;	add hl, de
	;;
;;__MUL8B:
	;;	djnz __MUL8LOOP
	;;
	;;	ld a, l ; result = A and HL  (Truncate to lower 8 bits)
	
__MUL8_FAST: ; __FASTCALL__ entry, a = a * h (8 bit mul) and Carry
	
	    ld b, 8
	    ld l, a
	    xor a
	
__MUL8LOOP:
	    add a, a ; a *= 2
	    sla l
	    jp nc, __MUL8B
	    add a, h
	
__MUL8B:
	    djnz __MUL8LOOP
		
		ret		; result = HL
		ENDP
	
#line 1417 "bacachase.bas"
#line 1 "pushf.asm"
	
	; Routine to push Float pointed by HL 
	; Into the stack. Notice that the hl points to the last
	; byte of the FP number.
	; Uses H'L' B'C' and D'E' to preserve ABCDEHL registers
	
__FP_PUSH_REV:
	    push hl
	    exx
	    pop hl
	    pop bc ; Return Address
	    ld d, (hl)
	    dec hl
	    ld e, (hl)
	    dec hl
	    push de
	    ld d, (hl)
	    dec hl
	    ld e, (hl)
	    dec hl
	    push de
	    ld d, (hl)
	    push de
	    push bc ; Return Address
	    exx
	    ret
	
	
#line 1418 "bacachase.bas"
#line 1 "u32tofreg.asm"
	
__I8TOFREG:
		ld l, a
		rlca
		sbc a, a	; A = SGN(A)
		ld h, a
		ld e, a
		ld d, a
	
__I32TOFREG:	; Converts a 32bit signed integer (stored in DEHL)
					; to a Floating Point Number returned in (A ED CB)
	
		ld a, d
		or a		; Test sign
	
		jp p, __U32TOFREG	; It was positive, proceed as 32bit unsigned
	
		call __NEG32		; Convert it to positive
		call __U32TOFREG	; Convert it to Floating point
	
		set 7, e			; Put the sign bit (negative) in the 31bit of mantissa
		ret
	
__U8TOFREG:
					; Converts an unsigned 8 bit (A) to Floating point
		ld l, a
		ld h, 0
		ld e, h
		ld d, h
	
__U32TOFREG:	; Converts an unsigned 32 bit integer (DEHL)
					; to a Floating point number returned in A ED CB
	
	    PROC
	
	    LOCAL __U32TOFREG_END
	
		ld a, d
		or e
		or h
		or l
	    ld b, d
		ld c, e		; Returns 00 0000 0000 if ZERO
		ret z
	
		push de
		push hl
	
		exx
		pop de  ; Loads integer into B'C' D'E' 
		pop bc
		exx
	
		ld l, 128	; Exponent
		ld bc, 0	; DEBC = 0
		ld d, b
		ld e, c
	
__U32TOFREG_LOOP: ; Also an entry point for __F16TOFREG
		exx
		ld a, d 	; B'C'D'E' == 0 ?
		or e
		or b
		or c
		jp z, __U32TOFREG_END	; We are done
	
		srl b ; Shift B'C' D'E' >> 1, output bit stays in Carry
		rr c
		rr d
		rr e
		exx
	
		rr e ; Shift EDCB >> 1, inserting the carry on the left
		rr d
		rr c
		rr b
	
		inc l	; Increment exponent
		jp __U32TOFREG_LOOP
	
	
__U32TOFREG_END:
		exx
	    ld a, l     ; Puts the exponent in a
		res 7, e	; Sets the sign bit to 0 (positive)
	
		ret
	    ENDP
	
#line 1419 "bacachase.bas"
	
ZXBASIC_USER_DATA:
_tadrv2:
	DEFB 00, 00
_eex:
	DEFB 00, 00
_eey:
	DEFB 00, 00
_kbbf:
	DEFB 00
_c:
	DEFB 00, 00
_seed:
	DEFB 00, 00
_i:
	DEFB 00, 00
_j:
	DEFB 00, 00
_enam:
	DEFB 00, 00
_cnt:
	DEFB 00, 00
_stam:
	DEFB 00, 00
_stg:
	DEFB 00, 00
_score:
	DEFB 00, 00
_hiscore:
	DEFB 00, 00
_x:
	DEFB 00
_y:
	DEFB 00
_kprs:
	DEFB 00
_xeed:
	DEFB 00, 00, 00, 00, 00
_xin:
	DEFW 0000h
	DEFB 01h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
_yin:
	DEFW 0000h
	DEFB 01h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
_stin:
	DEFW 0000h
	DEFB 01h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	DEFB 00h
	; Defines DATA END --> HEAP size is 0
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
	; Defines USER DATA Length in bytes
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
	END
