Forth from http://www.z80.info/

400 views
Skip to first unread message

Rachel Elsey

unread,
Nov 8, 2017, 7:34:01 AM11/8/17
to RC2014-Z80
Hello,

I found this source for a FORTH buried on the http://www.z80.info/ site at http://www.z80.info/zip/z80asm.zip

I know nothing of its origin or much about FORTH really but I fiddled around a bit.


I have had it running in RAM from the monitor and it seems to work OK.  I built a ROM image and had it running in a emulator but I haven't tried it
burning a ROM yet.

It's the "Nascom BASIC of FORTH's" :-)  It seems to be fig-forth-79 but I couldn't say for sure as I don't know anything of its origin.

Rachel

djrm

unread,
Nov 8, 2017, 1:35:55 PM11/8/17
to RC2014-Z80
Greetings Rachel,
Years ago I spent a lot of time installing a 6502 version of fig-FORTH on a home made 6809 system.
I'd like to try your version, what serial chip / address is it built for? or perhaps it doesn't matter.
I'm quite new to CP/M systems. I have a RC2014 with SIO2 serial ports.
Kind regards, David.

Rachel Elsey

unread,
Nov 8, 2017, 3:10:41 PM11/8/17
to RC2014-Z80
Hi David

Not using CP/M. Just the standard RC2014 system with the MC68B50 ACIA.  I haven't got it working properly on the real hardware yet. It's mangling the last characters in the word list. It works OK on the simulator I use but not on the real thing yet.

Rachel  
Message has been deleted
Message has been deleted

Spencer Owen

unread,
Nov 8, 2017, 3:30:54 PM11/8/17
to rc201...@googlegroups.com
I have to say that this news is probably the most exciting thing I've read today! :-)

As I think I've mentioned on here before, getting FORTH on to the RC2014 has been something on my wish list for ages. Every time I've looked in to it, I've ended up distracted by other things - although earlier this year I did find a copy for FORTH that was written for the Amstrad PCW that runs under CP/M. However, having a native FORTH that runs from ROM would just be awesome!

Hopefully I'll get a chance to test out your code tomorrow.  I guess that also means I will finally have to knuckle down and learn how to program in FORTH.... err, I mean FORTH. Program. Learn. I must. :)

Spencer 

On 8 Nov 2017 20:22, "Rachel Elsey" <rache...@gmail.com> wrote:
Actually ... I just fixed it so I made a new ROM and boots into FORTH and works fine now.  I think it was a problem with the home made terminal program I was using.

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/f09aee96-bbe0-43b2-ab93-2110f6009286%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Rachel Elsey

unread,
Nov 8, 2017, 3:42:43 PM11/8/17
to RC2014-Z80
Hi Spencer

Yes. It's working. It's a bit temperamental when it comes to redefining and forgetting words. :-) 

But it's OK if you program in an offline editor then do a cold start and squirt everything down.

Certainly good enough as a learning tool. Which is what I'm doing.  I about as far as ...  : Hello ." Hello World "; so far :-)

Rachel   

djrm

unread,
Nov 9, 2017, 6:50:58 AM11/9/17
to RC2014-Z80
I found this interesting discussion about fig FORTH in another group:
A version with screen support would be well worth having.
I used to have to use a tape drive for that luxury but the screens were held in NVR most of the time.
I wonder if any of the included links are working downloads. David

Rachel Elsey

unread,
Nov 9, 2017, 7:52:52 AM11/9/17
to RC2014-Z80
Thanks David, That's very interesting.  I shall have to read through it.

I manged to get some idea of the concept of screens by watching a video on youtube.


I seems to me from my limted understanding that the code/words for the handling the screens is there. You can list the screens and possibly execute from them.   However, the code for reading from what would have been a perhaps floppy disk writes to an area of RAM termed the pseudo disk.  But there does not seem to be any code to read or write the data from the RAM to a disk.  Also doesn't seem to be there are the words to edit the contents of the screens.  For example I saw a document somewhere the mention of a "P" word for putting a line of code into a line on a screen.  That is not there but there seems to be something about editors mentioned in the link you sent.

However, to be honest I have no real need for screens at this current point in time.  Like many people I am connecting to my RC2014 from a terminal on a host computer. So it is much easier to use a modern editor to enter the source and then send the text file down to the RC2014.

I do have a VT-320 terminal sitting on my desk and I do have dreams of a "retro-experience"  connecting to this and perhaps a floppy drive to hold the data from the screens as intended.  However,  I need to build a serial card that works slow enough and some sort of floppy drive or alternative.  I am nowhere near any of that as I am only really a beginner at this.

Rachel  


 

djrm

unread,
Nov 14, 2017, 2:39:33 PM11/14/17
to RC2014-Z80
Greetings,
A standalone rom version of forth would benefit form a screen storage scheme. The Forth block storage system is designed to be easy to implement on a raw system. One possibility would be to use the compact flash board in raw i/o mode bypassing the usual file system. I just happen to have a DIL 8MB diskonchip device gathering dust here, I'd be tempted to try and use this but the cost of buying one today makes it a poor choice for a new design but the retro image appeals to me.

I have been trying the DX forth available here http://obsolescence.wixsite.com/obsolescence/multicomp-fpga-cpm-demo-disk , it works very well on the RC2014 complete with disk file based screen load and save and a handy turnkey program creation tool to convert forth words into com files to run without the forth compiler.

Back in the day I used cassette tape for storage, I still have some boxes of tapes, they may still be readable. I wonder I still have my forth weaving loom simulation I wrote for the 6504 fig-Forth, I'd like to see that working again. I'm thinking of getting a tape reader working on the PC to revive some of my old archives. I used to use a baudot teleprinter for listings, then a daisywheel typewriter both modified for driving from the Forth system. I may still have a listing or two but most code writing was done by hand crafting machine code with pen and paper.

end of ramble for now, David.


Robert Liesenfeld

unread,
Nov 14, 2017, 4:35:31 PM11/14/17
to rc201...@googlegroups.com
It's great to see so many folks interested in Forth!  I've been playing with the fig-FORTH implementation found here http://www.cpm.z80.de/binary.html - it's made to run under CP/M, and seems to work well.  It implements screen loading and the screen editor outlined in Leo Brodie's "Starting FORTH" book.  Note that the online version of Starting FORTH glosses over the editor and recommends using a modern computer and OS to write your FORTH.  This is probably sound advice, but being a masochist^H^H^H^Hretro computing hobbyist, I'm working on writing a visual screen editor.  Not much to show for this yet, but it should be usable either under CP/M or a standalone FORTH.  I'll post more here as it comes along.

Other ideas I've had but may not get to for some time: routines for standalone FORTH that can understand and manipulate CP/M filesystems, and raw, CP/M and DOS filesystem support on floppies using Dr. Baker's floppy controller.  Don't mark your calendars, though, I never seem to have as much free time as I'd like to devote to my ideas.

-R

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.

djrm

unread,
Nov 14, 2017, 5:55:59 PM11/14/17
to RC2014-Z80
I have downloaded the example traffic lilghts program from Github here https://github.com/rachel8973/RC2014-FORTH/blob/master/Testing/Lights1.fs and made some minor edits and it now works on my DX Forth. The screen file is attached here.
This was a useful test to check compatibility, file load / save and input / output. 
The main problem I found was that the port input and output functions were differant.
hth David.
(for some reason I had to rename lights.scr to allow it to be posted here)
lights.scr.txt

djrm

unread,
Nov 14, 2017, 6:40:39 PM11/14/17
to RC2014-Z80
Before I leave it for tonight, the runlights program copies the value off the stack and loads the delay timer with it. the -1 which is usually there gives a suitable time. if you start it with another value faster cycling happens. e.g. 123 runlights, I only found out by accident when I put a value on the stack to test it wasn't adding or taking whilst it ran. The program can be converted to a .com file and runs ok but there is no way I know of to change the timer when running as a .com program. I'll look into this it could be useful.


here is a screen capture of a session where I start the system, load the screens, convert to .com exit and run the program.

A>dx lights

DX-Forth 4.01  2013-08-26  ANSI

Forth-94
Software floating-point (common stack)

Using LIGHTS.SCR

0 load CREATE is system C, is system (;CODE) is system  ok
words
   RUNLIGHTS           SEQUENCE            CHK_STOP            S_GREEN
   S_REDAMB            S_AMBER             S_RED               LIGHT
   CHG_MSG             WAIT                RED_AMBER           GREEN
   AMBER               RED                 CHANGE            | EDIT
 | EDITOR           #| ;C                | MACRO            #| ;CODE
#| CODE             #| LABEL            #| [ASM              | ASSEMBLER
 | -ASM             #| (*                | LOADFILE         #| \\
#| (                 | INCLUDE           | INCLUDED          | ICLOSE
 | LOADLINE          | RENAME            | DELETE            | DIR
 | LISTING           | SHOW              | QX                | INDEX
 | FYI               | ORDER
42 words ok
123 runlights
Sending ... 128
Sending ... 192
Sending ... 32
Sending ... 64
 ok
999 runlights
Sending ... 128
Sending ... 192
Sending ... 32
Sending ... 64
 ok
4000 runlights
Sending ... 128
Sending ... 192
Sending ... 32
Sending ... 64
 ok
.s
123 999 4000 <stack 2.414282E9 <f-stack  ok
. 4000  ok
. 999  ok
. 123  ok
. -18337
Error: "." stack?
.s
<stack  ok

turnkey runlights runlights  ok
bye

A>dir
A: DOWNLOAD COM : SURVEY   COM : ZAP      COM : TURBO    COM
A: DX       COM : FC80     COM : FC       INI : FC64     COM
A: DISKED   COM : HELLO    COM : PIP      COM : COPY     COM
A: NSWP     COM : TXT2BLK  SCR : JUNK     SCR : MBASIC   COM
A: COLBAR   BAS : BLK2TXT  SCR : LIGHTS   SCR : RUNLIGHT COM
A>runlight

Sending ... 128
Sending ... 192
Sending ... 32
Sending ... 64
Sending ... 128
Sending ... 192
Sending ... 32
Sending ... 64
Sending ... 128
Sending ... 192
Sending ... 32
Sending ... 64

A>




zzz

Reply all
Reply to author
Forward
0 new messages