zzzFORTH
Posted: Tue Nov 05, 2024 7:19 am
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)
- IDE hard disk driver
- Multitasking (but only one core or CPU is used)
- USB(EHCI, XHCI) driver (can read/write files from/to pendrive formatted to FAT32)
- HDAUDIO driver (very limited, but can play a WAV-file (PCM))
- Can boot from Floppy/HD/USB-MSD
In FORTH (in ZFOS/fthsrc/):
- 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
Planned: AHCI
How to build and run
Add executable permission to scripts (in zzzFORTH folder):
chmod +x *.sh
./buildAll2.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).
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)
- IDE hard disk driver
- Multitasking (but only one core or CPU is used)
- USB(EHCI, XHCI) driver (can read/write files from/to pendrive formatted to FAT32)
- HDAUDIO driver (very limited, but can play a WAV-file (PCM))
- Can boot from Floppy/HD/USB-MSD
In FORTH (in ZFOS/fthsrc/):
- 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
Planned: AHCI
How to build and run
Add executable permission to scripts (in zzzFORTH folder):
chmod +x *.sh
./buildAll2.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).