Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
00660 DIP/Input Minor Always Feb 1, 2008, 05:49 Jan 13, 2010, 21:54
Tester Thenasty View Status Public Platform
Assigned To stephh Resolution Fixed OS
Status [?] Resolved Driver
Version 0.95u5 Fixed in Version 0.136u1 Build
Fixed in Git Commit Github Pull Request #
Summary 00660: zoar: The cabinet UPRIGHT dipswitch is not working.
Description The cabinet UPRIGHT dipswitch is not working. The game is always in COCKTAIL mode.

Follow-up by Luigi30 in 0.120: I took a look in the debugger at $9800, where the DIP switch for Upright/Cocktail is kept. No matter what it's set to, it's overwritten with AF or 2F, rather than the EF or 6F it should be. Could it be a protection issue related to the undumped ROM containing Service Mode?
Steps To Reproduce
Additional Information
Github Commit
Flags Verified with Code
Regression Version 0.33b4
Affected Sets / Systems zoar
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
6
User avatar
No.00487
RansAckeR
Tester
Mar 31, 2008, 19:01
According to the manual the current cocktail DIP is actually the DIP for Table/Upright Controls only and DSW1:8 should be the screen flipping switch. Which is the one currently marked as vblank?

PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK )
User avatar
No.00494
RansAckeR
Tester
Apr 1, 2008, 07:21
About the zoar service mode:

/* Service mode doesn't work because of missing ROMs */
PORT_SERVICE( 0x20, IP_ACTIVE_LOW )

The manual doesn't say anything about a service mode/switch. The manual indicates the 0x20 dip switch is simply unused. Is there proof of a service mode?
User avatar
No.04021
Smitdogg
Senior Tester
Mar 22, 2009, 06:32
edited on: Mar 22, 2009, 06:34
About service mode, every Zoar pcb I've seen is "missing" that rom. Guru says it's probably a rom used to test things on the boards before they shipped from the factory but wasn't shipped on the boards.
User avatar
No.04035
Robbbert
Senior Tester
Mar 23, 2009, 06:08
Sounds like it might be a btanb..
User avatar
No.04053
Smitdogg
Senior Tester
Mar 24, 2009, 17:07
edited on: Mar 24, 2009, 17:08
Yeah the bit about the missing rom could be separated into a btanb. I'll separate them when I get a chance.
User avatar
No.05509
stephh
Developer
Jan 13, 2010, 21:51
The initial bug about the "Upright" setting of the "Cabinet" Dip Switch has nothing to do with protection (as Luigi supposed), nor it is a BTANB (according to Robbbert).

I've submitted a fix which updates the 'zoar_video_control_w' handler in a similar way to the 'bnj_video_control_w' and 'disco_video_control_w' handlers, and changed the Dip Switches as in the other games (even if I can't use IPT_VBLANK as players would have almost no time to enter their initials).


FYI, here is why the value read within the debugger never change when you toggle the "Cabinet" Dip Switch :

static ADDRESS_MAP_START( zoar_map, ADDRESS_SPACE_PROGRAM, 8 )
...
AM_RANGE(0x9800, 0x9800) AM_READ(zoar_dsw1_read)
...
ADDRESS_MAP_END

static INPUT_PORTS_START( zoar )
...
PORT_START("DSW1")
...
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:8")
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
...
INPUT_PORTS_END

static READ8_HANDLER( zoar_dsw1_read )
{
return (!video_screen_get_vblank(space->machine->primary_screen) << 7) | (input_port_read(space->machine, "DSW1") & 0x7f);
}

You can easily notice that bit 7 of DSW1 was ALWAYS discarded.


Dip Switches still require to be check against the M6502 code (for this game as well as the other games in this driver), but this another story ... So I consider this bug as fixed, and I let moderators move things about the SERVICE_MODE stuff to a documentation bug ...