Jump to content
IGNORED

What is the Theoretical Maximum Number of POKEYs?


Recommended Posts

Just wondering... Aside from space considerations, how many POKEYs could an Atari handle, from a technical perspective?

 

I know that there were Atari arcade games that used four POKEYs for sound... Really, though, multiple POKEYs could be used for sound and/or enhanced I/O interfacing, something that I don't think anyone has really explored very fully.

 

Has anyone ever hooked up an huge number of them, like 8 or more? I would think that you could build a multi-port joystick port patch-bay, and have lots of fun, & potential for interfacing all sorts of real world stuff.

 

I'm not quite sure how you would figure out the Theoretical Maximum, since I'm sure that it would be an enormous number, especially if multiplexing was used in the design. I would guess that 8, could be done without too much fuss. Any ideas?

Link to comment
Share on other sites

Theoretical, there is no limit (from a hardware perspective). But depending on the "solution" there are.

 

The page $D2xx is reserved for the Pokey. But the Pokey only uses 16 bytes in this area (out of 256 bytes). So the simplest solution, that is extending on the current stereo Pokey implementations, would map the extra Pokeys in the $D2xx area. This means that 16 Pokeys can be addressed in this area and be compatible with existing stereo upgrades.

 

But additional Pokeys could be mapped in other "unused" IO pages like the $D0xx, $D6xx, $D7xx (reserved for PBI devices) and $D5xx (reserved for cartridges e.g. bank switching) pages. Each of these 4 pages could map 16 extra Pokeys but would cause incompatibilities with PBI devices or bank switch cartridges.

 

Finally, multiplexing could be used to maps in theory almost infinite number of Pokeys in the $D2xx page.

 

So the most practical and compatible solution would support 16 Pokeys but that is certainly not the limit.

 

But that is not the complete story. All those Pokeys need software to drive them and the more Pokeys, the more processing time is used to make the Pokeys sound good. Of course this depends on the complexity of the sound you want to create. Something sounding like the Rob Hubbard/David Whittaker/RMT tunes would take much more processor time than simple "beeping" sounds. Thus too many Pokeys and the 6502 won't be able to drive them all. I would estimate that a RTM like music player driving 20-25 Pokeys would take all processor time.

 

Robert

Link to comment
Share on other sites

...All those Pokeys need software to drive them and the more Pokeys, the more processing time is used to make the Pokeys sound good. ...

 

Well, the question came to me while I was reading about the new Veronica slave processor, thinking, "Hmmm, what are some things that this device could this be used for...".

 

I think that the multi-channel audio aspects are cool, & that the general I/O aspects are also pretty interesting... you could really read a lot of potentiometers & switches with that kind of setup. There would be a lot of interesting things that you could do with serial communications, digitization, and things like adding external keyboards, joysticks, and accessories... in addition to the vastly improved audio & musical potential.

 

All in all, it seems that a Multi-POKEY board would be a really cool thing to have with the Veronica cart.

 

I wonder what 16 POKEYs sounds like. Must be pretty interesting sounding. You could use some of them just to create thick Chorusing effects, via slight de-tuning... could sound very thick, like the early 80s Roland synths, that had that great chorus circuit in them. Would be very fun to experiment with.

 

Something like that could, largely, be an unpopulated, socketed board, to keep costs down. This way, a user could add POKEYs to it, over time, to increase it's functionality. Seems like a neat idea.

Link to comment
Share on other sites

Logical limit 16. Though alternate mapping schemes makes that unlimited.

Physical limit depends on your machine and how much spare space is there. Power needs for each chip + wiring into a stereo output circuit.

Practical limit probably less than 16. RMT is a good example, many songs you have the colour bar which acts as a CPU meter.

On an NTSC machine the time available to play music would probably mean 10-12 Pokey's tops. Not much less time would be left for other stuff.

 

Realistic limit, I'd say 8. Nice power of 2 number, gives you 16 x 16 bit voices if you want or up to 32 8 bit ones.

Tracker demands shouldn't max out the CPU.

 

Actually, in a situation where there was lots of Pokeys, you'd probably want to run tracker calls on alternate frames to split the load in half. Less versatility for music but more CPU time left to do other stuff.

Link to comment
Share on other sites

That's an interesting idea, but would use lots of space with multiple 40 pin chips. Dual and Quad PoKeys (C012294-02, C012294-04) may be helpful, but are all but impossible to find, so how about an 8 PoKey FPGA implementation on a small board that would replace the existing PoKey?

 

I know Candle was working on a single PoKey in FPGA, but as far as I know, he never finished it. A quick Google shows that a couple others are working on similar projects.

 

In the potential new hardware thread, foft has been working with this stuff.

 

Any ideas?

  • Like 1
Link to comment
Share on other sites

That's an interesting idea, but would use lots of space with multiple 40 pin chips. Dual and Quad PoKeys (C012294-02, C012294-04) may be helpful, but are all but impossible to find, so how about an 8 PoKey FPGA implementation on a small board that would replace the existing PoKey?

 

I know Candle was working on a single PoKey in FPGA, but as far as I know, he never finished it. A quick Google shows that a couple others are working on similar projects.

 

In the potential new hardware thread, foft has been working with this stuff.

 

Any ideas?

 

FPGA would be cool and is still hardware based :D so yeah...

 

I want to see a bunch of knobs to twist and turn to alter individual sound channels and distrotions and all that jazz. /dreaming

 

:)

Link to comment
Share on other sites

Interested to know if doubling up 8 bit based pokey to become 16 bit type sound could be achieved - im sure Atari User magazine covered this in the 80's - perhaps even quading to 32, maybe pokey can handle samples and stuff more effectively for tunes?

Link to comment
Share on other sites

Having more Pokey's does nothing other than the sum of the parts, ie voices from one can't do filtering, joining or interaction with other chips - aside from what happens once the audio outputs get combined externally.

 

Sampling won't really benefit greatly other than meaning you have more normal voices. As things are doing sampling using more than one or two channels tends to become demanding on the CPU.

Link to comment
Share on other sites

Having more Pokey's does nothing other than the sum of the parts, ie voices from one can't do filtering, joining or interaction with other chips - aside from what happens once the audio outputs get combined externally.

 

Sampling won't really benefit greatly other than meaning you have more normal voices. As things are doing sampling using more than one or two channels tends to become demanding on the CPU.

It wouldn't be perfect IMHO because of sync problems but you could do it with external circuitry. This is going to be one of my more 'off the wall' type comments which is really saying something.

 

You could do an R2R type summing circuit between two pokeys where one would take the upper bit values and the other the lower.

 

Another side track: Seems like if someone was really clever, they could use a jumper with the GTIA lum summing circuitry to do 4 bit sound. Maybe stick a decoupling capacitor in there for DC blocking. Jumper the GTIA lum summing circuit to the audio and bang directly on the chip.

 

Everything pointless except as a mental exercise of course. PWM of existing hardware already can do everything. It would be something of a giant step backwards. :)

Link to comment
Share on other sites

Sync? When dealing with multiple Pokeys any sync issues are often due to the speed of the controlling CPU.

 

Unless you have seperate buses and parallel access, you can't get 2 Pokeys synched easily though you don't really need to.

 

GTIA 4-bit sound: the problem there is that of 228 colour-clocks of a scanline we can only control about 176 of them. The remainder fall to black or sync level.

Then at the frame level, we only have 240 scanlines where we can do medium/high res graphics controlled by Antic. The remaining 22 or 82, all we can do is use the hires last line bug to allow use of PMGs within those extra scanlines which isn't very useful.

Link to comment
Share on other sites

I was thinking in terms of Bob's two graphic chip mod. IIRC it required both chips be set up, then some type of reset be performed in order to get them both working in tandem. Wouldn't do to have two POKEYs half a phase out: What would be intended as audio summing circuitry would work like noise cancellation circuitry.

 

I may do the admittedly silly jumper/cap hack just to listen to what a Graphic 9 screen sounds like. Should be something like high frequency buzz 60 times a second with a 30% duty cycle and secondary buzz effect due to the horizontal blanking plus the screen data. I wonder if the human ear can distinguish between the noise of different screens. Some stuff like 'I don't hear anything so it must be black' would be easy enough. I'm guessing a circle would have a distinctly different sound signature then a rectangle. It would probably take a dolphin or a bat to interpret it. :)

Link to comment
Share on other sites

Use an old rotary dial tuner TV and you'd probably be able to get the graphical "noise".

 

The 60 Hz buzz, plus underlying high frequency tone due to line rate and not being able to control the waveform at all for about 1/4 of the line would make any sound generation practically pointless.

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...