Jump to content
IGNORED

ABBUC hardware contest entry: Pokeymax


foft

Recommended Posts

Hey @foft, thanks for contacting the UKVac forum with this awesome project! The arcade community have been after a real replacement for the Pokey for quite some time and it just about got to the point where a number of the folk from UKVac were going to do it themselves: https://www.ukvac.com/forum/fpga-pokey-replacement-discuss_topic366307.html Pokey chips have become increasingly hard to obtain and prices are just about hitting the tipping point (or perhaps even did a few years back).

 

Your design is almost exactly what we need! @foft it'd be great if you'd let one or two of the guys from UKVac or FPGAArcade help out in reducing the size of the design so we can get it down to nearly the same footprint as the original, or we'd love to work with you on getting it tested on a selection of arcade machines and make improves / adjustments as needed. Otherwise, are you open-sourcing the design or happy to share it with us? Looks like you've put a lot of work in to this!

 

I'd better hop back over to ukvac to reply. Not online so much this week...

Link to comment
Share on other sites

What a great project!

 

I cannot wait until all documentation and sources are published on the Abbuc website (ofcourse for Abbuc members only). It would be very nice to try to create one myself for private use :) It will probably not be an easy project, but a very nice project to do.

 

Thanks :thumbsup:

Link to comment
Share on other sites

 

Yep. STAR WARS famously uses quad-POKEY for that amazing sound! I adore that game.

 

(Got to play a cockpit version locally a few months ago for the first time since the 80's!)

 

attachicon.gifIMG_0193.JPG

 

Ugghhh.....please don't post that....... i'm starting to miss the one I used to have...... ;)

 

What amazed me is that even though 4 POKEYs are used, they didn't set it up as stereo. The sound uses "fake" stereo, there is a simple phase shifting circuit (old audio equipment sometimes had that too) to give you a FEEL of stereo, but the effect it that sound-wise you are completely disoriented....at least the sound doesn't come from the direction the enemy ship is coming from.

 

Nevertheless...it's an amazing experience. Of course there was also the Texas speech synthesizer, but to this very day I do NOT understand how they made a speech synth sound like the real thing. I mean, the voices....they sound like samples.....but they aren't....

 

Oh ...and the sound improved a LOT further when I replaced the 4 speakers (2 behind the head, two in the seat) by the same size and shape JBL car speakers with separate bass and mid-drivers and tweeters........WOOOHOOO....that surely rocked :D

 

 

uhh... what was the topic again ?

 

Oh yeah... POKEYMAX.

Yeah well, like Fred says, Abbuc members will be able to get the sources very soon so everyone could create their own version of the POKEYMAX PCB. If the extra needed space would be moved to the shortest edge (thus making the PCB longer) it would easily fit on at least the SW soundPCB.

Edited by Level42
Link to comment
Share on other sites

  • 4 weeks later...

I have a few of the pokeymax boards from the initial run I did for the ABBUC content entry here.

 

There are 6 left. I'm selling them for 40USD, 35EUR or 30GBP if you are interested. Open to anyone, though I'd rather people who are willing to help me test/improve them. Priority to ABBUC members!

 

There are also 7 bare pcbs, though you need to be VERY GOOD at SMD to assemble them (BGA and very small parts). Also about 30 souvenir boards that don't work (wrong footprint!). If you want any of those make me an offer:-)

 

I expect there will be a more polished 2nd run next year. I've just packed up a couple for some arcade experts to try. Also I plan to do more work on the firmware (I'm yet to try it on an NTSC board even).

  • Like 3
Link to comment
Share on other sites

I have a few of the pokeymax boards from the initial run I did for the ABBUC content entry here.

 

There are 6 left. I'm selling them for 40USD, 35EUR or 30GBP if you are interested. Open to anyone, though I'd rather people who are willing to help me test/improve them. Priority to ABBUC members!

 

There are also 7 bare pcbs, though you need to be VERY GOOD at SMD to assemble them (BGA and very small parts). Also about 30 souvenir boards that don't work (wrong footprint!). If you want any of those make me an offer:-)

 

I expect there will be a more polished 2nd run next year. I've just packed up a couple for some arcade experts to try. Also I plan to do more work on the firmware (I'm yet to try it on an NTSC board even).

 

I would take one :-)

Link to comment
Share on other sites

OK, the rest of these have been shipped.

 

I just sent out the boards by themselves, without additional supporting documentation. They are all programmed with the latest core and had a quick test run in my 600XL.

 

Basic installation:

i) Remove the original pokey

ii) Install into the socket, being careful of the orientation. Its very important that pin 1 (see post 1 diagram) is in the same place. As a reminder pin 1 is GND and pin 17 is 5V, see the handy pinout on wikipedia: https://en.wikipedia.org/wiki/POKEY#Pinout.

 

2nd pokey setup:

i) Connect a wire from the A4 pin header to any A4 connection on the board. For example I used pin13 on sally.

ii) Stereo sound will be mixed through the audio output, though you probably want to get hold of two phono sockets (or a 3.5mm jack) and wire it up to the extra audio outputs. See the markings on the diagram on post 1 for left/right/gnd outputs.

 

Expanding it:

i) Grab the rtl from here: http://www.64kib.com/atarixlfpga_svn/trunk/atari_800xl/atari_chips/pokey/

ii) Download Quartus lite edition from the Altera/Intel web site.

iii) Open the pokeymax.qpf project and compile it.

iv) Try flashing it with a USB blaster connecting to the JTAG port. Start with the .sof file to check it works then when happy make it semi-permanent by programming the .pof file.

v) Modify the code, add a SID etc and have fun! Or use the 10KB block ram as a sample buffer etc.

 

Bugs:

a) The Atari touch tablet will not work as is. To make it work some changes on the board are needed:

i) Remove CN2 and CN3 (not actually required but does make the capacitance correct)

ii) Replace RA1 with a 0ohm version

This is HARD, so I suggest a simpler alternative version is to short out the paddle resistor on the main board instead. This is a very easy jumper wire. e.g. on the 600XL referring to http://www.atarimania.com/documents/Atari_600XL_Computer_Field_Service_Manual_Rev_1.pdf, R69 and R70 should be shorted out.

b) The volume is slightly quieter than the original pokey.

 

Arcade use:

i) The timings are set up for ~1.8MHz operation. I probably need to modify the core to work properly also at arcade frequencies such as 1.25MHz and 1.5MHz, please test it as is and let me know. Or wait a few weeks until I find time to simulate it at lower frequencies.

 

 

If you find any issues please do let me know. It may be possible to resolve by a core upgrade. I'm also particularly interested about any physical spacing issues on installation. I have not yet reviewed all motherboard to check for spacing.

Edited by foft
  • Like 5
Link to comment
Share on other sites

Mmmm, Star Wars might be a bit tight.....Might just fit....

 

 

That seems weird to me. I thought they used the actual QuadPOKEY chip, hence the semi-modern "Quad POKEY Eliminator Board" that instead used 4 regular POKEYs usually harvested from 7800 Ballblazer cartridges. Or is that what is being shown here? And what are the other empty sockets for?

Link to comment
Share on other sites

I agree....but Kabooms music is not exactly pushing POKEY to its limits.... :D

 

The response of the paddles (no lag) is the important factor of this demo I guess and it looks to be no problem at all, but can only tell once I feel it...but I see little reason why tPokemax would be slower than a real one.

 

Does it also handle high SIO bitrates ? This is very important for sure.

 

I would strongly urge you to have someone with an arcade machine with POKEY(s) on it do some testing with Pokeymax.

A good machine would be Star Wars as a dedicated 6809 controls 4 POKEYs (plus a TI voice synth). IMHO Star Wars pulled the most out of the POKEY when it comes to advanced music and sound when it comes to the arcade machines using POKEY.

 

Sadly I sold mine a few years ago, along with all the other machines. Another good machine to test it on is Centipede. Centipede doesnt have a separate processor to control POKEY and since a defective POKEY has some distinct effects on the machine it might show up any incompatibilities,

 

If SW owners could put in two POkeymaxes instead of 4 POKEYs.....they might like that of course....

 

Do note that Star Wars sound is NOT stereo. It does sound like it, especially in the cockpit machine, but its fake stereo, the sound is simply produced directly in one speaker and a bit time shifted in the other, its an old trick also used on some audio hardware BITD (stereo expander).

This is fully done in hardware external of the POKEYs though, so you dont have to worry about that....

. The effect it pretty strange, but effective.

 

Anyway, Id have to dig up my Star Wars schematics to excacly know how POKEYs are tied in on the dedicated soundboard of SW.

 

If you dont have any contacts in the arcade collecting scene I still do and I know where my machines went and Im sure he would be willing to give Pokeymax some test runs.

 

Really, the arcade scene is definitly a good market for a good POKEY replacement but its the only market that might use POKEY in a slightly different way compared to our beloved Homecomputers do :)

Mostly though, POKEYs merely create rather simple sounds on most Atari arcade machines, the coin-op devision guys werent exactly far into pushing POKEY to its limits, then again, neither was any A8 software at that time (1980-1983).

 

but it would be a shame to not serve our felllow arcade collecting friends...some of them might be on this forum too.

 

There's more than just the Star Wars games that used Quad POKEY audio. The Gauntlet games did too... although they had a 6502 assigning the audio work and controlling the coin slots, Quad POKEY, the TI Speech Synthesis Chip, and the YM2151* for the main music.

 

 

*Had Atari Inc survived as a single united company without Warner selling it off in pieces, it probably would've been the AMY in there instead of the YM2151...had it been made to work properly.

  • Like 2
Link to comment
Share on other sites

For the people who bought for the arcade boards, please hold off trying it until I get a new core. I know what timing changes I need to make...

 

I'd have done this tonight, except my server just stopped working. It won't even POST. Fortunately all the svn and redmine backup appear to be on the NAS.

 

Perhaps I should run the web server on something more reliable, such as an 800XL :-)

Edited by foft
  • Like 5
Link to comment
Share on other sites

I have a new core that should work on the arcade machines, if you'd like to try it send me a pm. Basically I had used some timing code I had from the cart/pbi, which has the phi2 stability issues so timed everything off the phi2 rising edge + a delay line. Since phi2 is stable inside the computer (or should be!) I've switched to using that directly, which means it should work ok at other frequencies.

 

Here are a few documents with some more details on how to install/how this works...

 

 

pokeymax_overview.pdf

pokey_schematic.pdf

netlist.pdf

  • Like 4
Link to comment
Share on other sites

Wonderful project. I would not be much help with development, but I'd be glad to test on arcade machines. I have a Star Wars, several games that use a single POKEY, and a Major Havoc (which had a single socket for the Quad POKEY).

 

The POKEY also included some sort of random number generator, right?

Link to comment
Share on other sites

  • 2 weeks later...

I think here:

http://www.abbuc.de/component/jdownloads/viewdownload/15/1627

 

Note the subsequent bom corrections:

1) cn1/2 to be left unpopulated

2) ra1 to be 0ohm

3) Use better headers (machined?)

 

In my 600xl now I have the digimax (fpga + level shifters only) programmed as a pokey, working pretty well given it has no analog support whatsoever! The next version will probably use that approach as far as reasonable.

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