Fun game, nice rip off of/"homage to" Rock'n'Roll on the Amiga.
I've been working my way through this, finding the bonus levels, getting the nice green dots on the main map when each area is fully complete. Done for areas 1 to 4, but when I was playing area 5, going through the bonus exit on 5-6 didn't open a bonus level as expected. Finished 5-7 too, no bonus exit, and still the bonus level wasn't open. All regular levels complete yet dot on main map was still yellow, sad times. It's not just me, this walkthrough describes the same problem, and suggests using a hacked rom with built-in cheats if you want to play the missing level (search that faq for 3-5-6 and 3-5-? for the relevant bits).
I figured using a hacked rom might taint my save by opening up stuff in the areas I haven't got to yet, so I looked for cheat codes to see if I could get a clue on how to fix it more "cleanly". There are cheat codes available, but I determined that the "all areas open" cheat on that page just changes your total of, uh, orbs or whatever they are you get for finishing regular levels. So, playing with mgba, and opening save files in a hex editor - one from a few levels previously and one to my current state of all regular levels in area 5 completed, I looked for how progress was stored in the save.
Comparing to the stats shown ingame for a save, the total time played is stored as 4 bytes at offset 0x64 in the save file. It's in frames (60ths of a second). Couldn't find an obvious value for the completion percentage, but that wouldn't need saving, could just be calculated. Couldn't find an obvious value for number of orbs either, maybe they obscure it - I have my suspicions about the byte at offset 0x6B.
The sequence of bytes from offset 0x13 to 0x17 caught my attention as looking like level progress data, as the latter bytes were 0x55 or 0x57 in both saves, but 0x14 was 0x55 in my later save and 0x45 in my earlier one, and byte 0x13 was zero in the earlier save but 0x1D in the later. I figured it was a byte for each area, with the change at offset 0x13 being for area 6, but when I used mgba to find those bytes in ram (I got address 0203fe10 - the bytes are there in reverse order relative to the save file) and started playing with the values, it turned out that both the 0x1D at save offset 0x13 and the 0x55 at offset 0x14 were affecting which levels were available and marked complete for area 5. Making the bonus level available involved changing the 0x1D to 0x3D - which in binary sets the next bit up (bit 6, counting the right hand bit as 0) while leaving the rest unchanged. If you're trying to do this on your own save game, and you have already tackled later levels, I don't know if this might affect the higher bits of this byte, but I'd guess not as there's not many left to play with. Earlier bytes in the save (later bytes in ram) will probably cover those areas.
So changing this byte in memory opened up the bonus level in mgba, and I thought easy peasy, changed the 0x1D to 0x3D in the save file, and put it back in my Omega - loaded up the game and it happily declared the save to be empty. Shit, checksums. I'm gonna assume these are the 4 bytes at offset 0x84, but I didn't spend too long trying to figure it out so far, worked around it by starting the bonus level in mgba, then quitting out of it (Select opens the restart/exit level menu, weirdly separate to the plain pause box you get from pressing Start), and backing out as far as the title screen - this made the game rewrite the save file (with correct checksum, noice) which it didn't do when I was just in & out of the level selection screens without starting a level. This save opens nicely from the flash cart, problem solved - or at least worked around, would be nice to have checksum calculation figured out for completeness, but right now I'm feeling lazy.
Hope this helps somebody one day, as I couldn't find any previous discussion of the issue via google besides the aforementioned faq that suggests using a hacked rom.
I've been working my way through this, finding the bonus levels, getting the nice green dots on the main map when each area is fully complete. Done for areas 1 to 4, but when I was playing area 5, going through the bonus exit on 5-6 didn't open a bonus level as expected. Finished 5-7 too, no bonus exit, and still the bonus level wasn't open. All regular levels complete yet dot on main map was still yellow, sad times. It's not just me, this walkthrough describes the same problem, and suggests using a hacked rom with built-in cheats if you want to play the missing level (search that faq for 3-5-6 and 3-5-? for the relevant bits).
I figured using a hacked rom might taint my save by opening up stuff in the areas I haven't got to yet, so I looked for cheat codes to see if I could get a clue on how to fix it more "cleanly". There are cheat codes available, but I determined that the "all areas open" cheat on that page just changes your total of, uh, orbs or whatever they are you get for finishing regular levels. So, playing with mgba, and opening save files in a hex editor - one from a few levels previously and one to my current state of all regular levels in area 5 completed, I looked for how progress was stored in the save.
Comparing to the stats shown ingame for a save, the total time played is stored as 4 bytes at offset 0x64 in the save file. It's in frames (60ths of a second). Couldn't find an obvious value for the completion percentage, but that wouldn't need saving, could just be calculated. Couldn't find an obvious value for number of orbs either, maybe they obscure it - I have my suspicions about the byte at offset 0x6B.
The sequence of bytes from offset 0x13 to 0x17 caught my attention as looking like level progress data, as the latter bytes were 0x55 or 0x57 in both saves, but 0x14 was 0x55 in my later save and 0x45 in my earlier one, and byte 0x13 was zero in the earlier save but 0x1D in the later. I figured it was a byte for each area, with the change at offset 0x13 being for area 6, but when I used mgba to find those bytes in ram (I got address 0203fe10 - the bytes are there in reverse order relative to the save file) and started playing with the values, it turned out that both the 0x1D at save offset 0x13 and the 0x55 at offset 0x14 were affecting which levels were available and marked complete for area 5. Making the bonus level available involved changing the 0x1D to 0x3D - which in binary sets the next bit up (bit 6, counting the right hand bit as 0) while leaving the rest unchanged. If you're trying to do this on your own save game, and you have already tackled later levels, I don't know if this might affect the higher bits of this byte, but I'd guess not as there's not many left to play with. Earlier bytes in the save (later bytes in ram) will probably cover those areas.
So changing this byte in memory opened up the bonus level in mgba, and I thought easy peasy, changed the 0x1D to 0x3D in the save file, and put it back in my Omega - loaded up the game and it happily declared the save to be empty. Shit, checksums. I'm gonna assume these are the 4 bytes at offset 0x84, but I didn't spend too long trying to figure it out so far, worked around it by starting the bonus level in mgba, then quitting out of it (Select opens the restart/exit level menu, weirdly separate to the plain pause box you get from pressing Start), and backing out as far as the title screen - this made the game rewrite the save file (with correct checksum, noice) which it didn't do when I was just in & out of the level selection screens without starting a level. This save opens nicely from the flash cart, problem solved - or at least worked around, would be nice to have checksum calculation figured out for completeness, but right now I'm feeling lazy.
Hope this helps somebody one day, as I couldn't find any previous discussion of the issue via google besides the aforementioned faq that suggests using a hacked rom.
Last edited by hippy dave,