albertvanderhorst / ciforth

A generic system for creating i86 implementations of the language Forth.
https://forth.hcc.nl/producten/ciforth.html
GNU General Public License v2.0
59 stars 7 forks source link

Video walk through of building lina or other versions using ciforth, porting strategy #10

Closed truedat101 closed 4 months ago

truedat101 commented 6 months ago

This is all fascinating. I stumbled on this while looking at https://github.com/albertvanderhorst/ciasdis/blob/master/README.assembler

ciasdis. I found this through a post on stack overflow where you commented on an answer to a question where ciasdis was the recommended tool.

Given the age of some of the software, a refresher on a newer debian/ubuntu system would be fantastic, walking through the premise for the build, installing any dependencies (tex or others), and how to verify the binary against test data. It's well documented, but I ran into issues building on Ubuntu 22.04.

Additional area that will be of value:

albertvanderhorst commented 6 months ago

A video is not going to happen. Video's are low information content and a lot of work. More over it would refer to a dozen of Forths and each user would be interested in a small percentage of the video. I am working on a version that caters for the need of Forthers in the Netherlands to make it easier for them to use ciforth in a traditional way. Your comment inspires me to add a howto in the wiki, and add howto's for releases that are more or less guaranteed to work. Until then I will not close this subject. See howto in the wiki.

truedat101 commented 6 months ago

Understood, a video produced takes 4x-10x the time to per minute of contents. Perhaps in my head I was thinking of a terminal based screen capture of some of the common workflows to get set up and productive in the ciforth, as a "video". These are easily made in a screen sharing session, should you ever host any meetings in Netherlands over zoom or some other conferencing platform.

No matter, the wiki is a perfect place to go, and I guess I didn't see the wiki when I came into the repository. I will follow along as you make changes to this. Thanks and I look forward to exploring.

albertvanderhorst commented 4 months ago

With release 5.5 and the new howto_lina and howto_win in the wiki you should be able to generate the Forth's.

As for porting strategy, this is surprisingly simple. You edit the main file ci86.gnr --> ciarm.gnr and replace all the assembler routines. You also tweak the *.m4 files to accomodate the assembler (change the comment symbol etc.) Once the Forth is working, make the targets testlina64 etc. This probably detects defects. Once they are fixed you have a near usable Forth. The -c or -s or -g options require some more attention probably.

Using the system for ai. Frankly I have given up on that.

truedat101 commented 4 months ago

great I will check out the tag mentioned : https://github.com/albertvanderhorst/ciforth/releases/tag/CVS_REL-5-5-0

Thank you.

albertvanderhorst commented 4 months ago

The wiki pages are now completed mostly.