=====================================================

Raspberry Pi 2 with hint of Win98!

=====================================================

Back to portfolio

What is Pi98?


Pi98 is a simple Raspberry Pi project I have tinkered with.
Basically it's just Raspbian OS that looks like Windows 98 and runs DOS games.

Unfortunately I can't make it work with games like Re-Volt or Morrowind since it has ARM processor and those games use x86 processor tech. (Well, I might with Exagear Desktop, but no proper OpenGL drivers so far..)

I think that was the biggest lesson I learned from the whole project. :D

And here I will talk about it and show pictures of it etc. I will update this every time I do something new to it.

I would've gladly made some videos about the games and stuff, but I don't have a video camera, only my phones camera and I don't want to create shaky-hands videos, so instead I just take photos.

=====================================================

Getting the Pi


Man I was so excited.
I got the Raspberry Pi 2, a case, 8GB SD-Card with preinstalled Raspbian OS and a power supply for 60€.
Pi 2 looks up close like this.

It has:

  • 900MHz quad-core ARM Cortex-A7 CPU
  • 1GB RAM
  • 4 USB ports
  • 40 GPIO pins
  • Full HDMI port
  • Ethernet port
  • Combined 3.5mm audio jack and composite video
  • Camera interface (CSI)
  • Display interface (DSI)
  • Micro SD card slot
  • VideoCore IV 3D graphics core

  • In a case it looks like this. It has my wireless keyboard, wireless mouse and Asus USB-N10 Wifi dongle plugged in. The Wifi dongle worked without installing anything, I just had to reboot my Pi.


    Here it's running the first time. It looks pretty normal, no modifications made at all.
    Pi itself felt really snappy to use, I'd recommend it to anyone who needs a simple PC. Some websites loaded a bit poorly because of the lack of hardware acceleration, but this is supposed to be added later on. I hope! :D

    Then it was time to install some software. I deleted all the useless stuff I didn't need, such as Mathematica and some other software, and installed IceWeasel internet browser, htop, all that useful stuff. (I can't remember everything since I'm writing this many days later. Sorry!)

    Next, it's time for some games!

    =====================================================

    Runescape!

    Since I had been playing lots of Old School Runescape lately, I had to see if it works on Pi.

    First I tried to instal OSBuddy, but it didn't work. At all. It kept either crashing or simply not launching.

    But then I found out about rsu-client made by HikariKnight. I installed it normally and...

    Didn't work!

    But then I realised that I had to install Java. Raspbian came with some version of Java installed, but it didn't work with OSBuddy or rsu for some reason, so I installed the newest Oracle Java I could find. (I think it was 7.)
    And boom! The rsu updater began to work! After updating, I could play Old School Runescape just fine!

    I think it had whopping 10-15 fps, but after overclocking my Pi to 1GHz, it gained a ~5fps boost. Definitely playable, but I wouldn't go to Wilderness while playing on Pi, hah. I'm sure that with proper OpenGL (and not OpenGL ES which is what Pi uses right now) drivers many games, like Runescape, would run a lot better.

    =====================================================

    Daggerfall

    I had to fight with Daggerfall and DOSBox to get it playable, but I managed to do it. I'm a huge fan of TES games, so this was essential to get to work.

    First I tried with normal Dosbox, as in Dosbox v. 0.74. Installation went smoothly, and menus worked just fine, but trying to play the game was just.. Bad. Barely even 5 fps.

    I googled for solutions and found RetroPie, which had Dosbox SVN version, that's supposedly optimised for Raspberry Pi. So I installed RetroPie on my Pi, but accidentally I installed every single emulator it had.. Oops.
    After uninstalling bunch of emulators I didn't use, I tried Daggerfall through EmulationStation Dosbox. It worked a lot better, still choppy but actually playable! Now my problem was that I couldn't add a shortcut to my games list to launch it, and that I had to exit X (Linux Window manager, the Windows looking thing, is called X, for those who didn't know.) in case I wanted to play Daggerfall.

    Of course I had to find a way around it!

    So I uninstalled Dosbox 0.74 since I didn't need it anymore, and set a new shortcut that just directly launches Dosbox SVN from RetroPie folder.

    Psst, don't mind the Screenfetch on the background, I was a dumb dumb and took screenshots with Screenfetch instead of prntscreen, I don't know why, I blame being tired.


    That worked, but some keys on the keyboard, like shift, ä and ö keys didn't work at all. I thought this had something to do with EmulationStation and googled for hours for any info about it.. But I found nothing.
    I started to check Dosbox conf files after that, just in case. And the culprit was there! I had to change usescancodes=false to usescancodes=true. After that, keys worked just fine.
    Another problem I had was that the screen was very very small, but that was solved by changing the rendering mode in Dosbox conf files from surface to overlay. I think the FPS suffered a little, but I could actually play the game on my TV now.

    I don't really have any idea what the FPS is since I couldn't check, but most likely it was bouncing between 5-15. I'm eagerly waiting for Linux Kernel 4.5 to hit on Raspbian, so I can install proper OpenGL drivers that should make Dosbox run faster! .. Hopefully! When the update is here, I'll update this section too.

    =====================================================

    DOOM

    Doom was super simple to get to work.

    I checked Raspberry Pi forums about getting Doom to work on Pi, and it was really easy: I just installed Chocolate Doom, added the doom.wad file I had on my main PC and bam, it works!


    And yes, it was constant 60 fps! :)

    This is also when I updated my wallpaper.

    Now it's truly a cool kids PC.

    =====================================================

    Quake 1

    Quake 1 was super simple to install, but the hardest part was creating a shortcut for it.
    I found the instructions to install Darkplaces Quake 1 engine for Raspberry Pi from the Pi Forums, and went with that. It was easy and didn't take long.

    The downside was that I had to run the game from outside of X, from command line. Not terminal emulator, not from shortcut. Of course I had to find a way to do a shortcut, just for the ease of access!

    I startled googling and found out that I can change between command line and X by pressing ctrl+alt+f1 and ctrl+alt+f7. But I didn't want to change it from hotkeys, I wanted to use a command to do that so I could make a shell script that launches the game!

    I found out about commands "chvt" and "writevt." Chvt changes the virtual terminal shown, so writing "sudo chvt 1" in terminal emulator was the same thing as pressing ctrl+alt+f1. Great! But how do I type from terminal 7 to terminal 1?
    Writevt to rescue! With that I could write anything I wanted to other terminal. Here's the full script I used for this thing:

    #!/bin/bash
    sudo chvt 1
    sudo writevt /dev/tty1 -T "cd /home/pi/Games/darkplaces; darkplaces-sdl"
        


    First it changes my virtual terminal view to the first one, and then it types "cd /home/pi/Games/darkplaces; darkplaces-sdl" to the command line. All I need to do is to press enter.

    I tried to add a way to make it press enter too, like adding '\r' or '\n' in the end of the writevt, but that didn't work for some reason, even though I read that it would work.

    After saving that shell script to my games folder, I could create a shortcut to it from the menu settings.. And it works.

    Then just press enter and you get to play some Quake!


    As you can see, it's running in 60 fps just fine! Even the multiplayer seemed to work, but I only found one server that was empty.. :(

    After that I can just type "pi98" and press enter. That changes back to the virtual terminal 7, which has X running.
    It's just an alias. (alias="chvt 7")

    Since I've been talking about the importance of the menu, this is how it looks right now:

    =====================================================

    SkiFree

    I really wanted to get SkiFree running on my Pi, but since it's x86 software and Pi is ARM, I couldn't do that without basically making my own game.
    I then discovered Exagear Desktop which lets you run x86 software on Pi and other ARM based devices. The price was a little too steep for me tho, since it's 25 euros.
    I mentioned about this on Twitter and a few days later one of the Exagear developers contacted me and said that I could get a discount since I'm gonna run Skifree. That was really unexpected, but I took the offer! Saved 10 euros! :D Big THANK YOU to Exagear for the discount!

    After getting myself a new 16gb SDcard since Exagear Desktop needed roughly 2 Gb of space and I only had less than 1Gb, I installed Exagear on the new SDCard. It took a long while, but installed succesfully.

    Then I just downloaded the Skifree exe from the official site and ran it under Exagear and Wine. It worked perfectly!

    Sorry about the thumb... (I need to replace that pic.)

    Now I just have to find myself more classic Windows games :) I tried running Win98 sol.exe under wine but it didn't work, my guess is that it's too old. WinXP sol.exe might work though!

    =====================================================

    Solitaire

    Every good retro PC needs solitaire. Unfortunately, normal Win98 sol.exe doesn't work under wine on Pi. But I found out about PySolFC.
    It has thousand card games in it, which is nice.

    I managed to pimp out my PySol to look almost like the Win98 one, so it feels right at home in my Pi.
    A decent time waster when I don't feel like playing Quake or Doom. :D

    =====================================================

    Spotify stream

    I decided to try getting Mopidy run on my Pi and see if I can play from Spotify.

    I simply followed the instructions at Mopidy website. It was really easy!

    After that I installed GMPC on my Pi aswell. After running Mopidy and then turning GMPC on, it all worked together perfectly. Only thing that didn't work on GMPC was search function, it was a bit weird, but I didn't mind.

    Then I made a script that launches both Mopidy and GMPC simultaneously and made it into a shortcut just for convenience:

    #!/bin/bash
    
    mopidy & sleep 5 & gmpc && fg
    

    This is how it looks like:

    Pressing ctrl-c in the terminal window shuts down both things, so it's nice.

    And yes, I could play Quake while listening to Slayer. ;)

    =====================================================