Close

Time precise method to provide analog position to ATari 5200

danjovicdanjovic wrote 03/05/2020 at 04:07 • 2 min read • Like

This is another method for providing analog position to Atari 5200 that does not depend upon internal calibration.

The analog controller information is measured by Pokey chip that measures the time a capacitor takes to increase its voltage from near zero to a given value. This time varies with the resistance of the potentiometer axis.

  Many videogames and computers, like ATari 2600, PC gameport, Apple][ gameport usually discharges the capacitors right before start a new reading cycle. On these systems is just a matter of waiting for the capacitors to discharge to know when to push the line high to provide a desired position (timing) information.

  But in Atari 5200 that is not so easy because Pokey chip keeps the capacitors discharged by until the next sampling cycle that depends upon the game loo, therefore the discharge moment can not be used as a time reference.

The experiments that I have done consisted in:

  1. polarize one of the pot inputs with a resistor that provides a low counting, e.g. 10KOhms and detect the voltage increase before it reaches ~1.9V that is the input threshold voltage of POT pins in Pokey Chip.
  2. Then the line is forced LOW by the time enough to provide the desired counting in Pokey chip.
  3. Finally the line is pushed high to exceed the threshold voltage and that makes pokey capture the exact counting.

Worth to mention that this method does not depend upon internal calibration of Vac voltage (at pin 9).

The links [1][2] are for two videos with the first experiments. The tests have been performed on a AVR (Arduino board) together with the #Atari 5200 Controller Port Emulator 

image.thumb.png.1fbab83ac90a6d604670509e901ffcb0.png image.thumb.png.ebbda832fb9ee8958bdf301758054913.png

Like

Discussions