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

  1. 0 POKE999,PEEK(186):POKE55,192:POKE56,28:CLR:IFPEEK(8191)=0THENPOKE8191,1:SYS7616:SYS7360
  2. 1 CLR:E$="PLEASE SEE DOCS![159]":POKE53280,0:POKE53281,0:PRINTCHR$(142)
  3. 2 PRINT"[153][147] RASTER DESIGNER V1.0 - BY: GULLIBLE ":GOSUB30:GOSUB50:PRINT"[159]MAIN MENU:":PRINT"E:EDIT        D:DISK MENU":PRINT"F:FILL/CLEAR  C:CHANGE STATUS":GOSUB12:GOSUB5:IFA$="V"THENSYS8100:GOTO2
  4. 3 IFA$="X"THENGOSUB26:IFA$="Y"THENSYS7649
  5. 4 D=0:ONASC(A$)-65GOSUB23,34,13,52,32:GOTO1
  6. 5 GETA$:IFA$=""THENFORX=1TO55:NEXT:PRINT"[164][157]";:FORX=1TO55:NEXT:PRINT" [157]";:GOTO5
  7. 6 PRINT"-"A$"-[159]":A=VAL(A$):RETURN
  8. 7 PRINTX$:PRINT"B:BORDER, S:SCREEN, ";:GOSUB12:GOSUB5:IFA$="V"THENSYS8100:GOTO7
  9. 8 IFA$<>"S"ANDA$<>"B"ANDA$<>"X"THEN7
  10. 9 RETURN
  11. 10 INPUT"COLOR";C$:C=VAL(C$):IFC$="D"THENGOSUB31:GOTO10
  12. 11 RETURN
  13. 12 PRINT"X:EXIT OR V:VIEW":RETURN
  14. 13 DV=PEEK(999):IFDV=0THENDV=8
  15. 14 PRINT"[159][147]DISK:":GOSUB22:PRINT"L:LOAD  S:SAVE  D:DEVICE:"DV:GOSUB12:GOSUB5:IFA$="X"THENRETURN
  16. 15 IFA$="V"THENSYS8100:GOTO13
  17. 16 IFA$="D"THENPRINT"DEVICE "DV"[157][157][157][157]";:INPUTDV:POKE999,DV:GOTO13
  18. 17 IFA$="L"THEN19
  19. 18 PRINT"[159][147]SAVE:":GOSUB20:PRINT"[144][147][159]SAVING "A$:SYS7374:SYS7360:GOTO13
  20. 19 PRINT"[159][147]LOAD:":GOSUB20:PRINT"[144][147][159]LOADING "A$:SYS7385:SYS7360:GOTO13
  21. 20 INPUT"FILENAME (1-13 CHARS.)";A$:A$="RD."+LEFT$(A$,13):Y=LEN(A$):FORX=1TO0+Y:POKEX+899,ASC(MID$(A$,X,1)):NEXT:Z=SC:IFBC>ZTHENZ=BC
  22. 21 POKE57772,Y:POKE57834,Y:POKE57845,DV:POKE57783,DV:POKE57801,Z+31:RETURN
  23. 22 PRINTE$:OPEN1,DV,15:INPUT#1,A$,A$:PRINT"[145][159]STATUS: "A$"      ":CLOSE1:RETURN:CLOSE1:RETURN
  24. 23 SAVE"RD.BASIC",PEEK(999):RETURN
  25. 24 GOSUB26:IFA$<>"Y"THENRETURN
  26. 25 GOSUB27:POKE8126,15:POKE8131,197:SYS8115:RETURN
  27. 26 LM=1:LX=200:PRINT"YOU SURE?";:GOSUB5:RETURN
  28. 27 GOSUB93:POKE8121,F-1:POKE8153,T:RETURN
  29. 28 GOSUB26:IFA$<>"Y"THENRETURN
  30. 29 GOSUB27:POKE8126,240:POKE8131,204:SYS8115:RETURN
  31. 30 BC=PEEK(7811)-32:SC=PEEK(7836)-32:BS=PEEK(7800):SS=PEEK(7825):RB=PEEK(8392):B2=PEEK(8648):RETURN
  32. 31 PRINT" [144] 0 1 2[159] 3[156] 4 5 6[158] 7[129] 8[149] 9[150] 10[151] 11[152] 12[153] 13[154] 14[155] 15":PRINT"[153] ^":PRINT" [173] BLACK = 0":RETURN
  33. 32 PRINT"[159][147]FILL/CLEAR:":GOSUB26:IFA$<>"Y"THENRETURN
  34. 33 GOSUB10:POKE7619,C+(C*16):SYS7616:RETURN
  35. 34 PRINT"[147]";:GOSUB50:PRINT"1:":PRINT"2:":PRINT"3:":PRINT"4:":PRINT"5:":GOSUB12:GOSUB5:IFA$="X"THENRETURN
  36. 35 IFA$="V"THENSYS8100:GOTO34
  37. 36 ONAGOSUB37,42,43,44,46:GOTO34
  38. 37 GOSUB10:RB=C:IFC$="M"THEN39
  39. 38 B2=C:GOTO41
  40. 39 GOSUB31:IFBC/2<>INT(BC/2)THENPRINTE$
  41. 40 INPUT"COL 1";RB:INPUT"COL 2";B2
  42. 41 FORX=8392TO52936STEP512:POKEX,RB:POKEX+256,B2:NEXT:RETURN
  43. 42 PRINT"B. SPEED":GOSUB48:BS=C:POKE7800,BS:POKE7934,BS:POKE7935,SS:RETURN
  44. 43 PRINT"S. SPEED":GOSUB48:SS=C:POKE7825,SS:POKE7935,SS:POKE7934,BS:RETURN
  45. 44 PRINT"B. BLOCKS":GOSUB48:IFC>176THENPRINTE$:GOTO44
  46. 45 BC=C:POKE7811,BC+32:RETURN
  47. 46 PRINT"S. BLOCKS":GOSUB48:IFC>176THENPRINTE$:GOTO46
  48. 47 SC=C:POKE7836,SC+32:RETURN
  49. 48 INPUT"NEW VALUE";C$:IFC$="D"THENGOSUB31:GOTO48
  50. 49 C=VAL(C$):RETURN
  51. 50 PRINT"[155]STATUS:":PRINT"   TOP/BOTTOM[146]:"RB;:IFRB<>B2ANDBC>1THENPRINT"+"B2;
  52. 51 PRINT:PRINT"   B. SPEED[146]:"BS:PRINT"   S. SPEED[146]:"SS:PRINT"   B. BLOCKS[146]:"BC:PRINT"   S. BLOCKS[146]:"SC:RETURN
  53. 52 PRINT"[159][147]EDIT:":PRINT"1:SOLID LINES   2:MIXED LINES ":PRINT"3:COLOR SCROLL ";:PRINT" 4:EDIT BLOCK":PRINT"5:COPY BLOCK    6:COPY B. TO S.":PRINT"7:COPY S. TO B.":GOSUB12:GOSUB5:IFA$="X"THENRETURN
  54. 53 IFA$="V"THENSYS8100:GOTO52
  55. 54 ONAGOSUB55,59,63,79,85,24,28:GOTO52
  56. 55 X$="[147]SOLID LINES:":GOSUB7:IFA$="X"THENRETURN
  57. 56 IFA$="B"THEN58
  58. 57 LM=8:LX=199:CC=SC:V=15:Z=16:GOSUB91:GOTO55
  59. 58 LM=1:LX=200:CC=BC:V=240:Z=1:GOSUB91:GOTO55
  60. 59 X$="[147]MIXED COLOR LINES:":GOSUB7:IFA$="X"THENRETURN
  61. 60 IFA$="B"THEN62
  62. 61 LM=8:LX=199:CC=INT(SC/2+.5):V=15:Z=16:GOSUB92:GOTO59
  63. 62 LM=1:LX=200:CC=INT(BC/2+.5):V=240:Z=1:GOSUB92:GOTO59
  64. 63 X$="[159][147]COLOR SCROLL:":GOSUB7:IFA$="X"THENRETURN
  65. 64 X$="DEFINE":Y$="COLORS":I=256:IFA$="B"THEN67
  66. 65 LM=8:LX=199:GOSUB93:GOSUB73:IFA$="X"THEN63
  67. 66 C=SC:D=15:Q=16:GOTO69
  68. 67 LM=1:LX=200:GOSUB93:GOSUB73:IFA$="X"THEN63
  69. 68 C=BC:D=240:Q=1
  70. 69 V=T-F+1:INPUT"SPEED  2[157][157][157]";S:G=1:S2=S:IFS=0THENS=1:S2=255:GOTO72
  71. 70 IFC/(V*S)<>INT(C/(V*S))ORC>128THENPRINTE$
  72. 71 PRINT"UP/DOWN?":GOSUB5:IFA$="U"THENG=2
  73. 72 FORY=1TOV:K=Y:W=(PEEK(Y+J+LM)AND15)*Q:FORX=8192TO8192+(C*I-I)STEPS*I:FORZ=XTOX+(S*I-I)STEPI:GOSUB74:POKER,U+W:ONGGOSUB75,77:NEXTZ,X:POKEY+J+LM,0:NEXT:RETURN
  74. 73 LM=F-1:LX=T-1:B=(T-F)+1:GOSUB95:RETURN
  75. 74 R=K+Z+LM-1:U=PEEK(R)ANDD:RETURN
  76. 75 K=K+1/S2:IFINT(K)>VTHENK=1
  77. 76 RETURN
  78. 77 K=K-1/S2:IFK<1THENK=V+1-1/S2
  79. 78 RETURN
  80. 79 X$="[159][147]EDIT BLOCK:":GOSUB7:IFA$="X"THENRETURN
  81. 80 X$="BLOCK:":BL=1:INPUT"BLOCK";B:IFB>176THENPRINTE$:GOTO80
  82. 81 IFA$="B"THEN83
  83. 82 GOSUB84:POKE7466,7:POKE7471,240:POKE7473,51:POKE7499,7:POKE7513,91:Y$="SCREEN":LM=7:LX=198:GOSUB95:GOTO79
  84. 83 GOSUB84:POKE7466,0:POKE7471,15:POKE7473,55:POKE7499,0:POKE7513,113:Y$="BORDER":LM=0:LX=200:GOSUB95:GOTO79
  85. 84 F=B+31:POKE7469,F:POKE7502,F:POKE7556,F:RETURN
  86. 85 X$="[159][147]COPY:":GOSUB7:IFA$="X"THENRETURN
  87. 86 INPUT"FROM BLOCK";F:INPUT"TO";T:IFT>176THENPRINTE$:GOTO86
  88. 87 IFA$="S"THEN89
  89. 88 POKE7579,15:POKE7587,240:GOTO90
  90. 89 POKE7579,240:POKE7587,15
  91. 90 POKE7577,F+31:POKE7585,T+31:POKE7594,T+31:SYS7568:GOTO85
  92. 91 GOSUB93:GOSUB10:FORX=8192TO8192+((CC-1)*256)STEP256:PRINT(X-7936)/256;:FORY=X+F-1TOX+T-1:POKEY,(PEEK(Y)ANDV)+C*Z:NEXTY,X:RETURN
  93. 92 GOSUB93:GOSUB31:INPUT"COL 1";C(1):INPUT"COL 2";C(2):FORX=8192TO8192+((CC-1)*512)STEP512:PRINT(X-7936)/256+1;:B=1:FORA=XTOX+256STEP256:FORY=A+F-1TOA+T-1:POKEY,(PEEK(Y)ANDV)+C(B)*Z:NEXTY:B=B+1:NEXTA,X:RETURN
  94. 93 INPUT"FROM LINE";F:INPUT"TO";T:IFF<LMORT>LXORF>TTHENPRINTE$:GOTO93
  95. 94 RETURN
  96. 95 SYS7424:J=55335:IFBL=1THENSYS7460
  97. 96 PRINTTAB(12)"RASTER DESIGNER":P=LM:PRINT""X$;B;Y$
  98. 97 PRINT"LINE:"P+1"[157]  ":N=J+1+P:O=PEEK(N)AND15:POKEN,O+1:FORY=1TO10:NEXT:POKEN,O:FORX=1TO35:NEXT:GETA$:IFA$=""THEN97
  99. 98 IFA$=""ANDP<LXTHENP=P+1
  100. 99 IF(A$="[157]"ORA$=CHR$(20))ANDP>LMTHENP=P-1
  101. 100 IFA$="[145]"ANDP-40>=LMTHENP=P-40
  102. 101 IFA$=""ANDP+40<=LXTHENP=P+40
  103. 102 IFA$="+"THENPOKEN,(PEEK(N)AND15)+1
  104. 103 IFA$="-"THENPOKEN,(PEEK(N)OR16)-1
  105. 104 IFA$="X"THENBL=0:RETURN
  106. 105 IFA$=" "THENPOKEN,M:IFP<LXTHENP=P+1
  107. 106 IFA$="C"THENGOSUB10:M=C:SYS7396
  108. 107 IFA$="[147]"THENFORX=J+1TOX+LX:POKEX,0:NEXT:P=LM
  109. 108 IFA$=""THENP=LM
  110. 109 IFA$=CHR$(13)ANDBL=1THENBL=0:SYS7493:RETURN
  111. 110 IFA$="S"THENGOSUB117:SYS7396
  112. 111 IFA$="B"THENPRINT"DONE!":SYS7848
  113. 112 IFA$="R"THENPRINT"OK!":SYS7860
  114. 113 IFA$=CHR$(13)THENRETURN
  115. 114 IFA$="^"THENP=LX
  116. 115 IFA$="G"THENINPUT"GOTO LINE";X:SYS7396:IFX<=LXANDX>=LMTHENP=X-1
  117. 116 GOTO97
  118. 117 INPUT"[159]SHIFT START";T:INPUT"END";F:INPUT"TO";C:GOTO122
  119. 118 IFT<CTHEN120
  120. 119 FORX=J+CTOJ+C+(F-T):POKEX,PEEK(X+T-C):NEXT:RETURN
  121. 120 FORX=J+C+(F-T)TOJ+CSTEP-1:POKEX,PEEK(X+T-C):NEXT:RETURN
  122. 121 GOSUB10:FORX=J+TTOJ+F:POKEX,C:NEXT:RETURN
  123. 122 IFT<LM+1ORF>LX+1ORT>FORC>LX+1OR(C<LM+1ANDC>0)THENPRINT"":RETURN
  124. 123 IFC=0THENGOTO121
  125. 124 GOTO118
  126.