Listing of file='CALC.BAS;01' on disk='vmedia/nsw_ug_1-sideA-sector.ccvf'
0 PLOT 12 10 DS= 28510:DE= 28522 12 PLOT 3,27,5:PRINT "CALCULATOR V0.0 HENGST" 14 PLOT 3,6,10:PRINT "FUNCTION KEYS" 15 PLOT 3,6,11:PRINT "=============" 16 PLOT 3,4,13:PRINT "A - ALL CLEAR" 17 PLOT 3,4,14:PRINT "C - CLEAR" 18 PLOT 3,4,15:PRINT "M - MEMORY IN" 19 PLOT 3,4,16:PRINT "P - MEMORY PLUS" 20 PLOT 3,4,17:PRINT "R - MEMORY RECALL" 21 PLOT 3,59,28:PRINT "M" 25 GOSUB 60000 70 HO= 61:HR= 0:D$= "0":GOSUB 400:N1= 0 100 GOSUB 60100 105 IF PT= 1AND C= 46GOTO 100 110 IF C= 46OR C> 47AND C< 58THEN GOSUB 200 120 IF C= 67THEN GOSUB 300 130 IF C= 43OR C= 45OR C= 42OR C= 47THEN GOSUB 600 140 IF C= 61THEN GOSUB 600 150 IF C= 65GOTO 70 160 IF C= 80THEN GOSUB 600 162 IF C= 77THEN M$= D$:GOSUB 700:N1= 0:PT= 0 164 IF C= 82THEN D$= M$:GOSUB 400 199 GOTO 100 200 REM UPDATE DISPLAY 202 IF N1= 0THEN D$= "":N1= 1 205 IF LEN (D$)= 7THEN RETURN 207 IF C= 46THEN PT= 1 210 D$= D$+ CHR$ (C) 230 GOSUB 500 240 GOSUB 400 299 RETURN 300 REM CLEAR DISPLAY 310 D$= "0" 315 PT= 0 320 GOSUB 400 330 RETURN 400 REM PUT D$ ON SCREEN4 410 D= LEN (D$):FOR I= - 4TO 7- D:POKE DS+ TW* I,32:NEXT I 420 FOR I= 1TO D:POKE DS+ (7- D+ I)* 2,ASC (MID$ (D$,I,1)):NEXT I 430 RETURN 500 REM SUPRESS LEADING 0S 505 IF LEN (D$)< 2THEN RETURN 510 IF LEFT$ (D$,1)= "0"THEN D$= RIGHT$ (D$,LEN (D$)- OE) 530 RETURN 600 REM OPERATIONS 610 N1= 0 620 IF HO= 43THEN HR= HR+ VAL (D$) 630 IF HO= 42THEN HR= HR* VAL (D$) 640 IF HO= 45THEN HR= HR- VAL (D$) 650 IF HO= 47THEN IF VAL (D$)< > 0THEN HR= HR/ VAL (D$) 655 IF HO= 61THEN HR= VAL (D$) 660 D$= STR$ (HR):GOSUB 400 662 IF C= 80THEN M$= STR$ (VAL (M$)+ VAL (D$)):GOSUB 700:HO= 61:GOTO 680 670 HO= C 680 PT= 0 699 RETURN 700 REM PUT M$ ON SCREEN 710 D= LEN (M$):FOR I= - 4TO 7- D:POKE DS+ TW* I- 256,32:NEXT I 720 IF D< > 0THEN FOR I= 1TO D:POKE DS+ (7- D+ I)* 2- 256,ASC (MID$ (M$,I,1)):NEXT I 730 RETURN 59999 END 60000 REM INI ROUTINE 60010 SS= 24576:TW= 2:ZE= 0:OT= 127:TR= 3:OE= 1 60020 PLOT 3,0,0:FOR I= 0TO 63:POKE SS+ 2* I+ 1,ZE:POKE SS+ 2* I,ZE:NEXT I:PLOT 3,0,0 60030 PLOT 3,64,0 60040 PLOT 3,120,0,0,0 60100 REM GET ROUTINE 60110 IF B1> 63THEN B2= 1 60190 X= PEEK (SS+ B1) 60195 IF B2= OEAND X= ZETHEN PLOT TR,120,ZE,ZE,ZE:B1= 0:B2= 2 60200 IF X= ZETHEN C= ZE:RETURN 60210 C= X:POKE SS+ B1+ OE,ZE:POKE SS+ B1,ZE:B1= B1+ TW 60220 RETURN