Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07119 Gameplay Critical (emulation) Always Oct 17, 2018, 23:46 Dec 15, 2020, 12:07
Tester rodneylives View Status Public Platform Other
Assigned To galibert Resolution Fixed OS Windows 10 (64-bit)
Status [?] Resolved Driver
Version 0.200 Fixed in Version 0.227 Build 64-bit
Fixed in Git Commit Github Pull Request #
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?
Github Commit
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.
zip file icon rampart122.zip (862,517 bytes) Dec 12, 2020, 09:21 Uploaded by rodneylives
Recording made in MAME 122 showing a complete game (on Easy) without the issue occuring. (Zipped because of size.)
? file icon rampart.nv (4,096 bytes) Dec 12, 2020, 09:22 Uploaded by rodneylives
NVRAM for Rampart with game set on Easy (recordings were made with that setting)
Relationships
There are no relationship linked to this issue.
Notes
55
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
Moderator
Oct 20, 2018, 08:38
If that's the change that broke it, regression version is 0.123u5
User avatar
No.15590
Stiletto
Developer
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
Developer
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.
User avatar
No.18205
rodneylives
Tester
Dec 2, 2020, 09:20
Any movement on this? Is there some way I can help further? I recognize that Rampart is kind of a niche game, but it's one I care a lot about, and once upon a time it was quite popular (which is why there's like 14 ports of it for various systems and platforms).
User avatar
No.18207
Fortuna
Tester
Dec 3, 2020, 02:17
Why thinks in this game and your system program, thinks more and has the conclusion rampart sets need check every rom program, the 2 players, the 3 joystick and 3 trackball, is 50/50 possible in totally different program

This error
The bad load
Show a different level 4?
The set use other program code?
User avatar
No.18208
rodneylives
Tester
Dec 3, 2020, 02:38
I don't understand? Is this something you need from me?
User avatar
No.18238
galibert
Developer
Dec 10, 2020, 13:15
rodney, would you be capable with 0.122 (the latest one that works) to do a .inp that reaches level 4? It's rather unclear what should really happen...

  OG.
User avatar
No.18239
galibert
Developer
Dec 10, 2020, 13:16
I mean what should really happen in the slapstic emulation, of course, not on screen :-)
User avatar
No.18240
rodneylives
Tester
Dec 10, 2020, 13:39
The latest one that works is .123. An INP I have made demonstrating the issue, under that version. has been attached: https://mametesters.org/file_download.php?file_id=5573&type=bug
User avatar
No.18241
galibert
Developer
Dec 10, 2020, 14:50
Hmm no, that inp demonstrates (beautifully) the bug in current master, but 0.123 is incompatible with the current format.

  OG.
User avatar
No.18244
rodneylives
Tester
Dec 10, 2020, 17:06
Aaaaah my fault, sure. I'll try to make you one tonight.
User avatar
No.18250
rodneylives
Tester
Dec 12, 2020, 07:24
Having a problem... I already have several rampart inp's and one of them might be of a complete game, but, when I try to play one back, I get the error:

Input file is for game '', not for current game 'rampart'

Did I mess up when I created the recording? Can these be salvaged? I tried creating a new recording as a test and I got the same error when I tried to play it back, so I presume I'm recording incorrectly. I'm using the command line:

vmame64.exe rampart -video gdi -mouse -record rampart123.inp

Searching online hasn't revealed what I'm doing wrong. Can you see my error?
User avatar
No.18251
rodneylives
Tester
Dec 12, 2020, 09:25
Ah! My problem seems to have been the version of MAME I was using; I switched to v122 and it seems to record and play back fine.

Okay, I have recorded a complete game under .122. I think I should mention a caveat of both versions (this one without the bug and the one I made demonstrating it, I think), they are done with the operator settings set to Easy, so make sure to set that too: switch on Service Mode in operator settings. I have uploaded my NVRAM with that setting in case it helps--I've verified that the complete game version, at least, plays back correctly up to the first rebuild phase of Level 4 using it (I've not checked past that, but that should be enough to demonstrate the lack of issue). I don't *think* there are any issues with NVRAM state beyond difficulty--Rampart doesn't appear to use NVRAM to seed or save the PRNG. (Why did I play it on Easy? Rampart is not an easy game even on the easiest settings! My priority was to be able to demonstrate the issue in reasonable time.) Since I didn't have the benefit of the entirety of my customized controls I took this game to its limit in terms of continues, I'm afraid, but I got the job done. The inp has been uploaded under rampart122.zip (the inp zipped); the NVRAM as rampart.nv.
User avatar
No.18252
galibert
Developer
Dec 12, 2020, 14:10
Yeah, 0.123 has a bug on replay where the test on whether the inp file is "old" or "new" formats (which are both old by now) is inverted. So it can't replay anything without a patch.

Gonna try your file, much thanks. The situation is rather weird, in that the game requires banks 3 and the slapstic switches to bank 3 but wants in reality bank 2. Really curious what 0.122 does.
User avatar
No.18253
galibert
Developer
Dec 12, 2020, 17:49
Ok, I see what's going on. Atari are perverts.

The switch routine has multiple version depending on which bank is active, and some prioritize the addition mode over the alternative mode, while others do the contrary. Hopefully once the 68000 prefetch is fixed it will work (even if I have a doubt w.r.t some subtle /cs related details...).

  OG.
User avatar
No.18254
rodneylives
Tester
Dec 13, 2020, 00:28
Hm. Well I'm glad progress has been made! Is there anything else I need to do?
User avatar
No.18259
galibert
Developer
Dec 14, 2020, 22:27
Annnnnnnnnnnd I managed to fix it, weee :-) Thanks a lot for your invaluable help.
User avatar
No.18260
rodneylives
Tester
Dec 14, 2020, 23:47
Ah, awesome! Thanks to you for fixing it! I can't wait to test it out!
User avatar
No.18263
Robbbert
Senior Tester
Dec 15, 2020, 12:07
Resolving... if it turns out there's bugs further on in the game then please reopen.