Jump to content
IGNORED

A8PicoCart - UnoCart on a Raspberry Pi Pico


Recommended Posts

6 hours ago, electrotrains said:

This is the 3d printed case (modifed from my Ultimate Cart shell), but much more robust screw holes to hold it together.

 

IMG_2171.thumb.jpeg.3c79e24340c979d8a3ca5bd4db1df84e.jpegIMG_2173.thumb.jpeg.99ca0255da70def11df8a203934e62bb.jpeg

Is there a 90 degree mounted long button that can be used so the button is on top to make it 1200XL friendly?

 

Link to comment
Share on other sites

Just now, E474 said:

Given the Pico is a dual core system, would be interesting to see what it can do in terms of co-processor, or just rendering to graphics memory.

If serving the A8 then it is mostly dedicated to the bus-sniffing and responding. I wouldn't think you could have one core allocated to that and the other preparing data.

There is no such thing as 'video memory' per-se but you can use a byte array to represent the same data you would have on the A8 and serve that to Antic requests, either via the $8000-$9FFF or $A000-$BFFF areas as well as $D5xx.

But effects such as those done on the UNO are going to be possible.

 

  • Like 2
Link to comment
Share on other sites

7 hours ago, E474 said:

Given the Pico is a dual core system, would be interesting to see what it can do in terms of co-processor, or just rendering to graphics memory.

Even just a 80 col card... Have it respond to commands used by other ones so it emulates them. 

Link to comment
Share on other sites

Hi @Wrathchild,

 

   Presumably you would have 1 core updating one block of 8K memory, the other core serving another block of 8K memory to the 8-bit, then on the next VBI they swap blocks.

 

Hi @sl0re,

 

   Is this a comment for the Pico XEP80 thread? Even then, you could offload operations to the other core on the Pico XEP80, there's plenty of horsepower available, and I seem to remember the joystick ports are actually quite fast.

 

Edit:

 

   Actually you could use both cores if you used PIO instead of polling the bus.

Edited by E474
Link to comment
Share on other sites

19 minutes ago, E474 said:

Presumably you would have 1 core updating one block of 8K memory, the other core serving another block of 8K memory to the 8-bit, then on the next VBI they swap blocks.

that would be pretty cool and could give you 50/60 fps rates

the serving core can also accept writes in to the cart area, as would be done with the Gameboy screen emulation 

Edited by Wrathchild
Link to comment
Share on other sites

5 hours ago, E474 said:

Hi @Wrathchild,

 

   Presumably you would have 1 core updating one block of 8K memory, the other core serving another block of 8K memory to the 8-bit, then on the next VBI they swap blocks.

 

Hi @sl0re,

 

   Is this a comment for the Pico XEP80 thread? Even then, you could offload operations to the other core on the Pico XEP80, there's plenty of horsepower available, and I seem to remember the joystick ports are actually quite fast.

 

Edit:

 

   Actually you could use both cores if you used PIO instead of polling the bus.

I've been wishing someone would do a internal one (no joystick) with one of these pico devices. Have it act like a bit3 or austin Franklin. I have a bit3 and with these sd atr storeage devices letter perfect (which supports bit3/af) is pretty sweet. I can map the program, dictionary, and data disks to different drive letters in letter perfect's settings (that are saved / doesn't have to be set everytime) and just get work done without fumbling with disk swaps... Or disk drives either...

Edited by sl0re
Link to comment
Share on other sites

8 hours ago, bfollowell said:

Hey @electrotrains, I just wanted you make certain I didn't miss something. Have you, or are you, going to release the Gerber's files for the PCB, or would we get  the PCBs from you? Or are we not even to that point yet? The more I read about this cool little toy, there more I want to build one.

 

Thanks!

 

Intention is to release everything, source code, gerbers, 3d print files etc etc, as with my previous Ultimate Cart project.

But first I may try to sell a few completed carts to those interested to recoup project costs.

 

But we're not at that point yet - I'm planning to send a few out to testers soon, since I want to make sure it works well on a variety of machines (NTSC is untested), and that I haven't missed anything in the cartridge emulation. Currently waiting for a new version of the 2600 PCB and purple pico's for the 8-bit version to arrive from China, plus I've been printing shells for testers that will need one.

 

I did finally test it on my 800XL last night now that I've got a shell for it, worked perfectly which was a relief since I'd only tested it on a 65XE up to now.

 

IMG_2174.thumb.jpeg.ca2d1db4b9be95043858f186ba8db555.jpeg

  • Like 8
Link to comment
Share on other sites

5 hours ago, electrotrains said:

Intention is to release everything, source code, gerbers, 3d print files etc etc, as with my previous Ultimate Cart project.

But first I may try to sell a few completed carts to those interested to recoup project costs.

 

But we're not at that point yet - I'm planning to send a few out to testers soon, since I want to make sure it works well on a variety of machines (NTSC is untested), and that I haven't missed anything in the cartridge emulation. Currently waiting for a new version of the 2600 PCB and purple pico's for the 8-bit version to arrive from China, plus I've been printing shells for testers that will need one.

 

I did finally test it on my 800XL last night now that I've got a shell for it, worked perfectly which was a relief since I'd only tested it on a 65XE up to now.

 

IMG_2174.thumb.jpeg.ca2d1db4b9be95043858f186ba8db555.jpeg

Cool. Yeah, as I have a UC and a Side3, I really don't need another cart emulator, so I wouldn't want to purchase an assembled one personally. I'm only interested in it as a fun little project, so I'm fine with waiting for a later release.

 

Thanks again for all the hard work going into this!

  • Like 1
Link to comment
Share on other sites

Were there major differences between the UnoCart and the Ultimate Cart, other than the UC had an SD card slot where the UnoCart didn't? That makes me wonder if something similar couldn't be done using a Raspberry Pi Zero to make a A8ZeroUC? Of course, the RPi Zero cost a little more, and may not be as easy to get these days, but it would be a neat idea, if possible.

 

Link to comment
Share on other sites

4 minutes ago, bfollowell said:

Were there major differences between the UnoCart and the Ultimate Cart, other than the UC had an SD card slot where the UnoCart didn't? That makes me wonder if something similar couldn't be done using a Raspberry Pi Zero to make a A8ZeroUC? Of course, the RPi Zero cost a little more, and may not be as easy to get these days, but it would be a neat idea, if possible.

 

Completely different in approach:

Ultimate Cart uses an FPGA to emulate cartridges and had 1meg of SRAM on board. There is also a 'soft'-cpu running on the FPGA which copies data from the FAT formatted SD card into SRAM.

UnoCart is a standard microcontroller, using polling to monitor the bus and fetch data from the on-board SRAM (which is only a bit more than 128k).

Both used SD-cards.

 

Main difference for a user is that Ultimate Cart can emulate 1 meg AtariMax cartridges (e.g. Space Harrier) and UnoCart can't. UnoCart can however do ATR files, which aren't possible in the Ultimate Cart since I ran out of space in the FPGA to support writing to the SD card.  I suspect it could probably be made to fit with some rearranging of the software components though - I've just never got round to it.

 

Not sure about the Pi-zero approach. Might work if you can twiddle the GPIO fast enough to keep up with the bus, and the RAM is fast enough. How long does linux take to boot? Might need to be bare-metal (no OS). Suspect even bare-metal wouldn't boot fast enough for the Atari though....

 

Robin

 

Link to comment
Share on other sites

Many years back I had planned to port a game to the Atari using a cartridge with a dedicate (very cheap) chip. The project never made it. So do I get it right that the Pico board here is available for less than 3 EUR?

  • Like 2
Link to comment
Share on other sites

Hi @JAC!,

 

   Yes, I believe it's the Purple Pico clone, which has 30 GPIO pins and 16MB Flash. I believe there are some unused pins on the cart PCB, hopefully the UART0 TX and RX pins are available on the PCB (paging @electrotrains), as it would be interesting to add an ESP-32 Wrover, or a Pico W, to the PCB. Then you could use those to support an SD-card, Wifi (e.g, FujiNet), DVI breakout board, and you would have something that's quite capable, and not like any single product now available. You could also emulate cartridge space RAM (instead of ROM), and provide I/O services via the cartridge $D5xx address space.

  • Like 1
Link to comment
Share on other sites

On 6/1/2023 at 3:26 AM, electrotrains said:

This is the 3d printed case (modifed from my Ultimate Cart shell), but much more robust screw holes to hold it together.

 

IMG_2171.thumb.jpeg.3c79e24340c979d8a3ca5bd4db1df84e.jpegIMG_2173.thumb.jpeg.99ca0255da70def11df8a203934e62bb.jpeg

I can only say awesome, I like the color. we went out of the classic black or lead. 🤩

  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...

Awesome!

 

would be possible to program external processing in order to get more functionalities? I’m thinking on running a more complex games such as Doom on the cartridge and then using the Atari computer as a “streaming machine”. I’ve seen Doom running on a C64 using a RAD cartridge as an example.

Link to comment
Share on other sites

  • 4 weeks later...
On 28/6/2023 at 23:08, Wilheim said:

¡Impresionante!

 

¿Sería posible programar el procesamiento externo para obtener más funcionalidades? Estoy pensando en ejecutar juegos más complejos como Doom en el cartucho y luego usar la computadora Atari como una "máquina de transmisión". He visto a Doom ejecutándose en un C64 usando un cartucho RAD como ejemplo.

The concept is interesting, a few months ago, with some valuable colleagues, we are evaluating and planning a work team for the project you mention, use the RP2040 for streaming with double buffering and APAC2 as graphic mode (PICO does the job), PWM for buffered audio, switching banks for access, disable Wi-Fi for lower consumption (20mA), etc... taking the reference already made from various RP2040 enthusiasts(Kevin Vance (C64), Graham Sanderson (Doom)).  ESP32 WROOVER is an even more powerful tool with more GPIO pins!

Link to comment
Share on other sites

Hi,

 

After sharing my test list of cartridges, I attach the list that I load without problems in ATARI 800XL and ATARI 130XE both NTSC. 😁

  • 1 - Standard 8 KB cartridge     
  • 2 - Standard 16 KB cartridge     
  • 3 - OSS two chip 16 KB cartridge (034M)
  • 8 - 64 KB Williams cartridge
  • 9 - Express 64 KB cartridge
  • 10 - Diamond 64 KB cartridge
  • 11 - SpartaDOS X 64 KB cartridge
  • 12 - XEGS 32 KB cartridge
  • 13 - XEGS 64 KB cartridge (banks 0-7)
  • 14 - XEGS 128 KB cartridge
  • 15 - OSS one chip 16 KB cartridge
  • 17 - Decoded Atrax 128 KB cartridge
  • 18 - Bounty Bob Strikes Back 40 KB cartridge
  • 22 - 32 KB Williams cartridge
  • 29 - MegaCart 128 KB cartridge
  • 33 - Switchable XEGS 32 KB cartridge
  • 34 - Switchable XEGS 64 KB cartridge
  • 35 - Switchable XEGS 128 KB cartridge
  • 40 - Blizzard 16 KB cartridge
  • 41 - Atarimax 128 KB Flash cartridge
  • 43 - SpartaDOS X 128 KB cartridge
  • 45 - OSS two chip 16 KB cartridge (043M)
  • 50 - Turbosoft 64 KB cartridge
  • 51 - Turbosoft 128 KB cartridge
  • 58 - Standard 4 KB cartridge

cart.thumb.jpg.3d9b52832523572aaeba3ec04fec1527.jpg

 

Greetings

  • Like 4
Link to comment
Share on other sites

Hi all,

 

I continue with the tests for .xex executables and .atr disk image 😉

 

Games loaded without problems :

  • Binary Parasite.xex
  • Draconus.xex
  • Electrician.xex
  • Spy Vs Spy II.xex (compressed)

Disk images :

  • TurboBasicXL.atr (extended density) is halfway loaded.
  • VisiCalc.atr (simple density) loads, but the program fails.
  • Dos 2.5.atr (extended density) ok
  • SpartaDOS_3.2g_with_DOS.atr (simple density) does not load.
  • SpartaDOS_3.2g_720K.atr (double density) does not load.
  • Arcadia.atr (single density) loads, but program crashes.
  • Games03.atr (extended density) ok.

@electrotrains I'm still wondering if you set the SIO to standard speed ($28) or fast ($06)? 😅

 

cart.thumb.jpg.7eb647cd26a164d206237a9ce51bcb90.jpg

 

Greetings

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