I will research how to add a save feature. Campaign progress is stored in just a few variables so I can't imagine it would be too difficult.
Cool!
If it's useful at all, here is an example from Canyon Racer, there are other ways to do it though.
https://github.com/bbbbbr/canyon-racer/blob/main/src/cart_mbc5/cartsave.c
https://github.com/bbbbbr/canyon-racer/blob/main/src/stats.c
A usual practice is to have a signature byte pattern and/or a checksum of the data to verify it's integrity and that it's not random data.
Gave it a full play through on the campaign + a couple levels on endless. Everything felt balanced and worked well, esp after getting into the flow of it. It gets busy, but in a way that was manageable and added to the action.
Haven't seen any bugs or issues.
Did notice the blue text on black background for mana can be a little hard to read. Something lighter might make that easier.