add example basic program

This commit is contained in:
Greg Gauthier 2025-01-17 22:03:32 +00:00
parent e027b02177
commit c469d68454

View File

@ -8,4 +8,70 @@ I have a love-hate relationship with BASIC. It's easy to get started, it's diffi
---
* [Display The ATASCII Character Set](charset.md)
**Display the ATASCII character set**
<pre class="atari">
10 GRAPHICS 0
15 DIM CHAR$(10)
20 FOR I=0 TO 252
21 IF I=125 THEN CHAR$="[CLEAR]":GOTO 45
22 IF I=155 THEN CHAR$="[RETURN]":GOTO 45
23 IF I=29 THEN CHAR$="[UNPRINTABLE]":GOTO 45
35 CHAR$=CHR$(I)
45 PRINT I;" ";CHR$(27);" ";CHAR$
50 NEXT I
60 REM USE CONTROL-1 TO PAUSE
</pre>
**Variable Name Introspection**
<pre class="atari">
100 REM PROGRAM TO PRINT THE VARIABLE NAME LIST
105 PRINT "Before line 110"
110 DIM ARRAYNAME(1),STRINGNAME$(1)
120 REM GET THE BEGINNING OF THE LIST
125 PRINT "Before line 130"
130 ADDRESS=PEEK(130)+PEEK(131)*256
135 PRINT "Before line 140: ";ADDRESS
140 ? CHR$(125);"VARIABLE NAME LIST"
150 REM GET CHARACTER AND TEST FOR END
155 PRINT "Before line 160"
160 A=PEEK(ADDRESS):IF A=0 THEN END
165 PRINT "Before line 180: ";A
170 REM PRINT CHARACTER
180 IF A<128 THEN ? CHR$(A);:REM 210
190 ? CHR$(A-128)
200 REM GET NEXT ADDRESS AND REPEAT
210 ADDRESS=ADDRESS+1:REM 160
</pre>
**The MYMORT1 Program from DTSS**
<pre class="atari">
1 REM MORTGAGE COMOPUTER
2 REM YEARLY INTEREST RATE
10 DATA 0.05
15 REM INITIAL PRINCIPAL
20 DATA 28500
25 REM MONTHLY PAYMENT
30 DATA 170
35 REM STARTING MONTH AND YEAR
40 DATA 1, 1964
50 READ I, P, P1, M, Y
60 LET R = 1 + I/12
70 PRINT "YEAR", "PRINCIPAL"
80 PRINT Y, P
90 LET P = P*R - P1
100 IF P >= 0 THEN 120
110 LET P = 0
120 LET M = M + 1
130 IF M > 12 THEN 160
140 PRINT " ",
150 GO TO 190
160 LET M = 1
170 LET Y = Y + 1
180 PRINT Y,
190 PRINT INT(P)
200 IF P > 0 THEN 90
210 END
</pre>