The Costa GUI
The Costa GUI

Costa on the Pocket 386

Posted on the 7th of September, 2024

Wondering if the Pocket 386 can run Costa? Short answer - soon, yes!

I recently purchased a Pocket 386. It’s a small - tiny, in fact - laptop powered by a 386 processor. A lot has been written about this device, so I won’t do a full review here. The quick review is that it is in many ways a great little device, hampered mainly by its almost comically small keyboard that’s nearly impossible to do real typing on, and it’s cumbersome expansion ports that must be connected via specialized adapters before booting. Nevertheless, I enjoy the device, and of course tried running Costa on it.

I quickly found a bug - the Pocket 386 doesn’t have a trackpad, and icons could not be moved on the desktop using the keyboard. After some digging, I found out that this is because the code relied on the mouse driver to calculate the location of the icon, based on the mouse cursor position. When testing, I have always had a mouse driver loaded, so keyboard move of icons worked fine. But, as it turns out, if the mouse driver isn’t present at all, the code fails. Since I mainly test in DOSBox, not on real hardware, and DOSBox always has a mouse driver loaded, I hadn’t noticed this.

Luckily, the fix was easy. Just a simply matter of pretending the mouse driver had returned a position, if present. So, the next version of Costa should run flawlessly without a mouse. I also used the opportunity to make all calls to the mouse driver only occur if a mouse driver is present, freeing up CPU cycles on machines that don’t have a mouse driver loaded.

These changes will be available in the next release of Costa.