Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08791 Crash/Freeze Critical (emulation) Always Nov 19, 2023, 19:54 Nov 23, 2023, 06:27
Tester Kale View Status Public Platform MAME (Official Binary)
Assigned To windyfairy Resolution Fixed OS Windows 10/11 (64-bit)
Status [?] Resolved Driver
Version 0.260 Fixed in Version 0.261 Build 64-bit
Fixed in Git Commit 702bda5 Github Pull Request # #11775
Summary 08791: landhigh, dendego3, possibly all games in the driver: Stuck at TLCS900 initialize screen
Description All tested games in the driver gets stuck at POST, should move on to the IPL phase after a couple seconds
Steps To Reproduce
Additional Information Regression version happened between 0.258 and 0.260
Github Commit
Flags
Regression Version 0.259
Affected Sets / Systems landhigh, dendego3, possibly all games in the driver
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.21846
hap
Developer
Nov 20, 2023, 09:55
It broke with this powerpc commit: https://github.com/mamedev/mame/commit/bced77dec95faea0a2adaa3de09dd1cb48b5ae92
User avatar
No.21847
windyfairy
Tester
Nov 21, 2023, 06:34
edited on: Nov 21, 2023, 06:35
I looked into it and the games seem to rely on using an invalid form of the lmw command to work. In particular, rD starts at r0 and rA starts at r1 which even according to the PowerPC 603 manual is not valid ("The PowerPC architecture defines the load multiple word (lmw) instruction with rA in the range of registers to be loaded as an invalid form"). One thing I wasn't clear on when I implemented it and still am not clear on after checking the manuals again is how exactly an "invalid form" involving the registers clashing is actually handled.

Since these games rely on the command to even function it doesn't seem like the invalid form is handled as an invalid opcode exception. Removing only the code that throws the invalid opcode/0x80000 exception lets these games boot again while also lets the originally broken game tropchnc to still boot. There's an issue here still in how to handle the invalid form so someone with more experience with PPC might be able to figure out the proper way to handle the invalid form of the command, but otherwise it probably wouldn't hurt to just remove the code that raises the exceptions.
User avatar
No.21858
VasiliyFamiliya
Tester
Nov 23, 2023, 06:27
Now, if to possess oneself, in Battle Gear 2 it's possible to long last till the record screens (althought they're still absolutely blank) in the attract mode.