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)
Status [?] Resolved Driver
Version 0.207 Fixed in Version 0.209 Build
Fixed in Git Commit Github Pull Request #
Summary MESS-specific 07255: gamegear [ecco]: Gamegear ROM Ecco loads directly to pink screen
Description 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.
Additional Information
Github Commit
Flags
Regression Version 0.190
Affected Sets / Systems gamegear [ecco]
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
2
User avatar
No.16225
Osso
Moderator
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
User avatar
No.16273
enik2
Tester
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:

http://www.smspower.org/forums/14084-PowerBaseConverterInfo#79375

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).