Hi,
For those who are interested in FORTH.
Introduction
zzzFORTH (also called ZFOS) written in 32-bit Intel-assembly and FORTH.
The best FORTH tutorial is "Starting FORTH by Leo Brodie":
https://www.forth.com/starting-forth/
https://github.com/MrBig321/zzzFORTH
Features
- Resolutions: 1024x768x16 or 640x480x16 (for Eee PC)
- Multitasking (but only one core or CPU is used)
- USB(EHCI, XHCI) driver (can read/write files from/to pendrive formatted to FAT32)
- Can boot from Floppy/HD/USB-MSD
In FORTH (in ZFOS/fthsrc/):
- IDE hard disk driver
- HDAudio driver (very limited)
- BLOCK
- HEXVW, HEXED
- TXTVW, TXTED
- SIN, COS, TAN, SQRT (fixed point math)
- LINE, POLYGON(can be filled), CIRCLE(can be filled), PAINT
- Sutherland-Cohen line-clipping
- Sutherland-Hodgman polygon clipping
- BEZIERQ, BEZIERC
- Scrolling of the content of rectangular areas
- QOI image format (decode/code) supported
- 3D (fixed point math) (e.g. rotating cubes)
See ZFOS/docs for details
The original assembly code of the drivers (IDE, HDAUDIO) are available in the ASM folder.
Planned (in FORTH):
- USB (EHCI, XHCI)
- Modified FAT32 filesystem
- AHCI
- Astronomical Algorithms (Jean Meeus !?)
- Games
How to build and run
Add executable permission to scripts (in zzzFORTH or ZFOS folder):
chmod +x *.sh
./buildAll.sh
See docs/emulators.txt or docs/USBBoot.txt on how to start.
EDIT:
Note that sometimes a file is not found when usbfsread is executed. It is a bug in usb/fat32.asm (usbfat32_read, long/short entries).
A fix has been uploaded, but still there can be problems with it (so it is not related to usb).
zzzFORTH
-
- Member
- Posts: 61
- Joined: Sat Jan 28, 2023 11:41 am
- Location: Belarus
- Contact:
Re: zzzFORTH
60,000 loc in assembler. How long did it take you to write all this?
Re: zzzFORTH
I started it 10 or 11 years ago, but there were years when I didn't do anything in connection with the development.
Although periods of unemployment gave the development a huge boost
Most of the code that is available in FORTH now, was first written in assembly.
Although periods of unemployment gave the development a huge boost
Most of the code that is available in FORTH now, was first written in assembly.