Ver el código de Joy 2B+

((https://raw.githubusercontent.com/ascrnet/Joy2Bplus/master/img/joy2bplus.png align=center))
{{toc numerate=1}}

===Descripción ===
Agregar dos botones adicionales al joystick para tener un total de 3 botones funcionales sin modificar el Atari. Solo se necesitan juegos modificados que tengan el soporte para los dos botones extras por suerte tenemos muchos ya disponibles.

===Historia ===
Este proyecto empezó en el exforo de Atariware el 26 de septiembre del 2018, presentando la idea de unir los pines del joystick estándar con los pines de un paddle agregando una resistencia de 10K a la conexión 5v+
((https://raw.githubusercontent.com/ascrnet/Joy2Bplus/master/img/joystick.gif align=center))
((https://raw.githubusercontent.com/ascrnet/Joy2Bplus/master/img/paddle.gif align=center))
Se armo un joystick prototipo e hice algunas pruebas de concepto solo con un botón adicional.

Primera prueba en Basic, listado a continuación :
%%(code)10 PRINT STICK(0),STRIG(0),PADDLE(0):GOTO 10%% 
{{embed url="https://www.youtube-nocookie.com/embed/bWp0ro_D8BY" width=480 height=360 align=center}}
Segunda desde ensamblador, listado a continuación :
%%(code)OUTCHAR = $F2B0 ; Imprime un caracter en pantalla
PADDL0  = $0270 ; Leer paddle 0
COLOR4  = $02C8 ; Color de borde 712         
STRIG0  = $D010 ; Boton del joy 0

      org $2000

; Inicio y colores
start 
     lda #$92
     sta COLOR4
     
; Ciclo y lee paddle 0
loop  
     lda PADDL0
     cmp #5
     bne boton
     lda #'2'
     jsr OUTCHAR 
; lee boton    
boton
     lda STRIG0
     cmp #0
     bne exit
     lda #'1'     
     jsr OUTCHAR       
exit
     lda #$9b     
     jsr OUTCHAR 
     jmp loop

     run start
%%
{{embed url="https://www.youtube-nocookie.com/embed/lz2TL0dN454" width=480 height=360 align=center}}
Después del éxito de las pruebas se empezó con modificar juegos. El primero Screaming Wings primero usando solo un botón adicional para la vuelva en 360 antes se usaba la tecla espacio.

Bytes del juego original
%%(code)AD FC 02  LDA $02FC ; lee el teclado (CH) 
C9 21     CMP #21   ; es tecla espacio?%% 
Bytes del parche
%%(code)AD 70 02  LDA $0270 ; lee paddle 0 (PADDL0)
C9 05     CMP #05   ; es botón 2%% 
{{embed url="https://www.youtube-nocookie.com/embed/QMhOjkNvt4g" width=480 height=360 align=center}}

Después se modificó Green Beret que fue algo similar al anterior, para usar la bazuca con el segundo botón en vez de la tecla espacio.
{{embed url="https://www.youtube-nocookie.com/embed/YS5bXSS5LEU" width=480 height=360 align=center}}
A la semana el amigo SpaceInvader sugirió modificar la resistencia a 330ohms para hacerlo compatible con atari 2600 y con pad de Sega Genesis. Después de prueba y nació la versión final.

Ahora se empezaron a modificar varios juegos, el amigo pepe le gustó mucho la idea y apoyo en parchar muchos juegos al proyecto.

De hay se presento en foro de atariage, haya se sumaron mas personas para ayudar en parchar juegos con 2 o 3 botones. 

===Modificación del Joystick===
En resumen vamos a incluir en el joystick los pines propios más los pines 5, 9 y 7 o sea necesitamos un cable que contenga los 9 pines. Puedes hacer el cable tú mismo o usar uno de sega o de alguna consola que use como conector un DB9. La unión de todos los cables debería quedar como este esquema :
((https://raw.githubusercontent.com/ascrnet/Joy2Bplus/master/img/joy2b.png align=center))
Con esto tenemos 2 botones más, usando el movimiento de los paddles izquierdo y derecho. Un detalle la resistencia 330 ohms puede ser de 1/4 o 1/2 watt.

===¿Como se programa?===
Partimos en Basic que es más fácil y es algo similar para todos los lenguajes de alto nivel para el ATARI.
%%(code)
10 GR.0
20 IF STRIG(0) = 0 THEN ? "BOTON 1"
30 IF PADDLE(0) = 228 THEN ? "BOTON 2"
40 IF PADDLE(1) = 228 THEN ? "BOTON 3"
50 GOTO 20
%% 
Para ensamblador es algo similar al ejemplo de más arriba, tenemos que cambiar el valor 5 a 228 "esto es por el cambio de resistencia"
%%(code)
     lda PADDL0
     cmp #228
     bne boton
%%
===Programa de pruebas===
Este pequeño programa es para probar el funcionamiento correcto de los 3 botones de los joystick modificados.
((https://raw.githubusercontent.com/ascrnet/Joy2Bplus/master/img/testjoy2b.png align=center))
Disponible desde su ((https://github.com/ascrnet/Joy2Bplus/releases repositorio)) oficinal.

===Emulación===
Se puede emular desde altirra 3.20 para usar 3 botones, dejamos un video de los pasos a realizar para activarlo.

{{embed url="https://www.youtube-nocookie.com/embed/EOBmjwyS6Fs" width=480 height=360 align=center}}

===Juegos===
Desde el repositorio puedes bajar mas de 70 ((https://github.com/ascrnet/Joy2Bplus/tree/master/games juegos)) modificados para usar 2 o 3 botones.