Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
02577 DIP/Input Minor Always Oct 18, 2008, 20:32 Oct 21, 2008, 02:07
Tester Gyrovision View Status Public Platform MAME (Official Binary)
Assigned To etabeta Resolution Fixed OS Windows XP/Vista 32-bit
Status [?] Resolved Driver pacman/jrpacman.cpp
Version 0.128 Fixed in Version 0.128u1 Build Normal
Fixed in Git Commit Github Pull Request #
Summary 02577: crush and clones: Broken Dips
Description The "Coinage" and "Teleport Holes" dips are broken
Steps To Reproduce The game coins-up with 2 coins/1 credit setting only. All other coinage settings and free play not working.
Teleport Holes setting is not working, seen as switched "off" during game play.
Here's a side effect:
In any stage during the game, hold down the player 1 start button and within 2 to 20 seconds the teleport hole will appear, even when switched off in the dipsw setting and rebooted. If you release the player 1 start button you can move over the teleport hole without teleporting. If you hold down the player 1 start button while passing over the teleport hole you will teleport.
All other dip switches appear to be working normally but cannot confirm if "First Pattern" is broken or normal game behavior.
Additional Information Tested with sets crush and maketrax only, I do not have any other clone sets.
Regression is somewhere between 0.125u1 and 0.126. Tests working in 0.125 and broken in 0.126 official binaries.
Github Commit
Flags
Regression Version 0.125u7
Affected Sets / Systems crush and clones
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
4
User avatar
No.02893
stephh
Developer
Oct 20, 2008, 10:23
edited on: Oct 20, 2008, 10:24
If you look at maketrax_special_port2_r, it reads data from IN1.

But if you look at the INPUT_PORTS definition, the protection affects DSW1.

Furthermore, the handler affects memory where DSW1 is read (see pacman memory map).

So I think you should have this :

static READ8_HANDLER( maketrax_special_port2_r )
{
    int data = input_port_read(machine, "DSW1");
    ....
}

Sets that shall be affected : crush, maketrax, maketrxb, mbrush.


BTW, there seems to be the same problem for 'korosuke' where the read handler shall be :

static READ8_HANDLER( korosuke_special_port2_r )
{
    int data = input_port_read(machine, "DSW1");
    ....
}


I can't code anything right now, so I hope that someone will be able to look at this ...
User avatar
No.02895
etabeta
Developer
Oct 20, 2008, 16:45
edited on: Oct 20, 2008, 16:45
when inputs were converted from indexed to tagged, the wrong tag was used for both input handlers (input ports 2 were 'dsw1' and not 'in1')

fix submitted
User avatar
No.02896
Gyrovision
Tester
Oct 20, 2008, 20:26
Thanks guys, great job!
User avatar
No.02897
Fujix
Administrator
Oct 21, 2008, 02:07
I updated the configuration and moderators can handle an issue now.