I used super basic when I first a ql, but not for long. I had actual shells running on my QL back in the 80s, with UNIX inspired syntax, using |for redirection and to pipe output from one process to another. Super basic didn't support this stuff and it also didn't multitask so it wasn't a very good way of using all the facilities of qdos. We also had a working make build tool and a port of uEmacs, so you could be editing before the compilation had even finished. It all worked really well - a very nice development environment for a 16 bit micro at that time. Somewhere around here I have a few floppies with this stuff on them...
That sounds great. I don't use SuperBASIC much, but as a bult-in scripting language it's pretty handy, since it resides in ROM and can be used via boot file to load and configure any program you want. So that part works well. Next week you'll see a neat trick that SuperBASIC allows that gives it a UNIX/Linux -like progress bar.
There are a bunch of different FORTH for the QL. If you go on the QLForum and on top there is a QL Homepage link that gets you to Dilwyn's software page with all the public domain software (which is huge). Under Software Downloads there is a link for Languages and there you'll find them all. I'd put the link here but RUclips removes comments with links.
It even has a German BASIC only FORTH: 100 REMark BASED ON AN ARTIKEL IN DR. DOBB'S JOURNAL OCT. 1981 PAGE 12 110 REMark Adapted to QL Rainer W. Gerling 1985,1986 120 DEFine FuNction POP 130 N=N-1: STACK(N):RETurn S(N+1) 140 END DEFine 150 DEFine PROCedure PUSH(X) 160 N=N+1:S(N)=X 165 STACK(N) 170 END DEFine 180 DEFine FuNction SGN(X) 190 IF X=0:RETurn 0:ELSE IF X>0:RETurn X:ELSE RETurn -X 200 END DEFine 210 DEFine PROCedure STACK(N) 215 AT#4,0,0 220 IF NS(N+1) THEN GO TO 1840 1830 S(N)=0:GO TO 1180 1840 S(N)=1:GO TO 1180 1850 IF A$"R R> * / + - ABS ATN COS EXP INT LOG RND SGN" 2590 PRINT"SIN SQR TAN ^ = > < IF ELSE THEN BEGIN UNTIL DO LOOP" 2600 PAUSE 2610 END DEFine info 2620 DEFine PROCedure SICHERN(X) 2630 DELETE "mdv"&X&"_QLFORTH_bas" 2640 SAVE "mdv"&X&"_QLFORTH_bas" 2650 END DEFine SICHERN
I used super basic when I first a ql, but not for long. I had actual shells running on my QL back in the 80s, with UNIX inspired syntax, using |for redirection and to pipe output from one process to another. Super basic didn't support this stuff and it also didn't multitask so it wasn't a very good way of using all the facilities of qdos.
We also had a working make build tool and a port of uEmacs, so you could be editing before the compilation had even finished. It all worked really well - a very nice development environment for a 16 bit micro at that time.
Somewhere around here I have a few floppies with this stuff on them...
That sounds great. I don't use SuperBASIC much, but as a bult-in scripting language it's pretty handy, since it resides in ROM and can be used via boot file to load and configure any program you want. So that part works well. Next week you'll see a neat trick that SuperBASIC allows that gives it a UNIX/Linux -like progress bar.
Hello and congratulations on your channel.
Is there an implementation of the Forth language for the Sinclair QL?
Keep up the good work!
There are a bunch of different FORTH for the QL. If you go on the QLForum and on top there is a QL Homepage link that gets you to Dilwyn's software page with all the public domain software (which is huge). Under Software Downloads there is a link for Languages and there you'll find them all. I'd put the link here but RUclips removes comments with links.
It even has a German BASIC only FORTH:
100 REMark BASED ON AN ARTIKEL IN DR. DOBB'S JOURNAL OCT. 1981 PAGE 12
110 REMark Adapted to QL Rainer W. Gerling 1985,1986
120 DEFine FuNction POP
130 N=N-1: STACK(N):RETurn S(N+1)
140 END DEFine
150 DEFine PROCedure PUSH(X)
160 N=N+1:S(N)=X
165 STACK(N)
170 END DEFine
180 DEFine FuNction SGN(X)
190 IF X=0:RETurn 0:ELSE IF X>0:RETurn X:ELSE RETurn -X
200 END DEFine
210 DEFine PROCedure STACK(N)
215 AT#4,0,0
220 IF NS(N+1) THEN GO TO 1840
1830 S(N)=0:GO TO 1180
1840 S(N)=1:GO TO 1180
1850 IF A$"R R> * / + - ABS ATN COS EXP INT LOG RND SGN"
2590 PRINT"SIN SQR TAN ^ = > < IF ELSE THEN BEGIN UNTIL DO LOOP"
2600 PAUSE
2610 END DEFine info
2620 DEFine PROCedure SICHERN(X)
2630 DELETE "mdv"&X&"_QLFORTH_bas"
2640 SAVE "mdv"&X&"_QLFORTH_bas"
2650 END DEFine SICHERN
@@8BitRetroJournal Great! And thank you so very much for all this information!