		opt h+l+
		org $2000

screen	equ $9000
screen1 equ (screen+$140)
screen2	equ	(screen+$46)
screen3	equ	(screen+$82)
screen4	equ	(screen+$140)
screen5	equ (screen+$118)
b1		equ $80
rows	equ $80
b2		equ $81
bellyp	equ $82
glandx	equ	$83
glandy	equ	$84
glhmc	equ	$85		; gland horizontal move counter
glhmt	equ	$86		; gland horizontal move threshold
glvmc	equ $87		; gland vertical move counter
glvmt	equ $88		; gland vertical move threshold
glvdir	equ	$89		; gland vertical direction (0=up, 1=down)
glhdir	equ $8a		; gland horizontal direction (0=right, 1=left)
tmwomo	equ	$8b		; time w/o movement
skipint	equ	$8b
drakulx	equ $8c
author	equ	$8c
drakuly	equ	$8d
drakuxx equ $8e
drakuld equ $8f		; drakul horizontal direction (0=right, 1=left)
teary	equ $90
drakulo	equ	$91		; offset przesuniecia prawej czesci drakula
points	equ	$92
ptsblk	equ	$93		; miganie punktow
ptsblkc	equ $94		; licznik mrygania punktow
fin		equ	$95
curglnd	equ $96		; typ gruczolu
what	equ	$97
extra1	equ $99		; extra...cted glands :)
extra2	equ $9a
extra3	equ $9b
extra4	equ $9c
extra5	equ $9d
falle1	equ $9e		; falle..n drakuls :)
falle2	equ $9f
falle3	equ $a0
falle4	equ $a1
falle5	equ $a2
bedbugx	equ	$a3
bedbugy	equ $a4
bedbugs	equ	$a5		; bedbug animation frame
bedbugc	equ $a6		; bedbug animation frame counter
bbhc	equ	$a7		; bedbug horizontal move count
bblgx1	equ	$a8		; bedbug last good x
bblgy1	equ	$a9		; bedbug last good y
bbdir	equ	$aa
bbdirrt	equ $ab
bblgx2	equ	$ac
bblgy2	equ	$ad
bblgx3	equ	$ae
bblgy3	equ	$af
bbmove	equ $b0
bbrest	equ $b1
gstate	equ	$b2		; 0 - wait for fajer, 1 - game

.zpvar = $b3
		chars

begin	clrscr
		lda #0
		sta $d208
		lda #3
		sta $d20f

		lda #0
		sta 53277		

		lda #$28
		sta 708
		lda #$ca
		sta 709
		lda #$94
		sta 710
		lda #$46
		sta 711
		lda #$00
		sta 712

		lda #0
		sta fin
		sta gstate
		sta tmwomo
		sta skipint

		lda #1
		sta author

		title

		lda #68
		sta teary

		lda #28
		sta bellyp

		scoreini
		drakulini
		glandini
		bedbugini

		lda #19
		sta points

		jmp go

; pole gry o wielkosci 160x88 pikseli
dl		dta b($70),b($70),b($70)	; ramka gorna		- 24
		dta b($42),a(screen)		; linia trybu (1xGR.0)	- 32
		dta b($06)					; naglowek (1xGR.1)	- 48
		dta d'----------------'		; 16x$0b		- 80
		dta d'----------------'		; 16x$0b (32x)		- 112
		dta d'----------------'		; 16x$0b (48x)		- 144
		dta d'----------------'		; 16x$0b (64x)		- 176
		dta d'----------------'		; 16x$0b (80x)		- 208
		dta d'--------'				;  8x$0b (88x)		- 224
		dta b($02)					; podsumowanie (1xGR.0) - 232
		dta b($41),a(dl)			; jvb

dltit	dta b($70),b($70),b($70)	; ramka gorna		- 24
		dta b($42),a(screen)		; linia trybu (1xGR.0)	- 32
		dta b($02)
		dta b($07),b($02),b($06),b($02),b($02)
		dta b($02),b(0),b($02),b(0),b($02),b(0),b($02),b(0),b($02),b(0),b($02)
		dta b(0),b($02),b(0),b($02),b(0),b($02),b($02),b($02),b($02)
		dta b($02),b($02),b($02),b($02)
		dta b($41),a(dltit)

dlfin	dta b($70),b($70),b($70)	; ramka gorna		- 24
		dta b($47),a(screen)		 
		dta d'---------------'		 
		dta d'----------------'		 
		dta d'----------------'		 
		dta d'----------------'		
		dta d'----------------'		
		dta d'---------'				
		dta b($41),a(dlfin)			; jvb

intext	dta d"# ISTNIEJ",b(68),"  NA ZIEMII  MIEJSCA,  KT",b(73),"RE #"
		dta d"# OKRYWA AURA  TAJEMNICZO",b(69),"CI I PATOSU. #"
		dta d"# NIE INACZEJ JEST Z SADEM PANA HENRY- #"
		dta d"# KA  ULOKOWANYM  ZARAZ ZA  ZJAZDEM NA #"
		dta d"# RACIB",b(73),"RZ, PO LEWEJ STRONIE. PAN HEN- #"
		dta d"# RYK ",b(70),"OPIAN BARDZO CZ",b(71),"STO PIJE BIMBER #"
		dta d"# WRAZ ZE SWOIM S",b(68),"SIADEM,  KT",b(73),"RY POTA- #"
		dta d"# JEMNIE PODKOCHUJE SI",b(71)," W C",b(73),"RCE SADOW- #"
		dta d"# NIKA - OLI.  OLA  Z KOLEI  JEST NIE- #"
		dta d"# SKOMPLIKOWAN",b(68)," NASTOLATK",b(68),",  KT",b(73),"RA PO- #"
		dta d"# NAD  WSZYSTKO CENI  SOBIE  WYSZUKANY #"
		dta d"# STYL I BEZTROSKIE ",b(64),"YCIE, A PO GODZI- #"
		dta d"# NACH ZG",b(70),b(71),"BIA TAJNIKI  ANOREKTYCYZMU. #"
		dta d"# WIELE RAZY BY",b(70),"A W PARY",b(64),"U,  Z KT",b(73),"REGO #"
		dta d"# PRZYWIOZ",b(70),"A SUWENIRY, SPRZ",b(71),"T AGD ORAZ #"
		dta d"# K",b(70),"YKCINY.  W  PRZYSZ",b(70),"O",b(69),"CI  CHCIA",b(70),"ABY #"
		dta d"# ZOSTA",b(66),"  KASKADEREM  I  WYST",b(71),"POWA",b(66),"  W #"
		dta d"# CYRKU JAKO TRAPEZ.                   #"
		dta d"#                                      #"
		dta d"#                ",b(80),"  ",b(80),"  ",b(80),"               #"
		dta d"#                                      #"
		dta d"# PEWNEGO S",b(70),"ONECZNEGO  POPO",b(70),"UDNIA  PAN #"
		dta d"# HENRYK LEKKO JU",b(64)," ZAWIANY, POSTANOWI",b(70)," #"
		dta d"# WEJ",b(69),b(66)," PO DRABINIE NA JAB",b(70),"O",b(67)," I ZAWIE- #"
		dta d"# SI",b(66)," NA  NIEJ PRZEKA",b(65),"NIK  SATELITARNY #"
		dta d"# DU",b(64),"EJ MOCY. DOTAR",b(70)," DO  SZ",b(73),"STEGO SZC- #"
		dta d"# ZEBELKA,  PO CZYM  W WYNIKU  NAG",b(70),"EGO #"
		dta d"# PRZYP",b(70),"YWU  RADO",b(69),"CI Z ",b(64),"YCIA, ZACHWIA",b(70)," #"
		dta d"# SI",b(71)," I  RUN",b(68),b(70)," W  D",b(73),b(70),", ",b(70),"AMI",b(68),"C  GA",b(70),b(71),"ZIE #"
		dta d"# ORAZ KO",b(67),"CZYNY.  LE",b(64),b(68),"C POD  DRZEWEM I #"
		dta d"# CZEKAJ",b(68),"C NA  POMOC, ZASTANAWIA",b(70),"  SI",b(71)," #"
		dta d"# CZY ",b(69),"WIAT JEST JU",b(64)," GOTOWY  NA NADEJ- #"
		dta d"# ",b(69),"CIE ANTYCHRYSTA. 3 DNI  P",b(73),b(65),"NIEJ OLA #"
		dta d"# ODNALAZ",b(70),"A  JEGO ZMURSZA",b(70),"E  CIA",b(70),"O. U- #"
		dta d"# SIAD",b(70),"A SROMOTNIE I R",b(73),"WNIE",b(64)," WYZION",b(71),b(70),"A #"
		dta d"# DUCHA,  CO SKRZ",b(71),"TNIE WYKORZYSTA",b(70)," S",b(68),"- #"
		dta d"# SIAD, ALE NIE POWIEM WAM W JAKI SPO- #"
		dta d"# S",b(73),"B...                               #"

in1text	dta d"# NA POCZ",b(68),"TEK  PRZEPRASZAM,  ",b(64),"E NIE MA #"
		dta d"# MA",b(70),"YCH LITEREK, ALE SKO",b(67),"CZY",b(70),"O MI SI",b(71)," #"
		dta d"# PIWO I NIE  MIA",b(70),"EM  MOTYWACJI,  ",b(64),"EBY #"
		dta d"# DALEJ SIEDZIE",b(66)," PRZY KOMPIE...        #"
		dta d"#                                      #"
		dta d"#                ",b(80),"  ",b(80),"  ",b(80),"               #"
		dta d"#                                      #"
		dta d"# NINIEJSZA GRA  POWSTA",b(70),"A,  ABY ZAPRE- #"
		dta d"# ZENTOWA",b(66),"   ZAAWANSOWANE   MO",b(64),"LIWO",b(69),"CI #"
		dta d"# GRAFICZNE MA",b(70),"EGO ATARI. WYKORZYSTUJE #"
		dta d"# ONA SZEREG PREKURSORSKICH ALGORYTM",b(73),"W #"
		dta d"# TYLKO PO TO,  BY ZAPEWNI",b(66)," WAM MAKSY- #"
		dta d"# MALNY  POZIOM ZADOWOLENIA Z ROZGRYW- #"
		dta d"# KI. JEDNYM Z TAKICH  ALGORYTM",b(73),"W JEST #"
		dta d"# NP.  ",b(2),"0x8E 0x00 0xD0",b(2),"   S",b(70),"U",b(64),b(68),"CY   DO #"
		dta d"# PRZESUWANIA   GRUCZO",b(70),"U  W  POZIOMIE. #"
		dta d"# R",b(73),"WNIE  CIEKAWY   JEST   ",b(2),"0x49 0x03",b(2)," #"
		dta d"# WYZWALANY ZA POMOC",b(68)," KLAWISZA ",b(2),"HELP",b(2),", #"
		dta d"# A S",b(70),"U",b(64),b(68),"CY DO ZMIANY TEKSTU W OKIENKU #"
		dta d"# NA ",b(69),"RODKU EKRANU.                    #"
		dta d"#                                      #"
		dta d"#                ",b(80),"  ",b(80),"  ",b(80),"               #"
		dta d"#                                      #"
		dta d"# MAM NADZIEJ",b(71),",  ",b(64),"E PRODUKCJA  TA DOS- #"
		dta d"# TARCZY WAM NIEZAPOMNIANYCH  WRA",b(64),"E",b(67)," I #"
		dta d"# DRESZCZU  EMOCJI NIE  MNIEJSZEGO NI",b(64)," #"
		dta d"# POZYTYWNY  WYNIK  TESTU  NA OBECNO",b(69),b(66)," #"
		dta d"# HIV!                                 #"
		dta d"#                                      #"
		dta d"#                ",b(80),"  ",b(80),"  ",b(80),"               #"
		dta d"#                                      #"
		dta d"# I JESZCZE KR",b(73),"TKO O SAMEJ GRZE...     #"
		dta d"# NIEPOKONANY GRUBAS  MUSI POWSTRZYMA",b(66)," #"
		dta d"# INWAZJ",b(71)," CZASZEK ZA POMOC",b(68),"  GRUCZO",b(70),b(73),"W #"
		dta d"# ODBIJANYCH OPAS",b(70),"YM BRZUCHEM.  SIMPLE #"
		dta d"# AS THAT!                             #"
		dta d"#                                      #"
		dta d"#                ",b(80),"  ",b(80),"  ",b(80),"               #"
		dta d"#                                      #"
		dta d"# PS. GDYBY KTO",b(69)," ZASTANAWIA",b(70),"  SI",b(71)," DLA- #"
		dta d"# CZEGO  CZASEM BRZUCH  SAM MU SI",b(71)," RU- #"
		dta d"# SZA, TO SPIESZ",b(71)," WYJA",b(69),"NI",b(66),", ",b(64),"E SPRAWC",b(68)," #"
		dta d"# JEST DR",b(68),b(64),b(68),"CA CIA",b(70),"O  GRUBASA PLUSKWA, #"
		dta d"# KT",b(73),"RA  WGRYZAJ",b(68),"C SI",b(71)," W SK",b(73),"R",b(71),", DRA",b(64),"NI #"
		dta d"# KO",b(67),"C",b(73),"WKI  NERW",b(73),"W I POWODUJE  NIEKON- #"
		dta d"# TROLOWANE  SKURCZE  MI",b(71),b(69),"NI  RUSZACZY #"
		dta d"# BRZUCHA.                             #"

go		ldx <dl
		ldy >dl
		stx 560
		sty 561

		wforfire
		colors
		drfatty
		drbelly
		drpointsi
		drscoreh
		sprites
		lda #1			; clean collision registers
		sta 53278
		jmp mloop

.proc	drakulini
		lda #0
		sta drakulo
		lda #100
		sta drakulx
		clc
		adc #8
		sta drakuxx
		lda #50
		sta drakuly
		lda #1
		sta drakuld
		rts
.endp
.proc	bedbugini
		lda #240
		sta bedbugy
		sta bblgy1
		sta bblgy2
		sta bblgy3
		lda #60
		sta bedbugx
		sta bblgx1
		sta bblgx2
		sta bblgx3
		lda #0
		sta bedbugc
		sta bbhc
		sta bbrest
		lda #1
		sta bedbugs
		sta bbmove
		bedbugrndd
		rts
.endp
.proc	bedbugrndd
		lda $d20a
		sta bbdirrt
		divByte bbdirrt, #32
		sta bbdir
		rts
.endp
.proc	putline
		sta $9d

		stx $a3
		line $9a, $9b, $9c, $9d
		sound $9c, #224, #10
		wait #1
		ldx $a3
		inx
		rts
.endp
.proc	glandini		
		lda #73
		sta glandx
		sta 53248
		lda #42
		sta glandy
		lda #0
		sta glhmc
		sta glvmc
		lda $d20a
		sec
		sbc #128
		bcc gi_00		
		lda #2
		sta glhmt
		lda #53
		sta 704
		jmp gi_01
gi_00	lda #1
		sta glhmt
		lda #200
		sta 704
gi_01	lda #1
		sta glvmt
		lda #1
		sta glvdir
		lda #0
		sta glhdir
		rts
.endp
.proc	glandu
		ldy glandy
		lda #0
		sta 33843,y
		iny
		sta 33843,y
		iny
		sta 33843,y
		ldx glandy
		dex
		dex
		dex
		stx glandy
		txa
		sec
		sbc #13
		bcs	glu_00
		lda #1
		sta glvdir
		sound #68, #224, #15
		wait #2
		nosound
glu_00	glandput
		rts
.endp
mloop	lda fin
		cmp #10
		beq ml_07
		cmp #1
		beq ml_08
		jmp ml_06
ml_07	victory
		jmp begin
ml_08	defeat
		jmp begin
ml_06	lda 764
		ldx #$ff
		stx 764
		cmp #28
		beq begin00
		jmp ml_11
ml_10	jmp mloop
ml_11	lda #0
		sta $4d	
		ldx tmwomo
		inx
		stx tmwomo
		cpx #$ff
		bne ml_02
		lda $d20a
		sta tmwomo
		divByte tmwomo, #127
		cmp #0
		beq ml_03
		jsr bellymove.left
		jmp ml_04
ml_03	jsr bellymove.right
ml_04	lda #0
		sta tmwomo
ml_02	lda gstate
		cmp #0
		beq ml_00		; STATE: wait for fire

		lda #1			; clean collision registers
		sta 53278

		bedbug			; STATE: game
		bellymove
		glandmove
		drakulmove
		glandcoll

		jmp mloop

begin00	jmp begin

; ------ STATE: wait for fire
ml_00	lda #1			; clean collision registers
		sta 53278

		bedbug
		bellymove
		glandcoll
		lda 644
		cmp #1
		beq ml_10
		lda #0
		sta tmwomo
		drglandname
		incextra
		lda #1
		sta gstate
		jmp mloop
; ------ END STATE: wait for fire

gu_00	jmp mloop
.proc	glandl	
		ldx glandx
		dex
		dex
		stx 53248
		stx glandx
		rts
.endp
.proc	glandr
		ldx glandx
		inx
		inx
		stx 53248
		stx glandx
		rts
.endp
.proc	vertb
		lda $d40b
		cmp #$82
		bne vertb
		rts
.endp
.proc	bellymove
		lda $278
		cmp #11
		beq left
		cmp #7
		beq right
bm_00	rts
left	lda bellyp
		cmp #28
		bne left0			; brzuch jeszcze nie calkiem z lewej
		jmp bm_00
left0	sec
		sbc #2
		sta bellyp
		lda #0
		sta tmwomo
		clrbelly
		drbelly
		jmp bm_00
right	lda bellyp
		cmp #122
		bne right0
		jmp bm_00
right0	clc
		adc #2
		sta bellyp
		lda #0
		sta tmwomo
		clrbelly
		drbelly
		rts
.endp
.proc	drakulmove
		lda drakuld
		cmp #0
		bne dm_00
		drakulr
		lda drakulx
		cmp #190
		bne dm_01
		lda #1
		sta drakuld
dm_01	rts
dm_00	drakull
		lda drakulx
		cmp #92
		bne dm_01
		lda #0
		sta drakuld
		rts
.endp
.proc	glandcoll
.zpvar	tmp1, tmp2 .byte
;		jmp gc_07

		vertb
		lda 53260
		sta tmp1
		lda 53252
		sta tmp2

		lda $d003
		cmp #4
		beq bb_05		; bedbug in OK position
		bedbugrev
bb_05	lda tmp2
		and #%00000100
		cmp #4
		bne gc_02
		tear			; collision with fatty
		lda #0
		sta gstate
gc_02	lda tmp2
		and #%00000001
		cmp #1
		bne gc_01
		lda glvdir
		cmp #0			; jesli leci w gore
		beq	gc_01		; to nie sprawdzaj kolizji z brzuchem
		lda #0			; collision with belly
		sta glvdir
		lda glandx
		sec
		sbc bellyp
		sbc #2
		detangle @
		sound #196, #224, #15
		wait #2
		nosound
gc_01	lda tmp1
		cmp #2			
		beq gc_07
		cmp #6
		beq gc_07
		cmp #4
		bne xx_00
gc_07	incfalle		; collision with drakul
		lda #0
		sta gstate
		lda #0			
		sta ptsblk
		lda #10
		sta ptsblkc
		lda #6			
		sta 705
		sta 706
gc_04	ldx drakuly		
		inx
		stx drakuly
		cpx #242
		beq gc_05
		lda drakuly
		sec
		sbc #49
		sta curglnd
		sound curglnd, #%01010101, #13
		lda #0
		sta 34357
		sta 34359
		sta 34358
		sta 34361
		sta 34360
		jmp xx_01
xx_00	jmp gc_03
xx_01	sta 34355
		sta 34356
		vertb
		drakulput
		lda #7
		sta drakulo
		ldx ptsblkc
		dex
		stx ptsblkc
		cpx #0
		bne gc_04
		lda #10
		sta ptsblkc
		lda ptsblk
		cmp #0			; czy znikac punkt?
		beq gc_08		; ...znikac
		lda #0			; ...pojawiac
		sta ptsblk				
		drpoints
		jmp gc_04
gc_08	lda #1
		sta ptsblk				
		clrpoints
		jmp gc_04
gc_05	nosound
		lda #223
		sta 705
		sta 706
		drakulclr		
		drakulini

		ldx drakulx
		stx 53249
		ldx drakuxx
		stx 53250

		ldx points
		dex
		cpx #$ff
		bne gc_09
		lda #10
		sta fin
		jmp gc_03
gc_09	stx points
		glandclr
		glandini
		glandput
		wforfire
		drakulput
gc_03	rts
.endp
.proc	victory
		clrscr
		lda #0
		sta 53277

		ldx <dlfin
		ldy >dlfin
		stx 560
		sty 561

		lda #$44
		sta 708
		lda #202
		sta 709
		lda #$28
		sta 710
		lda #0
		sta 712

		ldx #0
vi_01	lda vicd,x
		sta $9a
		inx
		lda vicd,x
		sta $9b
		inx
		lda vicd,x
		sta $9c
		inx
		lda vicd,x

		putline

		cpx #0
		bne vi_01

		lda #52
		sta screen
		lda #50
		sta screen+1
		lda #57
		sta screen+2
		lda #53
		sta screen+3
		lda #45
		sta screen+4
		lda #38
		sta screen+5
		lda #1
		sta screen+6

vi_02	lda vicd0,x
		sta $9a
		inx
		lda vicd0,x
		sta $9b
		inx
		lda vicd0,x
		sta $9c
		inx
		lda vicd0,x

		putline

		cpx #0
		bne vi_02

		lda falle1
		clc
		adc #16
		sta screen+10

vi_03	lda vicd1,x
		sta $9a
		inx
		lda vicd1,x
		sta $9b
		inx
		lda vicd1,x
		sta $9c
		inx
		lda vicd1,x

		putline

		cpx #0
		bne vi_03

		lda falle2
		clc
		adc #16
		sta screen+11

vi_04	lda vicd2,x
		sta $9a
		inx
		lda vicd2,x
		sta $9b
		inx
		lda vicd2,x
		sta $9c
		inx
		lda vicd2,x

		putline

		cpx #0
		bne vi_04

		lda falle3
		clc
		adc #16
		sta screen+12

vi_05	lda vicd3,x
		sta $9a
		inx
		lda vicd3,x
		sta $9b
		inx
		lda vicd3,x
		sta $9c
		inx
		lda vicd3,x

		putline

		cpx #0
		bne vi_05

		lda falle4
		clc
		adc #16
		sta screen+13

vi_06	lda vicd4,x
		sta $9a
		inx
		lda vicd4,x
		sta $9b
		inx
		lda vicd4,x
		sta $9c
		inx
		lda vicd4,x

		putline

		cpx #0
		bne vi_06

		lda falle5
		clc
		adc #16
		sta screen+14

vi_07	lda vicd5,x
		sta $9a
		inx
		lda vicd5,x
		sta $9b
		inx
		lda vicd5,x
		sta $9c
		inx
		lda vicd5,x

		putline

		cpx #0
		bne vi_07

		lda #48
		sta screen+16

vi_08	lda vicd6,x
		sta $9a
		inx
		lda vicd6,x
		sta $9b
		inx
		lda vicd6,x
		sta $9c
		inx
		lda vicd6,x

		putline

		cpx #0
		bne vi_08

		lda #43
		sta screen+17

vi_09	lda vicd7,x
		sta $9a
		inx
		lda vicd7,x
		sta $9b
		inx
		lda vicd7,x
		sta $9c
		inx
		lda vicd7,x

		putline

		cpx #0
		bne vi_09

		lda #52
		sta screen+18

vi_0a	lda vicd8,x
		sta $9a
		inx
		lda vicd8,x
		sta $9b
		inx
		lda vicd8,x
		sta $9c
		inx
		lda vicd8,x

		putline

		cpx #0
		bne vi_0a

		lda #14
		sta screen+19

vi_0b	lda vicd9,x
		sta $9a
		inx
		lda vicd9,x
		sta $9b
		inx
		lda vicd9,x
		sta $9c
		inx
		lda vicd9,x

		putline

		cpx #22*4
		bne vi_0b

		nosound

vi_00	lda $284
		cmp #0
		bne vi_00
		wait $2
		jmp begin

		rts
.endp

vicd
	dta 66,66,44,$55
	dta 120,121,35,$aa
	dta 70,70,11,$aa
	dta 65,66,29,$ff
	dta 54,57,28,$ff
	dta 99,115,81,$ff
	dta 123,123,58,$aa
	dta 129,129,66,$aa
	dta 47,48,87,$55
	dta 141,141,61,$aa
	dta 47,49,86,$55
	dta 37,45,88,$ff
	dta 78,87,52,$ff
	dta 59,74,83,$ff
	dta 20,34,84,$ff
	dta 44,47,30,$ff
	dta 64,102,55,$ff
	dta 40,40,73,$aa
	dta 50,50,18,$aa
	dta 131,135,48,$aa
	dta 93,95,33,$aa
	dta 82,82,30,$ff
	dta 122,122,47,$aa
	dta 103,115,89,$ff
	dta 76,90,82,$ff
	dta 47,54,43,$ff
	dta 84,87,86,$55
	dta 65,66,43,$55
	dta 37,37,73,$aa
	dta 73,73,14,$aa
	dta 145,145,59,$aa
	dta 137,137,59,$aa
	dta 74,82,43,$ff
	dta 76,98,54,$ff
	dta 82,85,84,$55
	dta 101,105,33,$aa
	dta 130,130,50,$aa
	dta 76,90,81,$ff
	dta 80,80,32,$55
	dta 78,84,27,$ff
	dta 132,132,60,$aa
	dta 62,62,15,$aa
	dta 53,53,21,$aa
	dta 53,61,34,$ff
	dta 37,55,54,$ff
	dta 76,90,83,$ff
	dta 34,56,55,$ff
	dta 60,62,17,$ff
	dta 148,148,58,$aa
	dta 57,71,37,$ff
	dta 129,129,40,$aa
	dta 55,78,88,$ff
	dta 69,75,53,$ff
	dta 135,135,46,$aa
	dta 20,35,78,$ff
	dta 37,97,90,$ff
	dta 64,67,25,$ff
	dta 73,73,13,$aa
	dta 154,156,57,$aa
	dta 100,114,75,$ff
	dta 55,55,24,$ff
	dta 62,63,44,$55
	dta 41,41,76,$aa
	dta 37,37,74,$ff

vicd0
	dta 115,116,34,$aa
	dta 72,76,26,$ff
	dta 54,56,25,$ff
	dta 125,125,50,$aa
	dta 59,60,43,$55
	dta 65,65,13,$aa
	dta 145,145,64,$aa
	dta 93,95,40,$aa
	dta 128,128,65,$aa
	dta 115,115,49,$aa
	dta 145,145,61,$aa
	dta 64,64,18,$ff
	dta 46,48,26,$ff
	dta 111,111,47,$aa
	dta 105,105,34,$aa
	dta 21,35,77,$ff
	dta 42,93,77,$ff
	dta 101,115,85,$ff
	dta 30,107,57,$ff
	dta 72,72,16,$aa
	dta 63,63,18,$aa
	dta 51,51,14,$aa
	dta 65,65,11,$aa
	dta 48,51,70,$ff
	dta 60,60,19,$aa
	dta 94,94,78,$aa
	dta 104,104,36,$aa
	dta 57,57,15,$aa
	dta 28,109,59,$ff
	dta 109,109,37,$aa
	dta 59,59,18,$aa
	dta 129,129,38,$aa
	dta 137,137,63,$aa
	dta 68,69,30,$55
	dta 148,148,63,$aa
	dta 69,69,20,$aa
	dta 119,119,47,$aa
	dta 97,98,73,$aa
	dta 72,76,33,$ff
	dta 131,131,45,$aa
	dta 57,57,14,$aa
	dta 66,67,17,$ff
	dta 71,71,17,$aa
	dta 97,97,79,$aa
	dta 78,79,86,$ff
	dta 24,50,64,$ff
	dta 123,123,35,$aa
	dta 61,61,11,$aa
	dta 132,136,64,$aa
	dta 39,93,79,$ff
	dta 73,73,28,$aa
	dta 37,37,78,$aa
	dta 155,155,56,$aa
	dta 107,107,38,$aa
	dta 63,64,33,$55
	dta 75,81,39,$ff
	dta 100,114,76,$ff
	dta 37,37,77,$aa
	dta 118,118,49,$aa
	dta 122,122,45,$aa
	dta 65,65,12,$aa
	dta 20,34,82,$ff
	dta 72,79,31,$ff
	dta 74,74,20,$ff
vicd1
	dta 70,75,25,$ff
	dta 72,72,27,$aa
	dta 43,57,83,$ff
	dta 104,104,35,$aa
	dta 44,47,29,$ff
	dta 126,129,58,$aa
	dta 66,66,32,$ff
	dta 20,35,80,$ff
	dta 80,83,25,$ff
	dta 124,124,61,$aa
	dta 39,40,76,$ff
	dta 123,123,39,$aa
	dta 115,119,45,$aa
	dta 38,42,85,$ff
	dta 137,137,49,$aa
	dta 44,47,85,$ff
	dta 20,34,85,$ff
	dta 51,53,86,$55
	dta 53,112,68,$ff
	dta 78,78,15,$aa
	dta 63,63,19,$aa
	dta 54,59,26,$ff
	dta 128,128,47,$aa
	dta 41,41,77,$aa
	dta 109,109,39,$aa
	dta 22,47,71,$ff
	dta 62,62,14,$aa
	dta 20,33,88,$ff
	dta 62,62,13,$aa
	dta 22,37,72,$ff
	dta 125,125,39,$aa
	dta 70,71,26,$aa
	dta 99,114,74,$ff
	dta 115,118,48,$aa
	dta 57,75,24,$ff
	dta 66,68,20,$ff
	dta 125,125,35,$aa
	dta 115,115,46,$aa
	dta 54,54,87,$ff
	dta 59,60,42,$55
	dta 60,61,26,$aa
	dta 57,113,71,$ff
	dta 122,122,46,$aa
	dta 123,123,36,$aa
	dta 58,75,85,$ff
	dta 125,125,36,$aa
	dta 53,54,71,$ff
	dta 125,129,37,$aa
	dta 115,115,39,$aa
	dta 92,95,81,$ff
	dta 126,126,57,$aa
	dta 55,57,42,$55
	dta 44,48,84,$ff
	dta 54,112,65,$ff
	dta 57,70,48,$55
	dta 121,121,39,$aa
	dta 51,77,51,$ff
	dta 58,113,69,$ff
	dta 36,36,74,$aa
	dta 49,49,17,$aa
	dta 110,113,32,$aa
	dta 51,53,87,$55
	dta 140,140,62,$aa
	dta 123,123,32,$aa
vicd2
	dta 72,72,18,$ff
	dta 69,69,15,$aa
	dta 55,57,38,$55
	dta 62,62,20,$ff
	dta 119,119,60,$aa
	dta 71,73,42,$55
	dta 71,74,40,$55
	dta 90,96,86,$ff
	dta 23,51,68,$ff
	dta 126,126,62,$aa
	dta 72,72,21,$aa
	dta 55,57,41,$55
	dta 58,63,54,$ff
	dta 79,79,87,$ff
	dta 48,48,16,$aa
	dta 97,97,77,$aa
	dta 65,65,16,$aa
	dta 91,96,85,$ff
	dta 77,80,85,$ff
	dta 145,145,57,$aa
	dta 121,121,33,$aa
	dta 65,66,42,$55
	dta 145,145,60,$aa
	dta 65,65,18,$aa
	dta 137,137,60,$aa
	dta 39,93,78,$ff
	dta 83,83,30,$55
	dta 107,107,36,$aa
	dta 61,62,19,$ff
	dta 65,65,15,$aa
	dta 99,99,78,$ff
	dta 70,72,28,$ff
	dta 137,137,58,$aa
	dta 94,94,36,$aa
	dta 51,51,19,$aa
	dta 132,132,61,$aa
	dta 47,54,40,$ff
	dta 47,54,42,$ff
	dta 94,94,39,$aa
	dta 75,75,18,$aa
	dta 47,55,44,$ff
	dta 137,137,50,$aa
	dta 142,143,60,$aa
	dta 62,63,43,$55
	dta 126,126,61,$aa
	dta 101,114,78,$ff
	dta 100,115,83,$ff
	dta 56,60,46,$55
	dta 57,57,20,$aa
	dta 47,55,45,$ff
	dta 24,50,65,$ff
	dta 123,123,38,$aa
	dta 54,112,64,$ff
	dta 52,52,20,$aa
	dta 55,57,43,$55
	dta 111,111,51,$aa
	dta 43,57,81,$ff
	dta 155,155,62,$aa
	dta 71,76,34,$ff
	dta 125,125,38,$aa
	dta 79,84,26,$ff
	dta 107,107,34,$aa
	dta 137,137,48,$aa
	dta 91,96,84,$ff
vicd3
	dta 58,58,28,$aa
	dta 143,143,59,$aa
	dta 56,56,24,$aa
	dta 101,101,39,$aa
	dta 115,115,36,$aa
	dta 66,66,45,$55
	dta 108,113,45,$aa
	dta 97,97,76,$aa
	dta 87,89,85,$ff
	dta 77,77,16,$aa
	dta 60,70,22,$ff
	dta 66,66,19,$ff
	dta 49,51,84,$55
	dta 64,64,17,$ff
	dta 86,97,89,$ff
	dta 138,139,45,$aa
	dta 38,38,74,$aa
	dta 45,51,27,$ff
	dta 68,69,29,$55
	dta 72,74,39,$55
	dta 73,76,27,$ff
	dta 119,123,59,$aa
	dta 58,58,21,$aa
	dta 32,105,56,$ff
	dta 55,57,40,$55
	dta 80,81,87,$55
	dta 39,40,77,$ff
	dta 58,58,16,$aa
	dta 64,64,20,$ff
	dta 69,69,14,$aa
	dta 50,55,37,$ff
	dta 58,59,19,$ff
	dta 64,68,21,$ff
	dta 56,63,47,$55
	dta 80,80,33,$55
	dta 109,109,35,$aa
	dta 115,116,35,$aa
	dta 98,98,75,$ff
	dta 48,52,88,$55
	dta 128,128,46,$aa
	dta 25,50,63,$ff
	dta 56,57,21,$ff
	dta 71,71,22,$aa
	dta 102,102,38,$aa
	dta 95,95,75,$aa
	dta 37,47,89,$ff
	dta 92,95,83,$ff
	dta 123,123,37,$aa
	dta 20,32,90,$ff
	dta 122,123,48,$aa
	dta 111,111,50,$aa
	dta 81,86,85,$55
	dta 59,71,39,$ff
	dta 119,119,36,$aa
	dta 128,128,64,$aa
	dta 74,74,19,$aa
	dta 45,50,52,$ff
	dta 56,57,44,$55
	dta 59,60,21,$ff
	dta 66,67,16,$ff
	dta 119,119,46,$aa
	dta 115,115,51,$aa
	dta 59,59,40,$55
	dta 81,81,31,$ff
vicd4
	dta 56,75,23,$ff
	dta 61,61,21,$aa
	dta 94,94,37,$aa
	dta 135,135,51,$aa
	dta 59,59,17,$aa
	dta 53,60,32,$ff
	dta 71,71,18,$aa
	dta 41,94,75,$ff
	dta 75,82,41,$ff
	dta 48,58,49,$ff
	dta 155,155,64,$aa
	dta 38,41,83,$ff
	dta 130,130,51,$aa
	dta 131,131,46,$aa
	dta 55,55,23,$aa
	dta 123,127,51,$aa
	dta 74,82,44,$ff
	dta 46,50,32,$ff
	dta 68,76,52,$ff
	dta 74,82,42,$ff
	dta 54,54,22,$aa
	dta 109,109,34,$aa
	dta 52,52,15,$aa
	dta 140,142,52,$aa
	dta 20,34,83,$ff
	dta 49,80,50,$ff
	dta 94,94,79,$aa
	dta 119,119,61,$aa
	dta 148,151,60,$aa
	dta 94,94,35,$aa
	dta 72,80,30,$ff
	dta 115,115,37,$aa
	dta 26,111,61,$ff
	dta 66,66,31,$ff
	dta 107,107,39,$aa
	dta 111,111,46,$aa
	dta 119,123,56,$aa
	dta 56,56,19,$aa
	dta 54,58,27,$ff
	dta 119,119,50,$aa
	dta 37,44,87,$ff
	dta 57,76,86,$ff
	dta 139,139,63,$aa
	dta 65,66,46,$55
	dta 141,141,41,$aa
	dta 72,72,15,$aa
	dta 38,38,76,$aa
	dta 127,127,50,$aa
	dta 71,74,41,$55
	dta 137,137,47,$aa
	dta 58,113,70,$ff
	dta 73,73,20,$aa
	dta 38,41,82,$ff
	dta 132,136,57,$aa
	dta 23,51,67,$ff
	dta 65,65,20,$aa
	dta 57,57,25,$aa
	dta 71,82,48,$ff
	dta 85,87,87,$55
	dta 135,135,47,$aa
	dta 61,61,20,$aa
	dta 55,65,52,$ff
	dta 75,79,37,$ff
	dta 55,113,72,$ff
vicd5
	dta 76,76,17,$aa
	dta 38,42,84,$ff
	dta 38,38,75,$aa
	dta 73,82,46,$ff
	dta 73,73,36,$55
	dta 129,129,39,$aa
	dta 69,70,17,$ff
	dta 126,130,55,$aa
	dta 124,124,62,$aa
	dta 115,115,50,$aa
	dta 62,62,12,$aa
	dta 53,60,33,$ff
	dta 132,132,62,$aa
	dta 107,107,33,$aa
	dta 20,33,87,$ff
	dta 72,78,32,$ff
	dta 75,80,38,$ff
	dta 38,38,72,$aa
	dta 46,60,31,$ff
	dta 115,115,33,$aa
	dta 127,127,49,$aa
	dta 20,35,81,$ff
	dta 59,60,41,$55
	dta 126,126,59,$aa
	dta 21,35,74,$ff
	dta 62,63,46,$55
	dta 20,32,89,$ff
	dta 72,74,37,$55
	dta 58,75,84,$ff
	dta 154,156,59,$aa
	dta 99,115,80,$ff
	dta 65,68,54,$ff
	dta 132,132,63,$aa
	dta 155,156,60,$aa
	dta 53,112,66,$ff
	dta 58,61,25,$ff
	dta 69,69,13,$aa
	dta 111,111,49,$aa
	dta 92,95,82,$ff
	dta 77,94,53,$ff
	dta 63,63,21,$aa
	dta 47,55,46,$ff
	dta 80,82,86,$55
	dta 121,121,36,$aa
	dta 43,57,82,$ff
	dta 53,53,16,$aa
	dta 53,56,70,$ff
	dta 94,94,38,$aa
	dta 89,96,87,$ff
	dta 51,72,36,$ff
	dta 123,123,33,$aa
	dta 69,69,21,$aa
	dta 47,55,47,$ff
	dta 39,41,81,$ff
	dta 123,123,57,$aa
	dta 77,81,84,$ff
	dta 119,119,58,$aa
	dta 65,71,47,$55
	dta 131,135,44,$aa
	dta 110,113,40,$aa
	dta 27,110,60,$ff
	dta 48,54,39,$ff
	dta 94,94,34,$aa
	dta 70,70,19,$aa
vicd6
	dta 66,67,18,$ff
	dta 23,46,69,$ff
	dta 80,80,31,$55
	dta 52,56,84,$ff
	dta 86,89,84,$ff
	dta 53,80,89,$ff
	dta 64,67,28,$ff
	dta 103,103,37,$aa
	dta 59,59,27,$aa
	dta 60,71,27,$ff
	dta 120,121,34,$aa
	dta 81,84,28,$ff
	dta 39,94,80,$ff
	dta 59,71,38,$ff
	dta 139,143,64,$aa
	dta 71,73,19,$ff
	dta 139,143,57,$aa
	dta 132,132,59,$aa
	dta 53,112,67,$ff
	dta 56,56,37,$55
	dta 128,128,45,$aa
	dta 37,43,86,$ff
	dta 62,62,16,$aa
	dta 61,61,16,$ff
	dta 115,115,40,$aa
	dta 100,114,77,$ff
	dta 74,78,28,$ff
	dta 123,123,40,$aa
	dta 95,95,76,$aa
	dta 35,35,75,$aa
	dta 50,61,29,$ff
	dta 71,73,44,$55
	dta 54,55,86,$ff
	dta 69,70,18,$ff
	dta 59,59,22,$aa
	dta 48,52,85,$55
	dta 100,100,78,$aa
	dta 120,123,63,$aa
	dta 97,98,74,$aa
	dta 47,54,41,$ff
	dta 63,63,20,$aa
	dta 103,115,90,$ff
	dta 56,56,13,$aa
	dta 145,145,63,$aa
	dta 107,107,35,$aa
	dta 88,88,86,$ff
	dta 121,121,37,$aa
	dta 135,135,50,$aa
	dta 99,99,75,$aa
	dta 68,80,49,$ff
	dta 63,64,16,$ff
	dta 101,115,84,$ff
	dta 50,51,71,$ff
	dta 72,75,22,$ff
	dta 109,109,33,$aa
	dta 69,70,16,$ff
	dta 41,54,53,$ff
	dta 42,94,76,$ff
	dta 119,119,57,$aa
	dta 48,51,69,$ff
	dta 44,52,28,$ff
	dta 117,117,36,$aa
	dta 70,72,20,$ff
	dta 55,55,18,$aa
vicd7
	dta 119,119,62,$aa
	dta 58,60,20,$ff
	dta 29,108,58,$ff
	dta 64,64,19,$ff
	dta 20,35,79,$ff
	dta 109,112,36,$aa
	dta 131,131,47,$aa
	dta 40,40,74,$aa
	dta 68,69,19,$ff
	dta 126,126,60,$aa
	dta 49,54,38,$ff
	dta 60,70,40,$ff
	dta 63,64,32,$55
	dta 117,119,37,$aa
	dta 126,126,56,$aa
	dta 21,36,76,$ff
	dta 21,34,75,$ff
	dta 65,67,34,$ff
	dta 40,40,75,$aa
	dta 74,78,36,$ff
	dta 71,71,10,$aa
	dta 97,97,75,$aa
	dta 68,69,25,$aa
	dta 94,95,77,$aa
	dta 48,56,48,$ff
	dta 20,34,86,$ff
	dta 24,51,66,$ff
	dta 127,128,48,$aa
	dta 148,151,57,$aa
	dta 71,73,43,$55
	dta 68,68,16,$aa
	dta 111,111,48,$aa
	dta 59,60,44,$55
	dta 65,65,10,$aa
	dta 68,68,18,$aa
	dta 123,123,49,$aa
	dta 99,99,77,$aa
	dta 59,74,82,$ff
	dta 100,115,82,$ff
	dta 107,107,37,$aa
	dta 129,129,36,$aa
	dta 84,84,33,$55
	dta 121,121,40,$aa
	dta 145,145,58,$aa
	dta 125,125,48,$aa
	dta 143,143,58,$aa
	dta 53,56,85,$ff
	dta 41,95,73,$ff
	dta 65,65,14,$aa
	dta 62,63,42,$55
	dta 25,111,62,$ff
	dta 125,125,40,$aa
	dta 68,72,46,$55
	dta 62,63,25,$aa
	dta 154,156,58,$aa
	dta 99,114,73,$ff
	dta 127,130,63,$aa
	dta 52,52,64,$ff
	dta 22,36,73,$ff
	dta 155,155,61,$aa
	dta 103,115,88,$ff
	dta 41,94,74,$ff
	dta 129,129,35,$aa
	dta 115,115,38,$aa
vicd8
	dta 56,64,53,$ff
	dta 107,107,40,$aa
	dta 60,62,18,$ff
	dta 67,67,19,$aa
	dta 97,97,78,$aa
	dta 45,46,86,$ff
	dta 63,63,17,$aa
	dta 137,137,61,$aa
	dta 81,83,34,$55
	dta 81,85,88,$55
	dta 68,69,42,$55
	dta 55,57,39,$55
	dta 71,78,29,$ff
	dta 84,84,31,$55
	dta 81,84,29,$ff
	dta 65,65,19,$aa
	dta 123,123,50,$aa
	dta 84,84,32,$55
	dta 95,95,74,$aa
	dta 148,148,59,$aa
	dta 62,62,21,$ff
	dta 140,140,42,$aa
	dta 55,58,22,$ff
	dta 68,68,17,$aa
	dta 62,63,45,$55
	dta 59,60,45,$55
	dta 65,65,17,$aa
	dta 72,74,38,$55
	dta 123,123,34,$aa
	dta 54,111,63,$ff
	dta 59,74,81,$ff
	dta 125,129,34,$aa
	dta 61,69,41,$ff
	dta 140,142,44,$aa
	dta 72,82,47,$ff
	dta 52,77,35,$ff
	dta 40,49,72,$ff
	dta 56,77,87,$ff
	dta 68,69,45,$55
	dta 22,46,70,$ff
	dta 36,36,75,$ff
	dta 68,69,43,$55
	dta 125,125,49,$aa
	dta 145,145,62,$aa
	dta 99,99,76,$aa
	dta 137,137,62,$aa
	dta 73,75,21,$ff
	dta 50,60,30,$ff
	dta 99,114,79,$ff
	dta 53,56,69,$ff
	dta 54,54,17,$aa
	dta 124,124,60,$aa
	dta 81,81,30,$55
	dta 102,115,86,$ff
	dta 75,82,40,$ff
	dta 66,67,53,$ff
	dta 70,71,21,$ff
	dta 59,62,28,$ff
	dta 148,148,62,$aa
	dta 135,135,49,$aa
	dta 70,70,12,$aa
	dta 130,131,49,$aa
	dta 56,57,45,$55
	dta 132,132,58,$aa
vicd9
	dta 101,105,40,$aa
	dta 66,66,33,$ff
	dta 148,148,61,$aa
	dta 119,119,51,$aa
	dta 135,135,45,$aa
	dta 121,121,38,$aa
	dta 103,115,87,$ff
	dta 138,139,51,$aa
	dta 148,152,64,$aa
	dta 109,109,38,$aa
	dta 62,69,26,$ff
	dta 71,72,45,$55
	dta 73,82,45,$ff
	dta 46,46,87,$ff
	dta 65,66,30,$ff
	dta 59,67,49,$55
	dta 115,115,47,$aa
	dta 88,96,88,$ff
	dta 142,142,40,$aa
	dta 137,137,46,$aa
	dta 68,69,44,$55
	dta 98,98,76,$ff

.proc	drakulr
		ldx drakulx
		inx
		stx 53249
		stx drakulx
		ldx drakuxx
		inx
		stx 53250
		stx drakuxx
		rts
.endp
.proc	drakull
		ldx drakulx
		dex
		stx 53249
		stx drakulx
		ldx drakuxx
		dex
		stx 53250
		stx drakuxx
		rts
.endp
.proc	detangle(.byte a) .reg
.zpvar	tmp .byte
		sta tmp				; zapamietaj roznice pozycji
		sec
		sbc #45				; czy w I polu brzucha? [42-44]
		bcs da_01
		lda #1				; tak, I pole brzucha
		sta	glhdir							
		lda #8
		sta glvmt
		lda #2
		sta glhmt
		lda #0
		sta glvmc
		sta glhmc
		rts
da_01	lda tmp
		sec
		sbc #48				; czy w II polu brzucha? [45-47]
		bcs da_02
		lda #1				; tak, II pole brzucha
		sta glhdir
		lda #2
		sta glvmt
		lda #2
		sta glhmt
		lda #0
		sta glvmc
		sta glhmc
		rts
da_02	lda tmp
		sec
		sbc #54				; czy w III polu brzucha? [48-53]
		bcs da_03
		lda #1				; tak, III pole brzucha
		sta glhdir
		lda #1
		sta glvmt
		lda #2
		sta glhmt
		lda #0
		sta glvmc
		sta glhmc
		rts
da_03	lda tmp
		sec
		sbc #59				; czy w IV polu brzucha? [54-58]
		bcs da_04
		lda #1				; tak, IV pole brzucha
		sta glhdir
		lda #1
		sta glvmt
		lda #200
		sta glhmt
		lda #0
		sta glvmc
		sta glhmc
		rts
da_04	lda tmp
		sec
		sbc #65				; czy w V polu brzucha? [59-64]
		bcs da_05
		lda #0				; tak, V pole brzucha
		sta glhdir
		lda #1
		sta glvmt
		lda #4
		sta glhmt
		lda #0
		sta glvmc
		sta glhmc
		rts
da_05	lda tmp
		sec
		sbc #69				; czy w VI polu brzucha? [65-68]
		bcs da_06
		lda #0				; tak, VI pole brzucha
		sta glhdir
		lda #1
		sta glvmt
		lda #2
		sta glhmt
		lda #0
		sta glvmc
		sta glhmc
		rts
da_06	lda #0				; tak, VII pole brzucha
		sta glhdir
		lda #8
		sta glvmt
		lda #2
		sta glhmt
		lda #0
		sta glvmc
		sta glhmc
da_00	rts
.endp
.proc	glandd	
		ldy glandy
		lda #0
		sta 33830,y
		iny
		sta 33830,y
		iny
		sta 33830,y
		ldx glandy
		inx				; gruczol przesuwamy o 3 w dol
		inx
		inx
		stx glandy
		glandput
		rts
.endp
.proc	glandmove
		ldx glhmc
		inx
		stx glhmc
		cpx glhmt
		bne gm_0
		ldx #0
		stx glhmc
		lda glhdir
		cmp #0
		bne gm_03
		glandr
		jmp gm_0
gm_03	glandl
gm_0	ldx glvmc
		inx
		stx glvmc
		cpx glvmt
		bne gm_01
		ldx #0
		stx glvmc
		lda	glvdir
		cmp #1
		bne gm_02
		glandd
		jmp gm_01
gm_02	lda glandx
		sec
		sbc bellyp
		glandu
gm_01	rts
.endp
.proc	sprites

;		POKE 559,62
		lda #62
		sta 559

;		PMBASE=PEEK(106)-32:POKE 54279,PMBASE
		lda #128
		sta 54279

;		PM=32768	
;		FOR J=PM+768 TO PM+2048:POKE J,0:NEXT J
;		Clear from 33536 to 34816
		ldx #0
		lda #0
cl_00	sta 33536,x
		inx
		cpx #0
		bne cl_00
cl_01	sta 33792,x
		inx
		cpx #0
		bne cl_01
cl_02	sta 34048,x
		inx
		cpx #0
		bne cl_02
cl_03	sta 34304,x
		inx
		cpx #0
		bne cl_03
cl_04	sta 34560,x
		inx
		cpx #0
		bne cl_04
		sta 34816

;		POKE 53277,3
		lda #3
		sta 53277

;		70 PL0=PM+1024
;		80 FOR J=PL0+32 TO PL0+47	; 33824 to 33839
;		90 READ D:POKE J,D:NEXT J
		glandput

;		PL1=PM+1280
;		FOR PL1+32 TO PL1+47
;		PL2=PM+1536
;		FOR PL2+32 TO PL2+47
		drakulput

;		PL3=PM+1792
;		FOR PL3+32 TO PL3+47
		tearput

		bedbugput

;		POKE 53248,50
		lda glandx
		sta 53248

		lda drakulx
		sta 53249
		lda drakuxx
		sta 53250

		lda #0
		sta 53251

;		POKE 704,180

		lda #223
		sta 705
		sta 706

		lda #154
		sta 707

		rts
.endp
.proc	bedbugd
		ldx bedbugy
		lda #0
		sta 33500,x
		ldy bedbugy
		iny
		sty bedbugy
		rts
.endp
.proc	bedbugu
		ldx bedbugy
		inx
		lda #0
		sta 33500,x
		ldy bedbugy
		dey
		sty bedbugy
		rts
.endp
.proc	bedbugr
		ldy bedbugx
		iny
		sty bedbugx
		rts
.endp
.proc	bedbugl
		ldy bedbugx
		dey
		sty bedbugx
		rts
.endp
.proc	bbhorm
		lda bbdir
		cmp #0
		beq bh_00
		cmp #7
		beq bh_00
		cmp #6
		beq	bh_00
		cmp #2
		beq bh_01
		cmp #3
		beq bh_01
		cmp #4
		beq bh_01
		rts
bh_00	bedbugl		
		rts
bh_01	bedbugr
		rts
.endp	
.proc	bbvertm
		lda bbdir
		cmp #0
		beq bv_00
		cmp #1
		beq bv_00
		cmp #2
		beq bv_00
		cmp #6
		beq bv_01
		cmp #5
		beq bv_01
		cmp #4
		beq bv_01
		rts
bv_00	bedbugu
		rts
bv_01	bedbugd
		rts
.endp
.proc	bedbugrev
		lda #0			; clear current bedbug
		ldx bedbugy
		sta 33500,x
		inx
		sta 33500,x
		lda bblgy3		; revert position
		sta bedbugy
		lda bblgx3
		sta bedbugx
		lda #%01000000	; draw bedbug
		ldx bedbugy
		sta 33500,x
		lda #%10000000
		inx
		sta 33500,x
		bedbugrndd		; new random direction		
		rts
.endp
.proc	bedbugput
		lda bedbugs
		cmp #0
		beq bb_01
		lda #%01000000
		ldx bedbugy
		sta 33500,x
		lda #%10000000
		inx
		sta 33500,x
		jmp bb_02
bb_01	lda #%10000000
		ldx bedbugy
		sta 33500,x
		lda #%01000000
		inx
		sta 33500,x
bb_02	lda bedbugx
		sta 53255
		rts
.endp
.proc	bedbug
		lda bbmove
		cmp #1
		beq bb_07
		ldx bbrest		; bedbug is resting
		inx
		stx bbrest
		cpx #$ff
		beq bb_09
		rts				; still resting
bb_09	lda #0			; wake up
		sta bbrest
		lda #1
		sta bbmove
		bedbugrndd
		rts			
bb_07	lda $d20a
		clc
		adc #1
		bcc bb_08
		lda #0
		sta bbmove
		rts
bb_08	
		ldy bbhc
		iny
		sty bbhc
		cpy #13
		bne bb_04
		lda #0
		sta bbhc
		bbhorm
		bbvertm
		lda	bblgx2
		sta bblgx3
		lda bblgx1
		sta bblgx2
		lda bedbugx
		sta bblgx1
		lda	bblgy2
		sta bblgy3
		lda bblgy1
		sta bblgy2
		lda bedbugy
		sta bblgy1
bb_04	ldy bedbugc
		iny
		sty bedbugc
		cpy #13
		bne bb_02
		ldy bedbugs
		iny
		tya
		and #%00000001
		sta bedbugs
		lda #0
		sta bedbugc
bb_02	bedbugput
bb_00	rts
.endp
.proc	tearput
		ldy teary
		lda #16
		sta 34560,y
		sta 34561,y
		sta 34562,y
		lda #24
		sta 34563,y
		sta 34564,y
		sta 34565,y
		lda #60
		sta 34566,y
		sta 34567,y
		lda #62
		sta 34568,y
		lda #126
		sta 34569,y
		lda #127
		sta 34570,y
		lda #254
		sta 34571,y
		sta 34572,y
		lda #124
		sta 34573,y
		lda #60
		sta 34574,y
		lda #56
		sta 34575,y
		rts
.endp
.proc	glandput
		ldy glandy
		lda #56
		sta 33830,y
		lda #110
		sta 33831,y
		lda #221
		sta 33832,y
		lda #191
		sta 33833,y
		lda #254
		sta 33834,y
		lda #248
		sta 33835,y
		lda #240
		sta 33836,y
		sta 33837,y
		lda #248
		sta 33838,y
		lda #120
		sta 33839,y
		lda #126
		sta 33840,y
		lda #127
		sta 33841,y
		lda #47
		sta 33842,y
		lda #51
		sta 33843,y
		lda #31
		sta 33844,y
		lda #6
		sta 33845,y
		rts
.endp
.proc	glandclr
		lda #0
		ldy glandy
		ldx #0
gc_00	sta 33830,y
		inx
		iny
		cpx #16
		bne gc_00
		rts
.endp
.proc	drakulclr
		lda #0
		ldy drakuly
		sta 34047,y
		sta 34048,y
		sta 34049,y
		sta 34050,y
		sta 34051,y
		sta 34052,y
		sta 34053,y
		rts
.endp
.proc	tearclr
		lda #0
		ldy teary
		ldx #0
tc_00	sta 34560,y
		inx
		iny
		cpx #16
		bne tc_00
		rts
.endp
.proc	drakulput
		ldy drakuly
		lda #0
		sta 34047,y
		lda #28
		sta 34048,y
		lda #63
		sta 34049,y
		lda #119
		sta 34050,y
		lda #99
		sta 34051,y
		lda #225
		sta 34052,y
		lda #229
		sta 34053,y
		lda #241
		sta 34054,y
		lda #255
		sta 34055,y
		lda #253
		sta 34056,y
		lda #127
		sta 34057,y
		lda #15
		sta 34058,y
		lda #13
		sta 34059,y
		sta 34060,y
		sta 34061,y
		lda #8
		sta 34062,y
		sta 34063,y
		lda drakuly
		clc
		adc drakulo
		tay
		lda #0
		sta 34303,y
		lda #56
		sta 34304,y
		lda #124
		sta 34305,y
		lda #238
		sta 34306,y
		lda #198
		sta 34307,y
		lda #135
		sta 34308,y
		lda #167
		sta 34309,y
		lda #143
		sta 34310,y
		lda #254
		sta 34311,y
		lda #126
		sta 34312,y
		lda #252
		sta 34313,y
		lda #248
		sta 34314,y
		lda #88
		sta 34315,y
		sta 34316,y
		lda #80
		sta 34317,y
		sta 34318,y
		lda #16
		sta 34319,y
		rts
.endp
.proc	tear
		ldx points
		inx
		stx points
		lda #0
		sta ptsblk
		lda #17
		sta ptsblkc
		lda #85
		sta 53251
		sound #40, #224, #5
		wait #50
		sound #80, #224, #8
		wait #50
		sound #120, #224, #11
		wait #50
		sound #170, #224, #14
		wait #50
t_00	vertb
		lda #0
		ldy teary
		sta 34560,y
		ldy teary
		iny
		sty teary
		tearput
		lda teary
		sec
		sbc #68
		sta curglnd
		sound curglnd, #%01010110, #13
		ldx ptsblkc
		dex
		stx ptsblkc
		cpx #0
		bne t_02
		lda #17
		sta ptsblkc
		lda ptsblk
		cmp #0			; czy znikac punkt?
		beq t_08		; ...znikac
		lda #0			; ...pojawiac
		sta ptsblk				
		drpoints
		jmp t_02
t_08	lda #1
		sta ptsblk				
		clrpoints
t_02	lda teary
		sec
		sbc #171
		bcc t_00		; lezka jeszcze nie na brzuchu
		wait #60
		lda #83
		sta 53251
		lda #1
		sta 53259
		wait #90
		lda #79
		sta 53251
		lda #3
		sta 53259
		wait #180
		nosound
		glandclr
		glandini		; reset gland
		glandput
		wforfire
		lda #0			; reset tear size
		sta 53259
		tearclr
		lda #0
		sta 53251		; hide tear
		lda #68			; reset tear position
		sta teary	
		tearput
		lda points
		cmp #39
		bne t_03
		lda #1
		sta fin
t_03	rts
.endp
.proc	wait(.byte count) .var
.zpvar	count .byte
		ldx count
c_00	dex
		vertb
		cpx #0
		bne c_00
		rts
.endp
.proc	drbelly
.zpvar	tmps,tmpe .byte
		lda bellyp
		sta tmps
		clc
		adc #25
		sta tmpe
		line tmps, tmpe, #71, #$55
		line tmps, tmpe, #72, #$55
		lda tmps
		clc
		adc #1
		sta tmps
		clc 
		adc #23
		sta tmpe
		line tmps, tmpe, #69, #$55
		line tmps, tmpe, #70, #$55
		lda tmps
		clc
		adc #1
		sta tmps
		clc 
		adc #21
		sta tmpe
		line tmps, tmpe, #67, #$55
		line tmps, tmpe, #68, #$55
		lda tmps
		clc
		adc #1
		sta tmps
		clc 
		adc #19
		sta tmpe
		line tmps, tmpe, #66, #$55
		lda tmps
		clc
		adc #1
		sta tmps
		clc 
		adc #17
		sta tmpe
		line tmps, tmpe, #65, #$55
		lda tmps
		clc
		adc #1
		sta tmps
		clc 
		adc #15
		sta tmpe
		line tmps, tmpe, #64, #$55
		lda tmps
		clc
		adc #1
		sta tmps
		clc 
		adc #13
		sta tmpe
		line tmps, tmpe, #63, #$55
		lda tmps
		clc
		adc #2
		sta tmps
		clc 
		adc #9
		sta tmpe
		line tmps, tmpe, #62, #$55
		lda tmps
		clc
		adc #2
		sta tmps
		clc 
		adc #5
		sta tmpe
		line tmps, tmpe, #61, #$55
		rts
.endp

.proc	clrbelly
		fill #30, #0, #$9903
		fill #30, #0, #$992b
		fill #30, #0, #$9953
		fill #30, #0, #$997b
		fill #30, #0, #$99a3
		fill #30, #0, #$99cb
		fill #30, #0, #$99f3
		fill #30, #0, #$9a1b
		fill #30, #0, #$9a43
		fill #30, #0, #$9a6b
		fill #30, #0, #$9a93
		fill #30, #0, #$9abb
		rts
.endp

.proc	fill(.byte count,char .word where) .var
.zpvar	count,char .byte
.zpvar	where .word
		ldy #0
;		lda where
;		sta b1
;		lda where+1
;		sta b2
		lda char
fil1	sta (where),y		; TODO: cofnac na (b1) jesli za szybko bedzie grac
		iny
		cpy count
		bne fil1
		rts
.endp

.proc	line(.byte s1,s2,y,col) .var
.zpvar	s1,s2,y,sb,count,col .byte		
.zpvar	s1o,fin,s1b,tmp .byte
		lda s2				; obliczymy ile bitow dopelnic
		lsr					; ...na prawej krawedzi linii
		lsr
		asl
		asl
		sta s1b
		sta s1o
		lda s2
		sec
		sbc s1o
		sta fin				; i zapamietamy
		lda s1				; obliczamy poczatek linii (z dokladnoscia
		sta s1o				; ...do calych bajtow). Zapamietujac
		lsr					; ...po drodze wartosc pierwotna
		lsr
		clc
		adc #1				; pierwszy segment nie bedzie rowny $ff
		sta sb
		asl
		asl
		sec
		sbc s1o
		sta s1o				; ile bitow trzeba jeszcze narysowac po lewej
		lda s2				; koniec, j.w.
		lsr
		lsr
		sec
		sbc sb				; i dlugosc, tez z dokl. do bajtow
		sta count
		divByte y, #6		; w ktorym 6-liniowym banku jest linia?
		asl					; x2, bo .word
		tay					; aku do y
		lda scrbanks,y		; z tablicy bankow...
		clc					; ...ladujemy docelowe adresy
		adc sb				; ...pamieci ekranu, zwiekszone
		sta b1				; ...o offset poczatku linii (sb)
		lda scrbanks+1,y
		sta b2
		bcc bincb2			; czy zwiekszyc bardziej znaczacy bajt? (np. line #140, #159, #12 daje 240+16=256!)
		lda b2
		clc
		adc #1
		sta b2
bincb2	cpx #0				; w x divByte zostawia reszte z dzielenia
		beq	nobsft			; jesli = 0 to nie obnizamy linii o x w dol
		txa
		asl					; *2
		asl					; *4
		asl					; *8
		sta tmp
		asl					; *16
		asl					; *32
		clc
		adc tmp				; *40 (*32 + *8)
		sta tmp
		lda b1
		clc
		adc tmp
		sta b1
		bcc nobsft
		lda b2
		clc
		adc #1
		sta b2
nobsft	lda count
		cmp #0				; jesli 0, to bez wnetrza z $ff
		beq noline
		cmp #$ff			; jesli $ff, to linia w jednym bajcie
		beq lonbyte 
		fill count,col,b1	; i rysujemy kreske
noline	ldy fin
		lda rlinetip,y		; z tablicy masek bitow prawej krawedzi
		and col				; maskujemy kolorem
		sta sb
		ldy count
		lda (b1),y
		ora sb
		sta (b1),y
		lda b1				; rysujemy lewy brzeg linii
		sec
		sbc #1				; o jeden bajt wczesniej niz poczatek $ff
		sta b1
		bcs l_00			; jesli brak przeniesienia, to rysuj
		lda b2				; a jak jest, to b2 trzeba zmniejszyc o 1
		sec					; np. dla "line #76, #97, #67, #$aa"
		sbc #1
		sta b2
l_00	ldy #0
		lda (b1),y			; co jest na ekranie w tym miejscu?
		sta count			; ...zapamietamy w count
		ldy s1o				; w s1o mamy zapamietane ile bitow
		lda llinetip,y		; a w tablicy llinetip maski bitow
		and col				; maskujemy kolorem
		ora count			; doklejamy poprzednio zapalone bity
		ldy #0
		sta (b1),y			; i ciach!
;		jsr $f24a
		rts
lonbyte	ldy s2				; koniec linii o jeden wiecej, bo np.
		iny					; linia 34-35 ma 2 piksele, a nie 1 
		sty s2
		lda b1				; pobieramy bajt z docelowego miejsca
		sec					; na ekranie, zeby nie nadpisac
		sbc #1				; istniejacych danych bitami zerowymi
		bcs lb_00
		ldx b2
		dex
		stx b2
lb_00	sta b1
		ldy #0
		lda (b1),y
		tay					; pocztkowa wartosc y to biezacy bajt ekranu
		ldx s1				; poczatkowy pos do x
lonag	txa					; obliczymy, ktory bit zapalic
		sec
		sbc s1b
		sta sb				; juz wiemy
		tya					; y do aku
		ldy sb				; do y indeks maski
		sta tmp
		lda linebits,y
		and col				; maskujemy kolorem
		sta s1o
		lda tmp
		ora s1o				; zapalamy
		tay					; zapalony z powrotem do y
		inx					; zwiekszamy licznik
		cpx s2				; czy juz koniec?
		bne lonag			; jesli nie to zapalaj dalej
		ldy #0
		sta (b1),y
;		jsr $f24a
		rts
.endp
.proc	pra					; wypisz akumulator
.var	f .byte
		sta f
		pr f
		lda f
		jsr $f24a
		rts
.endp
.proc	pr(.byte a) .reg
.var	f .byte
		sta f
		divByte f, #100
		adc #16
		sta screen
		stx f
		divByte f, #10
		adc #16
		sta screen+1
		txa
		adc #16
		sta screen+2
		rts
.endp

.proc	divByte(.byte a,b) .var
.var	a,b	.byte
.var	cur .byte
		lda a			
		ldy #0				; zerujemy licznik
sub01	sta cur				; zapamietamy wartosc
		sec
		sbc b				; odejmujemy b
		bcc kon01			; jesli < 0 to koniec
		iny					; zaliczamy strzala
		jmp sub01			; i jeszcze raz...
kon01	tya					; ilosc setek do akumulatora
		ldx	cur				; reszta do x
		rts
.endp
.proc	colors
		lda #9*16+1
		sta 712
		lda #1*16+6
		sta 708
		sta 710
		lda #4*16+12
		sta 709
		rts
.endp
.proc	drfatty
		ldx #0
drf_01	lda fatty0,x
		sta $fb
		inx
		lda fatty0,x
		sta $fc
		inx
		lda fatty0,x
		sta $fd
		inx
		lda fatty0,x
		sta $fe

		stx $ff
		line $fb, $fc, $fd, $fe
;		wait #1
		ldx $ff
		inx
		cpx #0
		bne drf_01

drf_02	lda fatty1,x
		sta $fb
		inx
		lda fatty1,x
		sta $fc
		inx
		lda fatty1,x
		sta $fd
		inx
		lda fatty1,x
		sta $fe

		stx $ff
		line $fb, $fc, $fd, $fe
;		wait #1
		ldx $ff
		inx
		cpx #0
		bne drf_02

drf_03	lda fatty2,x
		sta $fb
		inx
		lda fatty2,x
		sta $fc
		inx
		lda fatty2,x
		sta $fd
		inx
		lda fatty2,x
		sta $fe

		stx $ff
		line $fb, $fc, $fd, $fe
;		wait #1
		ldx $ff
		inx
		cpx #0
		bne drf_03

drf_04	lda fatty3,x
		sta $fb
		inx
		lda fatty3,x
		sta $fc
		inx
		lda fatty3,x
		sta $fd
		inx
		lda fatty3,x
		sta $fe

		stx $ff
		line $fb, $fc, $fd, $fe
;		wait #1
		ldx $ff
		inx
		cpx #0
		bne drf_04

drf_05	lda fatty4,x
		sta $fb
		inx
		lda fatty4,x
		sta $fc
		inx
		lda fatty4,x
		sta $fd
		inx
		lda fatty4,x
		sta $fe

		stx $ff
		line $fb, $fc, $fd, $fe
;		wait #1
		ldx $ff
		inx
		cpx #0
		bne drf_05

drf_06	lda fatty5,x
		sta $fb
		inx
		lda fatty5,x
		sta $fc
		inx
		lda fatty5,x
		sta $fd
		inx
		lda fatty5,x
		sta $fe

		stx $ff
		line $fb, $fc, $fd, $fe
;		wait #1
		ldx $ff
		inx
		cpx #0
		bne drf_06

drf_07	lda fatty6,x
		sta $fb
		inx
		lda fatty6,x
		sta $fc
		inx
		lda fatty6,x
		sta $fd
		inx
		lda fatty6,x
		sta $fe

		stx $ff
		line $fb, $fc, $fd, $fe
;		wait #1
		ldx $ff
		inx
		cpx #0
		bne drf_07

drf_08	lda fatty7,x
		sta $fb
		inx
		lda fatty7,x
		sta $fc
		inx
		lda fatty7,x
		sta $fd
		inx
		lda fatty7,x
		sta $fe

		stx $ff
		line $fb, $fc, $fd, $fe
;		wait #1
		ldx $ff
		inx
		cpx #31*4
		bne drf_08
		rts
.endp
.proc	clrpoints
		lda #0
		ldx points
		sta screen+$dfc,x
		rts
.endp
.proc	drpoints
		lda #80
		ldx points
		sta screen+$dfc,x
		rts
.endp
.proc	drpointsi
.var	tmp .byte
		ldx points
		inx
		stx tmp
		lda #80
		ldx #0
dpi_00	sta screen+$dfc,x
		inx
		cpx tmp
		bne dpi_00
		rts
.endp
.proc	chars
		; TODO: SORT BY BYTE!
		lda 106
		sec
		sbc #8
		sta 106
		ldx #0
		ldy #0
c_00	lda 57344,x
		sta 32768,x
		lda 57600,x
		sta 33024,x
		lda 57856,x
		sta 33280,x
		lda 58112,x
		sta 33536,x
		inx
		iny
		cpy 255
		bne c_00
		lda #128
		sta 756

;------------- EXAMPLE
;		lda	#124		; small drakul (internal 80)
;		sta 33408
;		lda #254
;		sta 33409
;		lda #214
;		sta 33410
;		lda #124
;		sta 33411
;		sta 33412
;		lda #40
;		sta 33413
;		sta 33414
;		lda #32
;		sta 33415

		; small drakul (internal 80)
		;  - (internal 64)
		;  - (internal 65)
		;  - (internal 66)
		;  - (internal 67)
		;  - (internal 4, 68)
		;  - (internal 5, 69)
		;  - (internal 6, 70)
		;  - (internal 71)
		;  - (internal 9, 73)
		; border - (internal 3)

		lda #242
		sta 32794

		lda #146
		sta 32795
		sta 32796

		lda #158
		sta 32797

		lda	#124		
		sta 33411
		sta 33412
		sta 33408
		sta 33339

		lda #254
		sta 33409
		sta 32792
		sta 32799
		sta 32798
		sta 32793

		lda #214
		sta 33410

		lda #40
		sta 33413
		sta 33414

		lda #32
		sta 33415

		lda #0			
		sta 33280
		sta 33287
		sta 33295
		sta 33303
		sta 33311
		sta 32800
		sta 33312
		sta 33327
		sta 32815
		sta 32816
		sta 32823
		sta 33328
		sta 33335
		sta 33336
		sta 33359
		sta 32847

		lda #126
		sta 33281
		sta 33283
		sta 33286

		lda #12
		sta 33282
		sta 33304
		sta 32807
		sta 33319

		lda #48
		sta 33284
		sta 33292

		lda #96
		sta 33285
		sta 33293
		sta 33299
		sta 33300
		sta 33323
		sta 32811
		sta 32817
		sta 32821
		sta 33329
		sta 33333
		sta 33338
		sta 33340

		lda #24			
		sta 33291
		sta 33288
		sta 33296
		sta 32801
		sta 33313
		sta 33320
		sta 32808
		sta 33352
		sta 32840

		lda #16
		sta 33289
		sta 33297
		sta 33321
		sta 32809
		sta 33353
		sta 32841

		lda #126
		sta 33337
		sta 33341
		sta 32822
		sta 33317
		sta 33290
		sta 33294
		sta 33298
		sta 33308
		sta 32805
		sta 33334

		lda #102
		sta 32845
		sta 32844
		sta 32843
		sta 33357
		sta 33356
		sta 33301
		sta 33310
		sta 32803
		sta 32804
		sta 33315
		sta 33316
		sta 33355

		lda #60
		sta 32842
		sta 33302
		sta 33314
		sta 32802
		sta 33322
		sta 33326
		sta 32810
		sta 32846
		sta 32814
		sta 33354
		sta 33358

		lda #106
		sta 33305

		lda #114
		sta 33306

		lda #122
		sta 33307

		lda #110
		sta 33309

		lda #100
		sta 32806
		sta 33318
					
		lda #62
		sta 33324
		sta 32812

		lda #6
		sta 33325
		sta 32813
		sta 33343
				
		lda #108
		sta 32818
		sta 33330

		lda #120
		sta 32819
		sta 33331
		sta 32820
		sta 33332

		lda #8
		sta 33342

		rts
.endp

.proc	drglandname
.zpvar	tmp .byte
		fill #20, #0, #screen+40
		jmp		drgn_0
przysad	lda <przysadka
		sta what
		lda >przysadka
		sta what+1
		writegland
		rts
watrob	lda <watroba
		sta what
		lda >watroba
		sta what+1
		writegland
		rts
szyszyn	lda <szyszynka
		sta what
		lda >szyszynka
		sta what+1
		writegland
		rts
drgn_0	lda $d20a
		sta tmp
		sec
		sbc #10
		bcc sledzi
		lda tmp
		sec
		sbc #29
		bcc prosta
		lda tmp
		sec
		sbc #48
		bcc grasic
		lda tmp
		sec
		sbc #67
		bcc podwzg
		lda tmp
		sec
		sbc #86
		bcc jadr
		lda tmp
		sec
		sbc #105
		bcc jajni
		lda tmp
		sec
		sbc #124
		bcc nadnerc
		lda tmp
		sec
		sbc #143
		bcc sterc
		lda tmp
		sec
		sbc #162
		bcc tarczyc
		lda tmp
		sec
		sbc #181
		bcc przysad
		lda tmp
		sec
		sbc #200
		bcc szyszyn
		lda tmp
		sec
		sbc #219
		bcc trzustk
		lda tmp
		sec
		sbc #237
		bcc watrob
		jmp cont_0
sledzi	lda <sledziona
		sta what
		lda >sledziona
		sta what+1
		writegland
		rts
prosta	lda <prostata
		sta what
		lda >prostata
		sta what+1
		writegland
		rts
grasic	lda <grasica
		sta what
		lda >grasica
		sta what+1
		writegland
		rts
podwzg	lda <podwzgorze
		sta what
		lda >podwzgorze
		sta what+1
		writegland
		rts
jadr	lda <jadro
		sta what
		lda >jadro
		sta what+1
		writegland
		rts
jajni	lda <jajnik
		sta what
		lda >jajnik
		sta what+1
		writegland
		rts
nadnerc	lda <nadnercze
		sta what
		lda >nadnercze
		sta what+1
		writegland
		rts
sterc	lda <stercz
		sta what
		lda >stercz
		sta what+1
		writegland
		rts
tarczyc	lda <tarczyca
		sta what
		lda >tarczyca
		sta what+1
		writegland
		rts
trzustk	lda <trzustka
		sta what
		lda >trzustka
		sta what+1
		writegland
		rts
slinian	lda <slinianka
		sta what
		lda >slinianka
		sta what+1
		writegland
		rts
cont_0	
		lda tmp
		sec
		sbc #255
		bcc slinian
		lda <czustka
		sta what
		lda >czustka
		sta what+1
		writegland
		rts
.endp

.proc	writegland
		ldy #0
		lda (what),y
		tax
		iny
		lda (what),y
wr_00	sta screen,x
		iny
		inx
		lda (what),y
		cmp #0
		bne wr_00
		rts
.endp

.proc	drscoreh
		lda <wydalono
		sta what
		lda >wydalono
		sta what+1	
		writegland	
		lda <stracono
		sta what
		lda >stracono
		sta what+1	
		writegland
		writeextra	
		rts
.endp

.proc	writeextra
		lda extra1
		clc
		adc #16
		sta screen+11
		lda extra2
		clc
		adc #16
		sta screen+12
		lda extra3
		clc
		adc #16
		sta screen+13
		lda extra4
		clc
		adc #16
		sta screen+14
		lda extra5
		clc
		adc #16
		sta screen+15
		lda falle1
		clc
		adc #16
		sta screen+33
		lda falle2
		clc
		adc #16
		sta screen+34
		lda falle3
		clc
		adc #16
		sta screen+35
		lda falle4
		clc
		adc #16
		sta screen+36
		lda falle5
		clc
		adc #16
		sta screen+37
		rts
.endp

.proc	incextra
		ldx extra5
		cpx #42-16
		beq icx_fn
		inx
		cpx #10
		beq ovr_5
		stx extra5
		jmp icx_fn
ovr_5	lda #0
		sta extra5
		ldx extra4
		inx
		cpx #10
		beq ovr_4
		stx extra4
		jmp icx_fn
ovr_4	lda #0
		sta extra4
		ldx extra3
		inx
		cpx #10
		beq ovr_3
		stx extra3
		jmp icx_fn
ovr_3	lda #0
		sta extra3
		ldx extra2
		inx
		cpx #10
		beq ovr_2
		stx extra2
		jmp icx_fn
ovr_2	lda #0
		sta extra2
		ldx extra1
		inx
		cpx #10
		beq ovr_1
		stx extra1
		jmp icx_fn
ovr_1	lda #55-16
		sta extra1
		lda #35-16
		sta extra2
		lda #40-16
		sta extra3
		lda #53-16
		sta extra4
		lda #42-16
		sta extra5
icx_fn	writeextra
		rts
.endp

fatty0
	dta 0,0,49,$00
	dta 148,154,71,$aa
	dta 13,15,6,$00
	dta 34,35,18,$aa
	dta 155,159,8,$ff
	dta 9,22,27,$ff
	dta 150,150,63,$aa
	dta 7,23,89,$ff
	dta 3,3,28,$aa
	dta 9,11,10,$ff
	dta 16,25,7,$00
	dta 13,22,43,$ff
	dta 39,39,13,$aa
	dta 147,156,82,$aa
	dta 134,135,55,$aa
	dta 7,22,50,$ff
	dta 21,25,67,$ff
	dta 3,3,65,$00
	dta 43,144,88,$00
	dta 2,2,16,$aa
	dta 1,2,53,$ff
	dta 155,159,74,$ff
	dta 148,152,65,$aa
	dta 0,2,8,$00
	dta 1,6,49,$ff
	dta 9,9,8,$aa
	dta 13,14,7,$00
	dta 148,154,74,$aa
	dta 156,159,76,$ff
	dta 19,19,29,$aa
	dta 4,23,55,$ff
	dta 0,0,84,$00
	dta 4,4,10,$aa
	dta 147,156,83,$aa
	dta 155,159,64,$ff
	dta 47,48,24,$ff
	dta 13,13,34,$00
	dta 39,42,10,$ff
	dta 15,15,7,$aa
	dta 0,2,41,$00
	dta 38,43,22,$ff
	dta 156,159,78,$ff
	dta 11,11,34,$00
	dta 13,14,10,$ff
	dta 157,159,85,$ff
	dta 158,159,49,$ff
	dta 4,22,54,$ff
	dta 0,0,48,$00
	dta 12,12,10,$aa
	dta 142,142,56,$aa
	dta 1,27,71,$ff
	dta 157,159,83,$ff
	dta 4,21,56,$ff
	dta 147,156,85,$aa
	dta 12,12,7,$aa
	dta 45,48,22,$ff
	dta 142,142,59,$aa
	dta 41,43,12,$ff
	dta 144,145,57,$aa
	dta 0,3,11,$ff
	dta 10,10,46,$00
	dta 155,159,48,$ff
	dta 37,40,12,$00
	dta 152,159,55,$ff
fatty1
	dta 155,159,71,$ff
	dta 131,131,59,$aa
	dta 0,3,90,$aa
	dta 9,15,30,$ff
	dta 11,24,46,$ff
	dta 23,24,20,$aa
	dta 0,5,31,$00
	dta 158,159,65,$ff
	dta 26,26,74,$00
	dta 11,21,22,$ff
	dta 1,146,81,$ff
	dta 33,35,17,$aa
	dta 1,7,48,$ff
	dta 9,15,35,$aa
	dta 128,128,58,$aa
	dta 142,142,58,$aa
	dta 3,3,6,$aa
	dta 41,43,14,$ff
	dta 16,41,8,$ff
	dta 0,1,17,$00
	dta 8,8,11,$aa
	dta 1,146,77,$ff
	dta 6,6,9,$aa
	dta 1,1,22,$aa
	dta 136,136,59,$aa
	dta 2,3,26,$aa
	dta 35,37,20,$aa
	dta 35,36,23,$aa
	dta 10,25,47,$ff
	dta 38,47,21,$ff
	dta 1,146,80,$ff
	dta 0,1,15,$00
	dta 26,146,75,$ff
	dta 0,0,50,$00
	dta 16,34,9,$ff
	dta 9,9,9,$aa
	dta 4,4,8,$aa
	dta 41,44,13,$ff
	dta 7,8,7,$ff
	dta 4,18,38,$ff
	dta 16,35,10,$ff
	dta 33,43,15,$ff
	dta 0,1,62,$00
	dta 19,19,28,$aa
	dta 11,14,32,$ff
	dta 15,15,32,$aa
	dta 138,138,56,$aa
	dta 155,159,73,$ff
	dta 144,146,60,$aa
	dta 156,159,90,$aa
	dta 155,159,14,$ff
	dta 2,2,17,$aa
	dta 11,11,45,$00
	dta 22,24,66,$ff
	dta 0,0,78,$00
	dta 0,2,7,$00
	dta 2,21,42,$ff
	dta 6,6,6,$aa
	dta 4,21,65,$ff
	dta 1,6,68,$ff
	dta 0,3,30,$00
	dta 9,9,47,$00
	dta 10,15,36,$aa
	dta 1,11,43,$ff
fatty2
	dta 3,36,12,$ff
	dta 2,26,73,$ff
	dta 144,144,56,$aa
	dta 2,2,15,$ff
	dta 10,11,8,$ff
	dta 138,140,60,$aa
	dta 0,0,72,$00
	dta 1,4,50,$ff
	dta 9,22,25,$ff
	dta 16,24,17,$ff
	dta 3,3,15,$aa
	dta 0,2,40,$00
	dta 155,159,72,$ff
	dta 1,3,9,$ff
	dta 158,159,25,$ff
	dta 8,8,10,$aa
	dta 3,22,59,$ff
	dta 0,0,54,$00
	dta 0,0,66,$00
	dta 142,142,60,$aa
	dta 1,27,70,$ff
	dta 148,154,72,$aa
	dta 149,149,60,$aa
	dta 14,15,17,$00
	dta 106,106,72,$00
	dta 136,136,57,$aa
	dta 46,47,25,$ff
	dta 148,154,73,$aa
	dta 138,140,55,$aa
	dta 26,34,16,$aa
	dta 6,6,31,$aa
	dta 10,11,7,$ff
	dta 0,0,74,$00
	dta 0,3,56,$00
	dta 150,150,67,$aa
	dta 36,38,10,$aa
	dta 0,0,85,$00
	dta 1,146,84,$ff
	dta 0,5,32,$00
	dta 22,24,24,$aa
	dta 3,20,41,$ff
	dta 157,159,84,$ff
	dta 0,0,25,$00
	dta 8,8,48,$00
	dta 133,133,60,$aa
	dta 147,155,75,$aa
	dta 15,15,10,$aa
	dta 38,46,20,$ff
	dta 8,26,68,$ff
	dta 144,146,55,$aa
	dta 1,2,75,$ff
	dta 24,25,19,$aa
	dta 148,148,59,$aa
	dta 1,1,54,$ff
	dta 26,36,7,$ff
	dta 0,0,76,$00
	dta 148,154,70,$aa
	dta 158,159,53,$ff
	dta 23,149,64,$00
	dta 9,25,48,$ff
	dta 4,36,14,$ff
	dta 147,156,86,$aa
	dta 25,146,76,$ff
	dta 0,0,14,$00
fatty3
	dta 158,159,13,$ff
	dta 0,1,18,$00
	dta 0,0,65,$00
	dta 0,2,39,$00
	dta 3,22,64,$ff
	dta 37,38,13,$00
	dta 28,147,73,$ff
	dta 152,159,39,$ff
	dta 22,23,52,$aa
	dta 15,15,9,$aa
	dta 25,27,17,$aa
	dta 1,3,10,$ff
	dta 129,131,60,$aa
	dta 0,8,34,$00
	dta 8,26,49,$ff
	dta 12,12,9,$aa
	dta 25,25,75,$00
	dta 4,42,88,$ff
	dta 7,7,68,$00
	dta 7,8,6,$00
	dta 5,5,28,$aa
	dta 145,147,88,$ff
	dta 9,15,29,$ff
	dta 147,156,81,$aa
	dta 9,22,26,$ff
	dta 13,23,44,$ff
	dta 35,37,21,$aa
	dta 155,159,24,$ff
	dta 18,18,29,$ff
	dta 5,6,67,$00
	dta 1,5,76,$ff
	dta 4,21,53,$ff
	dta 147,156,80,$aa
	dta 1,146,85,$ff
	dta 144,144,59,$aa
	dta 0,5,33,$00
	dta 3,19,39,$ff
	dta 12,13,18,$00
	dta 0,0,82,$00
	dta 15,15,8,$aa
	dta 0,0,75,$00
	dta 156,159,92,$aa
	dta 147,156,84,$aa
	dta 136,136,60,$aa
	dta 2,2,18,$aa
	dta 17,154,6,$00
	dta 5,20,66,$ff
	dta 8,8,31,$aa
	dta 27,147,74,$ff
	dta 28,32,15,$aa
	dta 138,138,59,$aa
	dta 0,0,81,$00
	dta 16,16,36,$ff
	dta 21,21,66,$00
	dta 3,3,8,$ff
	dta 3,3,7,$aa
	dta 1,10,45,$ff
	dta 6,24,75,$ff
	dta 158,159,33,$ff
	dta 158,159,29,$ff
	dta 152,159,15,$ff
	dta 158,159,61,$ff
	dta 1,146,83,$ff
	dta 8,22,76,$ff
fatty4
	dta 17,17,32,$aa
	dta 156,159,77,$ff
	dta 2,23,62,$ff
	dta 138,138,57,$aa
	dta 6,22,51,$ff
	dta 1,146,82,$ff
	dta 0,0,47,$00
	dta 20,20,30,$aa
	dta 42,42,11,$ff
	dta 5,5,10,$ff
	dta 37,45,19,$ff
	dta 3,3,25,$aa
	dta 155,159,6,$ff
	dta 3,22,61,$ff
	dta 36,44,18,$ff
	dta 35,37,22,$aa
	dta 3,19,40,$ff
	dta 11,21,21,$ff
	dta 22,24,21,$aa
	dta 9,15,31,$ff
	dta 0,0,23,$00
	dta 0,0,10,$00
	dta 1,11,44,$ff
	dta 158,159,37,$ff
	dta 0,2,12,$aa
	dta 147,155,76,$aa
	dta 157,159,80,$ff
	dta 36,43,17,$ff
	dta 155,159,38,$ff
	dta 128,128,59,$aa
	dta 23,23,26,$aa
	dta 6,6,8,$aa
	dta 5,5,8,$ff
	dta 23,26,51,$aa
	dta 1,2,14,$ff
	dta 155,159,22,$ff
	dta 3,3,52,$00
	dta 12,23,19,$ff
	dta 37,40,14,$00
	dta 10,21,23,$ff
	dta 133,133,57,$aa
	dta 23,24,54,$aa
	dta 7,7,10,$ff
	dta 155,159,16,$ff
	dta 4,4,9,$aa
	dta 0,0,80,$00
	dta 3,156,91,$aa
	dta 158,159,17,$ff
	dta 25,26,52,$aa
	dta 40,40,13,$00
	dta 4,21,57,$ff
	dta 12,12,6,$aa
	dta 9,16,28,$ff
	dta 9,10,32,$aa
	dta 9,9,7,$aa
	dta 0,1,42,$00
	dta 0,0,71,$00
	dta 152,159,47,$ff
	dta 4,4,66,$00
	dta 7,8,8,$ff
	dta 11,22,20,$ff
	dta 152,159,63,$ff
	dta 4,13,17,$ff
	dta 17,17,29,$aa
fatty5
	dta 13,14,8,$ff
	dta 1,1,74,$ff
	dta 155,159,46,$ff
	dta 6,7,76,$00
	dta 7,7,49,$00
	dta 0,0,22,$00
	dta 6,9,36,$ff
	dta 3,3,14,$aa
	dta 35,35,9,$aa
	dta 157,157,87,$ff
	dta 0,36,13,$ff
	dta 147,155,77,$aa
	dta 4,4,11,$aa
	dta 12,12,34,$aa
	dta 14,15,34,$aa
	dta 0,2,64,$00
	dta 1,146,78,$ff
	dta 39,41,11,$aa
	dta 0,0,83,$00
	dta 12,12,43,$00
	dta 5,6,50,$00
	dta 0,1,26,$00
	dta 158,159,41,$ff
	dta 156,159,75,$ff
	dta 12,24,45,$ff
	dta 24,26,18,$aa
	dta 4,7,30,$aa
	dta 9,9,6,$aa
	dta 9,10,34,$aa
	dta 0,2,6,$00
	dta 13,14,9,$ff
	dta 14,23,18,$ff
	dta 18,18,28,$ff
	dta 150,150,64,$aa
	dta 158,159,21,$ff
	dta 44,45,24,$ff
	dta 23,24,65,$ff
	dta 0,0,77,$00
	dta 136,136,56,$aa
	dta 12,12,8,$aa
	dta 1,2,65,$ff
	dta 155,159,56,$ff
	dta 158,159,5,$ff
	dta 6,6,10,$aa
	dta 149,151,66,$aa
	dta 2,23,63,$ff
	dta 155,159,54,$ff
	dta 16,16,6,$aa
	dta 155,159,40,$ff
	dta 0,3,38,$00
	dta 20,20,28,$ff
	dta 1,2,52,$ff
	dta 1,146,79,$ff
	dta 22,22,65,$00
	dta 0,0,79,$00
	dta 3,5,75,$00
	dta 144,144,58,$aa
	dta 6,6,7,$aa
	dta 0,3,55,$00
	dta 147,156,87,$aa
	dta 4,21,52,$ff
	dta 3,22,60,$ff
	dta 8,11,18,$ff
	dta 157,159,79,$ff
fatty6
	dta 9,21,24,$ff
	dta 0,3,92,$aa
	dta 155,159,62,$ff
	dta 147,156,79,$aa
	dta 2,146,87,$ff
	dta 22,24,23,$aa
	dta 1,1,23,$aa
	dta 6,15,33,$aa
	dta 0,0,46,$00
	dta 2,2,74,$00
	dta 4,5,51,$00
	dta 158,159,9,$ff
	dta 9,38,11,$ff
	dta 36,42,9,$ff
	dta 155,159,30,$ff
	dta 5,5,9,$ff
	dta 0,0,86,$00
	dta 17,17,30,$aa
	dta 155,159,70,$ff
	dta 129,131,55,$aa
	dta 1,8,47,$ff
	dta 37,38,23,$ff
	dta 23,24,25,$aa
	dta 42,48,23,$ff
	dta 5,7,11,$ff
	dta 1,26,69,$ff
	dta 4,5,27,$aa
	dta 6,6,32,$aa
	dta 157,159,81,$ff
	dta 4,27,15,$ff
	dta 142,142,55,$aa
	dta 35,43,16,$ff
	dta 10,11,9,$ff
	dta 3,22,58,$ff
	dta 0,2,58,$00
	dta 7,8,9,$ff
	dta 12,12,44,$00
	dta 17,17,31,$aa
	dta 0,2,91,$00
	dta 4,5,7,$ff
	dta 20,20,31,$aa
	dta 22,25,53,$aa
	dta 142,142,57,$aa
	dta 150,150,62,$aa
	dta 152,159,31,$ff
	dta 5,5,29,$aa
	dta 3,3,29,$aa
	dta 130,131,58,$aa
	dta 0,3,57,$00
	dta 1,1,25,$aa
	dta 133,133,56,$aa
	dta 1,4,67,$ff
	dta 24,147,89,$00
	dta 23,24,76,$00
	dta 148,156,88,$aa
	dta 3,25,16,$ff
	dta 0,1,24,$00
	dta 4,5,6,$00
	dta 152,159,7,$ff
	dta 0,0,9,$00
	dta 157,159,82,$ff
	dta 35,36,24,$aa
	dta 128,128,56,$aa
	dta 23,25,50,$aa
fatty7
	dta 3,25,74,$ff
	dta 0,1,16,$00
	dta 22,24,22,$aa
	dta 148,155,89,$aa
	dta 19,20,67,$00
	dta 10,11,6,$00
	dta 7,18,67,$ff
	dta 158,159,57,$ff
	dta 147,155,78,$aa
	dta 1,3,51,$ff
	dta 17,17,28,$aa
	dta 157,158,86,$ff
	dta 1,27,72,$ff
	dta 133,133,59,$aa
	dta 1,9,46,$ff
	dta 152,159,23,$ff
	dta 0,1,73,$00
	dta 5,17,37,$ff
	dta 158,159,45,$ff
	dta 35,36,19,$aa
	dta 133,136,58,$aa
	dta 138,138,58,$aa
	dta 26,26,50,$ff
	dta 2,3,24,$aa
	dta 1,3,66,$ff
	dta 0,1,63,$00
	dta 1,146,86,$ff
	dta 24,24,52,$00
	dta 149,149,61,$aa
	dta 128,128,57,$aa
	dta 155,159,32,$ff

.proc	incfalle
		ldx falle5
		cpx #42-16
		beq icx_fn
		inx
		cpx #10
		beq ovr_5
		stx falle5
		jmp icx_fn
ovr_5	lda #0
		sta falle5
		ldx falle4
		inx
		cpx #10
		beq ovr_4
		stx falle4
		jmp icx_fn
ovr_4	lda #0
		sta falle4
		ldx falle3
		inx
		cpx #10
		beq ovr_3
		stx falle3
		jmp icx_fn
ovr_3	lda #0
		sta falle3
		ldx falle2
		inx
		cpx #10
		beq ovr_2
		stx falle2
		jmp icx_fn
ovr_2	lda #0
		sta falle2
		ldx falle1
		inx
		cpx #10
		beq ovr_1
		stx falle1
		jmp icx_fn
ovr_1	lda #55-16
		sta falle1
		lda #35-16
		sta falle2
		lda #40-16
		sta falle3
		lda #53-16
		sta falle4
		lda #42-16
		sta falle5
icx_fn	writeextra
		rts
.endp
.proc	wforfire
		lda <fajer
		sta what
		lda >fajer
		sta what+1
		writegland
wff_01	wait #3
		bedbug
		rts
.endp
.proc	scoreini
		lda #0
		sta extra1
		sta extra2
		sta extra3
		sta extra4
		sta extra5
		sta falle1
		sta falle2
		sta falle3
		sta falle4
		sta falle5
		rts
.endp

;		Gruczoly
;		Slinianka		255-237
;		Watroba			236-219
;		Trzustka		218-200
;		Szyszynka		199-181
;		Przysadka		180-162
;		Tarczyca		161-143
;		Stercz			142-124
;		Nadnercze		123-105
;		Jajnik			104- 86
;		Jadro			 85- 67
;		Podwzgorze		 66- 48
;		Grasica			 47- 29
;		Prostata		 28- 10
;		Sledziona		  9-  0		(@16)
.array	sledziona .byte
		[0] = 50-9/2
		[1] = 69
		[2] = "ledziona "
.enda
.array	prostata .byte
		[0]	= 50-8/2
		[1] = "prostata "
.enda
.array	grasica .byte
		[0]	= 50-7/2
		[1] = "grasica "
.enda
.array	podwzgorze .byte
		[0]	= 50-10/2
		[1] = "podwzg"
		[7] = 73
		[8] = "rze "
.enda
.array	jadro .byte
		[0]	= 50-5/2
		[1] = "j"
		[2] = 68
		[3] = "dro "
.enda
.array	jajnik .byte
		[0]	= 50-6/2
		[1] = "jajnik "
.enda
.array	nadnercze .byte
		[0]	= 50-9/2
		[1] = "nadnercze "
.enda
.array	stercz .byte
		[0]	= 50-6/2
		[1] = "stercz "
.enda
.array	tarczyca .byte
		[0]	= 50-8/2
		[1] = "tarczyca "
.enda
.array	przysadka .byte
		[0]	= 50-18/2
		[1] = "przysadkam"
		[13] = 73
		[14] = "zgowa "
.enda
.array	szyszynka .byte
		[0]	= 50-9/2
		[1] = "szyszynka "
.enda
.array	trzustka .byte
		[0]	= 50-8/2
		[1] = "trzustka "
.enda
.array	watroba .byte
		[0]	= 50-7/2
		[1] = "w"
		[2] = 68
		[3] = "troba "
.enda
.array	slinianka .byte
		[0]	= 50-9/2
		[1] = 69
		[2] = "linianka "
.enda
.array	czustka .byte
		[0]	= 50-7/2
		[1] = "czustka "
.enda
.array	wydalono .byte
		[0] = 2
		[1] = "WYPLUTO: "
.enda
.array	stracono .byte
		[0] = 23
		[1] = "STR"
		[4] = 68
		[5] = "CONO: "
.enda
.array	fajer .byte
		[0] = 40
		[1] = "ustawbrzuchiFAJER "
.enda

.array	scrbanks 15 .word
		[0]  = [screen-$8c]+$f0*0		;  0 -  5 - horiz. lines
		[1]  = [screen-$8c]+$f0*1		;  6 - 11
		[2]  = [screen-$8c]+$f0*2		; 12 - 17
		[3]  = [screen-$8c]+$f0*3		; 18 - 23
		[4]  = [screen-$8c]+$f0*4		; 24 - 29
		[5]  = [screen-$8c]+$f0*5		; 30 - 35
		[6]  = [screen-$8c]+$f0*6		; 36 - 41
		[7]  = [screen-$8c]+$f0*7		; 42 - 47
		[8]  = [screen-$8c]+$f0*8		; 48 - 53
		[9]  = [screen-$8c]+$f0*9		; 54 - 59
		[10] = [screen-$8c]+$f0*10		; 60 - 65
		[11] = [screen-$8c]+$f0*11		; 66 - 71
		[12] = [screen-$8c]+$f0*12		; 72 - 77
		[13] = [screen-$8c]+$f0*13		; 78 - 83
		[14] = [screen-$8c]+$f0*14		; 84 - 89
		[15] = [screen-$8c]+$f0*15		; 90 - 95
.enda
.array	llinetip 4 .byte
		[1] = %00000011
		[2] = %00001111
		[3] = %00111111
		[4] = %11111111
.enda
.array	rlinetip 3 .byte
		[3] = %11111111
		[2] = %11111100
		[1] = %11110000
		[0] = %11000000
.enda
.array	linebits 3 .byte
		[0] = %11000000
		[1] = %00110000
		[2] = %00001100
		[3] = %00000011
.enda

.proc	clrtit
		lda #0
		ldx #0
ct_00	sta screen,x
		inx
		cpx #0
		bne ct_00
ct_01	sta screen+$100,x
		inx
		cpx #0
		bne ct_01
ct_02	sta screen+$200,x
		inx
		cpx #0
		bne ct_02
ct_03	sta screen+$300,x
		inx
		cpx #0
		bne ct_03
		rts
.endp

.proc	nosound
		lda #224
		sta $d201
		rts
.endp

.proc	sound(.byte s,d,f) .var
.zpvar	s,d,f .byte
		lda s
		sta $d200

		lda d
		clc
		adc f
		sta $d201

		rts
.endp

.proc	title

		ldx <dltit
		ldy >dltit
		stx 560
		sty 561

		clrtit

;		lda #0
;		sta 708
;		sta 711

		lda #184
		sta 711

		lda #0
		sta 710
		sta 709

		lda #136
		sta 708

		wait #255
		wait #255

		lda <ttext01
		sta what
		lda >ttext01
		sta what+1
		writeintro #4, #2
		lda skipint
		cmp #1
		beq tit_05
		lda <ttext02
		sta what
		lda >ttext02
		sta what+1
		writeintro #4, #2
		lda skipint
		cmp #1
		beq tit_05
		lda <ttext03
		sta what
		lda >ttext03
		sta what+1
		writeintro #4, #2
		lda skipint
		cmp #1
		beq tit_05
		lda <ttext05
		sta what
		lda >ttext05
		sta what+1
		writeintro #4, #2
		lda skipint
		cmp #1
		beq tit_05
		lda <ttext04
		sta what
		lda >ttext04
		sta what+1
		writeintro #10, #2
tit_05	clrtit
		showtitle
tit_09	lda author
		cmp #2
		beq tit_06
		lda <intext
		sta $aa
		lda >intext
		sta $ab
		lda #32
		sta rows
		jmp tit_07
tit_06	lda <in1text
		sta $aa
		lda >in1text
		sta $ab
		lda #41
		sta rows
tit_07	lda #0
		sta $99
		sta 709
		wait #1
		drawtext00
		drawtext
		ldy #0
tit_03	iny
		cpy #16
		beq tit_01
		sty 709
		wait #10
		jmp tit_03
tit_01	lda $2dc
		cmp #17
		bne tit_08
		lda #0
		sta $2dc
		wait #20
		lda author
		eor #%00000011
		sta author
		jmp tit_09
tit_08	lda $284
		cmp #0
		beq tit_04
		lda $d01f
		cmp #6
		beq tit_04
		lda $278
		cmp #13
		beq tit_00
		cmp #14
		beq tit_02
		jmp tit_01
tit_00	ldy $99
		cpy rows
		beq tit_01
		iny
		sty $99
		lda $aa
		cld
		clc
		adc #40
		sta $aa
		lda $ab
		adc #0
		sta $ab
		drawtext
		wait #16
		jmp tit_01
tit_02	ldy $99
		cpy #0
		beq tit_01
		dey
		sty $99
		lda $aa
		cld
		sec
		sbc #40
		sta $aa
		lda $ab
		sbc #0
		sta $ab
		drawtext
		wait #16
		jmp tit_01
tit_04	clrscr
		rts
.endp

.proc	clrscr
		clrtit
		lda #0
clr_05	sta screen+$400,x
		inx
		cpx #0
		bne clr_05
clr_06	sta screen+$500,x
		inx
		cpx #0
		bne clr_06
clr_07	sta screen+$600,x
		inx
		cpx #0
		bne clr_07
clr_08	sta screen+$700,x
		inx
		cpx #0
		bne clr_08
clr_09	sta screen+$800,x
		inx
		cpx #0
		bne clr_09
clr_0a	sta screen+$900,x
		inx
		cpx #0
		bne clr_0a
clr_0b	sta screen+$a00,x
		inx
		cpx #0
		bne clr_0b
clr_0c	sta screen+$b00,x
		inx
		cpx #0
		bne clr_0c
clr_0d	sta screen+$c00,x
		inx
		cpx #0
		bne clr_0d
clr_0e	sta screen+$d00,x
		inx
		cpx #0
		bne clr_0e
clr_0f	sta screen+$e00,x
		inx
		cpx #36
		bne clr_0f
		rts
.endp

.proc	drawtext00
		fill #40, #3, #screen5
		fill #40, #3, #screen5+$28*7

		lda <ttext08
		sta what
		lda >ttext08
		sta what+1
		writetext #$9258+80

		lda author
		cmp #2
		beq dt_00
		lda <ttext09
		sta what
		lda >ttext09
		sta what+1
		jmp dt_01
dt_00	lda <ttext11
		sta what
		lda >ttext11
		sta what+1
dt_01	writetext #$9258+80+80

		lda <ttext10
		sta what
		lda >ttext10
		sta what+1
		writetext #$9258+80+80+80
		rts
.endp

.proc	writetext(.word where) .var
.zpvar	where .word
.zpvar	tmp,tmp1 .byte
		ldy #0
		lda (what),y
		tax
		iny
		lda (what),y
wt_00	sta tmp1
		sty tmp
		txa
		tay
		lda tmp1
		sta (where),y
		ldy tmp
		iny
		inx
		lda (what),y
		cmp #$3e
		bne wt_00
		rts
.endp

.proc	drawtext
		ldy #0
dt_00
		lda ($aa),y
		tax
		lda <screen4
		sta $a0
		lda >screen4
		sta $a1
		txa
		sta ($a0),y
		iny
		cpy #240
		bne dt_00
		rts
.endp

defd
	dta 124,124,76,$ff
	dta 110,110,33,$aa
	dta 100,101,66,$ff
	dta 142,142,40,$ff
	dta 116,116,21,$aa
	dta 108,108,32,$aa
	dta 67,67,61,$55
	dta 69,69,82,$ff
	dta 21,44,18,$ff
	dta 68,68,75,$ff
	dta 100,100,68,$55
	dta 14,19,61,$ff
	dta 60,60,19,$aa
	dta 88,88,13,$aa
	dta 114,114,32,$aa
	dta 117,122,63,$ff
	dta 22,22,73,$ff
	dta 75,75,75,$00
	dta 64,64,22,$aa
	dta 69,73,36,$ff
	dta 77,80,13,$aa
	dta 38,38,12,$ff
	dta 60,61,82,$ff
	dta 88,88,76,$00
	dta 6,6,53,$ff
	dta 125,125,64,$ff
	dta 125,125,66,$ff
	dta 31,31,56,$ff
	dta 116,119,31,$aa
	dta 61,61,44,$ff
	dta 134,139,15,$ff
	dta 59,59,12,$aa
	dta 102,102,9,$aa
	dta 62,62,69,$55
	dta 134,140,16,$ff
	dta 77,77,76,$00
	dta 60,61,70,$ff
	dta 95,95,81,$00
	dta 86,86,71,$55
	dta 124,125,43,$ff
	dta 60,101,85,$ff
	dta 63,64,70,$ff
	dta 150,150,20,$ff
	dta 86,86,74,$00
	dta 64,64,20,$aa
	dta 60,61,84,$ff
	dta 30,35,30,$ff
	dta 70,70,73,$ff
	dta 87,87,73,$ff
	dta 68,70,67,$ff
	dta 59,59,10,$aa
	dta 5,28,54,$ff
	dta 30,35,36,$ff
	dta 105,105,69,$ff
	dta 22,22,76,$ff
	dta 85,101,60,$ff
	dta 14,20,80,$ff
	dta 94,96,73,$ff
	dta 151,151,18,$ff
	dta 77,77,82,$00
	dta 60,60,20,$aa
	dta 30,36,43,$ff
	dta 116,116,19,$aa
	dta 73,75,41,$ff
defd0
	dta 83,83,82,$00
	dta 96,96,71,$55
	dta 95,95,75,$00
	dta 119,119,43,$ff
	dta 74,76,56,$55
	dta 86,86,82,$00
	dta 60,64,76,$ff
	dta 37,37,42,$ff
	dta 71,71,61,$55
	dta 73,73,80,$ff
	dta 80,80,45,$ff
	dta 53,58,25,$aa
	dta 72,74,74,$ff
	dta 142,142,24,$ff
	dta 91,93,70,$ff
	dta 60,101,78,$ff
	dta 73,76,81,$ff
	dta 66,66,71,$ff
	dta 151,151,19,$ff
	dta 60,61,56,$ff
	dta 134,139,40,$ff
	dta 105,105,60,$ff
	dta 66,66,8,$aa
	dta 86,95,44,$ff
	dta 69,69,24,$aa
	dta 73,74,82,$ff
	dta 68,71,40,$ff
	dta 125,134,48,$ff
	dta 84,84,67,$55
	dta 119,119,30,$aa
	dta 117,122,64,$ff
	dta 101,101,71,$ff
	dta 70,70,70,$55
	dta 60,64,74,$ff
	dta 119,119,29,$aa
	dta 79,83,56,$55
	dta 72,73,61,$ff
	dta 125,125,63,$ff
	dta 30,35,12,$ff
	dta 105,105,82,$ff
	dta 79,79,75,$00
	dta 73,73,67,$55
	dta 92,94,69,$55
	dta 114,114,31,$aa
	dta 97,99,67,$ff
	dta 105,105,81,$ff
	dta 72,72,58,$ff
	dta 134,139,30,$ff
	dta 55,55,11,$aa
	dta 79,83,80,$00
	dta 70,70,76,$ff
	dta 38,38,39,$ff
	dta 77,77,57,$55
	dta 83,83,83,$00
	dta 77,80,7,$aa
	dta 21,44,17,$ff
	dta 98,98,40,$ff
	dta 79,79,67,$55
	dta 51,56,7,$aa
	dta 61,61,23,$aa
	dta 80,83,70,$ff
	dta 88,88,9,$aa
	dta 23,23,15,$ff
	dta 95,95,69,$ff
defd1
	dta 90,90,71,$55
	dta 85,101,59,$ff
	dta 66,66,70,$ff
	dta 30,35,39,$ff
	dta 89,92,73,$ff
	dta 113,113,20,$aa
	dta 78,78,68,$ff
	dta 96,96,68,$55
	dta 109,109,50,$ff
	dta 86,86,76,$00
	dta 74,77,84,$00
	dta 140,140,10,$ff
	dta 86,86,67,$55
	dta 98,101,73,$ff
	dta 65,65,77,$00
	dta 69,71,81,$ff
	dta 71,72,69,$ff
	dta 22,22,47,$ff
	dta 55,55,22,$aa
	dta 84,84,9,$aa
	dta 30,35,23,$ff
	dta 22,31,51,$ff
	dta 22,22,71,$ff
	dta 77,77,69,$55
	dta 67,67,67,$55
	dta 22,22,70,$ff
	dta 53,57,18,$aa
	dta 134,139,34,$ff
	dta 89,89,22,$aa
	dta 67,70,7,$aa
	dta 38,47,14,$ff
	dta 83,85,76,$ff
	dta 108,110,34,$aa
	dta 109,109,18,$aa
	dta 67,67,81,$ff
	dta 75,75,24,$aa
	dta 124,124,49,$ff
	dta 88,88,12,$aa
	dta 142,142,33,$ff
	dta 79,80,42,$ff
	dta 63,63,59,$ff
	dta 65,65,82,$ff
	dta 36,36,10,$ff
	dta 84,101,56,$ff
	dta 20,20,47,$ff
	dta 105,105,73,$ff
	dta 98,98,39,$ff
	dta 67,67,58,$55
	dta 60,61,67,$ff
	dta 135,135,10,$ff
	dta 111,122,48,$ff
	dta 134,139,13,$ff
	dta 14,19,74,$ff
	dta 47,47,17,$ff
	dta 105,105,72,$ff
	dta 112,114,34,$aa
	dta 105,105,64,$ff
	dta 77,79,16,$aa
	dta 79,80,41,$ff
	dta 101,101,68,$ff
	dta 87,94,41,$ff
	dta 103,103,43,$ff
	dta 62,62,81,$00
	dta 14,19,70,$ff
defd2
	dta 91,91,67,$ff
	dta 52,52,13,$aa
	dta 38,38,38,$ff
	dta 92,92,8,$aa
	dta 30,35,31,$ff
	dta 142,151,14,$ff
	dta 90,93,84,$00
	dta 66,66,10,$aa
	dta 94,94,30,$ff
	dta 14,19,49,$ff
	dta 75,75,25,$aa
	dta 105,105,48,$ff
	dta 105,105,53,$ff
	dta 71,71,75,$00
	dta 100,101,83,$ff
	dta 82,86,7,$aa
	dta 105,105,57,$ff
	dta 38,38,13,$ff
	dta 53,54,24,$aa
	dta 75,75,64,$55
	dta 72,72,83,$00
	dta 134,134,51,$ff
	dta 78,78,82,$ff
	dta 66,66,59,$ff
	dta 93,93,81,$00
	dta 76,78,45,$ff
	dta 76,76,9,$aa
	dta 82,86,77,$00
	dta 90,90,68,$55
	dta 78,81,74,$ff
	dta 151,151,17,$ff
	dta 116,116,28,$aa
	dta 79,83,66,$55
	dta 108,131,52,$ff
	dta 142,142,28,$ff
	dta 8,19,51,$ff
	dta 71,71,19,$aa
	dta 80,82,81,$ff
	dta 91,91,68,$ff
	dta 96,100,69,$55
	dta 76,76,53,$55
	dta 84,101,51,$ff
	dta 46,46,20,$ff
	dta 61,61,10,$aa
	dta 47,47,19,$ff
	dta 62,62,68,$55
	dta 93,93,75,$00
	dta 83,85,42,$ff
	dta 134,139,12,$ff
	dta 94,94,83,$ff
	dta 79,79,73,$00
	dta 77,79,28,$ff
	dta 79,79,81,$00
	dta 105,105,67,$ff
	dta 75,76,29,$ff
	dta 55,55,20,$aa
	dta 60,101,72,$ff
	dta 117,122,61,$ff
	dta 106,106,22,$aa
	dta 98,98,38,$ff
	dta 94,94,9,$aa
	dta 94,94,21,$aa
	dta 71,73,56,$ff
	dta 96,96,33,$ff
defd3
	dta 105,105,61,$ff
	dta 105,105,50,$ff
	dta 83,83,11,$aa
	dta 60,64,75,$ff
	dta 106,106,20,$aa
	dta 67,72,44,$ff
	dta 117,122,47,$ff
	dta 97,97,74,$00
	dta 79,83,58,$55
	dta 14,19,77,$ff
	dta 98,101,76,$ff
	dta 30,35,24,$ff
	dta 85,92,36,$ff
	dta 101,101,69,$ff
	dta 142,142,35,$ff
	dta 72,72,57,$ff
	dta 82,82,76,$00
	dta 76,76,74,$ff
	dta 64,67,21,$aa
	dta 69,69,77,$00
	dta 108,108,33,$aa
	dta 74,76,59,$ff
	dta 134,139,39,$ff
	dta 84,84,25,$aa
	dta 60,64,77,$ff
	dta 79,79,83,$00
	dta 90,90,67,$55
	dta 93,93,74,$00
	dta 105,105,49,$ff
	dta 86,86,75,$00
	dta 61,61,24,$aa
	dta 87,94,42,$ff
	dta 60,61,83,$ff
	dta 113,113,22,$aa
	dta 74,74,75,$ff
	dta 71,72,60,$ff
	dta 70,70,82,$00
	dta 60,60,22,$aa
	dta 96,98,81,$ff
	dta 82,85,24,$aa
	dta 66,68,74,$ff
	dta 106,106,12,$aa
	dta 77,77,60,$55
	dta 79,79,70,$55
	dta 76,76,76,$ff
	dta 77,77,74,$00
	dta 100,100,11,$aa
	dta 105,105,78,$ff
	dta 68,72,38,$ff
	dta 60,61,59,$ff
	dta 94,94,82,$ff
	dta 142,142,36,$ff
	dta 82,90,34,$ff
	dta 125,125,73,$ff
	dta 97,99,70,$ff
	dta 38,38,23,$ff
	dta 100,101,82,$ff
	dta 97,97,76,$00
	dta 95,95,71,$ff
	dta 5,28,56,$ff
	dta 60,75,53,$ff
	dta 97,97,36,$ff
	dta 125,125,75,$ff
	dta 84,85,41,$ff
defd4
	dta 73,73,57,$55
	dta 116,116,30,$aa
	dta 89,92,76,$ff
	dta 76,101,64,$ff
	dta 87,87,82,$ff
	dta 60,76,51,$ff
	dta 77,79,24,$aa
	dta 117,122,72,$ff
	dta 74,76,58,$ff
	dta 104,104,84,$ff
	dta 62,65,61,$55
	dta 100,100,71,$55
	dta 45,45,16,$ff
	dta 105,105,76,$ff
	dta 114,114,33,$aa
	dta 125,148,19,$ff
	dta 96,96,70,$55
	dta 67,67,82,$ff
	dta 117,122,75,$ff
	dta 85,101,57,$ff
	dta 68,68,84,$00
	dta 82,82,12,$aa
	dta 84,85,68,$ff
	dta 82,86,73,$00
	dta 80,83,59,$ff
	dta 14,19,75,$ff
	dta 62,66,84,$00
	dta 95,95,83,$00
	dta 142,142,10,$ff
	dta 88,88,73,$00
	dta 87,87,75,$ff
	dta 99,99,19,$aa
	dta 125,125,47,$ff
	dta 5,28,55,$ff
	dta 66,66,12,$aa
	dta 73,76,40,$ff
	dta 21,44,22,$ff
	dta 14,19,67,$ff
	dta 125,125,46,$ff
	dta 84,87,80,$ff
	dta 112,112,32,$aa
	dta 142,142,37,$ff
	dta 117,122,58,$ff
	dta 71,71,76,$00
	dta 134,139,26,$ff
	dta 86,90,69,$55
	dta 84,101,47,$ff
	dta 96,98,83,$ff
	dta 63,63,42,$ff
	dta 77,101,53,$ff
	dta 134,140,43,$ff
	dta 134,139,23,$ff
	dta 16,16,46,$ff
	dta 22,22,78,$ff
	dta 68,68,77,$ff
	dta 117,122,62,$ff
	dta 117,122,76,$ff
	dta 76,76,75,$ff
	dta 117,122,49,$ff
	dta 117,122,65,$ff
	dta 79,79,60,$55
	dta 22,22,60,$ff
	dta 125,148,17,$ff
	dta 89,92,83,$ff
defd5
	dta 65,65,60,$55
	dta 14,19,60,$ff
	dta 101,101,22,$aa
	dta 64,64,82,$00
	dta 59,61,18,$aa
	dta 69,69,19,$aa
	dta 55,55,21,$aa
	dta 77,80,48,$ff
	dta 78,78,20,$aa
	dta 70,70,75,$ff
	dta 59,59,9,$aa
	dta 77,77,73,$00
	dta 84,87,81,$ff
	dta 134,139,42,$ff
	dta 95,99,80,$00
	dta 94,96,76,$ff
	dta 120,120,22,$aa
	dta 21,45,21,$ff
	dta 59,59,7,$aa
	dta 22,22,16,$ff
	dta 14,19,69,$ff
	dta 93,93,76,$00
	dta 38,38,27,$ff
	dta 66,66,13,$aa
	dta 63,66,68,$ff
	dta 85,85,26,$aa
	dta 90,91,66,$ff
	dta 62,62,43,$ff
	dta 71,75,77,$00
	dta 77,77,81,$00
	dta 87,94,43,$ff
	dta 96,96,43,$ff
	dta 21,21,79,$ff
	dta 22,22,62,$ff
	dta 69,69,22,$aa
	dta 60,75,48,$ff
	dta 81,81,19,$aa
	dta 55,55,10,$aa
	dta 97,97,75,$00
	dta 72,72,32,$ff
	dta 98,98,37,$ff
	dta 77,78,66,$ff
	dta 76,76,8,$aa
	dta 60,101,79,$ff
	dta 68,68,81,$00
	dta 60,61,66,$ff
	dta 151,151,16,$ff
	dta 60,102,86,$ff
	dta 59,60,11,$aa
	dta 67,67,60,$55
	dta 64,65,69,$55
	dta 14,19,63,$ff
	dta 38,38,29,$ff
	dta 83,83,75,$ff
	dta 14,19,52,$ff
	dta 69,71,83,$ff
	dta 22,22,72,$ff
	dta 82,82,48,$ff
	dta 105,105,80,$ff
	dta 89,92,81,$ff
	dta 74,76,70,$ff
	dta 105,105,56,$ff
	dta 68,70,58,$ff
	dta 122,122,27,$aa
defd6
	dta 69,69,74,$00
	dta 21,44,19,$ff
	dta 32,32,9,$ff
	dta 14,19,50,$ff
	dta 76,76,73,$ff
	dta 71,71,57,$55
	dta 60,101,55,$ff
	dta 129,129,31,$aa
	dta 122,122,28,$aa
	dta 67,70,14,$aa
	dta 142,142,32,$ff
	dta 81,85,20,$aa
	dta 73,73,31,$ff
	dta 112,113,21,$aa
	dta 73,73,75,$00
	dta 84,84,84,$ff
	dta 96,99,18,$aa
	dta 117,122,57,$ff
	dta 80,82,83,$ff
	dta 82,82,49,$ff
	dta 60,61,68,$ff
	dta 95,95,84,$00
	dta 60,61,60,$ff
	dta 117,122,69,$ff
	dta 87,93,39,$ff
	dta 88,88,75,$00
	dta 84,101,58,$ff
	dta 73,73,19,$aa
	dta 100,101,81,$ff
	dta 105,105,51,$ff
	dta 106,106,10,$aa
	dta 70,74,35,$ff
	dta 96,99,20,$aa
	dta 96,96,19,$aa
	dta 71,76,34,$ff
	dta 78,78,73,$ff
	dta 63,66,58,$ff
	dta 74,74,30,$ff
	dta 68,69,60,$ff
	dta 67,67,70,$55
	dta 75,75,74,$00
	dta 94,94,8,$aa
	dta 90,90,75,$00
	dta 117,122,66,$ff
	dta 129,129,30,$aa
	dta 87,93,40,$ff
	dta 101,101,70,$ff
	dta 101,101,20,$aa
	dta 134,139,37,$ff
	dta 84,84,69,$55
	dta 84,85,82,$ff
	dta 81,81,18,$aa
	dta 65,69,73,$00
	dta 137,142,8,$ff
	dta 94,97,13,$aa
	dta 120,120,20,$aa
	dta 125,125,68,$ff
	dta 77,77,58,$55
	dta 62,66,80,$00
	dta 99,99,82,$00
	dta 83,83,81,$00
	dta 78,78,67,$ff
	dta 119,119,28,$aa
	dta 96,98,84,$ff
defd7
	dta 38,38,40,$ff
	dta 117,122,78,$ff
	dta 105,105,68,$ff
	dta 125,125,61,$ff
	dta 62,62,82,$00
	dta 63,63,8,$aa
	dta 78,78,69,$ff
	dta 60,74,54,$ff
	dta 60,61,81,$ff
	dta 38,38,31,$ff
	dta 108,131,54,$ff
	dta 30,31,52,$ff
	dta 69,69,21,$aa
	dta 94,94,84,$ff
	dta 47,47,16,$ff
	dta 86,92,37,$ff
	dta 108,108,30,$aa
	dta 56,56,8,$aa
	dta 72,72,84,$00
	dta 128,130,27,$aa
	dta 60,76,49,$ff
	dta 14,19,72,$ff
	dta 82,83,45,$ff
	dta 38,38,11,$ff
	dta 105,105,75,$ff
	dta 78,81,76,$ff
	dta 93,95,67,$ff
	dta 77,77,70,$55
	dta 66,66,56,$ff
	dta 117,122,59,$ff
	dta 94,94,75,$ff
	dta 141,142,9,$ff
	dta 30,35,11,$ff
	dta 60,61,71,$ff
	dta 68,72,80,$00
	dta 78,78,50,$ff
	dta 142,142,11,$ff
	dta 108,131,56,$ff
	dta 95,96,66,$ff
	dta 106,106,8,$aa
	dta 80,80,82,$ff
	dta 64,64,23,$aa
	dta 105,105,74,$ff
	dta 66,66,82,$00
	dta 87,89,68,$ff
	dta 73,73,69,$55
	dta 60,61,69,$ff
	dta 69,69,84,$ff
	dta 38,38,34,$ff
	dta 65,65,75,$00
	dta 97,99,66,$55
	dta 97,99,68,$ff
	dta 71,73,66,$ff
	dta 83,83,10,$aa
	dta 95,97,10,$aa
	dta 22,22,63,$ff
	dta 66,66,60,$ff
	dta 14,19,48,$ff
	dta 100,101,84,$ff
	dta 105,105,70,$ff
	dta 96,96,75,$ff
	dta 67,67,57,$55
	dta 125,148,18,$ff
	dta 92,92,68,$55
defd8
	dta 81,81,82,$00
	dta 64,64,24,$aa
	dta 75,75,20,$aa
	dta 65,67,25,$aa
	dta 108,132,55,$ff
	dta 99,99,83,$00
	dta 97,97,82,$00
	dta 99,99,84,$00
	dta 95,97,7,$aa
	dta 125,125,57,$ff
	dta 109,110,19,$aa
	dta 92,92,13,$aa
	dta 62,65,66,$55
	dta 73,75,18,$aa
	dta 73,73,58,$55
	dta 22,22,77,$ff
	dta 70,70,74,$ff
	dta 65,65,74,$00
	dta 98,101,74,$ff
	dta 68,69,70,$ff
	dta 67,67,80,$ff
	dta 134,139,44,$ff
	dta 105,105,54,$ff
	dta 38,38,26,$ff
	dta 96,96,32,$ff
	dta 73,73,59,$55
	dta 134,139,36,$ff
	dta 79,79,82,$00
	dta 71,72,59,$ff
	dta 62,62,60,$55
	dta 63,66,67,$ff
	dta 87,89,67,$ff
	dta 80,83,69,$ff
	dta 78,78,17,$aa
	dta 87,89,70,$ff
	dta 62,65,56,$55
	dta 134,139,25,$ff
	dta 84,101,50,$ff
	dta 85,85,8,$aa
	dta 60,61,61,$ff
	dta 33,38,8,$ff
	dta 132,132,50,$ff
	dta 62,62,67,$55
	dta 94,96,74,$ff
	dta 14,20,53,$ff
	dta 100,100,70,$55
	dta 117,122,73,$ff
	dta 125,125,72,$ff
	dta 120,120,21,$aa
	dta 71,89,33,$ff
	dta 84,84,60,$55
	dta 72,72,81,$00
	dta 81,81,17,$aa
	dta 117,123,50,$ff
	dta 97,99,71,$ff
	dta 101,101,67,$ff
	dta 79,79,59,$55
	dta 117,123,77,$ff
	dta 92,92,77,$ff
	dta 90,93,23,$aa
	dta 142,142,25,$ff
	dta 87,89,71,$ff
	dta 98,105,41,$ff
	dta 116,116,29,$aa
defd9
	dta 93,95,68,$ff
	dta 22,22,49,$ff
	dta 119,119,34,$aa
	dta 30,35,26,$ff
	dta 85,85,75,$ff
	dta 22,22,50,$ff
	dta 21,21,52,$ff
	dta 72,74,76,$ff
	dta 69,69,20,$aa
	dta 80,83,60,$ff
	dta 84,101,46,$ff
	dta 71,71,20,$aa
	dta 88,92,11,$aa
	dta 37,38,9,$ff
	dta 77,77,68,$55
	dta 30,35,13,$ff
	dta 98,101,77,$ff
	dta 142,142,29,$ff
	dta 117,119,27,$aa
	dta 67,67,71,$55
	dta 110,110,49,$ff
	dta 21,22,46,$ff
	dta 128,139,14,$ff
	dta 134,139,28,$ff
	dta 79,80,40,$ff
	dta 99,99,81,$00
	dta 62,62,9,$aa
	dta 80,81,73,$ff
	dta 63,65,81,$ff
	dta 105,105,59,$ff
	dta 74,76,69,$ff
	dta 30,35,42,$ff
	dta 105,105,77,$ff
	dta 129,129,29,$aa
	dta 102,102,44,$ff
	dta 89,92,80,$ff
	dta 75,84,44,$ff
	dta 22,22,64,$ff
	dta 84,87,83,$ff
	dta 75,75,22,$aa
	dta 66,66,81,$00
	dta 77,101,63,$ff
	dta 30,30,57,$ff
	dta 117,119,18,$aa
	dta 97,97,42,$ff
	dta 71,71,84,$ff
	dta 85,85,70,$ff
	dta 60,74,45,$ff
	dta 142,142,26,$ff
	dta 108,108,29,$aa
	dta 69,69,25,$aa
	dta 98,98,11,$aa
	dta 93,93,80,$00
	dta 30,35,38,$ff
	dta 78,78,83,$ff
	dta 114,114,30,$aa
	dta 17,22,45,$ff
	dta 62,62,57,$55
	dta 14,19,73,$ff
	dta 122,122,32,$aa
	dta 125,125,70,$ff
	dta 86,86,68,$55
	dta 77,77,75,$00
	dta 91,91,71,$ff
defd10
	dta 92,94,66,$55
	dta 100,100,12,$aa
	dta 78,78,75,$ff
	dta 95,95,70,$ff
	dta 80,83,57,$ff
	dta 14,19,71,$ff
	dta 125,148,20,$ff
	dta 134,139,24,$ff
	dta 47,47,18,$ff
	dta 60,60,21,$aa
	dta 77,81,35,$ff
	dta 22,22,75,$ff
	dta 101,106,18,$aa
	dta 105,105,66,$ff
	dta 30,36,16,$ff
	dta 67,67,68,$55
	dta 81,81,22,$aa
	dta 142,142,31,$ff
	dta 74,87,32,$ff
	dta 31,31,55,$ff
	dta 100,100,67,$55
	dta 31,31,10,$ff
	dta 46,47,15,$ff
	dta 72,72,67,$ff
	dta 125,125,58,$ff
	dta 89,89,75,$ff
	dta 84,101,61,$ff
	dta 116,116,32,$aa
	dta 60,101,52,$ff
	dta 68,70,68,$ff
	dta 64,64,19,$aa
	dta 60,62,25,$aa
	dta 78,78,18,$aa
	dta 22,22,67,$ff
	dta 107,109,13,$aa
	dta 30,35,41,$ff
	dta 30,35,27,$ff
	dta 117,122,60,$ff
	dta 80,83,67,$ff
	dta 117,122,74,$ff
	dta 79,83,71,$55
	dta 84,84,75,$00
	dta 71,71,71,$55
	dta 134,139,11,$ff
	dta 51,56,14,$aa
	dta 122,122,33,$aa
	dta 89,89,20,$aa
	dta 101,106,21,$aa
	dta 109,109,21,$aa
	dta 98,98,82,$ff
	dta 66,66,61,$ff
	dta 103,103,85,$ff
	dta 15,15,47,$ff
	dta 100,104,13,$aa
	dta 127,127,15,$ff
	dta 77,78,71,$ff
	dta 108,131,53,$ff
	dta 77,78,61,$ff
	dta 78,78,58,$ff
	dta 81,81,23,$aa
	dta 93,93,73,$00
	dta 142,142,34,$ff
	dta 30,35,37,$ff
	dta 84,84,59,$55
defd11
	dta 68,68,82,$00
	dta 94,94,22,$aa
	dta 92,92,67,$55
	dta 98,98,12,$aa
	dta 78,78,80,$ff
	dta 142,142,30,$ff
	dta 71,72,70,$ff
	dta 125,125,67,$ff
	dta 85,85,69,$ff
	dta 74,85,38,$ff
	dta 67,70,66,$55
	dta 82,82,82,$ff
	dta 150,151,15,$ff
	dta 142,142,13,$ff
	dta 84,84,70,$55
	dta 142,142,38,$ff
	dta 87,89,66,$55
	dta 67,67,84,$ff
	dta 60,75,63,$ff
	dta 68,70,71,$ff
	dta 77,80,77,$00
	dta 84,91,35,$ff
	dta 85,85,67,$ff
	dta 94,94,80,$ff
	dta 134,139,38,$ff
	dta 112,112,33,$aa
	dta 141,141,15,$ff
	dta 87,87,77,$ff
	dta 108,108,31,$aa
	dta 14,19,81,$ff
	dta 74,85,39,$ff
	dta 62,62,83,$00
	dta 14,19,79,$ff
	dta 78,78,81,$ff
	dta 103,103,8,$aa
	dta 66,68,76,$ff
	dta 71,71,58,$55
	dta 90,90,70,$55
	dta 68,70,57,$ff
	dta 125,125,44,$ff
	dta 105,105,44,$ff
	dta 89,89,21,$aa
	dta 89,89,19,$aa
	dta 69,69,23,$aa
	dta 123,123,44,$ff
	dta 106,106,19,$aa
	dta 92,94,71,$55
	dta 38,38,33,$ff
	dta 38,38,41,$ff
	dta 106,109,11,$aa
	dta 100,101,80,$ff
	dta 69,72,37,$ff
	dta 117,122,70,$ff
	dta 117,122,67,$ff
	dta 105,105,47,$ff
	dta 134,139,32,$ff
	dta 92,93,29,$ff
	dta 56,56,9,$aa
	dta 76,101,54,$ff
	dta 74,76,66,$55
	dta 60,101,65,$ff
	dta 84,86,66,$ff
	dta 82,82,50,$ff
	dta 79,83,84,$00
defd12
	dta 5,29,58,$ff
	dta 134,139,41,$ff
	dta 84,101,49,$ff
	dta 59,59,13,$aa
	dta 71,75,73,$00
	dta 122,126,34,$aa
	dta 125,125,60,$ff
	dta 73,73,68,$55
	dta 142,142,12,$ff
	dta 68,72,39,$ff
	dta 66,66,77,$ff
	dta 76,76,77,$ff
	dta 101,101,10,$aa
	dta 105,105,58,$ff
	dta 105,105,71,$ff
	dta 30,35,33,$ff
	dta 72,72,68,$ff
	dta 73,73,84,$ff
	dta 92,92,10,$aa
	dta 125,125,69,$ff
	dta 74,76,68,$ff
	dta 38,38,37,$ff
	dta 89,91,7,$aa
	dta 73,73,20,$aa
	dta 60,75,46,$ff
	dta 72,73,71,$ff
	dta 74,76,60,$ff
	dta 97,97,73,$00
	dta 38,38,24,$ff
	dta 134,134,50,$ff
	dta 101,101,19,$aa
	dta 111,111,20,$aa
	dta 75,83,36,$ff
	dta 78,78,57,$ff
	dta 87,87,74,$ff
	dta 67,72,43,$ff
	dta 14,19,65,$ff
	dta 129,129,32,$aa
	dta 74,76,61,$55
	dta 125,148,22,$ff
	dta 94,94,70,$55
	dta 75,75,82,$00
	dta 74,77,80,$00
	dta 83,85,40,$ff
	dta 77,82,47,$ff
	dta 118,118,44,$ff
	dta 80,80,49,$ff
	dta 82,85,16,$aa
	dta 59,59,8,$aa
	dta 134,139,35,$ff
	dta 65,65,76,$00
	dta 67,67,75,$00
	dta 60,61,80,$ff
	dta 119,119,32,$aa
	dta 125,125,65,$ff
	dta 96,96,22,$aa
	dta 60,61,58,$ff
	dta 66,66,9,$aa
	dta 80,80,50,$ff
	dta 80,81,75,$ff
	dta 85,88,84,$00
	dta 117,122,68,$ff
	dta 116,116,20,$aa
	dta 59,63,14,$aa
defd13
	dta 119,119,33,$aa
	dta 79,79,57,$55
	dta 91,92,75,$ff
	dta 62,62,59,$55
	dta 73,76,42,$ff
	dta 129,129,33,$aa
	dta 110,112,31,$aa
	dta 30,35,28,$ff
	dta 73,76,83,$ff
	dta 30,35,25,$ff
	dta 77,77,67,$55
	dta 117,122,71,$ff
	dta 14,19,66,$ff
	dta 71,71,67,$55
	dta 113,113,19,$aa
	dta 5,28,59,$ff
	dta 64,65,59,$55
	dta 79,83,61,$55
	dta 113,113,18,$aa
	dta 54,54,23,$aa
	dta 64,67,18,$aa
	dta 69,71,18,$aa
	dta 71,73,21,$aa
	dta 105,105,63,$ff
	dta 74,76,57,$ff
	dta 142,142,23,$ff
	dta 84,101,48,$ff
	dta 92,92,12,$aa
	dta 142,142,41,$ff
	dta 74,85,43,$ff
	dta 84,85,71,$ff
	dta 116,116,22,$aa
	dta 110,110,32,$aa
	dta 69,69,76,$00
	dta 66,66,75,$ff
	dta 67,67,77,$00
	dta 38,38,28,$ff
	dta 77,78,56,$ff
	dta 105,105,83,$ff
	dta 89,91,28,$ff
	dta 22,22,69,$ff
	dta 31,31,53,$ff
	dta 56,56,19,$aa
	dta 95,95,31,$ff
	dta 63,64,60,$ff
	dta 76,76,11,$aa
	dta 37,37,15,$ff
	dta 77,77,59,$55
	dta 60,61,57,$ff
	dta 96,96,82,$ff
	dta 63,65,83,$ff
	dta 129,129,28,$aa
	dta 69,69,75,$00
	dta 14,19,62,$ff
	dta 106,110,7,$aa
	dta 60,64,73,$ff
	dta 96,96,21,$aa
	dta 70,70,60,$55
	dta 78,78,23,$aa
	dta 93,97,77,$00
	dta 31,31,54,$ff
	dta 128,130,35,$aa
	dta 92,92,9,$aa
	dta 67,70,59,$55
defd14
	dta 81,81,77,$ff
	dta 22,22,74,$ff
	dta 109,109,20,$aa
	dta 136,136,9,$ff
	dta 78,78,70,$ff
	dta 133,133,54,$ff
	dta 72,72,75,$ff
	dta 133,134,49,$ff
	dta 90,93,18,$aa
	dta 22,22,66,$ff
	dta 82,86,13,$aa
	dta 95,95,82,$00
	dta 125,125,45,$ff
	dta 63,63,82,$ff
	dta 67,71,42,$ff
	dta 53,54,12,$aa
	dta 63,66,57,$ff
	dta 78,78,22,$aa
	dta 97,97,34,$ff
	dta 105,105,52,$ff
	dta 79,79,69,$55
	dta 67,70,69,$55
	dta 117,119,23,$aa
	dta 80,88,27,$ff
	dta 21,44,20,$ff
	dta 75,75,23,$aa
	dta 64,71,41,$ff
	dta 75,75,54,$55
	dta 29,29,53,$ff
	dta 122,124,20,$aa
	dta 79,83,68,$55
	dta 62,65,71,$55
	dta 74,76,67,$ff
	dta 134,134,53,$ff
	dta 149,149,16,$ff
	dta 67,70,56,$55
	dta 116,116,34,$aa
	dta 125,125,59,$ff
	dta 78,78,49,$ff
	dta 38,38,35,$ff
	dta 72,72,82,$00
	dta 122,122,30,$aa
	dta 106,106,9,$aa
	dta 129,129,34,$aa
	dta 22,22,65,$ff
	dta 93,93,82,$00
	dta 66,69,11,$aa
	dta 38,38,36,$ff
	dta 76,76,82,$ff
	dta 62,62,58,$55
	dta 14,19,64,$ff
	dta 105,105,79,$ff
	dta 109,109,22,$aa
	dta 94,94,20,$aa
	dta 86,86,70,$55
	dta 120,125,42,$ff
	dta 30,35,35,$ff
	dta 104,105,42,$ff
	dta 78,78,59,$ff
	dta 108,131,51,$ff
	dta 88,88,8,$aa
	dta 122,122,29,$aa
	dta 117,122,45,$ff
	dta 77,77,83,$00
defd15
	dta 60,101,62,$ff
	dta 126,126,16,$ff
	dta 141,141,42,$ff
	dta 7,7,52,$ff
	dta 60,75,47,$ff
	dta 22,22,48,$ff
	dta 62,62,70,$55
	dta 105,105,45,$ff
	dta 66,66,66,$ff
	dta 88,88,74,$00
	dta 125,149,21,$ff
	dta 88,91,77,$00
	dta 142,142,39,$ff
	dta 142,142,27,$ff
	dta 66,66,69,$ff
	dta 76,76,12,$aa
	dta 5,28,57,$ff
	dta 22,22,68,$ff
	dta 71,71,74,$00
	dta 125,125,74,$ff
	dta 68,68,83,$00
	dta 68,70,61,$ff
	dta 134,139,29,$ff
	dta 38,38,25,$ff
	dta 96,96,67,$55
	dta 120,120,19,$aa
	dta 83,85,74,$ff
	dta 93,93,83,$00
	dta 74,84,37,$ff
	dta 66,66,83,$00
	dta 134,134,52,$ff
	dta 105,105,43,$ff
	dta 24,35,14,$ff
	dta 38,38,30,$ff
	dta 30,35,15,$ff
	dta 88,88,10,$aa
	dta 134,139,31,$ff
	dta 125,125,62,$ff
	dta 76,76,10,$aa
	dta 98,101,75,$ff
	dta 75,75,21,$aa
	dta 89,89,84,$ff
	dta 84,84,57,$55
	dta 78,78,21,$aa
	dta 30,35,29,$ff
	dta 65,65,70,$55
	dta 134,139,33,$ff
	dta 81,81,21,$aa
	dta 67,67,83,$ff
	dta 75,75,76,$00
	dta 30,35,32,$ff
	dta 60,76,50,$ff
	dta 60,74,64,$ff
	dta 82,82,74,$00
	dta 70,70,84,$00
	dta 105,105,46,$ff
	dta 105,105,55,$ff
	dta 77,82,46,$ff
	dta 82,82,75,$00
	dta 75,75,19,$aa
	dta 125,125,71,$ff
	dta 76,76,63,$55
	dta 38,38,10,$ff
	dta 30,35,44,$ff
defd16
	dta 94,94,19,$aa
	dta 73,73,60,$55
	dta 87,87,76,$ff
	dta 30,35,40,$ff
	dta 105,105,62,$ff
	dta 70,70,77,$ff
	dta 117,122,46,$ff
	dta 73,73,70,$55
	dta 100,104,7,$aa
	dta 89,92,82,$ff
	dta 122,122,31,$aa
	dta 74,76,71,$55
	dta 134,139,27,$ff
	dta 63,63,69,$ff
	dta 85,101,45,$ff
	dta 87,93,38,$ff
	dta 78,78,84,$ff
	dta 91,91,69,$ff
	dta 22,22,61,$ff
	dta 14,19,78,$ff
	dta 14,19,76,$ff
	dta 94,94,81,$ff
	dta 14,19,68,$ff
	dta 38,38,32,$ff
	dta 89,92,74,$ff
	dta 78,78,60,$ff
	dta 78,78,19,$aa
	dta 97,97,35,$ff
	dta 30,35,34,$ff
	dta 71,71,82,$ff
	dta 71,71,68,$55
	dta 116,116,33,$aa
	dta 77,84,31,$ff
	dta 105,105,65,$ff


.proc	showtitle
.var	delay, tmp1 .byte
		lda #50
		sta delay
		lda <ttext06
		sta what
		lda >ttext06
		sta what+1
		ldy #0
		lda (what),y
		tax
		iny
		lda (what),y
st_00	clc
		adc #128
		sta screen2,x
		stx tmp1
		sound #100, #224, #13
		wait #1
		nosound
		wait delay
		nosound
		ldx delay
		dex
		dex
		stx delay
		ldx tmp1
		iny
		inx
		lda (what),y
		cmp #$3e
		bne st_00
		lda #50
		sta delay
		lda #0
		sta 709
		lda <ttext07
		sta what
		lda >ttext07
		sta what+1
		ldy #0
		lda (what),y
		tax
		iny
		lda (what),y
st_01	sta screen3,x
		stx tmp1
		sound #160, #224, #13
		wait #1
		nosound
		wait delay
		ldx delay
		dex
		dex
		stx delay
		ldx tmp1
		iny
		inx
		lda (what),y
		cmp #$3e
		bne st_01

		; write version
		lda #17
		sta screen+39
		lda #14
		sta screen+38
		lda #17
		sta screen+37
		lda #118
		sta screen+36

		rts
.endp

.array	ttext01 .byte
		[0]	= 20-14/2
		[1] = "MGR IN"
		[7] = 64
		[8] = ". RAFA"
		[14] = 70
		[15] = "^"
.enda
.array	ttext02 .byte
		[0]	= 20-10/2
		[1] = "PREZENTUJE^"
.enda
.array	ttext03 .byte
		[0]	= 20-26/2
		[1] = "A GAME BY 'MGR IN"
		[18] = 64
		[19] = ". RAFA"
		[25] = 70
		[26] = "'^"
.enda
.array	ttext04 .byte
		[0]	= 0
		[1]	= 2
		[2] = "STW"
		[5] = 73
		[6] = "RZ, O BO"
		[14] = 64
		[15] = "E, WE MNIE SERCE CZYSTE       I ODN"
		[50] = 73
		[51] = "W W MOJEJ PIERSI                       DUCHA NIEZWYCI"
		[104] = 71
		[105] = 64
		[106] = "ONEGO                                                                               Ps 51,12^"
		[111] = 2
.enda
.array	ttext05 .byte
		[0]	= 20-29/2
		[1] = "A 'MGR IN"
		[10] = 64
		[11] = ". RAFA"
		[17] = 70
		[18] = "' PRODUCTION^"
.enda
.array	ttext06 .byte
		[0]	= 20-16/2
		[1] = "gruczo"
		[7] = 70
		[8] = "  grubasa^"
.enda
.array	ttext07 .byte
		[0]	= 20-18/2
		[1] = "AN EPIC ADVENTURE!^"
.enda
.array	ttext08 .byte
		[0]	= 20-39/2
		[1]:[11]:[24] = 72
		[2] = 179			;S
		[3]:[6] = 52+128	;T
		[4]:[13] = 33+128	;A
		[5]:[16] = 50+128	;R
		[7]:[17] = 74
		[8] = " / "
		[12] = 38+128		;F
		[14] = 42+128		;J
		[15] = 37+128		;E
		[18] = " - ZACZ"
		[25] = 71
		[26] = "CIE ADVENTURY^"
.enda
.array	ttext09 .byte
		[0]	= 12
		[1] = 72
		[2] = 40+128		;H
		[3] = 37+128		;E
		[4] = 44+128		;L
		[5] = 48+128		;P
		[6] = 74
		[7] = " - INFO OD AUTORA^"
.enda
.array	ttext10 .byte
		[0]	= 8
		[1] = 72
		[2] = 36+128		;D
		[3] = 65+128		;Z
		[4] = 55+128		;W
		[5]:[8] = 41+128		;I
		[6] = 39+128		;G
		[7] = 46+128		;N
		[9] = 33+128		;A
		[10] = 74
		[11] = " - JED"
		[17] = 65
		[18] = " INSKRYPCJ"
		[28] = 68
		[29] = "^"
.enda
.array	ttext11 .byte
		[0]	= 12
		[1] = 72
		[2] = 40+128		;H
		[3] = 37+128		;E
		[4] = 44+128		;L
		[5] = 48+128		;P
		[6] = 74
		[7] = " - KLECHDA       ^"
.enda

.proc	animintro(.byte w1,w2) .var
.var	w1,w2 .byte		
		ldy #0
ai_01	lda $284
		cmp #0
		beq ai_06 
		iny
		cpy #16
		beq ai_00
		sty 709
		wait #10
		jmp ai_01
ai_00	sound #255, #224, #4
		ldy #$ff
ai_04	wait #255
		iny
		lda $284
		cmp #0
		beq ai_06 
		cpy w1
		bne ai_04
		ldy #16
ai_03	nosound

		dey
		cpy #255
		beq ai_02
		lda $284
		cmp #0
		beq ai_06 
		sty 709
		wait #24
		jmp ai_03
ai_02	ldy #$ff
ai_05	wait #255
		iny
		lda $284
		cmp #0
		beq ai_06 
		cpy w2
		bne ai_05
		rts
ai_06	wait #5
		lda #1
		sta skipint
		rts
.endp
.proc	writeintro(.byte w1,w2) .var
.var	w1,w2 .byte		
		lda #0
		ldy #$ff
wr_01	iny
		sta screen1,y
		cpy #41
		bne wr_01
		ldy #0
		lda (what),y
		tax
		iny
		lda (what),y
wr_00	sta screen1,x
		iny
		inx
		lda (what),y
		cmp #$3e
		bne wr_00
		animintro w1, w2
		rts
.endp

.proc	defeat
		clrscr
		lda #0
		sta 53277

		ldx <dlfin
		ldy >dlfin
		stx 560
		sty 561

		lda #$46
		sta 708
		lda #202
		sta 709
		lda #$28
		sta 710
		lda #0
		sta 712

		ldx #0
de_01	lda defd,x
		sta $9a
		inx
		lda defd,x
		sta $9b
		inx
		lda defd,x
		sta $9c
		inx
		lda defd,x

		putline

		cpx #0
		bne de_01

de_02	lda defd0,x
		sta $9a
		inx
		lda defd0,x
		sta $9b
		inx
		lda defd0,x
		sta $9c
		inx
		lda defd0,x

		putline

		cpx #0
		bne de_02

		lda #36
		sta screen
		lda #53
		sta screen+1
		lda #48
		sta screen+2
		lda #33
		sta screen+3
		lda #14
		sta screen+4
		lda #14
		sta screen+5
		lda #14
		sta screen+6

de_03	lda defd1,x
		sta $9a
		inx
		lda defd1,x
		sta $9b
		inx
		lda defd1,x
		sta $9c
		inx
		lda defd1,x

		putline

		cpx #0
		bne de_03

de_04	lda defd2,x
		sta $9a
		inx
		lda defd2,x
		sta $9b
		inx
		lda defd2,x
		sta $9c
		inx
		lda defd2,x

		putline

		cpx #0
		bne de_04

		lda falle1
		clc
		adc #16
		sta screen+10

de_05	lda defd3,x
		sta $9a
		inx
		lda defd3,x
		sta $9b
		inx
		lda defd3,x
		sta $9c
		inx
		lda defd3,x

		putline

		cpx #0
		bne de_05

		lda falle2
		clc
		adc #16
		sta screen+11

de_06	lda defd4,x
		sta $9a
		inx
		lda defd4,x
		sta $9b
		inx
		lda defd4,x
		sta $9c
		inx
		lda defd4,x

		putline

		cpx #0
		bne de_06

		lda falle3
		clc
		adc #16
		sta screen+12

de_07	lda defd5,x
		sta $9a
		inx
		lda defd5,x
		sta $9b
		inx
		lda defd5,x
		sta $9c
		inx
		lda defd5,x

		putline

		cpx #0
		bne de_07

		lda falle4
		clc
		adc #16
		sta screen+13

de_08	lda defd6,x
		sta $9a
		inx
		lda defd6,x
		sta $9b
		inx
		lda defd6,x
		sta $9c
		inx
		lda defd6,x

		putline

		cpx #0
		bne de_08

		lda falle5
		clc
		adc #16
		sta screen+14

de_09	lda defd7,x
		sta $9a
		inx
		lda defd7,x
		sta $9b
		inx
		lda defd7,x
		sta $9c
		inx
		lda defd7,x

		putline

		cpx #0
		bne de_09

		lda #48
		sta screen+16

de_0a	lda defd8,x
		sta $9a
		inx
		lda defd8,x
		sta $9b
		inx
		lda defd8,x
		sta $9c
		inx
		lda defd8,x

		putline

		cpx #0
		bne de_0a

		lda #43
		sta screen+17

de_0b	lda defd9,x
		sta $9a
		inx
		lda defd9,x
		sta $9b
		inx
		lda defd9,x
		sta $9c
		inx
		lda defd9,x

		putline

		cpx #0
		bne de_0b

		lda #52
		sta screen+18

de_0c	lda defd10,x
		sta $9a
		inx
		lda defd10,x
		sta $9b
		inx
		lda defd10,x
		sta $9c
		inx
		lda defd10,x

		putline

		cpx #0
		bne de_0c

		lda #14
		sta screen+19

de_0d	lda defd11,x
		sta $9a
		inx
		lda defd11,x
		sta $9b
		inx
		lda defd11,x
		sta $9c
		inx
		lda defd11,x

		putline

		cpx #0
		bne de_0d

de_0e	lda defd12,x
		sta $9a
		inx
		lda defd12,x
		sta $9b
		inx
		lda defd12,x
		sta $9c
		inx
		lda defd12,x

		putline

		cpx #0
		bne de_0e

de_0f	lda defd13,x
		sta $9a
		inx
		lda defd13,x
		sta $9b
		inx
		lda defd13,x
		sta $9c
		inx
		lda defd13,x

		putline

		cpx #0
		bne de_0f

de_10	lda defd14,x
		sta $9a
		inx
		lda defd14,x
		sta $9b
		inx
		lda defd14,x
		sta $9c
		inx
		lda defd14,x

		putline

		cpx #0
		bne de_10

de_11	lda defd15,x
		sta $9a
		inx
		lda defd15,x
		sta $9b
		inx
		lda defd15,x
		sta $9c
		inx
		lda defd15,x

		putline

		cpx #0
		bne de_11

de_12	lda defd16,x
		sta $9a
		inx
		lda defd16,x
		sta $9b
		inx
		lda defd16,x
		sta $9c
		inx
		lda defd16,x

		putline

		cpx #136
		bne de_12

		nosound

vi_00	lda $284
		cmp #0
		bne vi_00
		wait $2
		jmp begin

		rts
.endp




		org $02e0
.dw $2000

		end




; Unused -------------------------
.proc	filla(.byte count .word where) .var
		ldy #0
		lda where
		sta $80
		lda where+1
		sta $81
		lda 200
fil1	sta ($80),y
		iny
		cpy count
		bne fil1
		rts
.endp

.proc	prByte(.byte value) .var
.var	value .byte
		lda value			
		sta 202				; zapamietamy wartosc w 202
		ldy #0				; zerujemy licznik setek
agsbc	sec
		sbc #100			; odejmujemy 100
		bcc koniec			; jesli < 0 to koniec
		iny					; zaliczamy kolejna setke
		jmp agsbc			; i jeszcze raz...
koniec	tya					; ilosc setek do akumulatora
		sta 201				; zapamietamy ilosc setek w 201
		clc
		adc #16				; dodajemy 16, zeby wyswietlic cyfre
		sta 200				; ladujemy pod 200 (dla filla)
		filla #1, #screen	; drukujemy setki

		lda #0
		ldy 201				; pobieramy ilosc setek do y
dod100	clc
		adc #100			; dodajemy 100
		dey					; zabieramy jedna setke z y
		cpy #0				; czy juz 0
		beq tu
		jmp dod100			; jesli nie 0 to ponownie

tu		sta 200				; zapamietamy setki w 200
		lda 202				; do akumulatora oryginalna wartosc
		sec
		sbc 200				; odejmujemy od niej setki
		sta 202				; zapamietamy dziesiatki i jednostki

		ldy #0				; zerujemy licznik dziesiatek
agsbc1	sec
		sbc #10				; odejmujemy 10
		bcc kond			; jesli < 0 to koniec
		iny					; zaliczamy kolejna dziesiatke
		jmp agsbc1			; i jeszcze raz...
kond	tya					; ilosc dziesiatek do akumulatora
		sta 201				; zapamietamy ilosc dziesiatek w 201
		clc
		adc #16				; dodajemy 16, zeby wyswietlic cyfre
		sta 200				; ladujemy pod 200 (dla filla)
		filla #1, #screen+1	; drukujemy dziesiatki

		lda #0
		ldy 201				; ilosc dziesiatek
dod10	clc
		adc #10				; dodajemy 10
		dey					; zabieramy jedna dziesiatke z y
		cpy #0				; czy juz 0
		beq tud
		jmp dod10			; jesli nie 0 to ponownie

tud		sta 200				; zapamietamy dziesiatki w 200
		lda 202				; dziesiatki i jednostki do akumulatora
		sec
		sbc 200				; odejmujemy dziesiatki, w aku sa jednostki
		clc
		adc #16				; i znowu w celu ladnej cyferki
		sta 200
		filla #1, #screen+2

		rts					; uff
.endp

.proc	putChar(.byte c .word off) .var
.var	off .word
.var	c .byte
		ldx off
		stx $80
		ldx off+1
		stx $81
		ldy #0
		lda c
		sta ($80),y
		rts
.endp


; todo
;		- fill bez where (zawsze $80)
;		- lda ($80),y i sta ($80),y zamienic na b1



;; ----- Some debug routines
; ------- fullscreen
		line #0, #159, #5, #$aa
		line #0, #159, #6, #$ff
		line #0, #159, #7, #$55
		line #0, #159, #8, #$aa
		line #0, #159, #9, #$ff
		line #0, #159, #10, #$55
		line #0, #159, #11, #$aa
		line #0, #159, #12, #$ff
		line #0, #159, #13, #$55
		line #0, #159, #14, #$aa
		line #0, #159, #15, #$ff
		line #0, #159, #16, #$55
		line #0, #159, #17, #$aa
		line #0, #159, #18, #$ff
		line #0, #159, #19, #$55
		line #0, #159, #20, #$aa
		line #0, #159, #21, #$ff
		line #0, #159, #22, #$55
		line #0, #159, #23, #$aa
		line #0, #159, #24, #$ff
		line #0, #159, #25, #$55
		line #0, #159, #26, #$aa
		line #0, #159, #27, #$ff
		line #0, #159, #28, #$55
		line #0, #159, #29, #$aa
		line #0, #159, #30, #$ff
		line #0, #159, #31, #$55
		line #0, #159, #32, #$aa
		line #0, #159, #33, #$ff
		line #0, #159, #34, #$55
		line #0, #159, #35, #$aa
		line #0, #159, #36, #$ff
		line #0, #159, #37, #$55
		line #0, #159, #38, #$aa
		line #0, #159, #39, #$ff
		line #0, #159, #40, #$55
		line #0, #159, #41, #$aa
		line #0, #159, #42, #$ff
		line #0, #159, #43, #$55
		line #0, #159, #44, #$aa
		line #0, #159, #45, #$ff
		line #0, #159, #46, #$55
		line #0, #159, #47, #$aa
		line #0, #159, #48, #$ff
		line #0, #159, #49, #$55
		line #0, #159, #50, #$aa
		line #0, #159, #51, #$ff
		line #0, #159, #52, #$55
		line #0, #159, #53, #$aa
		line #0, #159, #54, #$ff
		line #0, #159, #55, #$55
		line #0, #159, #56, #$aa
		line #0, #159, #57, #$ff
		line #0, #159, #58, #$55
		line #0, #159, #59, #$aa
		line #0, #159, #60, #$ff
		line #0, #159, #61, #$55
		line #0, #159, #62, #$aa
		line #0, #159, #63, #$ff
		line #0, #159, #64, #$55
		line #0, #159, #65, #$aa
		line #0, #159, #66, #$ff
		line #0, #159, #67, #$55
		line #0, #159, #68, #$aa
		line #0, #159, #69, #$ff
		line #0, #159, #70, #$55
		line #0, #159, #71, #$aa
		line #0, #159, #72, #$ff
		line #0, #159, #73, #$55
		line #0, #159, #74, #$aa
		line #0, #159, #75, #$ff
		line #0, #159, #76, #$55
		line #0, #159, #77, #$aa
		line #0, #159, #78, #$ff
		line #0, #159, #79, #$55
		line #0, #159, #80, #$aa
		line #0, #159, #81, #$ff
		line #0, #159, #82, #$55
		line #0, #159, #83, #$aa
		line #0, #159, #84, #$ff
		line #0, #159, #85, #$55
		line #0, #159, #86, #$aa
		line #0, #159, #87, #$ff
		line #0, #159, #88, #$55
		line #0, #159, #89, #$aa
		line #0, #159, #90, #$ff
		line #0, #159, #91, #$55
		line #0, #159, #92, #$aa
; ------- koniec: fullscreen



