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)
- 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).
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).