Jump to content

madscijr

Members
  • Content Count

    29
  • Joined

  • Last visited

Posts posted by madscijr


  1. Thanks for your replies. I did some more digging and I think it will definitely be possible (lots of links listed below). 

     

    Mouse input - looks like the mouse reading can be very easily done, there are plenty of examples of reading PS/2 mouse with Arduino and you can just plug a USB optical mouse into a USB to PS/2 adapter. I have used these adapters with many old computers.$2 for the PS/2 socket, and if you need an adapter it's $2. 

    There are breakout boards for USB input for Arduino, but the Raspberry Pi has that built in. 

     

    Recreating the potentiometer - basically we want to create a digital potentiometer - one way might be just to connect matrix of fixed resistors (or just potentiometers tuned to the values) to switches on the Arduino in a binary pattern, that add up to 1M Ohm (1000000 ohms). The more resistors/switches, the more "bits" you have, for higher resolution. For example an 8-bit resolution 1M Ohm digital potentiometer can be made with 8 resistors of these values:

     

    Bit  Value (Ohms)
    1    500000 < most significant bit (MSB)
    2    250000
    3    125000
    4    62500
    5    31250
    6    15625
    7    7812.5
    8    3906.25 < least significant bit (LSB)
         996093.75 subtotal, comes close to the full 1000000 Ohms

     

    These values should provide 256 discrete resistances, which exceeds the 160 pixel horizontal resolution of the 2600. You could add a 9th bit and get 512 discrete resistances (with each bit you add, the number of resistances can be doubled). It really comes down to how many switches the given Arduino / Pi / etc. can control. 

    I see an Arduino Uno R3 board for $15 that has 14 digital input/output pins. 

     

    Then just have your Arduino program close switches along the circuit path to bypass/short the given resistors to achieve the desired resistance. 

     

    I'm not sure about the current - a quick google says Atari paddle's pin outputs 5v but not sure what current it carries. You can check with a multimeter (I have a "dummy load" gadget somewhere if I need it). 

    Anyway, need to make sure it doesn't overload the Arduino digital outputs. 

    According to https://electronics.stackexchange.com/questions/67092/how-much-current-can-i-draw-from-the-arduinos-pins

    the limit for Arduino is: 

    DC Current per I/O Pin: 40.0 mA

    DC Current per VCC and GND Pins: 200.0 mAOverall DC current limit for all IO pins put together: 200 mA
     

    If the current is greater than what the Arduino's digital switches support, you would have it use transistors (I have seen some Arduino packages include Darlington transistor arrays out of the box). But it's a common problem with plenty of info available. 

    The Darlington transistors should be fine - I don't imagine the Atari would use paddle voltages big enough that you'd need to use relays (which are slow, maybe too slow to keep a game controller responsive).

     

    This might take some experimenting to "calibrate" the resistances, but I don't see why it couldn't be done.

     

    The bit patterns for the various resistances can either be calculated or even stored in a lookup table to speed it up. 

     

    Regarding the part about the USB mouse providing relative data, you would probably track a virtual "position" in the Arduino, and output based on that. Maybe add a "panic" button to reset/or center the mouse? I don't know, this would just take some playing around to find out. 

     

    Not sure if one Arduino could be used as an adapter for 2 or more mice. I saw some posts on reading multiple devices, but would need to read more on it. Theoretically the perfect adapter would let you plug in 4 USB mice, and have 2 9-pin outputs that plug into an Atari, but you might have to build 1 adapter per mouse, where 2 adapters would combine their output into a single 9-pin plug that plugs into the Atari? 

     

    This is all theoretical at this point, but fun to think about! 

     

    Some links I found: 


    Micro Connectors USB Female to PS/2 Male Adapter $1.99 at Frys
    https://www.frys.com/product/3470833?store=32&gclid=CjwKCAjwg-DpBRBbEiwAEV1_-LBP0wQgTWY04b3YUzia7Vmjb3NRNFzpyc5nobYSrP75AWVi-ohp0RoCX8YQAvD_BwE

     

    Breakout board for PS/2 Socket $2 at Cytron
    https://www.robotshop.com/en/cytron-breakout-board-ps-2-socket.html?gclid=CjwKCAjwg-DpBRBbEiwAEV1_-IriJMjpOkzehKzOuMYQDxNwzf1MMjTxopXG5J4mm078Y0uNCHD_kBoCvd4QAvD_BwE

     

    PS2 mouse interface for Arduino
    https://playground.arduino.cc/ComponentLib/Ps2mouse/

     

    GitHub - rucek/arduino-ps2-mouse
    https://github.com/rucek/arduino-ps2-mouse

     

    GitHub - kristopher/PS2-Mouse-Arduino: Arduino/Wiring Library for interfacing with a PS2 mouse.
    https://github.com/kristopher/PS2-Mouse-Arduino

     

    Reading ps2 mouse output with an Arduino (PDF)
    https://www.robocore.net/upload/attachments/readingps2mouseoutputwithanarduinofinal_769.pdf

     

    Arduino PS2 Mouse Interfacing Project with Circuit Diagram
    https://www.engineersgarage.com/embedded/arduino/how-to-interface-ps2-mouse-with-arduino

     

    Arduino Playground - InterfacingWithHardware - Mouse
    https://playground.arduino.cc/Main/InterfacingWithHardware/#mouse

     

    Grove - PS/2 Adapter
    https://seeeddoc.github.io/Grove-PS-2_Adapter/

     

    Modern mice for old computers 
    http://danceswithferrets.org/geekblog/?p=575

     

    MAX3421E - USB Peripheral/Host Controller with SPI Interface - A Single IC with USB Functionality
    https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX3421E.html

     

    Connect PS/2 Keyboard to Arduino
    https://www.instructables.com/id/Connect-PS2-Keyboard-to-Arduino/

     

    USB mouse library working for anyone
    https://forum.arduino.cc/index.php/topic,21655.0.html

     

    USB ports, one Arduino multiple HID?
    https://forum.arduino.cc/index.php?topic=514218.0

     

    Darlington Driver 8-Channel ULN2803 DIP - COM-00312 - SparkFun Electronics $1.95
    https://www.sparkfun.com/products/312

     

    ULN2003A Darlington Transistor Array Circuit Examples
    http://www.bristolwatch.com/ele/uln2003a.htm

     

    Use Arduino With TIP120 Transistor to Control Motors and High Power Devices
    https://www.instructables.com/id/Use-Arduino-with-TIP120-transistor-to-control-moto/

     

    ULN2003A Darlington Transistor Array Circuit Examples
    http://www.bristolwatch.com/ele/uln2003a.htm

     

    ULN2803: 8 Channel Darlington Driver (Solenoid/Unipolar Stepper) [ULN2803A] ID: 970 - $1.95 : Adafruit Industries, Unique & fun DIY electronics and kits
    https://www.adafruit.com/product/970

     

    Using MOSFETs versus Darlington Transistors.
    https://forum.arduino.cc/index.php?topic=198558.0

     

    arduino - Darlington MOSFET Problem - Electrical Engineering Stack Exchange
    https://support.google.com/chrome/?p=help&ctx=keyboard#topic=7438008

     

    I need a switch on/off power of 18V 20Amp with a arduino. Not sure what to use.
    https://forum.arduino.cc/index.php?topic=439170.0


     


  2. I've seen USB adapters for connecting Atari 2600 paddle controllers to a PC,

    but what about connecting USB optical mice to a real Atari to use as paddles? 

     

    I'm interested in trying a regular wired USB optical mouse or PC wired USB optical trackball for controlling paddle games -

    not only would it give a different gaming experience than paddles, but optical controllers would also be "jitter proof". 

     

    I have already made my own spinner controllers for MAME and Stella on the computer very simply,

    by duct-taping an optical mouse against a shaft (such as a wood dowel, or a wood dowel through a section of foam pool noodle) connected to a knob, and it works beautifully. 

     

    So I am curious about making an adapter using an Arduino or Raspberry Pi or similar,

    that you can plug the mouse into, and outputs the variable resistances that would emulate a real paddle controller on the 2600.

    (The paddle button would be a simple matter of wiring the button to the appropriate pins.)

     

    Has anyone tried this, seen a page on this, or got any idea how a microcontroller might output the resistance range (1M ohm) that a native 2600 paddle controller would? 


  3. One thing that has always bothered me about Super Breakout on the 2600 was the colors & sounds. I like the original game's much better and would love to be able to hack Super to use those.

    I know nothing about programming the 2600 (but I know the very basics of 6250 assembly). I have been playing around with running code at 8bitworkshop and was wondering if anyone had a disassembly of breakout and super breakout or could lend a hand in modding the game?

     

     

     

×
×
  • Create New...