Finally, Apple II and IIgs warez on your iPad

Updated: November 26 2012 (does not work with iOS6!)

See updates at the end.


Running 1985 Code on a 2010 Device

I had an awesome childhood; a big part of that was computers, specifically my Apple II+.  Ah, the memories…

Sadly I do not have my original Apple II+ (clone). Nor do I recall the name of the manufacture. C’est la vie.

Well now I can relive all my “memories” on my iPhone and iPad.  But it’s going to take a bit of work, and I am going to need some stuff:

  1. My “memories”, i.e. my original Apple II+ floppies from high school.
  2. An Apple II computer with floppy drive and a serial port.
  3. A null-modem serial cable to connect my Apple II to my Mac.
  4. ADTpro Apple II to Mac transfer software.
  5. ActiveGS – Best Of FTA iOS app from the App Store.  This is an Apple IIgs emulator capable of running most Apple II, II+, IIe, and IIgs warez.
  6. A text editor to edit the list of images in ActiveGS.
  7. Something to create ActiveGS icons. (optional)
  8. iExplorer, to get my stuff into ActiveGS.

Memories

After a bit of digging I found my very first floppy disk.  I should probably have it framed, like others do with their first dollar.  Hopefully it still works.


Hardware

This is the hard (pun intended) part.  You are going to need a real Apple II or know someone that has one.  Your best bet is an Apple //c.  They are self-contained (floppy drive and serial port) and are easy to find.  As I write this there are many on eBay and at least one listed in the local classifieds.  To connect your Apple //c to your computer (MacBook Air in my case) you are going to need a serial cable and a USB to serial adapter.  I opted to purchased my cable (call me lazy) from http://retrofloppy.com/products.html#DIN5DE9.  I had an existing USB to serial adapter from Keyspan that works just fine.


Liberating Your Warez

ADTpro (http://adtpro.sourceforge.net/) is a very well maintained Apple II floppy disk to floppy image (and v.v.) utility and is very easy to use.  Just follow the instructions from their site and in a few minutes you will have liberated your first floppy disk.  (It is very cool to see ADTpro boot your Apple //c from the serial port.)


ActiveGS

ActiveGS is an Apple IIgs emulator and is available for most platforms as a standalone app and as a browser plug-in.  Recently (Feb 24th) an iOS ActiveGS app was published and is available via the App Store.  However, I do not think it will last very long…

iDOS (based on DOSBox) is very similar to ActiveGS, but for DOS programs.  After a rocky start iDOS finally made it to the App Store just to be removed because users could add their own binary content to iDOS.  That was the point of iDOS to begin with.  To get back online iDOS had to come with preloaded apps and remove the ability to add content via iTunes File Sharing.  But it didn’t take long for users to figure out that by using iExplorer content could be added.  This same “trick” needs to utilized to add content to ActiveGS.  In time, this will be the undoing of ActiveGS.


Inserting content to ActiveGS

Download, install, and launch iExplorer (NOTE: If you have problems with iExplorer, then use DiskAid).   Connect up your iOS device and then find the Best of FTA/Documents directory. This is where you will place all your disk images as well as any thumbnails and/or screen shots. Note: Do not place your images, thumbnails, or screen shots in the Best of FTA/Best of FTA.app directory, unless you want them read-only and lost on iPad/iPhone restore.


To add a disk image, just drag-and-drop an Apple II or IIgs disk image into that directory along with any thumbnails and screen shots (NOTE: iExplorer will only drop a single file, IOW, do not multi-select; drag one at a time). Next, you will need to define your image to ActiveGS. This needs to be done in the Best of FTA/Best of FTA.app directory.


Copy the list.activesxml file to your computer, then open it up with your favorite text editor and add a section for your image, e.g.:


<config version="2" id="my0a">
        <name>High School Classics</name>
        <year>1984</year>
        <publisher>Me</publisher>
        <desc><![CDATA[
        Midlife Crisis Classics!
        ]]></desc>
        <pic type="thumbnail" width="64" height="40">../Documents/dos33-0.png</pic>
        <format>APPLE2</format>
        <image slot="6" disk="1">../Documents/my0a.dsk</image>
        <pic type="screenshot" width="320" height="240">../Documents/dos33-1.png</pic>
        <bootslot>6</bootslot>
</config>

It should be obvious where to place your new config section.  Review the file for other examples.  After you have made your changes drag lists.activesxml back to your iOS device.  You should also create a 64×40 pixel image for the icon and drag that there too. You’re done!

You will need to kill (double click the home button, find ActiveGS, and press the minus (-) sign) and restart ActiveGS on your iOS device for the changes to take effect. Hopefully your new start-up screen will look something like this:


ActiveGS iPad Usability Tips

  • Swipe down to reveal the ActiveGS menu bar. The menu bar has a button to return back to the main menu on the left side, and a button on the right for various emulator options.
  • Swipe up to reveal the keyboard. Swipe up a 2nd time to get a 2 button gamepad.
  • Pinch to zoom the screen, however you cannot place the screen.
  • You can use a Bluetooth keyboard. However none of the modifier keys (including control) are mapped. This is a limitation of the Apple iOS SDK. To use the BT keyboard ActiveGS must be in keyboard mode (swipe up until you have just a row of modifier keys on the bottom).

    iPad 2 + BT Keyboard + ActiveGS = Apple IIcgs

  • The virtual joystick is difficult to use, practice, practice, practice…

Enjoy!


Credits

  1. Apple II+ Picture. oldcomputers.net

Update: March 2 2011, Multi-disk sets

I actually had two high school diskettes that I labeled I and II (I is in the photo above). Yielding a small pair of scissors, I cut a notch in both diskettes so that I could use the flip side (this was common practice in the ’80s to double your capacity). 27 years later, I’ve now imaged all 4 sides. Do I really need 4 different menu items? No. Just add multiple duplicate entries for each disk in your config, e.g.:

        <image slot="6" disk="1">../Documents/my0a.dsk</image>
        <image slot="6" disk="1">../Documents/my0b.dsk</image>
        <image slot="6" disk="1">../Documents/my1a.dsk</image>
        <image slot="6" disk="1">../Documents/my1b.dsk</image>

Then boot up. The first disk will boot. To change disks on the fly, swipe down to get the menu. In the upper right corner you’ll notice a floppy icon rotating on its Y-axis. Tap it and the next disk will be inserted. Keep taping to cycle through all your disks. Each tap action will summon a pop-up message with the name of the disk. Easy.


Update: March 15 2011, iOS 4.3 and iPad 2

No worries, iOS 4.3 on iPad I and 2 tested.


Update: April 6 2011, ActiveGS 1.22

ActiveGS 1.22 tested.


Update: April 11 2011, More config file tips and 1.22 corrections

For 144K Apple II disk images use slot 6 with an Apple2 format, e.g.:

    <format>APPLE2</format>
    <image slot="6" disk="1">../Documents/appleii.dsk</image>
    <bootslot>6</bootslot>

For 800K Apple IIgs disk images use slot 5 with a 2GS format, e.g.:

    <format>2GS</format>
    <image slot="5" disk="1">../Documents/SYSTEM6.2MG</image>
    <bootslot>5</bootslot>

For Apple IIgs HD images use slot 7 with a 2GS format, e.g.:

    <format>2GS</format>
    <image slot="7" disk="1">../Documents/c.2mg</image>
    <bootslot>7</bootslot>

Custom color config example:

    <bramparam>background:black;border:dark-gray;font:green</bramparam>

Thanks to Rich and John (see comments) for the tips.


Update: August 22 2011, More RAM

If you need more RAM (in MB), then add this to your config (e.g. 8 for 8 MB):

    <emulatorParam>_memorySize:8</emulatorParam>

 

Update: September 21 2011, DiskAid

Many Windows users are having problems with iExplorer and have reported that DiskAid is a good alternative.


Update: October 15 2011, iOS5

Mike has confirmed that iOS 5 is safe for ActiveGS and iExplorer. Apple II Forever!


Update: October 16 2011, iExplorer

Changed iPhone Explorer to iExplorer in document.


Update: November 26 2012, iOS6

This hack does not work with iOS6. The app directory is locked down. Jailbreaking is your only hope.


					

53 thoughts on “Finally, Apple II and IIgs warez on your iPad

  1. Lim Thye Chean

    I tried 2 disk images, both starts up in Startup error. This is what I did for Battle Chess – the file is there, any idea?

    Battle Chess
    1987
    InterPlay

    nucleus_2.png
    2GS
    BattleChess.2mg
    5
    0

    Reply
  2. datajerk Post author

    Reread my docs. I updated them today. Disk images need to be in ../Documents to be R/W. That should get rid of the error.

    I just tried it and it worked fine for me. Here is what I did from the command line first:

    wget http://www.virtualapple.org/gs/Battle%20Chess%20(1989)(Interplay)%5Bb%5D%5Bcr%5D.zip 
    unzip  Battle Chess (1989)(Interplay)[b][cr].zip 
    mv battle chess (alt).2mg battlechess.2mg
    wget http://www.virtualapple.org/images/screenshot_0_battle%20chess%20(alt)_0.png
    mv screenshot_0_battle chess (alt)_0.png battlechess.png
    

    After all that I had two files ready to go. battlechess.2mg and battlechess.png. I then followed my own instructions to get them into ActiveGS. My config looks like this:

    <config version="2" id="battlechess">
    	<name>Battle Chess</name>
    	<year>1989</year>
    	<publisher>Interplay</publisher>
    	<desc><![CDATA[
    	Battle Chess
    	]]></desc>
    	<pic type="thumbnail" width="100" height="61">battlechess.png</pic>
    	<format>2GS</format>
            <image slot="5" disk="1">../Documents/battlechess.2mg</image>
    	<pic type="screenshot" width="100" height="61">battlechess.png</pic>
    	<bootslot>5</bootslot>
    </config>
    
    Reply
  3. Pingback: Finally, Apple II and IIgs warez on your iPad… | ghettoracer & his bizarre and twisted reality

  4. Ryan

    How’d you get GS/OS to boot? I’ve tried several images but either get “Check Startup Device” or it crashes and drops me to the assembly-language monitor…

    Reply
      1. Mike

        Yeah, but it the Windows version of iPhone Explorer doesn’t actually work. Or at least, not very well. I found a tip basically that said you have to keep exiting and re-loading iPhone Explorer until it works… So, the problem isn’t your instructions, it’s the application. I’ll take a look at alternatives. Thanks!

        Reply
          1. Mike

            Okay, I finally got around to playing with this some more. I can load images into the app using your directions, and they appear in the list of files, but I can only get a “Please Wait” message when I actually launch any image that I add. They are in the correct folder and are R/W.

            Any thoughts?

          2. datajerk Post author

            Make sure that you got the “format” and “image” tags correct. 144K Apple II should be APPLE2 and 2GS is 2GS. 2GS should use slot 5 and APPLE2 slot 6.

  5. Joe

    I was able to use IPhone Explorer to load disk images into the activegs iOS app using your instructions. I was also able to modify the listactivesxml file. The games I loaded were (Bard’s Tale 1 and 2 for gs using .2mg images), Ultima 1 for Apple2 (as .DSK images), Dungeon Master (also .DSK images) and a few others. They showed on the menu when I fired up the app, and I was able to work around the “Check Startup Device” error. The emulator boots, and the words “Please Wait” appear, white letters on black background (I noticed the demos show the same words on a blue background before the demo begins to run). After the words “Please Wait” show up for the programs I installed, nothing happens. I can swipe to get the keyboard, and swipe to get the menu bar at the top, but nothing else happens. The words “Please Wait” just park there. The exception is Ultima, which gets all the way to the “Origins” splash screen before doing nothing. I feel that I’m close, so close,but can’t seem to get around this problem. Any suggestions?

    Reply
    1. datajerk Post author

      This error is common if the disks are read-only. Make sure you put the 2mg images in ../Documents. I just tested Bard’s Tale (images from virtualapple.org) with the following config without any issues:

      <config version="2" id="bardstale">
        <name>Bard's Tale</name>
        <year>1987</year>
        <publisher>Interplay</publisher>
        <desc><![CDATA[
        Bard's Tale
        ]]></desc>
        <format>2GS</format><image slot="5" disk="1">../Documents/bt2gs1.2mg</image> 
        <format>2GS</format><image slot="5" disk="2">../Documents/bt2gs2.2mg</image>
        <bootslot>5</bootslot>
      </config>
      

      Reply
      1. Joe

        Thank you. Your example showed me where I’d gone wrong. Though I had put the images in the ../Documents directory, I had not placed the format tag (2gs) in front of each image disk line. I thought the format tag was needed only once. I fixed that, and it worked perfectly. It’s great to be able to go back and replay some of these classics.

        Thanks again!

        Reply
  6. Joe

    The tutorial is great (other than the problem I mentioned, which is unrelated to the tutorial). Worked like a charm even using IPhone explorer from Windows. The instructions were easy to follow compared to a lot of other tutorials I’v run across over the years. I’m really hopeful I’ll be able to get some of these classics to work. Thanks!

    Reply
  7. Rich Brown

    Hi,

    After working with activeGS for about a week I thought I’d pass on something I finally figured out and save others some time.

    Maybe you already knew but forgot to mention.

    Apparently Slot 6 will only recognize 144K disks,
    and slot 5 will only recognize 800k disks.

    If you want to use larger disk images they need to go in slot 7.

    Using your examples and the existing listing, I defaulted to using slot 5 for my disk images and had booting from slot 5. I couldn’t figure out why images that ran in the Sweet16 emulator kept coming up saying disk is damaged, transfer data to another disk until I noticed the icons for slot 6 disks came up with 5.25 icons, Slot 5 came up as 3.5 icons, and slot 7 disks came up with hard drive icons.

    Hope this helps out.

    Reply
    1. datajerk Post author

      Rich, I tried my Sweet16 HD image and it crashed ActiveGS. What did you change to get yours to boot? Thanks.

      Reply
      1. Rich Brown

        I just put the hard drive image in slot 7, drive 1 and did a boot from slot 7.
        I haven’t had any trouble with it crashing. I have only used 2mg files. I don’t know if other file types might cause trouble.
        Rich

        Reply
        1. Rich Brown

          PS I’ve been using the 32MB system image I downloaded from “what is the apple IIgs” website. The link is on their faq page. it unzips to a .hdv image which I converted to 2mg using ciderpress

          Reply
          1. datajerk Post author

            Dunno why my Sweet16 2mg image will not boot, but the image you reference works just fine. Thanks.

  8. John - www.retromaccast.com

    Here’s another tweak for you. I wanted a way to change the border color to something other than the default black when booting a dos3.3 disk so I could see where the “edge” of the screen was. I found this on the FTA site so you can set some of the bram settings for each image you boot http://www.freetoolsassociation.com/tech_Advanced.html
    this is what it looks like in the list.activegsxml

    6
    background:black;border:dark-gray;font:green

    the one example I found showed it placed after the bootslot line so i did the same. So now I have a black screen with green text and a dark gray border for that Apple IIe look (without changing it to the new “green” monitor setting).

    Thanks for all the great instructions on this site. I love having my IIgs with me wherever I go!

    Reply
    1. John - www.retromaccast.com

      Hmm, it stripped the brackets so let me say that it’s supposed to read “less than”bramparam”greater than”background:black;border:dark-gray;font:green”less than slash”bramparam”greater than”

      I hope this is clear :)

      Reply
  9. Inwards

    Creating XML descriptors by hand for all my images sucks. I created a really quick and dirty .NET app for this – http://dl.dropbox.com/u/17156054/FTAizer.zip

    It mostly works except for when it doesn’t. >:>

    Just drag and drop the files / directories into the bottom half of the window and it will figure out what to do. You can (optionally) combine multi-disk images together and add other meta details. It’s not great, but it’s better than the alternative.

    Reply
    1. datajerk Post author

      Inwards, this is great. So I am assuming that you are a Windows user. A number of Window users have had issues with iPhone Explorer. What are you using to get your images and xml into your iDevice?

      Thanks.

      Reply
  10. Allen Chiropractic

    Its such as you learn my thoughts! You appear to know so much about this, like you wrote the guide in it or something. I think that you just can do with some % to drive the message home a bit, but other than that, this is great blog. A great read. I’ll definitely be back.

    Reply
  11. Mike

    Decided to give this another shot. Absolutely no luck. Can’t even get the images I add to appear in the ActiveGS menu. Here’s the edit I added to the lists.activesxml.

    System 6.0.1 HDD image
    1992
    Apple

    ../Documents/sys601tn.png
    2GS
    ../Documents/sys601.2mg
    ../Documents/sys601boot.png
    7

    The image file is in /Documents/ folder along with a thumbnail and screenshot. Any thing instantly apparent that I’m doing wrong?

    Reply
  12. Andrew

    I just installed this and it is great.

    I do have a question. I am in joystick mode and swiping up again, or down, or seemlingly anywhere does not give me the keyboard again. How do you go from virtual joystick to onscreen keyboard again?

    Thanks!

    Reply
    1. Andrew

      I’m a dork. I had tried out a bluetooth keyboard last night. Once that is on *evn though I was not connected today) the app only shows joystick. :)

      Reply
  13. europlus

    You can mix RW and RO status on the disk images – for example, PFS:file won’t boot from R/W media, whereas the data disk is (usually) R/W – in this case, I put the PFS program disk into the main bundle directory along with the default images (no relative path required), then put the data disk in the Documents folder.

    PFS.DSK
    ../Documents/AUSTCOIN.DSK
    6

    Was very frustrated until I figured that out because I knew I’d used that .dsk successfully before. Luckily, an answer to a question about this very issue/image I’d posted to the Usenet ages ago had been archived somewhere which gave me the clue to “lock” the disk. If only I had time to document all the tricks I’ve learned over the years! :)

    Sean

    Reply
  14. europlus

    Grr – couldn’t figure out how to properly list the XML code – can you edit before posting? And then not allow this one through? Thanks for the site!

    Sean

    Reply
  15. nd4spd

    Is there any way to swap disks? When the emulator is in Apple 2 mode sometimes the older games won’t read from or recognize Slot 6 Drive 2 and expect the next disk (or other side of the main disk) to be put in Slot 6 Drive 1.

    Reply
    1. nd4spd

      I got it… I was trying to use separate drives for the additional disks instead of creating multiple entries with the same slot and drive numbers.

      Reply
  16. scott

    is there a way to save games? i like to play old adventure games, but i don’t know how to save with them, when i try it says there is some sort of error.

    Reply
    1. datajerk Post author

      You should be able to save. Did you put your games in the wrong directory? You must place disk images in the Documents subdirectory or else the disks will be read-only.

      Reply
  17. europlus

    Can anyone else confirm that under iOS 6, the .app directory is read-only with tools like iExplorer, PhoneView and iFunBox? I can’t seem to put my list.activegsxml file (or disk images that I want to be read-only) in there any more. The Documents directory is still r/w, but ActiveGS doesn’t look in there for the list.activegsxml file :(

    Sean

    Reply
    1. Helmut

      Seems like ios 6 does not let us write to this directory. I was all set to updae the xml file, but cant now because i updated ios. P****d.

      Reply
      1. datajerk Post author

        All we can do is email the authors to update the App so that the .xml file is in the Documents director.

        Reply
  18. Helmut

    Yeah, I’d be surprised if Apple would then approve the update if the FTA guy made it work that way. or maybe it could “point” to a remote file location – the frotz app for interactive fiction games has an option for dropbox syncing and a built in file server, which basically means you can put any zcode files to play (including copyrighted work) in the app. that would be a good way to go. We’ll see…

    Reply
  19. Bungler

    Not sure if you still maintain this wonderful project, but I’m having an issue with a set of disk images that I got from here:
    http://www.virtualapple.org/wastelanddisk.html
    It loads the publisher splash screen over and over again in a loop and never progresses into the game. I have taken all the spaces and parenthesis out of the file names and put in underscores. All my files are in the ../Documents folder. I have successfully ran other software with the help of your guide.
    My config looks like this:

    Wasteland
    1988
    Electronic Arts
    <![CDATA[
    Wasteland is a critically acclaimed post-apocalyptic role-playing video game first published by Electronic Arts in 1988.[1] The game was designed by Brian Fargo, Michael A. Stackpole, Ken St. Andre and Alan Pavlish, and programmed by Pavlish for Interplay Productions. Wasteland is set in a world decades after nuclear holocaust, which has turned Earth into the titular "wasteland" where survival is the paramount objective. The game's setting and concept would become the basis for Interplay's later game, Fallout, which itself would extend into a successful series.
    http://en.wikipedia.org/wiki/Wasteland_(video_game)
    Tip: At first time load, respond with "Y" to "Use last saved game (Y/N)?" and choose disk 5.

    Wasteland (Master 1) (Disk 1 of 9)
    Wasteland (Master 2) (Disk 2 of 9)
    Wasteland (Master 3) (Disk 3 of 9)
    Wasteland (Master 4) (Disk 4 of 9)
    Wasteland (Scenario 1) (Disk 5 of 9)
    Wasteland (Scenario 2) (Disk 6 of 9)
    Wasteland (Scenario 3) (Disk 7 of 9)
    Wasteland (Scenario 4) (Disk 8 of 9)
    Wasteland (Blank Save) (Disk 9 of 9)

    ]]>
    ../Documents/wasteland1.png
    APPLE2../Documents/Wasteland_Master1_Disk1of9.nib
    APPLE2../Documents/Wasteland_Master2_Disk2of9.nib
    APPLE2../Documents/Wasteland_Master3_Disk3of9.nib
    APPLE2../Documents/Wasteland_Master4_Disk4of9.nib
    APPLE2../Documents/Wasteland_Scenario1_Disk5of9.nib
    APPLE2../Documents/Wasteland_Scenario2_Disk6of9.nib
    APPLE2../Documents/Wasteland_Scenario3_Disk7of9.nib
    APPLE2../Documents/Wasteland_Scenario4_Disk8of9.nib
    APPLE2../Documents/Wasteland_BlankSave_Disk9of9.nib
    ../Documents/wasteland2.png
    6

    Any help would help. Thanks!

    Reply
    1. datajerk Post author

      I do not have a quick answer other than Wasteland is a PITA with any emulator. I am not in a position to test right now, ping me again in a week or two and I’ll try to figure it out.

      Reply
      1. Bill Martens

        There is a fix for it which we use on the website but it requires an emulator level fix as well. That should be in the ActiveGS emulator on the iPad but I am not sure if it was added.

        Reply

Leave a Reply to James Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>