1 REM PAGE FLIPPING EXAMPLE 2 REM BY JASON H. MOORE, PH.D. 10 REM *** INITIALIZATIONS *** 20 POKE 106,PEEK(106)-4 30 GRAPHICS 2+16 40 SETCOLOR 0,0,14:SETCOLOR 4,7,0 50 PRINT #6;"LOADING SCREEN DATA" 60 DL=1536:DLHI=6:DLLO=0 70 DIM VBI$(10) 80 POKE 203,30:REM Vertical blank counter for delay 90 POKE 204,0:REM Page counter to keep track of flips 100 REM *** SETUP SCREEN MEMORY ABOVE RAMTOP *** 110 SCRLO=0:SCRHI=PEEK(106):SCR=SCRHI*256+SCRLO 120 POKE 205,SCRHI:REM Store high byte in memory 205 130 FOR I=0 TO 239 140 POKE SCR+I,17:REM SCREEN 1 (1s) 150 POKE SCR+256+I,18:REM SCREEN 2 (2s) 160 POKE SCR+512+I,19:REM SCREEN 3 (3s) 170 POKE SCR+768+I,20:REM SCREEN 4 (4s) 180 NEXT I 200 REM *** SETUP DISPLAY LIST ON PAGE 6 OF MEMORY *** 210 REM *** WITH LMS FOR FIRST PAGE OF SCREEN DATA *** 220 POKE DL+0,112 230 POKE DL+1,112 240 POKE DL+2,112 250 POKE DL+3,7+64:POKE DL+4,SCRLO:POKE DL+5,SCRHI 260 FOR I=6 TO 16:POKE DL+I,7:NEXT I 270 POKE DL+18,65 280 POKE DL+19,DLLO:POKE DL+20,DLHI 290 POKE 560,DLLO:POKE 561,DLHI 300 REM *** READ IN ASSEMBLY CODE FOR FLIPPING *** 310 REM *** STORE IN P6 MEMORY LOCATION 1536+I *** 320 FOR I=20 TO 50:READ DAT:POKE 1536+I,DAT:NEXT I 400 REM *** READ CODE FOR VERTICAL BLANK INTERRUPT *** 410 FOR I=1 TO 10:READ DAT:VBI$(I)=CHR$(DAT):NEXT I 500 REM *** SHORT & SWEET MAIN LOOP! *** 510 VBI=USR(ADR(VBI$)) 520 GOTO 520 1000 REM *** CODE FOR PAGE FLIPPING DURING VBI *** 1010 DATA 198,203,208,24,169,30,133,203 1020 DATA 230,204,165,204,201,4,208,2,169,0,133,204 1030 DATA 165,205,24,101,204,141,5,6,76,98,228 2000 REM *** CODE FOR VERTICAL BLANK INTERRUPT *** 2010 DATA 104,169,7,162,6,160,20,76,92,228