Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ascrnet/Joy2Bplus
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.3
Choose a base ref
...
head repository: ascrnet/Joy2Bplus
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Apr 13, 2021

  1. update readme

    ascrnet committed Apr 13, 2021
    Copy the full SHA
    fec8df3 View commit details
  2. change of texts

    ascrnet committed Apr 13, 2021
    Copy the full SHA
    545dce4 View commit details
  3. two new games

    ascrnet committed Apr 13, 2021
    Copy the full SHA
    efd697e View commit details
  4. change of name

    ascrnet committed Apr 13, 2021
    Copy the full SHA
    a097cfc View commit details

Commits on Apr 14, 2021

  1. fix text

    ascrnet committed Apr 14, 2021
    Copy the full SHA
    a2ecc3a View commit details

Commits on May 24, 2021

  1. update mod

    ascrnet committed May 24, 2021
    Copy the full SHA
    7dc133b View commit details

Commits on Jun 2, 2021

  1. Eyvind contribution

    ascrnet committed Jun 2, 2021
    Copy the full SHA
    34c4e6f View commit details

Commits on Jul 26, 2021

  1. playsoft contribution

    ascrnet committed Jul 26, 2021
    Copy the full SHA
    3ebc80c View commit details

Commits on Oct 28, 2021

  1. Eyvind contribution

    ascrnet committed Oct 28, 2021
    Copy the full SHA
    919733c View commit details

Commits on Nov 21, 2021

  1. img nesjoy2

    ascrnet committed Nov 21, 2021
    Copy the full SHA
    665f091 View commit details
  2. update readme

    ascrnet committed Nov 21, 2021
    Copy the full SHA
    ee7f297 View commit details
  3. updare readme

    ascrnet committed Nov 21, 2021
    Copy the full SHA
    1223400 View commit details

Commits on Jan 28, 2022

  1. Eyvind contribution

    ascrnet committed Jan 28, 2022
    Copy the full SHA
    90195db View commit details

Commits on Mar 1, 2022

  1. Bobo Cujo contribution

    ascrnet committed Mar 1, 2022
    Copy the full SHA
    05dfc51 View commit details

Commits on Mar 23, 2022

  1. Update README.md

    update
    ascrnet authored Mar 23, 2022
    Copy the full SHA
    3d375f2 View commit details
  2. Update README.md

    update
    ascrnet authored Mar 23, 2022
    Copy the full SHA
    ca36769 View commit details
  3. Update README.md

    update
    ascrnet authored Mar 23, 2022
    Copy the full SHA
    3168ab9 View commit details
  4. Update README.md

    update
    ascrnet authored Mar 23, 2022
    Copy the full SHA
    c70685f View commit details
  5. Update README.md

    update
    ascrnet authored Mar 23, 2022
    Copy the full SHA
    7be5a1f View commit details
  6. Update README.md

    update
    ascrnet authored Mar 23, 2022
    Copy the full SHA
    6262b43 View commit details
  7. Update README.md

    update
    ascrnet authored Mar 23, 2022
    Copy the full SHA
    c9ac5be View commit details
  8. Update README.md

    update
    ascrnet authored Mar 23, 2022
    Copy the full SHA
    5b9a4fc View commit details
  9. Update README.md

    update
    ascrnet authored Mar 23, 2022
    Copy the full SHA
    ed457d1 View commit details

Commits on Apr 12, 2022

  1. Glurk contribution

    ascrnet committed Apr 12, 2022
    Copy the full SHA
    a763379 View commit details
  2. new gamepad

    ascrnet committed Apr 12, 2022
    Copy the full SHA
    f42f5ff View commit details
  3. update

    ascrnet authored Apr 12, 2022
    Copy the full SHA
    8d4f305 View commit details

Commits on Jul 31, 2022

  1. Update README.md

    update A2600
    ascrnet authored Jul 31, 2022
    Copy the full SHA
    7c164ca View commit details

Commits on Aug 16, 2022

  1. Felipe de Toro contribution

    ascrnet committed Aug 16, 2022
    Copy the full SHA
    42d9b53 View commit details

Commits on Sep 5, 2022

  1. Update README.md

    update link
    ascrnet authored Sep 5, 2022
    Copy the full SHA
    de39db8 View commit details

Commits on Dec 31, 2022

  1. Update the Sega adapter picture

    Replace the Sega adapter prototype picture with a more recent one, and
    change the image links in README.md to be relative.
    Eyvind Bernhardsen committed Dec 31, 2022
    Copy the full SHA
    d98b695 View commit details
  2. Merge pull request #3 from eyvind/master

    Update the Sega adapter picture
    ascrnet authored Dec 31, 2022
    Copy the full SHA
    eab35d4 View commit details

Commits on Jan 24, 2023

  1. Update README.md

    ascrnet authored Jan 24, 2023
    Copy the full SHA
    2b2f331 View commit details
  2. Update README.md

    ascrnet authored Jan 24, 2023
    Copy the full SHA
    817aea4 View commit details
  3. Update README.md

    ascrnet authored Jan 24, 2023
    Copy the full SHA
    d887198 View commit details

Commits on May 26, 2023

  1. PPs contribution

    ascrnet committed May 26, 2023
    Copy the full SHA
    4b5b25e View commit details

Commits on May 27, 2023

  1. Abbuc contribution

    ascrnet committed May 27, 2023
    Copy the full SHA
    e0b167c View commit details

Commits on Jun 2, 2023

  1. Update README.md

    ascrnet committed Jun 2, 2023
    Copy the full SHA
    e62c1f9 View commit details

Commits on Jun 24, 2024

  1. add games zBall23

    ascrnet committed Jun 24, 2024
    Copy the full SHA
    e083c0d View commit details

Commits on Aug 27, 2024

  1. Update README.md

    ascrnet committed Aug 27, 2024
    Copy the full SHA
    c71d41a View commit details
  2. contribution tebe

    ascrnet committed Aug 27, 2024
    Copy the full SHA
    5b3a1c3 View commit details
  3. contribution Pecus

    ascrnet committed Aug 27, 2024
    Copy the full SHA
    6881f86 View commit details
  4. contribution pirx

    ascrnet committed Aug 27, 2024
    Copy the full SHA
    32605b1 View commit details

Commits on Sep 10, 2024

  1. Update README.md

    ascrnet committed Sep 10, 2024
    Copy the full SHA
    4a3dc83 View commit details
  2. Update README.md

    ascrnet committed Sep 10, 2024
    Copy the full SHA
    6e8f7d2 View commit details
  3. Update README.md

    ascrnet committed Sep 10, 2024
    Copy the full SHA
    bbcb48f View commit details

Commits on Nov 7, 2024

  1. Update README.md

    ascrnet committed Nov 7, 2024
    Copy the full SHA
    dc6a7d9 View commit details

Commits on Jan 3, 2025

  1. adds games

    ascrnet committed Jan 3, 2025
    Copy the full SHA
    5bcf259 View commit details

Commits on Jan 5, 2025

  1. Update Scorch.xex

    ascrnet committed Jan 5, 2025
    Copy the full SHA
    2e84b4e View commit details
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
*.xex
*.lst
/*.xex
/*.lst
158 changes: 147 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,185 @@
# Joy 2B+

![joy2b](https://github.com/ascrnet/TestJoy2B/blob/master/img/joy2bplus.png)
![joy2b](img/joy2bplus.png)

## Table of Contents
- [Introduction](#Introduction)
- [Hardware changes](#Hardwarechanges)
- [Housing Design](#HousingDesign)
- [Testing program](#Testingprogram)
- [Assembly Programming](#Asmprogram)
- [Mad-Pascal Programming](#pasprogram)
- [Games](#Games)
- [Purchase joystick or gamepad](#purchase)
- [Adaptations](#Adaptations)
- [Other supported joysticks](#suportjoy)
- [RetroArch](#RetroArch)
- [Contributors](#Contributors)

<a name="Introduction"/>

## Introduction

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 40 [games](https://github.com/ascrnet/Joy2Bplus/wiki/Games) are available and growing in the future
- More than 80 [games](https://github.com/ascrnet/Joy2Bplus/wiki/Games) are available and growing in the future
- Only the joystick needs to be modified by adding a resistor for each button added
- Compatible with some sega gamepad to use two buttons
- 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

<a name="Hardwarechanges"/>

## Hardware changes

The technical details to proceed to perform the modification are documented [here](../../wiki/Instructions)

<a name="HousingDesign"/>

## Housing Design

Thanks to the collaboration of “Mr.Holub” user of the Atariage forum, he shared his design on [Thingiverse](https://www.thingiverse.com/thing:6817937).

<a name="Testingprogram"/>

## Testing program

![joy2b](https://github.com/ascrnet/TestJoy2B/blob/master/img/testjoy2b.png)
![joy2b](img/testjoy2b.png)

This is a small program to test the buttons, it was developed in assembler using [MADS](http://mads.atari8.info) and right here is the source code and its [executable](https://github.com/ascrnet/Joy2Bplus/releases).

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

<a name="Asmprogram"/>

## Assembly Programming

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.

this is a small program to test the buttons, it was developed in assembler using [MADS](http://mads.atari8.info) and right here is the source code and its [executable](https://github.com/ascrnet/Joy2Bplus/releases/tag/1.2).
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".

<a name="pasprogram"/>

## Mad-Pascal Programming

Also the creator of [Mad-Pascal](https://github.com/tebe6502/Mad-Pascal) made a function to easily use Joy 2B+ (only for a second button).

```
function fire2: byte;
```

<a name="Games"/>

## Games

A [list](https://github.com/ascrnet/Joy2Bplus/wiki/Games) of currently available games and how to test them on Altirra emulator
A [list](https://github.com/ascrnet/Joy2Bplus/wiki/Games) of currently available games and how to test them on Altirra emulator for ATARI XL-XE

Compatible games for ATARI 2600 with [two buttons](https://atariage.com/forums/topic/158430-rom-hacks-to-support-2-buttons-with-genesis-controllers).

<a name="Purchase"/>

## Purchase joystick or gamepad

## ArcadeR joystick
Currently there is a seller [retrogameboyz.com](https://retrogameboyz.com/products/atari-8-bit-2-button-action-joystick-control-pad-gamepad-xegs-theme) of a ready to use modified gamepad, just visit his online store.

<a name="Adaptations"/>

## Adaptations

Alternative adaptations are shown below :

### ArcadeR joystick

Thanks to colleague Mr Robot from [Atariage](https://atariage.com/forums/topic/278884-2-button-joystick/?do=findComment&comment=4670068) for sharing this small modification to this joystick

![joyarcader](https://github.com/ascrnet/TestJoy2B/blob/master/img/arcaderJoy.jpeg)
![joyarcader](img/arcaderJoy.jpeg)

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

Just follow the steps shown in the picture
![joyarcader](img/arcaderJoy_v15.png)

## Retro receiver for SEGA
collaboration of colleague [Bobo Cujo](https://atariage.com/forums/topic/278884-2-button-joystick/?do=findComment&comment=4828898)


### Retro receiver for SEGA

This adaptation is to make compatible this wireless gamepad with Joy 2B+, made by the colleague Eyvind Bernhardsen from [Atariage](https://atariage.com/forums/topic/316068-diy-sega-mega-drive-genesis-adapter/).

![adaptersega](https://github.com/ascrnet/TestJoy2B/blob/master/img/adaptersega.jpeg)
![adaptersega](img/adaptersega.jpeg)

All the information on how to make the project are in his own [repository](https://github.com/eyvind/sega-adapter/).

### Adapt nes gamepad

![nes01](img/nesjoy2b01.jpg)

here are the [directions](https://github.com/ascrnet/Joy2Bplus/wiki/adapt-nes-gamepad)

### Sega megadrive gamepad

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

![megadrive](img/gpadmega.jpg)

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

If you need more information visit the Atarige [forum](https://forums.atariage.com/topic/333051-i-designed-a-joypad-for-the-xexegs-anyone-with-a-3d-printer-want-to-take-a-crack-at-it/#comment-5028852).

<a name="suportjoy"/>

## Other supported joysticks

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

- [MXPad](http://www.krupkaj.cz/sblog/article_detail.php?itmid=9000035)
- [SNACK](https://forums.atariage.com/topic/323171-snack-snes-atari-controler-kit)

<a name="RetroArch"/>

## RetroArch

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+

<a name="Contributors"/>

## Contributors

- Eyvind Bernhardsen
- Bobo Cujo
- Playsoft
- Pepe
- Juan Francisco Roco
30 changes: 15 additions & 15 deletions TestJ2b.asm
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
; Programa Test Joystick 2b+
; Por Abel Carrasco
;------------------------------
; 2B+ Joystick test program
; By Abel Carrasco
;--------------------------------------------------------------------------------
; 01/05/2019 - first version
; 06/04/2019 - change graphics
; 11/04/2021 - changes shared by Eyvind Bernhardsen :
; * allow testing of non-Joy2B sticks
; * buttons 2 and 3 only appear if they are present
; * tweak and add decay to the sounds
; * make the direction rose point in eight directions instead of four
; * allow testing of non-Joy2B sticks
; * buttons 2 and 3 only appear if they are present
; * tweak and add decay to the sounds
; * make the direction rose point in eight directions instead of four
; 12/04/2021 - change of text to english and new version

RTCLOK = $14
@@ -250,11 +250,11 @@ dl
.byte $41
.word dl

; Diseño de textos
; Title messages
title
.byte " TESTER JOY 2B+ "
author
.byte " POR ASCRNET 2021 "
.byte " BY ASCRNET V2021 "

blankline
:40 .byte " "
@@ -326,12 +326,12 @@ joy2_3
:10 .byte " "

messages
dta " Buttons "
dta "2"*
dta " and "
dta "3"*
dta " will be activated when "
dta " a joystick with support is connected "
.byte " Buttons "
.byte "2"*
.byte " and "
.byte "3"*
.byte " will be activated when "
.byte " a joystick with support is connected "

; Display list interrupts
dli
Binary file added games/Abu Simbel Profanation (Ntsc).xex
Binary file not shown.
Binary file added games/Atlantis.xex
Binary file not shown.
Binary file added games/Block Attack (Pal).xex
Binary file not shown.
Binary file added games/Der Schraenker.xex
Binary file not shown.
Binary file added games/Druid (Ntsc).xex
Binary file not shown.
Binary file added games/Druid.xex
Binary file not shown.
Binary file added games/Gemdrop.atr
Binary file not shown.
Binary file added games/Hans Kloss.xex
Binary file not shown.
File renamed without changes.
Binary file added games/Mytris.xex
Binary file not shown.
Binary file added games/Return of the Fungi.xex
Binary file not shown.
Binary file added games/Scorch.xex
Binary file not shown.
Binary file added games/Scramble.xex
Binary file not shown.
Binary file added games/StarMaster (Ntsc).car
Binary file not shown.
Binary file added games/StarMaster (Pal).car
Binary file not shown.
Binary file added games/Technical Difficulties No Internet.xex
Binary file not shown.
Binary file added games/Time Wizard Deluxe Edition v2.0.car
Binary file not shown.
Binary file added games/Zauberball 23 (Ntsc).xex
Binary file not shown.
Binary file added games/Zauberball 23 (Pal).xex
Binary file not shown.
Binary file modified img/adaptersega.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/arcaderJoy_v15.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/gpadmega.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/nesjoy2b01.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/nesjoy2b02.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/nesjoy2b03.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/nesjoy2b04.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/testjoy2b.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.