Jump to content
VinsCool

Theoretical Maximal Number of Physical POKEY Chips?

Recommended Posts

Hey guys, I was looking at this page again a moment ago, such a great reference as I am learning the insides of the Atari 8-bit.

https://www.atariarchives.org/mapping/memorymap.php#53760

 

I noticed something that only now caught my attention:

Quote

Locations 53776 to 54015 ($D210 to $D2FF) are duplications of locations 53760 to 53775 and have no particular use at present.

 

And was wondering, how realistic would it be to use that whole location of memory for extra POKEY chips?

 

I already know of the typical STEREO upgrade, which makes the chip offset by $0010 in memory to be usable, and that's nice, it's really not a very complicated implementation for sure.

 

I think you see where I am going with this.

That makes the entire location from $D220 to $D2FF still available for the user, right?

 

Now, I am aware I may be entirely wrong about this assumption, but let's just say this could indeed work, would that mean, in theory, up to 16 chips in total could work in parallel?

 

That definitely sounds way too good to be true, but I was curious about what you guys thought about this.

 

Because honestly, I speak only for myself, having 64 audio channels in total would be absolutely awesome for sure :D

Even much less than that would be cool to have.

I think of the QUAD-POKEY used Arcade machines, for example.

 

Imagining such an upgrade could be done physically, and the programs running are all set to work with this setup, would this, in theory, actually work at all?

 

Thanks for passing by, I am mostly rambling out loud for now, hahaha :D

 

Share this post


Link to post
Share on other sites

Quite certain you'd run out of CPU time to drive the chips, before address space would be an issue. Although, seeing the incredible work done with the LZSS player and the minimal time that takes, who knows what is really possible.

  • Like 2

Share this post


Link to post
Share on other sites

Yeah I've already though about the CPU time, I'm aware it would be too much to handle everything at once.
Specifically speaking, my question was about the address space for now :P 
 

Share this post


Link to post
Share on other sites

Hello VinsCool

 

Yes, 16 Pokeys can be addressed, and even 64 PIAs.

 

Quad-Pokey is available as PokeyMax.  PokeyMax comes in lots of configurations.  If you'd want "Pokeys only" in the PokeyMax V3 and foft would be willing, you could have a lot of Pokeys in your PokeyMax.

 

Sincerely

 

Mathy

 

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Hi Mathy, thank you very much for the answer!
This is really damn cool... There is a lot that could be done with the appropriate setup for a musician!

So my initial thought was indeed correct, now I have a smile stretching up to my ears, hahaha :D 
I mean, imagine if someone was crazy enough to do this on a stock machine.
I for now, only have a single extra POKEY in my things, however :P 

How good are the PokeyMax? I've only heard about them but no idea what are their features or improvements.

 

  • Like 1

Share this post


Link to post
Share on other sites
41 minutes ago, rensoup said:

coincidentally LZSS can easily handle 800hz and 800hz = 16 * 50hz 🤓

That was exactly what I had thought a bit earlier tonight, haha

  • Haha 1

Share this post


Link to post
Share on other sites

Other limits might be hit before 16.

There's only 2 CS lines so once you go over 4, extra logic would need to be employed.

Over 4 the physical space constraints would really start to show.  Not only do you accomodate the chips but there'd probably be need also for an audio mixing circuit.

Probably at some point the limit would be hit as to how many the bus can drive.

 

From a software/control point, a tracker like RMT would probably be near 100% CPU usage at times if using 8 or more Pokeys.

Though really, the biggest advantage with lots of Pokeys would be using capabilities that require multiple voices - 16 bit, filters, other waveforms etc.  Generally such usage will have lower CPU overhead than 2 independent voices.

 

 

  • Thanks 1

Share this post


Link to post
Share on other sites
36 minutes ago, Rybags said:

There's only 2 CS lines so once you go over 4, extra logic would need to be employed.

I see, obviously all that stuff would have to be taken into consideration, I am nowhere close to be a printed circuit expert, unfortunately, so I take your words as facts.
Hopefully that sort of extra logic wouldn't be terribly difficult to do.

39 minutes ago, Rybags said:

Over 4 the physical space constraints would really start to show.

Haha good catch, that was a pretty obvious one!
I had the image of an Atari under surgery, so if things look ugly with a stack of chips sticking outside of the motherboard, it's clear that wouldn't fit inside a stock machine case :D 
Let's say that whole mad scientist experiment only happens without a case, for now :P 

43 minutes ago, Rybags said:

Not only do you accomodate the chips but there'd probably be need also for an audio mixing circuit.

I thought about the way each POKEY would have their own AUDIO OUT pin, so that would probably be the problem of whoever owns such a setup :P 
I suppose non-linear mixing would be pretty ugly if signals are simply merged into fewer cables... 

44 minutes ago, Rybags said:

Probably at some point the limit would be hit as to how many the bus can drive.

I agree. The question is, how much could it be before the bus driver loses his mind? hahaha

46 minutes ago, Rybags said:

From a software/control point, a tracker like RMT would probably be near 100% CPU usage at times if using 8 or more Pokeys.

Yup, that is expected for sure.
Again, it's how far could it be before it's unable to function anymore? :D 
If there's a CPU, might as well use 100% of it, right? hahaha
There is also the idea where the entire setup would be used for music, so there's no reason to worry about that, at least, not until the music itself starts to stutter, while the CPU implores mercy 😹

48 minutes ago, Rybags said:

Though really, the biggest advantage with lots of Pokeys would be using capabilities that require multiple voices - 16 bit, filters, other waveforms etc.

Absolutely! That's specifically why I had asked by posting this thread.
There's just so much that could be done with more voices available!

48 minutes ago, Rybags said:

Generally such usage will have lower CPU overhead than 2 independent voices.

That I can argue about.
It depends on what the user is trying to achieve.
In most cases, all voices are used, regardless.
High Pass Filter? Needs 2 voices, 16-bit? Needs 2 voices, Two-Tone Filter? Again, 2 voices.
However, I see what you mean, and I agree with you :P 





 

Share this post


Link to post
Share on other sites

Hello Rybags, VinsCool

 

4 hours ago, Rybags said:

There's only 2 CS lines so once you go over 4, extra logic would need to be employed.

Over 4 the physical space constraints would really start to show.  Not only do you accomodate the chips but there'd probably be need also for an audio mixing circuit.

Probably at some point the limit would be hit as to how many the bus can drive.

 

PokeyMax is approximately the size of ONE original Pokey, contains a couple of Pokeys (either 2 or 4), two SIDS and some Yamaha sound chips.  So size isn't the problem.  And neither is selecting the right chip and mixing the audio together.

 

Sincerely

 

Mathy

 

 

  • Like 1

Share this post


Link to post
Share on other sites
15 hours ago, Mathy said:

Yes, 16 Pokeys can be addressed, and even 64 PIAs.

 

Quad-Pokey is available as PokeyMax.  PokeyMax comes in lots of configurations.  If you'd want "Pokeys only" in the PokeyMax V3 and foft would be willing, you could have a lot of Pokeys in your PokeyMax.

@foft probably knows best how many POKEY cores his FPGA can accommodate. ;)

  • Like 1

Share this post


Link to post
Share on other sites

You could also connect 16 Pokeys to the cartridge port (the PCB will be bigly), combined with 16 internal, gives you 32 mono lines. Route them all to your mixpanel, and Bob's you uncle ;)

Consider that real Pokey's go for over $50 now. That's an expensive endavour :)

  • Like 1
  • Thanks 1
  • Haha 1

Share this post


Link to post
Share on other sites
10 hours ago, Rybags said:

Over 4 the physical space constraints would really start to show.

A stack of 16 piggybacked POKEYs would be 2.5 inches tall. :D

Edited by ClausB
  • Haha 3

Share this post


Link to post
Share on other sites
26 minutes ago, ClausB said:

A stack of 16 piggybacked POKEYs would be 2.5 inches tall. :D

But the least amount of added bus capacitance ;)

  • Like 3

Share this post


Link to post
Share on other sites
2 hours ago, ivop said:

You could also connect 16 Pokeys to the cartridge port (the PCB will be bigly), combined with 16 internal, gives you 32 mono lines. Route them all to your mixpanel, and Bob's you uncle ;)

Consider that real Pokey's go for over $50 now. That's an expensive endavour :)

A cartridge port expansion sounds like a pretty neat add-on idea, too!

  • Like 1

Share this post


Link to post
Share on other sites
35 minutes ago, VinsCool said:

A cartridge port expansion sounds like a pretty neat add-on idea, too!

It has been done with "foreign" sound chips, like SID and OPL, so it could be done with Pokey(s), too.

 

I also wonder how many Pokey cores @foft can fit in one PokeyMax. I assume the downmixing to mono/stero is done digital. And chip select is too.

Edited by ivop
typoo
  • Like 1

Share this post


Link to post
Share on other sites

Artificial Pokey engines are probably good enough now that sound only purposes could be served by an AVR emulating a bunch of them.

 

But really, it's mostly unbroken ground with little existing requirement.  So a better option would be to just put a better sound chip in, like a mid-late 80s Yamaha.

  • Like 1

Share this post


Link to post
Share on other sites

Stacked Pokeys might have heat issues and current draw issues.

 

As Rybags said, it might be interesting to use a single new CPU (AVR or ARM) to emulate a bunch of them.
To the bus it would only be driving a single chip instead of many but could use the address space of the many.
Does mean that the many emulated Pokey outputs would be merged to 1 or 2 physical outputs.

 

I assume some of the voices would change slowly - eg bass lines.
Which lessens the CPU overhead a little.

Some voices might even be continuous rumble (eg engine noise on car/plane simulator) which would have no CPU overhead after it is set-up.

  • Thanks 1

Share this post


Link to post
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...