zzzFORTH

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
bigbob
Member
Member
Posts: 122
Joined: Tue Oct 01, 2013 2:50 am
Location: Budapest, Hungary
Contact:

zzzFORTH

Post by bigbob »

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).
Last edited by bigbob on Wed Dec 04, 2024 3:15 pm, edited 2 times in total.
Alexey1994
Member
Member
Posts: 61
Joined: Sat Jan 28, 2023 11:41 am
Location: Belarus
Contact:

Re: zzzFORTH

Post by Alexey1994 »

bigbob wrote: Tue Nov 05, 2024 7:19 am https://github.com/MrBig321/zzzForth
60,000 loc in assembler. How long did it take you to write all this?
bigbob
Member
Member
Posts: 122
Joined: Tue Oct 01, 2013 2:50 am
Location: Budapest, Hungary
Contact:

Re: zzzFORTH

Post by bigbob »

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 :D
Most of the code that is available in FORTH now, was first written in assembly.
Post Reply