Home » Personal collection » Commodore disks » disk32a_commodore_disk_user_3_7.d64 » pointers
pointers
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Commodore disks » disk32a_commodore_disk_user_3_7.d64 |
Filename: | pointers |
Read OK: | ✔ |
File size: | 139F bytes |
Load address: | 0801 |
Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Arnold website » magazines_cdu » magazines_cdu_cdu307_cdu307.d64 » pointers
- Personal collection » Commodore disks » disk32a_commodore_disk_user_3_7.d64 » pointers
File contents
5 IFZ%=0THENZ%=1:POKE631,32:POKE198,1:LOAD"P.CODE",8,1 10 REM *** PREFERENCES PROGRAM 20 REM *** TO DEMONSTRATE USE OF 30 REM *** POINTER CODE. 40 REM *** BY WILLIAM PHILLIPS 1988. 50 : 60 GOSUB5010 70 GOSUB5220 80 GOSUB5180 90 GOSUB5260 95 IFPEEK(49886)>0THEN90 100 X%=PEEK(49872)+256*(PEEK(49873)AND1) 110 IFX%>25ANDX%<162THEN150 120 IFX%>164ANDX%<259THEN550 130 IFX%>260ANDX%<341THENSYS49274:PRINTCHR$(147):END 140 GOTO90 150 M%=0:GOSUB5320 160 POKE684,7:POKE679,1 170 GOSUB5260:IFPEEK(710)=0THEN170 180 GOSUB5470 190 Y%=S%-4 200 ONY%GOTO210,250,290,330,390,540 210 M%=7:GOSUB5320 220 A%=PEEK(49413) 230 X%=7:Y%=19:L%=31:N%=19:GOSUB5560 240 POKE49413,A%:GOTO90 250 M%=12:GOSUB5320 260 A%=PEEK(49408) 270 X%=8:Y%=23:L%=7:N%=1:GOSUB5560 280 POKE49408,A%:GOTO90 290 M%=17:GOSUB5320 300 A%=PEEK(49396) 310 X%=9:Y%=23:L%=7:N%=5:GOSUB5560 320 POKE49396,A%:GOTO90 330 M%=22:GOSUB5320 340 POKE684,3:POKE679,1 350 GOSUB5260:IFPEEK(710)=0THEN350 360 GOSUB5470:GOSUB5520 370 DC%=S%-12:IFDC%=3THEN540 380 DV%=DC%:IFDV%=2THEN80 385 DV%=1-DV%:GOTO80 390 M%=27:GOSUB5320 400 POKE684,14:POKE679,1 410 GOSUB5260:IFPEEK(710)=0THEN410 420 GOSUB5470 430 G%=S%-13:IFG%=3THEN540 440 L%=0:IFG%=2THENL%=1 450 X%=14+G%:GOSUB5680 460 GOSUB5260 470 Y%=PEEK(49886) 480 IFY%<(X%+1)ORY%>(X%+2)THENGOTO460 490 Y%=PEEK(49885) 495 IFY%<3ORY%>2*(17-L%)THENGOTO460 500 P%=INT((Y%-3)/2)+L% 510 IFG%=0THENTL%=P% 520 IFG%=1THENPOKE49332,P% 530 IFG%=2THENPOKE53287,P% 540 GOSUB5520:GOTO70 550 M%=32:GOSUB5320 560 POKE781,6:POKE782,10:SYS58634:PRINTCHR$(158)"]"LEFT$(Y$,13):POKE53269,0 565 T%=PEEK(49408):T1%=PEEK(49396):POKE49396,0:POKE49408,0 570 F$="" 580 POKE781,6:POKE782,11:SYS58634:PRINTF$;" ";CHR$(157);:POKE204,0 590 GETA$:IFA$=CHR$(13)THEN640 600 IFA$=CHR$(20)ANDLEN(F$)>0THENPOKE204,1:PRINT" " 605 IFA$=CHR$(20)ANDLEN(F$)>0THENF$=LEFT$(F$,LEN(F$)-1):GOTO580 610 IFA$<" "ORA$>"♦"THEN590 620 IFLEN(F$)<13THENF$=F$+A$ 630 GOTO580 640 POKE204,1:IFF$=""THEN800 660 M%=35:GOSUB5320 670 R%=0:GETA$:IFA$="🭰"ORA$="T"THENR%=1:F$=CHR$(5)+CHR$(14)+CHR$(8)+F$ 680 IFA$="🭷"ORA$="D"THENR%=8:GOTO710 690 IFR%=0THEN670 700 M%=38:GOSUB5320 705 IF(PEEK(1)AND16)=16THEN705 706 GETA$:IFA$=""THEN705 710 SYS49274:SAVEF$,R%,1 720 POKE186,R%:POKE184,1:POKE185,1 740 F$="P.CODE":FORI=1TO6:POKE53230+I,ASC(MID$(F$,I,1)):NEXT 750 POKE183,6:POKE187,239:POKE188,207 760 POKE251,0:POKE252,192 770 POKE781,93:POKE782,195 780 POKE780,251 790 SYS65496:SYS65484 800 SYS49152 810 POKE49408,T%:POKE49396,T1%:GOTO540 3999 END 5000 REM *** INITIALISE 5010 POKE679,0:POKE710,0:PRINTCHR$(147)CHR$(14)CHR$(8) 5020 POKE53280,0:POKE53281,0 5030 FORI=685TO709:POKEI,1:NEXT 5040 POKE49332,1:POKE49413,19 5045 POKE49396,5:POKE49408,1 5050 POKE49872,128:POKE49874,128 5060 POKE49873,0:POKE53287,1 5070 DV%=2:TL%=6 5080 DIMC%(15),M$(40) 5090 FORI=0TO15:READC%(I):NEXT 5100 Z$="🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹" 5110 Y$=" " 5115 K%=0:FORI=0TO8 5120 READX%,Y%,L%,D%,Q%,B%,V%,T$:M$(K%)=CHR$(X%)+CHR$(Y%)+CHR$(L%)+CHR$(D%) 5130 M$(K%)=M$(K%)+CHR$(Q%)+CHR$(B%)+CHR$(V%)+T$:FORD=1TOD%:READM$(K%+D):NEXT 5140 K%=K%+1+D%:NEXT 5150 POKE781,24:POKE782,1:POKE783,48:POKE658,1:SYS58634 5155 PRINTCHR$(153)"'🭾REFERENCES' PROGRAM BY ○. 🭾HILLIPS" 5160 SYS49152:RETURN 5170 REM *** SET DEVICE 5180 POKE49884,DV%AND2 5190 POKE49337,DV%AND1 5200 RETURN 5210 REM *** PRINT TOP LINE 5220 PRINTCHR$(19)CHR$(C%(TL%))CHR$(18)CHR$(165)" 🭾REFERENCES │ ♥TORAGE │"; 5230 PRINT" ●UIT "CHR$(167)CHR$(146) 5240 RETURN 5250 REM *** CHECK FIRE 5260 IFDV%=2THEN5290 5270 F%=PEEK(56320+DV%)AND16:IFF%=16THEN5270 5280 RETURN 5290 GETA$:IFA$<>CHR$(13)THEN5290 5300 RETURN 5310 REM *** PRINT MENU 5320 X%=ASC(LEFT$(M$(M%),1)):Y%=ASC(MID$(M$(M%),2,1)) 5330 L%=ASC(MID$(M$(M%),3,1)):D%=ASC(MID$(M$(M%),4,1)) 5340 Q%=ASC(MID$(M$(M%),5,1)):B%=ASC(MID$(M$(M%),6,1)) 5350 V%=ASC(MID$(M$(M%),7,1)) 5360 POKE781,X%:POKE782,0:POKE783,48:SYS58634 5370 PRINTTAB(Y%)CHR$(B%)"┌"LEFT$(Z$,L%)"┐" 5380 IFQ%=1THENPRINTTAB(Y%)"│"CHR$(30)RIGHT$(M$(M%),L%)CHR$(B%)"│" 5390 IFQ%=1THENPRINTTAB(Y%)"├"LEFT$(Z$,L%)"┤" 5400 FORI=1TOD% 5410 PRINTTAB(Y%)"│"CHR$(V%)M$(M%+I)LEFT$(Y$,L%-LEN(M$(M%+I)))CHR$(B%)"│":NEXT 5420 PRINTTAB(Y%)"└"LEFT$(Z$,L%)"┘" 5430 POKE680,Y%+1:POKE681,Y%+L% 5440 POKE682,X%+1+2*Q%:POKE683,PEEK(682)+D%-1 5450 RETURN 5460 REM *** FLASH BAR 5470 T%=PEEK(49408):T1%=PEEK(49396):POKE49396,0:POKE49408,0:POKE49871,0 5480 FORI=0TO14:POKE679,1-PEEK(679) 5490 FORD=0TO18:NEXT 5500 NEXT:S%=PEEK(49886):POKE679,0:POKE49408,T%:POKE49396,T1%:RETURN 5510 REM *** CLEAR WINDOW SPACE 5520 PRINTCHR$(19)CHR$(17) 5530 FORI=0TO17:PRINTY$:NEXT 5540 RETURN 5550 REM *** HANDLE ACCEL & VELOC 5560 POKE684,15 5570 POKE679,1:POKE781,X%:POKE782,Y%:SYS58634 5580 A$=STR$(A%)+" ":PRINTCHR$(150)MID$(A$,2,2) 5590 GOSUB5260:IFPEEK(710)=0THEN5590 5600 GOSUB5470 5610 P%=S%-(X%+1) 5620 ONP%GOTO5630,5640,5650,5660 5630 A%=A%+1:A%=A%ANDL%:GOTO5570 5640 A%=A%-1:A%=A%ANDL%:GOTO5570 5650 A%=N%:GOTO5570 5660 GOSUB5520:RETURN 5670 REM *** PRINT COLOUR BLOCKS 5680 POKE781,X%:POKE782,0:SYS58634 5690 PRINTTAB(2)CHR$(158)"┌"LEFT$(Z$,2*(16-L%))"┐" 5700 PRINTTAB(2)"│"CHR$(18);:FORI=L%TO15:PRINTCHR$(C%(I))" ";:NEXT 5710 PRINTCHR$(146)CHR$(158)"│" 5720 PRINTTAB(2)"│"CHR$(18);:FORI=L%TO15:PRINTCHR$(C%(I))" ";:NEXT 5730 PRINTCHR$(146)CHR$(158)"│" 5740 PRINTTAB(2)"└"LEFT$(Z$,2*(16-L%))"┘":RETURN 8000 DATA144,5,28,159,156,30,31,158,129,149,150,151,152,153,154,155 8010 DATA2,1,16,6,1,154,155," 🭾REFERENCES " 8020 DATA"♠CCELERATION","╮NITIAL VELOCITY","╲AXIMUM VELOCITY","🭸ONTROL DEVICE" 8025 DATA"♠TTRIBUTES","🭶XIT" 8030 DATA6,5,15,4,1,158,153,"♠CCELERATION " 8040 DATA"♠CCELERATION +1","♠CCELERATION -1","╱ORMAL ACCEL.","🭶XIT" 8050 DATA7,5,19,4,1,158,153,"╮NITIAL ╳ELOCITY " 8060 DATA"╮NITIAL VELOCITY +1","╮NITIAL VELOCITY -1","╱ORMAL VELOCITY","🭶XIT" 8070 DATA8,5,19,4,1,158,153,"╲AXIMUM ╳ELOCITY " 8080 DATA"╲AXIMUM VELOCITY +1","╲AXIMUM VELOCITY -1","╱ORMAL MAXIMUM","🭶XIT" 8090 DATA9,5,14,4,1,158,154,"🭸ONTROL 🭷EVICE" 8100 DATA"╰OYSTICK 1","╰OYSTICK 2","╯EYBOARD","🭶XIT" 8110 DATA10,5,19,4,1,159,155," ♠TTRIBUTES " 8120 DATA"🭰OP LINE TEXT","🭰OP LINE BACKGROUND","🭾OINTER COLOUR","🭶XIT" 8130 DATA2,9,22,2,1,159,154,"♥AVE 🭾ROGRAM AND 🭸ODE ","🭾LEASE ENTER FILENAME:","" 8140 DATA6,13,19,2,0,155,154,"","🭾LEASE ENTER DEVICE","(🭰)APE OR (🭷)ISK" 8150 DATA8,15,22,2,0,154,155,"","♥TART TAPE,","THEN PRESS ANY KEY"
- �Z%�0�Z%�1:�631,32:�198,1:�"P.CODE",8,1 K � *** PREFERENCES PROGRAM k � *** TO DEMONSTRATE USE OF � � *** POINTER CODE. �( � *** BY WILLIAM PHILLIPS 1988. �2 : �<