First, thanks to all who have offered some interesting test programs, much appreciated! I also found the WIDTH setting and changed the default, so the first test program (from Mike) works as it should along with the Mandelbrot program (from Bill). I've been swamped on other fronts this past week, but spent some time working on the code yesterday and late last night. and still trying to resolve some odd issues.
1- Using Ctrl-C will generally exit the running program, but attempting to RUN it again results in a BRK condition that the BIOS/Monitor routines traps. I have to Cold start EhBasic to resolve it.
2- Using a Warm start will show the existing program via LIST, but again, it won't RUN without a Cold start and re-entering the program.
There's more than the above... but I also tried the programs from Bruce with odd results. The first one's results:
Code:
Ready
10 P=3
20 FOR I=1 TO 5
30 PRINT P
40 P=P+SIN(P)
50 NEXT
RUN
3
3.14112
3.14159
3.14159
3.14159
Ready
The second's results:
Code:
Ready
100 DIM N(104)
110 FOR T=1 TO 104:N(T)=2:NEXT
120 FOR D=1 TO 31
130 Q=0
140 FOR T=104 TO 1 STEP -1
150 B=2*T-1
160 IF T=1 THEN B=10
170 R=T*Q+N(T)*10:Q=INT(R/B):N(T)=R-Q*B
180 NEXT
190 PRINT Q;
200 IF D=1 THEN PRINT ".";
210 NEXT
RUN
3. 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9
Ready
The third program only printed blanks (spaces) on multiple lines, so not sure what it should be doing:
Code:
Ready
10 P=ATN(1)*4
20 FOR Y = -10.5 TO 10.5
30 FOR X = -10.75 TO 10.75 STEP .5
40 A=ATN(Y/X)+(X<0)*SGN(Y)*P
50 C=(SQR(X*X+Y*Y)-A/2)/P
60 PRINT CHR$(32+3*(C-INT(C)<.4));
70 NEXT
80 PRINT
90 NEXT
RUN
Ready
The fourth program runs endlessly (I eventually stop it) as:
Code:
Ready
10 W=79
20 DIM A(W+1):A(W/2+1)=1
30 FOR I=0 TO 7:B(I)=ASC(MID$("00011110",8-I))-48:NEXT
40 P=A(W):A(W+1)=A(1):FOR I=1 TO W:N=A(I)
50 PRINT CHR$(32+3*N);
60 A(I)=B(4*P+2*N+A(I+1)):P=N:NEXT:PRINT
70 GOTO 40
RUN
#
###
## #
## ####
## # #
## #### ###
## # # #
## #### ######
## # ### #
## #### ## # ###
## # # #### ## #
## #### ## # # ####
## # ### ## ## # #
## #### ## ### ### ## ###
## # # ### # ### # #
## #### ## # # ##### #######
## # ### #### # ### #
## #### ## ### ## ## # ###
## # # ### # ## ### #### ## #
## #### ## # ###### # # ### ####
## # ### #### #### ### ## # #
## #### ## ### # ## # # # ### ###
## # # ### # ### ## # ### ## # # # #
## #### ## # ### # # #### # # ## ######
## # ### #### ## ##### # ##### # # #
## #### ## ### # ## # # ## # ##### ###
## # # ### # ## # #### ## # ## ## # ## #
## #### ## # ### # # # ### #### # ## # ## # ####
## # ### #### #### ## ## ### # # #### # # #
## #### ## ### # ## # # ### # ## #### ### ## ###
## # # ### # ## # # ##### # ###### # # ## # # #
## #### ## # ### # # #### #### #### ## # # #########
## # ### #### #### # # ## # ## # # # # #
## #### ## ### # ## ## ### ## # ### ## # ##### # ## ###
## # # ### # ## # # ## # # # # # #### # # # ## #
## #### ## # ### # # #### #### ##### ## ##### # ## # ## ## ####
## # ### #### #### # # # # # # ### ## # # ### # #
## #### ## ### # ## ## ### ### ###### ## # # ### # # #### ###
## # # ### # ## # # ## ### ### # ## ### ## ## # # #### # #
## #### ## # ### # # #### # ### ### # # ## ### # ## ## # # ######
# ### #### #### # ###### ### # ## ## ### ###### # ## #####
### ## ### # ## ## ## ### # ## # # # ### ###### # #
## # ### # ## # # ## # # ## ### # ########## # ## #### ###
## # ## # ### # # #### ### ## ## ### #### #### ## # ## ### #
# # # #### #### # # # # # # ## # ## # ## ## # ## #####
### #### # ## ## ### ########### # # ### ## # ##### # # # ###
## # # ## # # ## ### # # # # # ## #### ###### # # #
# # ### ## # # #### # # ### ## # ##### ## ### # ## # ##### #
# # # #### # ###### # # ## # # # # # ##### # ## # #
### ## ##### ## ## ##### ## ### ## ######## # ## ## ## ##
# # # ## # # ## # ## # # # ## ## ## ### ### # ##
###### ##### ### ## ## # ### ## #### ## # # # ## # ## # # # # #
# ## ### # # ### #### # # # # # ## ## # # #### ### ## # #
# # ## # ### ## # ### # ###### ##### # # # ## ### # # # # # #
### ## ## #### ## # #### # ## # ### # # #### # # ## ### ##### #
# # # # # ##### ### # ## ## # ## # # #### ## # ### # #
# ######### ## # # # ## #### # ## #### ## # ## ## # # # # ### ##
### ### # ## ## # # ## # # # # ### # # # ##### #### # # ##
## # ## ### # ### # # # # ## ##### ## # #### #### # #### # #
#### ## ### # # ### # # #### # ### ## ## # # ### ## # #
### # ## # # ## #### # # # #### ## ### # # ### ### ## ### # ## #
# ##### ###### # # # ## # ## ## ### ### ### #### # # ### #### #
# ## # # ##### ## # # # # # ## # ### # # ### ## # # ## ###
# ## ### ## # #### #### # # # ##### # ### ## # # #### # # ##
##### # ## # ## # ##### # # # # # ### # # ## ##### # # # #
## # # ###### ## ## # ### ## # # ## ## ## ##### # # ## # # ##
# ## # # ### # # ##### ### # # # ### # ## # #### ##### # # #
### ## # ## ## ### #### ### ### # # # # # #### ## ### ### # ##
# # ### # # ## ### # # ## ### # # ## ## # # ### # ## # ## # #
### ## # # # # # # ### ##### ### # ## # # # # ## ## # # ###### # ## ##
# ## ## # ####### # # # ### # # ####### # # # ## # # # # #
##### # # # ## ### ##### #### # #### # # # ## ## #####
# ## ###### ## ## # # ## # ## ## ## # #### # # ## #
# # # ## # # ##
Break in line 40
Ready
So, still a ways to go.... I've had to re-arrange Page zero quite a bit and moved the CHRGET/CHRGOT routine from Page Zero to ROM... I'm not using EhBasic to intercept the IRQ/NMI routines yet either. I'm hoping to get more free time to work on this in the near future... but retirement has gotten overly busy, who knew