 org $bef0


 org $be00  ;$3f60
change_area
 lda czyodjac
 beq dontchange
findother
 lda sprite
 sta container
 lda pozycja
 sta container2
 ldx which_one_delete
 lda #0
 sta sprite
 sta $a200,x
 sta pozycja
 sta $f3
 sta $f5
 lda #100
 sta ile+1


 jsr _wyczysc
 jsr loop1

 jsr przepisz

 lda container
 sta sprite
 lda container2
 sta pozycja
 jsr getfnt
 jsr getfnt2
 jsr xgetfnt
 jsr xgetfntlo
	jsr xputfnt
	jsr putfnt
 jsr kratka
 lda #1
 sta updatesprites
	lda setflag
	cmp #2
	bne __oo
	jsr ccc
        jmp dontchange
__oo
	jsr cc

dontchange
 lda #0
 sta czyodjac
 rts

container dta 0
container2 dta 0
updatesprites dta 0

_wyczysc ldx #0 
        lda #0
	ldy #0
lowmem	sta $8000,y
	iny
	cpy #$30
	bne _wyczysc+6
 inc lowmem+2
 inx
 cpx #$17
 bne _wyczysc+4
 lda #$80
 sta lowmem+2
	rts




 org $4000


; zmieniony czyjeden 14.10 godz. 22.42

odchyl  
 lda $c0
; nop
; nop
        cmp gora
	bne *+5
	inc xmov
	cmp dol
	bne *+5
	dec xmov
	cmp lewo
	bne *+5
	dec ymov
	cmp prawo
	bne *+5
	inc ymov
	rts
odchyl2 
    
        cmp gora
	bne *+5
	inc xmov2
	cmp dol
	bne *+5
	dec xmov2
	cmp lewo
	bne *+5
	dec ymov2
	cmp prawo
	bne *+5
	inc ymov2
	rts

prelud 		jsr keepsprite1
	jsr bringsprite2
	lda #1
	sta $106
	lda #0
	sta $107
	jsr trnfnts
	jsr xputbcktlo	
	jsr putbck2



infinit2 nop		;black villain on the platform with bigger nr
	lda #1
	sta ktorysprite
        lda #0
        sta $10e          ; czy wejscie/zejscie
	lda #1
	sta $106
	lda $d010
	bne _e_
	lda setflag4
	bne _e_
	lda ruch2
	cmp #$4a    ;1a
	bcc _e_
	jsr target2

_e_	jsr checkkratka
	jsr takekratka
 jsr check_for_mine
_cap	jsr joymoved
        jsr artific
        sta $c0
 nop
	bne _a_
        jsr joymoved2
	beq _cap
_a_	lda set_flag7
        bne notin2
        jsr joymoved2
	lsr @
	lsr @
	lsr @
	lsr @
        sta $160            ;dla fazy ruchu !!!!!!!
	jsr odchyl2
	jsr movesprite
notin2
	lda #0
	sta $103
	sta $104
	sta $105

	jsr trnfnts2
	jsr putbck2
	jsr xputbcktlo

	
	jsr interface22

	jsr xputfntlo


	lda sprite
	sec
	sbc #1
	sta pozycja
	clc
	adc #26
	sta ile+1
 lda $103
 bne licz
 lda $104
 bne licz
 lda $10e
 bne licz
 lda updatesprites
 bne licz
 jmp nielicz
licz
 jsr clarifyea
	jsr loop2

nielicz		
        jsr miksuj2
        lda #0
        sta $10e          ; czy wejscie/zejscie
	lda #0
	sta $106
	sta ktorysprite
	jsr keepsprite2
	jsr bringsprite1
	jsr checkkratka
	jsr takekratka
 jsr check_for_mine
	lda #0
	sta $103
	sta $104
	sta $105

;	lda $d011
        jsr robot
	bne _x_z

	lda setflag3
	bne _x_z
	lda ruch1
	cmp #$1a
	bcc _x_z

	jsr target

_x_z	lda czy_robot
        bne klim
        lda set_flag6
        bne celownik
klim
        jsr joymoved
	jsr odchyl

        sta $15f       ; for sprite phases
	jsr movesprite
celownik	
	jsr getfnt2
	jsr acme
	jsr interface2

	jsr putfnt2







	lda sprite
	sec
	sbc #1
	sta pozycja
	clc
	adc #26
	cmp #100
	bcs qwert3
	sta ile+1
 lda $103
 bne licz4
 lda $104
 bne licz4
 lda $10e
 bne licz4
 lda updatesprites
 bne licz4
 jmp nielicz4

licz4
 jsr clarify14
	jsr loop2 ; loop1
	jmp wert3
qwert3  lda #100
	sta ile+1
 lda $103
 bne licz5
 lda $104
 bne licz5
 lda $10e
 bne licz5
 lda updatesprites
 bne licz5
 jmp nielicz4

licz5
 jsr clarify14
	jsr loop2 ;loop1

nielicz4
wert3		
	jsr miksuj
	jsr checkkratka
	jsr takekratka
	lda $d40b
	cmp #120
	bcc *-5

	jsr keepsprite1
	jsr bringsprite2

	jsr xmakemove
	jsr xmakemove2
	jsr xmakemove3

	jsr keepsprite2
	jsr bringsprite1

	jsr xtrnfnts
	jsr xtrnfnts2
	jsr makemove
	jsr makemove2
	jsr makemove3

	jsr keepsprite1
	jsr bringsprite2





        lda $13c
        and #1
        bne ekranzero4
        lda #$c8  ;9c
        sta ktoryzestaw+1
 jsr flip_screen
        jmp proceed
ekranzero4 
        lda #$c4  ;60
        sta ktoryzestaw+1
 jsr flip_screen
proceed inc $13c
	jsr xputfnt
	jsr putfnt

	lda #1
	sta $106
	sta ktorysprite	
	lda #0
	sta $103
	sta $104
	sta $105
 sta updatesprites

	lda #2
	sta setflag


	rts




dlainf11	
	lda #0
	sta $106
	lda #1
	sta $107
	jsr keepsprite2
	jsr bringsprite1
	jsr trnfnts2
	jsr putbck2
	jsr xputbcktlo

infinit11 nop		;ruch trudniejszy
	lda #0
	sta $106
        lda #0
        sta $10e          ; czy wejscie/zejscie
	lda #0
	sta ktorysprite
;	lda $d011
 jsr robot
 	bne _f_
	lda setflag3
	bne _f_
	lda ruch1
	cmp #$1a
	bcc _f_
	jsr target	


_f_	jsr checkkratka
	jsr takekratka
 jsr check_for_mine
_cam	jsr joymoved
        jsr artific
        sta $c0
 nop
	bne _b_
	jsr joymoved2
	beq _cam
_b_	lda czy_robot
        bne maxim
        lda set_flag6
        bne busy
maxim
        jsr joymoved
	jsr odchyl

        sta $15f

	jsr movesprite
busy
	lda #0
	sta $103
	sta $104
	sta $105


	jsr trnfnts
	jsr xputbcktlo
;	jsr putbck2

	jsr interface2

	jsr putfnt2


	lda sprite
	sec
	sbc #1
	sta pozycja
	clc
	adc #26
	sta ile+1
 lda $103
 bne licz2
 lda $104
 bne licz2
 lda $10e
 bne licz2
 lda updatesprites
 bne licz2
 jmp nielicz2
licz2
 jsr clarify14
	jsr loop2
nielicz2
	jsr miksuj
        lda #0
        sta $10e          ; czy wejscie/zejscie
	lda #1
	sta $106
	sta ktorysprite

	jsr keepsprite1
	jsr bringsprite2
	jsr checkkratka
	jsr takekratka
 jsr check_for_mine
	lda $d010
	bne _s_a
	lda setflag4
	bne _s_a
	lda ruch2
	cmp #$4a   ;1a
	bcc _s_a
	jsr target2

_s_a

	lda #0
	sta $103
	sta $104
	sta $105

	lda set_flag7
        bne notin
	jsr joymoved2
	lsr @
	lsr @
	lsr @
	lsr @
        sta $160   ;dla faz ruchu!!!!!!!!!!!!1
	jsr odchyl2
	jsr movesprite
notin
	jsr xgetfntlo
	jsr acme
	jsr interface22

	jsr xputfntlo


	lda sprite
	sec
	sbc #1
	sta pozycja
 lda $103
 bne licz3
 lda $104
 bne licz3
 lda $10e
 bne licz3
 lda updatesprites
 bne licz3
 jmp nielicz3
licz3
 jsr clarifyea
	jsr loop2
nielicz3
	jsr miksuj2


	lda $d40b
	cmp #120
	bne *-5


	jsr keepsprite2
	jsr bringsprite1

	jsr makemove
	jsr makemove2
	jsr makemove3


	jsr keepsprite1
	jsr bringsprite2	
	jsr xtrnfnts
	jsr xtrnfnts2
	jsr xmakemove
	jsr xmakemove2
	jsr xmakemove3

	jsr keepsprite2
	jsr bringsprite1




	jsr putfnt
	jsr xputfnt


        lda $13c
        and #1
        bne ekranzero5
        lda #$c8      ;9c
        sta ktoryzestaw+1
 jsr flip_screen
        jmp proceed2
ekranzero5
        lda #$c4      ;60
        sta ktoryzestaw+1
 jsr flip_screen
proceed2 inc $13c

	lda #0
	sta $106	
	sta ktorysprite
	sta $103
	sta $104
	sta $105

 sta updatesprites
	lda #1
	sta setflag

	rts

flip_screen
 lda $d40b
 cmp #29
 bcc nicht
 cmp #128
 bcs nicht
 lda ktoryzestaw+1
 sta $d409
nicht rts



trnfnts2	ldy #0
	lda tabl,y
	cmp #72
	bcc procce2
	jsr zmier2
procce2	iny
	cpy #12
	bne trnfnts2+2
	rts
zmier2    sec
	sbc #72
	tax
	lda xtabl,x
	sta tabl,y
	rts




trnfnts ldy #0
	lda xtabl,y
	cmp #84
	bcc procce
	jsr zmier
procce	iny
	cpy #12
	bne trnfnts+2
	rts
zmier    sec
	sbc #84
	tax
	lda tabl,x
	sta xtabl,y
	rts

xtrnfnts	ldy #0
	lda vtabl,y
	cmp #108
	bcc xprocce2
	jsr xzmier2
xprocce2	iny
	cpy #12
	bne xtrnfnts+2
	rts
xzmier2    sec
	sbc #108
	tax
	lda xtabl2,x
	sta vtabl,y
	rts




xtrnfnts2 ldy #0
	lda xtabl2,y
	cmp #96
	bcc xprocce
	jsr xzmier
xprocce	iny
	cpy #12
	bne xtrnfnts2+2
	rts
xzmier    sec
	sbc #96
	tax
	lda vtabl,x
	sta xtabl2,y
	rts	

makepozycjatab	lda pozycja
	ldy #0
	sta poztab,y
	iny
	clc
        adc #1
	sta poztab,y
	iny
	adc #1
	sta poztab,y 
	iny
	adc #1
	sta poztab,y
	iny
	adc #7
	cmp #100
	bcs makepoz2
	sta poztab,y
	iny
	adc #1
	cmp #100
	bcs makepoz2
	sta poztab,y
	iny
	adc #1
	cmp #100
	bcs makepoz2
	sta poztab,y
	iny
	adc #1
	cmp #100
 	bcs makepoz2
	sta poztab,y
	iny
	clc
	adc #7
	cmp #100
	bcs makepoz2
	sta poztab,y
	iny
	adc #1
	cmp #100
	bcs makepoz2
	sta poztab,y
	iny
	adc #1
	cmp #100
	bcs makepoz2
	sta poztab,y
	iny
        adc #1
	sta poztab,y	
	rts

makepoz2 lda #100
	sta poztab,y
	iny
	cpy #12
	bne makepoz2
	rts

loop2	jsr makepozycjatab 
	lda #255
	sta $111
loopcur	lda pozycja
	 sta where2+1
	 ldy #0
vcloop2	 cmp tablszer,y
	 beq wyjdz2
	 iny
	 cpy #10
	 bne vcloop2
	 lda #0
	sta $f4
	jmp where2
wyjdz2	lda #1
	sta $f4

where2 lda $a200
 sta current

 jsr countmap

 lda current
 bne ii2
	 jsr plaski
 	jmp dal
ii2 	cmp #2
  	beq iii2 
	 cmp #3
 	beq iiii2
 	jsr klocek
 	jmp dal
iii2 	jsr szescian
  	dec $f2                ;zeby dorysowal dobrze tlo
 	 jmp dal
iiii2 	jsr prost
 	dec $f2
 	dec $f2

dal  jsr dalejj
 jsr borderline

 lda #0
 sta $f3
 sta $f5
  inc $111
  ldy $111
 lda poztab,y
 sta pozycja
 cpy #12
 bne loopcur
 rts

koniecrysowania rts

makepozycjatab2	lda pozycja
	ldy #0
	sta poztab2,y
	iny
	clc
        adc #1
	sta poztab2,y
	iny
	adc #1
	sta poztab2,y 
	iny
	adc #1
	sta poztab2,y
	iny
	clc
	adc #7
	cmp #100
	bcs makepoz22
	sta poztab2,y
	iny
	clc
        adc #1
	cmp #100
	bcs makepoz22
	sta poztab2,y
	iny
	adc #1
	cmp #100
	bcs makepoz22
	sta poztab2,y
	iny
	adc #1
	cmp #100
 	bcs makepoz22
	sta poztab2,y
	iny
	clc
	adc #7
	cmp #100
	bcs makepoz22
	sta poztab2,y
	iny
	adc #1
	cmp #100
	bcs makepoz22
	sta poztab2,y
	iny
	adc #1
	cmp #100
	bcs makepoz22
	sta poztab2,y
	iny
	adc #1
	sta poztab2,y	
	rts

makepoz22 lda #100
	sta poztab2,y
	iny
	cpy #12
	bne makepoz22
	rts
	




checkkratka ldy nrplanszy
	ldx #0
	lda sprite
_p_	cmp kratkakopia,x
	bmi _o_
	beq _zdejm
_o_	inx
_re	cpx #4
	bne _p_
	rts
_zdejm
	lda #1
	sta kasujkratke,x
 lda ktorysprite
 sta dlakogobonus
	rts

takekratka         

	ldx #0
_k_	lda kasujkratke,x
	bne _zdejm2
	inx
_we	cpx #4
	bne _k_
	rts

_zdejm2	

	lda kratkakopia,x
	sta pozycja
	txa
	pha
	jsr countmap
	pla
	tax
	ldy pozycja
	lda $a200,y
	beq _leavc
	cmp #1
	beq _decc1
	cmp #2
	beq _decc2
	dec $f2
_decc2	dec $f2
_decc1	dec $f2
_leavc	lda $f1
	clc
	adc #$40
	sta $f1
	ldy #1
	lda ($f1),y
	cmp #72
	bcs _lpp1
	iny
	lda ($f1),y
	cmp #72
	bcs _lpp1
	dey
	lda #4
	sta ($f1),y
	ldy #$81
	sta ($f1),y
	ldy #2
	lda ($f1),y
	cmp #40
	beq _p00
	lda #1
	sta ($f1),y
	ldy #$82
	sta ($f1),y
	LDA #$FF
	sta kratkakopia,x
	lda #0
	sta kasujkratke,x
 jsr losuj_item
 lda #28
 sta which_sfx
	rts
_p00     lda #6
	sta ($f1),y
	ldy #$82
	sta ($f1),y
	lda #$ff
	sta kratkakopia,x
	lda #0
	sta kasujkratke,x
 jsr losuj_item
 lda #28
 sta which_sfx	
	rts

_lpp1  	rts

temp3 dta b(0)
temp4 dta b(0)

kratka_put 	ldy nrplanszy
	lda ilekratek,y
	sta _qqq+1
	sta _qqq2+1
	tya
	asl @
	tay
	lda plansze,y
	sta _here+1
	iny
	lda plansze,y
	sta _here+2
	ldx #0
_here	lda tabkratka,x   
	sta kratkakopia,x
        inx
        cpx #4
        bne _here
        rts
kratka
        ldx #0
_hereo
        lda kratkakopia,x
        bmi _qqq2-1
	sta pozycja
	txa
	pha
	jsr countmap
	ldy pozycja
	lda $a200,y
	beq _leav
	cmp #1
	beq _dec1
	cmp #2
	beq _dec2
	dec $f2
_dec2	dec $f2
_dec1	dec $f2
_leav	pla
	tax
	lda $f1
	clc
	adc #$40
	sta $f1
	ldy #1
	lda #39
	sta ($f1),y
	ldy #$81
	sta ($f1),y
	ldy #2
	lda ($f1),y
	sta $114
	cmp #6
	beq _p0
	lda #41
	sta ($f1),y
	ldy #$82
	sta ($f1),y
	inx
_qqq	cpx #4
	bne _hereo
	rts
_p0     lda #40
	sta ($f1),y
	ldy #$82
	sta ($f1),y
	inx
_qqq2	cpx #4
	bne _hereo
	rts

setposit lda sprite
	sta pozycja
	jsr countmap
	dec $f2
	dec $f2
	dec $f2
	ldy pozycja
	lda $a200,y
	beq __leav
	cmp #1
	beq __dec1
	cmp #2
	beq __dec2
	dec $f2
__dec2	dec $f2
__dec1	dec $f2
__leav	lda $f1
	clc
	adc #$41
	sta $fa
	clc
	adc #$80
	sta $ea
	lda $f2
	sta $fb
	sta $fc
	sta $eb
	sta $ec
	rts
setposit2 lda sprite3
	sta pozycja
	jsr countmap
	dec $f2
	dec $f2
	dec $f2
	ldy pozycja
	lda $a200,y
	beq __lea
	cmp #1
	beq ___dec1
	cmp #2
	beq ___dec2
	dec $f2
___dec2	dec $f2
___dec1	dec $f2
__lea	lda $f1
	clc
	adc #$41
	sta $ed
	clc
	adc #$80
	sta $e7
	lda $f2
		sta $e8
		sta $e9
		sta $ee
		sta $ef
	rts

_blokfwrd ldy #0
	lda sprite
	cmp tab1,y
	beq _asd
	iny
	cpy #10
	bne _blokfwrd+2

	jsr _dlablfwrd
	beq _blokfwrd-1
_asd	lda pozxy
	clc
	adc #17
	sta pozxy
	inc ax
	inc ay
	pla
	pla
	lda #1
	sta blokada
	rts
tab1 dta b(0),b(10),b(20),b(30),b(40),b(50),b(60),b(70),b(80),b(90)

_dlablfwrd	ldy sprite
	lda $a200,y
	sta temp
	dey
	lda $a200,y
	sta temp2
	jsr _czyjeden
	rts

_blokfwrd2 ldy #0
	lda sprite
	cmp tab1,y
	beq _sdf
	iny
	cpy #10
	bne _blokfwrd2+2

	jsr _dlablfwrd
	beq _blokfwrd2-1	
_sdf	inc ax
	inc ay
	pla
	pla
	lda #1
	sta blokada
	rts

_czyjeden lda temp ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	cmp temp2
	bcs _nrd
	lda temp2
	sec
	sbc temp
	cmp #2
	bcs _ret1
_ret0	cmp #1
        bne plaskiteren
        lda #1
        sta $10e
plaskiteren
        lda #0
	rts
_ret1   lda #1
	rts
_nrd	lda temp
	sec
	sbc temp2
	cmp #2
	bcs _ret1
	jmp _ret0

	rts
	
_blokbck ldy #0
	lda sprite
	cmp tab2,y
	beq _dfg
	iny
	cpy #10
	bne _blokbck+2

	jsr _dlablbck
	beq _blokbck-1
_dfg	lda pozxy
	sec
	sbc #17
	sta pozxy
	dec ax
 	dec ay
	pla
	pla
	lda #1
	sta blokada
	rts

tab2 dta b(9),b(19),b(29),b(39),b(49),b(59),b(69),b(79),b(89),b(99)

_dlablbck ldy sprite
	lda $a200,y
	sta temp
	iny
	lda $a200,y
	sta temp2
	jsr _czyjeden
	rts

_blokbck2 ldy #0
	lda sprite
	cmp tab2,y
	beq _fgh
	iny
	cpy #10
	bne _blokbck2+2

	jsr _dlablbck
	beq _blokbck2-1
_fgh	dec ay
	dec ax
	pla
	pla
	lda #1
	sta blokada
	rts
	
_blokrght lda sprite
	cmp #10
	bcc _qwe
	jsr _dlablrght
	beq _blokrght-1
_qwe	lda pozxy
	clc
	adc #15
	sta pozxy
	dec ay
	inc ax
	dec var2
	pla
	pla
	lda #1
	sta blokada
	rts
_dlablrght ldy sprite
	lda $a200,y
	sta temp
	tya
	sec
	sbc #10
	tay
	lda $a200,y
	sta temp2
	jsr _czyjeden
	rts

_blokrght2 lda sprite
	cmp #10
	bcc _wer
	jsr _dlablrght
	beq _blokrght2-1
_wer	dec ay
	inc ax
	dec var2
	pla
	pla
	lda #1
	sta blokada
	rts

_bloklft lda sprite
	cmp #90
	bcs _ert
	jsr _dlabllft
	beq _bloklft-1
_ert	lda pozxy
	sec
	sbc #15
	sta pozxy
	inc ay
	dec ax
	inc var2
	pla
	pla
	lda #1
	sta blokada
	rts
_dlabllft ldy sprite
	lda $a200,y
	sta temp
	tya
	clc
	adc #10
	tay
	lda $a200,y
	sta temp2
	jsr _czyjeden
	rts
_bloklft2 lda sprite
	cmp #90
	bcs _rty
	jsr _dlabllft
	beq _bloklft2-1
_rty	inc ay
	dec ax
	inc var2
	pla
	pla
	lda #1
	sta blokada
	rts

pasek_energii_init 
	rts
pasek_ruchu_change 
        rts


put_ludzik sta ($f1),y
	iny
	clc
	adc #1
	sta ($f1),y
	inc $f2
	clc
	adc #1
	dey
	sta ($f1),y
	clc
	adc #1
	iny
	sta ($f1),y
	dec $f2
	rts

put_pasek ldy #0
	sta ($f1),y
	clc
	adc #1
	iny
	cpy #5
	bne put_pasek+2

	jsr pasek_energii_change
	jsr pasek_ruchu_change

	rts

pasek_energii_change 
 ldx #0
 lda energia1
 beq koniec1
 bpl jeszczeniekoniec



koniec1
 lda #1
 sta koniec_gry
 lda #24
 sta which_sfx
 lda #0
 sta energia1 
 beq zerujto
jeszczeniekoniec
 cmp #32
 beq nxt_bar
 jsr get_coord
 beq zerowy

 lda #95
pelny
 sta $4dc9,x
 inx
 dey
 bne pelny

zerowy ldy tempp
 lda bar_fonts,y
 sta $4dc9,x
 inx
 cpx #8
 beq nxt_bar
zerujto

 lda #126
wypeln_puste
 sta $4dc9,x
 inx
 cpx #8
 bcc wypeln_puste

nxt_bar
 ldx #0
 lda energia2

 beq koniec2
 bpl niekoniec2
koniec2
 lda #2
 sta koniec_gry
 lda #0
 sta energia2
 lda #26
 sta which_sfx
 beq zerujto2
niekoniec2
 cmp #32
 beq end_bar
 jsr get_coord

 beq zerowy2

 lda #95
pelny2
 sta $4de7,x
 inx
 dey
 bne pelny2


zerowy2 ldy tempp
 lda bar_fonts,y
 sta $4de7,x
 inx
 cpx #8
 beq end_bar
zerujto2
 lda #126

wypeln_puste2
 sta $4de7,x
 inx
 cpx #8
 bcc wypeln_puste2 
end_bar rts

get_coord
 ldy #0
gogogo
 cmp tab_bar,y
 bcc mniejszy
 iny
 bne gogogo
mniejszy
 dey
 sec
 sbc tab_bar,y
 sta tempp
 iny
qa rts


tab_q dta 0
tempp dta 0
tab_bar dta 4,8,12,16,20,24,28,32
ile_paska dta 0
koniec_gry dta 0
bar_fonts dta 126,125,124,123

_nrfontu dta b(50),b(51),b(52),b(53),b(54)

_nrfontu2 dta b(60),b(61),b(62),b(63),b(64)

_nrfontu3 dta b(55),b(56),b(57),b(58),b(59)

_nrfontu4 dta b(65),b(66),b(67),b(68),b(69)




	
nrfontu equ $f4
counter_ equ $f5 ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
counter2_ equ $f6
counter3_ equ $f7
energia1 dta b(0)
energia2 dta b(0)
ruch1 dta b(0)
ruch2 dta b(0)

init_main lda #31
	sta energia1
	sta energia2
 jsr pasek_energii_change
	lda #$20
	sta ruch1
	sta ruch2
	rts

decr_energy 
	rts
koniecgry rts

decr_1	
	rts

choosemap jsr joymoved2
	bne _zmien
	lda $d010
	beq przepisznaekran
	bne choosemap
_zmien	cmp #64
	bne _zmien2

	lda nrplanszy
	cmp #4	; ILOSC PLANSZ	
	beq choosemap
	inc nrplanszy
	jsr przepisznaekran
	jmp choosemap
_zmien2	cmp #128
	bne choosemap

	lda nrplanszy
	beq choosemap
	dec nrplanszy
	jsr przepisznaekran
	jmp choosemap
przepisznaekran lda nrplanszy
	asl @
	tay
	lda _plansze,y
	sta _zrodlo+1
	iny
	lda _plansze,y
	sta _zrodlo+2
	ldx #0
_zrodlo	lda $9800,x
	sta $a200,x
	inx
	cpx #$65 ;80 
	bne _zrodlo
	lda #0
	sta pozycja
	jsr _wyczysc
	jsr loop1
	jsr przepisz
	rts



makeshortcut
       ldy #0
bbs        tya
        asl @
        asl @
        asl @
        sta $fd00,y
        iny
        cpy #32
        bne bbs
        rts
maketabprocrys
        ldy #0
bbs2 
;   lda <firstone
 ;       sta $fe00,y
 ;       lda <firstone2
  ;      sta $fe80,y
        lda <firstone3
        sta $ff00,y
        iny 
        cpy #32
        bne bbs2

bbs3 
;   lda <secondone
 ;       sta $fe00,y
;        lda <secondone2
 ;       sta $fe80,y
        lda <secondone3
        sta $ff00,y
        iny
        cpy #64
        bne bbs3

bbs4  
;  lda <thirdone
 ;       sta $fe00,y
;        lda <thirdone2
 ;       sta $fe80,y
        lda <thirdone3
        sta $ff00,y
        iny
        cpy #96
        bne bbs4
 
bbs5 
;   lda <fourthone
 ;       sta $fe00,y
 ;       lda <fourthone2
  ;      sta $fe80,y
        lda <fourthone3
        sta $ff00,y
        iny
        cpy #128
        bne bbs5
         
        rts        

maketabex         ; nr offsetu fontu bez strony
        ldy #0
bbs6    tya
        and #31
        asl @
        asl @
        asl @
        sta $fd20,y
        iny
        cpy #128
        bne bbs6
        rts
   
marker dta $eb     

; org $2af0   ;2af0
_przepisz ;na wejsciu nr klocka do przepisania na font
 rts
ymov dta b(0)
xmov dta b(0)
ymov2 dta b(0)
xmov2 dta b(0)
x1 dta b(0)
y1 dta b(0) 
x2 dta b(0)
y2 dta b(0)
counter dta b(0)
counter2 dta b(0)
z	dta b(0)
spr	dta b(0)
Pxy	dta b(0)
nlicznik dta b(0)
wysokosc dta b(0)
counter3 dta b(0)
mod	dta b(0)
nlicznik2 dta b(0)
nlicznik3 dta b(0)


Pxy2 dta b(0)

ax4 dta b(0)
ay4 dta b(0)
endflag2 dta b(0)
stopper2 dta b(0)
mod2 dta b(0)
keep112 dta b(0)
keep10a dta b(0)
new112 dta b(0)
new10a dta b(0)
konte dta b(0)
czypowtorz2 dta b(0)
testing dta $eb