0 CLEAR 20000
1 DIM PA$(200)
2 DIM MU$(200)
10 SP = 20: CH = 219: WS = 2: X = 1: XL = 1
20 CLS
21 LOCATE 5, 50: PRINT "WELCOME TO RECORDER."
22 LOCATE 6, 50: PRINT "WRITTEN BY SCOTT GATES."
23 LOCATE 7, 50: PRINT "1997 (C)"
24 LOCATE 8, 50: PRINT "HIT <S> TO BEGIN."
30 DEF FNR (A) = A * 3.14 / 180
60 R = 5
80 SA = 0
90 SA = FNR(SA)
100 EA = 360
110 EA = FNR(EA)
120 AI = 5
140 AI = FNR(AI)
160 PX = 140 + R: PY = 80
170 FOR TH = (SA) TO (EA) STEP AI
180 T1 = T1 + AA: IF T1 > (EA) THEN T1 = SA
182 FOR RI = 1 TO 8
183 R = RI
190 X = R * COS(TH) * WS
210 Y = R * SIN(TH)
228 H = 30 + X
229 V = 10 + Y
230 LOCATE V, H: PRINT CHR$(CH);
235 NEXT RI
240 FOR RI = 1 TO 7
241 X = RI * COS(T5) * WS
243 Y = RI * SIN(T5)
250 HH = 30 + X
260 VV = 10 + Y
270 LOCATE VV, HH: PRINT " ";
275 NEXT RI
300 T5 = TT: TT = T4: T4 = T3: T3 = T2: T2 = T1: T1 = T0: T0 = TH
301 FOR RI = 0 TO 7
302 X = RI * COS(L5) * WS
303 Y = RI * SIN(L5)
304 HH = 30 + X
305 VV = 10 + Y
306 LOCATE VV, HH: PRINT CHR$(CH);
307 NEXT RI
308 L5 = LL: LL = L4: L4 = L3: L3 = L2: L2 = L1: L1 = L0: L0 = T5
400 FOR RI = 0 TO 7
401 X = RI * COS(Z5) * WS
402 Y = RI * SIN(Z5)
403 HH = 30 + X
404 VV = 10 + Y
405 LOCATE VV, HH: PRINT " ";
406 NEXT RI
409 Z5 = ZZ: ZZ = Z4: Z4 = Z3: Z3 = Z2: Z2 = Z1: Z1 = Z0: Z0 = L5
420 FOR RI = 0 TO 7
421 X = RI * COS(Q5) * WS
422 Y = RI * SIN(Q5)
423 HH = 30 + X
424 VV = 10 + Y
425 LOCATE VV, HH: PRINT CHR$(CH);
426 NEXT RI
427 Q5 = QQ: QQ = Q4: Q4 = Q3: Q3 = Q2: Q2 = Q1: Q1 = Q0: Q0 = Z5
430 FOR RI = 0 TO 7
431 X = RI * COS(W5) * WS
432 Y = RI * SIN(W5)
433 HH = 30 + X
434 VV = 10 + Y
435 LOCATE VV, HH: PRINT " ";
436 NEXT RI
437 W5 = WW: WW = W4: W4 = W3: W3 = W2: W2 = W1: W1 = W0: W0 = Q5
500 FOR RI = 0 TO 7
501 X = RI * COS(E5)
502 Y = RI * SIN(E5)
503 HH = 30 + X * WS
504 VV = 10 + Y
505 LOCATE VV, HH: PRINT CHR$(CH)
506 NEXT RI
507 E5 = EE: EE = E4: E4 = E3: E3 = E2: E2 = E1: E1 = E0: E0 = W5
510 FOR RI = 0 TO 7
511 X = RI * COS(N5)
512 Y = RI * SIN(N5)
513 HH = 30 + X * WS
514 VV = 10 + Y
515 LOCATE VV, HH: PRINT " ";
516 NEXT RI
519 N5 = NN: NN = N4: N4 = N3: N3 = N2: N2 = N1: N1 = N0: N0 = E5

3020 KE$ = INKEY$: IF KE$ = "S" THEN 4000
3300 NEXT TH
3400 GOTO 170
4000 CLS : X = 1
6000  REM THIS IS A WORD PROCESSING PROGRAM WRITTEN BY SCOTT GATES ,INC 1995.
6010 KEY OFF
6120 PRINT "TYPE IN YOUR WORDS THEN PRESS </> WHEN FINISHED."
6130 LINE INPUT "START HERE,:"; PA$
6140 IF PA$ = "/" THEN GOTO 6190
6145 LINE INPUT "MUSIC HERE"; MU$
6146 IF MU$ = "/" THEN 6190
6150 X = X + 1: IF X > 200 THEN 6190
6160 PA$(X) = PA$(X) + PA$
6165 MU$(X) = MU$(X) + MU$
6170 PRINT X, PA$(X): PRINT MU$(X)
6174 IF MU$(X) = "" THEN 6180
6176 PLAY MU$(X)
6180 GOTO 6130
6190 FOR Y = 1 TO X
6200 PRINT Y; " "; PA$(Y): PRINT MU$(Y)
6210 NEXT Y
6220 LINE INPUT "PRESS <P> TO PRINT,<S> TO SAVE,<L> TO LOAD,<R> TO RETURN TO TYPING,<N> TO START A NEW FILE,<E> TO EDIT A LINE,AND <D> TO RETURN TO DOS.<B> RETURNS YOU TO START.<K> TO DELETE A NUMBER "; CH$: IF CH$ = "" THEN SOUND 255, 4: GOTO 6220
6222 PRINT "TYPE <PLAY> TO PLAY MUSIC"
6230 IF CH$ = "B" OR CH$ = "b" THEN 4000
6240 IF CH$ = "DIR" THEN CLS : FILES
6245 IF CH$ = "PLAY" THEN 7000
6250 IF CH$ = "K" THEN INPUT "NUMBER OF LINE TO BE DELETED"; NU: IF NU < 1 OR NU > (X) THEN PRINT "OUT OF RANGE": SOUND 200, 5:  ELSE PRINT PA$(NU): INPUT "IS THIS THE LINE YOU WANT TO ERASE? "; YN$: IF YN$ = "Y" OR YN$ = "YES" THEN PA$(NU) = "": IF NU = (X) THEN X = X - 1: GOTO 6220
6260 IF CH$ = "P" THEN CLS : FOR YY = 1 TO X: PRINT PA$(YY): PRINT MU$(YY): LPRINT PA$(YY): LPRINT MU$(YY): NEXT YY: PRINT "DONE": SOUND 255, 4: GOTO 6220
6270 IF CH$ = "S" THEN LINE INPUT "NAME OF FILE TO BE SAVED."; NA$: IF NA$ = "" THEN BEEP: GOTO 6220 ELSE OPEN "O", #1, NA$: PA$(0) = STR$(X): PRINT #1, PA$(0): FOR Y1 = 1 TO X: PRINT #1, PA$(Y1): PRINT #1, MU$(Y1): NEXT Y1: CLOSE #1: PRINT "DONE": SOUND 255, 4
6280 IF CH$ = "L" THEN LINE INPUT "NAME OF FILE TO BE LOADED."; NA$: OPEN "I", #1, NA$: LINE INPUT #1, PA$(0): XL = VAL(PA$(0)): X = VAL(PA$(0)): FOR Y2 = 1 TO X: LINE INPUT #1, PA$(Y2): LINE INPUT #1, MU$(Y2): NEXT Y2: CLOSE #1: PRINT "DONE": SOUND 255, 4: GOTO 6220
6290 IF CH$ = "R" THEN FOR Y3 = 1 TO X: PRINT PA$(Y3): NEXT Y3: GOTO 6130
6300 IF CH$ = "EDIT" OR CH$ = "E" THEN 6380
6310 IF CH$ = "D" THEN CHDIR "C:\": PRINT "RETURNING TO DOS": SYSTEM
6320 IF CH$ = "N" THEN PRINT "EXISTING DATA DELETED.": SOUND 360, 10: GOTO 6000
6330 IF CH$ = "C" THEN INPUT "TYPE IN LETTER OF DRIVE YOU WANT TO USE."; DR$: CHDIR DR$ + ":\TYPER": PRINT "SWITCH TO "; DR$; " DRIVE AT TYPER"
6340 REM IF CH$ = "START" THEN CHDIR "C:\UTIL": RUN "START"
6350 IF CH$ = "program" OR CH$ = "PROGRAM" THEN CLS : CHDIR "C:\UTIL": KEY ON: LOCATE 1, 1: PRINT "YOU MAY NOW BEGIN TO PROGRAM SCOTT.": SOUND 3000, 2: END
6360 GOTO 6220
6370 END
6380 INPUT "ENTER LINE NUMBER TO BE EDITED."; LN: IF LN < 0 OR LN > X THEN SOUND 2000, 5: PRINT "THAT LINE DOES NOT EXIST.": GOTO 6380
6390 PRINT PA$(LN): PRINT "TYPE IN REPLACEMENT LINE FOR TEXT"; LN: LINE INPUT "REPLACEMENT"; PA$
6400 IF PA$ = "" THEN PRINT "NO REPLACEMENT MADE": GOTO 6411
6410 PA$(LN) = PA$
6411 PRINT MU$(LN): PRINT "TYPE IN REPLACEMENT LINE FOR NOTES"; LN: LINE INPUT "REPLACEMENT"; MU$
6412 IF MU$ = "" THEN PRINT "NO REPLACEMENT": GOTO 6420
6415 MU$(LN) = MU$
6420 GOTO 6190
6430 END
7000 FOR XX = 1 TO X
7010 INPUT "HIT RETURN"; RE$: IF RE$ = "R" THEN 6010
7020 PRINT PA$(XX)
7030 PRINT MU$(XX)
7040 IF MU$(XX) = "" THEN 7050
7045 PLAY MU$(XX)
7050 NEXT XX
7060 GOTO 7000

