3215 X% = PEEK(KP%) -KN%: IF X% = K7% THEN RF% = 1: NORMAL : RETURN
3240 IF X% = K1% THEN NORMAL : GOSUB 3150:V% = V% +1: IF V% +K5% *H% >RC% OR V% >K5% THEN H% = NOT H%:V% = 1: IF H% AND RC% = <K5% THEN H% = 0
3241 IF X% = K8% THEN NORMAL : GOSUB 3150:V% = V% -1: IF V% <1 THEN V% = (K5% *H%) +(RC% -K5% *(RC% >K5%)) *(H% = 0):H% = NOT H%: IF H% AND RC% < = K5% THEN H% = 0
3242 IF X% = K1% OR X% = K8% THEN 3206
3250 IF X% = K2% THEN RC%(XC%) = NOT RC%(XC%): IF NOT RC%(XC%) THEN NORMAL
3252 IF X% = K2% THEN HTAB 2 +20 *H%: VTAB PEEK(37): PRINT SP$: GOSUB 3100: GOTO 3206
3255 IF X% = K9% THEN GOSUB 3300: GOSUB 3100
3258 IF X% = K3% THEN NORMAL : GOSUB 3150: GOTO 3280
3260 GOTO 3206
3280 FOR I = 1 TO RC%: IF RC%(I) THEN RETURN
3281 NEXT :RF% = 1: RETURN
3300 X1% = V% -1: FOR I = XC% TO RC%:RC%(I) = NOT RC%(I): IF NOT RC%(I) THEN NORMAL
5011 GOSUB 25200:VT% = 11: GOSUB 5200: IF A$ = ES$ THEN 5000
5012 GOSUB 3200: IF RF% THEN 5000
5014 VTAB 23: HTAB 1: CALL -958: INVERSE : PRINT CP$(1);: NORMAL : PRINT CP$(2);: GOSUB 3100: GET A$: HOME : IF A$ = ES$ THEN 5000
5020 POKE KB%,0: VTAB 24: POKE 34,23: FOR P = 1 TO RC%: IF RC%(P) THEN PRINT :X$ = RN$(P): GOSUB 25010: GOSUB 5100: IF PEEK(KP%) = K7% +KN% THEN PR# 0: RETURN
5021 NEXT : GOTO 5000
5030 PRINT : PRINT SN$;: GOSUB 3003:X$ = C$: IF X$ = "" THEN 5000
5031 IF X$ = "C" THEN GOSUB 10500: GOTO 5030
5032 GOSUB 25010: GOSUB 5200: IF A$ = ES$ THEN 5000
5033 PRINT : PRINT : INVERSE : PRINT CP$(1);: NORMAL : PRINT CP$(2);: GOSUB 3100: GET A$: HOME : IF A$ = ES$ THEN 5000
7023 PRINT : PRINT SR$;: GOSUB 3003:X$ = C$: IF X$ = "" THEN 7000
7026 IF X$ = "C" THEN GOSUB 10500: GOTO 7023
7082 X$ = X$ +RS$: GOSUB 7100: RETURN
7100 AB% = 1: GOSUB 11000: ONERR GOTO 19010
7101 PRINT D$"VERIFY"X$",D" PEEK(798)
7105 POKE 34,5: HOME : PRINT S$;S$;S$: VTAB 10: HTAB 12: FLASH : PRINT " D E L E T I N G ": VTAB 13: HTAB ((40 -( LEN(X$) +1))/2): NORMAL : PRINT "<"X$">"
7110 VTAB 18: HTAB 11: PRINT "VERIFY WITH [!] => ";: GET A$: PRINT A$: IF A$ < >"!" THEN POP : RETURN
7120 VTAB 17: CALL -958
7121 AB% = 1: GOSUB 11000: ONERR GOTO 19010
7122 PRINT D$"UNLOCK"X$",D" PEEK(798)
7123 PRINT D$"DELETE"X$
7124 RETURN
7200 GOSUB 22500: FOR V = 0 TO 3: FOR I = 1 TO 15: IF X$ = T1$(V,I,1) THEN FOR J = I TO 15: FOR Z = 1 TO 9:T1$(V,J,Z) = T1$(V,J +1,Z): NEXT Z,J:WC%(V) = 1:I = 15:V = 3
8011 VTAB 23: HTAB 1: CALL -958: INVERSE : PRINT CP$(1);: NORMAL : PRINT CP$(0);: GOSUB 3100: GET A$: IF A$ = ES$ THEN 8000
8012 POKE 34,5: HOME : FOR P = 1 TO RC%: IF RC%(P) THEN X$ = RN$(P): POKE 34,5: HOME : VTAB 4: HTAB 1: CALL -868: INVERSE : PRINT X$: NORMAL : HOME : VTAB 7: PRINT : GOSUB 25010: GOSUB 8102
8013 NEXT : GOTO 8000
8015 PRINT : PRINT SN$;: GOSUB 3003:X$ = C$: IF X$ = "" THEN 8000
10170 INVERSE : VTAB 20: HTAB 15: GOSUB 3100: PRINT " COMPLETED ": NORMAL : FOR I = 1 TO 2000: NEXT :DFL% = 1: RETURN
10200 HOME :X1$ = " TRANSFER STUDENT ": FLASH : VTAB 7: GOSUB 15001: NORMAL : POKE 34,7:RF% = 0:C% = 0:OK% = 0: POKE 44452,16: POKE 44605,15
10203 VTAB 10: PRINT "TRANSFER [S]TUDENT OR [R]OSTER -> [S]";: HTAB 36: GOSUB 3100: GET A$: IF A$ = ES$ THEN RETURN
10206 IF A$ = "R" THEN PRINT A$: GOTO 10254
10209 PRINT : PRINT : GOSUB 9003: IF A$ = "N" THEN 10245
10212 IF A$ = ES$ THEN RETURN
10215 IF PN$ = "" THEN 10200
10218 GOSUB 25200: POKE 34,6: HOME : VTAB 6: FLASH : GOSUB 15001: NORMAL : POKE 34,7: GOSUB 3200: IF RF% THEN VTAB 4: HTAB 1: CALL -868: VTAB 6: CALL -958: GOTO 10200
10221 GOSUB 10290
10224 POKE KB%,0: FOR P = 1 TO RC%: IF NOT RC%(P) THEN 10236
10225 HOME : IF PEEK(798) = 1 THEN GOSUB 10293
10227 X$ = RN$(P): HOME : INVERSE : PRINT "READING";: NORMAL : PRINT SP$;X$: GOSUB 25010: IF PEEK(798) = 1 THEN GOSUB 10296
10230 IF PEEK(KP%) = 27 +KN% OR FU% THEN GOSUB 24000: GOTO 10239
10233 HOME : INVERSE : PRINT "WRITING";: NORMAL : PRINT SP$;X$:DD% = 1:FU% = 1: GOSUB 25280:FU% = 0: IF PEEK(KP%) = K7% +KN% THEN 10239
10236 NEXT
10239 IF PEEK(798) = 2 THEN HOME : PRINT "MAKE SURE ";: FLASH : PRINT "GAME";: NORMAL : PRINT " DISK IS IN DRIVE 1 ": PRINT "STRIKE [ANY KEY] TO RETURN TO MENU ";: GOSUB 3100: GET A$
10242 FU% = 0: RETURN
10245 PRINT : PRINT SN$;: GOSUB 3003:X$ = C$: IF X$ = "" THEN 10200
10254 PRINT : PRINT SR$;: GOSUB 3003:PN$ = C$: IF PN$ = "" THEN GOTO 10200
10257 IF PN$ = "C" THEN GOSUB 10500: GOTO 10254
10260 POKE 34,14:OK% = 5: GOSUB 10290
10263 POKE KB%,0: IF PEEK(798) = 1 THEN GOSUB 10293
10266 HOME : INVERSE : PRINT "READING ROSTER";: NORMAL : PRINT SP$;PN$: GOSUB 25200
10269 IF PEEK(KP%) = 27 +KN% THEN 10239
10272 IF PEEK(798) = 1 THEN GOSUB 10296
10275 HOME : INVERSE : PRINT "WRITING ROSTER";: NORMAL : PRINT SP$;PN$: GOSUB 25231:DD% = PEEK(798): GOTO 10239
10290 IF PEEK(798) = 2 THEN HOME : PRINT "INSERT ORIGIN IN DRIVE 2": PRINT "INSERT TARGET IN DRIVE 1"CP$(3);: GOSUB 3100: GET A$: IF A$ = ES$ THEN POP : RETURN
10291 RETURN
10293 HOME : PRINT "INSERT ORIGIN IN DRIVE 1"CP$(3);: GOSUB 3100: GET A$: PRINT : IF A$ = ES$ THEN POP : GOTO 10239
10294 RETURN
10296 HOME : PRINT "INSERT TARGET IN DRIVE 1"CP$(3);: GOSUB 3100: GET A$: PRINT : IF A$ < >ES$ THEN RETURN
10297 POP : IF OK% < >5 THEN GOSUB 24000
10298 GOTO 10239
10300 HOME :X1$ = " DISK DRIVES ": FLASH : VTAB 7: GOSUB 15001: NORMAL : POKE 34,7
10302 VTAB 12: PRINT "CURRENT NUMBER OF DRIVES IS : ["; PEEK(798);"]"
10305 VTAB 15: HTAB 1: CALL -958: PRINT "ENTER NUMBER OF DRIVES [1-2] : [ ]";: GOSUB 3100: HTAB 33: GET A$: PRINT A$: IF A$ = ES$ OR A$ = CHR$(13) THEN RETURN
10307 IF A$ <"1" OR A$ >"2" THEN 10305
10310 IF VAL(A$) = PEEK(798) THEN RETURN
10312 POKE 798, VAL(A$):DD% = PEEK(798)
10313 GOSUB 10430: RETURN
10400 HOME :X1$ = " PRINTER SLOT ": FLASH : VTAB 7: GOSUB 15001: NORMAL : POKE 34,7
10673 X$ = RIGHT$(X$, LEN(X$) -1): GOSUB 22500: FOR V = 0 TO 3: FOR I = 1 TO 15: IF X$ = T1$(V,I,1) THEN T1$(V,I,1) = RIGHT$(Q1$, LEN(Q1$) -1):WC%(V) = 1:V = 3:I = 15
10675 NEXT : GOSUB 22700: RETURN
10700 FOR I = 1 TO 5: IF X$ = IN$(I) THEN PRINT : FLASH : PRINT " CAN'T RENAME INSTRUCTOR ";: GOSUB 3500: POP : RETURN
10701 NEXT : RETURN
11000 ONERR GOTO 11010
11005 VT% = PEEK(37) +1:SS% = 786: IF PEEK(798) = 2 OR DFL% OR Q1$ = "2" THEN 11020
11010 CALL SS%: VTAB 24: PRINT "INSERT DATA DISK IN DRIVE ";DD%;" AND HIT KEY";: GOSUB 3100: GET A$: VTAB 23: CALL -958: PRINT
11012 IF A$ = ES$ THEN DD% = PEEK(798): POP : POP : GOTO 11030
19000 CALL 787: POKE KB%,0: IF PEEK(222) = 11 THEN VTAB 14: FLASH : PRINT "INVALID ROSTER NAME";: GOSUB 3500: POP : GOTO 4000
19001 IF PEEK(222) = 255 THEN CALL 803
19002 IF PEEK(222) = 9 THEN 19020
19003 IF PEEK(222) < >6 THEN 19030
19004 CALL 787: IF PEEK(222) = 6 THEN VTAB 14: INVERSE : PRINT S$S$"ROSTER NOT ON DISK";: NORMAL : PRINT " CREATE IT [Y/N] ? [N]";: HTAB 39: VTAB PEEK(37): GET A$: IF A$ < >"Y" THEN POP : GOTO 4000
19005 PRINT A$:RC% = 0: RETURN
19010 CALL 787: POKE KB%,0: IF PEEK(222) = 6 THEN VTAB VT% +2 *(VT% <23): HTAB 1: FLASH : PRINT " NOT ON DISK ";: GOSUB 3500: POP : POP : GOTO 9200
19015 IF PEEK(222) = 255 THEN CALL 803
19016 IF PEEK(222) < >9 THEN 19025
19020 FLASH : PRINT : PRINT S$" DATA DISK FULL ";: NORMAL : PRINT " INSERT DATA DISK WITH": PRINT " FREE SPACE: ";CP$(0);: GET A$: IF A$ < >ES$ THEN VTAB PEEK(37) -1: CALL -958: PRINT : VTAB PEEK(37): RESUME
23105 D$ = CHR$(4):CF% = 0:S$ = CHR$(7):F1% = 0: GOSUB 23200:L1$ = "========================================":L2$ = " C O M P E T I T I O N K A R A T E - T E A M R O S T E R":RS$ = ".ROSTER":KP% = -16384:KN% = 128:ES$ = CHR$(27)
23106 DIM RN$(31),AB%(9),RA$(16),PP%(16),AP%(16),T1$(3,16,9),WC%(3),RC%(30): FOR I = 0 TO 3: READ V$(I): NEXT : FOR I = 1 TO 9: READ AB$(I): NEXT : FOR I = 1 TO 16: READ RA$(I),PP%(I),AP%(I): NEXT :ND$ = " NAME ALREADY ON DISK ":NY$ = "* * NOTIFYING TOP 10 COMMISSION * *"
24005 VTAB 9: PRINT "THE TRANSFER PROCESS HAS BEEN ";: FLASH : PRINT " ABORTED ": NORMAL : VTAB 12: PRINT "HOWEVER, <"X$"> WAS DELETED": PRINT "FROM THE ORIGIN DISK, AND NOT YET COPIEDONTO THE TARGET DISK."
24015 PRINT : PRINT "INSERT THE ORIGIN DISK OR A COMPETITION KARATE DATA DISK IN DRIVE (" PEEK(798)") AND PRESS [ANY KEY] TO RESTORE THE FILE.";: GET A$: PRINT