ZX81 Toddy Forth-79

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
Moggy
Posts: 3231
Joined: Wed Jun 18, 2008 2:00 pm

Re: ZX81 Toddy Forth-79

Post by Moggy »

kmurta wrote: Wed Jun 30, 2021 3:59 am Hi Fred, I am very pleased that you are enjoying the TF79! But it's fair to point out that floating point extension and double numbers extension are not my work, they were developed for the ZX Spectrum Forth-83 by Lennart Beschop, who kindly granted me permission to include them with the TF79. The Assembler is also part of Lennart's Forth-83 and was developed by Coos Haak. Really these extensions greatly enrich the experience with the TF79 and I'm very grateful to Lennart for that.
Understood Kelly and full praise for their work, but I think it only fair that you take some credit for getting TF79 and the ZX81 to actually work with those extensions and work very well too. :D
User avatar
kmurta
Posts: 302
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: ZX81 Toddy Forth-79

Post by kmurta »

I ran Byte Magazine's Sieve Benchmark on the TF79 and I confess that I was quite surprised with the result when comparing it with the one obtained by Jupiter Ace.

2021-06-30 (1).png
2021-06-30.png
SIEVE.png
SIEVE.png (7.38 KiB) Viewed 3504 times


13751 Frames x 20ms = 275,02 seconds, in SLOW mode! :o

The Jupiter Ace takes 383 seconds to run this same benchmark, while the ZX Spectrum running the equivalent in BASIC takes 4869 seconds :roll:

Not bad for the little Zeddy :ugeek:
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
Moggy
Posts: 3231
Joined: Wed Jun 18, 2008 2:00 pm

Re: ZX81 Toddy Forth-79

Post by Moggy »

I have run benchmarks from back then that were run on 4 and 5 MHz machines, and in fast mode the ZX81 and Toddy Forth wiped the floor with them.
which is a fair comparison as these machines all had dedicated video generation and running the zeddy in fast mode made them equal in that respect.
Looking at that picture the Ace is using fast mode to calculate, then slow mode to show the result so I reckon the Zeddy would be faster if TF79 had a fast mode.

Not sure which prime generator you are using but if it is the version based on the one found at Rossetta Code then it is slow.
I use the one which I think is based on BBC Forth which is faster.
User avatar
kmurta
Posts: 302
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: ZX81 Toddy Forth-79

Post by kmurta »

I was aware that TF is faster than JACE's Forth, but my surprise was to see that even in SLOW mode TF was faster in this case, I didn't expect that. In FAST mode the benchmark runs in 70 seconds.

I'm using the code published in this Byte Magazine article: https://archive.org/details/byte-magazi ... 1/mode/2up
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
User avatar
kmurta
Posts: 302
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: ZX81 Toddy Forth-79

Post by kmurta »

Moggy wrote: Thu Jul 01, 2021 1:35 pm I have run benchmarks from back then that were run on 4 and 5 MHz machines, and in fast mode the ZX81 and Toddy Forth wiped the floor with them.
I ran this benchmark, the results are impressive:


Forth Benchmarks.png
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
User avatar
kmurta
Posts: 302
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: ZX81 Toddy Forth-79

Post by kmurta »

Identified an error in the definition of the word UNTIL in the Assembler vocabulary, package with the fix in the first post.

Edit: The error was just for me, it is not present in TFORTH-101.ZIP. Sorry for the false alarm.
Last edited by kmurta on Fri Jul 09, 2021 2:11 pm, edited 1 time in total.
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
Moggy
Posts: 3231
Joined: Wed Jun 18, 2008 2:00 pm

Re: ZX81 Toddy Forth-79

Post by Moggy »

kmurta wrote: Thu Jul 08, 2021 11:14 pm Identified an error in the definition of the word UNTIL in the Assembler vocabulary, package with the fix in the first post.
Hi Kelly!


How does this error show itself, could you provide an example of how this error may effect things?

I thought UNTIL was part of the main vocabulary? Does this mean the FLOAT' and double packages have to be re-compiled for use? I ask this as I have made FLOAT' and and the DOUBLE package part of my main vocabulary and wouldn't want to recompile all this plus rework any screens I may have.


Best Regards.

Fred.
User avatar
kmurta
Posts: 302
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: ZX81 Toddy Forth-79

Post by kmurta »

Moggy wrote: Fri Jul 09, 2021 12:56 pm I thought UNTIL was part of the main vocabulary? Does this mean the FLOAT' and double packages have to be re-compiled for use? I ask this as I have made FLOAT' and and the DOUBLE package part of my main vocabulary and wouldn't want to recompile all this plus rework any screens I may have.
I made a big mess here! :?

The error was only in my file, the Assembler screens in the TFORTH-101.ZIP package are correct, so no need to worry.

Sorry for the confusion. :oops:
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
User avatar
kmurta
Posts: 302
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: ZX81 Toddy Forth-79

Post by kmurta »

After a long time without being able to dedicate myself to Zeddy, this week I spent a few hours trying to correct the word F< (from Floating Point Extension) and I ended up discovering that the words F. and F.R didn't work correctly either, they didn't print the "minus" sign for negative numbers.

The error with F< comes from the original version of the extension, it also doesn't work in the original Spectrum Forth-83. But the error with F. and F.R was originated in the conversion of the F-83 to the F-79, my fault, I'm sorry.

In the first message of this subject you will find the new Floating Point Extension with fixes for these issues.
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
User avatar
kmurta
Posts: 302
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: ZX81 Toddy Forth-79

Post by kmurta »

A new version was released, with some fixes, one of them critical.

Available in the first topic of the thread, as usual.

https://sinclairzxworld.com/viewtopic.p ... 146#p43146
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
Post Reply