home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Geos / GEOS128 / GeosD81 / CS68.D81 / geopointer (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  4.2 KB  |  109 lines

  1. 0 REM GEOPOINTER BY CHUCK JORDAN
  2. 5 :
  3. 10 N$=CHR$(0):R$=CHR$(13)
  4. 15 B$="                                       ":DN$=""
  5. 20 POKE53281,0:POKE53280,0:PRINT"[147]";:POKE53248+21,0:POKE650,128
  6. 25 READA:FORI=1TOA:FORX=0TO62:READY:NEXTX,I:FORI=0TO70:READA:POKE49252+I,A:NEXT
  7. 30 PREF$="P"+CHR$(114)+CHR$(101)+CHR$(102)+CHR$(101)+CHR$(114)+CHR$(101)
  8. 35 PREF$=PREF$+CHR$(110)+CHR$(99)+CHR$(101)+CHR$(115)+",U"
  9. 40 PRINT"      [213][196][201][213][196][201][213][196][201][213][196][201][213][196][201][201][176][196][201][219][192][213][196][201][176][196][201]
  10. 45 [153]"      CHR$ (null)-TAN CHR$ LEFT$(null) LEFT$CHR$ LEFT$(null)(null) LEFT$(null) -TAN (null)  CLOSE
  11. 50 PRINT"      [202][198][179][202][198][203][202][198][203][171][198][203][202][198][203][202][202] [203][202][198][202][198][203][202]
  12. 55 [153]"      MID$ASC(null)TANFORTANSYSTANTANTANCLRTANMID$ TANFORTANSYSTANTANTANCLRTANTANFORTANSYSTANTANTANCLRTANTANFORTANSYSTANTAN"
  13. 60 [153]:[153]"CONT  INSERT A DISK TO OPEN & PRESS RETURN"
  14. 65 [151]198,0:[146]198,1:[161]F1$:[139]F1$[179][177]R$[167]65
  15. 70 [153]"ON"B$R$"ON       READING PREFERENCES FILE"
  16. 75 [159]15,8,15,"I0":[141]380:[159]2,8,2,PREF$:[141]380
  17. 80 [129]I[178]0[164]69:[161]#2,X$:[151]828[170]I,[198](X$[170]N$):[130]I
  18. 85 [160]2:[160]15
  19. 90 [129]I[178]0[164]62:A[178][194](834[170]I):[151]192[172]64[170]I,A:[151]193[172]64[170]I,A:[130]
  20. 95 [153]"ON"B$:[153][163]11)"ORTANTANTANTANTANTANTAN=TANTANTANTANTANTANTAN^
  21. 100 PRINTTAB(11)"[221]CURRENT[221]DEFAULT[221]
  22. 105 [153][163]11)"-TANTANTANTANTANTANTAN(null)TANTANTANTANTANTANTAN<
  23. 110 PRINTTAB(11)"[221]       [221]       [221]
  24. 115 [153][163]11)"(null)       (null)       (null)
  25. 120 PRINTTAB(11)"[173][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][189]
  26. 125 [153]"     F1 WAIT TO SAVE CURRENT SHAPE"
  27. 130 [153]"     F3 WAIT TO RESTORE DEFAULT SHAPE"
  28. 135 [153]"     F5 WAIT TO ENTER POINTER EDITOR"
  29. 140 [153]"     F6 WAIT TO READ DATA STATEMENTS
  30. 145 PRINT"     F7 [146] TO EXIT"
  31. 150 PRINT"     F8 [146] TO CHANGE DISKS"
  32. 155 V=53248:POKEV+21,3:POKEV+16,0:POKEV+23,0:POKEV+29,0:POKEV+39,1:POKEV+40,2
  33. 160 POKEV,145:POKEV+1,120:POKEV+2,210:POKEV+3,120:POKE2040,192:POKE2041,193
  34. 165 POKE198,0:WAIT198,1:GETF1$
  35. 170 IFF1$="[133]"THEN215
  36. 175 IFF1$="[134]"THEN250
  37. 180 IFF1$="[139]"THEN255
  38. 185 IFF1$="[135]"THEN405
  39. 190 IFF1$="[136]"THEN265
  40. 195 IFF1$="[140]"THENRUN
  41. 200 PRINTLEFT$(DN$,23)"[154]          EXIT PROGRAM? (Y/N)":POKE198,0:WAIT198,1
  42. 205 GETF1$:IFF1$="N"THENPRINTLEFT$(DN$,23)B$:GOTO165
  43. 210 GOTO265
  44. 215 OPEN15,8,15,"UJ":FORI=1TO1000:NEXT:CLOSE15:OPEN2,8,2,"@0:"+PREF$+",W"
  45. 220 FORI=0TO62:POKE834+I,PEEK((192*64)+I):NEXT
  46. 225 FORI=0TO69:A=PEEK(828+I):PRINT#2,CHR$(A);:NEXTI:CLOSE2
  47. 230 GOSUB390:PRINTLEFT$(DN$,19)"[154]  NEW POINTER SAVED. PLEASE VALIDATE"
  48. 235 PRINT"  THIS DISK AS SOON AS YOU ENTER GEOS."
  49. 240 PRINT"       PRESS RETURN TO ENTER GEOS"
  50. 245 POKE198,0:WAIT198,1:SYS49152
  51. 250 FORI=0TO62:POKE192*64+I,PEEK(193*64+I):NEXTI:GOSUB390:GOTO165
  52. 255 IFND=0THENRESTORE:READND
  53. 260 FORI=0TO62:READA:POKE192*64+I,A:NEXT:ND=ND-1:GOSUB390:GOTO165
  54. 265 OPEN15,8,15,"I0":OPEN2,8,2,"0:GEOS":CLOSE2:INPUT#15,D:CLOSE15
  55. 270 IFD=0THENSYS49152
  56. 275 PRINTLEFT$(DN$,20)"[154]  PLEASE INSERT A GEOS BOOT DISK AND"
  57. 280 PRINT"            PRESS ANY KEY...":POKE198,0:WAIT198,1:GOTO265
  58. 285 :
  59. 290 REM SPRITE DATA
  60. 295 DATA 3:REM NUMBER OF SPRITE DEFINITIONS AVAILABLE
  61. 300 REM HAND DATA
  62. 305 DATA 192,0,0,224,0,0,113,192,0,59,128,0,127,128,0,127,128,0,255,128,0
  63. 310 DATA 255,64,0,126,224,0,61,192,0,3,128,0,1,0,0,0,0,0,0,0
  64. 315 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  65. 320 REM MUSICAL NOTE DATA
  66. 325 DATA 240,0,0,124,0,0,39,0,0,17,128,0,8,64,0,4,64,0,2,64,0
  67. 330 DATA 15,0,0,27,128,0,23,128,0,31,128,0,15,0,0,0,0,0,0,0
  68. 335 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  69. 340 REM ATARI ST POINTER DATA
  70. 345 DATA 128,0,0,192,0,0,224,0,0,240,0,0,248,0,0,252,0,0,254,0,0
  71. 350 DATA 255,0,0,251,128,0,216,0,0,140,0,0,12,0,0,6,0,0,6,0
  72. 355 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  73. 360 DATA 32,155,183,134,250,32,155,183,134,251,160,0,132,252,177,250,133
  74. 365 DATA 253,162,0,24,38,253,144,8,169,113,32,210,255,24,144,5,169,32,32
  75. 370 DATA 210,255,232,224,8,208,233,200,192,63,240,21,166,252,232,134,252
  76. 375 DATA 224,3,208,213,169,13,32,210,255,162,0,134,252,24,144,201,96,0
  77. 380 INPUT#15,D,D$,T$,S$:IFD=0THENRETURN
  78. 385 PRINT"[158] DISK ERROR [146]"D"[157],"D$","T$","S$:CLR:END
  79. 390 POKE54296,15:POKE54277,0:POKE54278,247
  80. 395 POKE54276,17:POKE54273,40:POKE54272,0
  81. 400 FORI=1TO100:NEXT:POKE54276,16:RETURN
  82. 405 REM POINTER EDITOR
  83. 410 FORI=0TO62:POKE896+I,0:NEXT:FORI=0TO21STEP3:POKE896+I,129:NEXTI
  84. 415 POKE896,255:POKE896+21,255:POKEV+21,3:POKE2041,14
  85. 420 PRINT"[147][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]":FORI=1TO21:PRINTSPC(24)"[221]":NEXT
  86. 425 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]":PRINT"    PRESS  F7 [146] TO EXIT"
  87. 430 POKEV,0:POKEV+1,70:POKEV+16,1:X=0:Y=1:PRINT"";:SYS49252,0,3*16
  88. 435 POKEV+2,24+(X*8):POKEV+3,50+(Y*8):POKE198,0:WAIT198,1:GETF1$
  89. 440 IFF1$="[136]"THEN510
  90. 445 IFF1$="3"ORF1$="1"THEN485
  91. 450 IFF1$=""THENX=0:Y=1:GOTO435
  92. 455 IFF1$="[147]"THENFORI=0TO62:POKE12288+I,0:NEXT:X=0:Y=1:GOTO430
  93. 460 IFF1$=""THENY=Y+1:IFY>21THENY=21
  94. 465 IFF1$="[145]"THENY=Y-1:IFY<1THENY=1
  95. 470 IFF1$=""THENX=X+1:IFX>23THENX=0:F1$="":GOTO460
  96. 475 IFF1$="[157]"THENX=X-1:IFX<0THENX=23:F1$="[145]":GOTO465
  97. 480 GOTO435
  98. 485 BT=X-(INT(X/8)*8):BT=7-BT:BY=(Y-1)*3+INT(X/8):BY=12288+BY
  99. 490 PRINTLEFT$(DN$,Y+1)TAB(X);:IFF1$="1"THEN505
  100. 495 IFF1$="1"THEN POKEBY,PEEK(BY)AND(255-2^BT):F1$="":GOTO470
  101. 500 POKEBY,PEEK(BY)OR(2^BT):PRINT"[209]";:F1$="":GOTO470
  102. 505 POKEBY,PEEK(BY)AND(255-2^BT):PRINT" ";:F1$="":GOTO470
  103. 510 POKE2040,193:POKEV+16,0
  104. 515 PRINT"[147]      [213][196][201][213][196][201][213][196][201][213][196][201][213][196][201][201][176][196][201][219][192][213][196][201][176][196][201]
  105. 520 [153]"      CHR$ (null)-TAN CHR$ LEFT$(null) LEFT$CHR$ LEFT$(null)(null) LEFT$(null) -TAN (null)  CLOSE
  106. 525 PRINT"      [202][198][179][202][198][203][202][198][203][171][198][203][202][198][203][202][202] [203][202][198][202][198][203][202]
  107. 530 [153]"      MID$ASC(null)TANFORTANSYSTANTANTANCLRTANMID$ TANFORTANSYSTANTANTANCLRTANTANFORTANSYSTANTANTANCLRTANTANFORTANSYSTANTAN"
  108. 535 [153]"":[137]95
  109.