Re: Forth
Posted: Tue Apr 21, 2020 10:22 pm
And may the forth be with you.
I really like EightyOne. I find it funny that at first glance it seems to only be ZX81 and then boom, you get Spectrum in all its glory. So I tried to speed up the ZX81 by adjusting its speed setting to 16 under Options but nothing. Any idea how to change that?polka wrote:Hi,
I am sure that you all know where to download the best emulator for ZX80, ZX81, Spectrums, ... and Jupiter ACE :
https://sourceforge.net/projects/eighty ... -emulator/
POLKa
Just a couple of weeks too earlyNormanDunbar wrote:And may the forth be with you.
Actually, before Jupiter ACE, there was ZX-FORTH loadable from an audio cassette into ZX81 and ZX Spectrum. This one stored programs on tape with "sreens" which were individual 1024 bytes files, with a number in their header ; and on the tape, just after the FORTH binaries you could load the 3 first screens as a complete screen editor, indeed rather uneasy to use with audio tapes :ajb wrote:ACE Forth was close to 79-standard but wasn't. The main difference was that it didn't use SCREENS, instead you could decompile words, edit them and add them back. It was a very inventive move given that there was no storage system which would allow SCREENS. The cassette interface would be entirely unsuited to that.
Today is THE day when the FORTH will be with youNormanDunbar wrote: And may the forth be with you.
(since you want... some listings). This is a little application that I coded for ComputerOne FORTH thirty years ago ; it draws on the QL display (512x256) a true perspective projection of any 3D "object" like it would be seen by a photographic lens. In this zipped doc, I explain how this FORTH application was coded layer by layer - and I hope that you will understand that FORTH is not quite a RPN calculator, but a way to factorize efficiently an application program.Derek_Stewart wrote: If anyone has any good Forth listings, I would be interested in seeing them.
Code: Select all
BEGIN . . . ?TERMINAL IF KEY ELSE 0 ENDIF . . . REPEAT
Code: Select all
: ANIMATION
BEGIN
DREAM WAKE-UP
CASE
. . . ( change rotation parameters )
END-CASE
64 = UNTIL ( exit when space bar is pressed ) ;
Code: Select all
: DREAM
BEGIN 1 KEYROW
( change the point of view and draw an image as long as no key is pressed )
?DUP 0 <> UNTIL ( exit this loop and remember the key code ) ;
: WAKE-UP
BEGIN 1 KEYROW
( loop as long as a key is still pressed )
0 = UNTIL ( exit when no longer a key is pressed ) ;
Code: Select all
24 DEFine PROCedure DEFDEV( default$ )
25 Q=RESPR(16000)
26 LBYTES default$ & "_forth83_job",Q
27 POKE Q+4096+16,CODE(default$(1))
28 POKE Q+4096+17,CODE(default$(2))
29 POKE Q+4096+18,CODE(default$(3))
30 POKE Q+4096+19,CODE(default$(4))
31 SEXEC default$ & "_FORTH83_JOB",Q,15712,54432
32 END DEFine DEFDEV