Viewing Issue Advanced Details
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|07255||Crash/Freeze||Major||Always||Mar 9, 2019, 06:32||Apr 10, 2019, 05:15|
|Tester||trj||View Status||Public||Platform||MAME (Official Binary)|
|Assigned To||enik2||Resolution||Fixed||OS||Windows 10 (64-bit)|
|Version||0.207||Fixed in Version||0.209||Build|
|Fixed in Git Commit||Github Pull Request #|
|Summary||07255: gamegear [ecco]: Gamegear ROM Ecco loads directly to pink screen|
Ecco the Dolphine (CRC 866C7113) loads but immediately freezes with purple/pink screen.
Also tried and repeated on 0.204
While not related to this emulator, it is noted the same problem was seen and fixed for this ROM - (Bizhawk): https://github.com/TASVideos/BizHawk/issues/1157
|Steps To Reproduce||Simply load Rom and it boots to pink screen.|
|Affected Sets / Systems||gamegear [ecco]|
|There are no relationship linked to this issue.|
Mar 9, 2019, 07:51
edited on: Mar 9, 2019, 07:53
Regression caused by this change in the memory map: https://git.redump.net/mame/commit/src/mame/drivers/sms.cpp?id=d010b82746deb4a98e8f30df8bb110cfc291d4ad
As noted by the OP, BizHawk failed to run Ecco and there it was fixed this way: https://github.com/TASVideos/BizHawk/commit/b747ac22d79a49d165fcaae7e611a3d3695a34a8
Mar 24, 2019, 14:17
The change in the memory map is correct as described in the changelog:
- upper addresses of the SMS2/GG memory map unused by devices need to be mapped to RAM (fixes 'shero' GG game).
Some years ago, Judge helped me to debug the problem with Ecco and he discovered the ROM code lacks initialization of the stack pointer. He noticed the game works when the gamegear driver runs with BIOS selected (-bios 1), that initializes the stack pointer. Later, after more changes were done to the SMS/GG driver, the problem disappeared somehow and I thought it was a collateral effect of changes I did to support ROM loading through different slots, need by SMS drivers. I was wrong as Osso pointed out to be a bug that I did to the memory map.
When Charles MacDonald posted on SMS Power about his findings about the Power Base Converter, used to load SMS ROMs on the Sega Mega Drive, he described a fragment of code contained in a custom chip to initializes the stack pointer. Judge then posted to tell he suspected something similar is also present in the biosless gamegears due to the Ecco problem:
When I saw Judge's post, I e-mailed him to tell about the fact Ecco was somewhat working at that moment without the BIOS requirement. The didn't replied me, maybe didn't believe about what I was telling. Now I am more inclined to believe Judge is right about his suspections. Also, no information was found about Ecco requiring to run on a gamegear with BIOS (no mention on manuals, no user report, etc).