Hacking EZ-FLASH Junior TestFlight

  • Thread starter Thread starter EZ-Flash2
  • Start date Start date
  • Views Views 364,750
  • Replies Replies 1,300
  • Likes Likes 11
But mine was done by an experienced modder who has done many units TBF but it could be a possibility though ive resigned to the fact its not going to work without some sort of hardware modification, incidentally im Not knocking the Junior overall as a flashcart as i happen to think it offers extraordinary value as is your GBA Omega flashcart which is another great product.


I watched the video you posted, and if the music I heard is correct, the game has loaded correctly and started successfully, but your screen is off.

In the case of the DMG backlight resistors I mentioned earlier, they couldn't even load the kernel on the SD card, but everything worked fine in your operation until the screen turned itself off.

I forwarded the video to mod guru, he watched it and gave his opinion: it should be that the screen driver is not supplying enough power to the board when loading game, then it caused the screen shuting down. whether it is a cable problem or a driver board problem needs to be overhauled!
 
Last edited by EZ-Flash2,
  • Like
Reactions: drenco
Will you ez flash devs start adding cheats or game compatibility settings like changing mbc save types for some games?
 
Hi there! I'm one of the devs of Pokemon Prism, and I have been investigating your implementation of the RTC with the sample cart you've sent us.

I wrote a small tool that lets you play around with the RTC registers. I can't seem to post the link here; you should be able to find it on my GitHub - the same username as here, in the mbc3-fiddle repository.

I have tried it on the firmware from post #405 in this thread, and... I am surprised any games work at all. It seems that the registers you write to are separate from the ones you read from. Specifically, it seems that writes are stored in some sort of "RTC base", which then gets added every second to the time elapsed.

This means that if the game writes exactly what it read back, the readout will suddenly double. This is quite different from what the actual hardware does - if you write a value (that's in range) and re-latch the registers, you'll read back exactly what you wrote.

I am also attaching a test ROM by Matt Currie that tests some aspects of the RTC behavior. I hope you'll find it helpful. Meanwhile, I'm collaborating with him to test more cases; I'll inform you of the results as we figure things out.
 

Attachments

Hi there! I'm one of the devs of Pokemon Prism, and I have been investigating your implementation of the RTC with the sample cart you've sent us.

I wrote a small tool that lets you play around with the RTC registers. I can't seem to post the link here; you should be able to find it on my GitHub - the same username as here, in the mbc3-fiddle repository.

Okay, thanks very much, we're using your tool for debugging.
 
I wrote a small tool that lets you play around with the RTC registers. I can't seem to post the link here; you should be able to find it on my GitHub - the same username as here, in the mbc3-fiddle repository.
Yeah, you can only post links when you have more than 10 posts, so here's a post with the link for convenience :)
https://github.com/NieDzejkob/mbc3-fiddle
 
This means that if the game writes exactly what it read back, the readout will suddenly double. This is quite different from what the actual hardware does - if you write a value (that's in range) and re-latch the registers, you'll read back exactly what you wrote.

We've been working with the tool you provided for a few days, and we're not quite sure how to work out the doubling of values you mentioned, can you give us a step-by-step guide on how to do it?
 
We've been working with the tool you provided for a few days, and we're not quite sure how to work out the doubling of values you mentioned, can you give us a step-by-step guide on how to do it?
Any prediction if save states function will be developed?
 
We've been working with the tool you provided for a few days, and we're not quite sure how to work out the doubling of values you mentioned, can you give us a step-by-step guide on how to do it?

Sorry, I should've been more specific in the first place.

1. Enable auto latching
2. Write 00 to the seconds register.

At this point, the expected behavior is that the seconds register reads 00. Instead, it will be a small value corresponding to something like the amount of time the cart has been on.

3. Set up a write of 10, and execute it just as the seconds register increases from 0F to 10. Instead of being a no-op, the write will make the value jump to 20.

Is this clear?
 
  • Like
Reactions: CaptainKennedy
Sorry, I should've been more specific in the first place.

1. Enable auto latching
2. Write 00 to the seconds register.

At this point, the expected behavior is that the seconds register reads 00. Instead, it will be a small value corresponding to something like the amount of time the cart has been on.

3. Set up a write of 10, and execute it just as the seconds register increases from 0F to 10. Instead of being a no-op, the write will make the value jump to 20.

Is this clear?

Copy that. We'll look into it further.
 
Hi. Gameboy Color games do not work on firmware 4 on ez flash jr on gb boy colour. Do you plan to add full support of ez flash to gb boy? Please!
 
Last edited by ndsLight,
@NieDzejkob
We did a new firmware update by using the tools you provided. Please check if it is still not working properly

Other Prism players can upgrade this firmware for testing as well!
Tried this and it seems to exhibit the same behaviour as before with the almost a year being skipped, but now with the added caveat games occasionally crash whilst loading or hang on a white screen for 15~ seconds before progressing to the nintendo logo (debug build of some kind I guess?)

I also tried formatting the SD card (slow format), replacing the ROM, placing a new prism game file and ezgb.dat and it somehow still loaded a save??

Renamed prism file (since I figured somehow the cart was holding the sav in the rom?)
Time skip still occurred afterwards whilst saving
 
Tried this and it seems to exhibit the same behaviour as before with the almost a year being skipped, but now with the added caveat games occasionally crash whilst loading or hang on a white screen for 15~ seconds before progressing to the nintendo logo (debug build of some kind I guess?)

I also tried formatting the SD card (slow format), replacing the ROM, placing a new prism game file and ezgb.dat and it somehow still loaded a save??

Renamed prism file (since I figured somehow the cart was holding the sav in the rom?)
Time skip still occurred afterwards whilst saving
Started with a brand new save for each test?
 
Started with a brand new save for each test?
Renaming the file creates a new sav file, but yes the first one was a format before even attempting, second attempt somehow loaded the same save file even though I removed the entire SAVER folder from the SD card and put a new prism rom on. Not really sure how it managed that. Third attempt I deleted the SAVER folder again, replaced the ROM and named it something else entirely, created a new save and was met with the same time skip behaviour as previously experienced. Either way the first test from format > put files on sd > boot game > save > turn off and back on > boot game > time is wrong by a year and change or more
 
Renaming the file creates a new sav file, but yes the first one was a format before even attempting, second attempt somehow loaded the same save file even though I removed the entire SAVER folder from the SD card and put a new prism rom on. Not really sure how it managed that. Third attempt I deleted the SAVER folder again, replaced the ROM and named it something else entirely, created a new save and was met with the same time skip behaviour as previously experienced. Either way the first test from format > put files on sd > boot game > save > turn off and back on > boot game > time is wrong by a year and change or more


just turn off the auto save function, and skip the saver backup windows in next boot.
 
just turn off the auto save function, and skip the saver backup windows in next boot.
Ahh okay, that makes sense now how it retained the save file. But the RTC behaves even worse for me now, if I start a new game on prism, set the date to august 20/20 10am. After I reach a point in the game where I can save, my time reads as april 23 10:02am(before hitting save) After hitting save and reloading the game it jumped to 15 Oct 2022 15:45pm
 
For me testing in one of the "weird" cards I get the correct date, but it seems that every time I save, it adds to the clock time the minutes that I have played for the next reload of my game save. In these days I will try to continue testing with other Prism Roms and one of the "normal" cards to see if the result is different. I will update the results in this coment.

UPDATE TEST: Comment #510
 
Last edited by RetroKarl,
@DrunkenMonk @RetroKarl
I tested Prism's v0.9.4-b0235 and the original Crystal separately.

On the original Crystal, the issue of repeatly save added in-game time does not occur.
But it happens on Prism, When saving, it added the time elapsed in the game.

It's hard for me to express what the problem is.
 

Site & Scene News

Popular threads in this forum