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 0004005005000600•0
DATA X0b4QQ5b25000>:XPŸ 0
DATA D2DABBBC35060X5DDDD0
DATA 03D4]^_b>:001DD01111
DATA 0004ghi:05XQ1111171O
DATA X004qrs505DDD1111O1D
DATA D004{|}5X500101NDDDD
DATA €00><:=DDD0010NDD00
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
'
'
'