Voici le code source de PouifOuf en GFA basic

pour ATARI STE

'

' A dater du 15/10/96 ----> 15/12/96

'

RESERVE 100000

DIM mptab|(25,28)

DIM mptabo|(25,1400)

'

'

dtab%=V:mptabo|(0,0)

ftab%=V:mptabo|(25,1400)

ltab%=ftab%-dtab%

'

DIM s_mdb%(6),d_mdb%(6),sd_md%(10)

'

'

'

mpini

'

'

'

a%=XBIOS(2)

z%=a%

a%=a%-128000

b%=a%-128000

c%=b%-32000

d%=c%-32000

e%=d%-32000

ee%=e%-32000

ecransauv%=ee%-32000

f%=ecransauv%-32036

'

BLOAD "letablo.hol",dtab%

'

'

BLOAD "mp_spm_d.pi1",f%

BMOVE f%+34,a%,32000

FOR i%=0 TO 31 STEP 2

SDPOKE &HFF8240+i%,DPEEK((f%+2)+i%)

NEXT i%

BMOVE f%+34,c%,32000

BLOAD "mp_spm_g.pi1",f%

BMOVE f%+34,d%,32000

BLOAD "switcomp.pi1",f%

BMOVE f%+34,e%,32000

'

pom1%=f%-7164

pom2%=pom1%-3644

pom3%=pom2%-5628

pom4%=pom3%-3308

haileu%=pom4%-11131

'

'

BLOAD "pom1.dac",pom1%

BLOAD "pom2.dac",pom2%

BLOAD "pom3.dac",pom3%

BLOAD "pom4.dac",pom4%

BLOAD "hailleu.dac",haileu%

'

'

HIDEM

leve%=0

letab

'

moini

haileuu

'

INLINE rebond%,6038

INLINE shirley%,13086

INLINE kia%,9004

INLINE klax%,7856

INLINE bonus%,11244

'

dacson%=0

'

toukey%=PEEK(&H484)

'

SPOKE &H484,2

'

delamuz

'

super%=GEMDOS(&H20,L:0)

'

'

prand

'

' pm1x%=320

' pm1y%=260

' rpm1x%=pm1x%

' rpm1y%=pm1y%

'

' SETMOUSE pm1x%,pm1y%

'

'

raston%=0

rastoff%=1

'

'

REPEAT

'

lesotres

'

apreslautre

'

pox%=SUB(ADD(x%,16),160)

poy%=SUB(ADD(y%,16),100)

'

IF poy%<=0

poy%=0

ENDIF

IF pox%<=0

pox%=0

ENDIF

IF poy%>=200

poy%=200

ENDIF

IF pox%>=320

pox%=320

ENDIF

'

ofsetp%=pox% MOD 16

ecr%=ADD(ADD(a%,MUL(poy%,320)),MUL(DIV(pox%,16),8))

'

IF ofsetp%=0

ofsetl%=80

ELSE

ofsetl%=76

ENDIF

spron

'

'

'

carot1

c1arot1

c2arot1

c3arot1

'

'

'

IF st%=68 AND cofi%=0

cofi%=1

confidoiedecanar

sproffb

'

~GEMDOS(&H20,L:super%)

edtab

super%=GEMDOS(&H20,L:0)

grrr%=0

grrr2%=0

tomi%=0

tomo%=0

spron

ENDIF

IF st%=59

dacson%=1

ENDIF

IF st%=63

~XBIOS(&H26,L:music%) ! Initialize the music

SLPOKE &H4D2,music%+8 ! Play it at each VBL

ENDIF

IF st%=64

SLPOKE &H4D2,0 ! Stop playing

~XBIOS(&H26,L:music%+4) ! Switch off all voices and set back interrupts

ENDIF

'

IF st%=65 AND goulougoulou%=0

SWAP raston%,rastoff%

ENDIF

'

'

IF st%=60

dacson%=0

ENDIF

'

IF st%=61

onaf%=1

ENDIF

IF st%=62

machibibulchouette

onaf%=0

ENDIF

'

lavielamort

spran

carot2

c1arot2

c2arot2

c3arot2

'

IF onaf%=1

'

aa%=ADD(ADD(a%,120),MUL(196,320))

cc%=ADD(ADD(d%,DIV(niarftomx%,2)),MUL(niarftomy%,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,128

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,288

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,17

DPOKE &HFF8A38,8

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

aa%=ADD(ADD(a%,168),MUL(196,320))

cc%=ADD(ADD(d%,DIV(niatomox%,2)),MUL(niatomoy%,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,128

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,288

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,17

DPOKE &HFF8A38,8

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

'

VOID XBIOS(5,L:a%,L:ecr%,-1)

SWAP a%,b%

IF raston%=1

DPOKE &HFF8240,&HA0C

ENDIF

VSYNC

IF raston%=1

DPOKE &HFF8240,&HB0B

ENDIF

POKE &HFF8265,ofsetp%

POKE &HFF820F,ofsetl%

'

cofi%=0

IF st%=68

cofi%=1

ENDIF

'

goulougoulou%=0

IF st%=65

goulougoulou%=1

ENDIF

'

carot3

c1arot3

c2arot3

c3arot3

'

'

sproff

'

rx%=x%

ry%=y%

'

rxelen%=elenx%

ryelen%=eleny%

rxelen2%=elenx2%

ryelen2%=eleny2%

'

IF mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,16),16))=>30 AND mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,16),16))=<39

'

shirley

shishi%=SUB(shishi%,1)

IF shishi%<=0

sproffb

shirley

grrr%=0

grrr2%=0

tomi%=0

'

~GEMDOS(&H20,L:super%)

INC leve%

IF leve%>=50

leve%=50

ENDIF

'

letab

super%=GEMDOS(&H20,L:0)

cc%=ADD(ADD(a%,120),MUL(196,320))

aa%=ADD(ADD(e%,0),MUL(192,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,288

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,128

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,17

DPOKE &HFF8A38,8

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

cc%=ADD(ADD(a%,168),MUL(196,320))

aa%=ADD(ADD(e%,32),MUL(192,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,288

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,128

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,17

DPOKE &HFF8A38,8

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

'

ENDIF

'

'

'

UNTIL MOUSEK=3

~GEMDOS(&H20,L:super%)

VSYNC

VOID XBIOS(5,L:z%,L:z%,-1)

VSYNC

SHOWM

SPOKE &HFF820F,0

SPOKE &HFF8265,0

SPOKE &H484,toukey%

SLPOKE &H4D2,0 ! Stop playing

~XBIOS(&H26,L:music%+4) ! Switch off all voices and set back interrupts

klax2

BMOVE ecransauv%,z%,32000

RESERVE -100000

PRINT FRE()

EDIT

> PROCEDURE edtab

'

'

lach%=1

MOUSE mx%,my%,mbt%

rmx%=mx%

rmy%=my%

SETMOUSE mx%,my%

' DEFLINE 2

REPEAT

MOUSE mox%,moy%,mbt%

mx%=mox%

my%=moy%

IF my%>=192

my%=192

ENDIF

IF mx%>=304

mx%=304

ENDIF

'

'

st%=PEEK(&HFFFC02)

'

alibay%=0

IF st%=68 AND cofi%=0

klax2

alibay%=1

ENDIF

'

IF st%=78 AND cofi%=0

klax2

' leve%=leve%+1

INC leve%

IF leve%>=50

leve%=50

'

ENDIF

FOR px%=0 TO 25

FOR py%=0 TO 28

pyy%=ADD(MUL(leve%,25),py%)

mptab|(px%,py%)=mptabo|(px%,pyy%)

NEXT py%

NEXT px%

letab2

ENDIF

'

IF st%=74 AND cofi%=0

klax2

' leve%=leve%-1

DEC leve%

IF leve%<=0

leve%=0

ENDIF

FOR px%=0 TO 25

FOR py%=0 TO 28

pyy%=ADD(MUL(leve%,25),py%)

mptab|(px%,py%)=mptabo|(px%,pyy%)

NEXT py%

NEXT px%

letab2

ENDIF

'

IF st%=114 AND cofi%=0

klax2

FOR px%=0 TO 25

FOR py%=0 TO 28

pyy%=ADD(MUL(leve%,25),py%)

mptabo|(px%,pyy%)=mptab|(px%,py%)

NEXT py%

NEXT px%

ENDIF

'

'

'

IF mbt%=2

klax2

BMOVE a%,ee%,32000

BMOVE e%,z%,32000

ouf

VOID XBIOS(5,L:z%,L:z%,-1)

VSYNC

ramx%=mx%

ramy%=my%

REPEAT

'

MOUSE mx%,my%,mbt%

IF mx%>=304

mx%=304

ENDIF

IF my%>=176

my%=176

ENDIF

'

imx%=MUL(DIV(mx%,32),32)

imy%=MUL(DIV(my%,16),16)

'

RC_COPY e%,0,96,32,16 TO z%,imx%,imy%,2

'

PRINT AT(13,13);"LEVEL:";leve%

'

'

VOID XBIOS(5,L:z%,L:z%,-1)

VSYNC

BMOVE e%,z%,32000

'

'

UNTIL mbt%=0

BMOVE ee%,a%,32000

SETMOUSE ramx%,ramy%

limx%=imx%

limy%=imy%

ENDIF

'

imx%=MUL(DIV((mox%*2),32),32)

imy%=MUL(DIV((moy%*2),16),16)

IF imx%<=0

imx%=0

ENDIF

IF imy%<=0

imy%=0

ENDIF

'

IF imx%>=608

imx%=608

ENDIF

IF imy%>=384

imy%=384

ENDIF

'

'

'

mxblo%=MUL(DIV(mx%,31),32)

myblo%=MUL(DIV(my%,15),16)

IF myblo%<=64

myblo%=64

ENDIF

IF mxblo%>=288

mxblo%=288

ENDIF

IF myblo%>=176

myblo%=176

ENDIF

'

s_mdb%(0)=a%

s_mdb%(3)=40

s_mdb%(5)=4

'

d_mdb%(0)=e%

d_mdb%(3)=20

d_mdb%(5)=4

'

' sd_md%(0)=(rmx%*2)

' sd_md%(1)=(rmy%*2)

' sd_md%(2)=(rmx%*2)+31

' sd_md%(3)=(rmy%*2)+15

sd_md%(0)=MUL(rmx%,2)

sd_md%(1)=MUL(rmy%,2)

sd_md%(2)=ADD(MUL(rmx%,2),31)

sd_md%(3)=ADD(MUL(rmy%,2),15)

'

sd_md%(4)=32

sd_md%(5)=96

' sd_md%(6)=32+31

sd_md%(6)=ADD(32,31)

' sd_md%(7)=96+15

sd_md%(7)=ADD(96,15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

s_mdb%(0)=a%

s_mdb%(3)=40

s_mdb%(5)=4

'

d_mdb%(0)=e%

d_mdb%(3)=20

d_mdb%(5)=4

'

sd_md%(0)=rimx%

sd_md%(1)=rimy%

' sd_md%(2)=rimx%+31

sd_md%(2)=ADD(rimx%,31)

' sd_md%(3)=rimy%+15

sd_md%(3)=ADD(rimy%,15)

'

sd_md%(4)=64

sd_md%(5)=96

' sd_md%(6)=64+31

sd_md%(6)=ADD(64,31)

' sd_md%(7)=96+15

sd_md%(7)=ADD(96,15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

'

'

s_mdb%(0)=e%

s_mdb%(3)=20

s_mdb%(5)=4

d_mdb%(0)=a%

d_mdb%(3)=40

d_mdb%(5)=4

'

sd_md%(0)=limx%

sd_md%(1)=limy%

' sd_md%(2)=limx%+31

' sd_md%(3)=limy%+15

sd_md%(2)=ADD(limx%,31)

sd_md%(3)=ADD(limy%,15)

'

sd_md%(4)=imx%

sd_md%(5)=imy%

' sd_md%(6)=imx%+31

' sd_md%(7)=imy%+15

sd_md%(6)=ADD(imx%,31)

sd_md%(7)=ADD(imy%,15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

'

s_mdb%(0)=e%

s_mdb%(3)=20

s_mdb%(5)=4

'

d_mdb%(0)=a%

d_mdb%(3)=40

d_mdb%(5)=4

'

sd_md%(0)=0

sd_md%(1)=96

sd_md%(2)=31

sd_md%(3)=111

'

' sd_md%(4)=(mx%*2)

' sd_md%(5)=(my%*2)

' sd_md%(6)=(mx%*2)+31

' sd_md%(7)=(my%*2)+15

sd_md%(4)=MUL(mx%,2)

sd_md%(5)=MUL(my%,2)

sd_md%(6)=ADD(MUL(mx%,2),31)

sd_md%(7)=ADD(MUL(my%,2),15)

sd_md%(8)=6

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

scrox%=MOUSEX

scroy%=MOUSEY

ofsetp%=(scrox%) MOD 16

'

' ecr%=(a%+(scroy%)*320)+(scrox% DIV 16)*8

ecr%=ADD(ADD(a%,MUL(scroy%,320)),MUL(DIV(scrox%,16),8))

'

IF ofsetp%=0

ofsetl%=80

ELSE

ofsetl%=76

ENDIF

VOID XBIOS(5,L:a%,L:ecr%,-1)

'

'

'

'

'

'

SWAP a%,b%

VSYNC

SPOKE &HFF8265,ofsetp%

SPOKE &HFF820F,ofsetl%

'

cofi%=0

IF st%=68 OR st%=78 OR st%=74 OR st%=114

klax2

cofi%=1

ENDIF

'

'

'

'

s_mdb%(0)=e%

s_mdb%(3)=20

s_mdb%(5)=4

'

d_mdb%(0)=a%

d_mdb%(3)=40

d_mdb%(5)=4

'

sd_md%(0)=32

sd_md%(1)=96

' sd_md%(2)=32+31

sd_md%(2)=ADD(32,31)

' sd_md%(3)=96+15

sd_md%(3)=ADD(96,15)

'

' sd_md%(4)=(rmx%*2)

' sd_md%(5)=(rmy%*2)

' sd_md%(6)=(rmx%*2)+31

' sd_md%(7)=(rmy%*2)+15

'

sd_md%(4)=MUL(rmx%,2)

sd_md%(5)=MUL(rmy%,2)

sd_md%(6)=ADD(MUL(rmx%,2),31)

sd_md%(7)=ADD(MUL(rmy%,2),15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

s_mdb%(0)=e%

s_mdb%(3)=20

s_mdb%(5)=4

'

d_mdb%(0)=a%

d_mdb%(3)=40

d_mdb%(5)=4

'

sd_md%(0)=64

sd_md%(1)=96

' sd_md%(2)=64+31

sd_md%(2)=ADD(64,31)

' sd_md%(3)=96+15

sd_md%(3)=ADD(96,15)

'

sd_md%(4)=rimx%

sd_md%(5)=rimy%

' sd_md%(6)=rimx%+31

sd_md%(6)=ADD(rimx%,31)

' sd_md%(7)=rimy%+15

sd_md%(7)=ADD(rimy%,15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

'

rimx%=imx%

rimy%=imy%

'

rmx%=mx%

rmy%=my%

'

IF mbt%=1

'

s_mdb%(0)=e%

s_mdb%(3)=20

s_mdb%(5)=4

d_mdb%(0)=a%

d_mdb%(3)=40

d_mdb%(5)=4

'

sd_md%(0)=limx%

sd_md%(1)=limy%

' sd_md%(2)=limx%+31

sd_md%(2)=ADD(limx%,31)

' sd_md%(3)=limy%+15

sd_md%(3)=ADD(limy%,15)

'

sd_md%(4)=imx%

sd_md%(5)=imy%

' sd_md%(6)=imx%+31

sd_md%(6)=ADD(imx%,31)

' sd_md%(7)=imy%+15

sd_md%(7)=ADD(imy%,15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

s_mdb%(0)=e%

s_mdb%(3)=20

s_mdb%(5)=4

d_mdb%(0)=b%

d_mdb%(3)=40

d_mdb%(5)=4

'

sd_md%(0)=limx%

sd_md%(1)=limy%

' sd_md%(2)=limx%+31

sd_md%(2)=ADD(limx%,31)

' sd_md%(3)=limy%+15

sd_md%(3)=ADD(limy%,15)

'

sd_md%(4)=imx%

sd_md%(5)=imy%

' sd_md%(6)=imx%+31

sd_md%(6)=ADD(imx%,31)

' sd_md%(7)=imy%+15

sd_md%(7)=ADD(imy%,15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

zobx%=(zobxy%-((INT(zobxy%/10)*10)))

zoby%=(zobxy%/10)

'

numa%=(limx%\32)+(10*(limy%\16))

'

mptab|(imx%\32,imy%\16)=numa%

'

ENDIF

'

IF st%=31

klax2

'

' ouf

' IF EXIST("letab.hol")=-1

' RENAME "letab.hol" AS "letab.bak"

' ENDIF

' OPEN "O",#1,"letab.lst"

'

'

BSAVE "letablo.hol",dtab%,ltab%

'

st%=0

'

' FOR tay%=0 TO 24

' fdatta$="data "

' FOR tax%=0 TO 19

' fdatta$=fdatta$+CHR$(mptab|(tax%,tay%)+48)

' NEXT tax%

' PRINT #1;fdatta$

' NEXT tay%

' CLOSE #1

'

ENDIF

'

IF st%=83

klax2

'

FOR py%=0 TO 28

FOR px%=0 TO 25

mptab|(px%,py%)=0

NEXT px%

NEXT py%

'

letab2

'

ENDIF

'

'

'

UNTIL alibay%=1

' BMOVE e%,a%,32000

letab2

RETURN

> PROCEDURE cach

s_mdb%(0)=e%

s_mdb%(3)=20

s_mdb%(5)=4

'

d_mdb%(0)=a%

d_mdb%(3)=40

d_mdb%(5)=4

'

sd_md%(0)=32

sd_md%(1)=96

sd_md%(2)=ADD(32,31)

sd_md%(3)=ADD(96,15)

'

sd_md%(4)=MUL(rmx%,2)

sd_md%(5)=MUL(rmy%,2)

sd_md%(6)=ADD(MUL(rmx%,2),31)

sd_md%(7)=ADD(MUL(rmy%,2),15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

s_mdb%(0)=e%

s_mdb%(3)=20

s_mdb%(5)=4

'

d_mdb%(0)=b%

d_mdb%(3)=40

d_mdb%(5)=4

'

sd_md%(0)=32

sd_md%(1)=96

sd_md%(2)=ADD(32,31)

sd_md%(3)=ADD(96,15)

'

sd_md%(4)=MUL(rmx%,2)

sd_md%(5)=MUL(rmy%,2)

sd_md%(6)=ADD(MUL(rmx%,2),31)

sd_md%(7)=ADD(MUL(rmy%,2),15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

'

s_mdb%(0)=e%

s_mdb%(3)=20

s_mdb%(5)=4

'

d_mdb%(0)=a%

d_mdb%(3)=40

d_mdb%(5)=4

'

sd_md%(0)=64

sd_md%(1)=96

sd_md%(2)=ADD(64,31)

sd_md%(3)=ADD(96,15)

'

sd_md%(4)=rimx%

sd_md%(5)=rimy%

sd_md%(6)=ADD(rimx%,31)

sd_md%(7)=ADD(rimy%,15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

s_mdb%(0)=e%

s_mdb%(3)=20

s_mdb%(5)=4

'

d_mdb%(0)=b%

d_mdb%(3)=40

d_mdb%(5)=4

'

sd_md%(0)=64

sd_md%(1)=96

sd_md%(2)=ADD(64,31)

sd_md%(3)=ADD(96,15)

'

sd_md%(4)=rimx%

sd_md%(5)=rimy%

sd_md%(6)=ADD(rimx%,31)

sd_md%(7)=ADD(rimy%,15)

sd_md%(8)=3

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

'

'

RETURN

PROCEDURE letab

shishi%=0

'

super%=GEMDOS(&H20,L:0)

FOR tay%=0 TO 24

FOR tax%=0 TO 19

tayy%=ADD(MUL(leve%,25),tay%)

zobxy%=mptabo|(tax%,tayy%)

zobx%=SUB(zobxy%,(MUL(DIV(zobxy%,10),10)))

zoby%=DIV(zobxy%,10)

'

mptab|(tax%,tay%)=zobxy%

IF zobxy%>=30 AND zobxy%<=39

shishi%=ADD(shishi%,1)

ENDIF

' IF zobx%<=0

' zobx%=0

' ENDIF

' IF zobx%>=9

' zobx%=9

' E'NDIF

' IF zoby%<=0

' zoby%=0

' ENDIF

' IF zoby%=>176

' zoby%=176

' ENDIF

'

aa%=ADD(ADD(a%,MUL(tax%,16)),MUL(MUL(tay%,16),320))

cc%=ADD(ADD(e%,MUL(zobx%,16)),MUL(MUL(zoby%,16),160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

aa%=ADD(ADD(b%,MUL(tax%,16)),MUL(MUL(tay%,16),320))

cc%=ADD(ADD(e%,MUL(zobx%,16)),MUL(MUL(zoby%,16),160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

NEXT tax%

NEXT tay%

~GEMDOS(&H20,L:super%)

' BMOVE a%,b%,128000

RETURN

> PROCEDURE letabo

shishi%=0

lares:

'

DATA 00000000100000000000

DATA 00VNOWVUTSR200000‚0

DATA 00><;;:;;:=30ƒ000‹Œ0

DATA 0004005005000600•–0

DATA X0b4QQ5b25000>:XPŸ 0

DATA D2DABBBC35060X5DDDD0

DATA 03D4]^_b>:001DD01111

DATA 0004ghi:05XQ1111171O

DATA X004qrs505DDD1111O1D

DATA D004{|}5X500101NDDDD

DATA €00><:=DDD0010ND—D00

DATA Šb02450000001NDS¡DQ0

DATA EE034500G000NDSDDDDS

DATA 000EEE0b8T00DDDDD`aD

DATA 0000000EEE0000000jkD

DATA 0000200000bQR0020tu0

DATA 0000300000EEE0030~0

DATA 01111101110000bS0ˆ‰0

DATA 00010001000000EE0’“0

DATA 000100010000000SXœb

DATA 0001000100™š›0QEE0EE

DATA 0101011100£¤¥XEEE000

DATA 0101000100FFEEE˜E00”

DATA P111XWP111FEEEE¢EbPž

DATA BBBBBBBBBBBBBBBBBBBB

'

RESTORE lares

super%=GEMDOS(&H20,L:0)

FOR tay%=0 TO 24

READ datta$

FOR tax%=0 TO 19

zax$=MID$(datta$,(tax%+1),1)

' zobxy%=(ASC(zax$)-48)

' zobx%=(zobxy%-((INT(zobxy%/10)*10)))

' zoby%=(zobxy%/10)

'

zobxy%=SUB(ASC(zax$),48)

zobx%=SUB(zobxy%,(MUL(DIV(zobxy%,10),10)))

zoby%=DIV(zobxy%,10)

'

mptab|(tax%,tay%)=zobxy%

IF zobxy%>=30 AND zobxy%<=39

shishi%=ADD(shishi%,1)

ENDIF

IF zobx%<=0

zobx%=0

ENDIF

IF zobx%>=9

zobx%=9

ENDIF

IF zoby%<=0

zoby%=0

ENDIF

IF zoby%=>176

zoby%=176

ENDIF

'

aa%=ADD(ADD(a%,MUL(tax%,16)),MUL(MUL(tay%,16),320))

cc%=ADD(ADD(e%,MUL(zobx%,16)),MUL(MUL(zoby%,16),160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

' DPOKE &HFF8A24,SWAP(cc%) AND &HFF

LPOKE &HFF8A24,cc%

' DPOKE &HFF8A26,&HFFFF AND cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

' DPOKE &HFF8A32,SWAP(aa%) AND &HFF

LPOKE &HFF8A32,aa%

' DPOKE &HFF8A34,&HFFFFF AND aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

aa%=ADD(ADD(b%,MUL(tax%,16)),MUL(MUL(tay%,16),320))

cc%=ADD(ADD(e%,MUL(zobx%,16)),MUL(MUL(zoby%,16),160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

' DPOKE &HFF8A24,SWAP(cc%) AND &HFF

LPOKE &HFF8A24,cc%

' DPOKE &HFF8A26,&HFFFF AND cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

' DPOKE &HFF8A32,SWAP(aa%) AND &HFF

LPOKE &HFF8A32,aa%

' DPOKE &HFF8A34,&HFFFFF AND aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

NEXT tax%

NEXT tay%

~GEMDOS(&H20,L:super%)

' BMOVE a%,b%,128000

RETURN

> PROCEDURE letab2

shishi%=0

super%=GEMDOS(&H20,L:0)

FOR tay%=0 TO 24

FOR tax%=0 TO 19

zobxy%=mptab|(tax%,tay%)

'

zobx%=SUB(zobxy%,(MUL(DIV(zobxy%,10),10)))

zoby%=DIV(zobxy%,10)

'

mptab|(tax%,tay%)=zobxy%

IF zobxy%>=30 AND zobxy%<=39

shishi%=ADD(shishi%,1)

ENDIF

IF zobx%<=0

zobx%=0

ENDIF

IF zobx%>=9

zobx%=9

ENDIF

IF zoby%<=0

zoby%=0

ENDIF

IF zoby%=>176

zoby%=176

ENDIF

aa%=ADD(ADD(a%,MUL(tax%,16)),MUL(MUL(tay%,16),320))

cc%=ADD(ADD(e%,MUL(zobx%,16)),MUL(MUL(zoby%,16),160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

' DPOKE &HFF8A24,SWAP(cc%) AND &HFF

LPOKE &HFF8A24,cc%

' DPOKE &HFF8A26,&HFFFF AND cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

' DPOKE &HFF8A32,SWAP(aa%) AND &HFF

LPOKE &HFF8A32,aa%

' DPOKE &HFF8A34,&HFFFFF AND aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

aa%=ADD(ADD(b%,MUL(tax%,16)),MUL(MUL(tay%,16),320))

cc%=ADD(ADD(e%,MUL(zobx%,16)),MUL(MUL(zoby%,16),160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

' DPOKE &HFF8A24,SWAP(cc%) AND &HFF

LPOKE &HFF8A24,cc%

' DPOKE &HFF8A26,&HFFFF AND cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

' DPOKE &HFF8A32,SWAP(aa%) AND &HFF

LPOKE &HFF8A32,aa%

' DPOKE &HFF8A34,&HFFFFF AND aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

NEXT tax%

NEXT tay%

~GEMDOS(&H20,L:super%)

' BMOVE a%,b%,128000

RETURN

> PROCEDURE rebond

IF dacson%=1

@convert_ste(ADD(rebond%,38),daca%,dacb%,dacc%)

POKE &HFF8903,daca%

POKE &HFF8905,dacb%

POKE &HFF8907,dacc%

convert_ste(ADD(rebond%,6038),daca%,dacb%,dacc%)

POKE &HFF890F,daca%

POKE &HFF8911,dacb%

POKE &HFF8913,dacc%

DPOKE &HFF8900,0

DPOKE &HFF8900,1

DPOKE &HFF8920,&H80 OR 1

ENDIF

RETURN

> PROCEDURE bonus

IF dacson%=1

@convert_ste(ADD(bonus%,38),daca%,dacb%,dacc%)

POKE &HFF8903,daca%

POKE &HFF8905,dacb%

POKE &HFF8907,dacc%

convert_ste(ADD(bonus%,11244),daca%,dacb%,dacc%)

POKE &HFF890F,daca%

POKE &HFF8911,dacb%

POKE &HFF8913,dacc%

DPOKE &HFF8900,0

DPOKE &HFF8900,1

DPOKE &HFF8920,&H80 OR 1

ENDIF

RETURN

> PROCEDURE shirley

IF dacson%=1

@convert_ste(ADD(shirley%,38),daca%,dacb%,dacc%)

POKE &HFF8903,daca%

POKE &HFF8905,dacb%

POKE &HFF8907,dacc%

convert_ste(ADD(shirley%,13086),daca%,dacb%,dacc%)

POKE &HFF890F,daca%

POKE &HFF8911,dacb%

POKE &HFF8913,dacc%

DPOKE &HFF8900,0

DPOKE &HFF8900,1

DPOKE &HFF8920,&H80 OR 0

ENDIF

mptab|(((x%+16)/32),((y%+16)/16))=0

'

bxx%=DIV(ADD(x%,16),32)

byy%=DIV(ADD(y%,16),16)

'

cc%=e% !ADD(ADD(e%,MUL(zobx%,16)),MUL(MUL(zoby%,16),160))

aa%=ADD(ADD(a%,MUL(bxx%,16)),MUL(MUL(byy%,16),320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

' DPOKE &HFF8A24,SWAP(cc%) AND &HFF

LPOKE &HFF8A24,cc%

' DPOKE &HFF8A26,&HFFFF AND cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

' DPOKE &HFF8A32,SWAP(aa%) AND &HFF

LPOKE &HFF8A32,aa%

' DPOKE &HFF8A34,&HFFFFF AND aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

cc%=e% !ADD(ADD(e%,MUL(zobx%,16)),MUL(MUL(zoby%,16),160))

aa%=ADD(ADD(b%,MUL(bxx%,16)),MUL(MUL(byy%,16),320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

' DPOKE &HFF8A24,SWAP(cc%) AND &HFF

LPOKE &HFF8A24,cc%

' DPOKE &HFF8A26,&HFFFF AND cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

' DPOKE &HFF8A32,SWAP(aa%) AND &HFF

LPOKE &HFF8A32,aa%

' DPOKE &HFF8A34,&HFFFFF AND aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

'

RETURN

> PROCEDURE kia

IF dacson%=1

@convert_ste(ADD(kia%,38),daca%,dacb%,dacc%)

POKE &HFF8903,daca%

POKE &HFF8905,dacb%

POKE &HFF8907,dacc%

convert_ste(ADD(kia%,9004),daca%,dacb%,dacc%)

POKE &HFF890F,daca%

POKE &HFF8911,dacb%

POKE &HFF8913,dacc%

DPOKE &HFF8900,0

DPOKE &HFF8900,1

DPOKE &HFF8920,&H80 OR 1

ENDIF

'

RETURN

> PROCEDURE klax

IF dacson%=1

@convert_ste(ADD(klax%,38),daca%,dacb%,dacc%)

POKE &HFF8903,daca%

POKE &HFF8905,dacb%

POKE &HFF8907,dacc%

convert_ste(ADD(klax%,7856),daca%,dacb%,dacc%)

POKE &HFF890F,daca%

POKE &HFF8911,dacb%

POKE &HFF8913,dacc%

DPOKE &HFF8900,0

DPOKE &HFF8900,1

DPOKE &HFF8920,&H80 OR 1

ENDIF

'

RETURN

> PROCEDURE klax2

@convert_ste(ADD(klax%,38),daca%,dacb%,dacc%)

SPOKE &HFF8903,daca%

SPOKE &HFF8905,dacb%

SPOKE &HFF8907,dacc%

convert_ste(ADD(klax%,7856),daca%,dacb%,dacc%)

SPOKE &HFF890F,daca%

SPOKE &HFF8911,dacb%

SPOKE &HFF8913,dacc%

SDPOKE &HFF8900,0

SDPOKE &HFF8900,1

SDPOKE &HFF8920,&H80 OR 1

'

RETURN

> PROCEDURE convert_ste(adrson%,VAR daca%,dacb%,dacc%)

daca%=SWAP(adrson%) AND &HFF

dacb%=SHR(adrson%,8) AND &HFF

dacc%=adrson% AND &HFF

RETURN

> PROCEDURE ouf

SPOKE &HFF8265,0

SPOKE &HFF820F,0

RETURN

> PROCEDURE spron

'

bxx%=DIV(rx%,16)

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(ry%,320))

aa%=ADD(ADD(ecransauv%,MUL(8,16)),MUL(96,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,296

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,136

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,13

DPOKE &HFF8A38,32

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

'

bxx%=DIV(rxelen%,16)

'

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(ryelen%,320))

aa%=ADD(ADD(d%,MUL(8,16)),MUL(128,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,296

' DPOKE &HFF8A24,SWAP(cc%) AND &HFF

LPOKE &HFF8A24,cc%

' DPOKE &HFF8A26,&HFFFF AND cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,136

' DPOKE &HFF8A32,SWAP(aa%) AND &HFF

LPOKE &HFF8A32,aa%

' DPOKE &HFF8A34,&HFFFFF AND aa%

DPOKE &HFF8A36,13

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

'

'

bxx%=DIV(rxelen2%,16)

'

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(ryelen2%,320))

aa%=ADD(ADD(ecransauv%,MUL(8,16)),MUL(160,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,296

' DPOKE &HFF8A24,SWAP(cc%) AND &HFF

LPOKE &HFF8A24,cc%

' DPOKE &HFF8A26,&HFFFF AND cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,136

' DPOKE &HFF8A32,SWAP(aa%) AND &HFF

LPOKE &HFF8A32,aa%

' DPOKE &HFF8A34,&HFFFFF AND aa%

DPOKE &HFF8A36,13

DPOKE &HFF8A38,32

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

RETURN

> PROCEDURE spran

LPOKE s_mdb0%,d%

LPOKE s_mdb3%,20

LPOKE s_mdb5%,4

LPOKE d_mdb0%,a%

LPOKE d_mdb3%,40

LPOKE d_mdb5%,4

LPOKE sd_md0%,spelenx%

LPOKE sd_md1%,144

LPOKE sd_md2%,ADD(spelenx%,31)

LPOKE sd_md3%,ADD(144,15)

LPOKE sd_md4%,elenx%

LPOKE sd_md5%,eleny%

LPOKE sd_md6%,ADD(elenx%,31)

LPOKE sd_md7%,ADD(eleny%,15)

LPOKE sd_md8%,1

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

LPOKE s_mdb0%,d%

LPOKE s_mdb3%,20

LPOKE s_mdb5%,4

LPOKE d_mdb0%,a%

LPOKE d_mdb3%,40

LPOKE d_mdb5%,4

LPOKE sd_md0%,spelenx%

LPOKE sd_md1%,128

LPOKE sd_md2%,ADD(spelenx%,31)

LPOKE sd_md3%,ADD(128,15)

LPOKE sd_md4%,elenx%

LPOKE sd_md5%,eleny%

LPOKE sd_md6%,ADD(elenx%,31)

LPOKE sd_md7%,ADD(eleny%,15)

LPOKE sd_md8%,6

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

LPOKE s_mdb0%,c%

LPOKE s_mdb3%,20

LPOKE s_mdb5%,4

LPOKE d_mdb0%,a%

LPOKE d_mdb3%,40

LPOKE d_mdb5%,4

LPOKE sd_md0%,spelenx2%

LPOKE sd_md1%,160

LPOKE sd_md2%,ADD(spelenx2%,31)

LPOKE sd_md3%,ADD(160,31)

LPOKE sd_md4%,elenx2%

LPOKE sd_md5%,eleny2%

LPOKE sd_md6%,ADD(elenx2%,31)

LPOKE sd_md7%,ADD(eleny2%,31)

LPOKE sd_md8%,1

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

LPOKE s_mdb0%,c%

LPOKE s_mdb3%,20

LPOKE s_mdb5%,4

LPOKE d_mdb0%,a%

LPOKE d_mdb3%,40

LPOKE d_mdb5%,4

LPOKE sd_md0%,spelenx2%

LPOKE sd_md1%,128

LPOKE sd_md2%,ADD(spelenx2%,31)

LPOKE sd_md3%,ADD(128,31)

LPOKE sd_md4%,elenx2%

LPOKE sd_md5%,eleny2%

LPOKE sd_md6%,ADD(elenx2%,31)

LPOKE sd_md7%,ADD(eleny2%,31)

LPOKE sd_md8%,6

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

'

LPOKE s_mdb0%,spe%

LPOKE s_mdb3%,20

LPOKE s_mdb5%,4

LPOKE d_mdb0%,a%

LPOKE d_mdb3%,40

LPOKE d_mdb5%,4

LPOKE sd_md0%,spx%

LPOKE sd_md1%,64

LPOKE sd_md2%,ADD(spx%,31)

LPOKE sd_md3%,ADD(64,31)

LPOKE sd_md4%,x%

LPOKE sd_md5%,y%

LPOKE sd_md6%,ADD(x%,31)

LPOKE sd_md7%,ADD(y%,31)

LPOKE sd_md8%,1

BITBLT s_mdb%(),d_mdb%(),sd_md%()

'

LPOKE s_mdb0%,spe%

LPOKE s_mdb3%,20

LPOKE s_mdb5%,4

LPOKE d_mdb0%,a%

LPOKE d_mdb3%,40

LPOKE d_mdb5%,4

LPOKE sd_md0%,spx%

LPOKE sd_md1%,spy%

LPOKE sd_md2%,ADD(spx%,31)

LPOKE sd_md3%,ADD(spy%,31)

LPOKE sd_md4%,x%

LPOKE sd_md5%,y%

LPOKE sd_md6%,ADD(x%,31)

LPOKE sd_md7%,ADD(y%,31)

LPOKE sd_md8%,6

BITBLT s_mdb%(),d_mdb%(),sd_md%()

RETURN

> PROCEDURE sproff

'

'

bxx%=DIV(rx%,16)

'

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(ry%,320))

cc%=ADD(ADD(ecransauv%,MUL(8,16)),MUL(96,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,136

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,296

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,13

DPOKE &HFF8A38,32

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

'

'

bxx%=DIV(rxelen%,16)

'

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(ryelen%,320))

cc%=ADD(ADD(d%,MUL(8,16)),MUL(128,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,136

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,296

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,13

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

'

bxx%=DIV(rxelen2%,16)

'

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(ryelen2%,320))

cc%=ADD(ADD(ecransauv%,MUL(8,16)),MUL(160,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,136

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,296

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,13

DPOKE &HFF8A38,32

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

RETURN

> PROCEDURE sproffb

sproff

'

bxx%=DIV(rx%,16)

'

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(ry%,320))

cc%=ADD(ADD(ecransauv%,MUL(8,16)),MUL(96,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,136

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,296

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,13

DPOKE &HFF8A38,32

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

bxx%=DIV(rxelen%,16)

'

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(ryelen%,320))

cc%=ADD(ADD(d%,MUL(8,16)),MUL(128,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,136

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,296

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,13

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

'

'

bxx%=DIV(rxelen2%,16)

'

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(ryelen2%,320))

cc%=ADD(ADD(ecransauv%,MUL(8,16)),MUL(160,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,136

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,296

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,13

DPOKE &HFF8A38,32

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

RETURN

> PROCEDURE lesotres

dieq%=ADD(RAND(15),1)

IF dieq%=1

dyiq%=1

ENDIF

IF dieq%=2

dyiq%=2

ENDIF

IF dieq%=3

dxiq%=1

ENDIF

IF dieq%=4

dxiq%=2

ENDIF

IF dieq%=5

dyiq%=0

ENDIF

IF dieq%=6

dxiq%=0

ENDIF

'

grrr%=ADD(grrr%,1)

IF grrr%>2000

'

IF elenx%<=x%

'

dxiq%=2

ENDIF

IF elenx%>x%

'

dxiq%=1

ENDIF

IF eleny%<=y%

'

dyiq%=2

ENDIF

IF eleny%>y%

'

dyiq%=1

ENDIF

'

IF elenx%=x%

dxiq%=0

ENDIF

IF eleny%=y%

dyiq%=0

ENDIF

ENDIF

'

'

IF dyiq%=1

eleny%=SUB(eleny%,vteleny%)

IF eleny%=<0

eleny%=0

ENDIF

ENDIF

'

IF dyiq%=2

eleny%=ADD(eleny%,vteleny%)

IF eleny%=>384

eleny%=384

ENDIF

ENDIF

'

IF dxiq%=1

elenx%=SUB(elenx%,vtelenx%)

IF elenx%=<0

elenx%=0

ENDIF

ENDIF

'

IF dxiq%=2

elenx%=ADD(elenx%,vtelenx%)

IF elenx%=>608

elenx%=608

ENDIF

ENDIF

'

dieq2%=ADD(RAND(15),1)

IF dieq2%=1

dyiq2%=1

ENDIF

IF dieq2%=2

dyiq2%=2

ENDIF

IF dieq2%=3

dxiq2%=1

ENDIF

IF dieq2%=4

dxiq2%=2

ENDIF

IF dieq2%=5

dyiq2%=0

ENDIF

IF dieq2%=6

dxiq2%=0

ENDIF

'

'

grrr2%=ADD(grrr2%,2)

IF grrr2%>4000

'

IF elenx2%<=x%

'

dxiq2%=2

ENDIF

IF elenx2%>x%

'

dxiq2%=1

ENDIF

IF eleny2%<=y%

'

dyiq2%=2

ENDIF

IF eleny2%>y%

'

dyiq2%=1

ENDIF

'

'

IF elenx2%=x%

dxiq2%=0

ENDIF

IF eleny2%=y%

dyiq2%=0

ENDIF

'

ENDIF

'

'

'

'

IF dyiq2%=1

eleny2%=SUB(eleny2%,vteleny2%)

IF eleny2%=<0

eleny2%=0

ENDIF

ENDIF

'

IF dyiq2%=2

eleny2%=ADD(eleny2%,vteleny2%)

IF eleny2%=>368

eleny2%=368

ENDIF

ENDIF

'

IF dxiq2%=1

elenx2%=SUB(elenx2%,vtelenx2%)

IF elenx2%=<0

elenx2%=0

ENDIF

ENDIF

'

IF dxiq2%=2

elenx2%=ADD(elenx2%,vtelenx2%)

IF elenx2%=>608

elenx2%=608

ENDIF

ENDIF

'

' elenx2%=MOUSEX*2

' eleny2%=MOUSEY*2

'

'

st%=0

st%=PEEK(&HFFFC02)

'

rcx1%=x%

rcy1%=y%

rcxl1%=32

rcyl1%=32

'

rcx2%=elenx%

rcy2%=eleny%

rcxl2%=32

rcyl2%=16

touch%=RC_INTERSECT(rcx1%,rcy1%,rcxl1%,rcyl1%,rcx2%,rcy2%,rcxl2%,rcyl2%)

IF touch%=-1

INC tomo%

IF ADD(x%,16)<=ADD(elenx%,16)

st%=4

kia

ENDIF

IF ADD(x%,16)>ADD(elenx%,16)

st%=8

kia

ENDIF

'

IF ADD(y%,16)<=eleny%

haileu

st%=0

y%=SUB(y%,16)

' bonus

IF y%<=0

y%=0

ENDIF

ENDIF

'

SUB grrr%,320

ENDIF

'

rcx1%=x%

rcy1%=y%

rcxl1%=32

rcyl1%=32

'

rcx2%=elenx2%

rcy2%=eleny2%

rcxl2%=32

rcyl2%=32

touch%=RC_INTERSECT(rcx1%,rcy1%,rcxl1%,rcyl1%,rcx2%,rcy2%,rcxl2%,rcyl2%)

IF touch%=-1

INC tomo%

IF ADD(x%,16)<ADD(elenx2%,16)

st%=4

kia

ENDIF

IF ADD(x%,16)=>ADD(elenx2%,16)

st%=8

kia

ENDIF

'

IF ADD(y%,16)<=eleny2%

haileu

st%=0

y%=SUB(y%,16)

' bonus

IF y%<=0

y%=0

ENDIF

ENDIF

SUB grrr2%,160

ENDIF

'

'

'

IF mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,16),16))=40 AND sat%=0

rebond

sat%=1

satc%=32

lan%=12

man%=2

zobanim%=1

spx%=0

ENDIF

IF mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,16),16))=50 AND sat%=0

rebond

sat%=3

satc%=32

lan%=12

man%=2

spx%=0

zobanim%=4

ENDIF

'

RETURN

> PROCEDURE moini

'

'

spx%=0

spy%=0

x%=160

y%=336

rx%=x%

ry%=y%

'

lan%=16

man%=2

'

sat%=0

st%=0

vtx%=4

vty%=4

spe%=c%

'

elenx%=160

eleny%=100

vtelenx%=3

vteleny%=3

'

vtlaelen%=21

vtmanelen%=3

'

relenx%=elenx%

releny%=eleny%

SETMOUSE elenx%,eleny%

spelenx%=0

speleny%=128

'

elenx2%=100

eleny2%=160

vtelenx2%=2

vteleny2%=2

'

vtlaelen2%=28

vtmanelen2%=4

'

relenx2%=elenx2%

releny2%=eleny2%

spelenx2%=0

speleny2%=128

'

'

RETURN

> PROCEDURE lavielamort

INC tomi%

IF tomi%>=1000

tomi%=0

ENDIF

niarftomxy%=DIV(tomi%,100)

'

niarftomx%=MUL(SUB(niarftomxy%,MUL(DIV(niarftomxy%,5),5)),64)

niarftomy%=ADD(MUL(DIV(niarftomxy%,5),8),160)

'

IF tomo%>=100

tomo%=0

ENDIF

niatomoxy%=DIV(tomo%,10)

'

niatomox%=MUL(SUB(niatomoxy%,MUL(DIV(niatomoxy%,5),5)),64)

niatomoy%=ADD(MUL(DIV(niatomoxy%,5),8),176)

RETURN

> PROCEDURE coucou

.Whaddaya do if you want to call a -Megatizer- music in GfA-Basic ???

.Peek at this...

.Coded by Jedi of Sector One from The Heavy Killers

.

FILESELECT "\*.thk","",file$ ! Choose a file

IF EXIST(file$)=0 ! Does it exist ???

EDIT ! No => Back to the editor

ENDIF

.

OPEN "i",#1,file$ ! Open the file

len%=LOF(#1) ! Length of that file

RESERVE FRE(0)-len% ! Reserve a part of the memory

music%=MALLOC(len%) ! Define a buffer ( to put the music )

BGET #1,music%,len% ! Transfer the datas into the buffer

CLOSE #1 ! Close the file

.

~XBIOS(&H26,L:music%) ! Initialize the music

SLPOKE &H4D2,music%+8 ! Play it at each VBL

.

KEYGET zzz% ! Wait for a key

.

SLPOKE &H4D2,0 ! Stop playing

~XBIOS(&H26,L:music%+4) ! Switch off all voices and set back interrupts

SPOKE &H484,15 ! Enable this fuckin' 'Bip' of the keyboard

.

~MFREE(music%) ! There's no use anymore

EDIT ! Back to the editor or desktop

RETURN

> PROCEDURE delamuz

.

INLINE music%,14363

.

' ~XBIOS(&H26,L:music%) ! Initialize the music

' SLPOKE &H4D2,music%+8 ! Play it at each VBL

.

.

' SLPOKE &H4D2,0 ! Stop playing

' ~XBIOS(&H26,L:music%+4) ! Switch off all voices and set back interrupts

.

RETURN

> PROCEDURE apreslautre

IF mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,32),16))<10 AND sat%=0 OR mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,32),16))>29 AND sat%=0

y%=ADD(y%,vty%)

IF y%>=368

y%=368

ENDIF

ENDIF

IF mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,32),16))=>10 AND sat%=0 AND mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,32),16))=<29 AND sat%=0

y%=MUL(DIV(y%,16),16)

ENDIF

'

IF st%=4 AND sat%=0

x%=SUB(x%,vtx%)

IF x%<=0

x%=0

ENDIF

ENDIF

IF st%=8 AND sat%=0

x%=ADD(x%,vtx%)

IF x%>=608

x%=608

ENDIF

ENDIF

'

'

IF zobanim%=1

xzobanim%=MUL(DIV(ADD(x%,16),32),32)

yzobanim%=ADD(MUL(DIV(y%,16),16),16)

IF xzobanim<=0

xzobanim=0

ENDIF

IF xzobanim>=608

xzobanim=608

ENDIF

IF yzobanim<=0

yzobanim=0

ENDIF

IF yzobanim>=176

yzobanim=176

ENDIF

zobanim%=2

czobanim%=0

spxzobanim%=0

spyzobanim%=64

spzobanim%=0

ENDIF

IF zobanim%=2

czobanim%=ADD(czobanim%,1)

spxzobanim%=MUL(spzobanim%,32)

IF czobanim%>=5

zobanim%=3

ENDIF

'

cc%=ADD(ADD(e%,MUL(DIV(spxzobanim%,32),16)),MUL(spyzobanim%,160))

aa%=ADD(ADD(a%,MUL(DIV(xzobanim%,32),16)),MUL(yzobanim%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

spzobanim%=ADD(spzobanim%,1)

ENDIF

IF zobanim%=3

czobanim%=ADD(czobanim%,1)

spzobanim%=SUB(spzobanim%,1)

IF spzobanim%<=0

spzobanim%=0

ENDIF

spxzobanim%=MUL(spzobanim%,32)

IF czobanim%>=10

zobanim%=0

'

cc%=ADD(ADD(e%,MUL(DIV(spxzobanim%,32),16)),MUL(spyzobanim%,160))

aa%=ADD(ADD(a%,MUL(DIV(xzobanim%,32),16)),MUL(yzobanim%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

cc%=ADD(ADD(e%,MUL(DIV(spxzobanim%,32),16)),MUL(spyzobanim%,160))

aa%=ADD(ADD(b%,MUL(DIV(xzobanim%,32),16)),MUL(yzobanim%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

ENDIF

'

'

cc%=ADD(ADD(e%,MUL(DIV(spxzobanim%,32),16)),MUL(spyzobanim%,160))

aa%=ADD(ADD(a%,MUL(DIV(xzobanim%,32),16)),MUL(yzobanim%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

IF zobanim%=4

xzobanim%=MUL(DIV(ADD(x%,16),32),32)

yzobanim%=ADD(MUL(DIV(y%,16),16),16)

IF xzobanim<=0

xzobanim=0

ENDIF

IF xzobanim>=608

xzobanim=608

ENDIF

IF yzobanim<=0

yzobanim=0

ENDIF

IF yzobanim>=176

yzobanim=176

ENDIF

zobanim%=5

czobanim%=0

spxzobanim%=0

spyzobanim%=80

spzobanim%=0

ENDIF

IF zobanim%=5

czobanim%=ADD(czobanim%,1)

spxzobanim%=MUL(spzobanim%,32)

IF czobanim%>=5

zobanim%=6

ENDIF

'

cc%=ADD(ADD(e%,MUL(DIV(spxzobanim%,32),16)),MUL(spyzobanim%,160))

aa%=ADD(ADD(a%,MUL(DIV(xzobanim%,32),16)),MUL(yzobanim%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

spzobanim%=ADD(spzobanim%,1)

ENDIF

IF zobanim%=6

czobanim%=ADD(czobanim%,1)

spzobanim%=SUB(spzobanim%,1)

IF spzobanim%<=0

spzobanim%=0

ENDIF

spxzobanim%=MUL(spzobanim%,32)

IF czobanim%>=10

zobanim%=0

'

cc%=ADD(ADD(e%,MUL(DIV(spxzobanim%,32),16)),MUL(spyzobanim%,160))

aa%=ADD(ADD(a%,MUL(DIV(xzobanim%,32),16)),MUL(yzobanim%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

'

cc%=ADD(ADD(e%,MUL(DIV(spxzobanim%,32),16)),MUL(spyzobanim%,160))

aa%=ADD(ADD(b%,MUL(DIV(xzobanim%,32),16)),MUL(yzobanim%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

'

cc%=ADD(ADD(e%,MUL(DIV(spxzobanim%,32),16)),MUL(spyzobanim%,160))

aa%=ADD(ADD(a%,MUL(DIV(xzobanim%,32),16)),MUL(yzobanim%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,144

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,304

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,9

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

IF sat%=1

x%=ADD(x%,vtx%)

y%=SUB(y%,vty%)

satc%=SUB(satc%,1)

IF satc%<=16

sat%=2

ENDIF

IF y%<=0

y%=0

ENDIF

IF x%>=608

x%=608

ENDIF

ENDIF

IF sat%=2

x%=ADD(x%,vtx%)

y%=ADD(y%,vty%)

satc%=SUB(satc%,1)

IF satc%<=0

sat%=0

lan%=32

man%=4

ENDIF

IF mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,32),16))>=10 AND mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,32),16))<=29

y%=MUL(DIV(y%,32),32)

sat%=0

spe%=c%

lan%=32

man%=4

ENDIF

IF y%>=368

y%=368

ENDIF

IF x%>=608

x%=608

ENDIF

ENDIF

IF sat%=3

x%=SUB(x%,vtx%)

y%=SUB(y%,vty%)

satc%=SUB(satc%,1)

IF satc%<=16

sat%=4

ENDIF

IF y%<=0

y%=0

ENDIF

IF x%<=0

x%=0

ENDIF

ENDIF

IF sat%=4

x%=SUB(x%,vtx%)

y%=ADD(y%,vty%)

satc%=SUB(satc%,1)

IF satc%<=0

sat%=0

lan%=32

man%=4

ENDIF

IF mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,32),16))>=10 AND mptab|(DIV(ADD(x%,16),32),DIV(ADD(y%,32),16))<=29

y%=MUL(DIV(y%,32),32)

sat%=0

spe%=d%

lan%=32

man%=4

ENDIF

IF y%>=368

y%=368

ENDIF

IF x%<=0

x%=0

ENDIF

ENDIF

IF dx%<x%

spe%=c%

IF sat%=1 OR sat%=2

spe%=ADD(c%,5120)

ENDIF

INC an%

spx%=MUL(DIV(an%,man%),32)

ENDIF

IF dx%>x%

spe%=d%

IF sat%=3 OR sat%=4

spe%=ADD(d%,5120)

ENDIF

INC an%

spx%=MUL(DIV(an%,man%),32)

ENDIF

dx%=x%

IF an%=>lan%

an%=0

spx%=0

ENDIF

IF spx%<0

spx%=0

ENDIF

'

spelenx%=MUL(DIV(elenan%,vtmanelen%),32)

INC elenan%

IF elenan%=>vtlaelen%

'

elenan%=0

spelenx%=0

'

ENDIF

'

spelenx2%=MUL(DIV(elenan2%,vtmanelen2%),32)

INC elenan2%

IF elenan2%=>vtlaelen2%

'

elenan2%=0

spelenx2%=0

'

ENDIF

RETURN

> PROCEDURE prand

cc%=ADD(ADD(a%,120),MUL(196,320))

aa%=ADD(ADD(e%,0),MUL(192,160))

DPOKE &HFF8A20,2

DPOKE &HFF8A22,288

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,128

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,17

DPOKE &HFF8A38,8

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

'

'

cc%=ADD(ADD(a%,168),MUL(196,320))

aa%=ADD(ADD(e%,32),MUL(192,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,288

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,128

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,17

DPOKE &HFF8A38,8

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

RETURN

> PROCEDURE mpini

'

s_mdb0%=V:s_mdb%(0)

s_mdb3%=V:s_mdb%(3)

s_mdb5%=V:s_mdb%(5)

'

d_mdb0%=V:d_mdb%(0)

d_mdb3%=V:d_mdb%(3)

d_mdb5%=V:d_mdb%(5)

'

sd_md0%=V:sd_md%(0)

sd_md1%=V:sd_md%(1)

sd_md2%=V:sd_md%(2)

sd_md3%=V:sd_md%(3)

sd_md4%=V:sd_md%(4)

sd_md5%=V:sd_md%(5)

sd_md6%=V:sd_md%(6)

sd_md7%=V:sd_md%(7)

sd_md8%=V:sd_md%(8)

'

RETURN

> PROCEDURE machibibulchouette

aa%=ADD(ADD(a%,120),MUL(196,320))

cc%=ADD(ADD(e%,0),MUL(192,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,128

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,288

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,17

DPOKE &HFF8A38,8

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

'

'

aa%=ADD(ADD(a%,168),MUL(196,320))

cc%=ADD(ADD(e%,32),MUL(192,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,128

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,288

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,17

DPOKE &HFF8A38,8

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

aa%=ADD(ADD(b%,120),MUL(196,320))

cc%=ADD(ADD(e%,0),MUL(192,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,128

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,288

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,17

DPOKE &HFF8A38,8

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

'

'

aa%=ADD(ADD(b%,168),MUL(196,320))

cc%=ADD(ADD(e%,32),MUL(192,160))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,128

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,288

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,17

DPOKE &HFF8A38,8

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

RETURN

> PROCEDURE carot1

'

'

'

IF kok%=0

kak%=RAND(40)

IF kak%=5

kok%=1

' klax

pom1

pm1x%=ADD(RAND(624),1)

pm1x%=MUL(DIV(pm1x%,16),16)

pm1y%=0

rpm1x%=pm1x%

rpm1y%=pm1y%

vtpm1y%=ADD(RAND(8),1)

koko%=0

koka%=0

ENDIF

ENDIF

'

IF kok%=1

pm1y%=ADD(pm1y%,vtpm1y%)

IF pm1y%>=384

pm1y%=384

koka%=1

ENDIF

'

rcx1%=x%

rcy1%=y%

rcxl1%=32

rcyl1%=32

'

rcx2%=pm1x%

rcy2%=pm1y%

rcxl2%=16

rcyl2%=16

touch%=RC_INTERSECT(rcx1%,rcy1%,rcxl1%,rcyl1%,rcx2%,rcy2%,rcxl2%,rcyl2%)

IF touch%=-1

'

bonus

koka%=1

SUB tomo%,4

SUB grrr%,320

SUB grrr2%,160

IF tomo%<=0

tomo%=0

ENDIF

'

ENDIF

ENDIF

'

IF kok%=1 AND koko%=0

' MOUSE pm1x%,pm1y%,pmbt%

'

' pm1x%=MUL(pm1x%,2)

' pm1y%=MUL(pm1y%,2)

'

'

bxx%=DIV(rpm1x%,16)

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y%,320))

aa%=ecransauv%

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,312

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,152

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

ENDIF

RETURN

> PROCEDURE carot2

IF kok%=1 AND koko%=0

bxx%=DIV(pm1x%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y%,320))

cc%=ADD(c%,136)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,1

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

bxx%=DIV(pm1x%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y%,320))

cc%=ADD(c%,128)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,7

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

RETURN

> PROCEDURE carot3

IF kok%=1 AND koko%=0

bxx%=DIV(rpm1x%,16)

' aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y%,320))

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y%,320))

cc%=ecransauv%

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

IF koka%=1

koko%=1

kok%=0

bxx%=DIV(pm1x%,16)

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(pm1y%,320))

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,312

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

'

rpm1x%=pm1x%

rpm1y%=pm1y%

ENDIF

RETURN

> PROCEDURE c1arot1

'

'

'

IF kok1%=0

kak1%=RAND(40)

IF kak1%=5

kok1%=1

' klax

pom2

pm1x1%=ADD(RAND(624),1)

pm1x1%=MUL(DIV(pm1x1%,16),16)

pm1y1%=0

rpm1x1%=pm1x1%

rpm1y1%=pm1y1%

vtpm1y1%=ADD(RAND(8),1)

koko1%=0

koka1%=0

ENDIF

ENDIF

'

IF kok1%=1

pm1y1%=ADD(pm1y1%,vtpm1y1%)

IF pm1y1%>=384

pm1y1%=384

koka1%=1

ENDIF

'

rcx1%=x%

rcy1%=y%

rcxl1%=32

rcyl1%=32

'

rcx2%=pm1x1%

rcy2%=pm1y1%

rcxl2%=16

rcyl2%=16

touch%=RC_INTERSECT(rcx1%,rcy1%,rcxl1%,rcyl1%,rcx2%,rcy2%,rcxl2%,rcyl2%)

IF touch%=-1

'

bonus

koka1%=1

SUB tomo%,4

SUB grrr%,320

SUB grrr2%,160

IF tomo%<=0

tomo%=0

ENDIF

'

ENDIF

ENDIF

'

IF kok1%=1 AND koko1%=0

'

'

bxx%=DIV(rpm1x1%,16)

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y1%,320))

aa%=ADD(ecransauv%,8)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,312

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,152

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

ENDIF

RETURN

> PROCEDURE c1arot2

IF kok1%=1 AND koko1%=0

bxx%=DIV(pm1x1%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y1%,320))

cc%=ADD(c%,2696)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,1

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

bxx%=DIV(pm1x1%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y1%,320))

cc%=ADD(c%,2688)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,7

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

RETURN

> PROCEDURE c1arot3

IF kok1%=1 AND koko1%=0

bxx%=DIV(rpm1x1%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y1%,320))

cc%=ADD(ecransauv%,8)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

IF koka1%=1

koko1%=1

kok1%=0

bxx%=DIV(pm1x1%,16)

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(pm1y1%,320))

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y1%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,312

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

'

rpm1x1%=pm1x1%

rpm1y1%=pm1y1%

ENDIF

RETURN

> PROCEDURE c2arot1

'

'

'

IF kok2%=0

kak2%=RAND(40)

IF kak2%=5

kok2%=1

' klax

pom3

pm1x2%=ADD(RAND(624),1)

pm1x2%=MUL(DIV(pm1x2%,16),16)

kochi%=MUL(RAND(10),16)

pm1y2%=0

rpm1x2%=pm1x2%

rpm1y2%=pm1y2%

vtpm1y2%=ADD(RAND(8),1)

koko2%=0

koka2%=0

ENDIF

ENDIF

'

IF kok2%=1

pm1y2%=ADD(pm1y2%,vtpm1y2%)

IF pm1y2%>=384

pm1y2%=384

koka2%=1

ENDIF

'

rcx1%=x%

rcy1%=y%

rcxl1%=32

rcyl1%=32

'

rcx2%=pm1x2%

rcy2%=pm1y2%

rcxl2%=16

rcyl2%=16

touch%=RC_INTERSECT(rcx1%,rcy1%,rcxl1%,rcyl1%,rcx2%,rcy2%,rcxl2%,rcyl2%)

IF touch%=-1

'

bonus

koka2%=1

SUB tomo%,4

SUB grrr%,320

SUB grrr2%,160

IF tomo%<=0

tomo%=0

ENDIF

'

ENDIF

ENDIF

'

IF kok2%=1 AND koko2%=0

'

'

bxx%=DIV(rpm1x2%,16)

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y2%,320))

aa%=ADD(ecransauv%,16)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,312

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,152

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

ENDIF

RETURN

> PROCEDURE c2arot2

IF kok2%=1 AND koko2%=0

bxx%=DIV(pm1x2%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y2%,320))

' cc%=ADD(c%,2696)

cc%=ADD(c%,ADD(136,MUL(kochi%,160)))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,1

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

bxx%=DIV(pm1x2%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y2%,320))

cc%=ADD(c%,2688)

cc%=ADD(c%,ADD(128,MUL(kochi%,160)))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,7

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

RETURN

> PROCEDURE c2arot3

IF kok2%=1 AND koko2%=0

bxx%=DIV(rpm1x2%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y2%,320))

cc%=ADD(ecransauv%,16)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

IF koka2%=1

koko2%=1

kok2%=0

bxx%=DIV(pm1x2%,16)

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(pm1y2%,320))

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y2%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,312

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

'

rpm1x2%=pm1x2%

rpm1y2%=pm1y2%

ENDIF

RETURN

> PROCEDURE c3arot1

'

'

'

IF kok3%=0

kak3%=RAND(40)

IF kak3%=5

kok3%=1

' klax

pom4

pm1x3%=ADD(RAND(624),1)

pm1x3%=MUL(DIV(pm1x3%,16),16)

pm1y3%=0

rpm1x3%=pm1x3%

rpm1y3%=pm1y3%

cochi2%=MUL(RAND(10),16)

vtpm1y3%=ADD(RAND(8),1)

koko3%=0

koka3%=0

ENDIF

ENDIF

'

IF kok3%=1

pm1y3%=ADD(pm1y3%,vtpm1y3%)

IF pm1y3%>=384

pm1y3%=384

koka3%=1

ENDIF

'

rcx1%=x%

rcy1%=y%

rcxl1%=32

rcyl1%=32

'

rcx2%=pm1x3%

rcy2%=pm1y3%

rcxl2%=16

rcyl2%=16

touch%=RC_INTERSECT(rcx1%,rcy1%,rcxl1%,rcyl1%,rcx2%,rcy2%,rcxl2%,rcyl2%)

IF touch%=-1

'

bonus

koka3%=1

SUB tomo%,4

SUB grrr%,320

SUB grrr2%,160

IF tomo%<=0

tomo%=0

ENDIF

'

ENDIF

ENDIF

'

IF kok3%=1 AND koko3%=0

'

'

bxx%=DIV(rpm1x3%,16)

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y3%,320))

aa%=ADD(ecransauv%,24)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,312

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,152

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

ENDIF

RETURN

> PROCEDURE c3arot2

IF kok3%=1 AND koko3%=0

bxx%=DIV(pm1x3%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y3%,320))

' cc%=ADD(c%,2696)

cc%=ADD(c%,ADD(136,MUL(cochi2%,160)))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,1

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

'

bxx%=DIV(pm1x3%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y3%,320))

' cc%=ADD(c%,2688)

cc%=ADD(c%,ADD(128,MUL(cochi2%,160)))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,7

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

RETURN

> PROCEDURE c3arot3

IF kok3%=1 AND koko3%=0

bxx%=DIV(rpm1x3%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y3%,320))

cc%=ADD(ecransauv%,24)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

IF koka3%=1

koko3%=1

kok3%=0

bxx%=DIV(pm1x3%,16)

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(pm1y3%,320))

cc%=ADD(ADD(a%,MUL(bxx%,8)),MUL(pm1y3%,320))

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,312

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

'

rpm1x3%=pm1x3%

rpm1y3%=pm1y3%

ENDIF

RETURN

> PROCEDURE confidoiedecanar

IF kok%=1 AND koko%=0

bxx%=DIV(rpm1x%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y%,320))

cc%=ecransauv%

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

bxx%=DIV(rpm1x%,16)

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(rpm1y%,320))

cc%=ecransauv%

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

IF kok1%=1 AND koko1%=0

bxx%=DIV(rpm1x1%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y1%,320))

cc%=ADD(ecransauv%,8)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

bxx%=DIV(rpm1x1%,16)

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(rpm1y1%,320))

cc%=ADD(ecransauv%,8)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

IF kok2%=1 AND koko2%=0

bxx%=DIV(rpm1x2%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y2%,320))

cc%=ADD(ecransauv%,16)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

bxx%=DIV(rpm1x2%,16)

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(rpm1y2%,320))

cc%=ADD(ecransauv%,16)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

IF kok3%=1 AND koko3%=0

bxx%=DIV(rpm1x3%,16)

aa%=ADD(ADD(a%,MUL(bxx%,8)),MUL(rpm1y3%,320))

cc%=ADD(ecransauv%,24)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

bxx%=DIV(rpm1x3%,16)

aa%=ADD(ADD(b%,MUL(bxx%,8)),MUL(rpm1y3%,320))

cc%=ADD(ecransauv%,24)

'

DPOKE &HFF8A20,2

DPOKE &HFF8A22,152

LPOKE &HFF8A24,cc%

DPOKE &HFF8A28,&HFFFF

DPOKE &HFF8A2A,&HFFFF

DPOKE &HFF8A2C,&H0

DPOKE &HFF8A2E,2

DPOKE &HFF8A30,312

LPOKE &HFF8A32,aa%

DPOKE &HFF8A36,5

DPOKE &HFF8A38,16

POKE &HFF8A3A,2

POKE &HFF8A3B,3

POKE &HFF8A3D,0

POKE &HFF8A3C,&HF0

ENDIF

RETURN

'

> PROCEDURE pom1

IF dacson%=1

@convert_ste(ADD(pom1%,38),daca%,dacb%,dacc%)

POKE &HFF8903,daca%

POKE &HFF8905,dacb%

POKE &HFF8907,dacc%

convert_ste(ADD(pom1%,7164),daca%,dacb%,dacc%)

POKE &HFF890F,daca%

POKE &HFF8911,dacb%

POKE &HFF8913,dacc%

DPOKE &HFF8900,0

DPOKE &HFF8900,1

DPOKE &HFF8920,&H80 OR 0

ENDIF

'

RETURN

> PROCEDURE pom2

IF dacson%=1

@convert_ste(ADD(pom2%,38),daca%,dacb%,dacc%)

POKE &HFF8903,daca%

POKE &HFF8905,dacb%

POKE &HFF8907,dacc%

convert_ste(ADD(pom2%,3644),daca%,dacb%,dacc%)

POKE &HFF890F,daca%

POKE &HFF8911,dacb%

POKE &HFF8913,dacc%

DPOKE &HFF8900,0

DPOKE &HFF8900,1

DPOKE &HFF8920,&H80 OR 0

ENDIF

'

RETURN

> PROCEDURE pom3

IF dacson%=1

@convert_ste(ADD(pom3%,38),daca%,dacb%,dacc%)

POKE &HFF8903,daca%

POKE &HFF8905,dacb%

POKE &HFF8907,dacc%

convert_ste(ADD(pom3%,5628),daca%,dacb%,dacc%)

POKE &HFF890F,daca%

POKE &HFF8911,dacb%

POKE &HFF8913,dacc%

DPOKE &HFF8900,0

DPOKE &HFF8900,1

DPOKE &HFF8920,&H80 OR 0

ENDIF

'

RETURN

> PROCEDURE pom4

IF dacson%=1

@convert_ste(ADD(pom4%,38),daca%,dacb%,dacc%)

POKE &HFF8903,daca%

POKE &HFF8905,dacb%

POKE &HFF8907,dacc%

convert_ste(ADD(pom4%,3308),daca%,dacb%,dacc%)

POKE &HFF890F,daca%

POKE &HFF8911,dacb%

POKE &HFF8913,dacc%

DPOKE &HFF8900,0

DPOKE &HFF8900,1

DPOKE &HFF8920,&H80 OR 0

ENDIF

'

RETURN

> PROCEDURE haileu

IF dacson%=1

@convert_ste(ADD(haileu%,38),daca%,dacb%,dacc%)

POKE &HFF8903,daca%

POKE &HFF8905,dacb%

POKE &HFF8907,dacc%

convert_ste(ADD(haileu%,11131),daca%,dacb%,dacc%)

POKE &HFF890F,daca%

POKE &HFF8911,dacb%

POKE &HFF8913,dacc%

DPOKE &HFF8900,0

DPOKE &HFF8900,1

DPOKE &HFF8920,&H80 OR 1

ENDIF

'

RETURN

'

> PROCEDURE pom11

@convert_ste(ADD(pom1%,38),daca%,dacb%,dacc%)

SPOKE &HFF8903,daca%

SPOKE &HFF8905,dacb%

SPOKE &HFF8907,dacc%

convert_ste(ADD(pom1%,7164),daca%,dacb%,dacc%)

SPOKE &HFF890F,daca%

SPOKE &HFF8911,dacb%

SPOKE &HFF8913,dacc%

SDPOKE &HFF8900,0

SDPOKE &HFF8900,1

SDPOKE &HFF8920,&H80 OR 0

'

RETURN

> PROCEDURE pom22

@convert_ste(ADD(pom2%,38),daca%,dacb%,dacc%)

SPOKE &HFF8903,daca%

SPOKE &HFF8905,dacb%

SPOKE &HFF8907,dacc%

convert_ste(ADD(pom2%,3644),daca%,dacb%,dacc%)

SPOKE &HFF890F,daca%

SPOKE &HFF8911,dacb%

SPOKE &HFF8913,dacc%

SDPOKE &HFF8900,0

SDPOKE &HFF8900,1

SDPOKE &HFF8920,&H80 OR 0

'

RETURN

> PROCEDURE pom33

@convert_ste(ADD(pom3%,38),daca%,dacb%,dacc%)

SPOKE &HFF8903,daca%

SPOKE &HFF8905,dacb%

SPOKE &HFF8907,dacc%

convert_ste(ADD(pom3%,5628),daca%,dacb%,dacc%)

SPOKE &HFF890F,daca%

SPOKE &HFF8911,dacb%

SPOKE &HFF8913,dacc%

SDPOKE &HFF8900,0

SDPOKE &HFF8900,1

SDPOKE &HFF8920,&H80 OR 0

'

RETURN

> PROCEDURE pom44

@convert_ste(ADD(pom4%,38),daca%,dacb%,dacc%)

SPOKE &HFF8903,daca%

SPOKE &HFF8905,dacb%

SPOKE &HFF8907,dacc%

convert_ste(ADD(pom4%,3308),daca%,dacb%,dacc%)

SPOKE &HFF890F,daca%

SPOKE &HFF8911,dacb%

SPOKE &HFF8913,dacc%

SDPOKE &HFF8900,0

SDPOKE &HFF8900,1

SDPOKE &HFF8920,&H80 OR 0

'

RETURN

> PROCEDURE haileuu

@convert_ste(ADD(haileu%,38),daca%,dacb%,dacc%)

SPOKE &HFF8903,daca%

SPOKE &HFF8905,dacb%

SPOKE &HFF8907,dacc%

convert_ste(ADD(haileu%,11131),daca%,dacb%,dacc%)

SPOKE &HFF890F,daca%

SPOKE &HFF8911,dacb%

SPOKE &HFF8913,dacc%

SDPOKE &HFF8900,0

SDPOKE &HFF8900,1

SDPOKE &HFF8920,&H80 OR 1

'

RETURN

'

'

'