programandala-net / solo-forth

Standard Forth system for ZX Spectrum 128 and compatible computers, with disk drives.
http://programandala.net/en.program.solo_forth.html
Other
22 stars 2 forks source link

no vocab entries on +3e #1

Closed andrewmcv closed 3 years ago

andrewmcv commented 6 years ago

hi, i'm using retro virtual machine on OSX to run Soloforth in +3e mode. I can load the disk image fine, but I can't seem to find many words. "dup" etc work but "words" and any other word listed in the manual generate an error of #-265

What am I doing wrong? I'm super keen to use this forth!

programandala-net commented 6 years ago

Thank you for trying Solo Forth.

I can't seem to find many words. "dup" etc work but "words" and any other word listed in the manual generate an error of #-265

Given its goal and the limitations of its target platforms, Solo Forth has a small kernel by design (and still shrinking!), which contains only the words needed by the system. The rest is in the library.

The instructions how to use the library are in the README and the manual.

Anyway, are you trying the latest release, 0.14.0-pre.209, which is quite old (in fact, I think +3DOS still had some issues accessing the library block disks, while G+DOS and TR-DOS worked fine), or have you built the system from the latest sources? The final 0.14.0 is almost ready to be released, and it contains many improvements.

-- Marcos Cruz http://programandala.net

andrewmcv commented 6 years ago

Hi Marco,

Thank you for trying Solo Forth.

Thank you for making it ;-P

Solo Forth has a small kernel by design (and still shrinking!), which contains only the words needed by the system. The rest is in the library.

Ah, great to know. What word lists the defined words? I thought it was "words" after browsing the manual. I get a #-256 error also though. I presume -256 is word not found?

have you built the system from the latest sources?

I started and got about 90% of the way through. i was using OSX and had to build some of the required tools, I expect it's easier on a windows system. There was one tool that only had a windows version - i think from memory it was the tool to create the disk image. I had a look at the C code which started with #include so I might need to use my windows machine.

Is it possible for you to build the current version and get the disk images to me, just to try?

The instructions how to use the library are in the README and the manual.

I followed the library load instructions and still got a #-256 error or similar. I'll get the exact text to you.


My hope is that this after I understand how the DOS support works I can help with the move to the spectrum next. I have one of the boards at home...

Andrew

programandala-net commented 6 years ago

What word lists the defined words? I thought it was "words" after browsing the manual. I get a #-256 error also though.

Of course it's words. But as said it's in the library. You have to require it from the library block disk: first 1 load (once, just to load the need tool), then need words, as explained in the README.

I presume -256 is word not found?

Yes. Actually, -13 is the standard "word not found". -256 is a more specific error from the interpreter: "not a word nor a number".

The error codes are not integrated into the documentation yet. You can read them in the source files <src/lib/exception.*>.

have you built the system from the latest sources?

I started and got about 90% of the way through. i was using OSX and had to build some of the required tools, I expect it's easier on a windows system.

I use Debian. I'm afraid it's much more difficult on Windows: a user tried to install all the requirements on Windows, and he didn't succeeded yet...

There was one tool that only had a windows version - i think from memory it was the tool to create the disk image. I had a look at the C code which started with #include so I might need to use my windows machine.

Maybe you mean tap2dsk from John Elliott's taptools (http://www.seasip.info/ZX/unix.html)? I compiled it on Debian a long time ago without any issue. By the way, it was not listed in the requirements. I just added it.

Is it possible for you to build the current version and get the disk images to me, just to try?

No problem. Send your email to the contact address you can find at my domain. I'll send you the latest versions of the +3DOS disk images and the manual.

My hope is that this after I understand how the DOS support works I can help with the move to the spectrum next. I have one of the boards at home...

Great. My plan was to support NextOS in version 0.15.0. I'm waiting for my Next, but meanwhile I could use the ZEsarUX emulator. Anyway, the API of Garry Lancaster's NextOS is excellent, so I think the basic support will be easy to add. In fact I wrote most of the basic code for another project, DZX-Forth for +3DOS (a port of CP/M DX-Forth): support for block files and ordinary source files. DZX-Forth was abandoned for several reasons, and superseded by Solo Forth, but I will upload it to GitHub.

-- Marcos Cruz http://programandala.net