Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06870 Sound Major Always Feb 8, 2018, 09:45 Feb 13, 2018, 03:30
Tester kunikuni View Status Public Platform MAME (Official Binary)
Assigned To AJR Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved Driver mario.cpp
Version 0.194 Fixed in Version 0.195 Build 64-bit
Summary 06870: mario and clones: Missing music/sound effects
Description Missing music/sound effects in Mario Bros and clones
Steps To Reproduce
Additional Information
Regression Version 0.194
Affected Sets / Systems mario and clones
Attached Files
There are no relationship linked to this issue.
User avatar
Feb 8, 2018, 11:20
Appears due to MCS48 changes early in the day on January 23, 2018.
User avatar
Feb 13, 2018, 03:30
The regression undoubtedly occurred with a98f32babe5fb37d41aca5527e4329f2d28e9360, which made the MCS-48 program counter wrap at 11 bits (as consistently documented). Before that commit, the mario sound program could execute the entire 2048 bytes of the "internal ROM" before getting to the beginning of MB1 where it needs to be. However, the "internal ROM" in all sets (excluding a few heavily modified bootlegs) is just zero-filled by the loading routine, meaning all NOPs. The actual hardware almost certainly couldn't work that way. (The schematics might well be wrong, though.)

The workaround I've devised is to hack SEL MB1 followed by JMP $000 into the internal ROM area. This gets the program counter to the beginning of MB1, but uses far fewer instructions to do so.