Arduboy Semi-Official EEPROM Table

I’m super excited about the upcoming FX chip version of Arduboy. :star_struck:
We can have all our favourite games loaded easily! There’s work underway to compile the very best community programs, to produce a ‘GoldCart’-

We need to ensure there’s no EEPROM collisions, so save game data works seamlessly when switching between games. I’ve started this game list and EEPROM map, and ask all of the community to contribute : https://docs.google.com/spreadsheets/d/1yR31ALjSDA5PhBJXSH-AiuipxE9IK1cTu2q8HqC5edM/edit?usp=sharing

Please add you favourite games (there’s 250+!) and any software you’ve developed. The first tab records basic game list details, the other tab is a detailed visual map of the current EEPROM usage. If you notice your code has an EEPROM clash, don’t worry! …But it is good to start to think if it can be minimised / compressed a little, by picking minimal datatypes, etc. :wink:

Enjoy !

PS - This thread is intended for discussing the game list(s). Please do add your games directly to the spreadsheet (don’t list games in this thread, unless they really need discussing). Please direct technical discussions of EEPROM to its dedicated thread. Please discuss specific aspects of an individual game in the appropriate game thread, to keep everything focussed and accessible.

2 Likes

Cool, when it’s all ready to go I’ll publish it. Also looks like we will get it into the CSV data for the carts as well.

1 Like

The “clash” indication system is going to “light up” when one of the games is added that uses all, or a good portion of, available EEPROM. :wink:

I think the only game that uses any significant portion of it is micro-city?

One is enough :stuck_out_tongue:

Hey @Prototype - just added your EEPROM info for ‘Rooftop Rescue’. Would you like to add your other games / Arduboy apps? :smiley:

Hey @bateske, just wanted to check this is useful for the FX gold cart build? Let me know if more info is needed. Cheers.

@Mr.Blinky is going through and using a script to read through the disassembled hex to discover the EEPROM addresses that are used. So long as he can share that output here then it’s still on track.

So, in other words this actually could be extra work, it really isn’t needed until after we have cataloged (and probably manually remove conflicts) from all the existing games.

1 Like

Cool! Perhaps Egg Master could be a nice addition.

@Prototype,
I tried to add Egg Master to the spreadsheet but I don’t know how much total EEPROM space it uses. (I don’t feel like figuring out the space that the timetable uses.)

If you can provide that, the entry can be completed.

Edit: I found the timeTable array and based on that it looks like the timetable is 18 bytes, so EEPROM use is 23 bytes total? (Starting at address 433)

1 Like

I think that’s correct.

2 Likes

I like your list @acedent very detailed. Mine’s just focused at the EEPROM addresses. I’ve screened 181 programs (halfway though :stuck_out_tongue: ) of which 77 use EEPROM:

games in red need attention, ‘-’ means no EEPROM is used by the program

2 Likes

Hey, that’s awesome. I’ve integrated your results in to the spreadsheet directly- hope that’s ok?

2 Likes

Of course! Nice work!

image

HOLY COW. That’s a lot of fun, family-friendly, and FREE content!

1 Like

@Mr.Blinky, looks like your list doesn’t include:

@acedent, looks like your list doesn’t include:


These are just from the list of my favorite games, along with the games I’ve put out. I didn’t do a big, deep dive, or anything.

Yeah but what are their EEPROM usage? Throw us a bone @crait!

2 Likes

Yep the list is built off @Eried’s repo. some games still need to be added.

2 Likes
  • Circuit Dude: I use EEPROM.put() at EEPROM_STORAGE_SPACE_START + 412 for the leveldata progress. For custom levels, I store them from EEPROM_STORAGE_SPACE_START + 90 to (EEPROM_STORAGE_SPACE_START + 90) + 6 * 70, which is 6 levels, with 70 bytes, each.
  • Suit Shooter: I use EEPROM.put() at EEPROM_STORAGE_SPACE_START + 402 for the high score.

If you store 6 levels of 70 bytes at EEPROM_STORAGE_SPACE_START + 90
Then the 6th level will corrupt the leveldata at EEPROM_STORAGE_SPACE_START + 412


(and any save data for Suit shooter)
1 Like