hex65000 Posted June 22, 2010 Share Posted June 22, 2010 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. ] Quote Link to comment Share on other sites More sharing options...
dooglehead Posted June 22, 2010 Share Posted June 22, 2010 I don't know because I do not own a 5200, so I can't test it, but I would guess that the variable resistor is connected in parallel to a capacitor, and the POKEY chip measures the RC-time. Quote Link to comment Share on other sites More sharing options...
Sub(Function(:)) Posted June 24, 2010 Share Posted June 24, 2010 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. Quote Link to comment Share on other sites More sharing options...
hex65000 Posted June 24, 2010 Author Share Posted June 24, 2010 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. Hex. [ FEARS the I2c interface... ] Quote Link to comment Share on other sites More sharing options...
Sub(Function(:)) Posted June 24, 2010 Share Posted June 24, 2010 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? Quote Link to comment Share on other sites More sharing options...
atariksi Posted June 25, 2010 Share Posted June 25, 2010 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. Quote Link to comment Share on other sites More sharing options...
hex65000 Posted July 15, 2010 Author Share Posted July 15, 2010 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. ] Quote Link to comment Share on other sites More sharing options...
Sub(Function(:)) Posted July 15, 2010 Share Posted July 15, 2010 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... Quote Link to comment Share on other sites More sharing options...
Divya16 Posted July 15, 2010 Share Posted July 15, 2010 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.