Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
01021 Side-by-side Minor Have not tried Feb 8, 2008, 13:09 May 28, 2010, 15:29
Tester Gary Walton View Status Public Platform
Assigned To Resolution Reopened OS
Status [?] Confirmed Driver
Version 0.62 Fixed in Version 0.124u2 Build
Fixed in Git Commit Github Pull Request #
Summary 01021: dorunrun2: Side-by-side test.
Description Side-By-Side test

Game: Do Run Run
RomSet: dorunru2
Version:
PCB: Original Universal PCB
Mame Vers.: windows mame 61
Test Date: Several days upto 20/10/02
Posted: 15th November 2002

Observations: Visually, this looks exact to the original. One noticeable difference is that the screen is very wide on the arcade, where as, in mame, it only fills 2/3's or so horizontally. This is certainly a game that looks its best filling the screen. This is not a fault with the emulation.

At first, I thought there was nothing I could fault with the emulation. It was only after studying the PCB and mame versions for ages that a bug shows itself. This is to do with the dip switches and shows itself nicely in the attract mode.

The game has four levels of difficulty. You can tell whether it is set to one of the two easiest levels as follows:

If, during the attract mode, there are four green monsters, then it is one of the two easier modes. If there are five green monsters, then it is one of the two harder levels.
This applies to both the game mode and attract mode . You do not appear to be able to tell which of the easier or which of the harder modes it is set to.

Firstly, let's see how the attract mode works for the PCB. The programmers of the arcade game have been very clever. Despite the attract mode being seemingly random, as I first thought, it is not.

The attract mode is as follows ( FIRST TIME PCB IS POWERED UP AND SET TO EASIEST SETTING):

1) Mr do moves right. Kills monsters and a letter 'E' on screen at start.
2) Mr do moves Left.
3) Mr do moves right
4) Mr do moves left. Gets 'X' monster.
5) Mr do moves right. Same logic as 1).
6) Mr do moves left. Get 'T' monster.
7) Mr do moves right.
8) Mr do moves left. Kills 'E' monster - but already has this.
9) Mr do moves right.
10) Mr do moves left. Kills 'R' monster.
11) Mr do moves right.
12) Mr do moves. Kills 'A' monster. Shows winning extra Mr do.

The above does repeat although is slightly different,

The letters are won as : X-T-R-A-E.

This sequence is repeatable each time PCB is powered up so should be easy to determine if mame is accurate.

Now, turning to mame, this does not happen. The reason for this is, despite the game being set to the easiest level, it still shows five monsters so is therefore set to one of the harder levels. This makes the emulation incorrect. So it looks as though mame is not reading the difficulty dips correctly.

However, saying that, there are occaisions when the emulation does show correctly four monsters when set to easy. I have yet to determine the reason why ! When this happens, mame correctly maps what the PCB does although *very* occaisionally, one of the green monsters takes a slightly different path - but the screen finishes the same. I do not think this is a bug. Just a slight element of randomness.

The overall speed is good although mame does tend to get gradually ahead over the PCB.

Colours: This compares well to the original with the usual slight differences.

Sounds: Setting both the PCB and emulation volumes to the same level, all sounds are correctly played in both nature and volume. So no problems here.

Finally, note that comments to the incorrect dip switches probably apply to Mr Do's wild ride.

Therefore, apart from the one bug - which does spoil it slightly - this is an excellent emulation.

Regards

Gary

P.s
For interests sake, I decided to study the PCB attract mode when set to its most
difficult setting.
1) Mr do moves right: Gets 'E'
2) Mr Do moves left: Fails to get an 'A'
3) Mr do moves right. Killed on way up to log ( pauses and is hit by baddie. This baddie subsequently killed my Mr Do's ball released just prior to death ).
4) Mr do moves left: Fails to get 'X' ( doesn't die but all baddies are killed with 'X' still on screen ).
5) Mr do moves right. Same sequence as in 3)
6) Mr do moves left. Gets an 'A'. Kills all monsters - last one via log.
7) Mr do moves right. As 3)
8) Mr do moves left. Gets an 'A'.

One slightly worrying aspect is the movement of the blue monster during the attract mode.
On the PCB, it tends (but not always) to moves left and then down to the bottom of the top platform before moving left or right. On the emulation

As you can see, the attract mode is clearly designed with the dips set to easy to show getting 'EXTRA'. It is interesting why the game does not set the attract to easy regardless of the dips. Oversight perhaps ?

Note that playing a game does NOT reset the attract mode to the start of its main
sequence. In fact, it messes up.
Steps To Reproduce
Additional Information
Github Commit
Flags Verified with Original
Regression Version
Affected Sets / Systems dorunrun2
Attached Files
 
Relationships
related to 01022ResolvedAJR  dowild: "Mr Do's Wild Ride" side-by-side test. 
related to 01704Resolved  dorunrun, dorunrun2, dorunrunc, dorunrunca, spiero: Game starts with 5 lives regardless of dip settings 
Notes
3
User avatar
No.06188
hap
Developer
May 27, 2010, 14:45
I'm reopening this.

The fix (kludge) was changing maincpu speed from 4mhz to 3.98mhz. It's broken again after the refresh rate was changed from 60 to 59.6hz and still there if changing maincpu speed back to 4mhz.

Accurate measurements would help :) including fixing this thing:
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold, 8)
User avatar
No.06192
Kold666
Developer
May 28, 2010, 07:36
the vsync was verified by me and 100% sure :)
if you want me to check something I have both Mr.Do Castle and Do run run, which share the same pcb layout
User avatar
No.06194
hap
Developer
May 28, 2010, 15:29
Sure. Could you measure hsync?
And, according to the schematics, all 3 Z80 run at 4mhz. PCB has a 4mhz and a 9.828mhz crystal. Could you make sure that none of the Z80 run at 9.828/2?