Jump to content
IGNORED

DIY 2600+ flash cart with a Raspberry Pico


karri

Recommended Posts

There is some good news and some bad news about the Pico when running modern homebrews.

 

Here is the good news :) 

 

Complex games like 1942 works on the 2600+. If they are up to 128k.

IMG_20240219_085824.thumb.jpg.adf91737b5ba18b56fde4ce78dce3b9e.jpg

 

1942 (Concerto - Small ROM Build) (Single Background) (No Music) (20221011).uf2

So these were the Good News.

 

-------------

 

Then the bad news... On a real Atari 7800 the situation is worse.

 

IMG_20240219_085614.thumb.jpg.835a68546c4550fd7a5909fd4f83d549.jpg

The game boots but the screen has glitches. The sound works. But after a while...

IMG_20240219_085615.thumb.jpg.57da1d2f194e09b024a91a385af773e7.jpg

the game crashes.

 

My gut feeling is that the Pico just gets too hot and the CPU throttles or something. So I would need a heat sink on the chip and a fan. That pretty much makes Pico unusable on the real consoles for complex games...

 

------------------------

 

So what next... As the Pico works nicely with the 2600+ I tried to use the flash for getting larger games to work. But the dumper really needs high speed RAM for reliable downloads. So the next step is probably to use all the RAM available for the dumping process and place a PIO/DMA process in the background to manage traffic between the flash and the RAM. This sounds very silly as I will break the compatibility with the real consoles. But the big games do not have enough RAM for the real consoles anyway so dedicated 2600+ images are the way to go for the games that are too big for Pico.

  • Like 4
  • Sad 2
Link to comment
Share on other sites

  • 2 weeks later...
27 minutes ago, karri said:

You can convert a78 or bin files to uf2. For a78 files the script gets the information from the header how to emulate the cart. For bin you need to find out the details by yourself

Thanks, a78 works best for me. 

Link to comment
Share on other sites

  • 2 weeks later...
1 hour ago, karri said:

Pico is a nice tool for emulating carts. Unfortunately it cannot compete with a real fpga implementation.

Couldn't you use the Raspberry PI3 A for this, its used on PiStorm because its thinner so would maybe fit nicely inside a A2600 cartridge case, its as big as the RPI3 so as big as a credit card but thinner then the RPI3 B+.

It a little bit shorter then the RPI3 B+ too because it has no RJ45 connector for a network connection.
581d414e-e8b2-42c4-850a-54655f388bb6_3A+

Edited by Spanner
Link to comment
Share on other sites

Development for the Pico is relatively easy, very cheap ($5) and light on power.  It's a microcontroller, so bit-banging on GPIO is straight forward.   Development for the Raspberry-Pi is more complicated, more expensive and more power-hungry.  You have to worry about system interrupts for your timing.  I'm not saying it can't be done, it's just more difficult and not the best use of a Raspberry Pi.  We are implementing a ROM so the board needs to respond to the CPU when the CPU expects to see a signal on the data-lines.  If system resources go towards responding to disk I/O, network, etc., then you could easily miss a data-transfer.  

 

FPGA and microcontrollers work well for the ROM task, with FPGA being the superior choice but more expensive and harder to develop for.  With a Pico you can develop in C/C++ and easily debug problems with a serial interface.  FPGA's use hardware design languages and the development process requires a lot of simulation and testing to get the hardware implemented.  Good news is that the price of FPGA's is slowly coming down and the performance of microcontrollers (number of GPIO and clock) is going up.

Link to comment
Share on other sites

The Pico overclocked to 400MHz can still not react fast enough to some bankswitch modes. The chip is already too hot and would require active cooling.

 

A better alternative is to use a real memory chip for simulating a rom.

Link to comment
Share on other sites

How important is the spec of the PICO board in that tthe fimware works with it?  (Ram, memory etc).

 

The board below (from Alliexpress) is used on the A8PICO cart and i haven't had an issue in quality.

 

Would the one below also work with the 2600+ card project build?

 

 

 

image.thumb.png.68404b56d0c87850af8e496830e8b1a1.png

Link to comment
Share on other sites

5 minutes ago, Magic Knight said:

How important is the spec of the PICO board in that tthe fimware works with it?  (Ram, memory etc).

 

The board below (from Alliexpress) is used on the A8PICO cart and i haven't had an issue in quality.

 

Would the one below also work with the 2600+ card project build?

 

 

 

image.thumb.png.68404b56d0c87850af8e496830e8b1a1.png

The critical part is the amount of RAM. The flash is too slow for being run at 400MHz. Many homebrews won't fit in the 256k of RAM available.

Link to comment
Share on other sites

1 hour ago, karri said:

The critical part is the amount of RAM. The flash is too slow for being run at 400MHz. Many homebrews won't fit in the 256k of RAM available.

Thanks, Ill heed advice and stick to the SC0915 type as recommended earlier in the posts,  https://www.mouser.co.uk/ProductDetail/358-SC0915

Link to comment
Share on other sites

33 minutes ago, Magic Knight said:

Thanks, Ill heed advice and stick to the SC0915 type as recommended earlier in the posts,  https://www.mouser.co.uk/ProductDetail/358-SC0915

The cart is great for running some homebrews and most 2600 titles. For many titles you need an external powerbank. Some high speed titles makes the pico run very hot. The games may crash...

Link to comment
Share on other sites

33 minutes ago, karri said:

The cart is great for running some homebrews and most 2600 titles. For many titles you need an external powerbank. Some high speed titles makes the pico run very hot. The games may crash...

Thanks, i mainly game with 7800 stock titles, but good info to know for the higher end titles done more recently with the extra weight,

Link to comment
Share on other sites

Im currently building this up and have noticed there is a difference on pcb revision from the pictures on the github and previous posts.

 

Could someone kindly  let me know what resistor value R3 is on this build?  (Its from the VBUS leg to the capacitor)

 

image.thumb.png.4580a5c2856408eeb1b47afc2d94cf9d.png

Link to comment
Share on other sites

57 minutes ago, Magic Knight said:

Im currently building this up and have noticed there is a difference on pcb revision from the pictures on the github and previous posts.

 

Could someone kindly  let me know what resistor value R3 is on this build?  (Its from the VBUS leg to the capacitor)

 

image.thumb.png.4580a5c2856408eeb1b47afc2d94cf9d.png

You will not be able to run any 7800 games on that cart. It lacks the 7800 signals.

PXL_20240119_162520476_MP.jpg.e2d8fe2e9758bbd79b2dcb66966e1e32.jpg

The resistor is likely 10k pullup for the switch.

Link to comment
Share on other sites

58 minutes ago, Magic Knight said:

Im currently building this up and have noticed there is a difference on pcb revision from the pictures on the github and previous posts.

 

Could someone kindly  let me know what resistor value R3 is on this build?  (Its from the VBUS leg to the capacitor)

It's a current limiter for a led (above S1).  You don't need to populate it or the led at the moment.  It's there for when I have a case to show that the Pico has power. 

Link to comment
Share on other sites

Thanks for the info guys, I'll focus on 2600 titles for this PCB and look at the other for 7800.

 

I was thinking of a DC delay circuit for the over-quick startup inside a real 7800 to let the Pico catch up, if i implement this, ill share when tested.

 

Great support here and I thank you all for this!

Link to comment
Share on other sites

1 hour ago, karri said:

You will not be able to run any 7800 games on that cart. It lacks the 7800 signals.

PXL_20240119_162520476_MP.jpg.e2d8fe2e9758bbd79b2dcb66966e1e32.jpg

The resistor is likely 10k pullup for the switch.

 

Are there gerber folder/files availalble for this?, I didnt spot them on Github

Link to comment
Share on other sites

8 minutes ago, Magic Knight said:

 

Are there gerber folder/files availalble for this?, I didnt spot them on Github

The whole pcb in KiCad format is there. You can plot the gerbers if you want. Or get pcb's from me.

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