- --
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
|
1.zip (10,689 bytes) Oct 17, 2018, 23:46 Uploaded by rodneylives Save state demonstrating the issue
| ||||
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.
| |||||
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.)
| |||||
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
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 |
---|---|
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? |
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 :) |
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. |
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.) |
No.15561
rodneylives Tester
Oct 18, 2018, 12:45
|
The problem is observed to happen in 0.170, 64-bit command line version. |
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)." |
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 |
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? |
No.15565
rodneylives Tester
Oct 18, 2018, 15:52
|
I just got the problem to happen in v0.158 too, argh. |
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. |
No.15569
rodneylives Tester
Oct 19, 2018, 15:02
|
Problem exists in v0.153. |
No.15570
rodneylives Tester
Oct 19, 2018, 15:36
|
Problem exists in v0.151. |
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....) |
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. |
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. |
No.15576
rodneylives Tester
Oct 20, 2018, 00:35
|
Exists in v0.142. |
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.) |
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. |
No.15580
MetalGod Senior Tester
Oct 20, 2018, 07:08
|
Cool ! So regression version is 0.124 |
No.15581
Osso Moderator
Oct 20, 2018, 08:38
|
If that's the change that broke it, regression version is 0.123u5 |
No.15590
Stiletto Developer
Oct 20, 2018, 15:47
|
well done, rodneylives. :) |
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. |
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 |
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. |
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. |
No.16018
rodneylives Tester
Jan 8, 2019, 03:52
|
Confirmed that the problem exists in 0.204 (64-bit UI version). |
No.16802
rodneylives Tester
Aug 25, 2019, 13:01
|
Confirmed that the problem exists in 0.212 (64-bit command-line version). |
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. |
No.16814
Stiletto Developer
Aug 27, 2019, 17:51
|
Frank's actually been around lately. |
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. |
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) |
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. |
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? |
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??? |
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? |
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. :) |
No.17934
rodneylives Tester
Sep 3, 2020, 06:06
|
On it |
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. |
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). |
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? |
No.18208
rodneylives Tester
Dec 3, 2020, 02:38
|
I don't understand? Is this something you need from me? |
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. |
No.18239
galibert Developer
Dec 10, 2020, 13:16
|
I mean what should really happen in the slapstic emulation, of course, not on screen :-) |
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 |
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. |
No.18244
rodneylives Tester
Dec 10, 2020, 17:06
|
Aaaaah my fault, sure. I'll try to make you one tonight. |
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? |
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. |
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. |
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. |
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? |
No.18259
galibert Developer
Dec 14, 2020, 22:27
|
Annnnnnnnnnnd I managed to fix it, weee :-) Thanks a lot for your invaluable help. |
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! |
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. |