Minicalc

Developer(s): Gene G. Buza
Date: March 1984
Type: Program
Platform(s): TS 1000

Appears on

Cassette to accompany the March 1984 issue of Synchro-Sette.

Source Code

   0  % % %M%I%N%I%C%A%L%C% %                     % %W%R%I%T%T%E%N% %B%Y%                     % % %G%E%N%E% %B%U%Z%A% 
  10 FAST 
  20 DIM A$(7,3,32)
  30 LET A=1
  40 LET B=1
 100 GOSUB 1000
 110 SLOW 
 120 LET B$=INKEY$
 130 PRINT AT A*3-1,10*B-8;"\.'";AT A*3-1,10*B-8;"\'.";AT A*3-1,10*B-8;" "
 140 IF B$="" THEN GOTO 120
 150 IF CODE B$=112 THEN GOTO 500
 160 IF CODE B$=113 THEN GOTO 600
 170 IF CODE B$=114 THEN GOTO 700
 180 IF CODE B$=115 THEN GOTO 800
 200 IF B$="F" THEN GOTO 2000
 210 IF B$="C" THEN GOTO 3000
 220 IF B$="V" THEN GOTO 4000
 230 IF B$="D" THEN GOTO 7000
 240 IF B$="R" THEN GOTO 6000
 250 IF B$="S" THEN GOTO 9000
 260 IF B$="B" THEN GOTO 8000
 270 IF B$="N" THEN GOTO 8100
 400 GOTO 120
 500 REM %C%U%R%S%O%R% %U%P
 510 IF A=1 THEN GOTO 120
 520 LET A=A-1
 530 GOTO 120
 600 REM %C%U%R%S%O%R% %D%O%W%N
 610 IF A=7 THEN GOTO 120
 620 LET A=A+1
 630 GOTO 120
 700 REM %C%U%R%S%O%R% %L%E%F%T
 710 IF B=1 THEN GOTO 120
 720 LET B=B-1
 730 GOTO 120
 800 REM %C%U%R%S%O%R% %R%I%G%H%T
 810 IF B=3 THEN GOTO 120
 820 LET B=B+1
 830 GOTO 120
1000 FAST 
1010 CLS 
1020 FOR N=1 TO 19 STEP 3
1030 PRINT AT N,1;"\ :\''\''\''\''\''\''\''\''\''\':\''\''\''\''\''\''\''\''\''\':\''\''\''\''\''\''\''\''\''\': \ :         \ :         \ :         \ : \ :\..\..\..\..\..\..\..\..\..\.:\..\..\..\..\..\..\..\..\..\.:\..\..\..\..\..\..\..\..\..\.:";AT N+1,0;(N-1)/3+1
1040 NEXT N
1050 PRINT AT 0,6;"%A         %B         %C"
1060 RETURN 
2000 PRINT AT 0,0;"%F"
2010 INPUT B$
2020 IF LEN B$>31 THEN GOTO 2020
2030 LET A$(A,B)="%F"+B$
2040 PRINT AT A*3-1,10*B-7;"%F"
2050 PRINT AT 0,0;" "
2060 GOTO 120
3000 IF A$(A,B,1)<>"%F" THEN GOTO 120
3010 PRINT AT 0,0;"%C"
3020 LET B$=A$(A,B,2 TO )
3025 LET R=LEN B$
3030 LET N=1
3040 GOTO 5000
3050 LET N=N+1
3055 IF N<LEN B$ THEN GOTO 3040
3060 SLOW 
3070 PRINT AT A*3-1,10*B-7;VAL B$
3080 PAUSE 40000
3090 PRINT AT A*3-1,10*B-7;"%F       \ :";AT 0,0;" "
3100 GOTO 120
4000 PRINT AT 0,0;"%V"
4010 INPUT V
4020 LET B$=STR$ V
4030 LET A$(A,B)="%V"+B$
4040 PRINT AT A*3-1,10*B-7;VAL A$(A,B,2 TO 9)
4050 PRINT AT 0,0;" "
4060 GOTO 120
5000 FAST 
5010 LET L=LEN B$
5100 IF B$(N)="A" THEN LET B$=B$( TO N-1)+"VAL A$("+B$(N+1)+",1,2 TO )"+B$(N+2 TO )
5110 IF B$(N)="B" THEN LET B$=B$( TO N-1)+"VAL A$("+B$(N+1)+",2,2 TO )"+B$(N+2 TO )
5120 IF B$(N)="C" THEN LET B$=B$( TO N-1)+"VAL A$("+B$(N+1)+",3,2 TO )"+B$(N+2 TO )
5130 LET N=N+LEN B$-L
5220 LET R=R+LEN B$-L
5230 GOTO 3050
6000 GOSUB 1000
6010 FOR A=1 TO 7
6020 FOR B=1 TO 3
6100 IF A$(A,B,1)="%V" THEN PRINT AT A*3-1,10*B-7;VAL A$(A,B,2 TO 9)
6110 IF A$(A,B,1)="%F" THEN PRINT AT A*3-1,10*B-7;"%F"
6200 NEXT B
6210 NEXT A
6220 LET A=1
6230 LET B=1
6240 GOTO 110
7000 IF A$(A,B,1)<>"%F" THEN GOTO 120
7010 POKE 16418,0
7020 PRINT AT 23,0;A$(A,B,2 TO 32);
7030 PAUSE 40000
7040 PRINT AT 23,0;"                               ";
7050 POKE 16418,2
7060 GOTO 120
8000 LET A=1
8010 LET B=1
8020 GOTO 120
8100 LET A=7
8110 LET B=3
8120 GOTO 120
9000 FAST 
9010 CLS 
9020 PRINT AT 10,0;"ENTER NAME OF FILE, SET UP      RECORDER AND PRESS %E%N%T%E%R :::"
9030 SLOW 
9040 INPUT Y$
9050 SAVE Y$
9060 GOTO 6000
9997 STOP 
9998 SAVE "MINICAL%C"
9999 GOTO 1
Scroll to Top