Tag Archives: retro

4039991227_29c2b85ec0_o

Real mode to protected mode inside the timer ISR

This rocks:

http://svn.navi.cx/misc/trunk/metalkit/lib/bios.c

It’s the insane little trampoline I wrote last year in order to make real-mode BIOS calls from my toy protected mode OS, Metalkit. It’s full of all kinds of awesome and scary things.

So today, I just had occasion to try making a BIOS call from inside the timer interrupt, and it works! (Both in a VMware VM and on the physical laptop I tried it on.) Woohoo!

So now I have this spiffy little app that tests VESA BIOS palette manipulation:

http://svn.navi.cx/misc/trunk/metalkit/examples/vbe-palette/main.c

Here’s a screenshot of it running in VMware and QEMU. It doesn’t work correctly in QEMU. Not sure why yet- it could just be that their VESA BIOS doesn’t support command 0x09.

Metalkit VBE Palette demo

If you want to try it yourself (on a VM or a physical machine), here’s a 4 kB precompiled binary. You can either use it as a floppy disk image or a GRUB multiboot image.

(Yes, this is a great example of the sort of dorky thing that gets me excited on a regular basis 😉

The future of computer education

I just stumbled upon a web site which still sells the Elenco Micro-Master MM-8000 Computer Training Kit, a state-of-the-art piece of educational hardware which includes an 8085 processor, 256 bytes of RAM, and a convenient set of keyswitches and LEDs for entering programs and inspecting memory. I remember seeing these in magazines like Electronics Now in the early 1990s, and they sure haven’t changed.

Here’s an excerpt from the manual where they describe how to load your first program: