Becoming a Super Model: Adding Model 3 Games to Your Pi4.

JULY UPDATE: All of the per-game optimisations are built into the supermodel.ini file, so you just need to setup and Play.

If the previous reasons we’ve looked at for getting a Raspberry Pi weren’t enough, you can now also add Sega Model 3 arcade games to your Retropie Library. Blimey. If this is something that interests you, the guide will follow below. After a brief introduction of course.

Why Model 3?

Why would you want to add Model 3 games to your system? Well, the Model 3 arcade platform is a bit of an interesting one. Though most home console manufacturers were locked to a particular platform for four or five years (or, err, about 18 months in Sega’s case), in the arcade sphere things could move a lot quicker. Although Sega’s Model 2 hardware was already a bit beefier than their Saturn console, the Model 3 turned up In 1996 as an even more muscular platform that ended up bridging the gap between the release of the Model 2 and the arrival of the Dreamcast-based NAOMI hardware. Consequently, the Model 3 represents something of a last hurrah: Though all three of the main contemporary consoles were weaker than a Model 2 machine and expensive $250 PC Graphics only roughly comparable, from NAOMI onwards arcade platforms would be based on already-available consumer tech. The Model 3 marks the end of a 30 year period that saw the technology used in arcade machines easily eclipse anything available in the home. From NAOMI onwards, the arcade experience would shift largely towards the tactile experience of using custom controls, rather than the combination of interesting controls and raw breath-taking power.

What about the games? The library is an interesting one. Model 3 games were too demanding to be ported to the Saturn (Virtua Fighter 3 was in the works when support for the console was canned, but it was reportedly going to using a cart-based accelerator chip) but by the time the Dreamcast was released they lacked the razamataz of the newer Naomi-based titles. Consequently, while some ‘headline’ titles were ported to the Dreamcast – Sega Bass Fishing, Virtual Fighter 3TB, Virtual On: OT and Fighting Vipers 2 – various issues (licensing, general interest, reliance on weird peripherals) have prevented others from seeing the light of day. This includes notable licensed shooter titles the Lost World and Star Wars Trilogy Arcade, unported brawler Spike Out and both Daytona 2 and Scud Racer – two of the finest racers in Sega’s pantheon of very fine racing games.

A Note on the Emulator

The Supermodel team have done an absolutely stonking job of building an emulator that can scale to a variety of different devices. However, its important to note that by using it on your Pi you won’t have the best experience. Not only do we have to use their older and less accurate/demanding 3d engine, but even then not everything will run at full speed or well at all. To see it emulating at its best, you’d need to install it on more powerful hardware.

With that said, a great number of games are still playable – The likes of Virtua Fighter 3, Fighting Vipers and Sega Rally 2 run pretty much at full speed (though VF has a weird lag between hitting start and the game loading its fine after that) while the likes Scud Racer and Spike Out play at a playable framerate with some slowdown.

Building/Installing

FOR EXPERIENCED LINUX USERS WHO WANT TO DO EVERYTHING THEMSELVES: My amended Pi-friendly source code is available from here: https://github.com/Mechafatnick/SuperModelPi

The orignal files can be found here: https://sourceforge.net/projects/model3emu/

I won’t go into too much detail (because if you need me to you probably shouldn’t go down this route 🙂 ) but you just need to use the Unix Makefile and you should be good to go.

FOR LESS EXPERIENCED USERS WHO JUST WANT TO INSTALL THE EMULATOR:

If you don’t want to compile the emulator the self, don’t worry! I’ve done the hard bits for you. All you need to do is download the files from: here and place the supermodel subfolder onto your pi in folder via FTP: /opt/retropie/emulators/

If you’ve never used FTP to access your pi, Filezilla is a good FTP client. To access the pi you’ll need a new connection that uses sftp, connects to the ip address of your pi (you can find this in the network area of the Retropie setup screen) and the default username and password (username pi password raspberry – you should probably change these!)

Once you’re done, you should have a folder at /opt/retropie/emulators/supermodel with bin and config subfolders in them.

Placing the Config

For the next part we’ll need to quit out of emulationstation and run some commands from the command line. So:

  • if you don’t know it already, go into the emulationstation menu and make note of what theme you’re using (you’ll need this later)
  • quit out of Emulationstation to the command prompt (don’t restart the Pi)

For some reason, Supermodel will look for its configuration in your Pi/Home folder rather than in its own supermodel folder. Fortunately, we can create a magic symbolic link to tie the two folders together so first type:

cd /home/pi

to make sure you’re in the right place and then type/paste these in order:

ln -s /opt/retropie/emulators/supermodel/bin/Config Config
ln -s /opt/retropie/emulators/supermodel/bin/NVRAM NVRAM

Super Model will now be looking for your config files in the right place.

Updating Permissions

We’re not done yet! Before you can run Supermodel you’ll need to make sure you can have permission to actually run the executable files. Enter these commands one after the other:

chmod 755 -R /opt/retropie/emulators/supermodel/bin
chmod 755 -R /home/pi/Config

Congratulations! Super Model is installed on your Pi! Now we just have to set it up in emulation station.

Simple Method: Adding Super Model as an emulator to an existing game list.

If you have all your arcade games under a single arcade listing, adding Super Model is relatively straight forward. Navigate to /opt/retropie/configs/arcade in your FTP client and download ’emulators.cfg’.
Open the downloaded file up in a text editor and you will see all of your potential arcade emulators laid out on different lines. Simply copy and paste these into your file:

Supermodel = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel %ROM%"
Supermodel-HighRes = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel -res=1024,768 %ROM%"
default = "Supermodel"

Save the File, reupload it to /opt/retropie/configs/arcade and once you copy some rom files you’re good to go!

More Complicated Method: Adding Model3 as its own System in Emulation Station

Add The System Configuration

If you want to add Model 3 as its own system in Emulation Station, there are a few more steps. Personally I think its worth taking them, however.
First, download and unzip the Emulation Station configuration folder from here
Upload the ‘model3’ folder it contains to /opt/retropie/configs. The folder must keep that exact name, including the case.

Add Model 3 to Emulation Station

Now, to get it to show up, we will need to edit your emulationstation configuration so:

  • if you don’t know it already, go into the emulationstation menu and make note of what theme you’re using (you’ll need this later)
  • Press start and quit emulation station (but don’t shut the pi down)
  • navigate to /etc/emulationstation in your ftp client and download es_systems.cfg
  • If we screw up the next section, your emulationstation will no longer boot up, so for your own piece of mind PLEASE MAKE A COPY OF es_systems.cfg
    Now, open up es_systems.cfg in a text editor. You will see a long list or repetitive system entries, representing all the different systems you have/can have in your emulationstation menu. Go down to the M section, start a new line then paste in this entry for your model 3:
  <system>
    <name>model3</name>
    <fullname>Sega Model 3</fullname>
    <path>/home/pi/RetroPie/roms/model3</path>
    <extension>.zip .ZIP</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ model3 %ROM%</command>
    <platform>arcade</platform>
    <theme>model3</theme>
    <directlaunch/>
  </system>

Note the Indentation is important here, so make sure all of the lines of your Model 3 entry line up with the entries above/below. Save the file and upload it back to /etc/emulationstation
The Model 3 will now appear the next time you reload emulationstation…but it wont look pretty.

Adding Artwork

I can’t give you complete guidance here as some themes are setup differently to others. The theory is the same though.
First, navigate to your themes folder on your pi: /etc/emulationstation/themes/
Go into the subfolder for your theme (/etc/emulationstation/themes/crt in my case) and you should see a list of system names. Download the MAME/Arcade entry.
Now, rename the downloaded file as ‘model3’. By default, this folder will use the MAME logo for your Model 3 games when you upload it to emulationstation. To change it look inside the folder. You should see a file called something like ‘system.svg’ open it and double check its the mame logo (if it isn’t keep looking at the contained image files until you find it.)
You can download a custom Model3 logo from here. Simply rename it so it has the same name as the MAME image you’ve found and overwrite it. Now, upload the model3 folder you’ve created to your pi’s theme folder and you should be good to go.

No permission to upload?

If your pi, doesn’t have permission to upload, you’ll need to change the permissions on that folder. Plug a usb keyboard into your pi (if there isn’t one already) and enter:

chmod -R 755 /etc/emulationstation/themes/[Theme folder without these brackets]

Hit return and you should be able to upload to your theme’s folder.

Your Model 3 System should now show up the next time you boot emulationstation. First, however, we need to add games and configure the controls:

Adding Games

The next step will be to add the games. Unfortunately i can’t like you to the WaReZ themselves for obvious reasons, but putting ‘archive.org’ and ‘Model 3 romset’ together should help you significantly.
If you opted to use your current arcade listing, simply copy all of the ROMS into /home/pi/RetroPie/roms/arcade
If you opted to set Model 3 up as its own system in Retropie, you’ll need to make a folder called ‘model 3’ at /home/pi/RetroPie/roms and copy the game Roms in. You now have the emulator and the games. Hurray.

Configuring the Controls

Supermodel has deep control customisations that allow you to set up controls for all games that have custom features. to configure inputs, plug a usb keyboard into your Pi (if you haven’t already) and type:

cd /opt/retropie/emulators/supermodel/bin
./supermodel -config-inputs

Follow the onscreen prompts to set the inputs to a controller of your choice. Please note that for racing games etc you’ll be able to set both generic gear up/gear down controls AND the option to change to different individual gears in individual games.


When you exit it should return you to the command prompt. I’ve made a small edit to the emulators source code so that you can alter the controls for exiting the emulator, taking screenshots, pausing games and messing with save states to give a more retroarch-like experience. If you want to set these (exiting the emulator is set to the escape key by default) open /opt/retropie/emulators/supermodel/bin/Config/Supermodel.ini in a text editor and set the inputs for these to the ones your prefer (if you’re unsure of which button number corresponds to which physical button, check the inputs you’ve already set. You can also use a ‘+’ between two inputs to set multi button combos.)

With that saved, type emulationstation to boot emulationstation and, hopefully, see your Model 3 games.

A Note On Running Games

First things first, when loading a game for the first time remember to open the run command menu (press b while the game’s loading) and set an appropriate video mode. I like to keep things in the original aspect ratio, so I use 87-46 to it in 4:3 and close to the Model 3 native res.

In order to get the games running at a decent speed, I’ve included a number of per-game optimisations to the speed of the Model 3’s emulated CPU. Depending on the game, some will see a huge increase in frame rate if we simply stop emulating idle CPU cycles, while later games that required the ‘step 1.5’ ‘step 2’ hardware will need to run faster than the default 60hz. If you want to play around with these per-game optimisations yourself, simply download and edit the ‘PowerPCFrequency’ setting next to the relevant title in the supermodel.ini file

have fun and remember i have a ko-fi 😉