Jump to content
IGNORED

Common code base with UnoCart


Al_Nafuur

Common Code base Project Name  

10 members have voted

  1. 1. How shall we name the common code base project on Github

    • United Carts of Atari (UCA)
      5
    • MultiCart10400 (MC10K)
      0
    • Open Atari ARM MultiCarts (OAAM)
      1
    • Pharaoh Cart
      1
    • Trinity Cart
      3

This poll is closed to new votes

  • Please sign in to vote in this poll.
  • Poll closed on 12/19/2022 at 10:26 AM

Recommended Posts

7 hours ago, Fierodoug5 said:

 Just have to wire it up, then I need some firmware to try it out.

 

 

I can provide a build for that configuration.

 

4 hours ago, Andrew Davie said:

Printing a test now...

 

but I am not sure if we really need a cartridge for these kind of (unusual) Prototypes.

 

The PlusStore is not prepared for PlusCarts with an SD-Card and firmware updates from the PlusStore would disable the SD-Card. Also the PlusStore is not prepared for UnoCarts with a WiFi module, a firmware update from the PlusStore for such an UnoCart would disable the cart because of the different GPIO pinout. The  carts don't identify their configuration to the PlusStore and I am not sure if I want to implement it and offer all possible firmware versions for FOTA update.

 

Link to comment
Share on other sites

I'm interested in making the design, because what I'd like to have is a configurable/customizable cartridge design (openSCAD) that can let someone choose the features they want, and the customizer will create the appropriate STL files for printing.  So, UnoCart/PlusCart board, SD/WIFI, logo, etc.

 

  • Like 2
Link to comment
Share on other sites

39 minutes ago, Andrew Davie said:

I'm interested in making the design, because what I'd like to have is a configurable/customizable cartridge design (openSCAD) that can let someone choose the features they want, and the customizer will create the appropriate STL files for printing.  So, UnoCart/PlusCart board, SD/WIFI, logo, etc.

 

making a design for UnoCart and PlusCart cases is a very good idea.

 

But in the new Firmware there are 4 switches:

#define HARDWARE_TYPE             PLUSCART
#define MENU_TYPE                 PLUSCART
#define USE_SD_CARD               FALSE
#define USE_WIFI                  TRUE

this means there are up to 16 combinations possible. And I don't want to "support" all of them.

 

Link to comment
Share on other sites

31 minutes ago, Al_Nafuur said:

making a design for UnoCart and PlusCart cases is a very good idea.

 

But in the new Firmware there are 4 switches:


#define HARDWARE_TYPE             PLUSCART
#define MENU_TYPE                 PLUSCART
#define USE_SD_CARD               FALSE
#define USE_WIFI                  TRUE

this means there are up to 16 combinations possible. And I don't want to "support" all of them.

 

 

I just want to be able to build shells for (at least) the ones you support. Shouldn't be difficult.

 

I believe this may be the world's second fully functional PlusCart SD...?

 

IMG20210210221102.thumb.jpg.cfed037d9035e4ed2d6ffcc297c09d36.jpg

 

IMG20210210221903.thumb.jpg.65f9d30ce30e47d41c6fd1f88aa1a71a.jpg

Edited by Andrew Davie
  • Like 2
Link to comment
Share on other sites

3 hours ago, Andrew Davie said:

 

I just want to be able to build shells for (at least) the ones you support. Shouldn't be difficult.

 

I hope so too.

 

 

3 hours ago, Andrew Davie said:

I believe this may be the world's second fully functional PlusCart SD...?

 

IMG20210210221102.thumb.jpg.cfed037d9035e4ed2d6ffcc297c09d36.jpg

Yes, but I have already disassembled my prototype. And I would call it a "PlusCart Duo".

 

Here is my proposal how we should name the variants, and which we should support:

Hardware
(PCB, GPIO)
Menu
(Logo, Name)
SD-Card WiFi Supported Product Name
PlusCart (+) x x   PlusCart Duo
PlusCart (+) x     PlusCart SD
PlusCart (+)   x   PlusCart
PlusCart (+)       PlusCart Zero
PlusCart SD x x   Pluscart Uno (Duo)
PlusCart SD x     Pluscart Uno (SD)
PlusCart SD   x   Pluscart Uno (WiFi)
PlusCart SD       Pluscart Uno (Zero)
UnoCart (+) x x   UnoCart Plus (Duo)
UnoCart (+) x     UnoCart Plus (SD)
UnoCart (+)   x   UnoCart Plus (WiFi)
UnoCart (+)       UnoCart Plus (Zero)
UnoCart SD x x   UnoCart Duo
UnoCart SD x     UnoCart
UnoCart SD   x   UnoCart WiFi
UnoCart SD       UnoCart Zero

 

With the UnoCart/PlusCart Duo I am not that sure, but anyhow this would mean multiple firmware variants in the PlusStore and a detection which one is needed by the requesting cart.

Also is the Duo firmware larger than 112 KiB (the limit for the internal firmware flashing function), so it can not be flashed via SD or PlusStore API by older firmwares.

 

 

 

 

 

 

 

Edited by Al_Nafuur
Link to comment
Share on other sites

I like the PlusCart Uno (Duo) as an option because it breaks the storage space barrier that exists in the STM.

In other words, you get gigabytes of storage instead of what's left in the Flash.

Say, at some point in future we wanted to either load/store tons of data to a SD.

Maybe you could use the SD to record debug/logging data.... save to a file.

Or use the SD card as a source for realtime "video" play back. Or perhaps to hold a music track...

Maybe not realistic options, but it just seems quite useful to me and would be nice to support.

Also people are going to want it because it just seems like a super-cart with both WiFi and SD.

 

Link to comment
Share on other sites

2 hours ago, Fierodoug5 said:

Got mine up and running. I needed a 10k pull-up resistor between DO and 3.3 to detect the card.

IMG_20210210_124455714_HDR.jpg

Some SD Breakout boards have the 10k pull-up included, and some SD-Cards need it for init.

 

3 hours ago, Andrew Davie said:

I like the PlusCart Uno (Duo)

A PlusCart PCB (GPIO pinout) with an UnoCart menu and SD logo?

?

 

I thought of merging the menu type and hardware type, so we would have only 3 switches (8 combinations) and these strange mixes would not be possible any more.

 

Hardware
(PCB, GPIO)
Menu
(Logo, Name)
SD-Card WiFi Supported Product Name
PlusCart (+) x x   PlusCart Duo
PlusCart (+) x     PlusCart SD
PlusCart (+)   x   PlusCart
PlusCart (+)       PlusCart Zero
UnoCart SD x x   UnoCart Duo
UnoCart SD x     UnoCart
UnoCart SD   x   UnoCart WiFi
UnoCart SD       UnoCart Zero

 

4 hours ago, Andrew Davie said:

because it breaks the storage space barrier that exists in the STM.

The main storage for the PlusCart is in the internet and I am not aware of any storage shortage there ?

 

4 hours ago, Andrew Davie said:

In other words, you get gigabytes of storage instead of what's left in the Flash.

gigabytes of what? ROMs? the whole 2600 library is currently less than 100 MiB. The "Public ROMs" area is currently 155 MiB, mainly because I (accidentally) uploaded all PDFs, images and Word Docs for the 3rd homebrew awards.

 

4 hours ago, Andrew Davie said:

Say, at some point in future we wanted to either load/store tons of data to a SD.

Maybe you could use the SD to record debug/logging data.... save to a file.

Or use the SD card as a source for realtime "video" play back. Or perhaps to hold a music track...

Maybe not realistic options, but it just seems quite useful to me and would be nice to support.

Still this data has to be piped thru the 6502 and the TIA to "show" it to the user. All SD-Card loading/writing (of all multicarts) is blocking, which means the VCS has to do a wait routine in his RAM.

Currently there is no PlusROM feature for SD-Cards to use this storage in the ROMs. It might be feasible, but i don't see any gain. It would be offline and no interaction with other players, game servers and databases would be possible.

 

4 hours ago, Andrew Davie said:

Also people are going to want it because it just seems like a super-cart with both WiFi and SD.

Yes I am aware and afraid of that. People would use it like a normal multicart and this would conceal the great potential of online gaming, sharing and connecting with a community that's in the PlusCart and the PlusROM functions.

 

Link to comment
Share on other sites

2 minutes ago, Al_Nafuur said:

 

A PlusCart PCB (GPIO pinout) with an UnoCart menu and SD logo?

?

I must have misunderstood your chart. I'm wanting a PCB (either pinout) with WiFi and SD.

Since I have already PlusCart PCB, then I added a SD and that's what I was suggesting to support. So I thought.

 

2 minutes ago, Al_Nafuur said:

The main storage for the PlusCart is in the internet and I am not aware of any storage shortage there ?

I'm interested in stand-alone non-internet usage, but in any case I see there is sufficient for all ROMs.

 

2 minutes ago, Al_Nafuur said:

Still this data has to be piped thru the 6502 and the TIA to "show" it to the user. All SD-Card loading/writing (of all multicarts) is blocking, which means the VCS has to do a wait routine in his RAM.

Currently there is no PlusROM feature for SD-Cards to use this storage in the ROMs. It might be feasible, but i don't see any gain. It would be offline and no interaction with other players, game servers and databases would be possible.

 

Yes, I realise all this. It probably won't happen, but I am suggesting that supporting the SD/WiFi combination might be handy someday.

 

2 minutes ago, Al_Nafuur said:

Yes I am aware and afraid of that. People would use it like a normal multicart and this would conceal the great potential of online gaming, sharing and connecting with a community that's in the PlusCart and the PlusROM functions.

 

Those people also probably wouldn't do the online gaming anyway.

I would like it to be the best "normal multicart" anyway. As well as WiFi and all that.

 

 

 

Link to comment
Share on other sites

1 hour ago, Andrew Davie said:

I must have misunderstood your chart. I'm wanting a PCB (either pinout) with WiFi and SD.

yes the possibilities are a bit confusing.

 

1 hour ago, Andrew Davie said:

Since I have already PlusCart PCB, then I added a SD and that's what I was suggesting to support. So I thought.

 

Yes, I realise all this. It probably won't happen, but I am suggesting that supporting the SD/WiFi combination might be handy someday.

by supporting I meant official firmware updates via the PlusStore. If we keep the 16 variants (8 of them with WiFi) we would have to build/upload 8 firmware files to the PlusStore with every new release. And of course we would have to implement some more functions in the PlusStore API to handle this first.

 

Anyhow I have added the periphery info to the clients http conf header:

https://gitlab.com/firmaplus/atari-2600-pluscart/-/commit/7f79ff23bcc54920b4d31402fbd87fde7bac1f8c 

 

even though the PlusStore ignores this extra nibble of information currently.

 

1 hour ago, Andrew Davie said:

Those people also probably wouldn't do the online gaming anyway.

Currently there are 8300 scores (1100 from emulators) in the HSC database. Even though the PlusROM High Score Club was just a PoC, and the ROMs are using only a fraction of what's possible with the PlusROM functions. So there is an interest in community based online gaming.

 

btw.

The reason why I started the PlusCart project in the first place was to build such a game (not an other multicart).

 

Link to comment
Share on other sites

I love the Pluscart and the online aspects, LOVE the high score club. I wanted to add the add the SD card so like Andrew said, it would be a sSupercart, which it now is. If you use it at a event and have no wifi, no problem, all your roms are on the SD card. Xfinity internet craps out as it always does, no problem, all your roms are on the SD card. Best of both worlds! I love it!

Link to comment
Share on other sites

1 hour ago, Fierodoug5 said:

I love the Pluscart and the online aspects, LOVE the high score club. I wanted to add the add the SD card so like Andrew said, it would be a sSupercart, which it now is. If you use it at a event and have no wifi, no problem, all your roms are on the SD card. Xfinity internet craps out as it always does, no problem, all your roms are on the SD card. Best of both worlds! I love it!

I understand, though I have never used it, that that is what the "Offline ROMs" functionality is for.

Link to comment
Share on other sites

In my view, the next and pressingly important task is to get extra bankswitching working.

That is, DPC+ and more specifically CDFJ

These will allow the PlusCart to be used as a stand-alone (no WiFi, no SD) for newer games as well.

Also, I need CDFJ for my own developments :P

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, Andrew Davie said:

I understand, though I have never used it, that that is what the "Offline ROMs" functionality is for.

Yup, I use that and it works great. I just like having the sd card option.

Do you need a sd card on a pluscart....No

Do you want a sd card on a pluscart... Yeah, it's cool.

 

Edited by Fierodoug5
Link to comment
Share on other sites

21 hours ago, Al_Nafuur said:

I can provide a build for that configuration.

Wouldn't it be possible to do a build for the maximum configuration (i.e., wifi + sd) and then at runtime detect what is actually present?

That is, look for the SD - if it's there great if not, then disable SD stuff. Same for WiFi.

This would seem to be a better way to go than managing multiple builds.

Link to comment
Share on other sites

1 hour ago, Andrew Davie said:

Wouldn't it be possible to do a build for the maximum configuration (i.e., wifi + sd) and then at runtime detect what is actually present?

That is, look for the SD - if it's there great if not, then disable SD stuff. Same for WiFi.

This would seem to be a better way to go than managing multiple builds.

I thought about that too, it would be feasible, but currently the all in one build is too big for the internal firmware flashing function.

Hardware
(PCB, GPIO)
Menu
(Logo, Name)
SD-Card WiFi Supported Product Name Firmware
Size
PlusCart (+) x x   PlusCart Duo 116168
PlusCart (+) x     PlusCart SD 90864
PlusCart (+)   x   PlusCart 90132
PlusCart (+)       PlusCart Zero 64732

 

The limit is 114688 bytes.

 

I don't know why the SD libs are using that much space, basically it's just SPI added. So I have to examine if we could optimize the size.

Link to comment
Share on other sites

On the topic of SD libraries, I added a SD card to my mechanical TV project some years ago (running an Arduino Micro). I was able to stream data (a video file) off the SD in real-time while the TV was showing the streamed data.  I still have hopes that the STM can be utilised more "efficiently" and run the address-servicing loop as an interrupt instead. Yes, it would be very high usage of the CPU (let's say 95%) because the interrupt would need to be very high frequency - - but even 5% would allow you to run things in the background like, for example, streaming from a SD -- or game logic written in ARM and running asynchronously to the 6507 servicing code. For example, a chess engine running in the background. It's my dream.

Link to comment
Share on other sites

1 hour ago, Al_Nafuur said:

I thought about that too, it would be feasible, but currently the all in one build is too big for the internal firmware flashing function.

Hardware
(PCB, GPIO)
Menu
(Logo, Name)
SD-Card WiFi Supported Product Name Firmware
Size
PlusCart (+) x x   PlusCart Duo 116168
PlusCart (+) x     PlusCart SD 90864
PlusCart (+)   x   PlusCart 90132
PlusCart (+)       PlusCart Zero 64732

 

The limit is 114688 bytes.

 

I don't know why the SD libs are using that much space, basically it's just SPI added. So I have to examine if we could optimize the size.

So, I just gotta find about 1500 bytes and we'll be good.... easy.... watch this space

 

Link to comment
Share on other sites

On 2/10/2021 at 1:31 PM, Andrew Davie said:

I have a bug -- put a couple of pages of files on the SD (say, 20 files).

Now view contents of SD -- OK

Go to page 2 (RIGHT) - OK

Go back to page 1 (LEFT) - fail. -- endless spinner.

Tested a couple of times, same result.

 

Try this one

PlusCart Duo.elf

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...