Jump to content
IGNORED

What is the POKEY doing in there?


hex65000

Recommended Posts

So I'm doing a little research and I am curious if anyone knows what is going on inside the POKEY chip. Specifically, with the analog inputs. What exactly is going on between that variable resistor in the controller? Is it a fixed voltage? Is it oscillating? And how does the chip translate that into something meaningful for the rest of the system?

 

Hex.

[ Lots of questions... It's better this way. ]

Link to comment
Share on other sites

So I'm doing a little research and I am curious if anyone knows what is going on inside the POKEY chip. Specifically, with the analog inputs. What exactly is going on between that variable resistor in the controller? Is it a fixed voltage? Is it oscillating? And how does the chip translate that into something meaningful for the rest of the system?

 

Hex.

[ Lots of questions... It's better this way. ]

 

I think the best place to ask in the 8 bit forum. The pokey chip is standard in the 8 bit range 4/800 6/800xl and XEs. As the 5200 is a console version of these computers (for the most part anyway) is shares a lot of the same electrical parts.

 

From what I remember, if you are talking about the paddle inputs. Paddles are only resistors, POKEY uses these to make a RC charging circuit. So all POKEY has to do is Measure the time for the input to reach a threshold. This time is proportional to the value on the resistor in the paddle, the capacitor is a fixed value.

Link to comment
Share on other sites

Yeah, I was starting to suspect that after staring at the schematic for a while. I was hoping for something where I could inject a voltage level of my choosing and alter the behavior. I was at least smart enough to not attach anything to the input pins. (IE: a bench supply as I swing it around between 0 and 5V) I think I've got a solution worked out. It'll be harder, but that's nothing new. :D

 

Hex.

[ FEARS the I2c interface... :( ]

Link to comment
Share on other sites

maybe you could try and get hold of an atari touch tablet (or koalapad). These used to Paddle inputs to give X and Y readings, but used electronics (as opposed to Variable resistors) to trigger the inputs in to reading a value. I guess you will still be stuck with a charging lag on the input though as this does not change the fundamental way the inputs work.

 

If you need some sort of Analog conversion as an input, maybe you could use a cheap SPI based ADC on a couple of joystick pins?

Link to comment
Share on other sites

It's GND ... POT GND which is 0V..5V (sometimes a bit higher to like 6V) and POKEY converts it into 0..228 read at locations $E800..$E807 (for the 8 slow analog->digital converters). You have to write to POTGO to start the conversion and then wait about one frame so if you use a VBI, you can start POTGO and then read the values before issuing the next POTGO.

Link to comment
Share on other sites

  • 3 weeks later...

I'm aware of some of that stuff already. The information that it's an R-C timing circuit is part of what I needed to know. I'm working under the assumption that the response of the pokey is linear. IE: so many kOhms of resistance knocks the digital output value up by one bit.

 

I know that the pots in the joysticks are linear taper v/s a Log taper so I think I'm good to go.

 

Hex.

[ Has his own programming problems to deal with, the Atari's software quirks are not quite a concern... The hardware is though. ]

Link to comment
Share on other sites

I'm aware of some of that stuff already. The information that it's an R-C timing circuit is part of what I needed to know. I'm working under the assumption that the response of the pokey is linear. IE: so many kOhms of resistance knocks the digital output value up by one bit.

 

I know that the pots in the joysticks are linear taper v/s a Log taper so I think I'm good to go.

 

Hex.

[ Has his own programming problems to deal with, the Atari's software quirks are not quite a concern... The hardware is though. ]

 

I wouldn't assume a Linear relationship. RC circuits tend to have a natural log charging relationship. However if you are only working in the low part of the charging curve you could assume a linear-ish relation ship. but this will depend on the accuracy you want.

 

One thing else are you making something that turns, and the angle of turn is read by the computer? If so you may want to look at linear encoders, these will give you a digital output for an angular rotation...

Link to comment
Share on other sites

I'm aware of some of that stuff already. The information that it's an R-C timing circuit is part of what I needed to know. I'm working under the assumption that the response of the pokey is linear. IE: so many kOhms of resistance knocks the digital output value up by one bit.

 

I know that the pots in the joysticks are linear taper v/s a Log taper so I think I'm good to go.

 

 

I think it's incremented by 1 every scanline as I recall reading somewhere so 0..228 is 228 scanlines; and since 114 is taken as around center, it's assumed to be linear.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...