Skip to content

ascrnet/Joy2Bplus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Joy 2B+

joy2b

Table of Contents

This small modification is to adapt two or three buttons to a joystick for ATARI 2600/XL/XE.

Some advantages of this project :

  • More than 80 games are available and growing in the future
  • Only the joystick needs to be modified by adding a resistor for each button added
  • You can buy a ready-to-play joystick
  • Compatible with some SEGA gamepad to use two buttons
  • For developers it can be emulated from Altirra by configuring a custom joystick
  • Modifications of some commercial joysticks are also available
  • A test program is provided for proper testing of all buttons

The technical details to proceed to perform the modification are documented here

Thanks to the collaboration of “Mr.Holub” user of the Atariage forum, he shared his design on Thingiverse.

joy2b

This is a small program to test the buttons, it was developed in assembler using MADS and right here is the source code and its executable.

Thank you Eyvind Bernhardsen for your improvements to the test program.

Our colleague Eyvind Bernhardsen presents a universal way to detect this joystick modification:

PADDL0  = $270
pot_max = $e4

test_button_c
	lda PADDL0
	cmp prev_button_c
	beq not_pressed
	sta prev_button_c
	eor #pot_max
	bne not_pressed
	; code to handle button press goes here!
	...
not_pressed
	; button wasn't pressed, go do something else

prev_button_c
	.byte pot_max

(My code calls it "Button C" because that's what it's called on a Megadrive/Genesis controller). You can detect a Joy2B+ or compatible button by checking if prev_button_c ever gets set to anything other than #$e4, and you can read the third button from PADDL1 in the same way.

Note: the code works with a normal joystick because the button is "held down" on startup, and won't be detected until it's "released".

Also the creator of Mad-Pascal made a function to easily use Joy 2B+ (only for a second button).

function fire2: byte;

A list of currently available games and how to test them on Altirra emulator for ATARI XL-XE

Compatible games for ATARI 2600 with two buttons.

Currently there is a seller retrogameboyz.com of a ready to use modified gamepad, just visit his online store.

Alternative adaptations are shown below :

ArcadeR joystick

Thanks to colleague Mr Robot from Atariage for sharing this small modification to this joystick

joyarcader

Just follow the steps shown in the picture. Here is a 1.5c version of the pcb of the same joystick.

joyarcader

collaboration of colleague Bobo Cujo

Retro receiver for SEGA

This adaptation is to make compatible this wireless gamepad with Joy 2B+, made by the colleague Eyvind Bernhardsen from Atariage.

adaptersega

All the information on how to make the project are in his own repository.

Adapt nes gamepad

nes01

here are the directions

Sega megadrive gamepad

One of the easiest gamepad to adapt is the 3-button gamepad from sega megadrive.

megadrive

You will only have to remove the chip and make the corresponding connection.

If you need more information visit the Atarige forum.

List of other joysticks that use the Joy 2B+ protocol as a second alternative for use :

With the help of Juan Francisco Roco we now have support in this great emulator, follow the next steps to activate it :

first step upgrade the core :

  • Online Updater -> Core Downloader -> Atari - 5200 (Atari800)

Second step activate the joystick :

  • Core Options -> Input -> Controller Hack -> Joy 2B+
  • Eyvind Bernhardsen
  • Bobo Cujo
  • Playsoft
  • Pepe
  • Juan Francisco Roco