	org 16400
__START_PROGRAM:
	di
	push ix
	push iy
	exx
	push hl
	exx
	ld hl, 0
	add hl, sp
	ld (__CALL_BACK__), hl
	ei
	jp __LABEL__bin01end
__LABEL__bin01:
#line 2
		defb $ed,$a6,$49,$9a,$99,$53,$94,$42,$55,$95,$a4,$49,$5a,$35,$4c,$43
		defb $dd,$a9,$a3,$22,$33,$56,$6c,$39,$54,$49,$65,$44,$6a,$64,$36,$64
		defb $aa,$aa,$6c,$ca,$23,$92,$35,$aa,$4d,$ca,$33,$b6,$45,$dc,$68,$b7
		defb $36,$9a,$aa,$da,$5a,$c3,$22,$22,$46,$dc,$46,$a7,$6c,$dd,$c4,$a7
		defb $ca,$ae,$ee,$ed,$dc,$aa,$c6,$66,$32,$22,$5a,$dd,$34,$46,$a6,$c6
		defb $ae,$ac,$dd,$e6,$35,$6a,$aa,$aa,$44,$43,$33,$25,$46,$66,$6a,$b6
		defb $94,$6a,$ca,$de,$64,$3a,$ee,$aa,$c5,$64,$4a,$43,$66,$ac,$ca,$aa
		defb $23,$46,$ad,$ed,$a6,$66,$aa,$a6,$34,$aa,$ca,$a8,$aa,$ab,$aa,$fd
		defb $ea,$a5,$33,$34,$ef,$dc,$68,$6a,$34,$6a,$6a,$8a,$8a,$c6,$83,$34
		defb $dd,$c5,$73,$34,$64,$44,$6a,$ac,$6a,$aa,$6a,$6a,$cd,$da,$a6,$96
		defb $44,$45,$ac,$cc,$aa,$c6,$6a,$66,$6a,$ac,$cc,$aa,$a4,$dc,$d6,$aa
		defb $66,$ca,$cc,$ed,$ca,$dc,$ca,$ac,$64,$aa,$cc,$cc,$66,$6c,$da,$9a
		defb $aa,$aa,$fe,$d6,$69,$ca,$ca,$aa,$c9,$6c,$fa,$aa,$ed,$ac,$da,$99
		defb $cc,$aa,$cf,$ea,$da,$66,$6a,$ca,$ac,$cc,$54,$55,$aa,$cd,$dc,$99
		defb $ac,$a9,$da,$ae,$a6,$33,$44,$4a,$a6,$cc,$ef,$dd,$e9,$6e,$ef,$fe
		defb $56,$6a,$ca,$aa,$aa,$ac,$ed,$ce,$96,$9c,$ee,$ee,$d6,$af,$dd,$ec
		defb $69,$43,$66,$66,$66,$66,$56,$59,$22,$22,$3a,$dd,$49,$55,$de,$db
		defb $99,$36,$64,$9e,$33,$43,$56,$6a,$55,$33,$ae,$a8,$66,$68,$de,$db
		defb $96,$ad,$a4,$b4,$cd,$d5,$24,$34,$66,$87,$8a,$ea,$da,$45,$b8,$de
		defb $c5,$a9,$53,$23,$de,$dd,$ee,$d6,$ba,$bb,$4b,$ae,$c3,$22,$58,$ae
		defb $46,$66,$66,$a6,$46,$66,$86,$66,$66,$66,$64,$4a,$ac,$64,$c9,$ab
		defb $66,$6a,$46,$66,$46,$a6,$6a,$6a,$a6,$46,$6a,$8d,$db,$69,$a6,$8b
		defb $b4,$aa,$ed,$66,$de,$bb,$ac,$fe,$ed,$bd,$9d,$e9,$ee,$ba,$bd,$eb
		defb $4d,$dd,$bb,$bc,$ed,$ad,$ca,$ec,$ed,$ba,$be,$eb,$ed,$8b,$be,$d8
		defb $ac,$dd,$ed,$fd,$ab,$7b,$8b,$ab,$bb,$bd,$cc,$bb,$bc,$45,$9d,$dd
		defb $ea,$a9,$bb,$8b,$bb,$bd,$cb,$aa,$bd,$89,$cb,$bc,$b6,$36,$9a,$de
		defb $fd,$fe,$ea,$a9,$b8,$b8,$b9,$ca,$ba,$ca,$b5,$b7,$de,$bb,$6e,$ca
		defb $b9,$ca,$fe,$a4,$b4,$b5,$bb,$b9,$ab,$76,$fc,$75,$ed,$ec,$7a,$e6
		defb $69,$4a,$aa,$63,$67,$74,$74,$44,$78,$b6,$aa,$5d,$c7,$b8,$b9,$ba
		defb $aa,$76,$a6,$63,$6c,$43,$24,$a5,$b8,$b8,$79,$fe,$6a,$cf,$cb,$8b
		defb $4a,$cd,$96,$de,$3c,$d6,$5c,$94,$ea,$33,$4a,$ee,$fe,$6a,$ed,$ea
		defb $36,$ed,$6a,$cd,$6e,$33,$aa,$99,$e6,$69,$4e,$fe,$9d,$e6,$aa,$54
		defb $49,$58,$de,$ed,$59,$9c,$8b,$de,$34,$39,$db,$b9,$33,$34,$9c,$97
		defb $49,$5b,$bd,$ed,$54,$5d,$98,$9e,$93,$36,$d8,$8b,$54,$94,$55,$db
		defb $f3,$22,$2a,$de,$da,$b9,$56,$b9,$ee,$db,$b8,$48,$88,$5d,$de,$ef
		defb $bd,$25,$58,$9e,$ed,$aa,$94,$47,$ad,$ee,$dd,$b8,$57,$7b,$59,$d9
		defb $db,$aa,$9e,$ad,$dd,$c9,$de,$a9,$37,$8b,$47,$38,$ac,$bd,$ad,$ed
		defb $da,$d5,$ae,$dd,$88,$d9,$88,$54,$87,$37,$89,$8a,$9a,$a9,$a9,$84
		defb $db,$4b,$be,$ab,$87,$98,$dd,$bb,$8b,$fd,$bb,$75,$97,$bb,$b3,$73
		defb $a8,$8b,$9e,$9b,$3b,$bc,$e8,$b7,$fd,$a8,$74,$b4,$84,$77,$58,$33
		defb $95,$2c,$ed,$ee,$53,$33,$5d,$e5,$32,$42,$32,$25,$48,$43,$33,$32
		defb $b5,$22,$ee,$de,$62,$34,$23,$ad,$33,$32,$33,$32,$68,$34,$44,$44
		defb $ee,$aa,$bb,$ae,$de,$e5,$3a,$37,$ca,$a3,$22,$44,$22,$83,$43,$22
		defb $ee,$e4,$a7,$7b,$ad,$e4,$24,$6b,$22,$74,$42,$23,$33,$24,$32,$32
		defb $33,$3a,$ae,$f8,$bb,$fa,$95,$af,$62,$4b,$73,$bb,$32,$43,$5c,$a9
		defb $d5,$32,$35,$ff,$b4,$77,$6b,$ba,$6a,$6b,$72,$77,$32,$33,$33,$43
		defb $ba,$ed,$a9,$99,$be,$fa,$bd,$95,$77,$b3,$ce,$ee,$9a,$56,$99,$6a
		defb $bb,$ee,$65,$da,$b8,$bb,$be,$da,$34,$ba,$dd,$da,$33,$59,$d9,$a6
		defb $64,$66,$32,$3a,$45,$66,$33,$32,$44,$43,$34,$32,$66,$44,$34,$44
		defb $43,$84,$33,$44,$9a,$32,$44,$44,$34,$6a,$a6,$43,$45,$52,$36,$32
		defb $db,$37,$77,$77,$26,$aa,$b8,$74,$44,$33,$22,$43,$32,$63,$23,$33
		defb $99,$57,$b3,$77,$32,$32,$a3,$d5,$36,$64,$43,$22,$46,$63,$32,$23
		defb $87,$77,$77,$b7,$b3,$3b,$34,$b9,$25,$32,$33,$22,$32,$32,$23,$34
		defb $73,$2b,$37,$72,$7d,$e4,$da,$54,$22,$22,$22,$22,$44,$43,$44,$44
		defb $b3,$47,$a3,$34,$63,$42,$34,$43,$23,$54,$33,$34,$96,$44,$4e,$ea
		defb $bb,$64,$23,$84,$22,$35,$84,$23,$34,$33,$4d,$fc,$64,$44,$6c,$8a
		defb $46,$63,$a4,$54,$45,$aa,$ab,$46,$44,$88,$84,$8c,$aa,$a4,$44,$38
		defb $5a,$96,$a8,$43,$56,$6a,$c6,$a6,$aa,$aa,$66,$94,$ec,$aa,$aa,$6a
		defb $43,$44,$64,$54,$43,$44,$46,$a4,$94,$66,$c4,$63,$66,$44,$66,$a6
		defb $32,$36,$66,$33,$66,$a4,$43,$4a,$46,$4a,$66,$66,$6a,$c6,$66,$c6
		defb $64,$22,$22,$32,$36,$36,$43,$6a,$6a,$a4,$3a,$63,$ac,$44,$ac,$aa
		defb $33,$43,$23,$56,$a3,$c3,$64,$ac,$64,$ac,$43,$34,$66,$44,$4c,$ac
		defb $23,$95,$a9,$59,$cc,$a6,$66,$ad,$24,$46,$a9,$da,$66,$65,$84,$aa
		defb $5a,$a5,$66,$94,$a3,$34,$5d,$ed,$34,$94,$84,$43,$a6,$56,$99,$a5
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$e3,$3e,$ee,$ee,$33,$33,$ee,$ee,$e3,$3e,$ee,$ee,$e3,$3e,$ee
		defb $ee,$33,$33,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$e3,$3e,$ee,$33,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$e3,$3e,$e3,$33,$33,$33,$e3,$33,$33,$33,$ee,$33,$e3,$3e
		defb $ee,$33,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$e3,$3e,$ee,$ee,$ee,$ee
		defb $ee,$e3,$3e,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$e3,$3e,$ee,$e3,$3e,$ee
		defb $ee,$33,$33,$3e,$ee,$33,$33,$ee,$e3,$33,$33,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$e3,$3e,$e3,$3e,$ee,$e3,$3e,$ee,$e3,$3e,$ee,$33
		defb $e3,$3e,$ee,$33,$ee,$ee,$33,$ee,$ee,$33,$ee,$33,$ee,$ee,$ee,$ee
		defb $ee,$e3,$33,$ee,$ee,$e3,$33,$ee,$e3,$3e,$33,$3e,$ee,$33,$3e,$33
		defb $ee,$33,$e3,$3e,$ee,$33,$3e,$33,$e3,$3e,$e3,$3e,$ee,$ee,$ee,$ee
		defb $ee,$ee,$33,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$33,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$33,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$ee,$33,$ee
		defb $ee,$e3,$3e,$ee,$ee,$33,$ee,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$ee,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$33,$ee,$ee
		defb $ee,$e3,$3e,$ee,$ee,$ee,$33,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$33,$33,$ee,$ee,$33,$33,$ee,$ee,$ee,$ee,$ee
		defb $e3,$3e,$e3,$3e,$33,$33,$33,$33,$e3,$3e,$e3,$3e,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$e3,$3e,$ee,$e3,$33,$33,$3e,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee,$ee,$e3,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$e3,$33,$33,$3e,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$33,$ee,$ee,$33,$ee,$ee,$33,$ee,$ee,$33,$ee,$ee,$ee
		defb $ee,$ee,$e3,$3e,$ee,$e3,$3e,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$e3,$33,$ee,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$ee,$e3,$33,$ee
		defb $ee,$3e,$e3,$3e,$e3,$3e,$ee,$33,$ee,$33,$ee,$3e,$ee,$ee,$ee,$ee
		defb $ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$33,$33,$33
		defb $ee,$e3,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$3e,$ee,$ee,$e3,$33,$ee,$33,$33,$ee,$e3,$33,$33,$33
		defb $e3,$3e,$ee,$33,$ee,$e3,$33,$3e,$e3,$33,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$33,$ee,$ee,$33,$ee,$ee,$ee,$ee,$33,$ee,$33,$33,$3e
		defb $ee,$ee,$e3,$3e,$ee,$e3,$33,$3e,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $ee,$ee,$33,$3e,$ee,$33,$e3,$3e,$e3,$33,$33,$33,$ee,$ee,$e3,$3e
		defb $ee,$e3,$33,$3e,$e3,$3e,$e3,$3e,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee
		defb $e3,$33,$33,$3e,$e3,$33,$33,$3e,$ee,$ee,$ee,$33,$ee,$33,$33,$3e
		defb $e3,$3e,$ee,$ee,$ee,$ee,$ee,$33,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $ee,$e3,$33,$ee,$e3,$3e,$ee,$ee,$e3,$3e,$ee,$33,$ee,$33,$33,$3e
		defb $ee,$33,$ee,$ee,$e3,$33,$33,$3e,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $e3,$33,$33,$33,$ee,$ee,$e3,$3e,$ee,$e3,$3e,$ee,$ee,$e3,$3e,$ee
		defb $e3,$3e,$ee,$33,$ee,$ee,$33,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$ee,$e3,$33,$ee,$3e,$e3,$ee,$33,$33,$ee,$33,$33,$3e
		defb $e3,$3e,$ee,$3e,$ee,$33,$33,$ee,$e3,$ee,$ee,$33,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$3e,$e3,$3e,$ee,$33,$ee,$ee,$ee,$33,$ee,$33,$33,$ee
		defb $e3,$3e,$ee,$33,$ee,$33,$33,$33,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee
		defb $ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee,$ee,$33,$3e,$ee,$ee,$33,$ee,$ee
		defb $ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$33,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$ee,$33,$ee
		defb $ee,$e3,$3e,$ee,$e3,$3e,$ee,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$e3,$33,$33,$3e,$e3,$33,$33,$3e,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$ee,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$33,$ee,$ee
		defb $ee,$e3,$3e,$ee,$ee,$ee,$e3,$3e,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $e3,$33,$33,$ee,$ee,$ee,$e3,$3e,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee
		defb $33,$ee,$e3,$3e,$ee,$e3,$33,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$3e,$e3,$3e,$33,$33,$e3,$3e,$33,$33,$ee,$33,$33,$ee
		defb $e3,$3e,$ee,$33,$e3,$3e,$33,$33,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$e3,$33,$ee,$e3,$3e,$ee,$33,$e3,$33,$33,$33,$e3,$3e,$ee,$33
		defb $ee,$33,$e3,$3e,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $e3,$33,$33,$3e,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$e3,$33,$33,$3e
		defb $e3,$3e,$ee,$33,$e3,$33,$33,$3e,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $ee,$e3,$33,$3e,$e3,$3e,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$e3,$33,$3e
		defb $ee,$33,$ee,$33,$e3,$3e,$ee,$ee,$ee,$33,$ee,$33,$ee,$ee,$ee,$ee
		defb $e3,$33,$33,$ee,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$e3,$33,$33,$ee
		defb $e3,$3e,$e3,$3e,$e3,$3e,$ee,$33,$e3,$3e,$e3,$3e,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$33,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$33,$33
		defb $ee,$33,$ee,$ee,$ee,$33,$33,$3e,$ee,$33,$ee,$ee,$ee,$ee,$ee,$ee
		defb $e3,$33,$33,$33,$e3,$3e,$ee,$ee,$e3,$3e,$ee,$ee,$e3,$3e,$ee,$ee
		defb $e3,$3e,$ee,$ee,$e3,$33,$33,$3e,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$e3,$33,$33,$e3,$3e,$ee,$ee,$e3,$3e,$ee,$33,$ee,$e3,$33,$33
		defb $ee,$33,$ee,$ee,$e3,$3e,$e3,$33,$ee,$33,$ee,$33,$ee,$ee,$ee,$ee
		defb $e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33
		defb $e3,$3e,$ee,$33,$e3,$33,$33,$33,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$33,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$33,$33,$33
		defb $ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$33,$33,$3e
		defb $ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $e3,$3e,$ee,$33,$e3,$3e,$33,$ee,$e3,$33,$33,$ee,$e3,$3e,$e3,$33
		defb $e3,$3e,$e3,$3e,$e3,$33,$3e,$ee,$e3,$3e,$33,$3e,$ee,$ee,$ee,$ee
		defb $ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$33,$33
		defb $ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$ee,$ee,$ee
		defb $e3,$3e,$ee,$33,$e3,$33,$33,$33,$e3,$3e,$3e,$33,$e3,$3e,$ee,$33
		defb $e3,$33,$e3,$33,$e3,$33,$33,$33,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $e3,$3e,$ee,$33,$e3,$33,$3e,$33,$e3,$3e,$33,$33,$e3,$3e,$ee,$33
		defb $e3,$33,$ee,$33,$e3,$33,$33,$33,$e3,$3e,$e3,$33,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$3e,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$ee,$33,$33,$3e
		defb $e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $e3,$33,$33,$3e,$e3,$3e,$ee,$33,$e3,$33,$33,$3e,$e3,$3e,$ee,$ee
		defb $e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$3e,$e3,$3e,$ee,$33,$e3,$3e,$33,$33,$ee,$33,$33,$e3
		defb $e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$e3,$3e,$e3,$3e,$ee,$ee,$ee,$ee
		defb $e3,$33,$33,$3e,$e3,$3e,$ee,$33,$e3,$33,$33,$ee,$e3,$3e,$e3,$33
		defb $e3,$3e,$ee,$33,$e3,$3e,$e3,$33,$e3,$3e,$33,$3e,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$33,$ee,$33,$33,$3e
		defb $e3,$3e,$e3,$3e,$ee,$33,$33,$3e,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$33,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee
		defb $ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee,$ee,$ee,$ee,$ee
		defb $e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$ee,$33,$33,$3e
		defb $e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$ee,$ee,$ee,$ee
		defb $e3,$3e,$ee,$33,$e3,$3e,$ee,$33,$ee,$33,$33,$3e,$ee,$ee,$3e,$ee
		defb $e3,$3e,$ee,$33,$e3,$33,$e3,$33,$ee,$e3,$33,$ee,$ee,$ee,$ee,$ee
		defb $e3,$3e,$ee,$33,$e3,$3e,$3e,$33,$e3,$33,$33,$33,$e3,$3e,$ee,$33
		defb $e3,$3e,$ee,$33,$e3,$33,$33,$33,$e3,$33,$e3,$33,$ee,$ee,$ee,$ee
		defb $e3,$3e,$ee,$33,$ee,$33,$33,$3e,$ee,$33,$33,$3e,$e3,$3e,$ee,$33
		defb $e3,$33,$e3,$33,$ee,$e3,$33,$ee,$e3,$33,$e3,$33,$ee,$ee,$ee,$ee
		defb $ee,$33,$ee,$33,$ee,$33,$ee,$33,$ee,$ee,$33,$ee,$ee,$ee,$33,$ee
		defb $ee,$33,$ee,$33,$ee,$e3,$33,$3e,$ee,$ee,$33,$ee,$ee,$ee,$ee,$ee
		defb $e3,$33,$33,$33,$ee,$ee,$33,$3e,$ee,$33,$3e,$ee,$e3,$33,$33,$33
		defb $ee,$ee,$e3,$33,$ee,$e3,$33,$ee,$e3,$33,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$33,$33,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$33,$33,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$e3,$33,$33,$33,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$e3,$33,$33,$33,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee
		defb $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee
		defb $ee,$e3,$3e,$ee,$ee,$33,$33,$ee,$ee,$e3,$3e,$ee,$ee,$e3,$3e,$ee
		defb $ee,$33,$33,$ee,$ee,$e3,$3e,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
		defb $ee,$33,$33,$ee,$3e,$e3,$33,$e3,$3e,$3e,$ee,$e3,$e3,$ee,$ee,$3e
		defb $e3,$ee,$ee,$3e,$3e,$3e,$ee,$e3,$3e,$e3,$33,$e3,$ee,$33,$33,$ee
#line 194
__LABEL__bin01end:
	jp __LABEL__bin01paletteend
__LABEL__bin01palette:
#line 2
		defw $000,$000,$200,$422,$442,$444,$644,$942,$944,$664,$966,$b64,$b96,$b99,$bbb,$db9
#line 3
__LABEL__bin01paletteend:
	ld hl, 0
	ld (_ee1x), hl
	jp __LABEL0
__LABEL4:
	ld hl, (_ee1x)
	add hl, hl
	ex de, hl
	ld hl, __LABEL__bin01palette
	add hl, de
	ld a, (hl)
	inc hl
	ld h, (hl)
	ld l, a
	push hl
	ld hl, (_ee1x)
	push hl
	call _msxpalettehx
__LABEL5:
	ld hl, (_ee1x)
	inc hl
	ld (_ee1x), hl
__LABEL0:
	ld hl, 15
	ld de, (_ee1x)
	or a
	sbc hl, de
	jp nc, __LABEL4
__LABEL3:
	ld a, 2
	push af
	ld a, 12
	push af
	ld a, 11
	push af
	call _msxcolor
	xor a
	push af
	xor a
	push af
	xor a
	push af
	ld a, 7
	call _msxscreen
#line 73
		ld a, ($ffe8)
		or %00001100
		ld b,a
		ld c,9
		call $0047
		ld b,63
		ld c,2
		call $0047
#line 81
	ld hl, 49152
	ld (_ee1x), hl
	jp __LABEL6
__LABEL10:
	xor a
	ld hl, (_ee1x)
	ld (hl), a
__LABEL11:
	ld hl, (_ee1x)
	inc hl
	ld (_ee1x), hl
__LABEL6:
	ld hl, 53248
	ld de, (_ee1x)
	or a
	sbc hl, de
	jp nc, __LABEL10
__LABEL9:
__LABEL__loopmain:
	ld hl, 0
	ld (_ee1x), hl
	jp __LABEL12
__LABEL16:
	xor a
	ld (64246), a
	ld hl, (_ee1x)
	push hl
	ld hl, 256
	push hl
	ld hl, 205
	push hl
	call _msx2filvrm
	ld a, 1
	ld (64246), a
	ld hl, (_ee1x)
	push hl
	ld hl, 256
	push hl
	ld hl, 220
	push hl
	call _msx2filvrm
__LABEL17:
	ld hl, (_ee1x)
	ld de, 256
	add hl, de
	ld (_ee1x), hl
__LABEL12:
	ld hl, 54271
	ld de, (_ee1x)
	or a
	sbc hl, de
	jp nc, __LABEL16
__LABEL15:
	ld hl, __LABEL__bin01
	push hl
	ld hl, 25
	push hl
	ld hl, __LABEL__text01
	push hl
	ld hl, 45
	push hl
	ld hl, 3
	push hl
	call _write8x8lacedtext
	ld hl, __LABEL__bin01
	push hl
	ld hl, 25
	push hl
	ld hl, __LABEL__text02
	push hl
	ld hl, 46
	push hl
	ld hl, 3
	push hl
	call _write8x8lacedtext
	ld hl, __LABEL__bin01
	push hl
	ld hl, 14
	push hl
	ld hl, __LABEL__text03
	push hl
	ld hl, 48
	push hl
	ld hl, 3
	push hl
	call _write8x8lacedtext
__LABEL__looptitlekbchk:
	ld a, 255
	ld (_keyband), a
	ld hl, 0
	ld (_ee1x), hl
	jp __LABEL18
__LABEL22:
	ld hl, (_ee1x)
	ld a, l
	call _msxsnsmat
	ld h, a
	ld a, (_keyband)
	and h
	ld (_keyband), a
__LABEL23:
	ld hl, (_ee1x)
	inc hl
	ld (_ee1x), hl
__LABEL18:
	ld hl, 8
	ld de, (_ee1x)
	or a
	sbc hl, de
	jp nc, __LABEL22
__LABEL21:
	ld a, (_keyband)
	sub 255
	sub 1
	jp nc, __LABEL25
	jp __LABEL__looptitlekbchk
__LABEL25:
	xor a
	ld (_gameover), a
	ld hl, 0
	ld (_ee1x), hl
	jp __LABEL26
__LABEL30:
	xor a
	ld (64246), a
	ld hl, (_ee1x)
	push hl
	ld hl, 256
	push hl
	ld hl, 205
	push hl
	call _msx2filvrm
	ld a, 1
	ld (64246), a
	ld hl, (_ee1x)
	push hl
	ld hl, 256
	push hl
	ld hl, 220
	push hl
	call _msx2filvrm
__LABEL31:
	ld hl, (_ee1x)
	ld de, 256
	add hl, de
	ld (_ee1x), hl
__LABEL26:
	ld hl, 54271
	ld de, (_ee1x)
	or a
	sbc hl, de
	jp nc, __LABEL30
__LABEL29:
	xor a
	ld (_colisn), a
	ld hl, 12
	ld (_snklndc), hl
	xor a
	ld (_ccur), a
	xor a
	ld (_colisn), a
	ld hl, 8
	ld (_snkln), hl
	ld hl, 12
	ld (_snklndc), hl
	ld hl, 0
	ld (_rompos), hl
	ld a, 12
	ld (_xpos), a
	ld a, 14
	ld (_ypos), a
	ld a, 1
	ld (_xdir), a
	xor a
	ld (_ydir), a
	ld hl, (_eesd)
	call _msxrnd
	ld (_eesd), hl
	ld de, 58
	call __MODU16
	inc hl
	inc hl
	inc hl
	ld (_xntz), hl
	ld hl, (_eesd)
	call _msxrnd
	ld (_eesd), hl
	ld de, 49
	call __MODU16
	inc hl
	inc hl
	ld (_yntz), hl
	ld hl, 49152
	ld (_ee1x), hl
	jp __LABEL32
__LABEL36:
	xor a
	ld hl, (_ee1x)
	ld (hl), a
__LABEL37:
	ld hl, (_ee1x)
	inc hl
	ld (_ee1x), hl
__LABEL32:
	ld hl, 57344
	ld de, (_ee1x)
	or a
	sbc hl, de
	jp nc, __LABEL36
__LABEL35:
	ld hl, 49152
	ld (_ee1x), hl
	jp __LABEL38
__LABEL42:
	ld a, 65
	ld hl, (_ee1x)
	ld (hl), a
__LABEL43:
	ld hl, (_ee1x)
	inc hl
	ld (_ee1x), hl
__LABEL38:
	ld hl, 52543
	ld de, (_ee1x)
	or a
	sbc hl, de
	jp nc, __LABEL42
__LABEL41:
__LABEL__loopgame:
	ld a, 8
	call _msxsnsmat
	ld (_keybbf), a
	ld h, 128
	ld a, (_keybbf)
	and h
	sub 1
	sbc a, a
	push af
	ld a, (_ydir)
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL45
	ld a, 1
	ld (_xdir), a
	xor a
	ld (_ydir), a
__LABEL45:
	ld h, 16
	ld a, (_keybbf)
	and h
	sub 1
	sbc a, a
	push af
	ld a, (_ydir)
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL47
	ld a, 255
	ld (_xdir), a
	xor a
	ld (_ydir), a
__LABEL47:
	ld h, 64
	ld a, (_keybbf)
	and h
	sub 1
	sbc a, a
	push af
	ld a, (_xdir)
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL49
	xor a
	ld (_xdir), a
	ld a, 1
	ld (_ydir), a
__LABEL49:
	ld h, 32
	ld a, (_keybbf)
	and h
	sub 1
	sbc a, a
	push af
	ld a, (_xdir)
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL51
	xor a
	ld (_xdir), a
	ld a, 255
	ld (_ydir), a
__LABEL51:
	ld a, (_keybbf)
	ld l, a
	ld h, 0
	ex de, hl
	ld hl, (_eesd)
	call __BXOR16
	call _msxrnd
	ld (_eesd), hl
	ld hl, (_xpos - 1)
	ld a, (_xdir)
	add a, h
	ld (_xpos), a
	ld hl, (_ypos - 1)
	ld a, (_ydir)
	add a, h
	ld (_ypos), a
	ld a, (_xpos)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld hl, (_xntz)
	ex de, hl
	pop hl
	call __EQ16
	push af
	ld a, (_ypos)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld hl, (_yntz)
	ex de, hl
	pop hl
	call __EQ16
	ld h, a
	pop af
	call __AND8
	or a
	jp z, __LABEL53
	ld hl, (_eesd)
	call _msxrnd
	ld (_eesd), hl
	ld de, 58
	call __MODU16
	inc hl
	inc hl
	inc hl
	ld (_xntz), hl
	ld hl, (_eesd)
	call _msxrnd
	ld (_eesd), hl
	ld de, 49
	call __MODU16
	inc hl
	inc hl
	ld (_yntz), hl
	ld hl, (_snkln)
	inc hl
	ld (_snkln), hl
__LABEL53:
	ld a, (_ypos)
	add a, a
	jp nc, __LABEL55
	ld a, 52
	ld (_ypos), a
__LABEL55:
	ld a, (_xpos)
	add a, a
	jp nc, __LABEL57
	ld a, 63
	ld (_xpos), a
__LABEL57:
	ld a, 52
	ld hl, (_ypos - 1)
	sub h
	add a, a
	jp nc, __LABEL59
	xor a
	ld (_ypos), a
__LABEL59:
	ld a, 63
	ld hl, (_xpos - 1)
	sub h
	add a, a
	jp nc, __LABEL61
	xor a
	ld (_xpos), a
__LABEL61:
	ld hl, 60413
	ld (_eelp), hl
	jp __LABEL62
__LABEL66:
	ld hl, (_eelp)
	inc hl
	inc hl
	ld a, (hl)
	inc hl
	ld h, (hl)
	ld l, a
	ex de, hl
	ld hl, (_eelp)
	ld (hl), e
	inc hl
	ld (hl), d
__LABEL67:
	ld hl, (_eelp)
	inc hl
	inc hl
	ld (_eelp), hl
__LABEL62:
	ld hl, 61437
	ld de, (_eelp)
	or a
	sbc hl, de
	jp nc, __LABEL66
__LABEL65:
	ld a, (_xpos)
	ld (61438), a
	ld a, (_ypos)
	ld (61439), a
	ld hl, 49152
	push hl
	ld a, (_ypos)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xpos)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _peekmap
	sub 67
	sub 1
	jp nc, __LABEL69
	ld a, 1
	ld (_gameover), a
__LABEL69:
	ld a, (_ccur)
	inc a
	push af
	ld h, 15
	pop af
	and h
	ld (_ccur), a
	ld hl, __LABEL__bin01
	push hl
	ld a, (_ccur)
	ld l, a
	ld h, 0
	push hl
	ld a, (_ypos)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xpos)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _put8x8charlaced
	ld hl, 49152
	push hl
	ld a, 67
	push af
	ld a, (_ypos)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	ld a, (_xpos)
	ld l, a
	add a, a
	sbc a, a
	ld h, a
	push hl
	call _pokemap
	ld hl, __LABEL__bin01
	push hl
	ld hl, 32
	push hl
	ld hl, (_snkln)
	add hl, hl
	ex de, hl
	ld hl, 61439
	or a
	sbc hl, de
	ld b, h
	ld c, l
	ld a, (bc)
	ld l, a
	ld h, 0
	push hl
	ld hl, (_snkln)
	add hl, hl
	ex de, hl
	ld hl, 61438
	or a
	sbc hl, de
	ld b, h
	ld c, l
	ld a, (bc)
	ld l, a
	ld h, 0
	push hl
	call _put8x8charlaced
	ld hl, 49152
	push hl
	ld a, 66
	push af
	ld hl, (_snkln)
	add hl, hl
	ex de, hl
	ld hl, 61439
	or a
	sbc hl, de
	ld b, h
	ld c, l
	ld a, (bc)
	ld l, a
	ld h, 0
	push hl
	ld hl, (_snkln)
	add hl, hl
	ex de, hl
	ld hl, 61438
	or a
	sbc hl, de
	ld b, h
	ld c, l
	ld a, (bc)
	ld l, a
	ld h, 0
	push hl
	call _pokemap
	ld hl, __LABEL__bin01
	push hl
	ld a, (_ccur)
	ld l, a
	ld h, 0
	push hl
	ld hl, (_yntz)
	push hl
	ld hl, (_xntz)
	push hl
	call _put8x8charlaced
#line 202
		halt
#line 203
	ld a, (_gameover)
	sub 1
	jp nc, __LABEL71
	jp __LABEL__loopgame
__LABEL71:
	ld hl, 1
	ld (_ee1x), hl
	jp __LABEL72
__LABEL76:
#line 211
		halt
#line 212
__LABEL77:
	ld hl, (_ee1x)
	inc hl
	ld (_ee1x), hl
__LABEL72:
	ld hl, 50
	ld de, (_ee1x)
	or a
	sbc hl, de
	jp nc, __LABEL76
__LABEL75:
	jp __LABEL__loopmain
__LABEL__text01:
#line 221
		defb " JUST ANOTHER SNAKE GAME "
#line 222
__LABEL__text01end:
__LABEL__text02:
#line 226
		defb " PAULO SILVA, OCT-DEC'13 "
#line 227
__LABEL__text02end:
__LABEL__text03:
#line 231
		defb " PUSH ANY KEY "
#line 232
__LABEL__text03end:
	ld hl, 0
	ld b, h
	ld c, l
__END_PROGRAM:
	di
	ld hl, (__CALL_BACK__)
	ld sp, hl
	exx
	pop hl
	exx
	pop iy
	pop ix
	ei
	ret
__CALL_BACK__:
	DEFW 0
_msx2filvrm:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld a, (ix+4)
		ld b, (ix+7)
		ld c, (ix+6)
		ld h, (ix+9)
		ld l, (ix+8)
		call $016B
#line 7
_msx2filvrm__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_msx2ldirvm:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld b, (ix+5)
		ld c, (ix+4)
		ld d, (ix+7)
		ld e, (ix+6)
		ld h, (ix+9)
		ld l, (ix+8)
		call $005C
#line 8
_msx2ldirvm__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_msx1ldirvm:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld b, (ix+5)
		ld c, (ix+4)
		ld d, (ix+7)
		ld e, (ix+6)
		ld h, (ix+9)
		ld l, (ix+8)
		call $005C
#line 8
_msx1ldirvm__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_msxcolor:
	push ix
	ld ix, 0
	add ix, sp
	ld a, (ix+5)
	ld (62441), a
	ld a, (ix+7)
	ld (62442), a
	ld a, (ix+9)
	ld (62443), a
_msxcolor__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_msxrnd:
#line 2
		ld  d, h
		ld  e, l
		ld  a, d
		ld  h, e
		ld  l, 253
		or  a
		sbc  hl, de
		sbc  a, 0
		sbc  hl, de
		ld  d, 0
		sbc  a, d
		ld  e, a
		sbc  hl, de
		jr  nc, smsrndloop
		inc  hl
smsrndloop:
		ret
#line 19
_msxrnd__leave:
	ret
_msxscreen:
#line 2
		call $005F
#line 3
_msxscreen__leave:
	ret
_setscreen12:
	push ix
	ld ix, 0
	add ix, sp
#line 14
		ld a,8
		call $005F
		ld b,$08
		ld c,25
		call $0047
#line 19
_setscreen12__leave:
	ld sp, ix
	pop ix
	ret
_setscreen10:
	push ix
	ld ix, 0
	add ix, sp
#line 24
		ld a,8
		call $005F
		ld b,$18
		ld c,25
		call $0047
#line 29
_setscreen10__leave:
	ld sp, ix
	pop ix
	ret
_msx2vpoke:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld h, (ix+5)
		ld l, (ix+4)
		ld a, (ix+6)
		call $0177
#line 5
_msx2vpoke__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_msx2hmmc:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+4)
	ld h, (ix+5)
	ld (62393), hl
	ld l, (ix+6)
	ld h, (ix+7)
	ld (62395), hl
	ld l, (ix+8)
	ld h, (ix+9)
	ld (62397), hl
	ld l, (ix+10)
	ld h, (ix+11)
	ld (62399), hl
#line 8
main1:
		di
		ld hl,$F3B9
		ld d, (ix+13)
		ld e, (ix+12)
		ld a,36
		out ($99),a
		ld a,17+128
		out ($99),a
		ld c,$9b
		outi
		outi
		outi
		outi
		outi
		outi
		outi
		outi
		ld a, (de)
		out ($9b),a
		ld a,$00
		out ($9b),a
		ld a,$f0
		out ($9b),a
waitvdp:
		call readstatus
		bit 0,l
		jp z,endvdp
		bit 7,l
		jp z,waitvdp
		inc de
		ld a, (de)
		out ($99),a
		ld a,128+44
		out ($99),a
		jp waitvdp
readstatus:
		ld a,2
		di
		out ($99),a
		ld a,15+128
		out ($99),a
		in a, ($99)
		ld l,a
		ld a,0
		out ($99),a
		ld a,15+128
		out ($99),a
		ret
endvdp:
		ei
#line 59
_msx2hmmc__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_msxpalette:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		di
		ld a, (ix+4)
		out ($99),a
		ld a,$90
		out ($99),a
		ld a, (ix+6)
		out ($9a),a
		ld a, (ix+7)
		out ($9a),a
		ei
#line 11
_msxpalette__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_msxpalettef:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+6)
	ld h, (ix+7)
	push hl
	ld de, 1792
	pop hl
	call __BAND16
	ld de, 16
	call __DIVU16
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	push hl
	ld de, 112
	pop hl
	call __BAND16
	ld de, 16
	call __MUL16_FAST
	ex de, hl
	pop hl
	call __BOR16
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	push hl
	ld de, 7
	pop hl
	call __BAND16
	ex de, hl
	pop hl
	call __BOR16
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	push hl
	call _msxpalette
_msxpalettef__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_msxpalettehx:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+6)
	ld h, (ix+7)
	push hl
	ld de, 3584
	pop hl
	call __BAND16
	ld de, 32
	call __DIVU16
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	push hl
	ld de, 224
	pop hl
	call __BAND16
	add hl, hl
	add hl, hl
	add hl, hl
	ex de, hl
	pop hl
	call __BOR16
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	push hl
	ld de, 14
	pop hl
	call __BAND16
	srl h
	rr l
	ex de, hl
	pop hl
	call __BOR16
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	push hl
	call _msxpalette
_msxpalettehx__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_msxsnsmat:
#line 1
		call $0141
#line 2
_msxsnsmat__leave:
	ret
_put8x8charlaced:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+10)
	ld h, (ix+11)
	push hl
	ld l, (ix+8)
	ld h, (ix+9)
	ld de, 32
	call __MUL16_FAST
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld hl, 4
	push hl
	ld hl, 8
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	add hl, hl
	add hl, hl
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	add hl, hl
	add hl, hl
	add hl, hl
	push hl
	call _msx2hmmc
	ld l, (ix+10)
	ld h, (ix+11)
	ld de, 16
	add hl, de
	push hl
	ld l, (ix+8)
	ld h, (ix+9)
	ld de, 32
	call __MUL16_FAST
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld hl, 4
	push hl
	ld hl, 8
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	add hl, hl
	add hl, hl
	ld de, 256
	add hl, de
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	add hl, hl
	add hl, hl
	add hl, hl
	push hl
	call _msx2hmmc
_put8x8charlaced__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_write8x8lacedtext:
	push ix
	ld ix, 0
	add ix, sp
	ld hl, 0
	ld (_write8x8lacedtext_tlpx), hl
	jp __LABEL78
__LABEL82:
	ld l, (ix+12)
	ld h, (ix+13)
	push hl
	ld l, (ix+8)
	ld h, (ix+9)
	push hl
	ld hl, (_write8x8lacedtext_tlpx)
	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)
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	push hl
	ld hl, (_write8x8lacedtext_tlpx)
	ex de, hl
	pop hl
	add hl, de
	push hl
	call _put8x8charlaced
__LABEL83:
	ld hl, (_write8x8lacedtext_tlpx)
	inc hl
	ld (_write8x8lacedtext_tlpx), hl
__LABEL78:
	ld hl, (_write8x8lacedtext_tlpx)
	push hl
	ld l, (ix+10)
	ld h, (ix+11)
	dec hl
	pop de
	or a
	sbc hl, de
	jp nc, __LABEL82
__LABEL81:
_write8x8lacedtext__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_pokemap:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+10)
	ld h, (ix+11)
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	ld h, 0
	ld a, l
	and 63
	ld l, a
	ld de, 64
	call __MUL16_FAST
	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 63
	ld l, a
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld a, (ix+9)
	pop hl
	ld (hl), a
_pokemap__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_peekmap:
	push ix
	ld ix, 0
	add ix, sp
	ld l, (ix+8)
	ld h, (ix+9)
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	ld h, 0
	ld a, l
	and 63
	ld l, a
	ld de, 64
	call __MUL16_FAST
	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 63
	ld l, a
	ex de, hl
	pop hl
	add hl, de
	ld b, h
	ld c, l
	ld a, (bc)
_peekmap__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
#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 1468 "justanothersnakegame.bas"
#line 1 "bxor16.asm"
; vim:ts=4:et:
	; FASTCALL bitwise xor 16 version.
	; result in Accumulator (0 False, not 0 True)
; __FASTCALL__ version (operands: A, H)
	; Performs 16bit xor 16bit and returns the boolean
; Input: HL, DE
; Output: HL <- HL XOR DE
	
__BXOR16:
		ld a, h
		xor d
	    ld h, a
	
	    ld a, l
	    xor e
	    ld l, a
	
	    ret 
	
#line 1469 "justanothersnakegame.bas"
#line 1 "bor16.asm"
; vim:ts=4:et:
	; FASTCALL bitwise or 16 version.
	; result in HL
; __FASTCALL__ version (operands: A, H)
	; Performs 16bit or 16bit and returns the boolean
; Input: HL, DE
; Output: HL <- HL OR DE
	
__BOR16:
		ld a, h
		or d
	    ld h, a
	
	    ld a, l
	    or e
	    ld l, a
	
	    ret 
	
#line 1470 "justanothersnakegame.bas"
#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 1471 "justanothersnakegame.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 1472 "justanothersnakegame.bas"
#line 1 "eq16.asm"
__EQ16:	; Test if 16bit values HL == DE
		; Returns result in A: 0 = False, FF = True
			or a	; Reset carry flag
			sbc hl, de 
	
			ld a, h
			or l
			sub 1  ; sets carry flag only if a = 0
			sbc a, a
			
			ret
	
#line 1473 "justanothersnakegame.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 1474 "justanothersnakegame.bas"
	
ZXBASIC_USER_DATA:
	_keyband EQU 57382
	_gameover EQU 57404
	_eelp EQU 57366
	_ee1y EQU 57362
	_ee1x EQU 57360
	_ee1q EQU 57364
	_xpos EQU 57378
	_write8x8lacedtext_tlpx EQU 57344
	_xntz EQU 57398
	_ypos EQU 57379
	_yntz EQU 57400
	_xdir EQU 57376
	_snklndc EQU 57394
	_ydir EQU 57377
	_eesd EQU 57396
	_rompos EQU 57368
	_colisn EQU 57381
	_ccur EQU 57380
	_snkln EQU 57392
	_keybbf EQU 57402
	; 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
