Tuesday, September 13, 2016

Apple II 4play Joystick Card - Joyport Conversions

From the time I recreated the Sirius Joyport device (the digital joystick part of the card) in 2009 I have wondered if producing a Sirius Joyport clone would have been a good idea. Several people have asked me about it but I have turned them down. The Joyport works well on the Apple II and II+ machines but not on the IIe and IIGS which accounts for the majority of today's Apple II users (the IIc doesn't count because it can't use the Joyport ie it doesn't have the 16 pin Game Port socket). When attached to a IIe or IIGS the Joyport causes the machine to go into self test mode on reboot. This happens because the self test mode is tied to the Open and Close Apple keys / paddle buttons and the Joyport sets these paddle buttons to high by default. This problem is not only an annoyance but it could be causing the computer harm. I'm happy to take that risk with my own computers but I don't want to be doing that with other people's machines. There is no signal on the Game Port to let you know that the computer is rebooting so on my Joyport hardware I have added a power button. Even with this power button it's difficult to get into the habit of turning it off every time you want to reboot. The best thing I was able to come up with is possibly adding some sort of pressure pad where the joystick, when placed on the table, is powered off but when it's picked up it turns on.

While waiting for the 4play boards and parts to arrive I wondered if there was a better solution to the Joyport situation. Since I'm already communicating with Atari style joysticks using the 4play card I wanted to find out how difficult it would be to convert the Joyport games into being 4play compliant. It turns out to be very easy. I have converted a few of my favourite Joyport games to work with the 4play card. These programs include Boulder Dash, Boulder Dash II, Seadragon, Spy' Demise and Wavy Navy. So now there is an alternate way to enjoy these titles using digital joysticks. Not only have I converted the games but I have improved the functionality where possible. For example take Seadragon. This game requires two triggers to play the game. Trigger 1 is for torpedoes and trigger 2 is for the screen bomb. Since the Joyport is only a single trigger solution, to play Seadragon using that device you need to play with a digital joystick but use the keyboard for the second trigger. How annoying is that! I was able to convert Seadragon to use both triggers on the 4play device. 

Each conversion was different. Spy's Demise was the easiest to convert because it only uses the left and right directions for gameplay. Seadragon was the most involved only because I wanted to improve on the dual trigger functionality. Unlike Antoine's conversion of Lode Runner or Jesse's conversion of Kaboom!, I haven't written the code to automatically check for which slot the 4play is plugged into. All my conversions assume the 4play card is inserted into slot 4. If you're using a different slot then you will need to change any occurrence of the code "AD C0 C0: LDA C0C0" to what is required by the above picture ie if your card is in slot 7 then your code should read "AD F0 C0: LDA C0F0".

I would like to thank the developers of Ciderpress, AppleWin and Omnivore for making it easy for me to perform the conversions on a modern day computer.

You can find the converted disk images and the description notes on how the Joyport games were converted here: https://docs.google.com/open?id=1U2ZaPhB8TDHceTgKS-jVUeXZNNv4KEq7


Update: 16th January 2017.

I have provided a link here from Brutal Deluxe Software which contains 8-bit routines to help with programming the card and also a patched version of Lode Runner: http://www.brutaldeluxe.fr/sourcecode/4play.html

No comments: