'**************************** '* * '* program MICROSOC * '* * '**************************** REM REM DEBUGGING DEBUGGING DEBUGGING REM How to do it REM Put all source files in \microsoc\source REM Put a copy of PROTOCOL in \microsoc\source REM All other files, test files and bank files should be in their REM respective directories, i.e., \microsoc\tests, \microsoc\banks, etc. REM In DOS, go to the subdirectory \microsoc\source REM Call Quickbasic 4.5 from the \microsoc\source directory REM All executions ought to work O.K. doing it that way. REM 130 DATA 10,"1 Generate a Test" 140 DATA "2 Edit or add to an existing bank" 150 DATA "3 Create a new bank" 160 DATA "4 Convert a SOCRATES bank in old format to new format" 170 DATA "5 Dump all or part of a bank" 180 DATA "Merge banks" 190 DATA "Category index update","8 Change or Create Path and Protocol file" 193 DATA "9 Score an examination" 195 DATA "ESC quit" 200 DATA 1,1,1,1,1,0,0,1,1,1 210 DIM DSK$(15), P(20), T$(20) 215 RESET 220 COLOR 7, 0 230 CLS '************************************* ' 'Module to read the file PROTOCOL 'File PROTOCOL contains path information and printer protocol information ' '************************************* 306 ON ERROR GOTO 310 OPEN "I", #1, "PROTOCOL" 308 FOR N = 1 TO 11 INPUT #1, A$ INDX = VAL(LEFT$(A$, 2)) DSK$(INDX) = RIGHT$(A$, LEN(A$) - 3) NEXT N LINE INPUT #1, A$ IFORM% = VAL(RIGHT$(A$, LEN(A$) - 3)) IFORM% = IFORM% * 2 LINE INPUT #1, A$ CR$ = CHR$(VAL(RIGHT$(A$, LEN(A$) - 3))) LINE INPUT #1, A$ LF$ = CHR$(VAL(RIGHT$(A$, LEN(A$) - 3))) LINE INPUT #1, A$ FOR M = 6 TO LEN(A$) IF ASC(MID$(A$, M, 1)) = 44 THEN 314 NEXT M GOTO 313 314 NC = VAL(MID$(A$, 5, M - 5)) IIS = M + 1 HLF$ = "" FOR N = 1 TO NC IF N = NC THEN 315 FOR M = IIS TO LEN(A$) IF ASC(MID$(A$, M, 1)) = 44 THEN 316 NEXT M FOR M = IIS TO LEN(A$) IF ASC(MID$(A$, M, 1)) = 44 THEN 316 NEXT M GOTO 313 316 HLF$ = HLF$ + CHR$(VAL(MID$(A$, IIS, M - IIS))) IIS = M + 1 NEXT N 315 HLF$ = HLF$ + CHR$(VAL(RIGHT$(A$, LEN(A$) - IIS + 1))) LINE INPUT #1, A$ FF$ = CHR$(VAL(RIGHT$(A$, LEN(A$) - 3))) CLOSE GOTO 240 310 RESUME 313 313 CLOSE CHAIN "START" '************************************** ' 'End PROTOCOL module ' '************************************** 240 PRINT " MICROSOC" 250 LOCATE 4, 34, 1, 6, 7 260 COLOR 0, 7 270 PRINT "c"; 280 COLOR 7, 0 LOCATE 4, 24, 1, 6, 7 290 PRINT "Copyright"; LOCATE 4, 36, 1, 6, 7 PRINT "1989 by Oliver Seely, Jr." 300 LOCATE 8, 17, 1, 6, 7 COLOR 0, 7 320 PRINT "EXTRA USER GUIDES FOR THIS PROGRAM ARE AVAILABLE FROM" 330 PRINT 340 COLOR 16, 7 345 LOCATE 10, 36, 1, 6, 7 350 PRINT "Project SOCRATES" 355 LOCATE 11, 16, 1, 6, 7 360 PRINT "California State University Dominguez Hills Foundation" 365 LOCATE 12, 32, 1, 6, 7 370 PRINT "1000 E. Victoria Street" 375 LOCATE 13, 36, 1, 6, 7 380 PRINT "Carson, CA 90747" 390 IWAIT = 2 400 GOSUB 510 405 GOSUB 720 410 LOCATE 18, 1, 1, 6, 7 420 COLOR 0, 7 430 PRINT "Type any key to continue" 440 A$ = INKEY$ 450 IF LEN(A$) = 0 THEN 440 460 COLOR 7, 0 470 CLS 480 GOTO 770 490 COLOR 7, 0 500 CLS 510 REM 520 REM subroutine theme song 530 REM 531 SOUND 440, 1.9 532 SOUND 20000, .1 533 SOUND 440, 1.9 534 SOUND 20000, .1 535 SOUND 440, 3.9 536 SOUND 20000, .1 537 SOUND 440, 1.9 538 SOUND 20000, .1 539 SOUND 440, 2 540 SOUND 880, 4 542 S1 = 10 550 FOR N = 1 TO 13 560 DUR = S1 / (10 + N) 570 FREQ = 440 580 FOR M = 1 TO 2 590 SOUND FREQ, DUR * .9 600 SOUND 20000, .1 * DUR 610 NEXT M 620 IF N = 1 THEN 650 630 SOUND FREQ * 2 ^ ((N - 1) / 12), DUR * 2 640 GOTO 670 650 SOUND FREQ * 2 ^ ((N - 1) / 12), DUR * 2 * .95 660 SOUND 20000, DUR * 2 * .05 670 NEXT N 680 RETURN 690 REM 700 REM wait subroutine 710 REM 720 RETURN 770 READ MAX 780 FOR N = 1 TO MAX 790 READ T$(N) 800 NEXT N 810 FOR N = 1 TO MAX 820 READ P(N) 830 NEXT N 840 CLS 850 PRINT " SOCRATES Options" 860 PRINT 870 FOR N = 1 TO MAX 880 PRINT " "; T$(N) 890 PRINT 900 NEXT N 910 FOR N = 1 TO MAX 920 IF P(N) = 0 THEN 970 930 COLOR 0, 7 940 LOCATE 2 * N + 1, 1, 1, 6, 7 950 PRINT " "; 960 COLOR 7, 0 970 NEXT N 980 Y = 3 990 X = 41 1000 LOCATE Y, X, 1, 6, 7 1010 COLOR 0, 7 1020 PRINT "Choose an option "; 1025 COLOR 0, 7 1030 A$ = INKEY$ 1040 IF LEN(A$) = 0 THEN 1030 1041 IF ASC(A$) = 27 THEN 1120 1042 IF ASC(A$) < 49 OR ASC(A$) > 57 THEN 1030 1050 IF ASC(A$) - 48 = 6 OR ASC(A$) - 48 = 7 THEN 1030 1052 LOCATE Y, 58, 1, 6, 7 PRINT A$; 1054 COLOR 16, 7 1056 LOCATE 12, 31, 1, 6, 7 1057 PRINT "Please stand by"; 1058 COLOR 7, 0 RESET 1060 ON ASC(A$) - 48 GOTO 1080, 1090, 1100, 1110, 1115, 1030, 1030, 1118, 1119 1080 CHAIN "QKTEST" 1090 CHAIN "SETUP" 1100 CHAIN "MAKEMT" 1110 CHAIN "CONVERT" 1115 CHAIN "DUMP" 1118 CHAIN "START" 1119 CHAIN "SCORE" 1120 COLOR 7, 0 1125 CLOSE 1130 CLS 1160 END

Disclaimer: The views and opinions expressed on unofficial pages of California State University, Dominguez Hills faculty, staff or students are strictly those of the page authors. The content of these pages has not been reviewed or approved by California State University, Dominguez Hills.