Jump to content
IGNORED

A8PicoCart - UnoCart on a Raspberry Pi Pico


Recommended Posts

5 hours ago, mytek said:

Yep this happened to me on my first go around. Had to make a trip over to Best Buy to get a proper data+power USB-C cable, and then everything worked as advertised.

Well, a couple of things that  make me think this isn't the case with me. One, I've used this cable extensively with my Nintendo Switch, moving data back and forth. Second, the firmware file actually appears to be on the Pico, at least until I unplug and plug it back in to my computer. It just never seems to install or update. It never remounts as an A8-PICOCART.

 

Link to comment
Share on other sites

6 minutes ago, Wrathchild said:

I wouldn't have thought they'd be seeing the INDEX.HTM and INFO_UF2.TXT files of the boot mode if that were the case?

 

@bfollowell so after dragging and dropping (or right-click "send to" the mounted drive) you should here another USB device disconnect/connect sound as the UF2 file is immediately detected and applies and then reboots the card, hence the BOOTSEL button is ONLY needed for the initial boot as keeping it held down with return you to RP2 mode.

Well, I didn't drag and drop, and I didn't Send To. I copy/pasted, but that shouldn't make any difference, right? Is it really something as simple as that, and if so, why?

 

Heck, I have ten of these bleedin' things. Push comes to shove, I'll try another one here in a bit; one I soldered on and messed with.

 

Edited by bfollowell
Link to comment
Share on other sites

6 hours ago, cbelcher said:

@bfollowell

And would still like to see you come up to the Indy Vintage Computer Club - there is a meeting this weekend!

And I'd love to come up, but I have too much going on right now. Maybe when  cooler weather hits and lawn work slows down a bit. How often do you guys meet? Thanks for the invite!

Link to comment
Share on other sites

15 minutes ago, Wrathchild said:

So long as you see the Copying dialog popup and the transfer bar progress to completion then should be fine. 

Yep, I see all that, and the a8_pico_cart.uf2 is showing there on the card afterwards, along with the original two files, but there is no flashing going on. I tried another Pico clone just out of the packaging but no luck.

 

Surely I haven't gotten a whole bad batch. I mean they act right when I plug them in. They just won't flash. I'll have to keep researching and experimenting.

 

Link to comment
Share on other sites

39 minutes ago, bfollowell said:

and the a8_pico_cart.uf2 is showing there on the card afterwards

Hmm, that's suspicious as the uf2 for me processes immediately and restarts the card and so the uf2 is never seen on the RF2 mount. Sounds like it is not being flashed.

Give the attached a go.

a8_pico_altirra_soft_os.uf2

Link to comment
Share on other sites

@bfollowell I've just tested the firmware uf2 file on my github page with a "fresh out the bag" purple pico, and it flashed fine, and remounted as A8-PICOCART, with the WELCOME.TXT file visible.

 

So the firmware uf2 file on github is fine. Are you sure you downloaded a binary copy of the file from github? It sounds like the behaviour you saw can happen if the uf2 file is corrupt.

 

I also noticed a post saying that a security feature that encrypts USB drives can cause this problem. Can you try on a different PC/OS?

 

Do your unprogrammed purple picos flash the LED when connected to power? (without BOOTSEL pressed). Mine were factory programmed with firmware to flash the LED. Or do they show up as a USB device under windows?

 

Robin

 

 

Link to comment
Share on other sites

20 minutes ago, Wrathchild said:

Hmm, that's suspicious as the uf2 for me processes immediately and restarts the card and so the uf2 is never seen on the RF2 mount. Sounds like it is not being flashed.

Give the attached a go.

a8_pico_altirra_soft_os.uf2 185.5 kB · 2 downloads

OK, I think I've finally figured it out. I have a bad download of Robin's firmware. When I look at yours in Notepad, I see a bunch of garbage ascii characters; no real text. When I look at Robin's I see html. It seems like I always have trouble downloading files from Github. I finally went back, clicked on the file itself, which opened in another view, then selected download raw file. Before I'd right-clicked and selected Save As.

 

Anyway, Robin's looks more like yours now, so I'm sure it will work properly when get home tonight.

 

Thanks for all the help guys! This is what makes this community great!

 

Link to comment
Share on other sites

22 minutes ago, electrotrains said:

@bfollowell I've just tested the firmware uf2 file on my github page with a "fresh out the bag" purple pico, and it flashed fine, and remounted as A8-PICOCART, with the WELCOME.TXT file visible.

 

So the firmware uf2 file on github is fine. Are you sure you downloaded a binary copy of the file from github? It sounds like the behaviour you saw can happen if the uf2 file is corrupt.

 

I also noticed a post saying that a security feature that encrypts USB drives can cause this problem. Can you try on a different PC/OS?

 

Do your unprogrammed purple picos flash the LED when connected to power? (without BOOTSEL pressed). Mine were factory programmed with firmware to flash the LED. Or do they show up as a USB device under windows?

 

Robin

 

 

It looks like you were posting this as I was posting my reply. Yes, it looks like I had a bad download that was really just a bunch of html. I'll give it another try with the good file when I get home from work this afternoon, but I'm fairly certain we've found the issue. I always seem to have issues downloading files from Github for some reason.

 

As far as the LED flashing, I've not seen an LED flash on one of mine yet. I'll see how they react when I try a good firmware file tonight and they really flash.

 

Thanks again to everyone!

 

Link to comment
Share on other sites

A8PicoCart V2

 

@electrotrains,

 

 

Zrzutekranu2023-09-20o17_30_59.thumb.png.aa763bc092424ca982b5d08cb307594a.png

 

ASELECT should be connected to A of 74LV139 (2-to-4 decoder/demultiplexer) and Y0, Y1 of 74LV139 should be connected to OE of two 74LV541A (3-state octal buffer/line driver or other octal bus transceiver, maybe with latches ) that handle A0-A7 and A8..  Outputs of both bus transceivers should be connected to GP5-GP12.

 

GP0..GP3 should be connected to 64Mbit (8MB) PSRAM that could handle any of cartridge for Atari.

 

 

What do you think about that?

 

 

Link to comment
Share on other sites

31 minutes ago, Piotr D. Kaczorowski said:

GP0..GP3 should be connected to 64Mbit (8MB) PSRAM that could handle any of cartridge for Atari.

 

What do you think about that?

Don't have any direct experience of it, but I reckon SPI SRAM will be too slow. It's not great for the random access which you need for this purpose.

The part you listed runs at 133Mhz, but looks like it requires about 50 clock cycles to set up the read, then read the byte out. Think that works out about 350ns latency. That's way slower than a read from the SRAM on the RP2040 itself.

 

You've got something like 200ns (I forget the exact figure) from reading an address to getting the data on the bus.

The SRAM i used for the ultimate cart had something like a 50ns latency, and I was working with an FPGA so passing this on to the cartridge port was fast.

 

Robin

Edited by electrotrains
change flash->SRAM
  • Like 1
Link to comment
Share on other sites

The SRAM used on the Ultimate Cart has a parallel interface which is going to be way quicker than any SPI device.

But parallel SRAM needs a shedload of pins and isn't really suitable for hooking up to a microcontroller, unless it is has been desigined with a interface (some of the STMicro parts are), but not the RP2040.

 

Robin

 

EDIT - with any luck, Raspberry Pi foundation will release a future microcontroller with more SRAM on board. Then it will be easy to provide 1meg cartridge support and match the functionality of the Ultimate cart. Some of the STM32H7 devices already have 1 meg SRAM, but they are not very cheap. I did consider doing a cartridge board with one of them a while back.

Edited by electrotrains
  • Thanks 1
Link to comment
Share on other sites

15 minutes ago, electrotrains said:

The SRAM used on the Ultimate Cart has a parallel interface which is going to be way quicker than any SPI device.

But parallel SRAM needs a shedload of pins and isn't really suitable for hooking up to a microcontroller, unless it is has been desigined with a interface (some of the STMicro parts are), but not the RP2040.

 

Robin

 

EDIT - with any luck, Raspberry Pi foundation will release a future microcontroller with more SRAM on board. Then it will be easy to provide 1meg cartridge support and match the functionality of the Ultimate cart. Some of the STM32H7 devices already have 1 meg SRAM, but they are not very cheap. I did consider doing a cartridge board with one of them a while back.

Actually ESP32 S3R2 and S3R8 both have internal quad and octal SPI PSRAM.  I wonder how fast it could be @240Mhz. 

Link to comment
Share on other sites

9 hours ago, bfollowell said:

It looks like you were posting this as I was posting my reply. Yes, it looks like I had a bad download that was really just a bunch of html. I'll give it another try with the good file when I get home from work this afternoon, but I'm fairly certain we've found the issue. I always seem to have issues downloading files from Github for some reason.

 

As far as the LED flashing, I've not seen an LED flash on one of mine yet. I'll see how they react when I try a good firmware file tonight and they really flash.

 

Thanks again to everyone!

 

OK, crisis averted. Once I had a valid copy of the firmware, my Pico clones flashed without issue, then unmounted and remounted as A8-PICOCART. Interestingly enough, there is no LED flashing at any point in the process, but it worked and I'm not overly concerned with whether or not there are LEDs or if they work or not.

 

Thanks again to everyone that offered suggestions and helped me work through my issue!

 

  • Like 2
Link to comment
Share on other sites

10 minutes ago, bfollowell said:

OK, crisis averted. Once I had a valid copy of the firmware, my Pico clones flashed without issue, then unmounted and remounted as A8-PICOCART. Interestingly enough, there is no LED flashing at any point in the process, but it worked and I'm not overly concerned with whether or not there are LEDs or if they work or not.

Congrats :thumbsup:

 

On mine I get a solid green LED when the A8Pico is plugged into power. I forget what I saw prior to being flashed.

Link to comment
Share on other sites

Just now, mytek said:

Congrats :thumbsup:

 

On mine I get a solid green LED when the A8Pico is plugged into power. I forget what I saw prior to being flashed.

Yeah, I guess the particular ones I received either don't have LEDs or they're just not working. I've flashed two of them and nothing has lit or flashed on either of them.

 

Link to comment
Share on other sites

7 hours ago, mytek said:

File?

Re-flash the firmware using the attached UF2 file... this is WIP break up of the "atari_cart.c" into separate source files and so for normal operation best stick with the stock UF2 for the time being.

Copy the Stniccc.rom and scene1.bin files to the root of the A8-PICOCART mount. Boot on real h/w and launch Stniccc. 

 

I've included the assembly code for the ROM. Basically it is a page-flipped process between screens at $2000 and $4000.

The Pico is asked to render into the ROM area of $A000 and then that data copied to the back-buffer and the display-list flipped.

 

mads Stniccc.asm -o:Stniccc.rom

 

Stniccc.asm Stniccc.rom scene1.bin a8_pico_cart.uf2

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

Link to comment
Share on other sites

great job @Wrathchild I hope in the future you upload those changes to @electrotrains github.

 

I for my part the last support I added for cartridge was for the Blizzard 4k, I'm still missing a lot of them, we are going slowly. 😅

 

Another thing I had to enlarge the USB C slot to have at hand the button to reprogram the cartridge and make testing easier.😄

cart.thumb.jpg.a73026e307e3b03be4f4c32b9e5471b7.jpg

Link to comment
Share on other sites

12 minutes ago, ascrnet said:

 

Another thing I had to enlarge the USB C slot to have at hand the button to reprogram the cartridge and make testing easier.

😂 yep, my next task is to drill a hole in the case over the BootSel button for the same reason!

 

Good news tonight is I've fixed an issue where some ATRs didn't boot correctly with the PIO patch to a more recent Altirra OS, so tomorrow should see me upload a fork (or make a branch) to Robin's repository.

Edited by Wrathchild
  • Like 1
Link to comment
Share on other sites

13 minutes ago, Wrathchild said:

😂 yep, my next task is to drill a hole uj the case over the BootSel button for the same reason!

 

Good news tonight is I've fixed an issue where some ATRs didn't boot correctly with the PIO patch to a more recent Altirra OS, so tomorrow should see me upload a fork (or make a branch) to Robin's repository.

was the easiest way to do it since I printed it at home. 😁

 
what a good news 🤩 , I tried to do it, but I found myself with few free bytes in the altirra os boot to activate the pio.

 

by my side I created my FORK from @electrotrains github for him to review and approve the improvements.

 

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