Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06507 Misc. Major Always Feb 18, 2017, 11:52 23 days ago
Tester Yonah View Status Public Platform MAME (Official Binary)
Assigned To palazzol Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved Driver
Version 0.182 Fixed in Version 0.227 Build 64-bit
Fixed in Git Commit af1c5e7 Github Pull Request #
Summary MESS-specific 06507: coleco [heist]: Demo and Game won't play.
Description The title screen displays OK, but if the game is started or the demo is allow to play, the game resets back to the title screen after displaying "- Level 1 -".
Steps To Reproduce
Additional Information The same rom works fine if running from the Coleco Adam. Heist.rom CRC32: 6F2E2D84
Github Commit
Flags
Regression Version 0.153
Affected Sets / Systems coleco [heist]
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
2
User avatar
No.17275
pgimeno
Tester
Dec 14, 2019, 16:17
The game is doing an uninitialized memory access of memory address 7248h . When 7248h contains 0FFh at start, the game crashes. This access can be witnessed by adding a breakpoint at memory address 9611h; single-stepping for a few instructions will then end up in a jp (hl) that jumps to an invalid address.

Therefore, this problem is caused by the pre-initialization of the Coleco RAM to all 0FFh. As of writing this, OpenMSX suffers from the same problem.
User avatar
No.17311
pgimeno
Tester
Dec 31, 2019, 14:13
The problem has just been fixed in OpenMSX.

https://github.com/openMSX/openMSX/commit/b8994ef5ddc57b0e6de699e66c7204cbebaeabb8
https://github.com/openMSX/openMSX/commit/7088cb11fba6e34102888cc0a80d4b5a089ca33f

While I'm here: The byte at 7248h acts like a flag. There's another byte at 724Ah used as an index to a jump table with 3 entries. I guess that if the second byte is in range (between 0 and 2) it might not crash even if the first one was FF. The description above was simplified.