Jump to content
IGNORED

(Regular) Pokey in FPGA?


Recommended Posts

4 hours ago, foft said:

What the the benefits of the 5M2210? I see min size 17x17mm and also 26USD (edit: 6USD on aliexpress), but perhaps I'm missing something? Is it 5v tolerant so the level shifters can be removed?

The MAX V is not 5V tolerant and doesn't have a PLL. I don't recommend buying these chips at Aliexpress, 

  • Like 2
Link to comment
Share on other sites

On 4/9/2024 at 9:14 AM, foft said:

There is a Linux version of Quartus, does that help? Or are you on Mac OS X?

Without Quartus you can flash using openocd.

Yes, it is Linux, I will look it up. In the meantime - will one of those cheap USB Blaster knock-offs be sufficient? Because I can't really justify spending money on the genuine thing...

Link to comment
Share on other sites

Hello everyone. As promised, here's a git repo with @foft's PokeyMax 4 imported in KiCad: https://github.com/bleroy/pokeymax

 

I'll also post this on the other thread that I just learned about:

I also pushed the gerbers and  bom to JLCPCB to get an idea, and quite a few parts are still missing, including the fpga. I'll make an attempt with PCBWay to see if their inventory does better...

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

The parts get quite a lot cheaper in volume at DigiKey so if anyone is able to make 50+ and ship them that’d be best! I don’t want to get into shipping more than 5-10 I’m afraid. I was wondering about the Abbic shop…

 

Did you import the version with larger drill that allows for super cheap pcbs? Actually that is only a problem with low quantity, at 100+ small drills are ok.

Link to comment
Share on other sites

  • 2 weeks later...

I believe that since SID has been implemented in ARM microcontrollers (ArmSid) and even in Atmega (SwinSid), it would be all the more feasible to emulate Pokey on ARM, which could bring the price down below $30. 

Link to comment
Share on other sites

  • 2 weeks later...
On 3/26/2024 at 7:42 PM, foft said:

Happy to help. Should we make a new thread for this though? 

 

I checked a real pokey too. The mister one was forked off slightly older code and ported by Alexey. There are clearly some drive emulator changes to plug it into the mister framework (maybe compare vs http://www.64kib.com/atarixlfpga_svn/trunk/atari_800xl/firmware_eclairexl/atari_drive_emulator.c) I've not reviewed exactly what he did.

Coming back to this, waiting for the PCBs to arrive (it seems the PokeyMax 4 one will not come in time to assemble it next weekend :/) and now having a working Quartus installation I made sure I can compile the MiSTer core from sources (not fully done, the ARM C code is still the precompiled bin files and it might be I need older Quartus recommended by the MiSTer community) for any future experimentation. However, I also looked at diff of the basic VHDL files for Atari chips in the MiSTer core and yours that you made  available and the changes are far from trivial. Trying to sync this by hand knowing little about FPGA practicalities is most probably not going to work for me. So now I wonder how to approach this practically, it's such a waste that the MiSTer core is lagging behind and still having so many bugs... Perhaps a new fork altogether, I don't know...

Link to comment
Share on other sites

Posted (edited)

Probably easiest to:

i) Find the svn revision that was original ported (starting by date of the original port)

ii) Find the diff applied to port it to mister.

iii) Take HEAD of http://www.64kib.com/atarixlfpga_svn/branches/trunkv37/atari_800xl/ from svn (trunk is a bit ahead of the eclaireXL releases at the moment)

iv) Apply the mister port diff.

 

Though honestly I'm surprised I changed that much. I should probably try to build the MiSTer core at some point...

 

 

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

On 5/7/2024 at 5:47 PM, foft said:

I put a few of the fixes that seem significant here:

https://github.com/scrameta/Atari800_MiSTer

If this works better for you I can raise a PR.

Finally got to this one too ;) Well, first there is a warning complaint that the t65 stuff is missing, it does not seem to matter, at least not till the point I got to, just saying. Nevertheless, the compilation fails, see the picture. I have Quartus 23, and I did have to make soft link from pll_q17.qip to pll_q23.qip on the original Atari800_MiSTer repo project to make the compilation work, here I also did this, but I do not think this has anything to do with the quoted error, the error looks like a "solid mistake" ;) 

Screenshot from 2024-05-12 10-09-24.png

Link to comment
Share on other sites

4 minutes ago, foft said:

Thanks checking that one

I should also add, I just now also checked if the hand compiled with Quartus 23 original MiSTer A800 core works - it does! So my tool chain and compilation procedure seems to be sound.

Link to comment
Share on other sites

Posted (edited)
1 hour ago, foft said:

Think it'll be ok now, well fingers crossed!

It does work! And, Joyride finally works / loads, the screen you see is something I was not able to get to before! So it is an improvement. Some things are still as they were - Rewind demo does not load (crashes very interestingly during loading), Alley Dog loads and runs for a large part, but then the graphics crashes (this was so in the main version too). I also understand from other posts that the status for both Alley Dog and Rewind is the same on EclaireXL, so this is not a question of porting the Eclaire XL changes to MiSTer, but more generally of the compatibility of the FPGA development. 

 

As there were also numerous reports of the new Mikie game not working on this and that (including the stock hardware), I also tried that (version 1.09) and this one failed during loading in the most interesting way, it essentially made the MiSTer Atari core do a thing that Atari cannot do it seems, I will let people in the game thread know too. It is interesting to see that this game bends the hardware so much...?

 

But, the main point for me is essentially this - how to effortlessly keep your developments for the Eclaire XL and anything else you are working on in sync with the MiSTer repo... I would like to offer something of the kind "I will keep an eye on your repo and implement the corresponding changes in the MiSTer repo" but I know I will eventually loose it and will have a problem keeping up this promise. 

 

EDIT: I also ran the ACID tests, the Pokey IRQ timing tests now pass, there are only two failed tests left, see photos, and it might be that the serial timing one is due to disk emulation perhaps? The Antic DLI timing bug does sound like something that can mess up these demos and games though...

 

IMG_1317.jpg

IMG_1316.jpg

IMG_1315.jpg

IMG_1314.jpg

IMG_1318.jpg

IMG_1319.jpg

Edited by woj
Link to comment
Share on other sites

29 minutes ago, foft said:

Hmm, will look what is up with those. Should all pass. Which acid version?

I think it's the newest I found, but just to be sure I attach directly from my SD card the exact version I ran.

acid800.atr

Link to comment
Share on other sites

2 hours ago, foft said:

Committed a couple more things I found...

With the things I was testing the new commit behaves the same as the last one (for which reason I will probably have to recheck if I compiled the new code, but I did pull the stuff and I have seen the report on the changed files...).

Link to comment
Share on other sites

Posted (edited)

Oh too bad. Guess I should download quartus 17 again and connect the mister up/see what is up. I’ve not used it for a bit since messing with the hybrid Amiga core a year or so ago.

Edited by foft
  • Like 1
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...