Sunday, July 5, 2020

HelenOS joke

Most people's reaction to HelenOS I know. Let's just port X! It sometimes happens even to seasoned HelenOS developers.

Saturday, May 30, 2020

Experiment: HelenOS in DOSBox

A while back I tried running HelenOS is DOSBox. This may sound strange, but DOSBox is a full machine (CPU + peripherals) emulator and a DOS emulator *in addition*. It fully emulates i386 protected mode by necessity, since many DOS protected mode software simply switches the CPU to protected mode instead of relying on DPMI. You can run Windows 3.1 in DOSBox just fine. Therefore there seems to be no reason why HelenOS compiled for 486-class or similar CPU could not run in DOSBox.

How to boot it? DOSBox cannot boot from CD-ROM, but it can boot an OS from a hard disk image. So I installed HelenOS IA-32 using sysinst to a hard disk image and then tried booting it in DOSBox. However, the boot failed very early in GRUB, even before the minimal command line (I think it printed 'GR' or something, I might not remember correctly). Too bad we don't have other boot methods available for x86.

I see two options how to proceed. Either try to diagnose why GRUB fails (might require instrumenting DOSBox as I don't believe it has extensive debugging facilities) with the hope of making it work (might not be easy). The other option is to use another boot method. The optimal boot method for DOSBox might be to 'chain-load' HelenOS from DOS, i.e. have a DOS application that loads HelenOS .. kind of like Windows gets loaded from DOS.

But why would anyone want to run HelenOS in DOSBox, I hear you ask? Well, apart from it being pretty darn cool, DOSBox can emulate some HW that Qemu can't such as some old sound and video cards, MIDI, etc.

Hopefully I can get back to this experiment one day.

Friday, May 1, 2020

New display server on Raspberry Pi

My fellow HelenOS developer Maurizio Lobardi tested my new display server on a real Raspberry Pi and shared a video of his test. Thanks Maurizio!

Still work to do, btw! Rest assured I am working on it. I've just been quite busy + I stumbled upon a mystEEErious heisenbug. In the end it turns out it's all a case of misunderstanding and misusing async_hangup(). Back to work!

Thursday, March 5, 2020

GZX 2020.1 is finally here!

I finally released GZX 2020.1. Most of the work on the new functionality was done between May - September last year.

This release has many exciting new features, including completely rewritten tape emulation, ULAplus emulation, usable Spec256 emulation and more.

Monday, January 20, 2020

The window system saga continues

It takes many small steps to reach the goal. Some of the stages are shown here. We already display via KFB and at the end we can move windows and fill the display with a background color. Window overlap is not handled correctly yet.