Jump to content
R0ger

2 button joystick ?

Recommended Posts

Here's Tank Commander Joy2B+.

 

Existing controls (which still work in this version):

Joystick up/down: Move forward/backward

Joystick left/right: Turn left/right

Hold Joystick Button 1 while pressing Joystick left/right: Turn turret left/right

Release Joystick Button 1: Fire shell

SELECT: Air Strike (up/down controls plane; Button 1 fires)

OPTION: View map (hold down the button to keep the map onscreen)

 

Joy2B+ additional controls:

Button 2: Air Strike (up/down controls plane; Button 1 fires)

Button 3: View map (hold down the button to keep the map onscreen)

 

Since the keyboard controls still work, this version is effectively compatible with 1, 2, and 3 button controllers.

 

See the manual on Atarimania for more information on Air Strikes and the map. 

 

For those wondering why I didn't bind the additional buttons to rotating the turret - honestly, in this game, the air strike/map are more critical.

Especially the air strike (hide behind a mountain and have the plane take out the turrets/tanks for you...)

Tank Commander - Joy2B+.xex

Edited by Bobo Cujo

Share this post


Link to post
Share on other sites

Here's Tutankham Joy2B+ (based on the Fandal .xex version).

 

This one requires a 3-button controller.

Those of us on 2-button controllers (myself included) are better off playing the original version, which has dual-joystick functionality that mimics the original arcade game (joystick 2 left/right to shoot; joystick 2 button to activate Flash bombs).

 

Joy2B+ new controls:

Button 1: Shoot left

Button 2: Shoot right

Button 3: Flash bomb

Tutankham - Joy2B+.xex

Share this post


Link to post
Share on other sites

Here's an alternative two-button version of Spelunker (yes, I'm a little obsessed with this game). I tweaked the controls a bit, inspired by the better-feeling three-button version: now the second button doesn't do anything unless the joystick is pushed left, right, up, or down; left and right will turn you in the appropriate direction before starting the fan.

 

More importantly though, I've removed all obfuscation from the loader. Now the boot sector is read to $4000 (init at $4008), does minimal setup, and loads the main game in plain text from sectors $21C-$293 to $0400-$3FFF. I zeroed out the sectors that used to be part of the multi-stage loader, but haven't made any other changes to the image. I've tested it as far as The Shaft, the first time I've reached it in decades!

 

spelunker-2btn-deobfuscated.atr

 

I tried using The!Cart Studio to make a cartridge image, but I couldn't get anywhere with it. Hopefully this will help someone else make a working cartridge version :)

 

The game calls the resident disk handler at $E453 from a routine at $06DD, and if necessary it looks like it's possible to put some extra code in the stack page now that the loader no longer fills $80-$17F with deobfuscation junk. Note that the stack pointer is reset to 0 every time the game starts, so the routine would need to start at $101.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, Eyvind Bernhardsen said:

I tried using The!Cart Studio to make a cartridge image, but I couldn't get anywhere with it. Hopefully this will help someone else make a working cartridge version

spelunker-2btn-deobfuscated.car

I don't have a 2 button joystick but I loaded it as a 1mB atarimax cartridge made with the Maxflash Studio software into and emulator and it starts Title screen and I just did a small part of the game..

[One of Favorites also]

 

  • Like 1
  • Thanks 2

Share this post


Link to post
Share on other sites
1 hour ago, Roydea6 said:

I don't have a 2 button joystick but I loaded it as a 1mB atarimax cartridge made with the Maxflash Studio software into and emulator and it starts Title screen and I just did a small part of the game.

Wow, that was fast! I can confirm that the two-button patch is in place, and I played it through to The Falls, so the loading routine works.

 

Thanks!

Share this post


Link to post
Share on other sites

@Eyvind Bernhardsen @Roydea6 I'm really happy that the Spelunker Joy2B+ project brought about an actual working deobfuscated cartridge version of Spelunker ;-)

(I also verified that "The Falls" works too)

Thank you both for allowing me to actually load a properly working Spelunker from my Ultimate cart!

 

I'm of two minds on having to hold left/right with button 2 for the Phantom Blaster:

On one hand, it allows you to swap fan directions without moving.

On the other hand, not having to hold left/right makes it easier to activate it immediately after landing on the ground, which is key if the ghost appeared while, say, riding a lift or climbing a bunch of ropes.

 

I personally prefer the latter for my own muscle memory (the big Ropes section in "The Ropes" comes to mind, when a ghost is almost guaranteed to appear when you're jumping through 10 or so ropes), but IMO there's good reasons to prefer either one.  At any rate, I've provided an alternate version of the .car file where pressing button 2 activates the fan regardless of joystick neutral/left/right.

 

Perhaps one of you could add a preferences menu to the game (press, say, Select on the title screen) in the newly freed up RAM to switch between these, and perhaps also between 2/3 button mode for one unified Joy2B+ binary?

 

 

 

spelunker-2btn-deobfuscated-alternate-button2-handling.car

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, Bobo Cujo said:

I'm of two minds on having to hold left/right with button 2 for the Phantom Blaster:

On one hand, it allows you to swap fan directions without moving.

On the other hand, not having to hold left/right makes it easier to activate it immediately after landing on the ground, which is key if the ghost appeared while, say, riding a lift or climbing a bunch of ropes.

Well, it's only easier to activate when you land if you happen to be facing the ghost :) But yeah, it's a compromise either way. I got frustrated because testing the three button version in Altirra got me used to holding the button and then pushing up or down for flare/dynamite, which kept triggering the fan in the two-button version. The real solution is to get a three-button joystick, of course 😛

 

2 hours ago, Bobo Cujo said:

Perhaps one of you could add a preferences menu to the game (press, say, Select on the title screen) in the newly freed up RAM to switch between these, and perhaps also between 2/3 button mode for one unified Joy2B+ binary?

Hmm, that's doable. On the disk version it'll even be possible to save the setting by storing it in the high score area 🤔

  • Like 1

Share this post


Link to post
Share on other sites

😱wow great work friends, I hope it turns out your ideas to have a Spelunker with 2 or 3 button selection menu would be great news 😎

 

I already uploaded them to the git and the updated wiki.

Share this post


Link to post
Share on other sites

Here's Picnic Paranoia Joy2B (.xex file version, based on the one from Homesoft with XL/XE compatibility fixes)

 

Existing controls:

Button 1: Swat

Space bar: Bug Spray  (this still works in this Joy2B version)

 

Joy2B additional controls:

Button 2: Bug Spray

 

Note that you get a can of bug spray at 5000 points, and at every 10000 points thereafter (15000, 25000, ...)

 

Confirmed working with both players.

Picnic Paranoia - Joy2B.xex

  • Like 1

Share this post


Link to post
Share on other sites

Here's Shadow World Joy2B (.xex file version, based on the one from Homesoft with XL/XE compatibility fixes)

 

Existing controls:

Button 1: Shoot

Space bar: Smart Bomb  (this still works in this Joy2B version)

 

Joy2B additional controls:

Button 2: Smart Bomb

 

In a one-player game, only controller 1 can activate smart bombs (as it should be).

In a two-player game, each person can activate a smart bomb from a shared pool (the game starts with 3 in reserve, with one added for every completed level).

Shadow World - Joy2B.xex

  • Like 1

Share this post


Link to post
Share on other sites

Here's Airball Joy2B (XEGS cart).

 

Controls:
Button 1: Jump

Button 2: Pick up/drop objects (replaces the OPTION button function)

 

Note that pressing any keyboard key (Space bar, letter key, ...) still works; this also picks up/drops objects.

Airball - Joy2B.car

  • Like 1

Share this post


Link to post
Share on other sites
On 8/20/2020 at 8:27 PM, Bobo Cujo said:

@playsoft @kiwilove OK, here's Beta 1 of my Hawkquest Joy2B mod, with the changes I mentioned earlier:

 

- Fix the critical section bug (that sometimes prevented bootup*) by changing lda NMIEN/pha to lda #$40/pha/nop

- This mod is now guaranteed to not clobber existing data, since the button2 handler is now in the OS memory space (which has plenty of free data)

- Relocate and optimize the VBI handler to optimize out 2 JMP calls (6 less cycles :-))

 

Tested on level 1 with some shooting and bombing.

 

* I actually tried the earlier version of this on a real NTSC Atari 800XL via Ultimate Cart earlier today, and I didn't run into the bootup failure...

 

also: Thanks @kiwilove for the manual link!

Hawkquest - Joy2B - Beta 1.car 1 MB · 10 downloads

I did a quick test on this and it seems to be working with saves.  Overall the game is probably too tough and needs some hacking to make it more playable/fun for the general player.  I do have some ideas but may not be so easy to implement?  You can always press START on the main game to restart on that planet, without any reloading.  You need to use the saves you've done - to get through the secondary game levels towards completion.

I appreciate the work you've done with this.  The important thing to remember about the game is that the Level 2 secondary games are all new.  They are not rehashes from Level 1.

 

Harvey

Share this post


Link to post
Share on other sites
3 hours ago, kiwilove said:

I did a quick test on this and it seems to be working with saves.  Overall the game is probably too tough and needs some hacking to make it more playable/fun for the general player.  I do have some ideas but may not be so easy to implement?  You can always press START on the main game to restart on that planet, without any reloading.  You need to use the saves you've done - to get through the secondary game levels towards completion.

I appreciate the work you've done with this.  The important thing to remember about the game is that the Level 2 secondary games are all new.  They are not rehashes from Level 1.

 

Harvey

@kiwilove After having played the Mycea level (and occasionally a few others) repeatedly to test out the Joy2B changes (I still need to get through the secondary game on that one), I'm more or less in agreement with you.

The right gameplay foundations are in place; it mostly needs some tweaking for the sake of game balance and preventing cheap deaths.

 

 

I'll start a new thread to discuss this...

 

Share this post


Link to post
Share on other sites

Here's Choplifter XEGS Joy2B (the full-color Mode E version, since IMO it's better suited to the Atari's strengths and it's PAL-friendly).

 

Old controls:
Press and release the fire button to shoot

Hold the fire button to change which way the helicopter is facing

 

New controls:

Button 1: Shoot

Button 2: Change which way the helicopter is facing

(firing now happens on button press rather than button release)

 

Essentially, the button controls are now in line with the original Apple II version.

Firing should now be more responsive, and it should now be easier to aim at things overall 🙂

 

Cartridge and .xex files are provided.

(Cartridge is based on the original cart; .xex version is based on the Homesoft version)

Choplifter! _ Atari (US) - Joy2B.car Choplifter XE - Joy2B.xex

  • Like 2

Share this post


Link to post
Share on other sites

Here is my final version of Spelunker, including a second button mode selector.

 

Pressing Select during the attract sequence switches between three fan modes for the second button, turning the background a different colour for each one:

  • green (default): the second button only triggers the fan when the joystick is held to the left or right
  • yellow: the second button triggers the fan unless the joystick is held up (flare) or down (dynamite)
  • blue: the second button never triggers the fan

Pressing the third button always triggers the fan, regardless of mode or joystick direction. The .atr version saves the mode to disk when the game is started, but only if it has been modified.

 

Spelunker - Joy2B.atr Spelunker - Joy2B.car

 

This version also fixes a bug in my deobfuscated version: the Reset button now properly restarts attract mode, at least on disk (the cartridge version exits to BASIC).

 

If anybody wants to modify the game further, PM me for details on how the multistage loader works. There's a lot of free space on the disk and it's pretty easy to modify the loader.

  • Like 2

Share this post


Link to post
Share on other sites
On 9/6/2020 at 10:16 PM, Bobo Cujo said:

Here's Picnic Paranoia Joy2B (.xex file version, based on the one from Homesoft with XL/XE compatibility fixes)

 

Existing controls:

Button 1: Swat

Space bar: Bug Spray  (this still works in this Joy2B version)

 

Joy2B additional controls:

Button 2: Bug Spray

 

Note that you get a can of bug spray at 5000 points, and at every 10000 points thereafter (15000, 25000, ...)

 

Confirmed working with both players.

 

If it works on the second player, but this version has bad presentation music. another XL/XE version but with good music 😉

12 hours ago, Eyvind Bernhardsen said:

Here is my final version of Spelunker, including a second button mode selector.

Thank you, for time things I didn't get to review it.😅

10 hours ago, Wrathchild said:

Perhaps the original (non-Lightgun) version of Operation Blood could benefit from the 'second button along with space-bar' treatment?

Great game, I checked it out but it was too cloudy for me. 😅

 

I already uploaded them to the git and the updated wiki.

Share this post


Link to post
Share on other sites
4 hours ago, ascrnet said:

If it works on the second player, but this version has bad presentation music. another XL/XE version but with good music 😉

 

@ascrnet...and this is what happens when I try to code these with the sound off. 🙂

 

I also tried using dis6502 to get a disassembly of the file for use with WUDSN IDE (many of the previous hacks were done by manual hex editing/note taking in a text editor).

For whatever reason, it apparently misplaced a few bytes along the way 😞

 

At any rate, here's a fixed version - I just copied/pasted the relevant joy2b patch code into the actual binary in a hex editor.

 

Thanks for pointing this out!

Picnic Paranoia - Joy2B - Rev 1.xex

Share this post


Link to post
Share on other sites
17 hours ago, Eyvind Bernhardsen said:

Here is my final version of Spelunker, including a second button mode selector.

 

Pressing Select during the attract sequence switches between three fan modes for the second button, turning the background a different colour for each one:

  • green (default): the second button only triggers the fan when the joystick is held to the left or right
  • yellow: the second button triggers the fan unless the joystick is held up (flare) or down (dynamite)
  • blue: the second button never triggers the fan

Pressing the third button always triggers the fan, regardless of mode or joystick direction. The .atr version saves the mode to disk when the game is started, but only if it has been modified.

 

Spelunker - Joy2B.atr 90.02 kB · 4 downloads   Spelunker - Joy2B.car 128.02 kB · 4 downloads

 

This version also fixes a bug in my deobfuscated version: the Reset button now properly restarts attract mode, at least on disk (the cartridge version exits to BASIC).

 

If anybody wants to modify the game further, PM me for details on how the multistage loader works. There's a lot of free space on the disk and it's pretty easy to modify the loader.

 

I just tried it and it works pretty well - this is a pretty elegant way to handle selecting the control preferences.

Thank you @Eyvind Bernhardsen for making this!

 

@ascrnet Please replace the existing Spelunker binaries on the git/wiki with Eyvind's binaries 🙂

  • Like 2

Share this post


Link to post
Share on other sites
15 hours ago, Wrathchild said:

Perhaps the original (non-Lightgun) version of Operation Blood could benefit from the 'second button along with space-bar' treatment?

I just looked at this, and unfortunately the disk does obfuscated loading a la Spelunker 😞

 

@Wrathchild Did you mean "the second button of the Amiga mouse" rather than "the second button of a Joy2B controller?"

I think the game plays better with a mouse compared to a joystick, but I'm not sure offhand what the correct handling of the second button would be...

 

Does anyone else want to attempt this?

Share this post


Link to post
Share on other sites

Here's Beer Belly Burt in Brew Biz Joy2B (based on the Homesoft .xex version).

This hack essentially separates out jumping from other actions activated by pressing UP.

 

Old controls:

UP: Jump (combine with Left/Right to jump left/right), Climb stairs, Climb up conveyor belts, Climb up ladders

Fire button: Shoot

 

New controls:

Button 1: Shoot

Button 2: Jump (combine with Left/Right to jump left/right)

UP: Climb stairs, Climb up conveyor belts, Climb up ladders

 

Note that if you are on the ground and want to start climbing on a ladder, you'll have to jump (Button 2) to start climbing it.

The original game code doesn't explicitly check if you're in front of a ladder; it makes you jump up - and holding up starts the actual climbing. 😞

 

No attempt has been made to smooth over some of the other clumsy aspects of movement in this game (can't crouch until the character's momentum has run out, momentum comes to a dead stop after landing from a jump, etc.)

If anyone wants to take a try at smoothing that up, you're welcome to use this Joy2B hack as a starting point...

Beer Belly Burt in Brew Biz - Joy2B.xex

  • Like 1

Share this post


Link to post
Share on other sites

And after 30 (!) of these, it's now time for me to take a break from these and let others have a go... 🙂

 

Here's a list of other games to consider, along with some caveats:

 

Ace of Aces

Press Button 2 instead of double-tapping the fire button (!) to invoke view switching (see the game's manual for more on this)

 

Asteroids

Press Buttons 2/3 for thrust and shield/hyperspace/flip over - but it'd be good to let players select Joy2B vs. original controls on this one.

 

Axis Assassin

Press Button 2 to activate the zapper. 

Use the .atr from Fandal for this; other versions don't actually have a properly working zapper. 

Also note that pressing the zapper when the spider web appears takes you to a special bonus round...


Raster Blaster

Press Button 2 to activate the right flipper.

This one will require hacking in a custom VBI for STA POTGO since the main loop runs repeatedly between VBLANKS...


Castle Hassle

Press Buttons 2/3 to switch between different ghost forms.

 

Cloudburst

Hold Button 2 to hold up the umbrella? (currently this involves holding UP)


Computer War

Press Button 2 to rotate pieces during the piece-matching puzzle.


Dandy Dungeon

Press Buttons 2/3 to activate food/bombs per player.


Dark Chambers.rom

Press Button 2 to activate magic (instead of double-tapping the button - the logic for this is really finicky, too)


Decathlon

Use Buttons 2/3 (or 1/2) for running instead of wrecking the joystick 🙂


Desert Falcon

Press Button 2 to activate acquired abilities (instead of double-tapping the button)


Final Legacy

Press Button 2 to instantly go back to the main view selector screen (currently mapped to the space bar).

This needs to work in each of the different subscreens...


Gateway to Apshai

Use Button 2/3 + stick directions to substitute the START/SELECT/OPTION functions (see the manual for details)


Ghost Chaser

Press Button 2 to jump (instead of UP).


Ghostbusters

Press Button 2 to drop ghost bait and Button 3 to see status.

This one's tricky since there's a rather complicated key handler here...


Gumball

Press Button 2 to activate the bomb defuser (instead of the space bar).


Hard Hat Mack

Press Button 2 to drop the jackhammer (first screen only) instead of the space bar.


King Tuts Tomb

Buttons 1/2 to fire left/right, and Button 3 for the flash (just like Tutankham, above).


Livewire and Livewire 2

Press Button 2 to fire the zapper (Joystick mode) or Paddle 2's Button (Paddle mode).

 

Nightstrike.rom

Use the extra buttons to either independently rotate the turret or to load the other ammo types (see the manual for details).


Pinball Construction Set

Press Button 2 to use the right flipper (and possibly other construction set functions?)


Qix (the older Mode E version)

Press Button 1 for fast draw, Button 2 for slow draw.


Thunderfox

Press Button 1 for regular shots, and Button 2 for bombs.

This also requires some UI treatment to get rid of the weapon selector icon.


Wizard of Wor

Button 2 + direction to change aiming direction without moving, to simulate the original arcade game's special joystick.

I attempted this, but the direction changing code auto-assumes that the player will move forward and makes this harder to implement...

 

And I'm sure there's more - can someone also fill in some PAL titles (my recommendations above come from NTSC-land)?

Share this post


Link to post
Share on other sites
On 9/12/2020 at 9:13 AM, Eyvind Bernhardsen said:

Here is my final version of Spelunker, including a second button mode selector.

 

Pressing Select during the attract sequence switches between three fan modes for the second button, turning the background a different colour for each one:

  • green (default): the second button only triggers the fan when the joystick is held to the left or right
  • yellow: the second button triggers the fan unless the joystick is held up (flare) or down (dynamite)
  • blue: the second button never triggers the fan

Pressing the third button always triggers the fan, regardless of mode or joystick direction. The .atr version saves the mode to disk when the game is started, but only if it has been modified.

 

wow great contribution!!! i can only say thank you.🤘

On 9/13/2020 at 2:40 AM, Bobo Cujo said:

 

@ascrnet Please replace the existing Spelunker binaries on the git/wiki with Eyvind's binaries 🙂

 

updated !!!! 🤩

On 9/15/2020 at 5:24 AM, Bobo Cujo said:

And after 30 (!) of these, it's now time for me to take a break from these and let others have a go... 🙂

 

Thank you very much for your time dedicated to this project, rest but do not forget them!😉

 

I already uploaded them to the git and the updated wiki.

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...