MILC logo

IndexVorigeVolgendeLeeg

De interrupt in Basic (2)
Genic Clubguide, 00-00-00


                    DE INTERRUPT IN BASIC, DEEL 2

Inmiddels is bij iedereen de bekende VDP(24) welbekend. Voor
de genen onder ons die hier  echter  niks  vanaf  weten:  In
VDP(24) staat het  nummer  van  de  beeldlijn  die  bovenaan
staat, maak je dit nummer dus steeds groter (van 0  tot  192
bijboorbeeld) ontstaat er dus een vertikale scroll.

Dit  biedt  leuke  mogelijkheden,  het  creeren  van   wipes
bijvoorbeeld, voor de mensen die videographics kennnen.  Het
is dan mogelijk om eerst een beeld het scherm  in  te  laten
komen en het vervolgens weer weg laat  scrollen  terwijl  er
een ander beeld het scherm opkomt scrollen. Je krijgt zo een
mooi vloeiende beeld overgang.

Voor deze toepassing is echter de interrupt nodig,  er  moet
namelijk steeds een regel gecopieerd worden van de ene  naar
de andere pagina in screen 8. Ook  moet  het  gebied  tussen
pagina 0 en pagina 1 vrij  zijn  van  vuiligheden.  Hiervoor
moet  het  sprite-,  en  het  sprite-video  geheugen  gewist
worden. Hieronder volgt de routine:

10 ON INTERVAL=1 GOSUB 110
20 DEFINT A-Z : SCREEN 8
30 VDP(9)=VDP(9) OR 2 : COPY(0,0)-(255,44),0TO(0,212),0
40 SETPAGE0,1:BLOAD"PICTURE1.PIC",S
50 S=2 : GOSUB 90
60 SETPAGE1,0:BLOAD"PICTURE2.PIC",S
70 SETPAGE0,1:GOSUB 90
80 END
90 S2=SAND255:Y=S2:INTERVAL ON
95 GOTO 95
100 S=-S : RETURN
110 VDP(24)=Y:COPY(0,Y-1)-STEP(255,S),1TO(0,Y-1),0
120 Y=Y+SAND255:IF Y=S2 THEN INTERVAL OFF :RETURN 100
130 RETURN

Het lijkt vrij ingewikkeld, maar dat valt best mee.  Aan  de
hand van het  vorige  artikel  over  de  interrupt  is  deze
listing makkelijk te analyseren.

In regel 10 het klaarzetten van de interrupt,  50  keer  per
seconde gaat deze naar regel 110.  In  regel  30  wordt  het
sprite en sprite-video geheugen gewist In regel 40 wordt het
eerste  plaatje  ingeladen  op  pagina  1  van   scherm   8,
vervolgens komt het plaatje het scherm opgescrollt. Dit gaat
als volgt:

Interrupt wordt ingeschakeld, 50 keer per  seconde  schakelt
de interrupt over van regel  95,  waar  niks  gebeurt,  naar
regel 110, waar steeds een verdere regel van pagina 1  wordt
gecopieerd naar  het  niet  zichtbare  deel  van  pagina  0.
Vervolgens wordt alles doorgeschoven met behulp van  VDP(24)
, dan wordt nog gekeken of het hele plaatje al op het scherm
staat, zo ja dan gaat het programma door met plaatje  nummer
2.

Toch blijft het een vreemd gezicht die regel  95,  maar  dat
betekent gewoon dat het programma wacht terwijl de interrupt
zijn werk doet. Experimenteer er maar eens mee, de S kan  de
waarden 1,2,4,8 of -1,-2,-4,-8 bevatten. Met dank  aan  Alex
Wulms  die  zijn  routine  speciaal  voor  deze  gelegenheid
beschikbaar wilde stellen. Op Clubguide Picturedisk 1 kunt U
deze methode in de praktijk zien toegepast worden.

Mocht U nog scrollroutines hebben in BASIC of in Machinetaal
, stuur deze met uitleg naar ons  toe,  wij  kunnen  er  dan
misschien een volgende aflevering aan wijden.

Ronald Egas
De Blauwe Wereld 53
1398 EP Muiden
tel. 02942-3813 ( alleen s'avonds en in weekends )

    

Index

Vorige

Volgende