Viewing Issue Advanced Details
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|08042||Graphics||Minor||Always||Jul 29, 2021, 04:31||Aug 3, 2021, 10:12|
|Tester||Cow||View Status||Public||Platform||MAME (Official Binary)|
|Assigned To||Kale||Resolution||Fixed||OS||Windows 10 (64-bit)|
|Version||0.234||Fixed in Version||0.235||Build||64-bit|
|Fixed in Git Commit||e4963f1||Github Pull Request #|
|Summary||08042: finalapr, finalapr1, finalaprj: Flagman doesn't do his job|
The dude at the end of a race is supposed to wave a chequered flag. but in MAME, he does nothing
|Steps To Reproduce||Finish a race|
|Flags||Verified with Original, Verified with Code|
|Affected Sets / Systems||finalapr, finalapr1, finalaprj|
Mame 2021.07.28 - 23.25.26.07_Trim.mp4 (2,573,852 bytes) Jul 29, 2021, 04:31 Uploaded by Cow
|There are no relationship linked to this issue.|
Jul 29, 2021, 08:29
|I've checked some old mame videos. It seems this animation has never been emulated.|
Jul 29, 2021, 10:41
very strange bug I have to say. I wonder if it's some glitch that happens when machines aren't linked, or maybe a strange protection.
could be another missing video feature, but I'm struggling to think how.
could also finally be a CPU bug
Aug 2, 2021, 20:29
Used finalaprj as base:
Routine at 0xc2f0 draw tiles for the flagman.
It reads location $bed5a which is never updated by the i960 code, it effectively changes the flag position in 8 step chunks.
The only place where it writes data there is at 0x1309c: going backward it looks like that there's a read bit 1 at 0x3460 in network area ($30380002) where branch is never taken. If this branch is taken then game effectively updates the timer but also checks if bit 7 of the exact same network port is disabled at 0x34f0, otherwise tight loops.
TL;DR: network flags must be in "empty" state for non-linked machine to fix this.