home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 98 / SGDS 98.2mg / SDGS.98 / SDC98 / C / CROSSWORD.PRG (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1989-10-13  |  3.4 KB  |  175 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 100  REM HIRES ROOT.  PGM SITS FROM $D00 TO $4000
  2. 110  PRINT "<CTRL-0x15>": IF  PEEK(176) >23  THEN :::: STOP 
  3. 120  HGR2 : CALL 2304: POKE 48688, PEEK(0): POKE 48689, PEEK(1):::::::
  4. 130 Q8 =  PEEK(184):Q9 =  PEEK(185): CALL Q8 +(Q9 -(Q8 >244)) *256 +39: REM ->8 <CTRL-0x1f><UNKNOWN TOKEN> GOSUB <CTRL-0x02> HGR2 <CTRL-0x01>` IF ^ TAB(  IF ) TAB( <CTRL-0x09>  PLOT ) TAB( `<-
  5. 140  POKE 104,13: GOTO 0<CTRL-0x0a>  THEN 2010
  6. 2000 Q8 =  PEEK(184):Q9 =  PEEK(185): CALL Q8 +(Q9 -(Q8 >244) IF 0 GET  PLOT  ^<CTRL-0x09> IF 1 GET  PLOT   AND <CTRL-0x09> SPEED= 3 DEL 
  7. 389  SPEED= 
  8. 20653  TAB(  IF R TAB(  IF W TAB(  ONERR  ASC -@ = <CTRL-0x04> IF U TAB( ` IF T TAB(  SPEED=   DEL  ASC`) PLOT  HGR2 <CTRL-0x09> J<UNKNOWN TOKEN> ONERR 
  9. 18433  ONERR  STR$) END  DEL <UNKNOWN TOKEN> IF  HGR2 <CTRL-0x09> -  HGR2 r ONERR %<CTRL-0x0a> LET  CLEAR  ><CTRL-0x09> DEL 
  10. 2511 <CTRL-0x05> ASC DEL <CTRL-0x01><CTRL-0x18> ONERR  e$e
  11. 169  PLOT  HGR <CTRL-0x09><CTRL-0x0e> HGR2 <CTRL-0x09>. HGR <CTRL-0x09><CTRL-0x0e> HGR2 <CTRL-0x09>. HGR <CTRL-0x09><CTRL-0x0e> HGR2 <CTRL-0x09>. HGR <CTRL-0x09> ONERR 0)<CTRL-0x0f>i<CTRL-0x09>m HGR <CTRL-0x09> PLOT  HGR <CTRL-0x09> VTAB 
  12. 59581 <CTRL-0x0b>H ONERR 2 -? = <CTRL-0x04>hIHh PLOT   OR <CTRL-0x09> LOMEM: <UNKNOWN TOKEN> TAB( <CTRL-0x02> = <CTRL-0x07> COLOR= 
  13. 52813 <CTRL-0x09> COLOR= 
  14. 145 <CTRL-0x18> SPEED= <CTRL-0x04>e<CTRL-0x01> DEL <CTRL-0x01> LEFT$ TAN<CTRL-0x08> =  >h DEL <CTRL-0x01>h DEL 
  15. 2559  END L<UNKNOWN TOKEN><UNKNOWN TOKEN> END 
  16. 384 
  17. 2 <CTRL-0x03> END <CTRL-0x03>(
  18. 296  STORE <CTRL-0x01>(<CTRL-0x02> STORE <CTRL-0x02>(<CTRL-0x03> STORE <CTRL-0x03>P
  19. 336  = <CTRL-0x01>P<CTRL-0x02> = <CTRL-0x02>P<CTRL-0x03> = <CTRL-0x03><CTRL-0x0c><CTRL-0x0c><CTRL-0x0c><CTRL-0x0c><CTRL-0x0c>
  20. 13878 6
  21. 16191 <CTRL-0x12>??<CTRL-0x12>
  22. 7695 <<CTRL-0x1f><CTRL-0x0c>
  23. 3096 <CTRL-0x06>33
  24. 7683 <CTRL-0x03>><CTRL-0x0c>
  25. 12 
  26. 1542 <CTRL-0x06><CTRL-0x0c><CTRL-0x18>
  27. 6168 <CTRL-0x18><CTRL-0x0c><CTRL-0x06>
  28. 16140 <CTRL-0x0c><CTRL-0x1e>
  29. 16140 ?<CTRL-0x0c><CTRL-0x0c>
  30. 12 
  31. 62 <CTRL-0x1c><CTRL-0x1c><CTRL-0x1c>
  32. 3096 <CTRL-0x06><CTRL-0x03><CTRL-0x01>
  33. 13115 73<CTRL-0x1e>
  34. 3084 <CTRL-0x0c><CTRL-0x0c><CTRL-0x1e>
  35. 7216 <CTRL-0x06><CTRL-0x03>?
  36. 7216 03<CTRL-0x1e>
  37. 6942 ?<CTRL-0x18><CTRL-0x18>
  38. 12319 03<CTRL-0x1e>
  39. 7939 33<CTRL-0x1e>
  40. 3096 <CTRL-0x0c><CTRL-0x0c><CTRL-0x0c>
  41. 7731 33<CTRL-0x1e>
  42. 15923 03<CTRL-0x1e><CTRL-0x0c><CTRL-0x0c>
  43. 7168 <CTRL-0x18><CTRL-0x0c><CTRL-0x18><CTRL-0x0c><CTRL-0x06><CTRL-0x03><CTRL-0x06><CTRL-0x0c><CTRL-0x18>
  44. 30 <CTRL-0x1e><CTRL-0x1e>
  45. 6156 0<CTRL-0x18><CTRL-0x0c><CTRL-0x06>
  46. 7216 <CTRL-0x0c>
  47. 13086 ;;<CTRL-0x03>3<CTRL-0x1e>
  48. 16179 333
  49. 7987 33<CTRL-0x1f>
  50. 771 <CTRL-0x03>3<CTRL-0x1e>
  51. 13107 33<CTRL-0x1f>
  52. 3843 <CTRL-0x03><CTRL-0x03>?
  53. 3843 <CTRL-0x03><CTRL-0x03><CTRL-0x03>
  54. 15107 33<CTRL-0x1e>
  55. 16179 333
  56. 3084 <CTRL-0x0c><CTRL-0x0c><CTRL-0x1e>
  57. 12336 03<CTRL-0x1e>
  58. 7987 333
  59. 771 <CTRL-0x03><CTRL-0x03>?
  60. 13119 333
  61. 13107 333
  62. 13107 33<CTRL-0x1e>
  63. 7987 <CTRL-0x03><CTRL-0x03><CTRL-0x03>
  64. 13107 ;<CTRL-0x1b>.
  65. 7987 333
  66. 7683 00<CTRL-0x1f>
  67. 3084 <CTRL-0x0c><CTRL-0x0c><CTRL-0x0c>
  68. 13107 33<CTRL-0x1e>
  69. 13107 3<CTRL-0x1e><CTRL-0x0c>
  70. 13107 ?3!
  71. 3102 <CTRL-0x1e>33
  72. 7731 <CTRL-0x0c><CTRL-0x0c><CTRL-0x0c>
  73. 7704 <CTRL-0x06><CTRL-0x03>?
  74. 1542 <CTRL-0x06><CTRL-0x06><CTRL-0x1e>
  75. 3078 <CTRL-0x18>00
  76. 6168 <CTRL-0x18><CTRL-0x18><CTRL-0x1e>
  77. 51 
  78. 3100 <CTRL-0x18>
  79. 13118 >
  80. 13087 33<CTRL-0x1f><CTRL-0x1e>3<CTRL-0x03>3<CTRL-0x1e>
  81. 13118 33><CTRL-0x1e>3?<CTRL-0x03>>
  82. 7942 <CTRL-0x06><CTRL-0x06><CTRL-0x06>>33>0<CTRL-0x1e><CTRL-0x03><CTRL-0x03><CTRL-0x1f>3333
  83. 3086 <CTRL-0x0c><CTRL-0x0c><CTRL-0x1e>
  84. 6172 <CTRL-0x18><CTRL-0x18><CTRL-0x18><CTRL-0x0e><CTRL-0x03><CTRL-0x03>33<CTRL-0x1f>33
  85. 3084 <CTRL-0x0c><CTRL-0x0c><CTRL-0x1e>!3?33<CTRL-0x1f>3333<CTRL-0x1e>333<CTRL-0x1e><CTRL-0x1f>33<CTRL-0x1f><CTRL-0x03><CTRL-0x03>
  86. 13107 >00
  87. 819 <CTRL-0x03><CTRL-0x03>><CTRL-0x03><CTRL-0x1e>0<CTRL-0x1f>
  88. 1567 <CTRL-0x06><CTRL-0x06><3333>333<CTRL-0x1e><CTRL-0x0c>33?3!3<CTRL-0x1e><CTRL-0x0c><CTRL-0x1e>3333>0<CTRL-0x1e>
  89. 3096 <CTRL-0x06>?
  90. 1548 <CTRL-0x0c><CTRL-0x0c><CTRL-0x18>
  91. 3084 <CTRL-0x0c><CTRL-0x0c><CTRL-0x0c>
  92. 6156 <CTRL-0x0c><CTRL-0x0c><CTRL-0x06>
  93. 16191 ???
  94. 13 
  95. 16709 L PROGRAM
  96. 5  REM ACTUAL PROGRAM START
  97. 100  REM  CROSSWORD MACHINE
  98. 110  REM    (C) SOFTDISK 1988
  99. 120  REM 
  100. 130  REM  SET HIMEM BELOW OBJECT
  101. 140  CLEAR 
  102. 150  REM 
  103. 160  HIMEM: 7168
  104. 170  REM 
  105. 180  GOSUB 370
  106. 190 N = 1
  107. 200  VTAB 15: HTAB 10: PRINT "Loading, please wait..."
  108. 210 SE$(1) = " Solve this puzzle         "
  109. 220 SE$(2) = " Save a puzzle in progress ":SE$(3) = " Load a puzzle in progress "
  110. 230 SE$(4) = " Start over from scratch   "
  111. 240 SE$(5) = " Return to Softdisk        "
  112. 250  PRINT  CHR$(4);"BLOADCROSSWORD.OBJ"
  113. 260  PRINT  CHR$(4);"BLOADCROSSWORD.PUZ"
  114. 270  PRINT  CHR$(4);"BLOADCROSSWORD.ANS"
  115. 280  CALL 29440: REM  $7300
  116. 290  GOTO 530
  117. 300  ONERR  GOTO 330
  118. 310  GOSUB 810: IF GS = 1  THEN  POKE 49247,0: REM  OFF MONOCHROME
  119. 320  PRINT : PRINT  CHR$(4)"BYE"
  120. 330  POKE 216,0
  121. 340  TEXT : HOME : VTAB 14: PRINT "SOMETHING WENT WRONG"
  122. 350  PRINT "TRY TO START 'SOFTDISK' OVER."
  123. 360  END 
  124. 370  HOME : HGR : POKE 49234,0: COLOR= 0: INVERSE : PRINT  CHR$(21) SPC( 240) SPC( 200)
  125. 380  VTAB 19: PRINT  SPC( 160)
  126. 390  NORMAL : FOR V = 2 TO 10: HTAB 2: VTAB V: PRINT  SPC( 38): NEXT 
  127. 400  VTAB 3: HTAB 12: PRINT "Softdisk presents:"
  128. 410  HTAB 12: VTAB 5: PRINT "Crossword Machine"
  129. 420  HTAB 19: VTAB 7: PRINT "by"
  130. 430  HTAB 14: VTAB 9: PRINT "John Besnard"
  131. 440  HTAB 6: VTAB 11: INVERSE : PRINT "Copyright 1989 Softdisk, Inc."
  132. 450  HTAB 6: VTAB 20: PRINT "   All rights reserved."
  133. 460  VTAB 21: PRINT "  Changing this notice is illegal.";: NORMAL 
  134. 470  RETURN 
  135. 480  REM 
  136. 490  REM   USER MENU 
  137. 500  REM   --------- 
  138. 510  REM 
  139. 520  REM 
  140. 530  GOSUB 370: FOR I = 12 TO 23: VTAB I: PRINT "                                        ";: NEXT 
  141. 540  VTAB 21: HTAB 1: INVERSE : PRINT  SPC( 120)
  142. 550  VTAB 22: HTAB 2: PRINT " Arrows move highlight-Return selects ": NORMAL 
  143. 560  FOR I = 1 TO 5: VTAB 13 +I: HTAB 7: PRINT SE$(I): NEXT 
  144. 570  POKE 32,0: POKE 33,40
  145. 580  VTAB 12: HTAB 1: PRINT "                                       "
  146. 590  VTAB 13 +N: HTAB 7: INVERSE : PRINT SE$(N): NORMAL 
  147. 600  IF  PEEK(49152) <128  THEN 600
  148. 610  VTAB 13 +N: HTAB 7: PRINT SE$(N)
  149. 620  GET KEY$: IF KEY$ =  CHR$(21)  OR KEY$ =  CHR$(10)  THEN N = N +1: IF N >5  THEN N = 1
  150. 630  IF KEY$ =  CHR$(8)  OR KEY$ =  CHR$(11)  THEN N = N -1: IF N <1  THEN N = 5
  151. 635  IF KEY$ =  CHR$(27)  THEN N = 5
  152. 640  IF KEY$ < > CHR$(13)  THEN 590
  153. 650  ONERR  GOTO 780
  154. 660  ON N GOTO 670,710,690,730,300
  155. 670  CALL 29443: REM  $7303
  156. 680  GOTO 480
  157. 690  HTAB 6: VTAB 12: PRINT "Loading user puzzle..."
  158. 700  PRINT  CHR$(4);"BLOADCROSSWORD.USR": GOTO 570
  159. 710  HTAB 6: VTAB 12: PRINT "Saving user puzzle..."
  160. 720  PRINT  CHR$(4);"BSAVECROSSWORD.USR,A$4000,L$100": GOTO 570
  161. 730  HTAB 6: VTAB 12: PRINT "Loading blank puzzle..."
  162. 740  PRINT  CHR$(4);"BLOADCROSSWORD.PUZ": GOTO 570
  163. 750  REM 
  164. 760  REM  ERROR WITH DISK STUFF
  165. 770  REM 
  166. 780  POKE 216,0
  167. 790  HTAB 2: VTAB 20: PRINT "Oops, let's try that again": GOTO 600
  168. 800  REM <CTRL-0x0a><CTRL-0x0a>ID CHECK               RETURNS PEEK(768)=50 ("2") OR =71 ("G") FOR GS
  169. 810  POKE 768,0: POKE 769,56: POKE 770,32: POKE 771,31: POKE 772,254: POKE 773,176: POKE 774,6: POKE 775,169: POKE 776,71
  170. 820  POKE 777,141: POKE 778,0: POKE 779,3: POKE 780,96: POKE 781,169: POKE 782,50: POKE 783,141: POKE 784,0: POKE 785,3: POKE 786,96
  171. 830  CALL 769
  172. 840  IF  PEEK(768) =  ASC("G")  THEN GS = 1
  173. 850  RETURN