Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07119 Gameplay Critical (emulation) Always Oct 17, 2018, 23:46 Sep 3, 2020, 07:03
Tester rodneylives View Status Public Platform Other
Assigned To Resolution Open OS Windows 10 (64-bit)
Status [?] Confirmed Driver rampart.cpp
Version 0.200 Fixed in Version Build 64-bit
Summary 07119: rampart, maybe rampartj and rampart2p: Late-game (level 4) internal game board different from that on screen, ultimately causes hangup
Description The problem was detected on MAMEUI64.

When the player gets to Level 4 on Veteran, in at least some circumstances (possibly all), the board visible on-screen doesn't match what's held in memory. The actual board is for a different level, and the disparity not only makes it weird to play, but ultimately causes the game to hang. I've got screenshots, a recording of a playthrough where the problem happens, and two saved states I can provide.

Ships end up sailing around on land, grunts travel through water, the player can build and place cannons on water. The castles, however, are placed according to the visible map, not the internal one. After finishing the board (it takes a long time!), board 5 locks up after selecting a Home Castle.

Video of the bug happening is up on YouTube:
Steps To Reproduce What I do:
1. Start a one-player game as Blue Army.
2. Play normally until Level 4 (it's the choice between two peninsula maps). I pick the one to the right.
3. Select the far-right castle for Home Castle. After selecting it, the problem should be evident immediately.

Note that getting this far into Rampart is pretty difficult. For help in getting that far, I suggest going into the operator's menu and setting the game as easy as possible, playing with analog mouse controls, and setting the sensitivity on the X and Y axes to at least 50. Even then, Rampart is a challenging game. I do not know if getting that far in another way causes the error to not occur. My assumption, at this point, is that it's just not possible to play level 4 without it happening.
Additional Information The attached file is a zipped save state (64-bit version of MAME v0.200) around where the problem has just occurred. If you need further information, such as the playthrough video (compressed it's around 200 megabytes), let me know where to upload it. There are screenshots of the problem in action in an Imgur gallery I made here: https://imgur.com/gallery/laN5bAn

I also mentioned the bug in this thread in the MAMEdev forums: https://forum.mamedev.org/viewtopic.php?f=14&t=358&p=1132 There, Tafoid suggested it might be a problem with SLAPSTIC emulator, which I seem to remember was a issue with some previous versions? I have played Rampart through to completion in some previous versions of MAME, so I presume the error was introduced since then, maybe in the past four or five years or so?

As an additional note--I have played Rampart in the arcade, and don't remember the digitized drums being quite so overwhelming as when it is emulated in MAME. Is this worth filing a separate bug for, or can the audio balance be manually adjusted somewhere?
Flags
Regression Version 0.123u5
Affected Sets / Systems rampart, maybe rampartj and rampart2p
Attached Files
zip file icon 1.zip (10,689 bytes) Oct 17, 2018, 23:46 Uploaded by rodneylives
Save state demonstrating the issue
? file icon rampartbug.inp (1,531,690 bytes) Sep 3, 2020, 07:00 Uploaded by rodneylives
INP recording of Slapstic bug in trackball Rampart, recorded in MAME .224 64-bit.
Relationships
There are no relationship linked to this issue.
Notes
39
User avatar
No.15556
MetalGod
Senior Tester
Oct 18, 2018, 10:47
edited on: Oct 18, 2018, 18:04
Indicating the first version where this error ocurred would help developers a lot. That's the regression version
User avatar
No.15557
rodneylives
Tester
Oct 18, 2018, 10:49
Hm. I will see what I can do, I'm not used to this kind of thing but, if I go through the changelogs of each version, going back and find the last time rampart was affected, then try that version and the one before, that might be a good strategy?
User avatar
No.15558
MetalGod
Senior Tester
Oct 18, 2018, 11:29
edited on: Oct 18, 2018, 13:08
Absolutely!
That's what I always do when searching for a regression version :)
User avatar
No.15559
rodneylives
Tester
Oct 18, 2018, 11:37
Going back to 2011 I didn't see anything affecting rampart directly, and I'm pretty sure I've played the level in question back then without problems.

I just tried it in v0.194, 64-bit command line, and the problem occurred. I'll try again in a version going back another year next time. This might take me some time to do.
User avatar
No.15560
rodneylives
Tester
Oct 18, 2018, 12:09
I have now observed the problem in 0.182 command line version. (All these versions are official binaries, 64-bit.)
User avatar
No.15561
rodneylives
Tester
Oct 18, 2018, 12:45
The problem is observed to happen in 0.170, 64-bit command line version.
User avatar
No.15562
rodneylives
Tester
Oct 18, 2018, 12:50
MAME 0.158 refuses to start at all, with the error "Unable to create the Direct3D device (8876086C)."
User avatar
No.15563
Tafoid
Administrator
Oct 18, 2018, 13:54
Please remember that not all reported bugs have a regression version. Some have been flawed since added and that may be the case here. I'd love to be proven wrong and actually find a working binary version but given how long it takes to get to the point in which the issues show up, it'll take a long while

rodneylives: If you have to, use -video ddraw or -video gdi or try also running it in a -window
User avatar
No.15564
rodneylives
Tester
Oct 18, 2018, 15:26
I'm almost certain I've finished this game in MAME before, though, a while back. But it's true, much of my playing back in the day was from the Midway Arcade Treasures emulated version. I remember back when I play it a bit on MAME, in those days, there was a note before playing that warned of incomplete Slapstic emulation, but it still seemed to work? Maybe there was a workaround in place then, and now it's trying to emulate it completely, but wrongly?

How could I find the version of MAME where Slapstic emulation was last changed?
User avatar
No.15565
rodneylives
Tester
Oct 18, 2018, 15:52
I just got the problem to happen in v0.158 too, argh.
User avatar
No.15568
rodneylives
Tester
Oct 19, 2018, 14:32
Continuing--

v0.149: Claims roms are incorrect and game may not work correctly. Game fails to boot.
User avatar
No.15569
rodneylives
Tester
Oct 19, 2018, 15:02
Problem exists in v0.153.
User avatar
No.15570
rodneylives
Tester
Oct 19, 2018, 15:36
Problem exists in v0.151.
User avatar
No.15571
rodneylives
Tester
Oct 19, 2018, 16:28
And, the problem exists in v0.150.

To go beyond this, I will have to obtain rom images that work under 0.149.

(During the the process of playing all these games of Rampart, I've learned a couple of surprising things about the gameplay, things that I haven't seen reported anywhere....)
User avatar
No.15574
rodneylives
Tester
Oct 19, 2018, 22:48
It exists in v0.149 as well. It's evident it goes back further than I expected.
User avatar
No.15575
rodneylives
Tester
Oct 19, 2018, 23:41
Ah ha! The problem is not exhibited in v0.122! Whatever it is must be after that and before 0.149.
User avatar
No.15576
rodneylives
Tester
Oct 20, 2018, 00:35
Exists in v0.142.
User avatar
No.15577
rodneylives
Tester
Oct 20, 2018, 00:37
(I accidentally used the 32-bit version for that one, so we can definitely say the problem isn't 64-bit exclusive.)
User avatar
No.15578
rodneylives
Tester
Oct 20, 2018, 04:28
GRAH, that was so annoying! Okay: The bug also exists in versions 0.141, 0.131, 0.128, 0.125 and 0.124. It does NOT exist in version 0.123. So, whatever it is, must have been introduced between v0.123 and v0.124.

The What's New of v0.124 doesn't mention Rampart, but it does say, "Changed slapstic management to always install an opbase handler to more aggressively catch code executing in the slapstic region. Updated all drivers to separate the slapstic region of ROM into a different ROM section from the fixed ROM. [Aaron Giles]" I presume the bug was introduced by that code.

That's all I can do I think, for now.
User avatar
No.15580
MetalGod
Senior Tester
Oct 20, 2018, 07:08
Cool !
So regression version is 0.124
User avatar
No.15581
Osso
Developer
Oct 20, 2018, 08:38
If that's the change that broke it, regression version is 0.123u5
User avatar
No.15590
Stiletto
Administrator
Oct 20, 2018, 15:47
well done, rodneylives. :)
User avatar
No.15592
rodneylives
Tester
Oct 20, 2018, 20:25
Thanks very much! I look forward to this getting fixed, Rampart is one of my favorite games.
User avatar
No.15595
Haze
Senior Tester
Oct 21, 2018, 09:21
Yeah, knowing when this broke is important, understanding why that change broke it when it should have improved things could prove tricky
User avatar
No.15596
rodneylives
Tester
Oct 21, 2018, 12:18
Well, let me know if there's anything I can do. I know a bit of coding but don't think I'm immersed enough in the workings of Atari arcade games to help in that.
User avatar
No.15792
rodneylives
Tester
Nov 17, 2018, 06:14
Minor additional note: I've seen the problem happen on the joystick version as well, now (current MAME version).

BTW, the sound issues I mention back in the original report remain; it seems that the digitized sounds are way louder than the synths than they are on arcade hardware, or even other emulations (like Digital Eclipse's commercial emulator). Should I file a bug for that too? I don't have direct access to an arcade unit to check for sure, unfortunately.
User avatar
No.16018
rodneylives
Tester
Jan 8, 2019, 03:52
Confirmed that the problem exists in 0.204 (64-bit UI version).
User avatar
No.16802
rodneylives
Tester
Aug 25, 2019, 13:01
Confirmed that the problem exists in 0.212 (64-bit command-line version).
User avatar
No.16812
rcoltrane
Tester
Aug 26, 2019, 23:05
I wish you good luck with this fix since the only two devs that actually worked on every Atari Games drivers were Aaron Giles and Frank Palazzolo, both now retired from the emulation scene for good AFAIK.
User avatar
No.16814
Stiletto
Administrator
Aug 27, 2019, 17:51
Frank's actually been around lately.
User avatar
No.16815
Haze
Senior Tester
Aug 28, 2019, 09:28
Aaron broke it tho, so Aaron is more likely to have an idea of why, although I'm sure anybody could add a bunch of logs on the old code vs new code and see where it differs in behavior once it hits this point.
User avatar
No.17800
rodneylives
Tester
Jul 2, 2020, 06:14
edited on: Jul 2, 2020, 06:14
Tested in v.222, this problem is still evident. (64-bit command line version)
User avatar
No.17803
AJR
Developer
Jul 2, 2020, 23:11
I wonder whether it could have anything to do with the disgusting hackery that is atari_slapstic_device::alt2_kludge, which seems to have been introduced for the sole purpose of working around ancient MAME's inability to fetch opcodes from custom handlers.
User avatar
No.17804
rodneylives
Tester
Jul 3, 2020, 01:40
I could not say. I suppose one thing that could be checked is if that kludge dates to v.124?
User avatar
No.17807
Fortuna
Tester
Jul 4, 2020, 05:54
Need test this in the ps2 version from Midway arcade treasure volume 1, include this game

Is possible:
-Emulation bug
-BTANB???
User avatar
No.17808
rodneylives
Tester
Jul 4, 2020, 06:20
I don't quite know what you mean. In the past, I have completed Rampart on the Gamecube version of MAT1 without encountering this problem. Does that help?
User avatar
No.17929
Roberto Fresca
Developer
Sep 1, 2020, 09:45
@rodneylives
Aaron said that maybe can track the issue if an INP reaching the bug is made, because he hates to play the game.
So... Construct one with the latest mame and post it.
:)
User avatar
No.17934
rodneylives
Tester
Sep 3, 2020, 06:06
On it
User avatar
No.17935
rodneylives
Tester
Sep 3, 2020, 07:03
edited on: Sep 3, 2020, 07:05
It's done, I have attached the INP to this issue. The bug can be seen starting with level four, about halfway into the video--you can build walls over the sea, grunts generate in the sea, and you can't place walls over some locations. Evidently where the game thinks the land is, and where it's displaying it, are different. I eventually pass level 4 (very slowly, since I can only sink two ships a round) and make it to level 5, where, unable to construct a wall around my starting castle, the game freezes.