Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
09327 Graphics Minor Always 5 days ago 4 days ago
Tester motomachi16 View Status Public Platform MAME (Official Binary)
Assigned To motomachi16 Resolution Fixed OS Windows (x64)
Status [?] Resolved Driver
Version 0.283 Fixed in Version 0.284GIT Build x64
Fixed in Git Commit c727a62 Github Pull Request #
Summary 09327: terraf and clones: Sprites may disappear during attract mode.
Description This is an easy phenomenon to spot in the Japanese version.
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems terraf and clones
Attached Files
png file icon 0000-1.png (78,016 bytes) 5 days ago Uploaded by motomachi16
motomachi16
png file icon 0000-2.png (72,947 bytes) 5 days ago Uploaded by motomachi16
motomachi16
Relationships
There are no relationship linked to this issue.
Notes
7
User avatar
No.23897
motomachi16
Tester
5 days ago
Maybe the sprite RAM size is different.
The following changes will allow it to display correctly:

armedf.cpp

void armedf_state::terraf_common_map(address_map &map)
{
common_map(map);
map(0x060000, 0x0605ff).ram().share("spriteram"); // fix
map(0x060400, 0x063fff).ram();
}
User avatar
No.23898
motomachi16
Tester
5 days ago
By the way, if you make a similar modification to Kozure Ookami, one player will be lost when time runs out.
Please be sure to check it out.
User avatar
No.23900
hap
Developer
4 days ago
Other than increasing 2nd ram() start offset, fix is ok!

"By the way, if you make a similar modification to Kozure Ookami, one player will be lost when time runs out."
I don't understand what you mean.

kozure_map is:
map(0x060000, 0x060fff).ram().share("spriteram");
map(0x061000, 0x063fff).ram();
User avatar
No.23901
hap
Developer
4 days ago
I can also see player sprites disappear in terraf (parent set) attract mode lava stage, so I changed terrafj => terraf and clones
User avatar
No.23902
motomachi16
Tester
4 days ago
sorry.
When I assumed that this was the design of the board and made corrections, the overtime function also worked as a byproduct.

map(0x060000, 0x0605ff).ram().share("spriteram"); // Kozure Ookami timer over bug fixed, need verify
map(0x060600, 0x063fff).ram(); //fix
User avatar
No.23903
hap
Developer
4 days ago
Yes it's likely all games on this hardware have size 0x600 spriteram instead of 0x1000, we'd need to test all games then.

Changing the spriteram size can't have any effect on this time over bug.
To the emulated software, there's RAM at 60000-63fff, no matter where the limit of spriteram sits.
I don't see anywhere else where m_spriteram is written to, and there's no sprite collision flags or anything like that.

Besides, it looks like MAME hacks around it already in init_kozure?
/* patch "time over" bug, see notes on top. */
ROM[0x1016c/2] = 0x4e71;
User avatar
No.23904
motomachi16
Tester
4 days ago
I see, that was my misunderstanding.