Why not?

Key goals summary:

Emulate Windows 98 on a Raspberry Pi.

Make it wrist-wearable.

I have always had somewhat of a soft-spot for Windows 98, despite it driving me insane back in the day on my old Pentium II system with 64mb RAM and using some god awful on-board graphics.

But these days I don’t HAVE to suffer it as my only source of computing; which, somehow makes me want to go back and use it – I’ve built my own dream Windows 98 PC that I like to fire up every now and then and I love it.

I also love emulation, the idea of running an operating system on virtual hardware? That’s awesome. It’s like the Matrix, or something. On top of this I love wearable/small tech and nowadays I have the ability to make things like this. So I thought, wouldn’t it be ridiculous and awesome to have Windows 98 on my wrist?

Nostalgia… or dread?

Let’s do this.

Various bits (nylon nuts, spacers, screws) from MODMYPI

I see the blue screen.

Okay. So you'll need some basic soldering skills first off to connect the header to the Pi and the other header to the Adafruit hat - I recommend here to learn some basic soldering.

The Zero Male Header goes onto the Pi itself.

The Header Extender goes onto the TFT.

Check this tutorial for adding an on/off switch to the Powerboost 500.

You'll also need to solder on the USB port to the Powerboost, check here for more details on the Powerboost.

The heat-sink is easy enough to apply if you opted for one, just peel the back of the sink off and put the sticky side squarely onto the centre chip and hold down firmly a few seconds.

You'll only need the bottom bit of the case to put on the Pi, with 2 shorter nylon screws on the GPIO side held on with nylon nuts, and 2 longer ones the other side.

You'll then need to hook in the LiPo to the Powerboost and place them on the back of the case under the Pi, then Sugru and tape it all down, making sure to not cover any of the USB ports or the LED's on the Powerboost as these will show you when its, on, charging, low and finished charging:

Tape/Sugru to hold it all down.

Then you put the velcro feet on the back.

Let's look at a little breakdown of things:

1 / 7

•

Disassembled.

Now you'll want to plug this into a monitor and use a USB dongle for attaching keyboard/mouse etc.

First off you are going to need Raspbian installed, by far the easiest method is to grab a 16GB SD card and download NOOBS and transfer the contents to the SD, plug in a Pi and select Raspbian and let it install away!

Once you are in get hooked up to the internet - I'd suggest one of these.

Now to get the system up to date open a terminal and type:

sudo apt-get update && sudo apt-get dist-upgrade

This will ensure your apt-get sources are up to date and update the Raspbian OS to latest.

Also you can type:

raspi-config

Any time for handy options on password resetting for user, display options etc.

Go here for framebuffer copy – this will copy whatever the GPU renders to the PiTFT so that QEMU will display on it as it would on a normal screen (without this I have found that QEMU when run will just try to run through the HDMI instead of the PiTFT).

Emulate emulate emulate.

So here comes the complex part.

QEMU is the weapon of choice here.

This part needs to be done on a Windows based computer, not the Pi:

I broke out my copy of Windows 98 and followed this chaps guide to get the .img file needed for the emulator, copied it over to my Pi (into ‘/home/pi’ for ease of access).

Now back to the Pi:

Don’t worry about the Youtube video in the post above, that is for an older version of Raspbian, now Jessie has QEMU available and easily obtainable by typing:

sudo apt-get update && sudo apt-get install qemu -y

Time to test it. Navigate to ‘/home/pi’ and run:

qemu-system-i386 -localtime -cpu 486 -m 96 -hda win98.img

QEMU should pop up and begin launching Windows 98, when its loaded have a click around and then shut it down as you would a normal 98 machine.

When QEMU has shut off it’s time to apply…

Finishing touches.

Now we want a way to turn it off using one of the buttons on the TFT – we don’t want unclean shutdowns causing SD Card Corruption.

Thanks to this chap for the buttons python code, which is: