;* * * * *  Small-C/Plus z88dk * * * * *
;  Version: 18462-8d70c5a-20210624
;
;	Reconstructed for z80 Module Assembler
;
;	Module compile time: Mon Oct 11 09:01:29 2021


	C_LINE	0,"mk1.c"

	MODULE	mk1_c


	INCLUDE "z80_crt0.hdr"


	C_LINE	0,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	4,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	5,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	6,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	7,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	8,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	9,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	10,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	11,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	12,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	13,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	14,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	15,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	16,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	17,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	18,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	19,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	20,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	21,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	22,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	23,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	24,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	25,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	26,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	27,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	28,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	29,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	30,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	31,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	32,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	33,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	34,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	35,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	36,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	37,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	38,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	39,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	40,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	41,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	42,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	43,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	44,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	45,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	46,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	47,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	48,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	49,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	50,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	51,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	52,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	53,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	54,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	55,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	56,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	57,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	58,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	59,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	60,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	61,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	62,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	63,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	64,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	65,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	66,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	67,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	68,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	69,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	70,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	71,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	72,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	73,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	74,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	75,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	76,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	77,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	78,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	79,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	80,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	81,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	82,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	83,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	84,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	85,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	86,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	87,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	88,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	89,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	90,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	91,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	92,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	93,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	94,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	95,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	96,"c:\z88dk\Lib\Config\\..\..\/include/cpcrslib.h"
	C_LINE	6,"mk1.c"
	C_LINE	10,"mk1.c"
		XREF _nametable
		LIB cpc_KeysData
		LIB cpc_UpdTileTable
		LIB cpc_InvalidateRect
	C_LINE	0,"my/config.h"
	C_LINE	234,"my/config.h"
	C_LINE	235,"my/config.h"
	._def_keys
		defw $4404 		; LEFT     O
		defw $4308 		; RIGHT    P
		defw $4808 		; UP       Q
		defw $4820 		; DOWN     A
		defw $4580 		; BUTTON_A SPACE
		defw $4808 		; BUTTON_B Q
		defw $4204		; KEY_ENTER
		defw $4804		; KEY_ESC	
		defw $4702		; KEY_AUX1 Z
		defw $4780 		; KEY_AUX2 X
		defw $4801 		; KEY_AUX3 1
		defw $4802 		; KEY_AUX4 2
	C_LINE	356,"my/config.h"
	SECTION	data_compiler
._behs
	defb	8
	defb	0
	defb	1
	defb	0
	defb	0
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	9
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	6
	defb	8
	defb	8
	defb	8
	defb	3
	defb	5
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	8
	defb	11
	defb	12
	defb	13
	defb	14
	defb	8
	defb	10
	defb	10
	SECTION	code_compiler
	C_LINE	21,"mk1.c"
	C_LINE	0,"autodefs.h"
	C_LINE	22,"mk1.c"
	C_LINE	0,"prototypes.h"
	C_LINE	13,"prototypes.h"
	C_LINE	16,"prototypes.h"
	C_LINE	17,"prototypes.h"
	C_LINE	18,"prototypes.h"
	C_LINE	19,"prototypes.h"
	C_LINE	22,"prototypes.h"
	C_LINE	23,"prototypes.h"
	C_LINE	24,"prototypes.h"
	C_LINE	25,"prototypes.h"
	C_LINE	26,"prototypes.h"
	C_LINE	27,"prototypes.h"
	C_LINE	30,"prototypes.h"
	C_LINE	31,"prototypes.h"
	C_LINE	32,"prototypes.h"
	C_LINE	33,"prototypes.h"
	C_LINE	34,"prototypes.h"
	C_LINE	42,"prototypes.h"
	C_LINE	43,"prototypes.h"
	C_LINE	44,"prototypes.h"
	C_LINE	45,"prototypes.h"
	C_LINE	46,"prototypes.h"
	C_LINE	49,"prototypes.h"
	C_LINE	50,"prototypes.h"
	C_LINE	51,"prototypes.h"
	C_LINE	56,"prototypes.h"
	C_LINE	59,"prototypes.h"
	C_LINE	60,"prototypes.h"
	C_LINE	63,"prototypes.h"
	C_LINE	66,"prototypes.h"
	C_LINE	68,"prototypes.h"
	C_LINE	69,"prototypes.h"
	C_LINE	70,"prototypes.h"
	C_LINE	71,"prototypes.h"
	C_LINE	72,"prototypes.h"
	C_LINE	73,"prototypes.h"
	C_LINE	74,"prototypes.h"
	C_LINE	75,"prototypes.h"
	C_LINE	76,"prototypes.h"
	C_LINE	77,"prototypes.h"
	C_LINE	78,"prototypes.h"
	C_LINE	79,"prototypes.h"
	C_LINE	80,"prototypes.h"
	C_LINE	81,"prototypes.h"
	C_LINE	82,"prototypes.h"
	C_LINE	83,"prototypes.h"
	C_LINE	86,"prototypes.h"
	C_LINE	89,"prototypes.h"
	C_LINE	90,"prototypes.h"
	C_LINE	91,"prototypes.h"
	C_LINE	92,"prototypes.h"
	C_LINE	93,"prototypes.h"
	C_LINE	94,"prototypes.h"
	C_LINE	95,"prototypes.h"
	C_LINE	96,"prototypes.h"
	C_LINE	97,"prototypes.h"
	C_LINE	98,"prototypes.h"
	C_LINE	99,"prototypes.h"
	C_LINE	100,"prototypes.h"
	C_LINE	101,"prototypes.h"
	C_LINE	102,"prototypes.h"
	C_LINE	105,"prototypes.h"
	C_LINE	108,"prototypes.h"
	C_LINE	109,"prototypes.h"
	C_LINE	110,"prototypes.h"
	C_LINE	111,"prototypes.h"
	C_LINE	112,"prototypes.h"
	C_LINE	115,"prototypes.h"
	C_LINE	116,"prototypes.h"
	C_LINE	117,"prototypes.h"
	C_LINE	127,"prototypes.h"
	C_LINE	128,"prototypes.h"
	C_LINE	129,"prototypes.h"
	C_LINE	23,"mk1.c"
	C_LINE	0,"definitions.h"
	C_LINE	4,"definitions.h"
	.vpClipStruct defb  3 ,  3  + 20,  1 ,  1  + 30
	.fsClipStruct defb 0, 24, 0, 32
	C_LINE	11,"definitions.h"
	C_LINE	21,"definitions.h"
	C_LINE	38,"definitions.h"
	C_LINE	49,"definitions.h"
	C_LINE	50,"definitions.h"
	C_LINE	51,"definitions.h"
	C_LINE	52,"definitions.h"
	C_LINE	53,"definitions.h"
	C_LINE	55,"definitions.h"
	C_LINE	59,"definitions.h"
	C_LINE	60,"definitions.h"
	C_LINE	61,"definitions.h"
	C_LINE	62,"definitions.h"
	C_LINE	63,"definitions.h"
	C_LINE	100,"definitions.h"
	C_LINE	101,"definitions.h"
	C_LINE	103,"definitions.h"
	C_LINE	104,"definitions.h"
	C_LINE	105,"definitions.h"
	C_LINE	107,"definitions.h"
	C_LINE	109,"definitions.h"
	C_LINE	113,"definitions.h"
	C_LINE	114,"definitions.h"
	C_LINE	115,"definitions.h"
	C_LINE	121,"definitions.h"
	SECTION	rodata_compiler
._spacer
	defw	i_1+0
	SECTION	code_compiler
	C_LINE	123,"definitions.h"
	C_LINE	126,"definitions.h"
	C_LINE	127,"definitions.h"
	C_LINE	128,"definitions.h"
	C_LINE	129,"definitions.h"
	C_LINE	130,"definitions.h"
	C_LINE	131,"definitions.h"
	C_LINE	132,"definitions.h"
	C_LINE	133,"definitions.h"
	C_LINE	134,"definitions.h"
	C_LINE	135,"definitions.h"
	C_LINE	136,"definitions.h"
	C_LINE	137,"definitions.h"
	C_LINE	138,"definitions.h"
	C_LINE	139,"definitions.h"
	C_LINE	140,"definitions.h"
	C_LINE	141,"definitions.h"
	C_LINE	142,"definitions.h"
	C_LINE	164,"definitions.h"
	C_LINE	165,"definitions.h"
	C_LINE	166,"definitions.h"
	C_LINE	167,"definitions.h"
	C_LINE	168,"definitions.h"
	C_LINE	170,"definitions.h"
	C_LINE	179,"definitions.h"
	C_LINE	180,"definitions.h"
	C_LINE	200,"definitions.h"
	C_LINE	201,"definitions.h"
	C_LINE	202,"definitions.h"
	C_LINE	205,"definitions.h"
	SECTION	data_compiler
._warp_to_level
	defb	0
	SECTION	code_compiler
	C_LINE	207,"definitions.h"
	C_LINE	216,"definitions.h"
	C_LINE	217,"definitions.h"
	C_LINE	218,"definitions.h"
	C_LINE	219,"definitions.h"
	C_LINE	220,"definitions.h"
	C_LINE	229,"definitions.h"
	C_LINE	230,"definitions.h"
	C_LINE	232,"definitions.h"
	C_LINE	233,"definitions.h"
	C_LINE	234,"definitions.h"
	C_LINE	235,"definitions.h"
	C_LINE	236,"definitions.h"
	C_LINE	237,"definitions.h"
	C_LINE	241,"definitions.h"
	C_LINE	249,"definitions.h"
	C_LINE	251,"definitions.h"
	C_LINE	258,"definitions.h"
	C_LINE	269,"definitions.h"
	C_LINE	270,"definitions.h"
	C_LINE	272,"definitions.h"
	C_LINE	277,"definitions.h"
	C_LINE	278,"definitions.h"
	C_LINE	279,"definitions.h"
	C_LINE	280,"definitions.h"
	C_LINE	281,"definitions.h"
	C_LINE	317,"definitions.h"
	C_LINE	318,"definitions.h"
	._def_keys_joy
		defw 0x4904, 0x4908, 0x4901, 0x4902, 0x4910, 0x4920
		defw 0x4004, 0x4804, 0x4702, 0x4780, 0x4801, 0x4802
	C_LINE	326,"definitions.h"
	C_LINE	53,"mk1.c"
	C_LINE	0,"assets/ay_fx_numbers.h"
	C_LINE	64,"mk1.c"
	C_LINE	0,"aplib.h"
	C_LINE	4,"aplib.h"
	C_LINE	5,"aplib.h"
	C_LINE	11,"aplib.h"
	; aPPack decompressor
	; original source by dwedit
	; very slightly adapted by utopian
	; optimized by Metalbrain
	;hl = source
	;de = dest
	.depack		ld	ixl,128
	.apbranch1	ldi
	.aploop0	ld	ixh,1		;LWM = 0
	.aploop		call 	ap_getbit
			jr 	nc,apbranch1
			call 	ap_getbit
			jr 	nc,apbranch2
			ld 	b,0
			call 	ap_getbit
			jr 	nc,apbranch3
			ld	c,16		;get an offset
	.apget4bits	call 	ap_getbit
			rl 	c
			jr	nc,apget4bits
			jr 	nz,apbranch4
			ld 	a,b
	.apwritebyte	ld 	(de),a		;write a 0
			inc 	de
			jr	aploop0
	.apbranch4	and	a
			ex 	de,hl 		;write a previous byte (1-15 away from dest)
			sbc 	hl,bc
			ld 	a,(hl)
			add	hl,bc
			ex 	de,hl
			jr	apwritebyte
	.apbranch3	ld 	c,(hl)		;use 7 bit offset, length = 2 or 3
			inc 	hl
			rr 	c
			ret 	z		;if a zero is encountered here, it is EOF
			ld	a,2
			adc	a,b
			push 	hl
			ld	iyh,b
			ld	iyl,c
			ld 	h,d
			ld 	l,e
			sbc 	hl,bc
			ld 	c,a
			jr	ap_finishup2
	.apbranch2	call 	ap_getgamma	;use a gamma code * 256 for offset, another gamma code for length
			dec 	c
			ld	a,c
			sub	ixh
			jr 	z,ap_r0_gamma		;if gamma code is 2, use old r0 offset,
			dec 	a
			;do I even need this code?
			;bc=bc*256+(hl), lazy 16bit way
			ld 	b,a
			ld 	c,(hl)
			inc 	hl
			ld	iyh,b
			ld	iyl,c
			push 	bc
			call 	ap_getgamma
			ex 	(sp),hl		;bc = len, hl=offs
			push 	de
			ex 	de,hl
			ld	a,4
			cp	d
			jr 	nc,apskip2
			inc 	bc
			or	a
	.apskip2	ld 	hl,127
			sbc 	hl,de
			jr 	c,apskip3
			inc 	bc
			inc 	bc
	.apskip3		pop 	hl		;bc = len, de = offs, hl=junk
			push 	hl
			or 	a
	.ap_finishup	sbc 	hl,de
			pop 	de		;hl=dest-offs, bc=len, de = dest
	.ap_finishup2	ldir
			pop 	hl
			ld	ixh,b
			jr 	aploop
	.ap_r0_gamma	call 	ap_getgamma		;and a new gamma code for length
			push 	hl
			push 	de
			ex	de,hl
			ld	d,iyh
			ld	e,iyl
			jr 	ap_finishup
	.ap_getbit	ld	a,ixl
			add	a,a
			ld	ixl,a
			ret	nz
			ld	a,(hl)
			inc	hl
			rla
			ld	ixl,a
			ret
	.ap_getgamma	ld 	bc,1
	.ap_getgammaloop	call 	ap_getbit
			rl 	c
			rl 	b
			call 	ap_getbit
			jr 	c,ap_getgammaloop
			ret
	C_LINE	155,"aplib.h"

; Function unpack flags 0x00000200 __smallc 
; void unpack(unsigned int address, unsigned int destination)
; parameter 'unsigned int destination' at sp+2 size(2)
; parameter 'unsigned int address' at sp+4 size(2)
	C_LINE	155,"aplib.h::unpack::0::0"
._unpack
	ld	hl,4	;const
	call	l_gintsp	;
	ld	(_ram_address),hl
	pop	bc
	pop	hl
	push	hl
	push	bc
	ld	(_ram_destination),hl
			ld hl, (_ram_address)
			ld de, (_ram_destination)
			call depack
	ret


	C_LINE	65,"mk1.c::unpack::0::1"
	C_LINE	0,"pantallas.h::unpack::0::1"
	C_LINE	9,"pantallas.h::unpack::0::1"
	C_LINE	10,"pantallas.h::unpack::0::1"
	C_LINE	11,"pantallas.h::unpack::0::1"
	C_LINE	12,"pantallas.h::unpack::0::1"
	C_LINE	13,"pantallas.h::unpack::0::1"
	C_LINE	14,"pantallas.h::unpack::0::1"
	C_LINE	15,"pantallas.h::unpack::0::1"
		._s_title
			BINARY "../bin/titlec.bin"
		._s_marco
	C_LINE	22,"pantallas.h::unpack::0::1"
				BINARY "../bin/marcoc.bin"
	C_LINE	27,"pantallas.h::unpack::0::1"
		._s_ending
			BINARY "../bin/endingc.bin"
	C_LINE	33,"pantallas.h::unpack::0::1"
		._s_intro1
			BINARY "../bin/ini1c.bin"
	C_LINE	39,"pantallas.h::unpack::0::1"
		._s_intro2
			BINARY "../bin/ini2c.bin"
	._s_ending2
			BINARY "../bin/ending2c.bin"	
	C_LINE	50,"pantallas.h::unpack::0::1"

; Function blackout flags 0x00000200 __smallc 
; void blackout()
	C_LINE	50,"pantallas.h::blackout::0::1"
._blackout
	ld	hl,192	;const
	ld	a,l
	ld	(_rda),a
			ld  a, 0xc0
		.bo_l1
			ld  h, a
			ld  l, 0
			ld  b, a
			ld  a, (_rda)
			ld  (hl), a
			ld  a, b
			ld  d, a
			ld  e, 1
			ld  bc, 0x5ff
			ldir
			add 8
			jr  nz, bo_l1
	ret


	C_LINE	66,"mk1.c::blackout::0::2"
	C_LINE	0,"assets/pal.h::blackout::0::2"
	C_LINE	5,"assets/pal.h::blackout::0::2"
	SECTION	rodata_compiler
._my_inks
	defb	3
	defb	20
	defb	4
	defb	21
	defb	6
	defb	0
	defb	27
	defb	18
	defb	22
	defb	28
	defb	12
	defb	14
	defb	7
	defb	5
	defb	24
	defb	11
	SECTION	code_compiler
	C_LINE	67,"mk1.c::blackout::0::2"
	C_LINE	75,"mk1.c::blackout::0::2"
	C_LINE	0,"assets/tileset.h::blackout::0::2"
	C_LINE	4,"assets/tileset.h::blackout::0::2"
	C_LINE	5,"assets/tileset.h::blackout::0::2"
		XDEF tiles
	._tileset
	.tiles
	._font
		BINARY "../bin/font.bin" 	 
	._tspatterns
		BINARY "../bin/work.bin"    
	C_LINE	80,"mk1.c::blackout::0::2"
	C_LINE	83,"mk1.c::blackout::0::2"
	C_LINE	89,"mk1.c::blackout::0::2"
	C_LINE	92,"mk1.c::blackout::0::2"
	C_LINE	96,"mk1.c::blackout::0::2"
	C_LINE	97,"mk1.c::blackout::0::2"
		._hotspots defs  1  *  1  * 3
	C_LINE	0,"assets/sprites.h::blackout::0::2"
	C_LINE	8,"assets/sprites.h::blackout::0::2"
	C_LINE	9,"assets/sprites.h::blackout::0::2"
	C_LINE	11,"assets/sprites.h::blackout::0::2"
	._sprites
		BINARY "../bin/sprites.bin"
	._sprites_enems
		BINARY "../bin/cobra.bin"
		BINARY "../bin/scarabajo.bin"
	C_LINE	100,"mk1.c::blackout::0::2"
	C_LINE	0,"assets/extrasprites.h::blackout::0::2"
	C_LINE	12,"assets/extrasprites.h::blackout::0::2"
	C_LINE	15,"assets/extrasprites.h::blackout::0::2"
	C_LINE	23,"assets/extrasprites.h::blackout::0::2"
		._sprite_17_a
			BINARY "../bin/sprites_extra.bin"
	C_LINE	31,"assets/extrasprites.h::blackout::0::2"
	._sprite_18_a
		defs 96, 0
	C_LINE	101,"mk1.c::blackout::0::2"
	C_LINE	0,"my/levelset.h::blackout::0::2"
	C_LINE	21,"my/levelset.h::blackout::0::2"
	C_LINE	44,"my/levelset.h::blackout::0::2"
	C_LINE	45,"my/levelset.h::blackout::0::2"
	C_LINE	46,"my/levelset.h::blackout::0::2"
	C_LINE	47,"my/levelset.h::blackout::0::2"
	C_LINE	48,"my/levelset.h::blackout::0::2"
	C_LINE	49,"my/levelset.h::blackout::0::2"
	C_LINE	50,"my/levelset.h::blackout::0::2"
	C_LINE	51,"my/levelset.h::blackout::0::2"
	C_LINE	52,"my/levelset.h::blackout::0::2"
	C_LINE	53,"my/levelset.h::blackout::0::2"
	C_LINE	54,"my/levelset.h::blackout::0::2"
	C_LINE	55,"my/levelset.h::blackout::0::2"
	C_LINE	56,"my/levelset.h::blackout::0::2"
	C_LINE	57,"my/levelset.h::blackout::0::2"
	C_LINE	58,"my/levelset.h::blackout::0::2"
	C_LINE	59,"my/levelset.h::blackout::0::2"
	C_LINE	60,"my/levelset.h::blackout::0::2"
	C_LINE	61,"my/levelset.h::blackout::0::2"
	C_LINE	62,"my/levelset.h::blackout::0::2"
	C_LINE	63,"my/levelset.h::blackout::0::2"
	C_LINE	64,"my/levelset.h::blackout::0::2"
	C_LINE	65,"my/levelset.h::blackout::0::2"
	C_LINE	66,"my/levelset.h::blackout::0::2"
	C_LINE	67,"my/levelset.h::blackout::0::2"
	C_LINE	68,"my/levelset.h::blackout::0::2"
	C_LINE	69,"my/levelset.h::blackout::0::2"
	C_LINE	70,"my/levelset.h::blackout::0::2"
	C_LINE	71,"my/levelset.h::blackout::0::2"
	C_LINE	72,"my/levelset.h::blackout::0::2"
	C_LINE	73,"my/levelset.h::blackout::0::2"
	C_LINE	74,"my/levelset.h::blackout::0::2"
	C_LINE	75,"my/levelset.h::blackout::0::2"
	C_LINE	76,"my/levelset.h::blackout::0::2"
	C_LINE	77,"my/levelset.h::blackout::0::2"
	C_LINE	78,"my/levelset.h::blackout::0::2"
	C_LINE	79,"my/levelset.h::blackout::0::2"
	C_LINE	80,"my/levelset.h::blackout::0::2"
	C_LINE	81,"my/levelset.h::blackout::0::2"
	C_LINE	82,"my/levelset.h::blackout::0::2"
	C_LINE	83,"my/levelset.h::blackout::0::2"
	C_LINE	84,"my/levelset.h::blackout::0::2"
	C_LINE	85,"my/levelset.h::blackout::0::2"
	C_LINE	86,"my/levelset.h::blackout::0::2"
	C_LINE	87,"my/levelset.h::blackout::0::2"
	C_LINE	88,"my/levelset.h::blackout::0::2"
	C_LINE	89,"my/levelset.h::blackout::0::2"
	C_LINE	90,"my/levelset.h::blackout::0::2"
	C_LINE	91,"my/levelset.h::blackout::0::2"
	C_LINE	93,"my/levelset.h::blackout::0::2"
	._map_0
	BINARY "../bin/screen0c.bin"	
	._map_1
	BINARY "../bin/screen1c.bin"
	._map_1a
	BINARY "../bin/screen1ac.bin"		
	._map_2
	BINARY "../bin/screen2c.bin"
	._map_2a
	BINARY "../bin/screen2ac.bin"	
	._map_3
	BINARY "../bin/screen3c.bin"	
	._map_4
	BINARY "../bin/screen4c.bin"	
	._map_5
	BINARY "../bin/screen5c.bin" 
	._map_5b
	BINARY "../bin/screen5bc.bin"  
	._map_6
	BINARY "../bin/screen6c.bin"	
	._map_7
	BINARY "../bin/screen7c.bin"	
	._map_8
	BINARY "../bin/screen9c.bin"	
	._map_9
	BINARY "../bin/screen8c.bin"
	._map_10
	BINARY "../bin/screen10c.bin" 
	._map_10b
	BINARY "../bin/screen10bc.bin"  
	._map_11
	BINARY "../bin/screen11c.bin"
	._map_12
	BINARY "../bin/screen12c.bin"
	._map_13
	BINARY "../bin/screen13c.bin"
	._map_14
	BINARY "../bin/screen14c.bin"
	._map_15
	BINARY "../bin/screen15c.bin"
	._map_16
	BINARY "../bin/screen16c.bin"
	._map_17
	BINARY "../bin/screen17c.bin"
	._map_18
	BINARY "../bin/screen18c.bin"
	._map_19
	BINARY "../bin/screen19c.bin"
	._map_20
	BINARY "../bin/screen20c.bin"
	._map_20b
	BINARY "../bin/screen20bc.bin"  
	._map_21
	BINARY "../bin/screen21c.bin"
	._map_22
	BINARY "../bin/screen22c.bin"
	._map_23
	BINARY "../bin/screen23c.bin"
	._map_24
	BINARY "../bin/screen24c.bin"
	._map_25
	BINARY "../bin/screen25c.bin"
	._map_26
	BINARY "../bin/screen26c.bin"
	._map_27
	BINARY "../bin/screen27c.bin"
	._map_28
	BINARY "../bin/screen28c.bin"
	._map_29
	BINARY "../bin/screen29c.bin"
	._map_30
	BINARY "../bin/screen30c.bin"
	._map_30b
	BINARY "../bin/screen30bc.bin"  
	._map_31
	BINARY "../bin/screen31c.bin"
	._map_32
	BINARY "../bin/screen32c.bin"
	._map_33
	BINARY "../bin/screen33c.bin"
	._map_34
	BINARY "../bin/screen34c.bin"
	._map_35
	BINARY "../bin/screen35c.bin"
	._map_36
	BINARY "../bin/screen36c.bin"
	._map_37
	BINARY "../bin/screen37c.bin"
	C_LINE	190,"my/levelset.h::blackout::0::2"
	C_LINE	191,"my/levelset.h::blackout::0::2"
	C_LINE	192,"my/levelset.h::blackout::0::2"
	C_LINE	193,"my/levelset.h::blackout::0::2"
	C_LINE	194,"my/levelset.h::blackout::0::2"
	C_LINE	195,"my/levelset.h::blackout::0::2"
	C_LINE	196,"my/levelset.h::blackout::0::2"
	C_LINE	197,"my/levelset.h::blackout::0::2"
	C_LINE	198,"my/levelset.h::blackout::0::2"
	C_LINE	199,"my/levelset.h::blackout::0::2"
	C_LINE	200,"my/levelset.h::blackout::0::2"
	C_LINE	201,"my/levelset.h::blackout::0::2"
	C_LINE	202,"my/levelset.h::blackout::0::2"
	C_LINE	203,"my/levelset.h::blackout::0::2"
	C_LINE	204,"my/levelset.h::blackout::0::2"
	C_LINE	205,"my/levelset.h::blackout::0::2"
	C_LINE	206,"my/levelset.h::blackout::0::2"
	C_LINE	207,"my/levelset.h::blackout::0::2"
	C_LINE	208,"my/levelset.h::blackout::0::2"
	C_LINE	209,"my/levelset.h::blackout::0::2"
	C_LINE	210,"my/levelset.h::blackout::0::2"
	C_LINE	211,"my/levelset.h::blackout::0::2"
	C_LINE	212,"my/levelset.h::blackout::0::2"
	C_LINE	213,"my/levelset.h::blackout::0::2"
	C_LINE	214,"my/levelset.h::blackout::0::2"
	C_LINE	215,"my/levelset.h::blackout::0::2"
	C_LINE	216,"my/levelset.h::blackout::0::2"
	C_LINE	217,"my/levelset.h::blackout::0::2"
	C_LINE	218,"my/levelset.h::blackout::0::2"
	C_LINE	219,"my/levelset.h::blackout::0::2"
	C_LINE	220,"my/levelset.h::blackout::0::2"
	C_LINE	221,"my/levelset.h::blackout::0::2"
	C_LINE	222,"my/levelset.h::blackout::0::2"
	C_LINE	223,"my/levelset.h::blackout::0::2"
	C_LINE	224,"my/levelset.h::blackout::0::2"
	C_LINE	225,"my/levelset.h::blackout::0::2"
	C_LINE	226,"my/levelset.h::blackout::0::2"
	C_LINE	227,"my/levelset.h::blackout::0::2"
	C_LINE	228,"my/levelset.h::blackout::0::2"
	C_LINE	229,"my/levelset.h::blackout::0::2"
	C_LINE	231,"my/levelset.h::blackout::0::2"
	C_LINE	232,"my/levelset.h::blackout::0::2"
		._ene0
	BINARY "../bin/ene0c.bin"
		._ene1
	BINARY "../bin/ene1c.bin"
		._ene1a
	BINARY "../bin/ene1ac.bin"
		._ene2
	BINARY "../bin/ene2c.bin"
		._ene2a
	BINARY "../bin/ene2ac.bin"
		._ene3
	BINARY "../bin/ene3c.bin"
		._ene4
	BINARY "../bin/ene4c.bin"
		._ene5
	BINARY "../bin/ene5c.bin"
		._ene6
	BINARY "../bin/ene6c.bin"
		._ene7
	BINARY "../bin/ene7c.bin"
		._ene8
	BINARY "../bin/ene9c.bin"
		._ene9
	BINARY "../bin/ene8c.bin"
		._ene10
	BINARY "../bin/ene10c.bin"
		._ene11
	BINARY "../bin/ene11c.bin"
		._ene12
	BINARY "../bin/ene12c.bin"
		._ene13
	BINARY "../bin/ene13c.bin"
		._ene14
	BINARY "../bin/ene14c.bin"
		._ene15
	BINARY "../bin/ene15c.bin"
		._ene16
	BINARY "../bin/ene16c.bin"
		._ene17
	BINARY "../bin/ene17c.bin"
		._ene18
	BINARY "../bin/ene18c.bin"
		._ene19
	BINARY "../bin/ene19c.bin"
		._ene20
	BINARY "../bin/ene20c.bin"
		._ene21
	BINARY "../bin/ene21c.bin"
		._ene22
	BINARY "../bin/ene22c.bin"
		._ene23
	BINARY "../bin/ene23c.bin"
		._ene24
	BINARY "../bin/ene24c.bin"
		._ene25
	BINARY "../bin/ene25c.bin"
		._ene26
	BINARY "../bin/ene26c.bin"
		._ene27
	BINARY "../bin/ene27c.bin"
		._ene28
	BINARY "../bin/ene28c.bin"
		._ene29
	BINARY "../bin/ene29c.bin"
		._ene30
	BINARY "../bin/ene30c.bin"
		._ene31
	BINARY "../bin/ene31c.bin"
		._ene32
	BINARY "../bin/ene32c.bin"
		._ene33
	BINARY "../bin/ene33c.bin"
		._ene34
	BINARY "../bin/ene34c.bin"
		._ene35
	BINARY "../bin/ene35c.bin"
		._ene36
	BINARY "../bin/ene36c.bin"
		._ene37
	BINARY "../bin/ene37c.bin"
	._ene_bonus
	BINARY "../bin/ene_bonusc.bin"
	C_LINE	326,"my/levelset.h::blackout::0::2"
	SECTION	data_compiler
._levels
	defw	_map_0 + 0
	defw	_ene0 + 0
	defw	_map_1 + 0
	defw	_ene1 + 0
	defw	_map_1a + 0
	defw	_ene1a + 0
	defw	_map_2 + 0
	defw	_ene2 + 0
	defw	_map_2a + 0
	defw	_ene2a + 0
	defw	_map_5b + 0
	defw	_ene_bonus + 0
	defw	_map_3 + 0
	defw	_ene3 + 0
	defw	_map_4 + 0
	defw	_ene4 + 0
	defw	_map_5 + 0
	defw	_ene5 + 0
	defw	_map_6 + 0
	defw	_ene6 + 0
	defw	_map_7 + 0
	defw	_ene7 + 0
	defw	_map_8 + 0
	defw	_ene8 + 0
	defw	_map_9 + 0
	defw	_ene9 + 0
	defw	_map_10 + 0
	defw	_ene10 + 0
	defw	_map_11 + 0
	defw	_ene11 + 0
	defw	_map_12 + 0
	defw	_ene12 + 0
	defw	_map_10b + 0
	defw	_ene_bonus + 0
	defw	_map_13 + 0
	defw	_ene13 + 0
	defw	_map_14 + 0
	defw	_ene14 + 0
	defw	_map_15 + 0
	defw	_ene15 + 0
	defw	_map_16 + 0
	defw	_ene16 + 0
	defw	_map_17 + 0
	defw	_ene17 + 0
	defw	_map_18 + 0
	defw	_ene18 + 0
	defw	_map_19 + 0
	defw	_ene19 + 0
	defw	_map_20 + 0
	defw	_ene20 + 0
	defw	_map_21 + 0
	defw	_ene21 + 0
	defw	_map_22 + 0
	defw	_ene22 + 0
	defw	_map_20b + 0
	defw	_ene_bonus + 0
	defw	_map_23 + 0
	defw	_ene23 + 0
	defw	_map_24 + 0
	defw	_ene24 + 0
	defw	_map_25 + 0
	defw	_ene25 + 0
	defw	_map_26 + 0
	defw	_ene26 + 0
	defw	_map_27 + 0
	defw	_ene27 + 0
	defw	_map_28 + 0
	defw	_ene28 + 0
	defw	_map_29 + 0
	defw	_ene29 + 0
	defw	_map_30 + 0
	defw	_ene30 + 0
	defw	_map_31 + 0
	defw	_ene31 + 0
	defw	_map_32 + 0
	defw	_ene32 + 0
	defw	_map_30b + 0
	defw	_ene_bonus + 0
	defw	_map_33 + 0
	defw	_ene33 + 0
	defw	_map_34 + 0
	defw	_ene34 + 0
	defw	_map_35 + 0
	defw	_ene35 + 0
	defw	_map_36 + 0
	defw	_ene36 + 0
	defw	_map_37 + 0
	defw	_ene37 + 0
	SECTION	code_compiler
	C_LINE	103,"mk1.c::blackout::0::2"
	C_LINE	0,"assets/spriteset_mappings.h::blackout::0::2"
	C_LINE	19,"assets/spriteset_mappings.h::blackout::0::2"
	SECTION	data_compiler
._sm_invfunc
	defw	cpc_PutSpTileMap8x24 + 0
	defw	cpc_PutSpTileMap8x16 + 0
	defw	cpc_PutSpTileMap8x16 + 0
	SECTION	code_compiler
	C_LINE	29,"assets/spriteset_mappings.h::blackout::0::2"
	SECTION	data_compiler
._sm_updfunc
	defw	cpc_PutTrSp8x24TileMap2b + 0
	defw	cpc_PutTrSp8x16TileMap2b + 0
	defw	cpc_PutTrSp8x16TileMap2b + 0
	SECTION	code_compiler
	C_LINE	39,"assets/spriteset_mappings.h::blackout::0::2"
	C_LINE	40,"assets/spriteset_mappings.h::blackout::0::2"
	._sm_sprptr
		defw _sprites + 0x000, _sprites + 0x060, _sprites + 0x0C0, _sprites + 0x120  
		defw _sprites + 0x180, _sprites + 0x1E0, _sprites + 0x240, _sprites + 0x2A0  
		defw _sprites + 0x300, _sprites + 0x360, _sprites + 0x3C0, _sprites + 0x420  
		defw _sprites + 0x480, _sprites + 0x4E0, _sprites + 0x540, _sprites + 0x5A0  
		defw _sprites + 0x600, _sprites + 0x660, _sprites + 0x6C0, _sprites + 0x720  
		defw _sprites + 0x780, _sprites + 0x7E0, _sprites + 0x840, _sprites + 0x8A0, _sprite_17_a  
		defw _sprites_enems + 0x000, _sprites_enems + 0x040, _sprites_enems + 0x080, _sprites_enems + 0x0C0  
		defw _sprites_enems + 0x100, _sprites_enems + 0x140, _sprites_enems + 0x180, _sprites_enems + 0x1C0  
		defw _sprites_enems + 0x200, _sprites_enems + 0x240, _sprites_enems + 0x280, _sprites_enems + 0x2C0  
		defw _sprites_enems + 0x300, _sprites_enems + 0x340, _sprites_enems + 0x380, _sprites_enems + 0x3c0  
	C_LINE	106,"mk1.c::blackout::0::2"
	C_LINE	0,"assets/trpixlut.h::blackout::0::2"
	C_LINE	4,"assets/trpixlut.h::blackout::0::2"
	C_LINE	6,"assets/trpixlut.h::blackout::0::2"
	; LUT for transparent pixels in sprites
	; taken from CPCTelera
	._trpixlutc
		BINARY "assets/trpixlutc.bin"
	C_LINE	107,"mk1.c::blackout::0::2"
	C_LINE	0,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	6,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	7,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	10,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	11,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	13,"my/ci/extra_vars.h::blackout::0::2"
	._mus_0
	BINARY "../bin/arkos/m0.c.bin"	
	._mus_1
	BINARY "../bin/arkos/m1.c.bin"
	C_LINE	22,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._musics
	defw	_mus_0 + 0
	defw	_mus_1 + 0
	SECTION	code_compiler
	C_LINE	28,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	30,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	31,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	32,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	33,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	34,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	35,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	36,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	37,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	38,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	39,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	41,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	42,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	43,"my/ci/extra_vars.h::blackout::0::2"
	C_LINE	45,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._records_score
	defw	50000
	defw	45000
	defw	40000
	defw	35000
	defw	30000
	defw	25000
	defw	20000
	defw	15000
	defw	10000
	defw	5000
	SECTION	code_compiler
	C_LINE	51,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_0
	defm	"CANDELA"
	defb	0

	SECTION	code_compiler
	C_LINE	52,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_1
	defm	"LUCA.P"
	defb	0

	SECTION	code_compiler
	C_LINE	53,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_2
	defm	"MCKLAIN"
	defb	0

	SECTION	code_compiler
	C_LINE	54,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_3
	defm	"AIGOR"
	defb	0

	SECTION	code_compiler
	C_LINE	55,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_4
	defm	"NATHAN"
	defb	0

	SECTION	code_compiler
	C_LINE	56,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_5
	defm	"ED.VERDE"
	defb	0

	SECTION	code_compiler
	C_LINE	57,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_6
	defm	"VOLATIL"
	defb	0

	SECTION	code_compiler
	C_LINE	58,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_7
	defm	"ANTXIKO"
	defb	0

	SECTION	code_compiler
	C_LINE	59,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_8
	defm	"CARLOSPG"
	defb	0

	SECTION	code_compiler
	C_LINE	60,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_9
	defm	"ANJUEL"
	defb	0

	SECTION	code_compiler
	C_LINE	61,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	data_compiler
._record_10
	defm	"PLAYER <>"
	defb	0

	SECTION	code_compiler
	C_LINE	63,"my/ci/extra_vars.h::blackout::0::2"
	SECTION	rodata_compiler
._record_names
	defw	_record_0 + 0
	defw	_record_1 + 0
	defw	_record_2 + 0
	defw	_record_3 + 0
	defw	_record_4 + 0
	defw	_record_5 + 0
	defw	_record_6 + 0
	defw	_record_7 + 0
	defw	_record_8 + 0
	defw	_record_9 + 0
	defw	_record_10 + 0
	SECTION	code_compiler
	C_LINE	109,"mk1.c::blackout::0::2"
	C_LINE	0,"printer.h::blackout::0::2"
	C_LINE	6,"printer.h::blackout::0::2"

; Function attr flags 0x00000200 __smallc 
; unsigned char attr(unsigned char x, unsigned char y)
; parameter 'unsigned char y' at sp+2 size(1)
; parameter 'unsigned char x' at sp+4 size(1)
	C_LINE	6,"printer.h::attr::0::2"
._attr
	ld	hl,4	;const
	add	hl,sp
	ld	l,(hl)
	ld	h,0
	ld	a,l
	sub	15
	ccf
	jp	c,i_24	;
	ld	hl,2	;const
	add	hl,sp
	ld	l,(hl)
	ld	h,0
	ld	a,l
	sub	10
	ccf
	jp	nc,i_23	;
.i_24
	ld	hl,0	;const
	ret


.i_23
	ld	hl,_map_attr
	push	hl
	ld	hl,6	;const
	add	hl,sp
	ld	l,(hl)
	ld	h,0
	push	hl
	ld	hl,6	;const
	add	hl,sp
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ex	de,hl
	ld	hl,4	;const
	add	hl,sp
	ld	l,(hl)
	ld	h,0
	ex	de,hl
	and	a
	sbc	hl,de
	pop	de
	add	hl,de
	ld	l,(hl)
	ld	h,0
	ret


	C_LINE	11,"printer.h::attr::0::3"

; Function qtile flags 0x00000200 __smallc 
; unsigned char qtile(unsigned char x, unsigned char y)
; parameter 'unsigned char y' at sp+2 size(1)
; parameter 'unsigned char x' at sp+4 size(1)
	C_LINE	11,"printer.h::qtile::0::3"
._qtile
	ld	hl,_map_buff
	push	hl
	ld	hl,6	;const
	add	hl,sp
	ld	l,(hl)
	ld	h,0
	push	hl
	ld	hl,6	;const
	add	hl,sp
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ex	de,hl
	ld	hl,4	;const
	add	hl,sp
	ld	l,(hl)
	ld	h,0
	ex	de,hl
	and	a
	sbc	hl,de
	pop	de
	add	hl,de
	ld	l,(hl)
	ld	h,0
	ret


	C_LINE	57,"printer.h::qtile::0::4"

; Function _tile_address flags 0x00000200 __smallc 
; void _tile_address()
	C_LINE	57,"printer.h::_tile_address::0::4"
.__tile_address
			ld  a, (__y)
			add a, a	; 2		4
			add a, a	; 4		4
			add a, a	; 8		4
			ld  h, 0	;		2
			ld  l, a 	;		4
			add hl, hl  ; 16	11
			add hl, hl  ; 32	11
			;					44 t-states
			; HL = _y * 32
			ld 	a, (__x)
			ld 	e, a 
			ld 	d, 0
			add hl, de
			; HL = _y * 32 + _x
			ld  de, _nametable
			add hl, de
			ex  de, hl
			; DE = buffer address
	ret


	C_LINE	90,"printer.h::_tile_address::0::5"

; Function draw_coloured_tile flags 0x00000200 __smallc 
; void draw_coloured_tile()
	C_LINE	90,"printer.h::draw_coloured_tile::0::5"
._draw_coloured_tile
				call __tile_address	; DE = buffer address
				ex de, hl
				ld  a, (__t)
				sla a
				sla a 				 
				add 64 				 
				ld  (hl), a
				inc hl
				inc a
				ld  (hl), a
				ld  bc, 31
				add hl, bc
				inc a
				ld  (hl), a
				inc hl
				inc a
				ld  (hl), a
	ret


	C_LINE	373,"printer.h::draw_coloured_tile::0::6"

; Function invalidate_tile flags 0x00000200 __smallc 
; void invalidate_tile()
	C_LINE	373,"printer.h::invalidate_tile::0::6"
._invalidate_tile
			ld  a, (__x)
			ld  e, a
			ld  a, (__y)
			ld  d, a
			call cpc_UpdTileTable
			inc e
			call cpc_UpdTileTable
			dec e
			inc d
			call cpc_UpdTileTable
			inc e
			call cpc_UpdTileTable
	ret


	C_LINE	393,"printer.h::invalidate_tile::0::7"

; Function invalidate_viewport flags 0x00000200 __smallc 
; void invalidate_viewport()
	C_LINE	393,"printer.h::invalidate_viewport::0::7"
._invalidate_viewport
			ld  B,  3 
			ld  C,  1 
			ld  D,  3 +19
			ld  E,  1 +29
			call cpc_InvalidateRect
	ret


	C_LINE	405,"printer.h::invalidate_viewport::0::8"

; Function draw_invalidate_coloured_tile_gamearea flags 0x00000200 __smallc 
; void draw_invalidate_coloured_tile_gamearea()
	C_LINE	405,"printer.h::draw_invalidate_coloured_tile_gamearea::0::8"
._draw_invalidate_coloured_tile_gamearea
	call	_draw_coloured_tile_gamearea
	call	_invalidate_tile
	ret


	C_LINE	410,"printer.h::draw_invalidate_coloured_tile_gamearea::0::9"

; Function draw_coloured_tile_gamearea flags 0x00000200 __smallc 
; void draw_coloured_tile_gamearea()
	C_LINE	410,"printer.h::draw_coloured_tile_gamearea::0::9"
._draw_coloured_tile_gamearea
	ld	hl,(__x)
	ld	h,0
	add	hl,hl
	inc	hl
	ld	a,l
	ld	(__x),a
	ld	hl,(__y)
	ld	h,0
	add	hl,hl
	inc	hl
	inc	hl
	inc	hl
	ld	h,0
	ld	a,l
	ld	(__y),a
	call	_draw_coloured_tile
	ret


	C_LINE	414,"printer.h::draw_coloured_tile_gamearea::0::10"

; Function draw_decorations flags 0x00000200 __smallc 
; void draw_decorations()
	C_LINE	414,"printer.h::draw_decorations::0::10"
._draw_decorations
			ld  hl, (__gp_gen)
		._draw_decorations_loop
			ld  a, (hl)
			cp  0xff
			ret z
			ld  a, (hl)
			inc hl
			ld  c, a
			and 0x0f
			ld  (__y), a
			ld  a, c
			srl a
			srl a
			srl a
			srl a
			ld  (__x), a
			ld  a, (hl)
			inc hl
			ld  (__t), a
			push hl
			ld  b, 0
			ld  c, a
			ld  hl, _behs
			add hl, bc
			ld  a, (hl)
			ld  (__n), a
			call _update_tile
			pop hl
			jr  _draw_decorations_loop
	ret


	C_LINE	458,"printer.h::draw_decorations::0::11"
	SECTION	data_compiler
._utaux
	defb	0
	SECTION	code_compiler
	C_LINE	459,"printer.h::draw_decorations::0::11"

; Function update_tile flags 0x00000200 __smallc 
; void update_tile()
	C_LINE	459,"printer.h::update_tile::0::11"
._update_tile
		ld  a, (__x)
		ld  c, a
		ld  a, (__y)
		ld  b, a
		sla a 
		sla a 
		sla a 
		sla a 
		sub b
		add c
		ld  b, 0
		ld  c, a
		ld  hl, _map_attr
		add hl, bc
		ld  a, (__n)
		ld  (hl), a
		ld  hl, _map_buff
		add hl, bc
		ld  a, (__t)
		ld  (hl), a
		call _draw_coloured_tile_gamearea
		ld  a, (_is_rendering)
		or  a
		ret nz
		call _invalidate_tile
	ret


	C_LINE	501,"printer.h::update_tile::0::12"

; Function print_number2 flags 0x00000200 __smallc 
; void print_number2()
	C_LINE	501,"printer.h::print_number2::0::12"
._print_number2
	ld	hl,(__t)
	ld	h,0
	ld	de,10
	ex	de,hl
	call	l_div_u
	ld	bc,16
	add	hl,bc
	ld	a,l
	ld	(_rda),a
	ld	hl,(__t)
	ld	h,0
	ld	de,10
	ex	de,hl
	call	l_div_u
	ex	de,hl
	ld	bc,16
	add	hl,bc
	ld	h,0
	ld	a,l
	ld	(_rdb),a
			call __tile_address	; DE = buffer address
			ld  a, (_rda)
			ld  (de), a
			inc de
			ld  a, (_rdb)
			ld  (de), a
			ld  a, (__x)
			ld  e, a
			ld  a, (__y)
			ld  d, a
			call cpc_UpdTileTable
			inc e
			call cpc_UpdTileTable
	ret


	C_LINE	588,"printer.h::print_number2::0::13"

; Function print_str flags 0x00000200 __smallc 
; void print_str()
	C_LINE	588,"printer.h::print_str::0::13"
._print_str
			xor a 
			ld  (_rdn), a 		; Strlen
			call __tile_address	; DE = buffer address
			ld  hl, (__gp_gen)
		.print_str_loop
			ld  a, (hl)
			or  a
			jr  z, print_str_inv 
			sub 32
			ld  (de), a
			inc hl
			inc de 
			ld  a, (_rdn)
			inc a
			ld  (_rdn), a
			jr  print_str_loop
		.print_str_inv
			; Invalidate cells based upon strlen.
			ld  a, (__y)
			ld  b, a
			ld  d, a
			ld  a, (__x)
			ld  c, a
			ld  a, (_rdn)
			add c
			dec a
			ld  e, a
			call cpc_InvalidateRect
	ret


	C_LINE	642,"printer.h::print_str::0::14"

; Function clear_sprites flags 0x00000200 __smallc 
; void clear_sprites()
	C_LINE	642,"printer.h::clear_sprites::0::14"
._clear_sprites
	ld a, 0
	ld (__t), a
	ld (__x), a
	ld (__y), a
	call _update_tile
	ld a, 0
	ld (__x), a
	xor	a
	ld	(_enit),a
	jp	i_29	;EOS
.i_27
	ld	hl,_enit
	ld	a,(hl)
	inc	(hl)
.i_29
	ld	a,(_enit)
	sub	4
	jp	nc,i_28	;
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ex	de,hl
	ld	hl,_sprite_18_a
	call	l_pint
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,8
	add	hl,bc
	ld	(hl),0
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,9
	add	hl,bc
	ld	(hl),16
	ld	hl,(_enit)
	ld	h,0
	ld	bc,17
	add	hl,bc
	ld	a,l
	ld	(__y),a
	ld	hl,i_1+11
	ld	(__gp_gen),hl
	call	_print_str
	jp	i_27	;EOS
.i_28
	ld	hl,1	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ret


	C_LINE	666,"printer.h::clear_sprites::0::16"

; Function pal_set flags 0x00000200 __smallc 
; void pal_set(unsigned char * pal)
; parameter 'unsigned char * pal' at sp+2 size(2)
	C_LINE	666,"printer.h::pal_set::0::16"
._pal_set
	ld	a,16
	ld	(_gpit),a
.i_30
	ld	hl,_gpit
	ld	a,(hl)
	dec	(hl)
	and	a
	jp	z,i_31	;
	ld	hl,(_gpit)
	ld	h,0
	push	hl
	ld	hl,4	;const
	add	hl,sp
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	ld	hl,(_gpit)
	ld	h,0
	add	hl,de
	ld	l,(hl)
	ld	h,0
	push	hl
	call	cpc_SetColour
	pop	bc
	pop	bc
	jp	i_30	;EOS
.i_31
	ret


	C_LINE	111,"mk1.c::pal_set::0::17"
	C_LINE	0,"engine/update.h::pal_set::0::17"
	C_LINE	9,"engine/update.h::pal_set::0::17"

; Function cpc_UpdateNow flags 0x00000200 __smallc 
; void cpc_UpdateNow(unsigned char sprites)
; parameter 'unsigned char sprites' at sp+2 size(1)
	C_LINE	9,"engine/update.h::cpc_UpdateNow::0::17"
._cpc_UpdateNow
	ld	hl,2	;const
	add	hl,sp
	ld	l,(hl)
	ld	a,l
	and	a
	jp	z,i_32	;
				ld  b, 0
			._cpc_screen_update_inv_loop
				push bc
				ld  a, b
				sla a
				sla a
				sla a 
				sla a
				ld d, 0
				ld e, a
				ld  hl, _sp_sw
				add hl, de
				ld  b, h
				ld  c, l
				ld  de, _cpc_screen_update_inv_ret
				push de
				ld  de, 12
				add hl, de
				ld  e, (hl)
				inc hl
				ld  d, (hl)
				push de
				ld  h, b
				ld  l, c
				ret
			._cpc_screen_update_inv_ret
				pop bc
				inc b
				ld  a, b
				cp   1 +  3  +  0  +  0  
				jr  nz, _cpc_screen_update_inv_loop
.i_32
		._cpc_screen_update_upd_buffer
			call cpc_UpdScr 
	ld	hl,2	;const
	add	hl,sp
	ld	l,(hl)
	ld	a,l
	and	a
	jp	z,i_33	;
				ld  b,  1 +  3  +  0  +  0  
			._cpc_screen_update_upd_loop
				dec b
				push bc
				ld  a, b
				sla a
				sla a
				sla a 
				sla a
				ld d, 0
				ld e, a
				ld  hl, _sp_sw
				add hl, de
				ld  b, h
				ld  c, l
				ld  de, _cpc_screen_update_upd_ret
				push de
				ld  de, 14
				add hl, de
				ld  e, (hl)
				inc hl
				ld  d, (hl)
				push de
				ld  h, b
				ld  l, c
				ret
			._cpc_screen_update_upd_ret
				pop bc
				xor a
				or  b
				jr  nz, _cpc_screen_update_upd_loop
			._cpc_screen_update_done
.i_33
			call cpc_ShowTouchedTiles
			call cpc_ResetTouchedTiles
	ret


	C_LINE	112,"mk1.c::cpc_UpdateNow::0::20"
	C_LINE	0,"my/ci/extra_functions.h::cpc_UpdateNow::0::20"
	C_LINE	6,"my/ci/extra_functions.h::cpc_UpdateNow::0::20"

; Function print_time flags 0x00000200 __smallc 
; void print_time()
	C_LINE	6,"my/ci/extra_functions.h::print_time::0::20"
._print_time
	ld	a,15
	ld	(__x),a
	ld	a,1
	ld	(__y),a
	ld	hl,(_timer_t)
	ld	h,0
	ld	a,l
	ld	(__t),a
	call	_print_number2
	ld	hl,(_timer_t)
	ld	h,0
	ld	a,l
	ld	(_timer_old),a
	ret


	C_LINE	11,"my/ci/extra_functions.h::print_time::0::21"

; Function print_16bits flags 0x00000200 __smallc 
; void print_16bits()
	C_LINE	11,"my/ci/extra_functions.h::print_16bits::0::21"
._print_16bits
	ld	hl,(__x)
	ld	h,0
	inc	hl
	inc	hl
	inc	hl
	ld	a,l
	ld	(__x),a
	ld	hl,(_score)
	ld	de,100
	ex	de,hl
	call	l_div_u
	ex	de,hl
	ld	h,0
	ld	a,l
	ld	(__t),a
	call	_print_number2
	ld	hl,(__x)
	ld	h,0
	dec	hl
	dec	hl
	ld	a,l
	ld	(__x),a
	ld	hl,(_score)
	ld	de,100
	ex	de,hl
	call	l_div_u
	ld	de,10
	ex	de,hl
	call	l_div_u
	ex	de,hl
	ld	h,0
	ld	a,l
	ld	(__t),a
	call	_print_number2
	ld	hl,__x
	ld	a,(hl)
	dec	(hl)
	ld	hl,(_score)
	ld	de,1000
	ex	de,hl
	call	l_div_u
	ld	h,0
	ld	a,l
	ld	(__t),a
	call	_print_number2
	ret


	C_LINE	27,"my/ci/extra_functions.h::print_16bits::0::22"

; Function print_score flags 0x00000200 __smallc 
; void print_score()
	C_LINE	27,"my/ci/extra_functions.h::print_score::0::22"
._print_score
	ld	a,1
	ld	(__x),a
	ld	hl,1	;const
	ld	a,l
	ld	(__y),a
	call	_print_16bits
	ld	hl,(_score)
	ld	(_old_score),hl
	ret


	C_LINE	34,"my/ci/extra_functions.h::print_score::0::23"

; Function hueco_h_izq flags 0x00000200 __smallc 
; unsigned char hueco_h_izq()
	C_LINE	34,"my/ci/extra_functions.h::hueco_h_izq::0::23"
._hueco_h_izq
	ld	hl,(__en_x)
	ld	h,0
	dec	hl
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx2),a
	ld	a,l
	ld	(_cx1),a
	ld	hl,(__en_y)
	ld	h,0
	ld	bc,15
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy1),a
	ld	hl,(__en_y)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy2),a
	call	_cm_two_points
	ld	a,(_at1)
	and	a
	jp	nz,i_34	;
	ld	a,(_at2)
	and	a
	jp	nz,i_34	;
	ld	hl,1	;const
	ret
.i_34
	ld	hl,0	;const
	ret


	C_LINE	42,"my/ci/extra_functions.h::hueco_h_izq::0::24"

; Function hueco_h_der flags 0x00000200 __smallc 
; unsigned char hueco_h_der()
	C_LINE	42,"my/ci/extra_functions.h::hueco_h_der::0::24"
._hueco_h_der
	ld	hl,(__en_x)
	ld	h,0
	ld	bc,16
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx2),a
	ld	a,l
	ld	(_cx1),a
	ld	hl,(__en_y)
	ld	h,0
	ld	bc,15
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy1),a
	ld	hl,(__en_y)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy2),a
	call	_cm_two_points
	ld	a,(_at1)
	and	a
	jp	nz,i_36	;
	ld	a,(_at2)
	and	a
	jp	nz,i_36	;
	ld	hl,1	;const
	ret
.i_36
	ld	hl,0	;const
	ret


	C_LINE	50,"my/ci/extra_functions.h::hueco_h_der::0::25"

; Function hueco_v_arr flags 0x00000200 __smallc 
; unsigned char hueco_v_arr()
	C_LINE	50,"my/ci/extra_functions.h::hueco_v_arr::0::25"
._hueco_v_arr
	ld	hl,(__en_x)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx1),a
	ld	hl,(__en_x)
	ld	h,0
	ld	bc,15
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx2),a
	ld	hl,(__en_y)
	ld	h,0
	dec	hl
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy2),a
	ld	h,0
	ld	a,l
	ld	(_cy1),a
	call	_cm_two_points
	ld	a,(_at1)
	and	a
	jp	nz,i_38	;
	ld	a,(_at2)
	and	a
	jp	nz,i_38	;
	ld	hl,1	;const
	ret
.i_38
	ld	hl,0	;const
	ret


	C_LINE	58,"my/ci/extra_functions.h::hueco_v_arr::0::26"

; Function hueco_v_aba flags 0x00000200 __smallc 
; unsigned char hueco_v_aba()
	C_LINE	58,"my/ci/extra_functions.h::hueco_v_aba::0::26"
._hueco_v_aba
	ld	hl,(__en_x)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx1),a
	ld	hl,(__en_x)
	ld	h,0
	ld	bc,15
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx2),a
	ld	hl,(__en_y)
	ld	h,0
	ld	bc,16
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy2),a
	ld	h,0
	ld	a,l
	ld	(_cy1),a
	call	_cm_two_points
	ld	a,(_at1)
	and	a
	jp	nz,i_40	;
	ld	a,(_at2)
	and	a
	jp	nz,i_40	;
	ld	hl,1	;const
	ret
.i_40
	ld	hl,0	;const
	ret


	C_LINE	67,"my/ci/extra_functions.h::hueco_v_aba::0::27"

; Function mover_enemigo flags 0x00000200 __smallc 
; void mover_enemigo()
	C_LINE	67,"my/ci/extra_functions.h::mover_enemigo::0::27"
._mover_enemigo
		ld a, (_en_estado)  
		or a
		jp nz, _paralizado
		ld a, 0
		ld  (_aux1), a
		ld 	a, 1
		ld  (_active), a
		ld  a, (__en_mx)
		ld  c, a
		ld  a, (__en_x)
		add a, c
		ld  (__en_x), a
		ld  a, (__en_my)
		ld  c, a
		ld  a, (__en_y)
		add a, c
		ld  (__en_y), a
	ret


	C_LINE	100,"my/ci/extra_functions.h::mover_enemigo::0::28"

; Function elegir_camino flags 0x00000200 __smallc 
; void elegir_camino()
	C_LINE	100,"my/ci/extra_functions.h::elegir_camino::0::28"
._elegir_camino
			ld a, (__en_my)
			or a
			jr z, _y_way_done
			
	ld	de,(__en_y)
	ld	d,0
	ld	hl,(_enemigo0)
	ld	h,d
	call	l_eq
	jp	c,i_43	;
	ld	de,(__en_y)
	ld	d,0
	ld	hl,(_enemigo2)
	ld	h,d
	call	l_eq
	jp	nc,i_42	;
.i_43
	ld	hl,0	;const
	ret


.i_42
	ld	de,(__en_x)
	ld	d,0
	ld	hl,(_gpx)
	ld	h,d
	ex	de,hl
	and	a
	sbc	hl,de
	ld	(_diferencia),hl
	ld	de,0
	ex	de,hl
	call	l_gt
	jp	nc,i_45	;
	call	_hueco_h_izq
	ld	a,h
	or	l
	jp	z,i_46	;
							ld a, 255
							ld (__en_mx), a
							ld a, 0
							ld (__en_my), a
							ld a, 1
							ld (_aux1), a
	jp	i_47	;EOS
	defc	i_46 = i_47
.i_45
	ld	hl,(_diferencia)
	ld	a,h
	rla
	jp	nc,i_48	;
	call	_hueco_h_der
	ld	a,h
	or	l
	jp	z,i_49	;
							ld a, 1
							ld (__en_mx), a
							ld (_aux1), a
							ld a, 0
							ld (__en_my), a
.i_49
.i_48
.i_47
			jp _x_way_done
			._y_way_done
	ld	hl,(__en_x)
	ld	h,0
	ld	hl,0	;const
	ld	a,h
	or	l
	jp	z,i_50	;
	ret


.i_50
	ld	de,(__en_y)
	ld	d,0
	ld	hl,(_gpy)
	ld	h,d
	ex	de,hl
	and	a
	sbc	hl,de
	ld	(_diferencia),hl
	ld	de,0
	ex	de,hl
	call	l_gt
	jp	nc,i_51	;
	call	_hueco_v_arr
	ld	a,h
	or	l
	jp	z,i_52	;
							ld a, 255
							ld (__en_my), a
							ld a, 0
							ld (__en_mx), a
							ld a, 1
							ld (_aux1), a
	jp	i_53	;EOS
	defc	i_52 = i_53
.i_51
	ld	hl,(_diferencia)
	ld	a,h
	rla
	jp	nc,i_54	;
	call	_hueco_v_aba
	ld	a,h
	or	l
	jp	z,i_55	;
							ld a, 1
							ld (__en_my), a
							ld (_aux1), a
							ld a, 0
							ld (__en_mx), a
.i_55
.i_54
.i_53
			._x_way_done
	ret


	C_LINE	220,"my/ci/extra_functions.h::elegir_camino::0::37"

; Function comprobar_limites flags 0x00000200 __smallc 
; void comprobar_limites()
	C_LINE	220,"my/ci/extra_functions.h::comprobar_limites::0::37"
._comprobar_limites
			ld a, (__en_x)
			ld  c, a
			ld  a, (__en_x1)
			cp  c
			jr  z, _enems_lm_change_axis_x
			ld  a, (__en_x2)
			cp  c
					jr  z, _enems_lm_change_axis_x
			call _mons_col_sc_x
			xor a
			or l
			jr  z, _enems_lm_change_axis_x_done
		._enems_lm_change_axis_x
			ld  a, (__en_mx)
			neg
			ld  (__en_mx), a
			ld a, 1
			ld (_aux1), a
		._enems_lm_change_axis_x_done
			ld a, (__en_y)
			ld  c, a
			ld  a, (__en_y1)
			cp  c
			jr  z, _enems_lm_change_axis_y
			ld  a, (__en_y2)
			cp  c
					jr  z, _enems_lm_change_axis_y
			call _mons_col_sc_y
			xor a
			or l
			jr  z, _enems_lm_change_axis_y_done
		._enems_lm_change_axis_y
			ld  a, (__en_my)
			neg
			ld  (__en_my), a
			ld a, 1
			ld (_aux1), a
		._enems_lm_change_axis_y_done
	ret


	C_LINE	279,"my/ci/extra_functions.h::comprobar_limites::0::38"

; Function pisa_tile flags 0x00000200 __smallc 
; void pisa_tile()
	C_LINE	279,"my/ci/extra_functions.h::pisa_tile::0::38"
._pisa_tile
	ld	hl,(__en_x)
	ld	h,0
	inc	hl
	inc	hl
	inc	hl
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx1),a
	ld	hl,(__en_x)
	ld	h,0
	ld	bc,12
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx2),a
	ld	hl,(__en_y)
	ld	h,0
	ld	bc,12
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy1),a
	ld	hl,(__en_y)
	ld	h,0
	inc	hl
	inc	hl
	inc	hl
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy2),a
	call	_cm_two_points
	ret


	C_LINE	288,"my/ci/extra_functions.h::pisa_tile::0::39"

; Function animar_enemigo flags 0x00000200 __smallc 
; void animar_enemigo()
	C_LINE	288,"my/ci/extra_functions.h::animar_enemigo::0::39"
._animar_enemigo
		ld a, (__en_mx)
		or a
		jr z, _mx_done
		ld  a, (__en_mx)
		bit 7, a
		jr  nz, _othermx 	; < 0
		ld a, 18
		jr _animation_done
		._othermx
		ld a, 16
		jr _animation_done
		._mx_done
		ld  a, (__en_my)
		bit 7, a
		jr  nz, _othermy 	; < 0
		ld a, 22
		jr _animation_done
		._othermy
		ld a, 20
		._animation_done
		ld (_aux2), a
		._paralizado
	ret


	C_LINE	338,"my/ci/extra_functions.h::animar_enemigo::0::40"

; Function comprobar_tile_pisado flags 0x00000200 __smallc 
; void comprobar_tile_pisado()
	C_LINE	338,"my/ci/extra_functions.h::comprobar_tile_pisado::0::40"
._comprobar_tile_pisado
	call	_pisa_tile
	ld	a,(_en_estado)
	and	a
	jp	nz,i_56	;
	ld	a,(_at1)
	cp	1
	jp	nz,i_58	;
	ld	a,(_at2)
	cp	1
	jp	nz,i_58	;
	defc	i_58 = i_57
.i_59_i_58
	ld	de,_en_an_state
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	(hl),4
	ld	de,_en_an_count
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	(hl),128
	ld	hl,_en_an_next_frame
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	ex	de,hl
	ld	hl,_sprite_17_a
	call	l_pint
	ld	hl,__en_x
	ld	a,7
	add	(hl)
	ld	(hl),a
	ld	hl,__en_y
	ld	a,7
	add	(hl)
	ld	(hl),a
	ld	hl,(__en_x)
	ld	h,0
	ld	a,240
	and	l
	ld	(__en_x),a
	ld	hl,(__en_y)
	ld	h,0
	ld	a,240
	and	l
	ld	l,a
	ld	hl,__en_y
	ld	(hl),a
	ld	l,(hl)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(__y),a
	ld	hl,(__en_x)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(__x),a
					ld a, 2
					ld (__t), a
					ld (__n), a
					call _update_tile
	ld	hl,(_score)
	ld	bc,25
	add	hl,bc
	ld	(_score),hl
	jp	i_60	;EOS
	defc	i_57 = i_60
.i_56
	ld	a,(_at1)
	cp	5
	jp	nz,i_61	;
	ld	hl,(_score)
	ld	bc,200
	add	hl,bc
	ld	(_score),hl
	ld	hl,_enemigos_matados
	ld	a,(hl)
	inc	(hl)
	ld	hl,(_x_respawn)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	(__en_x),a
	ld	hl,(_y_respawn)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	inc	hl
	ld	h,0
	ld	a,l
	ld	(__en_y),a
	ld	a,1
	ld	(__en_my),a
	xor	a
	ld	(__en_mx),a
	ld	de,_en_an_count
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	(hl),96
	ld	l,(hl)
	ld	h,0
.i_61
.i_60
	ret


	C_LINE	387,"my/ci/extra_functions.h::comprobar_tile_pisado::0::45"

; Function pintar_llave flags 0x00000200 __smallc 
; unsigned char pintar_llave()
	C_LINE	387,"my/ci/extra_functions.h::pintar_llave::0::45"
._pintar_llave
	ld	hl,(_x_llave)
	ld	h,0
	push	hl
	ld	hl,(_y_llave)
	ld	h,0
	push	hl
	call	_attr
	pop	bc
	pop	bc
	ld	a,h
	or	l
	jp	z,i_62	;
	ld	a,1
	ld	(_x_llave),a
.i_63
	ld	hl,(_x_llave)
	ld	h,0
	push	hl
	ld	hl,(_y_llave)
	ld	h,0
	push	hl
	call	_attr
	pop	bc
	pop	bc
	ld	a,l
	and	a
	jp	z,i_64	;EOS
.i_65
	ld	hl,_x_llave
	ld	a,(hl)
	inc	(hl)
	jp	i_63	;EOS
.i_64
.i_62
		ld a, 4
		ld (__t), a
		ld (__n), a
		ld a, (_x_llave)
		ld (__x), a
		ld a, (_y_llave)
		ld (__y), a
		call _update_tile
	ret


	C_LINE	414,"my/ci/extra_functions.h::pintar_llave::0::48"

; Function pintar_borrar_flecha flags 0x00000200 __smallc 
; unsigned char pintar_borrar_flecha()
	C_LINE	414,"my/ci/extra_functions.h::pintar_borrar_flecha::0::48"
._pintar_borrar_flecha
		ld a, 8
		ld (__n), a
		ld a, (_x_respawn)
		ld (__x), a
		ld a, (_y_respawn)
		ld (__y), a
		call _update_tile
	ret


	C_LINE	432,"my/ci/extra_functions.h::pintar_borrar_flecha::0::49"

; Function zone_clear flags 0x00000200 __smallc 
; void zone_clear()
	C_LINE	432,"my/ci/extra_functions.h::zone_clear::0::49"
._zone_clear
	ld	a,10
	ld	(__x),a
	ld	a,11
	ld	(__y),a
	ld	hl,(_spacer)
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,13	;const
	ld	a,l
	ld	(__y),a
	call	_print_str
	ld	a,12
	ld	(__y),a
	ld	hl,i_1+13
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,120	;const
	push	hl
	call	_espera_activa
	pop	bc
.i_66
	ld	a,(_timer_t)
	and	a
	jp	z,i_67	;
	ld	hl,_timer_t
	ld	a,(hl)
	dec	(hl)
	ld	hl,(_score)
	ld	bc,10
	add	hl,bc
	ld	(_score),hl
	call	_print_score
	call	_print_time
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,3	;const
	push	hl
	call	_espera_activa
	pop	bc
	jp	i_66	;EOS
.i_67
	ret


	C_LINE	452,"my/ci/extra_functions.h::zone_clear::0::51"

; Function print_lives flags 0x00000200 __smallc 
; void print_lives()
	C_LINE	452,"my/ci/extra_functions.h::print_lives::0::51"
._print_lives
	xor	a
	ld	(_gpit),a
	jp	i_70	;EOS
.i_68
	ld	hl,_gpit
	ld	a,(hl)
	inc	(hl)
.i_70
	ld	de,(_gpit)
	ld	d,0
	ld	hl,(_p_life)
	ld	h,d
	ex	de,hl
	and	a
	sbc	hl,de
	jp	nc,i_69	;
	ld	hl,(_gpit)
	ld	h,0
	ld	bc,8
	add	hl,bc
	ld	a,l
	ld	(__x),a
	ld	a,1
	ld	(__y),a
	ld	hl,(_gpit)
	ld	h,0
	ld	a,4
	sub	l
	jp	nc,i_71	;
	ld	hl,i_1+26
	ld	(__gp_gen),hl
	call	_print_str
	jp	i_69	;EOS
.i_71
	ld	hl,i_1+28
	ld	(__gp_gen),hl
	call	_print_str
	jp	i_68	;EOS
.i_69
	ret


	C_LINE	465,"my/ci/extra_functions.h::print_lives::0::54"

; Function print_powerup flags 0x00000200 __smallc 
; void print_powerup()
	C_LINE	465,"my/ci/extra_functions.h::print_powerup::0::54"
._print_powerup
	ld	de,_behs
	ld	hl,(__t)
	ld	h,0
	add	hl,de
	ld	l,(hl)
	ld	h,0
	ld	a,l
	ld	(__n),a
		ld a, (_power_x)
		ld (__x), a
		ld a, (_power_y)
		ld (__y), a
		call _update_tile
	ret


	C_LINE	480,"my/ci/extra_functions.h::print_powerup::0::55"

; Function print_suelo flags 0x00000200 __smallc 
; void print_suelo()
	C_LINE	480,"my/ci/extra_functions.h::print_suelo::0::55"
._print_suelo
		ld a, 1
		ld (__t), a
		ld a, 0
		ld (__n), a
		call _update_tile
	ret


	C_LINE	494,"my/ci/extra_functions.h::print_suelo::0::56"

; Function reset_cavando flags 0x00000200 __smallc 
; void reset_cavando()
	C_LINE	494,"my/ci/extra_functions.h::reset_cavando::0::56"
._reset_cavando
		ld a, 0
		ld (_cavando), a
		ld (_frames_cavando), a
	ret


	C_LINE	507,"my/ci/extra_functions.h::reset_cavando::0::57"

; Function copy_keys flags 0x00000200 __smallc 
; void copy_keys()
	C_LINE	507,"my/ci/extra_functions.h::copy_keys::0::57"
._copy_keys
		._copy_keys_to_extern
			ld  hl, (__gp_gen)
			ld  de, cpc_KeysData + 12
			ld  bc, 24
			ldir
	ret


	C_LINE	524,"my/ci/extra_functions.h::copy_keys::0::58"

; Function intro flags 0x00000200 __smallc 
; void intro()
	C_LINE	524,"my/ci/extra_functions.h::intro::0::58"
._intro
	call	_blackout
	ld	hl,1	;const
	push	hl
	call	_music_play
	pop	bc
	ld	a,9
	ld	(__x),a
	ld	a,9
	ld	(__y),a
	ld	hl,i_1+31
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,280	;const
	push	hl
	call	_espera_activa
	pop	bc
	ld	hl,_s_intro1
	push	hl
	ld	hl,36864	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ld	hl,1	;const
	call	cpc_ShowTileMap
	xor	a
	ld	(__x),a
	ld	a,17
	ld	(__y),a
	ld	hl,i_1+44
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,18
	ld	(__y),a
	ld	hl,i_1+77
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,19
	ld	(__y),a
	ld	hl,i_1+110
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,20
	ld	(__y),a
	ld	hl,i_1+141
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,570	;const
	push	hl
	call	_espera_activa
	pop	bc
	ld	hl,_s_intro2
	push	hl
	ld	hl,36864	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ld	hl,1	;const
	call	cpc_ShowTileMap
	ld	a,17
	ld	(__y),a
	ld	hl,i_1+160
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,18
	ld	(__y),a
	ld	hl,i_1+192
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,19
	ld	(__y),a
	ld	hl,i_1+225
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,20
	ld	(__y),a
	ld	hl,i_1+257
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,570	;const
	push	hl
	call	_espera_activa
	pop	bc
	ld	a,3
	ld	(_vueltas_intro),a
	ld	hl,0	;const
	push	hl
	call	_music_play
	pop	bc
	ret


	C_LINE	555,"my/ci/extra_functions.h::intro::0::59"

; Function fin flags 0x00000200 __smallc 
; void fin()
	C_LINE	555,"my/ci/extra_functions.h::fin::0::59"
._fin
	call	_blackout
	ld	hl,_s_ending
	push	hl
	ld	hl,36864	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ld	hl,1	;const
	call	cpc_ShowTileMap
	xor	a
	ld	(__x),a
	ld	a,17
	ld	(__y),a
	ld	hl,i_1+281
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,18
	ld	(__y),a
	ld	hl,i_1+311
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,19
	ld	(__y),a
	ld	hl,i_1+344
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,0	;const
	push	hl
	call	_music_play
	pop	bc
	ld	hl,600	;const
	push	hl
	call	_espera_activa
	pop	bc
	ld	hl,_s_ending
	push	hl
	ld	hl,36864	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ld	hl,1	;const
	call	cpc_ShowTileMap
	ld	a,17
	ld	(__y),a
	ld	hl,i_1+377
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,18
	ld	(__y),a
	ld	hl,i_1+410
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,19
	ld	(__y),a
	ld	hl,i_1+434
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,600	;const
	push	hl
	call	_espera_activa
	pop	bc
	call	_blackout
	ld	a,4
	ld	(__x),a
	ld	a,17
	ld	(__y),a
	ld	hl,i_1+460
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,90	;const
	push	hl
	call	_espera_activa
	pop	bc
	ld	a,18
	ld	(__y),a
	ld	hl,i_1+486
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,200	;const
	push	hl
	call	_espera_activa
	pop	bc
	ld	hl,_s_ending2
	push	hl
	ld	hl,36864	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ld	hl,1	;const
	call	cpc_ShowTileMap
	ld	hl,2000	;const
	push	hl
	call	_espera_activa
	pop	bc
	call	_music_stop
	ret


	C_LINE	589,"my/ci/extra_functions.h::fin::0::60"

; Function show_records flags 0x00000200 __smallc 
; void show_records()
	C_LINE	589,"my/ci/extra_functions.h::show_records::0::60"
._show_records
	call	_clear_sprites
	call	_blackout
	ld	a,9
	ld	(__x),a
	xor	a
	ld	(__y),a
	ld	hl,i_1+504
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	xor	a
	ld	(_enit),a
	jp	i_74	;EOS
.i_72
	ld	hl,_enit
	ld	a,(hl)
	inc	(hl)
.i_74
	ld	a,(_enit)
	sub	10
	jp	nc,i_73	;
	ld	hl,15	;const
	push	hl
	call	_espera_activa
	pop	bc
	ld	hl,_records_score
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	ld	(_score),hl
	ld	a,8
	ld	(__x),a
	ld	hl,(_enit)
	ld	h,0
	inc	hl
	inc	hl
	inc	hl
	ld	h,0
	ld	a,l
	ld	(__y),a
	call	_print_16bits
	ld	a,15
	ld	(__x),a
	ld	hl,_record_names
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	jp	i_72	;EOS
.i_73
	ld	hl,0	;const
	ld	(_score),hl
	ld	a,9
	ld	(__x),a
	ld	a,22
	ld	(__y),a
	ld	hl,i_1+517
	ld	(__gp_gen),hl
	call	_print_str
	xor	a
	ld	(_enit),a
	jp	i_77	;EOS
.i_75
	ld	hl,_enit
	ld	a,(hl)
	inc	(hl)
.i_77
	ld	a,(_enit)
	sub	15
	jp	nc,i_76	;
	ld	a,(_enit)
	ld	(__x),a
	ld	a,6
	ld	(__y),a
	ld	hl,8	;const
	ld	a,l
	ld	(__t),a
	call	_update_tile
	ld	a,(_enit)
	ld	(__x),a
	ld	a,7
	ld	(__y),a
	ld	hl,(__x)
	ld	h,0
	ld	a,1
	and	l
	ld	l,a
	ld	bc,23
	add	hl,bc
	ld	h,0
	ld	a,l
	ld	(__t),a
	call	_update_tile
	ld	a,(_enit)
	ld	(__x),a
	ld	a,8
	ld	(__y),a
	ld	a,1
	ld	(__t),a
	ld	a,(__x)
	cp	7
	jp	nz,i_78	;
	ld	hl,3	;const
	ld	a,l
	ld	(__t),a
.i_78
	call	_update_tile
	jp	i_75	;EOS
.i_76
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,_sp_sw+9
	ld	(hl),140
	ld	hl,2	;const
	ld	(_p_x),hl
	ld	hl,1	;const
	ld	(_p_vx),hl
	ld	hl,58	;const
	ld	a,l
	ld	(__en_x),a
	xor	a
	ld	(__en_mx),a
	ld	a,10
	ld	(_cavando),a
	ld	de,_sp_sw+28
	ld	hl,(_sm_invfunc)
	call	l_pint
	ld	de,_sp_sw+30
	ld	hl,(_sm_updfunc)
	call	l_pint
	ld	hl,_sp_sw+25
	ld	(hl),140
	xor	a
	ld	(_aux3),a
.i_79
	ld	hl,7	;const
	call	cpc_TestKey
	call	l_lneg
	jp	nc,i_80	;
	ld	de,(_p_x)
	ld	hl,(_p_vx)
	add	hl,de
	ld	(_p_x),hl
	ld	a,8
	ld	(__y),a
	ld	a,7
	ld	(__x),a
	ld	hl,(_p_x)
	ld	de,26
	and	a
	sbc	hl,de
	jp	nz,i_82	;
	ld	hl,(_p_vx)
	ld	a,h
	rla
	ccf
	jp	nc,i_82	;
	defc	i_82 = i_81
.i_83_i_82
	ld	hl,0	;const
	ld	(_p_vx),hl
	ld	a,8
	ld	(_aux3),a
	ld	hl,_cavando
	ld	a,(hl)
	dec	(hl)
	ld	a,8
	ld	(__y),a
	ld	a,(_cavando)
	cp	5
	jp	nz,i_84	;
	ld	hl,33	;const
	ld	a,l
	ld	(__t),a
	call	_update_tile
	ld	a,1
	ld	(__en_mx),a
.i_84
	ld	a,(_cavando)
	and	a
	jp	nz,i_85	;
	ld	hl,32	;const
	ld	a,l
	ld	(__t),a
	call	_update_tile
	ld	hl,1	;const
	ld	(_p_vx),hl
	ld	hl,0	;const
	ld	a,l
	ld	(_aux3),a
.i_85
.i_81
	ld	hl,(_p_x)
	ld	de,30
	and	a
	sbc	hl,de
	jp	nz,i_86	;
	ld	hl,1	;const
	ld	a,l
	ld	(__t),a
	call	_update_tile
	ld	hl,65535	;const
	ld	(_p_vx),hl
	ld	a,2
	ld	(_aux3),a
.i_86
	ld	hl,(_p_x)
	ld	de,2
	and	a
	sbc	hl,de
	jp	z,i_80	;EOS
.i_87
	ld	hl,(_aux2)
	ld	h,0
	call	l_lneg
	ld	a,l
	ld	(_aux2),a
	ld	de,_sp_sw+8
	ld	hl,(_p_x)
	ld	a,l
	ld	(de),a
	ld	hl,_sp_sw
	push	hl
	ld	hl,_sm_sprptr
	push	hl
	ld	de,(_aux3)
	ld	d,0
	ld	hl,(_aux2)
	ld	h,d
	add	hl,de
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	call	l_pint_pop
	ld	a,(__en_mx)
	and	a
	jp	z,i_88	;
	ld	hl,_sp_sw+24
	ex	de,hl
	ld	hl,__en_x
	ld	a,(hl)
	ld	(de),a
	ld	hl,_sp_sw+16
	push	hl
	ld	hl,_sm_sprptr
	push	hl
	ld	hl,(_aux2)
	ld	h,0
	ld	bc,16
	add	hl,bc
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	call	l_pint_pop
	ld	hl,__en_x
	ld	a,(hl)
	dec	(hl)
.i_88
	ld	hl,1	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
.i_89
	ld	hl,(_frames_counter)
	ld	h,0
	ld	a,l
	sub	25
	jp	nc,i_90	;
						halt
	jp	i_89	;EOS
.i_90
	xor	a
	ld	(_frames_counter),a
	jp	i_79	;EOS
.i_80
	call	_clear_sprites
	ret


	C_LINE	689,"my/ci/extra_functions.h::show_records::0::70"

; Function update_records flags 0x00000200 __smallc 
; void update_records()
	C_LINE	689,"my/ci/extra_functions.h::update_records::0::70"
._update_records
	xor	a
	ld	(_enit),a
	jp	i_93	;EOS
.i_91
	ld	hl,_enit
	ld	a,(hl)
	inc	(hl)
.i_93
	ld	a,(_enit)
	sub	10
	jp	nc,i_92	;
	ld	hl,(_hiscore)
	push	hl
	ld	hl,_records_score
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	pop	de
	and	a
	sbc	hl,de
	jp	nc,i_94	;
	ld	a,(_enit)
	ld	(_aux2),a
	ld	a,9
	ld	(_enit),a
	jp	i_97	;EOS
.i_95
	ld	hl,_enit
	ld	a,(hl)
	dec	(hl)
.i_97
	ld	de,(_enit)
	ld	d,0
	ld	hl,(_aux2)
	ld	h,d
	and	a
	sbc	hl,de
	jp	nc,i_96	;
	ld	hl,_records_score
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	push	hl
	ld	hl,_records_score
	push	hl
	ld	hl,(_enit)
	ld	h,0
	dec	hl
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	call	l_pint_pop
	ld	hl,_record_names
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	push	hl
	ld	hl,_record_names
	push	hl
	ld	hl,(_enit)
	ld	h,0
	dec	hl
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	call	l_pint_pop
	jp	i_95	;EOS
.i_96
	ld	hl,_records_score
	push	hl
	ld	hl,(_aux2)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	ex	de,hl
	ld	hl,(_hiscore)
	call	l_pint
	ld	hl,_record_names
	push	hl
	ld	hl,(_aux2)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	ex	de,hl
	ld	hl,(_record_names+20)
	call	l_pint
	jp	i_92	;EOS
	defc	i_94 = i_91
.i_92
	ret


	C_LINE	706,"my/ci/extra_functions.h::update_records::0::74"

; Function control_vars flags 0x00000200 __smallc 
; void control_vars()
	C_LINE	706,"my/ci/extra_functions.h::control_vars::0::74"
._control_vars
	ld	hl,(_picado)
	call	l_lneg
	jp	nc,i_98	;
	ld	hl,2	;const
	call	cpc_TestKey
	ld	(_press_up),hl
	ld	hl,3	;const
	call	cpc_TestKey
	ld	(_press_down),hl
	ld	hl,0	;const
	call	cpc_TestKey
	ld	(_press_left),hl
	ld	hl,1	;const
	call	cpc_TestKey
	ld	(_press_right),hl
	jp	i_99	;EOS
.i_98
	ld	hl,0	;const
	call	cpc_TestKey
	ld	(_press_up),hl
	ld	hl,1	;const
	call	cpc_TestKey
	ld	(_press_down),hl
	ld	hl,3	;const
	call	cpc_TestKey
	ld	(_press_left),hl
	ld	hl,2	;const
	call	cpc_TestKey
	ld	(_press_right),hl
.i_99
	ret


	C_LINE	113,"mk1.c::control_vars::0::77"
	C_LINE	0,"engine/general.h::control_vars::0::77"
	C_LINE	6,"engine/general.h::control_vars::0::77"

; Function collide flags 0x00000200 __smallc 
; unsigned char collide()
	C_LINE	6,"engine/general.h::collide::0::77"
._collide
	ld	hl,(_gpx)
	ld	h,0
	ld	bc,8
	add	hl,bc
	ex	de,hl
	ld	hl,(_cx2)
	ld	h,0
	call	l_uge
	jp	nc,i_100	;
	ld	hl,(_gpx)
	ld	h,0
	push	hl
	ld	hl,(_cx2)
	ld	h,0
	ld	bc,8
	add	hl,bc
	pop	de
	and	a
	sbc	hl,de
	ccf
	jp	nc,i_100	;
	ld	hl,(_gpy)
	ld	h,0
	ld	bc,8
	add	hl,bc
	ex	de,hl
	ld	hl,(_cy2)
	ld	h,0
	call	l_uge
	jp	nc,i_100	;
	ld	hl,(_gpy)
	ld	h,0
	push	hl
	ld	hl,(_cy2)
	ld	h,0
	ld	bc,8
	add	hl,bc
	pop	de
	and	a
	sbc	hl,de
	ccf
	jp	nc,i_100	;
	ld	hl,1	;const
	ret
.i_100
	ld	hl,0	;const
	ret


	C_LINE	14,"engine/general.h::collide::0::78"

; Function cm_two_points flags 0x00000200 __smallc 
; unsigned char cm_two_points()
	C_LINE	14,"engine/general.h::cm_two_points::0::78"
._cm_two_points
			ld  a, (_cx1)
			cp  15
			jr  nc, _cm_two_points_at1_reset
			ld  a, (_cy1)
			cp  10
			jr  c, _cm_two_points_at1_do
		._cm_two_points_at1_reset
			xor a
			jr  _cm_two_points_at1_done
		._cm_two_points_at1_do
			ld  a, (_cy1)
			ld  b, a
			sla a
			sla a
			sla a
			sla a
			sub b
			ld  b, a
			ld  a, (_cx1)
			add b
			ld  e, a
			ld  d, 0
			ld  hl, _map_attr
			add hl, de
			ld  a, (hl)
		._cm_two_points_at1_done
			ld (_at1), a
			ld  a, (_cx2)
			cp  15
			jr  nc, _cm_two_points_at2_reset
			ld  a, (_cy2)
			cp  10
			jr  c, _cm_two_points_at2_do
		._cm_two_points_at2_reset
			xor a
			jr  _cm_two_points_at2_done
		._cm_two_points_at2_do
			ld  a, (_cy2)
			ld  b, a
			sla a
			sla a
			sla a
			sla a
			sub b
			ld  b, a
			ld  a, (_cx2)
			add b
			ld  e, a
			ld  d, 0
			ld  hl, _map_attr
			add hl, de
			ld  a, (hl)
		._cm_two_points_at2_done
			ld (_at2), a
	ret


	C_LINE	91,"engine/general.h::cm_two_points::0::79"

; Function rand flags 0x00000200 __smallc 
; unsigned char rand()
	C_LINE	91,"engine/general.h::rand::0::79"
._rand
		.rand16
			ld	hl, _seed
			ld	a, (hl)
			ld	e, a
			inc	hl
			ld	a, (hl)
			ld	d, a
			;; Ahora DE = [SEED]
			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,	nextrand
			inc	hl
		.nextrand
			ld	d,	h
			ld	e,	l
			ld	hl, _seed
			ld	a,	e
			ld	(hl), a
			inc	hl
			ld	a,	d
			ld	(hl), a
			;; Ahora [SEED] = HL
			ld  l, e
			ret
	ret


	C_LINE	135,"engine/general.h::rand::0::80"

; Function abs flags 0x00000200 __smallc 
; unsigned int abs(int n)
; parameter 'int n' at sp+2 size(2)
	C_LINE	135,"engine/general.h::abs::0::80"
._abs
	pop	bc
	pop	hl
	push	hl
	push	bc
	ld	a,h
	rla
	jp	nc,i_102	;
	pop	bc
	pop	hl
	push	hl
	push	bc
	call	l_neg
	ret


.i_102
	pop	bc
	pop	hl
	push	hl
	push	bc
	ret


.i_103
	ret


	C_LINE	122,"mk1.c::abs::0::81"
	C_LINE	0,"engine.h::abs::0::81"
	C_LINE	0,"my/fixed_screens.h::abs::0::81"
	C_LINE	4,"my/fixed_screens.h::abs::0::81"

; Function game_over flags 0x00000200 __smallc 
; void game_over()
	C_LINE	4,"my/fixed_screens.h::game_over::0::81"
._game_over
	call	_clear_sprites
	call	_blackout
	ld	a,11
	ld	(__x),a
	ld	a,12
	ld	(__y),a
	ld	hl,i_1+529
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,90	;const
	push	hl
	call	_espera_activa
	pop	bc
	ret


	C_LINE	13,"my/fixed_screens.h::game_over::0::82"

; Function time_over flags 0x00000200 __smallc 
; void time_over()
	C_LINE	13,"my/fixed_screens.h::time_over::0::82"
._time_over
	ld	a,10
	ld	(__x),a
	ld	a,11
	ld	(__y),a
	ld	hl,(_spacer)
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,13	;const
	ld	a,l
	ld	(__y),a
	call	_print_str
	ld	a,12
	ld	(__y),a
	ld	hl,i_1+539
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ret


	C_LINE	14,"engine.h::time_over::0::83"
	C_LINE	16,"engine.h::time_over::0::83"

; Function addsign flags 0x00000200 __smallc 
; int addsign(int n, int value)
; parameter 'int value' at sp+2 size(2)
; parameter 'int n' at sp+4 size(2)
	C_LINE	16,"engine.h::addsign::0::83"
._addsign
	ld	hl,4	;const
	call	l_gintsp	;
	ld	a,h
	rla
	ccf
	jp	nc,i_104	;
	pop	bc
	pop	hl
	push	hl
	push	bc
	ret


.i_104
	pop	bc
	pop	hl
	push	hl
	push	bc
	call	l_neg
	ret


.i_105
	ret


	C_LINE	24,"engine.h::addsign::0::84"

; Function espera_activa flags 0x00000200 __smallc 
; void espera_activa(int espera)
; parameter 'int espera' at sp+2 size(2)
	C_LINE	24,"engine.h::espera_activa::0::84"
._espera_activa
.i_106
	call	cpc_AnyKeyPressed
	ld	a,h
	or	l
	jp	nz,i_106	;EOS
.i_107
.i_110
				halt
				halt
				halt
				halt
				halt
				halt
	ld	hl,6	;const
	call	cpc_TestKey
	ld	a,h
	or	l
	jp	nz,i_109	;EOS
.i_111
.i_108
	pop	de
	pop	hl
	dec	hl
	push	hl
	push	de
	ld	a,h
	or	l
	jp	nz,i_110	;EOS
.i_109
	ret


	C_LINE	127,"engine.h::espera_activa::0::86"

; Function draw_scr_background flags 0x00000200 __smallc 
; void draw_scr_background()
	C_LINE	127,"engine.h::draw_scr_background::0::86"
._draw_scr_background
	ld	hl,_mapa
	ld	(_map_pointer),hl
	ld	hl,0	;const
	ld	(_seed),hl
	ld	a,1
	ld	(__x),a
	ld	a,3
	ld	(__y),a
	xor	a
	ld	(_gpit),a
	jp	i_114	;EOS
.i_112
	ld	hl,_gpit
	inc	(hl)
	ld	l,(hl)
	ld	h,0
.i_114
	ld	hl,(_gpit)
	ld	h,0
	ld	a,l
	sub	150
	jp	nc,i_113	;
						ld  hl, (_map_pointer)
						ld  a, (hl)
						ld  (__t), a
						inc hl
						ld  (_map_pointer), hl
						ld  b, 0
						ld  c, a
						ld  hl, _behs
						add hl, bc
						ld  a, (hl)
						ld  bc, (_gpit)
						ld  b, 0
						ld  hl, _map_attr
						add hl, bc
						ld  (hl), a
						ld  hl, _map_buff
						add hl, bc
						ld  a, (__t)
						ld  (hl), a
	C_LINE	0,"my/ci/map_renderer_t_modification.h::draw_scr_background::3::88"
	ld	hl,(__x)
	ld	h,0
	dec	hl
	ld	a,l
	rrca
	and	127
	ld	l,a
	ld	h,0
	ld	(_rda),a
	ld	hl,(__y)
	ld	h,0
	dec	hl
	dec	hl
	dec	hl
	ld	a,l
	rrca
	and	127
	ld	l,a
	ld	h,0
	ld	(_rdb),a
	ld	a,(__t)
	and	a
	jp	nz,i_115	;
	ld	a,(_rda)
	ld	(_x_respawn),a
	ld	hl,(_rdb)
	ld	h,0
	ld	a,l
	ld	(_y_respawn),a
.i_115
	ld	a,(__t)
	cp	3
	jp	z,i_117	;
	cp	32
	jp	nz,i_116	;
.i_117
	ld	hl,_p_objs
	ld	a,(hl)
	inc	(hl)
.i_116
	ld	a,(__t)
	cp	2
	jp	nz,i_119	;
	ld	a,(_rda)
	ld	(_x_start),a
	ld	hl,(_rdb)
	ld	h,0
	ld	a,l
	ld	(_y_start),a
.i_119
	ld	a,(__t)
	cp	4
	jp	nz,i_120	;
	ld	a,(_rda)
	ld	(_x_llave),a
	ld	a,((_rdb))
	ld	(_y_llave),a
.i_120
	ld	hl,(__t)
	ld	h,0
	ld	a,l
	sub	46
	ccf
	jp	nc,i_121	;
	ld	a,(__t)
	cp	46
	jp	nz,i_122	;
	ld	a,(_rda)
	ld	(_tele_x1),a
	ld	hl,(_rdb)
	ld	a,l
	ld	(_tele_y1),a
	jp	i_123	;EOS
.i_122
	ld	a,(_rda)
	ld	(_tele_x2),a
	ld	hl,(_rdb)
	ld	h,0
	ld	a,l
	ld	(_tele_y2),a
.i_123
.i_121
	ld	hl,(__t)
	ld	h,0
	ld	a,40
	sub	l
	jp	nc,i_125	;
	ld	a,(__t)
	sub	45
	jp	nc,i_125	;
	defc	i_125 = i_124
.i_126_i_125
	ld	a,(_rda)
	ld	(_power_x),a
	ld	a,(_rdb)
	ld	(_power_y),a
	ld	hl,(__t)
	ld	h,0
	ld	a,l
	ld	(_current_screen_pow),a
	C_LINE	279,"engine.h::draw_scr_background::3::96"
.i_124
	call	_draw_coloured_tile
					ld  a, (__x)
					add 2
					cp  30 +  1 
					jr  c, _advance_worm_no_inc_y
					ld  a, (__y)
					add 2
					ld  (__y), a
					ld  a,  1 
				._advance_worm_no_inc_y
					ld  (__x), a
	jp	i_112	;EOS
.i_113
	ret


	C_LINE	304,"engine.h::draw_scr_background::0::96"

; Function draw_scr flags 0x00000200 __smallc 
; void draw_scr()
	C_LINE	304,"engine.h::draw_scr::0::96"
._draw_scr
	ld	hl,0	;const
	ld	a,l
	ld	(_tele_x1),a
	call	cpc_ResetTouchedTiles
	ld	hl,1	;const
	ld	a,l
	ld	(_is_rendering),a
	call	_draw_scr_background
	call	_enems_load
	C_LINE	0,"my/ci/entering_screen.h::draw_scr::1::97"
	ld	a,(_x_start)
	ld	(__x),a
	ld	a,(_y_start)
	ld	(__y),a
	ld	a,1
	ld	(__t),a
	ld	hl,0	;const
	ld	a,l
	ld	(__n),a
	call	_update_tile
	ld	a,(_x_llave)
	ld	(__x),a
	ld	hl,(_y_llave)
	ld	h,0
	ld	a,l
	ld	(__y),a
	call	_update_tile
	ld	a,(_current_screen_pow)
	and	a
	jp	z,i_127	;
	ld	a,(_power_x)
	ld	(__x),a
	ld	hl,(_power_y)
	ld	h,0
	ld	a,l
	ld	(__y),a
	call	_update_tile
.i_127
	ld	a,10
	ld	(__x),a
	ld	a,23
	ld	(__y),a
	ld	hl,i_1+552
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,17
	ld	(__x),a
	ld	hl,(_n_pant)
	inc	l
	ld	h,0
	ld	a,l
	ld	(__t),a
	call	_print_number2
	C_LINE	333,"engine.h::draw_scr::1::98"
	call	_invalidate_viewport
	ld	hl,0	;const
	ld	a,l
	ld	(_is_rendering),a
	ret


	C_LINE	548,"engine.h::draw_scr::0::98"

; Function mons_col_sc_x flags 0x00000200 __smallc 
; unsigned char mons_col_sc_x()
	C_LINE	548,"engine.h::mons_col_sc_x::0::98"
._mons_col_sc_x
	ld	hl,__en_mx
	call	l_gchar
	ld	de,0
	ex	de,hl
	call	l_gt
	jp	nc,i_128	;
	ld	hl,(__en_x)
	ld	h,0
	ld	bc,15
	add	hl,bc
	jp	i_129	;
.i_128
	ld	hl,(__en_x)
	ld	h,0
.i_129
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx2),a
	ld	a,l
	ld	(_cx1),a
	ld	hl,(__en_y)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy1),a
	ld	hl,(__en_y)
	ld	h,0
	ld	bc,15
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy2),a
	call	_cm_two_points
	ld	a,(_at1)
	cp	8
	jp	z,i_130	;
	ld	a,(_at2)
	cp	8
	jp	z,i_130	;
	ld	hl,0	;const
	jr	i_131
.i_130
	ld	hl,1	;const
.i_131
	ld	h,0
	ret


	C_LINE	559,"engine.h::mons_col_sc_x::0::99"

; Function mons_col_sc_y flags 0x00000200 __smallc 
; unsigned char mons_col_sc_y()
	C_LINE	559,"engine.h::mons_col_sc_y::0::99"
._mons_col_sc_y
	ld	hl,__en_my
	call	l_gchar
	ld	de,0
	ex	de,hl
	call	l_gt
	jp	nc,i_132	;
	ld	hl,(__en_y)
	ld	h,0
	ld	bc,15
	add	hl,bc
	jp	i_133	;
.i_132
	ld	hl,(__en_y)
	ld	h,0
.i_133
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cy2),a
	ld	a,l
	ld	(_cy1),a
	ld	hl,(__en_x)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx1),a
	ld	hl,(__en_x)
	ld	h,0
	ld	bc,15
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_cx2),a
	call	_cm_two_points
	ld	a,(_at1)
	cp	8
	jp	z,i_134	;
	ld	a,(_at2)
	cp	8
	jp	z,i_134	;
	ld	hl,0	;const
	jr	i_135
.i_134
	ld	hl,1	;const
.i_135
	ld	h,0
	ret


	C_LINE	135,"mk1.c::mons_col_sc_y::0::100"
	C_LINE	0,"engine/player.h::mons_col_sc_y::0::100"
	C_LINE	6,"engine/player.h::mons_col_sc_y::0::100"

; Function player_locate flags 0x00000200 __smallc 
; void player_locate()
	C_LINE	6,"engine/player.h::player_locate::0::100"
._player_locate
			ld a, 0
			ld (_tengo_llave), a
			ld (_en_hoyo), a
			ld (_cavando), a
			ld (_frames_cavando), a
			ld (_enem_actual), a
			ld (_tocado), a
			ld (_power_time), a
			ld (_power_type), a
			ld (_picado), a
	ld	hl,0	;const
	push	hl
	ld	hl,3	;const
	push	hl
	call	cpc_SetColour
	pop	bc
	pop	bc
	ld	a,(_tiempo_nivel)
	ld	(_timer_t),a
	ld	a,6
	ld	(_p_facing),a
	ld	a,2
	ld	(_p_estado),a
	ld	hl,30	;const
	ld	a,l
	ld	(_p_ct_estado),a
			ld a, 99
			ld (_life_old), a
			ld (_power_t_desaparece), a
	ld	hl,(_x_start)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	hl,_gpx
	ld	(hl),a
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_x),hl
	ld	hl,(_y_start)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	hl,_gpy
	ld	(hl),a
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_y),hl
	ret


	C_LINE	41,"engine/player.h::player_locate::0::101"

; Function player_init flags 0x00000200 __smallc 
; void player_init()
	C_LINE	41,"engine/player.h::player_init::0::101"
._player_init
			ld a, 0
			ld (_score), a
			ld (_p_vy), a
			ld (_p_vx), a
			ld (_p_frame), a
			ld (_p_subframe), a
			ld (_p_estado), a
			ld (_p_ct_estado), a
			ld (_p_objs), a
			ld (_p_killed), a
			ld (_timer_count), a
			ld (_timer_zero), a
	ld	a,5
	ld	(_p_life),a
	ld	hl,1	;const
	ld	(_old_score),hl
	ld	a,32
	ld	(_timer_frames),a
	ld	hl,1	;const
	ld	a,l
	ld	(_timer_on),a
	ret


	C_LINE	113,"engine/player.h::player_init::0::102"

; Function player_calc_bounding_box flags 0x00000200 __smallc 
; void player_calc_bounding_box()
	C_LINE	113,"engine/player.h::player_calc_bounding_box::0::102"
._player_calc_bounding_box
			ld  a, (_gpx)
			srl a
			srl a
			srl a
			srl a
			ld  (_ptx1), a
			ld  a, (_gpx)
			add 15
			srl a
			srl a
			srl a
			srl a
			ld  (_ptx2), a
			ld  a, (_gpy)
			srl a
			srl a
			srl a
			srl a
			ld  (_pty1), a
			ld  a, (_gpy)
			add 15
			srl a
			srl a
			srl a
			srl a
			ld  (_pty2), a
	ret


	C_LINE	209,"engine/player.h::player_calc_bounding_box::0::103"

; Function player_move flags 0x00000200 __smallc 
; unsigned char player_move()
	C_LINE	209,"engine/player.h::player_move::0::103"
._player_move
	call	_control_vars
	ld	hl,(_press_up)
	ld	a,h
	or	l
	jp	nz,i_137	;
	ld	hl,(_press_down)
	ld	a,h
	or	l
	jp	nz,i_137	;
	jr	i_138
.i_137
	ld	hl,1	;const
.i_138
	call	l_lneg
	jp	c,i_139	;
	ld	a,(_cavando)
	and	a
	jp	z,i_136	;
.i_139
	xor	a
	ld	(_wall_v),a
	ld	hl,(_gpy)
	ld	h,0
	ld	a,15
	and	l
	ld	l,a
	jr	nz,ASMPC+3
	scf
	jp	nc,i_141	;
	ld	hl,0	;const
	ld	(_p_vy),hl
	jp	i_142	;EOS
	defc	i_141 = i_142
.i_136
	ld	hl,(_press_up)
	ld	a,h
	or	l
	jp	z,i_143	;
	ld	hl,65408	;const
	ld	(_p_vy),hl
	jp	i_144	;EOS
.i_143
	ld	hl,(_press_down)
	ld	a,h
	or	l
	jp	z,i_145	;
	ld	hl,128	;const
	ld	(_p_vy),hl
.i_145
.i_144
.i_142
	C_LINE	0,"./my/ci/custom_veng.h::player_move::1::109"
	C_LINE	328,"engine/player.h::player_move::1::109"
	ld	a,(_power_type)
	cp	11
	jp	nz,i_146	;
	ld	de,(_p_y)
	ld	hl,(_p_vy)
	add	hl,de
	ld	(_p_y),hl
.i_146
	ld	de,(_p_y)
	ld	hl,(_p_vy)
	add	hl,de
	ld	(_p_y),hl
	ld	de,6
	call	l_asr_hl_by_e
	ld	h,0
	ld	a,l
	ld	(_gpy),a
	call	_player_calc_bounding_box
	ld	a,(_ptx1)
	ld	(_cx1),a
	ld	a,(_ptx2)
	ld	(_cx2),a
	ld	hl,(_p_vy)
	ld	a,h
	rla
	jp	nc,i_147	;
	ld	hl,(_pty1)
	ld	a,l
	ld	(_cy2),a
	ld	(_cy1),a
	call	_cm_two_points
	ld	a,(_at1)
	cp	8
	jp	z,i_149	;
	ld	a,(_at2)
	cp	8
	jp	nz,i_148	;
.i_149
	C_LINE	0,"./my/ci/bg_collision/obstacle_up.h::player_move::3::111"
	C_LINE	361,"engine/player.h::player_move::3::111"
	ld	hl,0	;const
	ld	(_p_vy),hl
	ld	hl,(_pty1)
	ld	h,0
	inc	hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	hl,_gpy
	ld	(hl),a
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_y),hl
	ld	a,1
	ld	(_wall_v),a
	jp	i_151	;EOS
.i_148
	ld	hl,4	;const
	ld	a,l
	ld	(_p_facing),a
.i_151
.i_147
	ld	hl,(_p_vy)
	ld	de,0
	ex	de,hl
	call	l_gt
	jp	nc,i_152	;
	ld	hl,(_pty2)
	ld	a,l
	ld	(_cy2),a
	ld	(_cy1),a
	call	_cm_two_points
	ld	a,(_at1)
	cp	8
	jp	z,i_154	;
	ld	a,(_at2)
	cp	8
	jp	nz,i_153	;
.i_154
	C_LINE	0,"./my/ci/bg_collision/obstacle_down.h::player_move::3::113"
	C_LINE	405,"engine/player.h::player_move::3::113"
	ld	hl,0	;const
	ld	(_p_vy),hl
	ld	hl,(_pty2)
	ld	h,0
	dec	hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	hl,_gpy
	ld	(hl),a
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_y),hl
	ld	a,2
	ld	(_wall_v),a
	jp	i_156	;EOS
.i_153
	ld	hl,6	;const
	ld	a,l
	ld	(_p_facing),a
.i_156
.i_152
	ld	hl,(_gpx)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_gpxx),a
	ld	hl,(_gpy)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_gpyy),a
	ld	hl,(_press_left)
	ld	a,h
	or	l
	jp	nz,i_158	;
	ld	hl,(_press_right)
	ld	a,h
	or	l
	jp	nz,i_158	;
	jr	i_159
.i_158
	ld	hl,1	;const
.i_159
	call	l_lneg
	jp	c,i_160	;
	ld	a,(_cavando)
	and	a
	jp	z,i_157	;
.i_160
	ld	hl,(_gpx)
	ld	h,0
	ld	a,15
	and	l
	ld	l,a
	jr	nz,ASMPC+3
	scf
	jp	nc,i_162	;
	ld	hl,0	;const
	ld	(_p_vx),hl
.i_162
	xor	a
	ld	(_wall_h),a
	jp	i_163	;EOS
.i_157
	ld	hl,(_press_left)
	ld	a,h
	or	l
	jp	z,i_164	;
	ld	hl,65408	;const
	ld	(_p_vx),hl
.i_164
	ld	hl,(_press_right)
	ld	a,h
	or	l
	jp	z,i_165	;
	ld	hl,128	;const
	ld	(_p_vx),hl
.i_165
.i_163
	C_LINE	0,"./my/ci/custom_heng.h::player_move::1::117"
	C_LINE	546,"engine/player.h::player_move::1::117"
	ld	a,(_power_type)
	cp	11
	jp	nz,i_166	;
	ld	de,(_p_x)
	ld	hl,(_p_vx)
	add	hl,de
	ld	(_p_x),hl
.i_166
	ld	de,(_p_x)
	ld	hl,(_p_vx)
	add	hl,de
	ld	(_p_x),hl
	ld	a,(_gpx)
	ld	(_gpox),a
	ld	hl,(_p_x)
	ld	de,6
	call	l_asr_hl_by_e
	ld	h,0
	ld	a,l
	ld	(_gpx),a
	call	_player_calc_bounding_box
	ld	a,(_pty1)
	ld	(_cy1),a
	ld	a,(_pty2)
	ld	(_cy2),a
	ld	hl,(_p_vx)
	ld	a,h
	rla
	jp	nc,i_167	;
	ld	hl,(_ptx1)
	ld	a,l
	ld	(_cx2),a
	ld	(_cx1),a
	call	_cm_two_points
	ld	a,(_at1)
	cp	8
	jp	z,i_169	;
	ld	a,(_at2)
	cp	8
	jp	nz,i_168	;
.i_169
	C_LINE	0,"./my/ci/bg_collision/obstacle_left.h::player_move::3::119"
	C_LINE	577,"engine/player.h::player_move::3::119"
	ld	hl,0	;const
	ld	(_p_vx),hl
	ld	hl,(_ptx1)
	ld	h,0
	inc	hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	hl,_gpx
	ld	(hl),a
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_x),hl
	ld	a,3
	ld	(_wall_h),a
	jp	i_171	;EOS
.i_168
	ld	hl,2	;const
	ld	a,l
	ld	(_p_facing),a
.i_171
.i_167
	ld	hl,(_p_vx)
	ld	de,0
	ex	de,hl
	call	l_gt
	jp	nc,i_172	;
	ld	hl,(_ptx2)
	ld	a,l
	ld	(_cx2),a
	ld	(_cx1),a
	call	_cm_two_points
	ld	a,(_at1)
	cp	8
	jp	z,i_174	;
	ld	a,(_at2)
	cp	8
	jp	nz,i_173	;
.i_174
	C_LINE	0,"./my/ci/bg_collision/obstacle_right.h::player_move::3::122"
	C_LINE	613,"engine/player.h::player_move::3::122"
	ld	hl,0	;const
	ld	(_p_vx),hl
	ld	hl,(_ptx1)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	hl,_gpx
	ld	(hl),a
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_x),hl
	ld	a,4
	ld	(_wall_h),a
	jp	i_176	;EOS
.i_173
	ld	hl,0	;const
	ld	a,l
	ld	(_p_facing),a
.i_176
.i_172
	ld	hl,(_gpx)
	ld	h,0
	ld	bc,8
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_p_tx),a
	ld	a,l
	ld	(_cx1),a
	ld	hl,(_gpy)
	ld	h,0
	ld	bc,8
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_p_ty),a
	ld	a,l
	ld	(_cy1),a
	ld	hl,(_cx1)
	ld	h,0
	push	hl
	ld	hl,(_cy1)
	ld	h,0
	push	hl
	call	_attr
	pop	bc
	pop	bc
	ld	h,0
	ld	a,l
	ld	(_rdb),a
	ret


	C_LINE	768,"engine/player.h::player_move::0::123"

; Function player_animation flags 0x00000200 __smallc 
; void player_animation()
	C_LINE	768,"engine/player.h::player_animation::0::123"
._player_animation
	ld	hl,(_p_vx)
	ld	a,h
	or	l
	jp	nz,i_178	;
	ld	hl,(_p_vy)
	ld	a,h
	or	l
	jp	nz,i_178	;
	ld	a,(_cavando)
	and	a
	jp	nz,i_178	;
	ld	a,(_p_killme)
	and	a
	jp	z,i_177	;
.i_178
	ld	hl,(_p_subframe)
	ld	h,0
	inc	hl
	ld	a,l
	ld	hl,_p_subframe
	ld	(hl),a
	cp	4
	jp	nz,i_180	;
	xor	a
	ld	(_p_subframe),a
	ld	hl,(_p_frame)
	ld	h,0
	call	l_lneg
	ld	h,0
	ld	a,l
	ld	(_p_frame),a
.i_180
.i_177
	ld	a,(_p_killme)
	and	a
	jp	z,i_181	;
	ld	hl,(_p_facing)
	ld	h,0
	inc	hl
	inc	hl
	ld	a,l
	ld	hl,_p_facing
	ld	(hl),a
	cp	10
	jp	nz,i_182	;
	xor	a
	ld	(_p_facing),a
.i_182
	xor	a
	ld	(_p_frame),a
.i_181
	ld	hl,_sp_sw
	push	hl
	ld	hl,_sm_sprptr
	push	hl
	ld	de,(_p_facing)
	ld	d,0
	ld	hl,(_p_frame)
	ld	h,d
	add	hl,de
	ex	de,hl
	ld	hl,(_frames_cavando)
	ld	h,0
	add	hl,de
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	call	l_pint_pop
	ld	a,(_en_hoyo)
	and	a
	jp	z,i_184	;
	ld	a,(_p_killme)
	sub	18
	jp	nc,i_184	;
	defc	i_184 = i_183
.i_185_i_184
	ld	de,_sp_sw
	ld	hl,(_sm_sprptr+48)
	call	l_pint
.i_183
	ld	hl,_sp_sw+8
	push	hl
	ld	hl,(_gpx)
	ld	h,0
	ld	bc,8
	add	hl,bc
	push	hl
	ld	hl,_sp_sw+6
	call	l_gchar
	pop	de
	add	hl,de
	ld	a,l
	rrca
	rrca
	and	63
	ld	l,a
	pop	de
	ld	(de),a
	ld	hl,_sp_sw+9
	push	hl
	ld	hl,(_gpy)
	ld	h,0
	ld	bc,24
	add	hl,bc
	push	hl
	ld	hl,_sp_sw+7
	call	l_gchar
	pop	de
	add	hl,de
	pop	de
	ld	a,l
	ld	(de),a
	ld	a,(_p_estado)
	and	2
	jp	z,i_187	;
	ld	a,(_half_life)
	and	a
	jp	z,i_187	;
	defc	i_187 = i_186
.i_188_i_187
	ld	de,_sp_sw
	ld	hl,_sprite_18_a
	call	l_pint
.i_186
	ret


	C_LINE	829,"engine/player.h::player_animation::0::127"

; Function player_kill flags 0x00000200 __smallc 
; void player_kill()
	C_LINE	829,"engine/player.h::player_kill::0::127"
._player_kill
	xor	a
	ld	(_p_killme),a
	ld	(_en_hoyo),a
	ld	a,6
	ld	(_p_facing),a
	ld	a,(_timer_t)
	and	a
	jp	nz,i_189	;
	ld	a,99
	ld	(_o_pant),a
.i_189
	ld	a,2
	ld	(_p_estado),a
	ld	hl,50	;const
	ld	a,l
	ld	(_p_ct_estado),a
	ret


	C_LINE	136,"mk1.c::player_kill::0::129"
	C_LINE	0,"engine/enengine.h::player_kill::0::129"
	C_LINE	28,"engine/enengine.h::player_kill::0::129"

; Function enems_load flags 0x00000200 __smallc 
; void enems_load()
	C_LINE	28,"engine/enengine.h::enems_load::0::129"
._enems_load
	xor	a
	ld	(_enoffs),a
	ld	(_enit),a
	jp	i_192	;EOS
.i_190
	ld	hl,_enit
	inc	(hl)
	ld	l,(hl)
	ld	h,0
.i_192
	ld	a,(_enit)
	sub	3
	jp	nc,i_191	;
	ld	de,_en_an_frame
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	(hl),0
	ld	de,_en_an_state
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	(hl),0
	ld	de,_en_an_count
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	(hl),3
	ld	de,(_enoffs)
	ld	d,0
	ld	hl,(_enit)
	ld	h,d
	add	hl,de
	ld	h,0
	ld	a,l
	ld	(_enoffsmasi),a
	C_LINE	0,"./my/ci/enems_custom_respawn.h::enems_load::3::131"
	C_LINE	51,"engine/enengine.h::enems_load::3::131"
	ld	hl,_en_an_next_frame
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	ex	de,hl
	ld	hl,_sprite_18_a
	call	l_pint
	ld	hl,_malotes
	push	hl
	ld	hl,(_enoffsmasi)
	ld	h,0
	ld	b,h
	ld	c,l
	add	hl,hl
	add	hl,hl
	add	hl,bc
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,8
	add	hl,bc
	ld	a,(hl)
	and	31
	ld	hl,_rdt
	ld	(hl),a
	and	a
	jp	z,i_193	;
	ld	de,_en_an_base_frame
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	(hl),16
	jp	i_194	;EOS
.i_193
	ld	de,_en_an_base_frame
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	(hl),255
.i_194
	ld	hl,(_enit)
	inc	l
	ld	a,l
	ld	(_rda),a
	ld	a,(_rdt)
	and	a
	jp	z,i_195	;
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_rda)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,6
	add	hl,bc
	ld	d,h
	ld	e,l
	xor	a
	ld	(de),a
	ld	hl,(_rdt)
	ld	h,0
.i_198
	ld	a,l
	cp	+(1% 256)
	jp	z,i_199	;
	cp	+(2% 256)
	jp	z,i_200	;
	cp	+(3% 256)
	jp	z,i_201	;
	jp	i_197	;EOS
.i_199
	ld	a,248
	call	l_sxt
	ld	a,l
	ld	(_aux4),a
	jp	i_197	;EOS
.i_200
	xor	a
	ld	(_aux4),a
	jp	i_197	;EOS
.i_201
	xor	a
	ld	(_aux4),a
.i_197
	ld	hl,(_rdt)
	dec	l
	ld	a,l
	ld	(_aux3),a
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_rda)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,7
	add	hl,bc
	ex	de,hl
	ld	hl,_aux4
	ld	a,(hl)
	ld	(de),a
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_rda)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,12
	add	hl,bc
	push	hl
	ld	hl,_sm_invfunc
	push	hl
	ld	hl,(_aux3)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	call	l_pint_pop
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_rda)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,14
	add	hl,bc
	push	hl
	ld	hl,_sm_updfunc
	push	hl
	ld	hl,(_aux3)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	call	l_pint_pop
	ld	hl,_en_an_next_frame
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	push	hl
	ld	hl,_sm_sprptr
	push	hl
	ld	hl,(_rdb)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	call	l_pint_pop
	jp	i_202	;EOS
.i_195
	ld	hl,_en_an_next_frame
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	ex	de,hl
	ld	hl,_sprite_18_a
	call	l_pint
.i_202
	C_LINE	0,"./my/ci/enems_extra_mods.h::enems_load::3::136"
	C_LINE	160,"engine/enengine.h::enems_load::3::136"
	jp	i_190	;EOS
.i_191
	ret


	C_LINE	179,"engine/enengine.h::enems_load::0::136"

; Function enems_move flags 0x00000200 __smallc 
; void enems_move()
	C_LINE	179,"engine/enengine.h::enems_move::0::136"
._enems_move
	xor	a
	ld	(_enit),a
	jp	i_205	;EOS
.i_203
	ld	hl,_enit
	ld	a,(hl)
	inc	(hl)
.i_205
	ld	a,(_enit)
	sub	3
	jp	nc,i_204	;
	xor	a
	ld	(_active),a
	ld	de,(_enoffs)
	ld	d,0
	ld	hl,(_enit)
	ld	h,d
	add	hl,de
	ld	h,0
	ld	a,l
	ld	(_enoffsmasi),a
				ld 	hl, (_enoffsmasi)
				ld  h, 0
				add hl, hl 				 
				ld  d, h
				ld  e, l 				 
				add hl, hl 				 
				add hl, hl 				 
				add hl, de 				 
				ld  de, _malotes
				add hl, de
				ld  (__baddies_pointer), hl 		 
				ld  a, (hl)
				ld  (__en_x), a
				inc hl 
				ld  a, (hl)
				ld  (__en_y), a
				inc hl 
				ld  a, (hl)
				ld  (__en_x1), a
				inc hl 
				ld  a, (hl)
				ld  (__en_y1), a
				inc hl 
				ld  a, (hl)
				ld  (__en_x2), a
				inc hl 
				ld  a, (hl)
				ld  (__en_y2), a
				inc hl 
				ld  a, (hl)
				ld  (__en_mx), a
				inc hl 
				ld  a, (hl)
				ld  (__en_my), a
				inc hl 
				ld  a, (hl)
				ld  (__en_t), a
				and 0x1f
				ld  (_rdt), a
				inc hl 
				ld  a, (hl)
				ld  (__en_life), a
	ld	de,_en_an_state
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	a,(hl)
	cp	4
	jp	nz,i_206	;
	ld	de,_en_an_count
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	dec	(hl)
	ld	de,_en_an_count
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	a,(hl)
	and	a
	jp	nz,i_207	;
	ld	hl,(__en_y)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(__y),a
	ld	hl,(__en_x)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	hl,__x
	ld	(hl),a
	ld	e,(hl)
	ld	d,0
	ld	hl,(_x_respawn)
	ld	h,d
	call	l_ne
	jp	c,i_209	;
	ld	de,(__y)
	ld	d,0
	ld	hl,(_y_respawn)
	ld	h,d
	call	l_ne
	jp	nc,i_208	;
.i_209
	ld	a,1
	ld	(__t),a
	ld	hl,0	;const
	ld	a,l
	ld	(__n),a
	call	_update_tile
.i_208
	ld	de,_en_an_state
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	(hl),0
	jp	i_203	;EOS
.i_207
.i_206
	ld	hl,(_rdt)
	ld	a,l
	and	a
	jp	z,i_211	;
	C_LINE	0,"./engine/enem_mods/enem_type_lineal.h::enems_move::4::142"
	ld	de,_en_an_state
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	a,(hl)
	ld	(_en_estado),a
	ld	a,(_power_type)
	cp	12
	jp	nz,i_212	;
	ld	hl,2	;const
	ld	a,l
	ld	(_en_estado),a
.i_212
	call	_mover_enemigo
	ld	hl,(_rdt)
	ld	h,0
.i_215
	ld	a,l
	cp	+(1% 256)
	jp	z,i_216	;
	cp	+(2% 256)
	jp	z,i_218	;
	cp	+(3% 256)
	jp	z,i_223	;
	jp	i_225	;EOS
.i_216
	call	_elegir_camino
	ld	hl,(_aux1)
	call	l_lneg
	call	c,_comprobar_limites
.i_217
	call	_comprobar_tile_pisado
	call	_animar_enemigo
	ld	de,_en_an_base_frame
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ex	de,hl
	ld	hl,_aux2
	ld	a,(hl)
	ld	(de),a
	jp	i_214	;EOS
.i_218
	call	_comprobar_limites
	ld	hl,(_running_snakes)
	ld	a,l
	and	a
	jp	z,i_219	;
	call	_mover_enemigo
	call	_comprobar_limites
.i_219
	ld	hl,(_n_pant)
	ld	h,0
	ld	a,22
	sub	l
	jp	nc,i_220	;
	ld	a,(_maincounter)
	cp	170
	jp	nz,i_221	;
	ld	a,1
	ld	(_running_snakes),a
.i_221
	ld	a,(_maincounter)
	and	a
	jp	nz,i_222	;
	ld	hl,0	;const
	ld	a,l
	ld	(_running_snakes),a
.i_222
.i_220
	call	_animar_enemigo
	ld	de,_en_an_base_frame
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	push	hl
	ld	hl,(_aux2)
	ld	h,0
	ld	bc,9
	add	hl,bc
	pop	de
	ld	a,l
	ld	(de),a
	jp	i_214	;EOS
.i_223
	call	_elegir_camino
	ld	hl,(_aux1)
	call	l_lneg
	call	c,_comprobar_limites
.i_224
	call	_comprobar_tile_pisado
	call	_animar_enemigo
	ld	de,_en_an_base_frame
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	push	hl
	ld	hl,(_aux2)
	ld	h,0
	ld	bc,17
	add	hl,bc
	pop	de
	ld	a,l
	ld	(de),a
	jp	i_214	;EOS
.i_225
	ld	hl,_en_an_next_frame
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	ex	de,hl
	ld	hl,_sprite_18_a
	call	l_pint
.i_214
	C_LINE	327,"engine/enengine.h::enems_move::4::147"
.i_211
	ld	a,(_active)
	and	a
	jp	z,i_226	;
	ld	de,_en_an_base_frame
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	l,(hl)
	ld	h,0
	ld	a,l
	cp	99
	jp	z,i_227	;
						ld  bc, (_enit)
						ld  b, 0
						ld  hl, _en_an_count
						add hl, bc
						ld  a, (hl)
						inc a
						ld  (hl), a
						cp  4
						jr  nz, _enems_move_update_frame_done
						xor a
						ld  (hl), a
						ld  hl, _en_an_frame
						add hl, bc
						ld  a, (hl)
						xor 1
						ld  (hl), a
						ld  hl, _en_an_base_frame
						add hl, bc
						ld  d, (hl)
						add d 							; A = en_an_base_frame [enit] + en_an_frame [enit]]
						sla c 							; Index 16 bits; it never overflows.
						ld  hl, _en_an_next_frame
						add hl, bc
						ex de, hl 						; DE -> en_an_next_frame [enit]
						sla a
						ld  c, a
						ld  b, 0
						ld  hl, _sm_sprptr
						add hl, bc 						; HL -> enem_cells [en_an_base_frame [enit] + en_an_frame [enit]]
						ldi
						ldi 							; Copy 16 bit
					._enems_move_update_frame_done
.i_227
	C_LINE	0,"./my/ci/custom_enems_player_collision.h::enems_move::5::150"
	C_LINE	418,"engine/enengine.h::enems_move::5::150"
	ld	de,(_enem_actual)
	ld	d,0
	ld	hl,(_enit)
	ld	h,d
	call	l_eq
	jp	nc,i_228	;
	ld	a,(__en_x)
	ld	(_cx2),a
	ld	a,(__en_y)
	ld	(_cy2),a
	ld	a,(_tocado)
	and	a
	jp	nz,i_229	;
	call	_collide
	ld	a,h
	or	l
	jp	z,i_230	;
	ld	a,(_p_estado)
	and	a
	jp	nz,i_231	;
	ld	hl,__en_t
	call	l_gchar
	ld	a,l
	xor	128
	sub	131
	jp	nc,i_232	;
	ld	a,1
	ld	(_tocado),a
	ld	a,50
	ld	(_p_killme),a
	jp	i_233	;EOS
.i_232
	ld	hl,0	;const
	push	hl
	ld	hl,12	;const
	push	hl
	call	cpc_SetColour
	pop	bc
	pop	bc
	ld	a,5
	ld	(_power_time),a
	ld	hl,1	;const
	ld	(_picado),hl
.i_233
	C_LINE	0,"./my/ci/on_enems_collision.h::enems_move::10::157"
	C_LINE	486,"engine/enengine.h::enems_move::10::157"
.i_231
.i_230
.i_229
.i_228
.i_234
	C_LINE	0,"./my/ci/enems_extra_actions.h::enems_move::4::157"
	C_LINE	538,"engine/enengine.h::enems_move::4::157"
.i_226
	ld	hl,(_enit)
	inc	l
	ld	a,l
	ld	(_rda),a
	ld	de,_en_an_sprid
	ld	hl,(_enit)
	ld	h,0
	add	hl,de
	ld	a,(hl)
	ld	(_rdt),a
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_rda)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,8
	add	hl,bc
	push	hl
	ld	hl,(__en_x)
	ld	h,0
	ld	bc,8
	add	hl,bc
	push	hl
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_rda)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,6
	add	hl,bc
	call	l_gchar
	pop	de
	add	hl,de
	ld	a,l
	rrca
	rrca
	and	63
	ld	l,a
	pop	de
	ld	(de),a
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_rda)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,9
	add	hl,bc
	push	hl
	ld	hl,(__en_y)
	ld	h,0
	ld	bc,24
	add	hl,bc
	push	hl
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_rda)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,7
	add	hl,bc
	call	l_gchar
	pop	de
	add	hl,de
	pop	de
	ld	a,l
	ld	(de),a
	ld	a,(_rdt)
	cp	255
	jp	z,i_235	;
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_rda)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	push	hl
	ld	hl,_en_an_next_frame
	push	hl
	ld	hl,(_enit)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	call	l_gint	;
	call	l_pint_pop
	jp	i_236	;EOS
.i_235
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_rda)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ex	de,hl
	ld	hl,_sprite_18_a
	call	l_pint
.i_236
				ld  hl, (__baddies_pointer) 		 
				ld  a, (__en_x)
				ld  (hl), a
				inc hl
				ld  a, (__en_y)
				ld  (hl), a
				inc hl
				ld  a, (__en_x1)
				ld  (hl), a
				inc hl
				ld  a, (__en_y1)
				ld  (hl), a
				inc hl
				ld  a, (__en_x2)
				ld  (hl), a
				inc hl
				ld  a, (__en_y2)
				ld  (hl), a
				inc hl
				ld  a, (__en_mx)
				ld  (hl), a
				inc hl
				ld  a, (__en_my)
				ld  (hl), a
				inc hl
				ld  a, (__en_t)
				ld  (hl), a
				inc hl
				ld  a, (__en_life)
				ld  (hl), a
	jp	i_203	;EOS
.i_204
	ret


	C_LINE	137,"mk1.c::enems_move::0::157"
	C_LINE	0,"sound/arkos_cpc.h::enems_move::0::157"
	C_LINE	7,"sound/arkos_cpc.h::enems_move::0::157"

; Function init_arkos flags 0x00000200 __smallc 
; void init_arkos()
	C_LINE	7,"sound/arkos_cpc.h::init_arkos::0::157"
._init_arkos
		di
		; Turn off arkos play routine
		ld a, 201				; Insert a RET!
		ld (  34868 +0x000A ), a
		ld a, 195
		ld (0x38), a
		ld HL,_interrupcion
		ld (0x0039),HL
		jp term
	._int_original  
		defw 0
	._interrupcion
		push af
		push bc
		push hl
		push de
		push ix
		push iy
		exx
		ex af, af
		push af
		push bc
		push de
		push hl
		ld a, (_isrc)
		inc a
		ld (_isrc), a
		ld a, (_frames_counter)
		add a, 1
		ld (_frames_counter), a
	.___reduce
		cp  6
		jr  c, ___noreduce
		sub 6
		jr  ___reduce
	.___noreduce		
		;and 0x1f
		;or  0x40
		;ld  bc, 0x7F10
		;out (c), c
		;out (c), a
		ld a, (_arkc)
		inc a
		cp 6
		jp nz, _noplayer
		call   34868 +0x000A 
		xor a
	._noplayer
		ld (_arkc), a
		pop hl 
		pop de 
		pop bc
		pop af 
		ex af, af
		exx
		pop iy
		pop ix
		pop de 
		pop hl 
		pop bc 
		pop af
		ei
		ret
	.term
	ld	hl,34597	;const
	push	hl
	ld	hl,60928	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ld	hl,33458	;const
	push	hl
	ld	hl,34868	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ret


	C_LINE	120,"sound/arkos_cpc.h::init_arkos::0::158"

; Function music_play flags 0x00000200 __smallc 
; void music_play(unsigned char n)
; parameter 'unsigned char n' at sp+2 size(1)
	C_LINE	120,"sound/arkos_cpc.h::music_play::0::158"
._music_play
	ld	hl,_musics
	push	hl
	ld	hl,4	;const
	add	hl,sp
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	pop	de
	add	hl,de
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	push	de
	ld	hl,33458	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
		ld de,  33458 
		call   34868 +0x06FE 
		ld de,  0xE800 + 0x600 
		call   34868 +0x0762 
		ld a, 175
		ld (  34868 +0x000A ), a
	ret


	C_LINE	150,"sound/arkos_cpc.h::music_play::0::159"

; Function sfx_play flags 0x00000200 __smallc 
; void sfx_play(unsigned char n)
; parameter 'unsigned char n' at sp+2 size(1)
	C_LINE	150,"sound/arkos_cpc.h::sfx_play::0::159"
._sfx_play
		ld a,  1 
		ld h, 15
		ld e, 50
		ld d, 0
		ld bc, 0
		call   34868 +0x0776 
	ret


	C_LINE	163,"sound/arkos_cpc.h::sfx_play::0::160"

; Function music_stop flags 0x00000200 __smallc 
; void music_stop()
	C_LINE	163,"sound/arkos_cpc.h::music_stop::0::160"
._music_stop
		call   34868 +0x0753 
		; Turn off arkos play routine
		ld a, 201
		ld (  34868 +0x000A ), a
	ret


	C_LINE	152,"mk1.c::music_stop::0::161"
	C_LINE	0,"my/title_screen.h::music_stop::0::161"
	C_LINE	6,"my/title_screen.h::music_stop::0::161"

; Function title_screen flags 0x00000200 __smallc 
; void title_screen()
	C_LINE	6,"my/title_screen.h::title_screen::0::161"
._title_screen
	ld	hl,_def_keys
	ld	(__gp_gen),hl
	call	_copy_keys
	call	_blackout
	ld	de,(_score)
	ld	hl,(_hiscore)
	and	a
	sbc	hl,de
	jp	nc,i_237	;
	ld	hl,(_score)
	ld	(_hiscore),hl
	call	_update_records
	call	_show_records
.i_237
	ld	hl,0	;const
	ld	(_bonus_time),hl
	ld	hl,5	;const
	ld	(_next_bonus),hl
	ld	hl,5000	;const
	ld	(_next_extra_life),hl
	ld	hl,_s_title
	push	hl
	ld	hl,36864	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ld	hl,1	;const
	call	cpc_ShowTileMap
	ld	hl,18000	;const
	ld	(_aux1),hl
.i_238
	ld	hl,10	;const
	call	cpc_TestKey
	ld	a,h
	or	l
	jp	z,i_240	;
	ld	hl,_def_keys
	ld	(__gp_gen),hl
	jp	i_239	;EOS
.i_240
	ld	hl,11	;const
	call	cpc_TestKey
	ld	a,h
	or	l
	jp	z,i_241	;
	ld	hl,_def_keys_joy
	ld	(__gp_gen),hl
	jp	i_239	;EOS
.i_241
	ld	hl,8	;const
	call	cpc_TestKey
	ld	a,h
	or	l
	jp	nz,i_243	;
	ld	hl,(_aux1)
	ld	a,h
	or	l
	jp	nz,i_242	;
.i_243
	ld	hl,(_vueltas_intro)
	ld	h,0
	ld	a,l
	and	a
	jp	nz,i_245	;
	call	_intro
	jp	i_246	;EOS
.i_245
	call	_show_records
.i_246
	ld	hl,18000	;const
	ld	(_aux1),hl
	ld	hl,_vueltas_intro
	ld	a,(hl)
	dec	(hl)
	ld	hl,_s_title
	push	hl
	ld	hl,36864	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ld	hl,1	;const
	call	cpc_ShowTileMap
.i_242
	ld	hl,(_aux1)
	dec	hl
	ld	(_aux1),hl
	jp	i_238	;EOS
.i_239
	call	_music_stop
	call	_copy_keys
	ld	hl,0	;const
	ld	(_aux1),hl
	ret


	C_LINE	155,"mk1.c::title_screen::0::167"
	C_LINE	0,"mainloop.h::title_screen::0::167"
	C_LINE	7,"mainloop.h::title_screen::0::167"

; Function main flags 0x00000000 __stdc 
; void main()
	C_LINE	7,"mainloop.h::main::0::168"
._main
		di
		ld  hl, 0xC000
		xor a
		ld  (hl), a
		ld  de, 0xC001
		ld  bc, 0x3DFF
		ldir
		ld  a, 195
		ld  (0x38), a
		ld  hl, _isr
		ld  (0x39), hl
		jp  isr_done
	._isr
		push af 
		pop af
		ei
		ret
	.isr_c1 
		defb 0
	.isr_done
	call	_init_arkos
		ld 	a, 0x54
		ld  bc, 0x7F11
		out (c), c
		out (c), a
	ld	hl,_trpixlutc
	push	hl
	ld	hl,65024	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	call	_blackout
	ld	hl,_my_inks
	push	hl
	call	_pal_set
	pop	bc
	ld	hl,0	;const
	call	cpc_SetMode
		; Horizontal chars (32), CRTC REG #1
		ld    b, 0xbc
		ld    c, 1			; REG = 1
		out   (c), c
		inc   b
		ld    c, 32			; VALUE = 32
		out   (c), c
		; Horizontal pos (42), CRTC REG #2
		ld    b, 0xbc
		ld    c, 2			; REG = 2
		out   (c), c
		inc   b
		ld    c, 42			; VALUE = 42
		out   (c), c
		; Vertical chars (24), CRTC REG #6
		ld    b, 0xbc
		ld    c, 6			; REG = 6
		out   (c), c
		inc   b
		ld    c, 24			; VALUE = 24
		out   (c), c
	ld	hl,_sp_sw+6
	ld	d,h
	ld	e,l
	xor	a
	ld	(de),a
	ld	hl,_sp_sw+7
	ld	d,h
	ld	e,l
	ld	a,248
	ld	(de),a
	ld	de,_sp_sw+12
	ld	hl,cpc_PutSpTileMap8x24
	call	l_pint
	ld	de,_sp_sw+14
	ld	hl,cpc_PutTrSp8x24TileMap2b
	call	l_pint
	ld	hl,_sp_sw
	push	hl
	inc	hl
	inc	hl
	ex	de,hl
	ld	hl,(_sm_sprptr)
	call	l_pint
	call	l_pint_pop
	ld	a,1
	ld	(_gpit),a
	jp	i_249	;EOS
.i_247
	ld	hl,_gpit
	ld	a,(hl)
	inc	(hl)
.i_249
	ld	a,(_gpit)
	sub	4
	jp	nc,i_248	;
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_gpit)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,12
	add	hl,bc
	ex	de,hl
	ld	hl,cpc_PutSpTileMap4x8
	call	l_pint
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_gpit)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,14
	add	hl,bc
	ex	de,hl
	ld	hl,cpc_PutTrSp4x8TileMap2b
	call	l_pint
	jp	i_247	;EOS
.i_248
	xor	a
	ld	(_gpit),a
	jp	i_252	;EOS
.i_250
	ld	hl,_gpit
	inc	(hl)
	ld	l,(hl)
	ld	h,0
.i_252
	ld	a,(_gpit)
	sub	4
	jp	nc,i_251	;
	ld	de,_spr_on
	ld	hl,(_gpit)
	ld	h,0
	add	hl,de
	ld	(hl),0
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_gpit)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,10
	add	hl,bc
	ld	(hl),2
	ld	hl,_sp_sw
	push	hl
	ld	hl,(_gpit)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	bc,11
	add	hl,bc
	ld	(hl),24
	jp	i_250	;EOS
.i_251
		ei
	C_LINE	0,"my/ci/after_load.h::main::1::171"
	call	_intro
	C_LINE	186,"mainloop.h::main::1::171"
.i_253
	call	_title_screen
	C_LINE	0,"my/ci/before_game.h::main::2::172"
	C_LINE	205,"mainloop.h::main::2::172"
	C_LINE	0,"mainloop/game_loop.h::main::3::173"
		; Makes debugging easier
		._game_loop_init
	ld	hl,1	;const
	ld	a,l
	ld	(_playing),a
	call	_player_init
	xor	a
	ld	(_n_pant),a
	ld	(_maincounter),a
	ld	hl,1	;const
	push	hl
	call	_music_play
	pop	bc
	C_LINE	0,"./my/ci/entering_game.h::main::3::173"
	C_LINE	51,"mainloop/game_loop.h::main::3::173"
	ld	hl,0	;const
	ld	a,l
	ld	(_half_life),a
	ld	a,l
	ld	(_success),a
	ld	(_p_killme),a
	ld	hl,255	;const
	ld	a,l
	ld	(_life_old),a
	ld	a,l
	ld	(_objs_old),a
	ld	a,255
	ld	(_o_pant),a
.i_255
	ld	hl,(_playing)
	ld	a,l
	and	a
	jp	z,i_256	;
			; Makes debugging easier
			._game_loop_do
	ld	de,(_o_pant)
	ld	d,0
	ld	hl,(_n_pant)
	ld	h,d
	call	l_ne
	jp	nc,i_257	;
	C_LINE	0,"./my/ci/before_entering_screen.h::main::5::175"
	ld	hl,_s_marco
	push	hl
	ld	hl,36864	;const
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ld	hl,1	;const
	call	cpc_ShowTileMap
	C_LINE	0,"./my/ci/../level_screen.h::main::5::175"
	ld	hl,0	;const
	ld	(_bonus_time),hl
	ld	hl,60	;const
	ld	(_tiempo_nivel),hl
	ld	a,(_n_pant)
	and	a
	jp	z,i_258	;
	ld	de,(_n_pant)
	ld	d,0
	ld	hl,(_next_bonus)
	call	l_eq
	jp	nc,i_259	;
	ld	hl,1	;const
	ld	(_bonus_time),hl
	ld	hl,(_next_bonus)
	ld	bc,11
	add	hl,bc
	ld	(_next_bonus),hl
.i_259
.i_258
	ld	a,11
	ld	(__x),a
	ld	a,12
	ld	(__y),a
	ld	hl,(_bonus_time)
	ld	a,h
	or	l
	jp	z,i_260	;
	ld	hl,i_1+558
	ld	(__gp_gen),hl
	call	_print_str
	ld	hl,30	;const
	ld	(_tiempo_nivel),hl
	jp	i_261	;EOS
.i_260
	ld	a,10
	ld	(__x),a
	ld	hl,i_1+552
	ld	(__gp_gen),hl
	call	_print_str
	ld	a,17
	ld	(__x),a
	ld	a,12
	ld	(__y),a
	ld	hl,(_n_pant)
	inc	l
	ld	h,0
	ld	a,l
	ld	(__t),a
	call	_print_number2
.i_261
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	hl,1	;const
	ld	(_old_score),hl
	push	hl
	call	_sfx_play
	pop	bc
	ld	hl,100	;const
	push	hl
	call	_espera_activa
	pop	bc
	ld	hl,_levels
	push	hl
	ld	hl,(_n_pant)
	ld	h,0
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	push	de
	ld	hl,_mapa
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	ld	hl,_levels
	push	hl
	ld	hl,(_n_pant)
	ld	h,0
	add	hl,hl
	add	hl,hl
	pop	de
	add	hl,de
	inc	hl
	inc	hl
	ld	e,(hl)
	inc	hl
	ld	d,(hl)
	push	de
	ld	hl,_malotes
	push	hl
	call	_unpack
	pop	bc
	pop	bc
	C_LINE	15,"./my/ci/before_entering_screen.h::main::5::180"
	C_LINE	100,"mainloop/game_loop.h::main::5::180"
	xor	a
	ld	(_p_objs),a
	ld	hl,0	;const
	ld	a,l
	ld	(_current_screen_pow),a
	call	_music_stop
	call	_draw_scr
	ld	hl,(_n_pant)
	ld	h,0
	ld	a,l
	ld	(_o_pant),a
	call	_player_locate
	ld	hl,0	;const
	push	hl
	call	_music_play
	pop	bc
.i_257
	ld	hl,(_timer_zero)
	ld	a,l
	and	a
	jp	z,i_262	;
	call	_time_over
	xor	a
	ld	(_timer_zero),a
	ld	hl,(_bonus_time)
	call	l_lneg
	jp	nc,i_263	;
	ld	a,60
	ld	(_p_killme),a
	jp	i_264	;EOS
.i_263
	ld	hl,100	;const
	push	hl
	call	_espera_activa
	pop	bc
	ld	hl,_n_pant
	ld	a,(hl)
	inc	(hl)
	ld	l,a
	ld	h,0
								jp _salir_de_rutinas
.i_264
.i_262
	ld	a,(_timer_on)
	and	a
	jp	z,i_266	;
	ld	a,(_timer_t)
	and	a
	jp	z,i_266	;
	defc	i_266 = i_265
.i_267_i_266
	ld	hl,_timer_count
	ld	a,(hl)
	inc	(hl)
	ld	de,(_timer_count)
	ld	d,0
	ld	hl,(_timer_frames)
	ld	h,d
	call	l_eq
	jp	nc,i_268	;
	xor	a
	ld	(_timer_count),a
	ld	a,(_power_time)
	and	a
	jp	nz,i_269	;
	ld	hl,_timer_t
	ld	a,(hl)
	dec	(hl)
	jp	i_270	;EOS
.i_269
	ld	a,(_power_type)
	cp	12
	jp	z,i_271	;
	ld	hl,_timer_t
	ld	a,(hl)
	dec	(hl)
.i_271
	ld	hl,_power_time
	ld	a,(hl)
	dec	(hl)
	ld	a,(_power_time)
	and	a
	jp	nz,i_272	;
	xor	a
	ld	(_power_type),a
	ld	hl,0	;const
	push	hl
	ld	hl,3	;const
	push	hl
	call	cpc_SetColour
	pop	bc
	pop	bc
	ld	hl,0	;const
	ld	(_picado),hl
.i_272
.i_270
	ld	de,(_timer_t)
	ld	d,0
	ld	hl,(_power_t_desaparece)
	ld	h,d
	call	l_eq
	jp	nc,i_273	;
	ld	hl,1	;const
	ld	a,l
	ld	(__t),a
	call	_print_powerup
	ld	a,99
	ld	(_power_t_desaparece),a
.i_273
	ld	a,(_timer_t)
	and	a
	jp	nz,i_274	;
	ld	hl,1	;const
	ld	a,l
	ld	(_timer_zero),a
.i_274
.i_268
.i_265
	ld	hl,(_enem_actual)
	ld	h,0
	ld	a,l
	and	a
	jp	nz,i_275	;
	C_LINE	0,"./mainloop/hud.h::main::5::188"
	ld	de,(_score)
	ld	hl,(_old_score)
	call	l_ne
	jp	nc,i_276	;
	call	_print_score
	ld	de,(_score)
	ld	hl,(_next_extra_life)
	and	a
	sbc	hl,de
	jp	nc,i_277	;
	ld	hl,_p_life
	ld	a,(hl)
	inc	(hl)
	ld	hl,(_next_extra_life)
	ld	bc,5000
	add	hl,bc
	ld	(_next_extra_life),hl
.i_277
.i_276
	ld	de,(_p_objs)
	ld	d,0
	ld	hl,(_objs_old)
	ld	h,d
	call	l_ne
	jp	nc,i_278	;
	ld	a,22
	ld	(__x),a
	ld	a,1
	ld	(__y),a
	ld	hl,(_p_objs)
	ld	h,0
	ld	a,l
	ld	(__t),a
	call	_print_number2
	ld	a,((_p_objs))
	ld	(_objs_old),a
.i_278
	ld	de,(_power_time)
	ld	d,0
	ld	hl,(_power_time_old)
	ld	h,d
	call	l_ne
	jp	nc,i_279	;
	ld	a,29
	ld	(__x),a
	ld	a,1
	ld	(__y),a
	ld	hl,(_power_time)
	ld	h,0
	ld	a,l
	ld	(__t),a
	call	_print_number2
	ld	a,((_power_time))
	ld	(_power_time_old),a
.i_279
	ld	de,(_p_life)
	ld	d,0
	ld	hl,(_life_old)
	ld	h,d
	call	l_ne
	jp	nc,i_280	;
	ld	hl,(_p_life)
	ld	h,0
	ld	a,l
	ld	(_life_old),a
	call	_print_lives
.i_280
	ld	de,(_timer_t)
	ld	d,0
	ld	hl,(_timer_old)
	ld	h,d
	call	l_ne
	jp	nc,i_281	;
	call	_print_time
	C_LINE	199,"mainloop/game_loop.h::main::5::194"
.i_281
.i_275
	ld	hl,_maincounter
	ld	a,(hl)
	inc	(hl)
	ld	hl,(_half_life)
	ld	h,0
	call	l_lneg
	ld	a,l
	ld	(_half_life),a
	ld	a,(_p_killme)
	and	a
	jp	z,i_282	;
	ld	hl,_p_killme
	ld	a,(hl)
	dec	(hl)
	ld	a,(_p_killme)
	and	a
	jp	nz,i_283	;
	xor	a
	ld	(_tocado),a
	ld	hl,_p_life
	ld	a,(hl)
	dec	(hl)
	ld	hl,(_p_life)
	ld	a,l
	and	a
	jp	z,i_284	;
	call	_player_kill
	C_LINE	0,"./my/ci/on_player_killed.h::main::7::197"
	C_LINE	213,"mainloop/game_loop.h::main::7::197"
	jp	i_285	;EOS
.i_284
	xor	a
	ld	(_playing),a
	jp	i_286	;EOS
	defc	i_285 = i_286
.i_283
	ld	a,(_p_killme)
	cp	105
	jp	nz,i_287	;
	ld	hl,(_tele_x1)
	ld	h,0
	push	hl
	ld	hl,(_gpx)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	pop	de
	call	l_eq
	jp	nc,i_289	;
	ld	hl,(_tele_y1)
	ld	h,0
	push	hl
	ld	hl,(_gpy)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	pop	de
	call	l_eq
	jp	nc,i_289	;
	defc	i_289 = i_288
.i_290_i_289
	ld	hl,(_tele_x2)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	(_gpx),a
	ld	hl,(_tele_y2)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	(_gpy),a
	jp	i_291	;EOS
.i_288
	ld	hl,(_tele_x1)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	(_gpx),a
	ld	hl,(_tele_y1)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	h,0
	ld	a,l
	ld	(_gpy),a
.i_291
	ld	hl,(_gpx)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_x),hl
	ld	hl,(_gpy)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_y),hl
.i_287
	ld	a,(_p_killme)
	cp	90
	jp	nz,i_292	;
	xor	a
	ld	(_p_killme),a
	ld	a,6
	ld	(_p_facing),a
	xor	a
	ld	(_tocado),a
	jp	i_293	;EOS
	defc	i_292 = i_293
	defc	i_286 = i_293
.i_282
	call	_player_move
.i_293
	call	_player_animation
	ld	hl,_enem_actual
	ld	a,(hl)
	inc	(hl)
	ld	a,(_enem_actual)
	cp	3
	jp	nz,i_294	;
	ld	hl,0	;const
	ld	a,l
	ld	(_enem_actual),a
.i_294
	call	_enems_move
.i_295
	ld	hl,(_frames_counter)
	ld	h,0
	ld	a,l
	sub	12
	jp	nc,i_296	;
						halt
	jp	i_295	;EOS
.i_296
	xor	a
	ld	(_frames_counter),a
	ld	hl,1	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	ld	a,(_p_estado)
	cp	2
	jp	nz,i_297	;
	ld	a,(_power_type)
	cp	14
	jp	z,i_298	;
	ld	hl,_p_ct_estado
	ld	a,(hl)
	dec	(hl)
	ld	a,(_p_ct_estado)
	and	a
	jp	nz,i_299	;
	ld	hl,0	;const
	ld	a,l
	ld	(_p_estado),a
.i_299
.i_298
.i_297
	ld	hl,6	;const
	call	cpc_TestKey
	ld	a,h
	or	l
	jp	z,i_300	;
	ld	hl,_n_pant
	ld	a,(hl)
	inc	(hl)
	ld	l,a
	ld	h,0
	C_LINE	0,"./mainloop/flick_screen.h::main::4::207"
	C_LINE	366,"mainloop/game_loop.h::main::4::207"
.i_300
	C_LINE	0,"./my/ci/extra_routines.h::main::4::208"
	ld	a,(_cavando)
	and	a
	jp	nz,i_302	;
	ld	hl,4	;const
	call	cpc_TestKey
	ld	a,l
	ld	hl,_rda
	ld	(hl),a
	and	a
	jp	z,i_303	;
	ld	a,(_cavando)
	and	a
	jp	nz,i_305	;
	ld	a,(_p_killme)
	and	a
	jp	nz,i_305	;
	defc	i_305 = i_304
.i_306_i_305
	ld	hl,_gpx
	ld	a,7
	add	(hl)
	ld	(hl),a
	ld	hl,_gpy
	ld	a,7
	add	(hl)
	ld	(hl),a
	ld	hl,(_gpx)
	ld	h,0
	ld	a,240
	and	l
	ld	(_gpx),a
	ld	hl,(_gpy)
	ld	h,0
	ld	a,240
	and	l
	ld	l,a
	ld	hl,_gpy
	ld	(hl),a
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_y),hl
	ld	hl,(_gpx)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_x),hl
	ld	a,(_p_facing)
	sub	4
	jp	nc,i_307	;
	ld	hl,(_gpx)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	inc	hl
	ex	de,hl
	ld	hl,(_p_facing)
	ld	h,0
	ex	de,hl
	and	a
	sbc	hl,de
	ld	a,l
	ld	(_x_hoyo),a
	ld	hl,(_gpy)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(_y_hoyo),a
	jp	i_308	;EOS
.i_307
	ld	hl,(_gpy)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	dec	hl
	push	hl
	ld	hl,(_p_facing)
	ld	h,0
	ld	bc,-4
	add	hl,bc
	pop	de
	add	hl,de
	ld	a,l
	ld	(_y_hoyo),a
	ld	hl,(_gpx)
	ld	h,0
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	(_x_hoyo),a
.i_308
	ld	hl,(_x_hoyo)
	ld	h,0
	push	hl
	ld	hl,(_y_hoyo)
	ld	h,0
	push	hl
	call	_qtile
	pop	bc
	pop	bc
	ld	a,l
	ld	hl,_rdb
	ld	(hl),a
	and	a
	jp	z,i_310	;
	ld	a,(_rdb)
	sub	4
	jp	nc,i_310	;
	defc	i_310 = i_309
.i_311_i_310
			ld a, 0
			ld (_p_vx), a
			ld (_p_vy), a
			ld a, 8
			ld (_frames_cavando), a
	ld	hl,(_rdb)
	ld	h,0
	ld	de,18
	call	l_mult
	ld	a,l
	ld	(_cavando),a
	jp	i_312	;EOS
.i_309
			call _reset_cavando
	jp	i_313	;EOS
	defc	i_312 = i_313
	defc	i_304 = i_313
	defc	i_303 = i_313
.i_302
	ld	hl,_cavando
	ld	a,(hl)
	dec	(hl)
	ld	a,(_power_type)
	cp	13
	jp	nz,i_314	;
	ld	hl,_cavando
	ld	a,(hl)
	dec	(hl)
.i_314
	ld	a,(_x_hoyo)
	ld	(__x),a
	ld	a,(_y_hoyo)
	ld	(__y),a
	xor	a
	ld	(__t),a
	ld	a,(_cavando)
	cp	10
	jp	z,i_316	;
	cp	24
	jp	z,i_316	;
	ld	a,(_cavando)
	cp	44
	jp	nz,i_315	;
.i_316
	ld	a,33
	ld	(__t),a
.i_315
	ld	a,(_cavando)
	and	a
	jp	nz,i_318	;
	ld	hl,2	;const
	ld	a,l
	ld	(__t),a
			call _reset_cavando
.i_318
	ld	a,(_cavando)
	cp	20
	jp	nz,i_319	;
	ld	hl,1	;const
	ld	a,l
	ld	(__t),a
			call _reset_cavando
.i_319
	ld	a,(_cavando)
	cp	40
	jp	nz,i_320	;
	ld	hl,(_enemigos_matados)
	ld	h,0
	ld	a,4
	sub	l
	jp	nc,i_322	;
	ld	hl,(_p_objs)
	ld	a,1
	sub	l
	jp	nc,i_322	;
	defc	i_322 = i_321
.i_323_i_322
	xor	a
	ld	(_enemigos_matados),a
	ld	a,(__x)
	ld	(_power_x),a
	ld	a,(__y)
	ld	(_power_y),a
	ld	a,(_current_screen_pow)
	and	a
	jp	z,i_324	;
	ld	a,(_current_screen_pow)
	ld	(__t),a
	xor	a
	ld	(_current_screen_pow),a
	jp	i_325	;EOS
.i_324
	call	_rand
	ld	de,3
	ex	de,hl
	call	l_div_u
	ex	de,hl
	ld	bc,41
	add	hl,bc
	ld	h,0
	ld	a,l
	ld	(__t),a
.i_325
	ld	hl,(_timer_t)
	ld	h,0
	ld	bc,-4
	add	hl,bc
	ld	a,l
	ld	(_power_t_desaparece),a
	ld	hl,_p_objs
	ld	a,(hl)
	dec	(hl)
	ld	hl,(_p_objs)
	ld	h,0
	ld	a,l
	and	a
	call	z,_pintar_llave
	jp	i_327	;EOS
	defc	i_326 = i_327
.i_321
	ld	hl,32	;const
	ld	a,l
	ld	(__t),a
.i_327
			call _reset_cavando
.i_320
	ld	a,(__t)
	and	a
	jp	z,i_328	;
	ld	de,_behs
	ld	hl,(__t)
	ld	h,0
	add	hl,de
	ld	l,(hl)
	ld	h,0
	ld	a,l
	ld	(__n),a
	call	_update_tile
.i_328
.i_313
	ld	hl,(_tengo_llave)
	ld	a,l
	and	a
	jp	z,i_329	;
		ld a, (_enem_actual)
		or a
		jr z, _otro_estado_flecha
		ld a, 34
		jr _lista_la_flecha
		._otro_estado_flecha
		ld a, 0
		._lista_la_flecha
		ld (__t), a
	call	_pintar_borrar_flecha
.i_329
	ld	a,(_half_life)
	and	a
	jp	z,i_330	;
	ld	hl,(_gpx)
	ld	h,0
	ld	bc,7
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(__x),a
	ld	hl,(_gpy)
	ld	h,0
	ld	bc,7
	add	hl,bc
	ld	a,l
	rrca
	rrca
	rrca
	rrca
	and	15
	ld	l,a
	ld	h,0
	ld	(__y),a
	ld	hl,(__x)
	ld	h,0
	push	hl
	ld	hl,(__y)
	ld	h,0
	push	hl
	call	_attr
	pop	bc
	pop	bc
	ld	a,l
	ld	hl,_rdb
	ld	(hl),a
	and	a
	jp	z,i_331	;
	ld	hl,(_rdb)
	ld	h,0
.i_334
	ld	a,l
	cp	+(3% 256)
	jp	z,i_335	;
	cp	+(1% 256)
	jp	z,i_337	;
	cp	+(9% 256)
	jp	z,i_338	;
	cp	+(4% 256)
	jp	z,i_342	;
	cp	+(6% 256)
	jp	z,i_343	;
	cp	+(10% 256)
	jp	z,i_346	;
	cp	+(11% 256)
	jp	z,i_348	;
	cp	+(12% 256)
	jp	z,i_349	;
	cp	+(13% 256)
	jp	z,i_350	;
	cp	+(14% 256)
	jp	z,i_351	;
	jp	i_333	;EOS
.i_335
	call	_print_suelo
	ld	hl,_p_objs
	ld	a,(hl)
	dec	(hl)
	ld	hl,(_score)
	ld	bc,50
	add	hl,bc
	ld	(_score),hl
	ld	hl,(_p_objs)
	ld	h,0
	ld	a,l
	and	a
	call	z,_pintar_llave
.i_336
	ld	hl,_enemigos_matados
	ld	a,(hl)
	inc	(hl)
	jp	i_333	;EOS
.i_337
.i_338
	ld	a,(_tocado)
	and	a
	jp	nz,i_340	;
	ld	a,(_p_estado)
	and	a
	jp	nz,i_340	;
	defc	i_340 = i_339
.i_341_i_340
				ld a, 1
				ld (_en_hoyo), a
				ld (_tocado), a
				ld a, 36
				ld (_p_killme), a
	ld	hl,(__x)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	(_gpx),a
	ld	hl,(__y)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	(_gpy),a
	jp	i_333	;EOS
	defc	i_339 = i_333
.i_342
	ld	hl,1	;const
	ld	a,l
	ld	(_tengo_llave),a
	call	_print_suelo
	jp	i_333	;EOS
.i_343
	ld	a,(_tengo_llave)
	and	a
	jp	z,i_344	;
	ld	hl,0	;const
	ld	a,l
	ld	(__t),a
	call	_pintar_borrar_flecha
	ld	hl,0	;const
	push	hl
	call	_cpc_UpdateNow
	pop	bc
	call	_zone_clear
	ld	hl,_n_pant
	ld	a,(hl)
	inc	(hl)
	ld	a,(_n_pant)
	cp	44
	jp	nz,i_345	;
	xor	a
	ld	(_playing),a
	ld	hl,1	;const
	ld	a,l
	ld	(_success),a
.i_345
					jp _salir_de_rutinas
	jp	i_333	;EOS
	defc	i_344 = i_333
.i_346
	ld	a,(_teleportable)
	and	a
	jp	z,i_347	;
	ld	a,120
	ld	(_p_killme),a
	ld	hl,(__x)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	(_gpx),a
	ld	hl,(__y)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	a,l
	ld	(_gpy),a
	xor	a
	ld	(_teleportable),a
	jp	i_333	;EOS
	defc	i_347 = i_333
.i_348
.i_349
.i_350
.i_351
	ld	a,(_rdb)
	ld	(_power_type),a
	ld	a,(_rdb)
	cp	12
	jp	nz,i_352	;
	ld	hl,0	;const
	push	hl
	push	hl
	call	cpc_SetColour
	pop	bc
	pop	bc
.i_352
	ld	a,(_rdb)
	cp	14
	jp	nz,i_353	;
	ld	a,2
	ld	(_p_estado),a
	ld	a,1
	ld	(_p_ct_estado),a
.i_353
	ld	a,(_rdb)
	cp	11
	jp	nz,i_354	;
	ld	hl,(_gpx)
	ld	h,0
	ld	a,254
	and	l
	ld	(_gpx),a
	ld	hl,(_gpy)
	ld	h,0
	ld	a,254
	and	l
	ld	l,a
	ld	hl,_gpy
	ld	(hl),a
	ld	l,(hl)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_y),hl
	ld	hl,(_gpx)
	ld	h,0
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	add	hl,hl
	ld	(_p_x),hl
.i_354
	ld	hl,10	;const
	ld	a,l
	ld	(_power_time),a
	call	_print_suelo
	jp	i_355	;EOS
	defc	i_333 = i_355
.i_331
	ld	hl,1	;const
	ld	a,l
	ld	(_teleportable),a
.i_355
.i_330
	ld	hl,(_maincounter)
	ld	h,0
	ld	de,7
	ex	de,hl
	call	l_div_u
	ex	de,hl
	ld	h,0
	ld	a,l
	ld	(_aux2),a
			ld a, (_tele_x1)
			or a
			jr z, _teleport_anim_done
			ld a, (_aux2)
			or a
			jr nz, _teleport_anim_done
			ld a, (_half_life)
			ld b, a
			ld a, 46
			add b
			ld (__t), a
			ld a, 10
			ld (__n), a
			ld a, (_tele_x1)
			ld (__x), a
			ld a, (_tele_y1)
			ld (__y), a
			call _update_tile
			ld a, (_tele_x2)
			ld (__x), a
			ld a, (_tele_y2)
			ld (__y), a
			call _update_tile
			._teleport_anim_done
	._salir_de_rutinas
	C_LINE	403,"mainloop/game_loop.h::main::4::233"
	jp	i_255	;EOS
.i_256
	call	_music_stop
	C_LINE	0,"./my/ci/after_game_loop.h::main::3::233"
	C_LINE	408,"mainloop/game_loop.h::main::3::233"
	C_LINE	246,"mainloop.h::main::3::233"
	ld	hl,(_success)
	ld	a,l
	and	a
	jp	z,i_356	;
	call	_fin
	jp	i_357	;EOS
.i_356
	call	_game_over
	C_LINE	0,"my/ci/after_game_over.h::main::4::235"
	C_LINE	286,"mainloop.h::main::4::235"
.i_357
	call	_clear_sprites
	C_LINE	0,"my/ci/after_game.h::main::2::235"
	ld	hl,_my_inks
	push	hl
	call	_pal_set
	pop	bc
	C_LINE	293,"mainloop.h::main::2::235"
	jp	i_253	;EOS
.i_254
	ret


	C_LINE	156,"mk1.c::main::0::235"
	SECTION	rodata_compiler
.i_1
	defm	"            "
	defb	0

	defm	" WELL DONE! "
	defb	0

	defm	"+"
	defb	0

	defm	""
	defb	34

	defm	" "
	defb	0

	defm	"UTRERA, 1938"
	defb	0

	defm	"AFTER HARD WORKING, JOHNNY PAL"
	defm	"AS"
	defb	0

	defm	"MADE A GREAT DISCOVERY, A SECR"
	defm	"ET"
	defb	0

	defm	"ENTRANCE TO THE LHOLHA FLOWERS"
	defm	""
	defb	0

	defm	"PHARAOH CHAMBER..."
	defb	0

	defm	"ACCORDING TO THE LEGEND, IF YO"
	defm	"U"
	defb	0

	defm	"ENTER THE PYRAMID, YOU WILL HA"
	defm	"VE"
	defb	0

	defm	"TO GET ALL THE GEMS OR YOU WIL"
	defm	"L"
	defb	0

	defm	"SUCCUMB TO THE CURSE..."
	defb	0

	defm	"YOU FINALLY MADE IT, JOHNNY!!"
	defb	0

	defm	"LUCKILY YOU ARE ALIVE TO SEE T"
	defm	"HE"
	defb	0

	defm	"SECRET LHOLHA FLOWERS CHAMBER."
	defm	".."
	defb	0

	defm	"LET'S SEE WHAT WONDERS HAVE BE"
	defm	"EN"
	defb	0

	defm	"HIDDEN FOR CENTURIES..."
	defb	0

	defm	"ALL THANKS TO OUR HERO..."
	defb	0

	defm	"JONNHY, IT IS TOO DARK..."
	defb	0

	defm	"LIGHT YOUR TORCH!"
	defb	0

	defm	"BEST DIGGERS"
	defb	0

	defm	"ESC TO MENU"
	defb	0

	defm	"GAME OVER"
	defb	0

	defm	" TIME'S UP! "
	defb	0

	defm	"LEVEL"
	defb	0

	defm	"BONUS TIME!"
	defb	0


; --- Start of Static Variables ---

	SECTION	bss_compiler
._pad0	defs	1
._enoffs	defs	1
._asm_number	defs	1
._asm_int	defs	2
._asm_int_2	defs	2
._seed	defs	2
._half_life	defs	1
._p_x	defs	2
._p_y	defs	2
._p_vx	defs	2
._p_vy	defs	2
._p_frame	defs	1
._p_subframe	defs	1
._p_facing	defs	1
._p_estado	defs	1
._p_ct_estado	defs	1
._p_life	defs	1
._p_objs	defs	1
._p_killed	defs	1
._p_killme	defs	1
._p_kill_amt	defs	1
._p_tx	defs	1
._p_ty	defs	1
._enit	defs	1
._enspit	defs	1
.__en_x	defs	1
.__en_y	defs	1
.__en_x1	defs	1
.__en_y1	defs	1
.__en_x2	defs	1
.__en_y2	defs	1
.__en_mx	defs	1
.__en_my	defs	1
.__en_t	defs	1
.__en_life	defs	1
.__baddies_pointer	defs	2
._o_pant	defs	1
._n_pant	defs	1
._is_rendering	defs	1
._maincounter	defs	1
._timer_on	defs	1
._timer_t	defs	1
._timer_frames	defs	1
._timer_count	defs	1
._timer_zero	defs	1
._gpx	defs	1
._gpox	defs	1
._gpy	defs	1
._gpd	defs	1
._gpc	defs	1
._gpt	defs	1
._gpxx	defs	1
._gpyy	defs	1
._gpcx	defs	1
._gpcy	defs	1
._wall_h	defs	1
._wall_v	defs	1
._gpen_x	defs	1
._gpen_y	defs	1
._gpen_cx	defs	1
._gpen_cy	defs	1
._gpaux	defs	1
._tocado	defs	1
._active	defs	1
._gpit	defs	1
._gpjt	defs	1
._enoffsmasi	defs	1
._map_pointer	defs	2
._rdx	defs	1
._rdy	defs	1
._rda	defs	1
._rdb	defs	1
._rdc	defs	1
._rdd	defs	1
._rdn	defs	1
._rdt	defs	1
._itj	defs	2
._objs_old	defs	1
._life_old	defs	1
._timer_old	defs	1
._gen_pt	defs	2
._playing	defs	1
._success	defs	1
.__x	defs	1
.__y	defs	1
.__n	defs	1
.__t	defs	1
._cx1	defs	1
._cy1	defs	1
._cx2	defs	1
._cy2	defs	1
._at1	defs	1
._at2	defs	1
._x0	defs	1
._y0	defs	1
._x1	defs	1
._y1	defs	1
._ptx1	defs	1
._pty1	defs	1
._ptx2	defs	1
._pty2	defs	1
.__gp_gen	defs	2
._isr_player_on	defs	1
._ram_address	defs	2
._ram_destination	defs	2
._isrc	defs	1
._isrc_max	defs	1
._arkc	defs	1
._frames_counter	defs	1
._subframes_counter	defs	1
._enemigo0	defs	1
._enemigo2	defs	1
._diferencia	defs	2
._aux1	defs	2
._aux4	defs	1
._aux2	defs	1
._aux3	defs	1
._vueltas_intro	defs	1
._cavando	defs	1
._frames_cavando	defs	1
._x_hoyo	defs	1
._y_hoyo	defs	1
._en_estado	defs	1
._en_hoyo	defs	1
._x_llave	defs	1
._y_llave	defs	1
._tengo_llave	defs	1
._x_start	defs	1
._y_start	defs	1
._x_respawn	defs	1
._y_respawn	defs	1
._enem_actual	defs	1
._running_snakes	defs	1
._teleportable	defs	1
._tele_x1	defs	1
._tele_x2	defs	1
._tele_y1	defs	1
._tele_y2	defs	1
._power_time	defs	1
._power_time_old	defs	1
._power_type	defs	1
._power_x	defs	1
._power_y	defs	1
._power_t_desaparece	defs	1
._current_screen_pow	defs	1
._enemigos_matados	defs	1
._score	defs	2
._old_score	defs	2
._hiscore	defs	2
._next_extra_life	defs	2
._tiempo_nivel	defs	2
._bonus_time	defs	2
._next_bonus	defs	2
._press_up	defs	2
._press_down	defs	2
._press_left	defs	2
._press_right	defs	2
._picado	defs	2
	SECTION	code_compiler


; --- Start of Scope Defns ---

	GLOBAL	cpc_PutSp
	GLOBAL	cpc_ShowTileMap
	GLOBAL	cpc_ShowScrTileMap
	GLOBAL	cpc_ShowScrTileMap2
	GLOBAL	cpc_UpdScrAddresses
	GLOBAL	cpc_TouchTileXY
	GLOBAL	cpc_TouchTileSpXY
	GLOBAL	cpc_ResetTouchedTiles
	GLOBAL	cpc_UpdScr
	GLOBAL	cpc_ShowTouchedTiles2
	GLOBAL	cpc_ShowTouchedTiles
	GLOBAL	cpc_PutSpTileMap
	GLOBAL	cpc_PutSpTileMap4x8
	GLOBAL	cpc_PutSpTileMap4x8Px
	GLOBAL	cpc_PutSpTileMap8x16
	GLOBAL	cpc_PutSpTileMap8x16Px
	GLOBAL	cpc_PutSpTileMap8x24
	GLOBAL	cpc_PutSpTileMap8x24Px
	GLOBAL	cpc_PutSpTileMapO
	GLOBAL	cpc_PutMaskSpTileMap2b
	GLOBAL	cpc_PutTrSpTileMap2b
	GLOBAL	cpc_PutORSpTileMap2b
	GLOBAL	cpc_PutSpTileMap2b
	GLOBAL	cpc_PutCpSpTileMap2b
	GLOBAL	cpc_PutMaskSpriteTileMap2b
	GLOBAL	cpc_PutTrSpriteTileMap2b
	GLOBAL	cpc_PutTrSp4x8TileMap2b
	GLOBAL	cpc_PutTrSp4x8TileMap2bPx
	GLOBAL	cpc_PutTrSp8x16TileMap2b
	GLOBAL	cpc_PutTrSp8x16TileMap2bPx
	GLOBAL	cpc_PutTrSp8x24TileMap2b
	GLOBAL	cpc_PutTrSp8x24TileMap2bPx
	GLOBAL	cpc_SuperbufferAddress
	GLOBAL	cpc_UpdateTileMap
	GLOBAL	cpc_SpUpdX
	GLOBAL	cpc_SpUpdY
	GLOBAL	cpc_CollSp
	GLOBAL	cpc_SetTile
	GLOBAL	cpc_SetTouchTileXY
	GLOBAL	cpc_ReadTile
	GLOBAL	cpc_PutSpXOR
	GLOBAL	cpc_PutSpriteXOR
	GLOBAL	cpc_PutMaskSprite
	GLOBAL	cpc_PutSprite
	GLOBAL	cpc_PutMaskSp
	GLOBAL	cpc_PutSpTr
	GLOBAL	cpc_PutMaskSp2x8
	GLOBAL	cpc_PutMaskSp4x16
	GLOBAL	cpc_PutTile2x8
	GLOBAL	cpc_PutTile4x16
	GLOBAL	cpc_SpRLM1
	GLOBAL	cpc_SpRRM1
	GLOBAL	cpc_SetInk
	GLOBAL	cpc_SetColour
	GLOBAL	cpc_SetBorder
	GLOBAL	cpc_SetMode
	GLOBAL	cpc_SetModo
	GLOBAL	cpc_TestKey
	GLOBAL	cpc_AnyKeyPressed
	GLOBAL	cpc_RedefineKey
	GLOBAL	cpc_AssignKey
	GLOBAL	cpc_DeleteKeys
	GLOBAL	cpc_PrintStr
	GLOBAL	cpc_GetScrAddress
	GLOBAL	cpc_Uncrunch
	GLOBAL	cpc_UnExo
	GLOBAL	cpc_GetSp
	GLOBAL	cpc_PrintGphStr
	GLOBAL	cpc_PrintGphStr2X
	GLOBAL	cpc_PrintGphStrXY
	GLOBAL	cpc_PrintGphStrXY2X
	GLOBAL	cpc_PrintGphStrM1
	GLOBAL	cpc_PrintGphStrXYM1
	GLOBAL	cpc_PrintGphStrM12X
	GLOBAL	cpc_PrintGphStrXYM12X
	GLOBAL	cpc_PrintGphStrStd
	GLOBAL	cpc_PrintGphStrStdXY
	GLOBAL	cpc_SetInkGphStr
	GLOBAL	cpc_SetInkGphStrM1
	GLOBAL	cpc_InitTileMap
	GLOBAL	cpc_ScrollLeft0
	GLOBAL	cpc_ScrollRight0
	GLOBAL	cpc_GetTiles
	GLOBAL	cpc_PutTiles
	GLOBAL	cpc_TouchTiles
	GLOBAL	cpc_RRI
	GLOBAL	cpc_RLI
	GLOBAL	cpc_DisableFirmware
	GLOBAL	cpc_EnableFirmware
	GLOBAL	cpc_ClrScr
	GLOBAL	cpc_ScanKeyboard
	GLOBAL	cpc_TestKeyF
	GLOBAL	_def_keys
	GLOBAL	_behs
	GLOBAL	_break_wall
	GLOBAL	_bullets_init
	GLOBAL	_bullets_update
	GLOBAL	_bullets_fire
	GLOBAL	_bullets_move
	GLOBAL	_enems_pursuers_init
	GLOBAL	_enems_init
	GLOBAL	_enems_draw_current
	GLOBAL	_enems_load
	GLOBAL	_enems_kill
	GLOBAL	_enems_move
	GLOBAL	_collide
	GLOBAL	_cm_two_points
	GLOBAL	_rand
	GLOBAL	_abs
	GLOBAL	_step
	GLOBAL	_player_init
	GLOBAL	_player_calc_bounding_box
	GLOBAL	_player_move
	GLOBAL	_player_deplete
	GLOBAL	_player_kill
	GLOBAL	_simple_coco_init
	GLOBAL	_simple_coco_shoot
	GLOBAL	_simple_coco_update
	GLOBAL	_SetRAMBank
	GLOBAL	_get_resource
	GLOBAL	_unpack
	GLOBAL	_beep_fx
	GLOBAL	_prepare_level
	GLOBAL	_game_over
	GLOBAL	_time_over
	GLOBAL	_pause_screen
	GLOBAL	_addsign
	GLOBAL	_espera_activa
	GLOBAL	_locks_init
	GLOBAL	_player_hidden
	GLOBAL	_run_fire_script
	GLOBAL	_process_tile
	GLOBAL	_draw_scr_background
	GLOBAL	_draw_scr
	GLOBAL	_select_joyfunc
	GLOBAL	_mons_col_sc_x
	GLOBAL	_mons_col_sc_y
	GLOBAL	_distance
	GLOBAL	_limit
	GLOBAL	_blackout
	GLOBAL	_attr
	GLOBAL	_qtile
	GLOBAL	_draw_coloured_tile
	GLOBAL	_invalidate_tile
	GLOBAL	_invalidate_viewport
	GLOBAL	_draw_invalidate_coloured_tile_gamearea
	GLOBAL	_draw_coloured_tile_gamearea
	GLOBAL	_draw_decorations
	GLOBAL	_update_tile
	GLOBAL	_print_number2
	GLOBAL	_draw_objs
	GLOBAL	_print_str
	GLOBAL	_blackout_area
	GLOBAL	_clear_sprites
	GLOBAL	_cpc_UpdateNow
	GLOBAL	_mem_save
	GLOBAL	_mem_load
	GLOBAL	_tape_save
	GLOBAL	_tape_load
	GLOBAL	_sg_submenu
	GLOBAL	_tilanims_add
	GLOBAL	_tilanims_do
	GLOBAL	_tilanims_reset
	GLOBAL	_music_play
	GLOBAL	_sfx_play
	GLOBAL	_music_stop
	GLOBAL	_pad0
	defc	_safe_byte	= 51199
	defc	_sp_sw	= 58880
	defc	_spr_next	= 58944
	defc	_spr_on	= 58952
	defc	_spr_x	= 58956
	defc	_spr_y	= 58960
	GLOBAL	_enoffs
	GLOBAL	_asm_number
	GLOBAL	_asm_int
	GLOBAL	_asm_int_2
	GLOBAL	_seed
	GLOBAL	_half_life
	GLOBAL	_p_x
	GLOBAL	_p_y
	GLOBAL	_p_vx
	GLOBAL	_p_vy
	GLOBAL	_p_frame
	GLOBAL	_p_subframe
	GLOBAL	_p_facing
	GLOBAL	_p_estado
	GLOBAL	_p_ct_estado
	GLOBAL	_p_life
	GLOBAL	_p_objs
	GLOBAL	_p_killed
	GLOBAL	_p_killme
	GLOBAL	_p_kill_amt
	GLOBAL	_p_tx
	GLOBAL	_p_ty
	GLOBAL	_spacer
	GLOBAL	_enit
	GLOBAL	_enspit
	defc	_en_an_base_frame	= 54784
	defc	_en_an_frame	= 54787
	defc	_en_an_count	= 54790
	defc	_en_an_sprid	= 54793
	defc	_en_an_state	= 54796
	defc	_en_an_x	= 54799
	defc	_en_an_y	= 54805
	defc	_en_an_vx	= 54811
	defc	_en_an_vy	= 54817
	defc	_en_an_alive	= 54823
	defc	_en_an_dead_row	= 54826
	defc	_en_an_rawv	= 54829
	defc	_cocos_x	= 54832
	defc	_cocos_y	= 54835
	defc	_cocos_mx	= 54838
	defc	_cocos_my	= 54841
	defc	_en_an_next_frame	= 54844
	GLOBAL	__en_x
	GLOBAL	__en_y
	GLOBAL	__en_x1
	GLOBAL	__en_y1
	GLOBAL	__en_x2
	GLOBAL	__en_y2
	GLOBAL	__en_mx
	GLOBAL	__en_my
	GLOBAL	__en_t
	GLOBAL	__en_life
	GLOBAL	__baddies_pointer
	defc	_map_attr	= 50688
	defc	_map_buff	= 50838
	GLOBAL	_o_pant
	GLOBAL	_n_pant
	GLOBAL	_is_rendering
	GLOBAL	_warp_to_level
	GLOBAL	_maincounter
	GLOBAL	_timer_on
	GLOBAL	_timer_t
	GLOBAL	_timer_frames
	GLOBAL	_timer_count
	GLOBAL	_timer_zero
	GLOBAL	_gpx
	GLOBAL	_gpox
	GLOBAL	_gpy
	GLOBAL	_gpd
	GLOBAL	_gpc
	GLOBAL	_gpt
	GLOBAL	_gpxx
	GLOBAL	_gpyy
	GLOBAL	_gpcx
	GLOBAL	_gpcy
	GLOBAL	_wall_h
	GLOBAL	_wall_v
	GLOBAL	_gpen_x
	GLOBAL	_gpen_y
	GLOBAL	_gpen_cx
	GLOBAL	_gpen_cy
	GLOBAL	_gpaux
	GLOBAL	_tocado
	GLOBAL	_active
	GLOBAL	_gpit
	GLOBAL	_gpjt
	GLOBAL	_enoffsmasi
	GLOBAL	_map_pointer
	GLOBAL	_rdx
	GLOBAL	_rdy
	GLOBAL	_rda
	GLOBAL	_rdb
	GLOBAL	_rdc
	GLOBAL	_rdd
	GLOBAL	_rdn
	GLOBAL	_rdt
	GLOBAL	_itj
	GLOBAL	_objs_old
	GLOBAL	_life_old
	GLOBAL	_timer_old
	GLOBAL	_gen_pt
	GLOBAL	_playing
	GLOBAL	_success
	GLOBAL	__x
	GLOBAL	__y
	GLOBAL	__n
	GLOBAL	__t
	GLOBAL	_cx1
	GLOBAL	_cy1
	GLOBAL	_cx2
	GLOBAL	_cy2
	GLOBAL	_at1
	GLOBAL	_at2
	GLOBAL	_x0
	GLOBAL	_y0
	GLOBAL	_x1
	GLOBAL	_y1
	GLOBAL	_ptx1
	GLOBAL	_pty1
	GLOBAL	_ptx2
	GLOBAL	_pty2
	GLOBAL	__gp_gen
	GLOBAL	_def_keys_joy
	GLOBAL	_isr_player_on
	GLOBAL	_ram_address
	GLOBAL	_ram_destination
	GLOBAL	_s_title
	GLOBAL	_s_marco
	GLOBAL	_s_ending
	GLOBAL	_s_intro1
	GLOBAL	_s_intro2
	GLOBAL	_s_ending2
	GLOBAL	_my_inks
	defc	_mapa	= 64
	GLOBAL	_tileset
	defc	_malotes	= 214
	GLOBAL	_hotspots
	GLOBAL	_sprites
	GLOBAL	_sprites_enems
	GLOBAL	_sprite_17_a
	GLOBAL	_sprite_18_a
	GLOBAL	_map_0
	GLOBAL	_map_1
	GLOBAL	_map_1a
	GLOBAL	_map_2
	GLOBAL	_map_2a
	GLOBAL	_map_3
	GLOBAL	_map_4
	GLOBAL	_map_5
	GLOBAL	_map_5b
	GLOBAL	_map_6
	GLOBAL	_map_7
	GLOBAL	_map_8
	GLOBAL	_map_9
	GLOBAL	_map_10
	GLOBAL	_map_10b
	GLOBAL	_map_11
	GLOBAL	_map_12
	GLOBAL	_map_13
	GLOBAL	_map_14
	GLOBAL	_map_15
	GLOBAL	_map_16
	GLOBAL	_map_17
	GLOBAL	_map_18
	GLOBAL	_map_19
	GLOBAL	_map_20
	GLOBAL	_map_20b
	GLOBAL	_map_21
	GLOBAL	_map_22
	GLOBAL	_map_23
	GLOBAL	_map_24
	GLOBAL	_map_25
	GLOBAL	_map_26
	GLOBAL	_map_27
	GLOBAL	_map_28
	GLOBAL	_map_29
	GLOBAL	_map_30
	GLOBAL	_map_30b
	GLOBAL	_map_31
	GLOBAL	_map_32
	GLOBAL	_map_33
	GLOBAL	_map_34
	GLOBAL	_map_35
	GLOBAL	_map_36
	GLOBAL	_map_37
	GLOBAL	_map_38
	GLOBAL	_map_39
	GLOBAL	_map_40
	GLOBAL	_ene0
	GLOBAL	_ene1
	GLOBAL	_ene1a
	GLOBAL	_ene2
	GLOBAL	_ene2a
	GLOBAL	_ene3
	GLOBAL	_ene4
	GLOBAL	_ene5
	GLOBAL	_ene6
	GLOBAL	_ene7
	GLOBAL	_ene8
	GLOBAL	_ene9
	GLOBAL	_ene10
	GLOBAL	_ene11
	GLOBAL	_ene12
	GLOBAL	_ene13
	GLOBAL	_ene14
	GLOBAL	_ene15
	GLOBAL	_ene16
	GLOBAL	_ene17
	GLOBAL	_ene18
	GLOBAL	_ene19
	GLOBAL	_ene20
	GLOBAL	_ene21
	GLOBAL	_ene22
	GLOBAL	_ene23
	GLOBAL	_ene24
	GLOBAL	_ene25
	GLOBAL	_ene26
	GLOBAL	_ene27
	GLOBAL	_ene28
	GLOBAL	_ene29
	GLOBAL	_ene30
	GLOBAL	_ene31
	GLOBAL	_ene32
	GLOBAL	_ene33
	GLOBAL	_ene34
	GLOBAL	_ene35
	GLOBAL	_ene36
	GLOBAL	_ene37
	GLOBAL	_ene_bonus
	GLOBAL	_levels
	GLOBAL	_sm_invfunc
	GLOBAL	_sm_updfunc
	GLOBAL	_sm_sprptr
	GLOBAL	_trpixlutc
	GLOBAL	_isrc
	GLOBAL	_isrc_max
	GLOBAL	_arkc
	GLOBAL	_mus_0
	GLOBAL	_mus_1
	GLOBAL	_musics
	GLOBAL	_frames_counter
	GLOBAL	_subframes_counter
	GLOBAL	_enemigo0
	GLOBAL	_enemigo2
	GLOBAL	_diferencia
	GLOBAL	_aux1
	GLOBAL	_aux4
	GLOBAL	_aux2
	GLOBAL	_aux3
	GLOBAL	_vueltas_intro
	GLOBAL	_cavando
	GLOBAL	_frames_cavando
	GLOBAL	_x_hoyo
	GLOBAL	_y_hoyo
	GLOBAL	_en_estado
	GLOBAL	_en_hoyo
	GLOBAL	_x_llave
	GLOBAL	_y_llave
	GLOBAL	_tengo_llave
	GLOBAL	_x_start
	GLOBAL	_y_start
	GLOBAL	_x_respawn
	GLOBAL	_y_respawn
	GLOBAL	_enem_actual
	GLOBAL	_running_snakes
	GLOBAL	_teleportable
	GLOBAL	_tele_x1
	GLOBAL	_tele_x2
	GLOBAL	_tele_y1
	GLOBAL	_tele_y2
	GLOBAL	_power_time
	GLOBAL	_power_time_old
	GLOBAL	_power_type
	GLOBAL	_power_x
	GLOBAL	_power_y
	GLOBAL	_power_t_desaparece
	GLOBAL	_current_screen_pow
	GLOBAL	_enemigos_matados
	GLOBAL	_score
	GLOBAL	_old_score
	GLOBAL	_hiscore
	GLOBAL	_next_extra_life
	GLOBAL	_tiempo_nivel
	GLOBAL	_bonus_time
	GLOBAL	_next_bonus
	GLOBAL	_press_up
	GLOBAL	_press_down
	GLOBAL	_press_left
	GLOBAL	_press_right
	GLOBAL	_picado
	GLOBAL	_records_score
	GLOBAL	_record_0
	GLOBAL	_record_1
	GLOBAL	_record_2
	GLOBAL	_record_3
	GLOBAL	_record_4
	GLOBAL	_record_5
	GLOBAL	_record_6
	GLOBAL	_record_7
	GLOBAL	_record_8
	GLOBAL	_record_9
	GLOBAL	_record_10
	GLOBAL	_record_names
	GLOBAL	__tile_address
	GLOBAL	_utaux
	GLOBAL	_pal_set
	GLOBAL	_print_time
	GLOBAL	_print_16bits
	GLOBAL	_print_score
	GLOBAL	_hueco_h_izq
	GLOBAL	_hueco_h_der
	GLOBAL	_hueco_v_arr
	GLOBAL	_hueco_v_aba
	GLOBAL	_mover_enemigo
	GLOBAL	_elegir_camino
	GLOBAL	_comprobar_limites
	GLOBAL	_pisa_tile
	GLOBAL	_animar_enemigo
	GLOBAL	_comprobar_tile_pisado
	GLOBAL	_pintar_llave
	GLOBAL	_pintar_borrar_flecha
	GLOBAL	_zone_clear
	GLOBAL	_print_lives
	GLOBAL	_print_powerup
	GLOBAL	_print_suelo
	GLOBAL	_reset_cavando
	GLOBAL	_copy_keys
	GLOBAL	_intro
	GLOBAL	_fin
	GLOBAL	_show_records
	GLOBAL	_update_records
	GLOBAL	_control_vars
	GLOBAL	_player_locate
	GLOBAL	_player_animation
	GLOBAL	_init_arkos
	GLOBAL	_title_screen
	GLOBAL	_main


; --- End of Scope Defns ---


; --- End of Compilation ---
