Sunday, February 17, 2013

Apple II Emulation with MESS

As a child of the 70s, the Apple II was the system that introduced me to the microcomputer.  Because I am primarily a Linux user, finding a decent emulator was a bit of a challenge.  Fortunately, the cross-platform system known as MESS (Multi Emulator Super System), the sister project of MAME, emulates the Apple II series among many others.

Here's a quick primer to get a running system. I run Debian Linux, and run the system from the command line, but the information should be helpful even if you have a graphical front end.
  • Download and install MESS.
  • Install the Apple II's BIOS files in MESS's ROMS directory.  On my system, that directory is:/home/lyons/mess/roms/If you've lost your dumped BIOS files, or are unable to dump these files yourself, has backups for you.  Please only download these if you own an Apple II computer.  :)  For this example, I'm emulating an Apple //c with a 5.35" floppy drive, so at least two bios files are required: the main Apple //c bios and the Disk II bios.  Place both zip files in the roms folder.  If you don't, the computer will refuse to boot because there's no floppy (bios) to boot from.

    NOTE that even though BIOS files are being stored in the ROMS directory, bios and roms are not the same thing.  Roms are primarily software applications, not the hardware system's internal code.  To give an example: MESS also emulates Super Nintendo among other game platforms, and SNES ROMS are the game cartridges you will play on the emulator.  However, MESS also requires the Super Nintendo BIOS to work. But again, it expects to find that bios in the roms folder.
  • Add software.  Software is also available at and from many other online sources.  MESS is very good at using in regardless of the format. For example, if I check the media compatibility, I see:

    lyons@lyons-desktop:~$ mess -listmedia apple2c
    ----------  --------------------  ------------------------------------
    apple2c      cassette    (cass)     .wav
                 floppydisk1 (flop1)    .do   .dsk  .bin  .po   .nib  .fdi 
                                        .td0  .imd  .cqm  .d77  .d88  .1dd

                 floppydisk2 (flop2)    .do   .dsk  .bin  .po   .nib  .fdi 
                                        .td0  .imd  .cqm  .d77  .d88  .1dd

  • Last step: play.  From the command line this looks a little ugly, but if you ever used an Apple II, the command line should be very familiar.  On my Linux box I type something like:lyons@lyons-desktop:~$ mess apple2c -flop1 "/home/lyons/Games/A2/game_01a.dsk"

    The quotation marks are only probably necessary if there are spaces in the directory or filenames.  Above, there are none.When I press enter, I see the Apple // boot screen.  The resulting catalog of programs comes up fullscreen.  Once done, to escape I hit F8, then close the window.NOTE: If a second floppy is required, such as for game data, I modify the line above to add -flop2, specifying the second disk I wish to have available.
Have fun. I hope this was helpful.