home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 140 / SGDS 140.2mg / SDGS.140 / D / REPORT.CARD (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1992-07-06  |  7.5 KB  |  130 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 10 A$ =  CHR$(27):B$ =  CHR$(13):C$ =  CHR$(21):D$ =  CHR$(8):E$ =  CHR$(10):F$ =  CHR$(11):G$ =  CHR$(27) + CHR$(15):H$ =  CHR$(14) + CHR$(24):I$ =  CHR$(7): DIM J$(20): DIM K$(20): DIM L$(20): DIM M$(20): DIM N$(4): DIM O$(4): DIM A(4):P$(1) = "U":P$(2) = "A":P$(3) = "Q": DIM Q$(10):B = 1:C = 1: FOR D = 1 TO 30: READ E: POKE 769 +D,E: NEXT : PRINT  CHR$(21):F =  PEEK(49048): GOSUB 1250:R$ =  MID$ (S$,3,2)
  2. 20 T$ =  RIGHT$(S$,1):U$ =  MID$ (S$,7,1): IF R$ = "11"  THEN R$ = "128K"
  3. 30  IF R$ = "10"  THEN R$ = " 64K"
  4. 40  IF R$ = "01"  THEN R$ = " 48K"
  5. 50  IF T$ = "1"  THEN T$ = "Yes": GOTO 70
  6. 60 T$ = "No"
  7. 70  IF U$ = "1"  THEN U$ = "80 columns": GOTO 90
  8. 80 U$ = "40 columns"
  9. 90  GOSUB 1270: IF  PEEK(768) = 0  THEN V$ = "Apple II"
  10. 100  IF  PEEK(768) = 1  THEN V$ = "Apple II Plus"
  11. 110  IF  PEEK(768) = 2  THEN V$ = "Apple III in emulation mode"
  12. 120  IF  PEEK(768) = 3  THEN V$ = "Apple IIe"
  13. 130  IF  PEEK(768) = 4  THEN V$ = "Apple IIe (enhanced)"
  14. 140  IF  PEEK(768) = 5  THEN V$ = "Apple IIe Card in Mac LC"
  15. 150  IF  PEEK(768) = 6  THEN V$ = "Apple IIc"
  16. 160  IF  PEEK(768) = 7  THEN V$ = "Apple IIc (3.5 ROM)"
  17. 170  IF  PEEK(768) = 8  THEN V$ = "Apple IIc (Org Mem Exp)"
  18. 180  IF  PEEK(768) = 9  THEN V$ = "Apple IIc (Rev Mem Exp)"
  19. 190  IF  PEEK(768) = 10  THEN V$ = "Apple IIc Plus"
  20. 200  IF  PEEK(768) = 11  THEN V$ = "Apple IIgs"
  21. 210  HOME 
  22. 220  ONERR  GOTO 270
  23. 230  PRINT "<CTRL-0x04>OPENRC.DATA": PRINT "<CTRL-0x04>READRC.DATA": INPUT W$:G = 0
  24. 240 G = G +1: INPUT J$(G):K$(G) = "-":L$(G) = "-":M$(G) = "-": IF   NOT (J$(G) = "*Q*")  THEN 240
  25. 250 H = 0
  26. 260 H = H +1: INPUT N$(H): INPUT A(H): IF   NOT (N$(H) = "*END*")  THEN 260
  27. 270  POKE 216,0: PRINT "<CTRL-0x04>CLOSERC.DATA":I = G -1:J = H -1: IF J$(1) = ""  THEN  PRINT "<CTRL-0x04>DELETERC.DATA": HOME :X$ = 5: VTAB "The file RC.DATA is missing or corrupt.": GOSUB 930:X$ = 7: VTAB "Press a key to quit the program.": GOSUB 930: POKE 49168,0: CALL (64780): END 
  28. 280  HOME :X$ = "The Softdisk Runnable Report Card": VTAB 1: GOSUB 930: HTAB 1: VTAB 2: FOR D = 1 TO 40: PRINT "=";: NEXT : HTAB 1: VTAB 23: FOR D = 1 TO 40: PRINT "=";: NEXT : HTAB 1: VTAB 24: PRINT " v 1.0b3  Copyright 1992 Softdisk, Inc.";:X$ = "1. Personal Information": VTAB 7: GOSUB 930:X$ = "2. Rate This Issue     ": VTAB 9: GOSUB 930:X$ = "3. Answer Questions    "
  29. 290  VTAB 11: GOSUB 930:X$ = "4. Print Report Card   ": VTAB 13: GOSUB 930:X$ = "5. Quit The Program    ": VTAB 15: GOSUB 930:X$ = "Enter your choice: ": VTAB 19: GOSUB 930
  30. 300  GOSUB 1000: IF Y$ =  CHR$(1)  THEN  GOSUB 1080: GOTO 280
  31. 310  IF   NOT (Y$ >"0"  AND Y$ <"6")  THEN 300
  32. 320  ON  VAL(Y$) GOSUB 350,470,840,660: IF   NOT (Y$ = "5")  THEN 280
  33. 330  POKE 34,3: POKE 35,20: HOME : POKE 34,0: POKE 35,24:X$ = "Are you sure you want to quit? (Y/N)": VTAB 9: GOSUB 930: GOSUB 1040: IF Y$ = "N"  THEN 280
  34. 340  HOME : TEXT : PRINT "<CTRL-0x04>BYE"
  35. 350 Z$ = AA$:AB$ = AC$:AD$ = AE$:AF$ = AG$:AH$ = AI$
  36. 360  HOME :X$ = "Personal Information     ESC to exit": VTAB 1: GOSUB 930: HTAB 1: VTAB 2: FOR D = 1 TO 40: PRINT "=";: NEXT : HTAB 1: VTAB 23: FOR D = 1 TO 40: PRINT "=";: NEXT : HTAB 2: VTAB 24: PRINT "Please enter name, address and phone.";: INVERSE :X$ = "NAME, ADDRESS AND PHONE": VTAB 7: GOSUB 930: NORMAL : GOSUB 460:K = 8:L = 9:M = 25:AJ$ = Z$: GOSUB 1140: IF Y$ =  CHR$(27)  THEN 450
  37. 370 Z$ = AJ$:K = 8:L = 10:M = 25:AJ$ = AB$: GOSUB 1140: IF Y$ =  CHR$(27)  THEN 450
  38. 380 AB$ = AJ$:K = 8:L = 11:M = 25:AJ$ = AD$: GOSUB 1140: IF Y$ =  CHR$(27)  THEN 450
  39. 390 AD$ = AJ$:K = 8:L = 12:M = 25:AJ$ = AF$: GOSUB 1140: IF Y$ =  CHR$(27)  THEN 450
  40. 400 AF$ = AJ$:K = 8:L = 13:M = 25:AJ$ = AH$: GOSUB 1140: IF Y$ =  CHR$(27)  THEN 450
  41. 410 AH$ = AJ$
  42. 420  GOSUB 1120: INVERSE :X$ = "     IS THE INFORMATION CORRECT?     ": VTAB 24: GOSUB 930: NORMAL : GOSUB 1000: IF Y$ = "Y"  OR Y$ = "y"  THEN AA$ = Z$:AC$ = AB$:AE$ = AD$:AG$ = AF$:AI$ = AH$: GOTO 450
  43. 430  IF Y$ = "N"  OR Y$ = "n"  THEN 360
  44. 440  GOTO 420
  45. 450  RETURN 
  46. 460  HTAB 6: VTAB 9: PRINT ">";: HTAB 6: VTAB 10: PRINT ">";: HTAB 6: VTAB 11: PRINT ">";: HTAB 6: VTAB 12: PRINT ">";: HTAB 6: VTAB 13: PRINT ">";: HTAB 8: VTAB 9: PRINT Z$;: HTAB 8: VTAB 10: PRINT AB$;: HTAB 8: VTAB 11: PRINT AD$;: HTAB 8: VTAB 12: PRINT AF$;: HTAB 8: VTAB 13: PRINT AH$;: RETURN 
  47. 470  HOME :X$ = "Rate This Issue        ESC to exit": VTAB 1: GOSUB 930: HTAB 1: VTAB 2: FOR D = 1 TO 40: PRINT "=";: NEXT : HTAB 1: VTAB 21: FOR D = 1 TO 40: PRINT "=";: NEXT :X$ = "U=Usefulness, A=Appeal, Q=Quality": VTAB 22: GOSUB 930: HTAB 1: VTAB 23: PRINT " Arrows select program, Space switches": HTAB 1: VTAB 24: PRINT "  rating columns, A,B,C,D,F rates it.";:K = 3:L = 6
  48. 480  VTAB L -2: HTAB K +1: PRINT "Program Name": VTAB L -1: HTAB K: PRINT "------------------------------------"
  49. 490  VTAB L -2: HTAB 33: FOR D = 1 TO 3: IF C = D  THEN  INVERSE 
  50. 500  PRINT P$(D);: NORMAL : PRINT " ";: NEXT : VTAB L: FOR D = 1 TO I: HTAB K: IF D = B  THEN  INVERSE 
  51. 510  PRINT " ";J$(D);:E =  LEN(J$(D)): IF E <26  THEN  PRINT  SPC( 26 -E);
  52. 520  NORMAL : PRINT  SPC( 3);: IF C = 1  THEN  INVERSE 
  53. 530  PRINT K$(D);: NORMAL : PRINT " ";: IF C = 2  THEN  INVERSE 
  54. 540  PRINT L$(D);: NORMAL : PRINT " ";: IF C = 3  THEN  INVERSE 
  55. 550  PRINT M$(D): NORMAL : NEXT : WAIT  -16384,128: GET Y$: GOSUB 1020: ON   NOT (Y$ = F$  OR Y$ = D$) GOTO 570: IF B = 1  THEN B = I: GOTO 570
  56. 560 B = B -1
  57. 570  ON   NOT (Y$ = E$  OR Y$ = C$) GOTO 590: IF B = I  THEN B = 1: GOTO 590
  58. 580 B = B +1
  59. 590  IF Y$ = " "  THEN C = C +1: IF C = 4  THEN C = 1
  60. 600  ON   NOT ((Y$ >"@"  AND Y$ <"G"  AND Y$ < >"E")  OR Y$ = "-") GOTO 640: IF C = 1  THEN K$(B) = Y$
  61. 610  IF C = 2  THEN L$(B) = Y$
  62. 620  IF C = 3  THEN M$(B) = Y$
  63. 630 C = C +1: IF C = 4  THEN C = 1
  64. 640  IF   NOT ((Y$ = B$)  OR (Y$ = A$))  THEN 490
  65. 650  RETURN 
  66. 660  HOME :X$ = "Print Report Card     ESC to exit": VTAB 1: GOSUB 930: HTAB 1: VTAB 2: FOR D = 1 TO 40: PRINT "=";: NEXT : HTAB 1: VTAB 23: FOR D = 1 TO 40: PRINT "=";: NEXT : HTAB 1: VTAB 24: PRINT "                                       ";: GOSUB 790: ON   NOT (N) GOTO 780: PRINT "<CTRL-0x04>PR#"N: PRINT : PRINT "Mail To: Softdisk": PRINT "         PO Box 30008"
  67. 670  PRINT "         Shreveport, LA 71130-0008": PRINT : PRINT "From: ": IF AA$ < >""  THEN  PRINT "      "AA$
  68. 680  IF AC$ < >""  THEN  PRINT "      "AC$
  69. 690  IF AE$ < >""  THEN  PRINT "      "AE$
  70. 700  IF AG$ < >""  THEN  PRINT "      "AG$
  71. 710  IF AI$ < >""  THEN  PRINT "      "AI$
  72. 720  PRINT : PRINT "Report Card for Softdisk #";W$: PRINT "========================================================": PRINT : PRINT "  Program Name           Usefulness  Appeal  Quality": PRINT "--------------------------------------------------------": FOR D = 1 TO I: PRINT J$(D);:E =  LEN(J$(D))
  73. 730  ON   NOT (E <29) GOTO 740: PRINT  SPC( 29 -E);
  74. 740  PRINT K$(D); SPC( 9);: PRINT L$(D); SPC( 9);: PRINT M$(D): NEXT : PRINT : PRINT "--------------------------------------------------------": PRINT : FOR D = 1 TO J: PRINT N$(D): PRINT O$(D): PRINT : NEXT : PRINT "--------------------------------------------------------": PRINT : PRINT "Automatic Hardware Detection Results": PRINT : PRINT "Computer System: ";V$
  75. 750  PRINT "P8 Memory: ";R$;"    ";U$;"    Clock: ";T$: PRINT : PRINT "========================================================": PRINT "Additional comments, complaints, praise...": IF N = 3  THEN  GOSUB 1000: GOTO 770
  76. 760  PRINT  CHR$(12)
  77. 770  PRINT "<CTRL-0x04>PR#"0: PRINT  CHR$(21)
  78. 780  RETURN 
  79. 790 AK$(1) = "Enter the slot your printer is in. This":AK$(2) = "is usually Slot 1. Entering a slot that":AK$(3) = "is hooked to a disk drive will probably":AK$(4) = "cause your computer to reboot.         ":AK$(5) = "":K = 1:L = 6: GOSUB 940
  80. 800 X$ = "Printer Slot:": VTAB 12: GOSUB 930: GOSUB 1000: IF Y$ = A$  THEN N = 0: RETURN 
  81. 810  IF   NOT (Y$ >"0"  AND Y$ <"8")  THEN 800
  82. 820 N =  VAL(Y$): IF N = 3  AND U$ = "40 columns"  THEN  GOSUB 1130: GOTO 790
  83. 830  RETURN 
  84. 840  FOR D = 1 TO J:Q$(D) = O$(D): NEXT 
  85. 850  HOME :X$ = "Answer Questions         ESC to exit": VTAB 1: GOSUB 930: HTAB 1: VTAB 2: FOR D = 1 TO 40: PRINT "=";: NEXT : HTAB 1: VTAB 23: FOR D = 1 TO 40: PRINT "=";: NEXT : HTAB 4: VTAB 24: PRINT "Please answer the questions above.";: GOSUB 910:L = 4: FOR D = 1 TO J: VTAB L:X$ = N$(D): GOSUB 930:K = 2:L = L +2:M = 38:AJ$ = Q$(D): GOSUB 1140: IF Y$ =  CHR$(27)  THEN 900
  86. 860 Q$(D) = AJ$:L = L +4: NEXT 
  87. 870  GOSUB 1120: INVERSE :X$ = "  ARE THE ABOVE ANSWERS CORRECT?  ": VTAB 24: GOSUB 930: GOSUB 1000: NORMAL : IF Y$ = "Y"  OR Y$ = "y"  THEN  FOR D = 1 TO J:O$(D) = Q$(D): NEXT : GOTO 900
  88. 880  IF Y$ = "N"  OR Y$ = "n"  THEN 850
  89. 890  GOTO 870
  90. 900  RETURN 
  91. 910 L = 4: VTAB L: FOR D = 1 TO J:X$ = N$(D): GOSUB 930: PRINT : PRINT : HTAB 2: PRINT Q$(D): PRINT : IF D <J  THEN X$ = "---------------": GOSUB 930: PRINT 
  92. 920  PRINT : NEXT : RETURN 
  93. 930  HTAB ((40 - LEN(X$))/2) +1: PRINT X$;: RETURN 
  94. 940  HTAB K: VTAB L: FOR D = 1 TO 10: IF  LEN(AK$(D))  THEN  PRINT AK$(D): GOTO 960
  95. 950 D = 10
  96. 960  NEXT : RETURN 
  97. 970  HTAB K: VTAB L: FOR D = 1 TO 10: IF  LEN(AK$(D))  THEN  PRINT AK$(D): GOTO 990
  98. 980 D = 10
  99. 990  NEXT : RETURN 
  100. 1000  GET X$:O = ( ASC(X$) -( ASC(X$) >96  AND  ASC(X$) <123) *32): IF (O > = 0  AND O <128)  THEN X$ =  CHR$(O)
  101. 1010 Y$ = X$: RETURN 
  102. 1020 P = ( ASC(Y$) -( ASC(Y$) >96  AND  ASC(Y$) <123) *32): IF (P > = 0  AND P <128)  THEN Y$ =  CHR$(P)
  103. 1030  RETURN 
  104. 1040 Q = 0
  105. 1050  GOSUB 1000: IF X$ = "Y"  OR X$ = "N"  THEN Q = 1
  106. 1060  IF   NOT (Q)  THEN 1050
  107. 1070 Y$ = X$: RETURN 
  108. 1080  HOME : FOR D = 1 TO 40: PRINT "=";: NEXT : HTAB 11: VTAB 2: PRINT "ABOUT THIS PROGRAM";: PRINT : FOR D = 1 TO 40: PRINT "=";: NEXT :AK$(1) = "Written by Jay Jennings using MD-BASIC.":AK$(2) = " ":AK$(3) = "I kind of miss the circus. Well, I miss":AK$(4) = "performing in general. Maybe I need to "
  109. 1090 AK$(5) = "unpack my tuxedo and top hat and do a  ":AK$(6) = "magic show every once in a while. Hmm..":AK$(7) = "Or maybe I'm just feeling hungry...    ":AK$(8) = "":K = 1:L = 6: GOSUB 940: HTAB 8: VTAB 22: PRINT "PRESS ANY KEY TO CONTINUE": POKE 49233,0
  110. 1100 E = R: IF   NOT (( PEEK(49152) >127))  THEN 1100
  111. 1110  POKE 49168,0: RETURN 
  112. 1120 E = 40:D = 200: POKE 768,E: POKE 769,D: FOR D = 1 TO 15: CALL 770: NEXT : RETURN 
  113. 1130 E = 200:D = 40: POKE 768,E: POKE 769,D: FOR D = 1 TO 100: CALL 770: NEXT : RETURN : DATA 173,0,3,174,1,3,8,120,72,160,16,58,208,5,173,48: DATA 192,104,72,136,208,245,160,16,202,208,240,104,40,96
  114. 1140  VTAB L: HTAB K: PRINT AJ$;
  115. 1150  PRINT " " CHR$(8);: IF  PEEK(49152) <128  THEN  PRINT "_" CHR$(8);: GOTO 1150
  116. 1160  GET Y$: IF Y$ =  CHR$(24)  THEN  IF  LEN(AJ$)  THEN  HTAB K: PRINT  SPC(  LEN(AJ$) +1):AJ$ = "": GOTO 1140
  117. 1170  IF Y$ =  CHR$(127)  THEN Y$ =  CHR$(8)
  118. 1180  IF Y$ =  CHR$(27)  THEN  HTAB K: PRINT  SPC(  LEN(AJ$) +1): HTAB K: PRINT :AJ$ = "": GOTO 1240
  119. 1190  IF Y$ =  CHR$(8)  THEN  IF  LEN(AJ$) = 1  THEN AJ$ = "": PRINT " " CHR$(8) CHR$(8);: GOTO 1150
  120. 1200  IF Y$ =  CHR$(8)  THEN  IF  LEN(AJ$)  THEN AJ$ =  LEFT$(AJ$, LEN(AJ$) -1): PRINT " " CHR$(8) CHR$(8);: GOTO 1150
  121. 1210  IF Y$ =  CHR$(13)  THEN  PRINT : GOTO 1240
  122. 1220  IF Y$ > = " "  THEN  IF  LEN(AJ$) <M  THEN AJ$ = AJ$ +Y$: PRINT Y$;: GOTO 1150
  123. 1230  PRINT  CHR$(7);: GOTO 1150
  124. 1240  RETURN 
  125. 1250 S$ = "": FOR S = 7 TO 0  STEP  -1:S$ = S$ + STR$(F > = 2 ^S): IF F > = 2 ^S  THEN F = F -2 ^S
  126. 1260  NEXT S: RETURN 
  127. 1270  FOR D = 769 TO 769 +200: READ E: POKE D,E: NEXT : CALL 769: RETURN : DATA 173,179,251,201,56,240,102,201,234,208,14,173,30,251,201,173: DATA 240,97,201,138,240,101,76,183,3,173,179,251,201,6,240,3: DATA 76,183,3,56,32,31,254,176,6,169,11,141,0,3,96,173
  128. 1280  DATA 192,251,174,221,251,172,191,251,201,234,240,43,201,224,240,23: DATA 192,255,240,61,192,0,240,63,192,3,240,65,192,4,240,67: DATA 192,5,240,69,76,183,3,224,2,240,6,169,4,141,0,3: DATA 96,169,5,141,0,3,96,169,3,141,0,3,96,169,0,141
  129. 1290  DATA 0,3,96,169,1,141,0,3,76,160,3,169,2,141,0,3: DATA 96,169,6,141,0,3,96,169,7,141,0,3,96,169,8,141: DATA 0,3,96,169,9,141,0,3,96,169,10,141,0,3,96,173: DATA 48,190,141,200,3,173,49,190,141,201,3,169,189,141,48,190
  130. 1300  DATA 169,3,141,49,190,96,169,255,141,0,3,96,201,225,144,6: DATA 201,251,176,2,41,223,76,255,255