After almost 5 years of official inactivity, SqueakNOS, apparently, has come back from its ashes. This article will try to describe what we are releasing today as a bootable ISO image, talk a little bit about how we got here and a little bit about what's coming next. And quite probably, about some other related things too.
Today, in SqueakNOS-16-May-2006.iso you'll find:
a bootable ISO image for PC computers (better playable with vmware).
the .image and .chages files corresponding to that SqueakNOS.
the C sources and everything you should need to rebuild it.
Second binary release.
Keyboard, [PS/2]Mouse and Serial Port IRQs are handled in Squeak!
Now you may boot and enjoy Squeak's MVC environment.
And then, if you want, you may use your modem (Yes! the serial port is working!)
Happy Happy, Joy Joy!
IRQs are being handled inside the image
We have a first example of the scheme: Keyboard IRQ handling.
A Semaphore is created, and then signaled by the native side when a new IRQ arrives (one Sem. per IRQ is the idea, we may move latter to dispatching IRQs inside the .image, making it with only one Sem. for all IRQs, just to move more inside)
Everything else regarding IRQ handling must be done by the Squeak side: Signaling the hardware (PIC) for an EOI, input & output, etc.... read more
Now you can test it! You won't see much, but it's there! you can boot it!
Primitive #550 prints 'Hello World!' on text console.
There is a squeak image at ftp://SqueakNOS.sourceforge.net/pub/SqueakNOS/HelloWorld.image with a startup method replaced by <primitive: 550>, resulting in a Hello World! printed on the console when Squeak starts
First version of the booloader was commited.
It's based on Linux's bootloader, it still has some problems, but it's there and working