Viewing Issue Advanced Details
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|05385||Gameplay||Major||Always||Dec 1, 2013, 20:39||Jun 9, 2021, 23:29|
|Assigned To||Kale||Resolution||Fixed||OS||Windows Vista/7/8 (64-bit)|
|Version||0.151||Fixed in Version||0.233||Build|
|Fixed in Git Commit||80cfd04||Github Pull Request #||#8155|
|Summary||05385: downtown: After entering a high score, the high scores are reset to zero|
When the player is prompted to type in their initials, their high score is displayed in the top middle column where it should be. Once the player enters their initials the high score column resets to zero, and all of the high scores display 00.
Related glitch: When typing in your initials after a 1-player game, Player-2 is prompted to type in their initials, even though they received a score of zero.
|Steps To Reproduce||
1. Insert Coin
2. Hit 1-player start
3. Rack up more than 0 points
5. Type in player 1, in addition to player 2's initials
Then the glitch happens
I've tested all of the clones in MAMEUI64 .145u7 and MAMEUI64 .151, the same thing happens.
I've tried typing in player 2's initials before typing in player 1's.
The same glitch occurs in a 2-player game as well
|Affected Sets / Systems||downtown|
|There are no relationship linked to this issue.|
Jun 7, 2021, 22:01
Game reads writes to protection area $200111 onward, if initialized in service mode* then default table should be 50k - 40k - 30k - 20k - 10k
*which implies that there's an undumped MCU with NVRAM or EEPROM device attached for saving those scores.
Jun 8, 2021, 02:20
|Does this fix it? https://github.com/mamedev/mame/commit/80cfd0464e9c38fb9bc3a74b87300f5d1b018488|
Jun 8, 2021, 02:59
Downtown's protection/NVRAM IC appears to be a 48-pin DIP marked X1-009 (with a Mitsubishi-style datecode). A lithium battery is located nearby on the PCB.
X1-009 also appears on Yumefuda (again with a battery) and Pairs Love (with no battery). I somewhat doubt it's really a MCU.
Jun 9, 2021, 22:15
edited on: Jun 9, 2021, 22:16
In DownTown $2000f9 is lock/unlock, similar to $a7fc in yumefuda including writing 0xa3-0x00, except the space doesn't match ($f9 / 2 = $7c) and of course it actually bankswitches "WALTZ0" from $2b8 in the window here. While $200000 seems to be some kind of "keep alive" during POST while doing a main 68k ROM checksum.
Pairs Love hookup is similar to DownTown plus connects $900060 to an incrementing counter when credit is inserted. I sense a code smell in the current "cached RAM" handling for the $100-$1ff RAM area, game does a very limited/naive use of the RAM at PC=892c and may just bankswitch again with a ROM (it just checks for value inequality after all)
Regardless gonna mark this as resolved, feel free to do a mini-device or open a "Write a X1-009 device" issue on github.