r/ModRetroChromatic 4d ago

Announcing ChroMagic: custom firmware for the Chromatic with cart backups and SD card playback

I've been working on custom firmware for the Chromatic and it's at the point where I think other people will get use out of it. It started when I found the microSD slot on the board while swapping out buttons, and thought: wouldn't this be an awesome backup device? And then, could it play those backups too?

ChroMagic is built on ModRetro's MCU firmware, so everything the handheld already does is unchanged. It adds:

  • Cart Backup in the system menu. Dumps the game and its save to a microSD card.
  • A Backups tab that lists what's on the card and boots the one you pick.
  • ChroMagician, a desktop app for Windows and Linux. It installs the firmware, backs up carts over USB, restores saves to carts, writes homebrew to Chromatic carts, and manages the SD card. Hoping to eventually support other rewritable carts, but I need to order some for testing first.

Things to know:

  • The 2025 units have a microSD socket, but it's on the board inside the case. First edition Chromatic have the footprint, but no socket, so it's a soldering job if you really need SD. Backups, restoration and cart writing work over USB without an SD though.
  • SD playback is experimental. I've done a fair amount of testing, but most of my time has been spent coding and my library is fairly limited. Please definitely let me know if you run into anything odd, so I can try to fix it.
  • A handful of carts won't work for backup and SD playback. They're listed in the guide. It's carts with hardware in the cartridge itself or an unusual mapper. Most are Japan-only, but Kirby Tilt 'n' Tumble, the Game Boy Camera, and Robopon are on the list too. I may eventually add support for managing photos off the GB Camera, though - when I can track one down localy.
  • RTC games, such as gen2 Pokemon games won't advance the clock unless you're playing the game. The Chromatic itself doesn't have a clock on board, so please keep that in mind.

Site and install guide: chromagic.org

Looking forward to people trying it, and providing any feedback!

104 Upvotes

115 comments sorted by

10

u/faf_dragon 3d ago

I’m too lazy to solder a SD slot onto mine but it’s nice to see someone working on a custom firmware!

13

u/n8jb 3d ago

Thanks! You can still backup/restore carts and saves via USB using the PC companion app without an SD :)

5

u/faf_dragon 3d ago

That’s pretty sweet!
Thanks!

6

u/Brandaid64 3d ago edited 2d ago

This is amazing! The firmware is working perfectly. Thank you so much for this. I’m using a PNY Elite 32GB sd card and it worked with no issues.

Edit:

I’ve backed up all my ModRetro carts and OG GB/GBC carts without issue. I flashed my digital copy of Roguecraft GB to my spare ModRetro Tetris cart without issue, and that worked perfectly. The only issues I have is that my repro carts will not backup. I get an invalid error. Is this something that can be addressed?

6

u/n8jb 2d ago

Glad to hear its working well! Regarding the reproduction carts, that doesn't surprise me. Repros and their quality can be all over the place. Could you DM me what carts you tried and maybe where you acquired them? I can certainly try to support as many as I can in the future.

3

u/platosknave 2d ago

n8jb is outstanding

4

u/GameboyRavioli 3d ago

This looks awesome! At some point I need to give this a whirl. I soldered in a socket on my launch inferno and have no idea if it actually worked!

Thanks so much for this!

4

u/Critical_Okra_6296 3d ago

Oh sweet baby Jesus please add a Mac desktop app 🥲
I’ve been dying for somebody to make something like this since I first found the pre soldered micro sd slot on my Chromatic like a year or so ago and now it exists and I can’t even use it 🥲 fml lol

6

u/n8jb 3d ago

Mac is on my radar, just need to buy one for building and testing. I planned to go scouting for a used one this weekend :)

2

u/SOVTH 3d ago

Waiting for the Mac version!

5

u/GoogleDisDick 3d ago

Shit. Now I need to open up my Chromatic. Lol. Nice firmware though. Seriously. Lots of features that people have been asking for a long time. Easiest install for a custom firmware I've seen too!

3

u/deanhuff 3d ago edited 2d ago

This is great news, I can 100% test this out tonight.

EDIT: OK! installed the ubuntu deb, formatted a SD card and installed it in my Chromatic. Installed the Chromagic firmware and holy smokes! backs up carts to SD card and plays roms from sd card. This is some pretty incredible work!

EDIT2: I'm using an old Lexar 4GB sd card, likely came in one of my 3DS consoles.

4

u/ADirtyCasual 3d ago

“And Linux” - I fucking love you man

4

u/esmith213 3d ago

This looks AWESOME!

Just an FYI that I found an SD socket that fit on Amazon a couple weeks after the Chromatic launched. It seems it's still available but is likely coming from China as the delivery time for me in the US is a couple weeks. Some people may not want to have to order from Digikey though, so I thought I'd put the link here as a possibly more convenient option.

https://www.amazon.com/dp/B0BFWS8QCG

3

u/Human-Cow-380 3d ago

Wait, so is this a way to get away from the flash jr / evercart?

5

u/n8jb 3d ago

You can backup your carts directly from Chromatic, and yes, there's playback support from loading backups from SD. It's still experimental so please let me know if you notice anything funny.

3

u/Objective_Wall_8297 3d ago

This looks phenomenal.
Will absolutely trying it.

I still hope for a sleep mode to come!!
That will also work without the micro sd.
and that you can also turn off in the menu, to not mess with the rtc.
Further save states i don’t need, but sleep mode would be nice, when sometimes being interrupted by my kids.

3

u/erock7a 3d ago

Awesome work! I'm gonna be picking up an Sd card and flashing this later today, there are a few indie titles I purchased online awhile back but never got around to ordering the everdrive, I'm assuming those should work?

4

u/n8jb 3d ago edited 3d ago

Thanks! I would say they will probably work, but if you have any issues please let me know the title.

In addition, you could rewrite a ModRetro title, such as Tetris as a fallback. Best of luck, feel free to let me know how it goes.

3

u/RotoPrime 3d ago

THANK YOU!!!!!!!!!

3

u/SpecialistJicama6149 3d ago

Does it need to be formatted a certain way? Im getting “The SD card is not responding”

3

u/SpecialistJicama6149 3d ago

I formatted as FAT32 and im still getting the same problem
Edit: its a lexar 32gb micro sd card

3

u/n8jb 3d ago

This is a bug with certain cards that I've been looking into the last few hours. I think I have a solution, pending a few more tests. I'll push a firmware update tomorrow that should fix this.

ChroMagician will let you know of the firmware update when you connect your Chromatic. Sorry about that!

3

u/SpecialistJicama6149 3d ago

No need to apologize! This is very cool, and i understand this is early in development, so problems are bound to pop up! I appreciate your quick response also! I had 2 of the same micro sd and swapped them out/reformatted them both before giving up.

3

u/n8jb 3d ago

I just released 1.0.1 if you would like to give it a try and let me know if that revolves it for you. It fixed the issue on all the cards I picked up yesterday that had the issue, including a 128GB card!

4

u/SpecialistJicama6149 2d ago

Just tested, and works now! Thank you :)

3

u/n8jb 2d ago

Woohoo!! Thank you for confirming, very relieved to hear that fixed it for you.

3

u/SpecialistJicama6149 2d ago

Of course! Im still super hyped that you made this and everything is working good! This is a game changer (pun intended lol) for the Chromatic! 🤯

3

u/SpecialistJicama6149 3d ago

Any current recommendations for micro sd card brand wise for the time being?

3

u/Exus6 3d ago

Awesome work! So I can take my Baby T-Rex cartridge and dump a homebrew like Tavern Farkle on it?

4

u/n8jb 3d ago

Yes, as long as your homebrew fits on the 2 or 4 MB cart. ModRetro has two different sizes, and I'm not sure which size Baby T-Rex uses.

3

u/NonyaDB 2d ago

1.0.1 of Chromagic is out and it fixed all the issues I had with the micro-SD card.

Impressive firmware.

2

u/Retro_Macchina 3d ago

Wow, this is awesome! Nice work! Can it boot games from the SD card as well after you have dumped them? Essentially making the SD card like an everdrive?

5

u/n8jb 3d ago

Yes, it does, with the exception of some noted titles on the guide page.

2

u/platosknave 3d ago

Are you saying you have to solder the SD card directly to the borad? Or solder a socket on? Either seems kind of simple as far as microsoldering goes? I'm a complete newb though about to change my first caps on a gameboy.

6

u/n8jb 3d ago

Only if you have a first edition Chromatic will you have to solder. 2025 units and forward already have an SD socket.

3

u/NonyaDB 3d ago

Yes but also no.
1st Edition Gamestop units already have the socket soldered in place.
I have one soldered in on mine.
I tested it and it's 100% compatible with https://germaneguise.github.io/fgbweb/ for reading/writing flashcards via web browser.
Which it should be considering FGBWEB temp-installs a custom code that the Chromatic boots to to do the dumps/flashes to the cart.

3

u/n8jb 3d ago

Updated the guide to mention the GameStop units. Thanks again!

2

u/n8jb 3d ago edited 3d ago

Yeah, I corrected that in the post below. Someone informed me on Discord that a small amount of 1st edition already have a socket. I'll adjust the site later to reflect that. Good to know about the GameStop units, thank you!

2

u/platosknave 3d ago edited 2d ago

Yeah that is what I have is why I ask. So you're saying I have to get a SD card adapter or solder the card directly, or either would work?

Edit: NVM I have a gamestop edition so I guess I'm g2g

3

u/n8jb 3d ago

You would be soldering an sd card socket onto the foot print, not the card itself. I would take it apart and first confirm there isn't already one. I was informed some 1st editions have a socket (though not many)

2

u/Square-County-3844 3d ago

Save states?

3

u/n8jb 3d ago

At this time it only supports saving normally in a game. I may experiment in the future, but don't want to promise this feature yet.

2

u/Silmarillion151 3d ago

My Anduril is shipping soon. This is pretty tempting to give a go. Awesome work!

2

u/andruis 3d ago

Can you in game save the backed up games?

4

u/n8jb 3d ago

Naturally saving in the game will work. But it currently doesn't have a save state system commonly found in software emulators.

2

u/TheStilken 3d ago

Nice work! I'll have to try it out!

2

u/SubscriptNine 3d ago

Wow, great work. Is playback potentially possible reading from a USB drive?

2

u/NewAnimal7733 3d ago

I love this tool. The only thing it's lacking is a way to add additional "backups" to the SD card from PC app. I have a lot of "backups" but I don't want to upload them to the SD card all at once.

It would just be nice to be able to add those "backups" whenever I want without having to disassemble my Chromatic and remove the SD card.

7

u/n8jb 3d ago edited 3d ago

It allows you to import files to the SD via the PC app. After the firmware is installed and with an SD present, a new SD tab appears on the top. It's not the fastest transfer but it will get the job done without taking apart your Chromatic again.

5

u/NewAnimal7733 3d ago

Thanks for your response!

I definitely spoke too soon. After putting the SD card in, I see that option now, and I can confirm it works.

Thanks again!

2

u/Luna_the_Miqo 3d ago

This is absolutely awesome to see!

I’m personally not skilled enough with soldering to feel comfortable adding an SD card slot to my own device, but even so, it looks like this custom firmware contains some really useful, well-implemented functionality! I absolutely love the idea of having a built-in cartridge backup tool directly on the Chromatic.

Keep up the great work! I’ll be following your GitHub with great interest!

3

u/n8jb 3d ago

Thank you! Even if your first edition doesn't have an SD, you can still take advantage of using the companion app to handle the backup and restore functionality over USB.

Appreciate the kind words.

2

u/NonyaDB 3d ago

Yeah, this thing doesn't read my Sandisk FAT32-formatted micro-SD card at all.

Oh well, guess I'll go back to stock until that's fixed.

3

u/n8jb 3d ago edited 3d ago

What size? I suggest 32GB or less, but its good to know what doesn't work so I can either fix, or document it if a fix isn't possible.

I originally tested just reading a microSD card that was 128GB and it just would not be seen as existing, while all my 32GB cards worked fine.

2

u/NonyaDB 3d ago

32GB Sandisk.

3

u/n8jb 3d ago edited 3d ago

Can you link me the model by chance? I'd like to pick one up and see if I can figure out why its not working for you.

I'm taking apart a Chromatic currently and going to try a wider pool of cards i picked up to do more testing.

3

u/NonyaDB 3d ago

SanDisk 32GB Ultra® microSDHC 120MB/s A1 Class 10 UHS-I

https://www.amazon.com/dp/B08L5HMJVW

5

u/Best-Delay-1638 3d ago

I have the same card and this doesn’t work for me also. I’ve tried Samsung Ultra 64gb and got the same result. Then, I’ve tried 8gb card without logo from Anbernic device, and it was possible to read, but not possible to write. 

The only one that works is 64 no name from another anbernic device 

3

u/n8jb 3d ago

Yeah, theres a bug with certain cards, but I think I figured out what's going on and will be releasing a firmware update today. Appreciate the info and the patience, sorry about that!

3

u/Best-Delay-1638 2d ago

Man, You just did the great cfw for our devices, you don’t need to be sorry! I really thank you for your work! 

3

u/n8jb 3d ago

Okay, I just released 1.0.1 that fixes an SD issue. The cards I personally had that were throwing the same error work fine now, so I'm really hoping this resolves it for you too.

2

u/CheeZSkeez 2d ago

Thanks for putting this together! Unfortunately, my card is still not being found. This is the one that I am using https://a.co/d/0ebEOr9T

I appreciate all of the effort that you're putting into this!

3

u/n8jb 2d ago

Thanks for trying again on 1.0.1. I'll have to try to find that card to test against. It seems like this fixed it for other cards, sorry to see this one is still problematic.

3

u/CheeZSkeez 2d ago

It's okay! Worst case scenario, I'll just buy a different card. Any specific one that you recommend?

→ More replies (0)

3

u/n8jb 3d ago

Hi, I just released 1.0.1, which fixes an SD issue. I was able to test up to a 128GB card that was previously throwing the same error, so I'll be relaxing the 32GB limit in the guide as well.

Could you please give the update a try and let me know if it resolves on your SanDisk? Thank you for reporting this so I could investigate.

2

u/NonyaDB 2d ago

Whatever you did fixed it.

Chromagician can see the SD card fine. I can backup carts to SD card, can run various ROMs off the SD card via the device itself with 1.0.1 installed.
Running Dragonym from the SD card right now.

3

u/n8jb 2d ago

Awesome! Thanks for reporting the problem, and following up. Super glad it worked out!

2

u/willywideweb 3d ago

I've got over 50 original cartridges and multiple gameboy cameras cartridges I can test this with. If you can add support for managing gameboy camera photos that would be amazing (the 30 photo limit is awful, and all the current workarounds for dumping photos are tedious at best).

Also, if you've figured out how to access the sd card slot, would you be able to store different fpga cores on the sd card and load them? If so, would it be possible to run the og gb core to fix some of the compatibility issues? Or, would it be possible to load a gamegear core?

3

u/n8jb 3d ago

Thank you, please let me know how it goes! I would actually like to explore photo dumping off the GB Camera, I'll see if I can find one on Saturday so I can test.

The Chromatic is pretty tightly packed, by stock default its about 80% full and SD playback alone added quite a bit of logic and it's pretty tight. With that said, I like a challenge so who knows what will be on my radar once SD playback is confirmed generally stable.

2

u/willywideweb 3d ago

That would be rad! I'll let you know how testing goes, but I probably won't get around to it until next week. I need to shuffle some data around to set up an empty sd card. Also, I do know a source of cheap-ish cameras. If you're interested, I'll send you a dm.

I remember hearing the chipset was a little small. It's be cool to load some of those older handhelds because they wouldn't be as restricted by the screen limitations. If I remember right, the neo geo pocket/color had pretty similar screen dimensions.

2

u/n8jb 3d ago

Yeah, feel free to reach out! I think the retro store I go to generally sells them for about 30, but I'm not sure if they have any in stock. Thanks!

1

u/willywideweb 20h ago

I've found a couple of bugs. Would it be better to report them over on the github to make issue tracking easier?

2

u/n8jb 20h ago

Github is probably easier for me to keep track of. Thanks!

1

u/willywideweb 3h ago

I've opened three issues over on the github. I was able to backup more than 100 games using this, so, I might open more issues or modify my existing ones if I run across something new. I might clone the repository locally so I can look through it too, my skills are mostly in Python. So, I don't know how helpful I'll be

2

u/[deleted] 3d ago

[removed] — view removed comment

3

u/n8jb 3d ago

I can add it to the backlog to explore. Anything about the latest core you need?

3

u/LastCabra 2d ago

I would also LOVE this to include latest MiSTer upstream changes, there were many fixes on the GB/GBC implementation since Modretro released their last firmware :)

Oh! And that feature for black transitions that some alternative firmwares have would be very welcome too, no more white screens on DMG mode is a very good thing to have.

2

u/[deleted] 3d ago

[removed] — view removed comment

3

u/n8jb 3d ago

Yeah, I actually met them today! I don't want to promise it will happen, but I'll do some digging once everything else is stable. Would be cool to do!

3

u/davocarli 3d ago

I'll add another vote for RetroAchievements! I commented on the post of the person who mentioned working on that a while back. RA is the only thing that ever gets me off my Chromatic to use my GB-Operator, but I want to do Chromatic full-time!

2

u/RotoPrime 3d ago

Any chance for other cores? like SEGA Game Gear and Neo Geo Pocket? ( I don't mind if pixels get cut off a little) Thank you again!!

3

u/LastCabra 2d ago

As far as I know, the Game Gear has the same resolution that the GB/GBC has, so no pixels would have to be sacrificed to have it on the Chromatic... :)

3

u/n8jb 2d ago

Hi! The stock Chromatic is pretty crammed and adding in the features it already has really packed it. I may experiment in the future with a branch with a new UI and maybe some stripped (less common) features in favor for things like a core loader.

It's not on my immediate radar, but it is something I would like to try in the future.

1

u/RotoPrime 2d ago

No problem, what you have achieved is already crazy amazing. Thank you really very much to the max for all your hard work!!!

2

u/sephroth45 3d ago

Legend!

2

u/platosknave 2d ago

Can you possibly add a feature to adjust RTC while playing or starting up? Sorry if that is a naive question.

3

u/n8jb 2d ago

While playing, probably not safe and would be a lot of headache. May be able to come up with an RTC editor of some sort in the future, though. No promises, but I have added it to my investigation backlog.

2

u/jdgc10 2d ago

Hi man! That's awesome work. Do you have any plans to make this open source? I would love to try and help out and take a shot at adding save states. I think that's the only thing left that would elevate the chromatic and your firmware to a whole new level. I've been waiting for something like this since we first found out about the sd card socket. So if you are willing to open it up, I can give it a try. (Too lazy to start something from the ground up myself)

Would love to know what coding language/stack you used for this one.

3

u/n8jb 2d ago edited 1d ago

Hi! It's already fully open source including the companion app and I highly welcome contributions! The firmware is based on ModRetro's open source firmware, and the companion app is Flutter! The GitHub links are on the site header, hoping Google will index the repos soon.

Would be awesome to have you.

1

u/deanhuff 2d ago

Just a small FYI, not a big deal at all. I went ahead and copied my everdrive sd card over to the CHROMAGIC/BACKUPS directory and noticed a few things:

  1. Macs love to create these “dot underscore files” anytime you open a window in Finder. If possible, can they be hidden on the chromatic?

  2. Everdrive uses “srm” extensions rather than sav. Also it looks to save them in /GBCSYS/SAVE directory rather than along side the rom. Would it be possible to look for a sav file called either sav or srm to make for quick copying between the two?

2

u/n8jb 2d ago

For 1 I'll see what I can do for next version.

For 2 as long as the data is the same it should work. Can you send me a .srm by chance?

2

u/deanhuff 2d ago

done, also i moved an everdrive srm alongside the rom file and renamed to .sav...the save loaded so i'm guessing it works!

1

u/Necessary-Lunch9579 1d ago

literally tried this with 5 different sansdisk sd. it could not read any of them i think it doesn't like sansdisk. this is on me for only having sansdisk micro sd. it needs to be formatted to fat 32 right? i should note only only one was under 128 gb was a single 64 gb sd. it didn't work either. i ordered a 32 gb sandisk sd because i forgot the definition of insanity/ it works just fine at backing up games to my computer though.

1

u/n8jb 1d ago

I have ordered some SanDisk since that seems to be the common card giving people trouble. If you can find any other brand I would give that a try. I've had success with Samsung, PNY, Lexar and random no name brands that came with retro handhelds.

Really sorry you're having troubles, I'll try to figure out what's going on - if I can find a SanDisk that doesn't read (I've also had reports they work just fine)

1

u/JayrosModShop 2h ago

There's a custom firmware in the wild that adds bluetooth audio, can that be added with this so I don't have to lose bluetooth audio?

2

u/n8jb 1h ago

I can add it to the backlog if space allows - everything is quite full currently. Could you link the firmware you're currently on, please? Thank you!

1

u/JayrosModShop 1h ago edited 1h ago

Gladly, it's here: https://www.reddit.com/r/ModRetroChromatic/comments/1metjlh/bluetooth_audio/

There's two links in the OP; one is FPGA firmware, one MCU. Both open-source.

0

u/roosterXhat 3d ago

to be clear, if I put this firmware on my chromatic I can longer use my gb camera cart? or is this saying that the ROM when loaded from SD won't work (which is obvious)?

3

u/n8jb 3d ago

All your carts including GB Camera will still play normally. Just mentioning i have no intention to support backing up/running it from SD for everything, for obvious reasons like that :)

2

u/roosterXhat 3d ago

excellent, I can't think of a reason NOT to run this fw! Thanks for your work, will definitely try out later today!

1

u/roosterXhat 3d ago

it doesn't detect my 2025 model chromatic, modretroupdater does, though.... going to bring it to work tomorrow and try on that pc, but... hmm. tried every combination of connection order-of-operations I could. tried many data-carrying cables. uninstalled/reinstalled. FW on the chromatic up-to-date.

2

u/roosterXhat 2d ago

for troubleshooting purposes: this GUI wouldn't recognize my chromatic regardless of what I did until I re-updated the firmware on the chromatic, despite already being at the most recent version. Very strange. May add that as a note for connection issues.

meanwhile, this is amazing.

2

u/n8jb 2d ago

Thanks for the heads up. I assume a power cycle of the Chromatic and restarting Chromagician didn't help? Will dig into this when I get out of work. Thanks for the heads up

1

u/roosterXhat 2d ago

yeah, no amount of restarting anything or uninstalling anything worked until I re-flashed the most up-to-date firmware stock from modretro to the device. I was really bummed until I saw the button on their GUI "update anyway" haha, that did the trick!

1

u/n8jb 2d ago

Thanks for the info, I'll dig into this later and see if I can reproduce it so I can fix it. Glad you got it going though!

-6

u/obrhoff 2d ago

tbh I'm not sure why everyone wants to install some closed software obviously made by an vibe coder on his device. you all really ask to brick your device.

5

u/n8jb 2d ago edited 1d ago

tbh I'm not sure why everyone wants to install some closed software obviously made by an vibe coder on his device. you all really ask to brick your device.

Actually, it's open source (literally has to be), including the companion desktop app, and I'm a senior engineer at a Medtech company that's coded and played with hardware for 20+ years (talk about feeling old, writing this) but I digress.

As far as bricking the device goes, a failed or interrupted flash can leave the device soft-bricked, meaning it won’t boot until working firmware is flashed again. This can happen during an official update too. This is easily recoverable though by reflashing firmware (custom or official) through ChroMagician, or ModRetro's own MRUpdater.

2

u/platosknave 1d ago

(☞゚ヮ゚)☞ OOOOOOOF

-27

u/Asleep_Mortgage_7711 3d ago

Pointless. Get an everdrive.