home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
C64Educational
/
1LETTER-ORDER
(
.txt
)
next >
Wrap
Commodore BASIC
|
2019-04-13
|
8KB
|
285 lines
1 GOTO910
2 REM ** ML STOP KEY DISABLE **
3 PRINT"x[169]=[141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X`
4 [153]"xhhh+hNOThhhhhhhPRINT#HRUNHX`111"
5 [153]"hhhhhhh`1"
6 [143] ** 4 - POP ML SUBROUTINE **
10 [143] **GENERAL INPUT ROUTINE **
15 :
30 :
35 [143] +++ INPUT SECTION +++
40 UR$[178]"":UI$[178]"":[151]UO,0
42 [139]UL[178]0[167]UL[178]80
45 [151]UC,0
50 [161]UI$:[139]UI$[178]""[167]50
55 [139]UI$[178][199](13)[175][195](UR$)[177][178]1[167][151]UC,1:[153]" ";:[137]85:[143] RETURN
60 [139]UI$[178][199](20)[167]105:[143] DELETE
62 [139] [195](UR$)[178][177]UL[167]50
65 [141]120:[143] CHECK FOR VALID CHARACTER
70 UR$[178]UR$[170]UI$
75 [153]UI$;
80 [137]50
85 [143] +++ CHECK FOR HELP REQUEST +++
90 [139]UR$[178]UX$[167]195:[143] EXIT TO HELP ROUTINE
95 [139]UF[178]1[167][141]240
100 UF[178]0:[153]:[142]
102 [143] ++ CHECK DELETE ++
105 [139][195](UR$)[179]1[167]50
110 UR$[178][200](UR$,[195](UR$)[171]1)
115 [153]"CMD CMDCMD";:[137]50
120 [143] ++ CHECK FOR VALID CHARACTERS ++
125 [139][195](US$)[178]0[167]150
130 [129]US[178]1[164][195](US$)
135 [139]UI$[178][202](US$,US,1)[167][142]
140 [130]
145 UI$[178]"":[142]
150 [143] ** STANDARD INPUT **
152 [139][198](UI$)[178]46[167]190:[143] PERIOD
153 [139]UI$[178][199](42)[167] 187
155 [139]UI$[178][199](32)[167]190:[143] SPACE
160 [139][198](UI$)[179]48[176][198](UI$)[177]57[167]170
165 [142]:[143] NUMBERS
170 [139][198](UI$)[179]65[176][198](UI$)[177]90[167]180
175 [142]:[143] ALPHABET
180 [139][198](UI$)[179]193[176][198](UI$)[177]218[167]UI$[178]"":[142]:[143] SHIFTED ALPHABET?
185 [139][194](UT)[178]UU%[167]UI$[178][199]([198](UI$)[171]128):[142]
187 [142]
190 UI$[178]"":[142]
195 UF[178]1:[143] +++ HELP ROUTINE EXIT +++
197 [141]250
200 [141]245
205 [129]UQ[178]UB[164](U2%[172]256[170]U1%[170]U3%[171]2)
210 UQ%(UQ[171]UB)[178][194](UQ):[130]:[153]"LOAD"
215 UZ[178]1:UV%[178][194](UT)
216 [137]300
217 UZ[178]0:US$[178]UJ$:UG$[178]UK$:UP[178]UJ:UL[178]UK:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14
220 UT$[178]UL$:[153]"LOAD";:[151]UT,UV%:[129]UQ[178]UB[164](U2%[172]256[170]U1%[170]U3%[171]3)
225 [151]UQ,UQ%(UQ[171]UB):[130]
230 [151]U1,U1%
232 [151]U2,U2%
233 [151]U4,U4%
234 [151]U3,U3%[171]1
235 [137]35
240 UD%[178]((U2%[172]256[170]U1%[170]U3%)[171]UB)[173]40:[153][200](UD$,UD%[170]1):[142]
245 [153][200](UD$,24);" HELP COMING WAIT ":[142]
250 U1%[178][194](U1):U2%[178][194](U2):U3%[178][194](U3):U4%[178][194](U4)
251 UJ$[178]US$:UK$[178]UG$:UL$[178]UT$:UJ[178]UP:UK[178]UL
255 [142]
300 [143] ** MENU **
301 :
302 [153]"LOAD":[151]UT,UU%:[139][194](50003)[178]0[167][151]53281,9:[151]53280,8
303 :
305 [153]" MENU"
310 [153]" --------------------------------------"
315 [153]"SYS 1. BEGIN LETTER ORDER"
320 [153]" 2. STUDENT INSTRUCTIONS"
325 [153]" 3. TEACHER INSTRUCTIONS"
330 [153]" 4. MODIFICATION OF PROGRAM"
335 [153]" 5. QUIT"
340 [153]" --------------------------------------"
345 [153]" PRESS A NUMBER KEY (1-5) ";
350 UL[178]1:US$[178]"12345":[141]35:[143] INPUT ROUTINE
352 US$[178]""
355 [145][197](UR$)[141]1000,400,500,600,396
360 [137]300
395 [143] ** RE-ENABLE STOP KEY AND END **
396 [139][194](50003)[179][177]1[175][194](50003)[179][177]160[175][194](50003)[179][177]0[167]399
397 [158]UU[170]71:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14
398 [153]"CONTLOAD":[128]
399 [141]875:[142]
400 [143] ** STUDENT INSTRUCTIONS **
405 [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,0:[151]53280,0
410 UP[178]0:UG$[178]"(null)TUDENT RIGHT$NST":[141]850
412 [153]"(null)ETTER ORDER"
413 [153]" (null)OU TYPE IN THE LETTER THAT IS"
414 [153]"MISSING THEN PRESS (null)VAL(null)(null)(null)(null)."
425 [141]835:[141]850
460 [153]"(null)(null)(null)VAL:(null)O ADVANCE FROM ONE QUESTION"
470 [153]"TO THE NEXT PRESS THE SPACE BAR."
475 [153]"RIGHT$F AT ANY TIME YOU WISH TO RETURN"
480 [153]"TO THE MENU PRESS H RETURN."
485 [141]835
490 [139]UZ[178]1[167][158]UP%:[137]217
499 [142]
500 [143] ** TEACHER INSTRUCTIONS **
501 [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,2:[151]53280,10
502 UP[178]0:UG$[178]"(null)EACHER RIGHT$NST":[141]850
503 [153]" (null)O THE BEST OF OUR KNOWLEDGE,"
504 [153]" THIS PROGRAM WAS GIVEN TO THE"
505 [153]" PUBLIC DOMAIN BY ITS MAKER."
506 [153]" (null)ARJIE (null)ARLER 1988"
512 UP[178]1:[141]835:[141]850
513 [153]" (null)ROGRAM (null)AME: (null)ETTER (null)RDER"
514 [153]" (null)RITTEN PEEKY : (null)ARJIE (null)ARLER"
515 [153]" (null)PGRADED PEEKY : "
516 [153]" (null)HIS PROGRAM WILL RUN ON ANY
517 PRINT" [194][193][211][201][195][160]2.0 [208][197][212] [195][207][205][208][213][212][197][210]
518 [153]" PEEKATN(null)RIGHT$LEN 4.0 (null)VAL(null)CLOSELEN(null)(null)(null)(null)(null)VAL(null)
519 PRINT" 8032 [195][194][205] [195][207][205][208][213][212][197][210]
520 [153]" LEN(null)(null)(null)(null)STR$(null)(null)VAL 64 LEN(null)(null)(null)(null)(null)VAL(null)
521 GOSUB835
590 IFUZ=1THENSYSUP%:GOTO217
599 RETURN
600 REM ** PROGRAM MODIFICATION INST **
601 PRINT"[147]":POKEUT,UL%
605 UP=0:UG$="[208]ROGRAM [205]OD":GOSUB850
606 PRINT"[208]OSSIBILITIES FOR MODIFICATION"
607 PRINT"WOULD BE TO USE THE PROGRAM FOR"
609 PRINT"NUMBERS INSTEAD OF LETTERS."
611 PRINT"[195]HANGE THE DATA IN LINES 1400-1410."
612 PRINT"[196]ELETE [195][200][210]$(142) FOR LOWERCASE IN"
613 PRINT"LINE 1310."
660 GOSUB835
690 IFUZ=1THENSYSUP%:GOTO217
699 RETURN
700 REM ** TO USE 8032 LOAD CBM4032 **
710 PRINT"[147]BEFORE RUNNING THIS PROGRAM ON AN 8032
720 [153]" LOAD THE 'CBM 4032' PROGRAM"
730 [158]UU[170]71
740 [128]
797 [143] ** TO USE 8032 LOAD CBM4032 **
798 [153]"LOADBEFORE RUNNING THIS PROGRAM ON AN 8032 LOAD CBM 4032 PROGRAM"
799 [158]1093:[128]
800 [143] ** T I T L E P A G E **
802 [153]"LOAD";:[151]UT,UU%:[139][194](50003)[178]0[167][151]53280,14:[151]53281,6
804 [129]I[178]1[164]38:[153]"SPC(WAIT";:[130]
806 [129]I[178]1[164]22:[153]"CMDSPC(WAIT";:[130]
808 [129]I[178]1[164]37:[153]"CMDCMDSPC(WAIT";:[130]
809 [161] A$:[139] A$[179][177]"" [167] 300
810 [129]I[178]1[164]22:[153]"ONCMDSPC(WAIT";:[130]
812 [153]"STEP WAIT
814 PRINT" [146] [146][169]
816 [153]" WAIT TAB((null)
818 PRINT"[223] [146]
820 [153]"C O M M O D O R E
822 PRINT"EDUCATIONAL
824 [153]"SOFTWARE
826 REM ** COMMODORE LOGO **
827 PRINTLEFT$(UD$,24);"PRESS SPACE BAR OR WAIT[146]":I=0
828 GETA$:IFA$<>" "THENI=I+1:IFI<250THEN828
830 T1$="":T2$="":T3$="":T4$="":I=0
832 GOTO300
835 REM ** SPACE BAR PRESS **
840 PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]":POKEUO,0
844 GETUI$:IFUI$<>" "THEN844
846 RETURN
850 REM ** PAGE DESIGN ROUTINE **
852 UP=UP+1
855 PRINT"[147]"LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18)
860 PRINT" --------------------------------------"
864 IFUH<>0THEN870
865 PRINTLEFT$(UD$,24);LEFT$(UP$,7);"HELP - PRESS * <RETURN>"
870 UH=0:PRINT"":RETURN
875 REM ** PLEASE WAIT REMARK **
880 PRINTLEFT$(UD$,24);" ONE MOMENT PLEASE... "
885 RETURN
900 REM ** SET UP VARIABLES **
901 UX$="*":DIMUQ%(1000):UB=32768:U1=196:U2=197:U3=198:U4=216:UC=167:UU=1024
902 UT=59468:UU%=12:UL%=14:UP%=1146:UM=32768:POKE 50003,0:UO=158
903 IFPEEK(50003)=0THENUB=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UU=2048
904 IFPEEK(50003)=0THENUT=53272:UU%=21:UL%=23:UP%=2139:UM=1024:UO=198
905 UD$=""
906 UP$=" "
907 UT$=" LETTER ORDER":REM PLACE PROGRAM TITLE HERE !!!!!!!!!!!!!!!!!***
908 RETURN
910 REM ** SET VARIABLES **
915 GOSUB900
916 DIMB$(33):E$="[164]":G$=" "
917 J=53248
920 REM ** CHECK FOR 8032 **
925 PRINT"[147]":PRINT"[160]":REM SHIFTED SPACE
930 IFPEEK(UB+40)<>96THENGOSUB700
931 REM ** MEMORY CHECK **
932 IF FRE(0)>2000THEN937
933 PRINT"[147]THIS MACHINE DOES NOT HAVE ENOUGH"
934 PRINT"MEMORY TO RUN THIS PROGRAM !"
935 SYSUU+71
936 END
937 PRINT"[147]":IFPEEK(50003)=0THEN962
940 REM ** BASIC 2.0 OR 4.0 OR C-64 SETUP **
941 POKE1075,133:POKE1076,144:POKE1077,234:POKE1079,4:POKE1080,133:POKE1081,145
942 POKE1091,155:POKE1098,133:POKE1099,144:POKE1100,234:POKE1103,133
943 POKE1104,145:POKE1105,234:POKE1082,234
945 IFPEEK(50003)<>160THEN955
950 POKE1093,88:POKE1094,228:POKE1097,85:POKE1102,228:GOTO965
955 IFPEEK(50003)<>1THEN990
960 POKE1093,49:POKE1094,230:POKE1097,46:POKE1102,230:GOTO965
962 POKE2099,141:POKE2100,20:POKE2101,3:POKE2103,8:POKE2104,141:POKE2105,21
963 POKE2106,3:POKE2115,145:POKE2117,52:POKE2118,234:POKE2121,49:POKE2122,141
964 POKE2123,20:POKE2124,3:POKE2126,234:POKE2127,141:POKE2128,21:POKE2129,3
965 SYSUU+48:REM DISABLE STOP KEY
970 GOSUB800:REM TITLE
980 GOTO300:REM MENU
990 PRINT"[147]THE PGM WILL NOT WORK ON THIS MACHINE!":END
1000 IFUZ=1THENSYSUP%:SYSUP%:UZ=0:REM ** PROGRAM STARTS HERE **
1001 PRINT"[147]";:RESTORE:IFPEEK(50003)=0THENPOKE53281,6:POKE53280,14
1010 PRINT"[147]":POKEUT,UL%
1020 REM *****************************
1030 REM LETTER ORDER
1035 REM
1040 REM IN MEMORY OF
1045 REM
1050 REM MATTHEW ALLEN MARLER
1055 REM
1060 REM BY MARJIE MARLER
1070 REM
1080 REM SEPTEMBER 24,1988
1090 REM
1100 REM ****************************
1110 REM
1120 UP=0:UG$="":
1170 W1=0:M1=0:W$="1"
1180 C=0:I=0
1230 GOSUB1400:REM READ DATA
1280 IFC<=5THENGOSUB1490:REM GET RANDOM NUMBER
1290 IFC>=6THEN GOSUB1460:
1300 GOSUB850:REM PAGE DESIGN
1310 PRINTCHR$(142)""SPC(12);
1311 REM PRINT QUESTION
1315 PRINT B$(F);G$;B$(F+1);G$;B$(F+2);G$;E$;G$;B$(F+4);G$;B$(F+5);G$;B$(F+6)
1316 PRINT""SPC(18);
1320 UL=1:GOSUB35:H$=UR$:REM GET ANSWER
1330 IFH$=(B$(F+3))THENGOTO1370
1335 REM RIGHT ANSWER
1339 IFI=2THENGOTO1350
1340 PRINT""SPC(12);"TRY AGAIN":I=I+1:GOSUB835
1345 GOTO1300:REM WRONG ANSWER RETRY
1350 IFI>=2THEN PRINTSPC(18)"[145][145][145][163][145][157]"B$(F+3):I=0:REM CORRECT ANSWER
1360 M1=M1+1
1370 W1=W1+1
1380 GOSUB2740:GOSUB2770:GOSUB835
1382 IF C>=10 THEN GOTO 5000
1390 GOTO1280
1400 DATA" "," "," ",A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z," "
1410 DATA " "," ","END"
1420 FOR A=1TO32:READB$(A)
1430 IFB$(A)="END"THENRESTORE:GOTO1420
1440 NEXTA
1450 RETURN
1460 D=RND(TI)
1470 F=INT((D*13)+14)
1480 RETURN
1490 D=RND(TI)
1500 F=INT((D*14)+1)
1510 RETURN
2690 REM ***WINNER OUTPUT***
2691 IF V<>X THEN RETURN
2700 FORK1=1TO10
2710 PRINT" CORRECT "
2720 NEXTK1
2725 REM GOSUB835
2730 RETURN
2740 REM *** SCORE ***
2750 S%=(W1/(W1+M1))*100
2760 RETURN
2770 REM *** PRINT SCORE ***
2780 PRINT"[146]SCORE = ";S%
2781 C=C+1
2790 RETURN
2800 :
5000 GOSUB850
5010 PRINT"YOU ARE DONE NOW!!"
5020 PRINT"YOUR SCORE WAS:"
5030 PRINT"";S%
6999 GOSUB835:RETURN