Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06765 Crash/Freeze Critical (emulation) Always Nov 19, 2017, 16:47 25 days ago
Tester vidpro1 View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows 10 (64-bit)
Status [?] Confirmed Driver vicdual.cpp
Version 0.191 Fixed in Version Build 64-bit
Summary 06765: tranqgun: Resets or Crashes on Game Over or if you pass Round 3 - No dipswitches
Description The dipswitches do not work..
Cocktail mode is stuck on permanently.
Doing save states during a certain time resets the emulator, ie while truck bonus is adding up.
Game crashes to Game Over after Round 3 complete. Tranquilize all 4 animals on screen at once.
During some game overs the screen freezes does not go to attract but you can get around it by putting credits.
Steps To Reproduce Here's something that most people have probably not tried. Your jeep only has 30 lites of gas. To get 10 more liters of gas you must tranquilize and drag 1 of each species to the jeep (4). This works

To pass a round in Tranquilizer Gun, tranquilize all 4 animals on the screen at once to go to the next level (monkey, lion, elephant, and snake). The game crashes with Game Over if you do this on round 3. (The only way to advance levels)

The only known other working version of the game is a Playstation 2 version on the Sega Ages collection where I had played and verified it and made it to round 5. I also tried using a super old version of mame from the early 2000s the problem is still there. (.36)
Additional Information
Regression Version
Affected Sets / Systems tranqgun
Attached Files
png file icon 0006.png (5,159 bytes) Nov 19, 2017, 16:47 Uploaded by vidpro1
There are no relationship linked to this issue.
User avatar
Nov 29, 2017, 16:59
I have some more information about this bug now that the new version of MAME is out. It looks like the game is definitely having trouble trying to save any score data to any of the three high score slots at the top of the screen after the last life is lost. (Before GAME OVER is displayed). This appears to be where the crash happens.
User avatar
Nov 30, 2017, 10:26
I'm currently working on the vicdual driver, so I'll take a look at this soon.
User avatar
Dec 12, 2017, 03:52
Just so it doesn't get lost, here's a pic of the dip-switch settings provided by gregf:
User avatar
Senior Tester
30 days ago
edited on: 30 days ago
I wonder if it's a bad dump, it looks suspiciously like it's ending up in bad code and only getting back to where it needs to be by chance. Does anybody have the PCB to check?

This corruption is not present on original hardware
User avatar
Senior Tester
30 days ago
edited on: 30 days ago
actually the ROM mirror is hiding it, but it might be a protection check

[:maincpu] ':maincpu' (3F0D): unmapped program memory write to 4000 = D8 & FF
[:maincpu] ':maincpu' (3F0E): unmapped program memory read from 7800 & FF

3F01: F5 push af
3F02: D5 push de
3F03: E5 push hl
3F04: 21 00 40 ld hl,$4000
3F07: 11 00 78 ld de,$7800
3F0A: 3E D8 ld a,$D8
3F0C: 77 ld (hl),a
3F0D: 1A ld a,(de)
3F0E: E6 07 and $07
3F10: FE 02 cp $02
3F12: 20 1A jr nz,$3F2E
3F14: 3E 3A ld a,$3A
3F16: 77 ld (hl),a
3F17: 1A ld a,(de)
3F18: E6 07 and $07
3F1A: FE 01 cp $01
3F1C: 20 10 jr nz,$3F2E
3F1E: 3E 6A ld a,$6A
3F20: 77 ld (hl),a
3F21: 1A ld a,(de)
3F22: E6 07 and $07
3F24: FE 06 cp $06
3F26: 20 06 jr nz,$3F2E
3F28: E1 pop hl
3F29: D1 pop de
3F2A: F1 pop af
3F2B: C3 DA 32 jp $32DA

-- fail?
3F2E: E1 pop hl
3F2F: D1 pop de
3F30: F1 pop af
3F31: C3 E1 3E jp $3EE1
User avatar
Senior Tester
30 days ago
The 'no dipswitches' part of this still applies btw, but I'm not convinced the set we have has any settings you can change, that doesn't seem to be a protection thing.
User avatar
30 days ago
edited on: 30 days ago
Well, then I guess leave it open
One of the reasons I hate combination bug reports like this it is easy to just overlook one or the other thing.
User avatar
Senior Tester
30 days ago
I think a new report saying 'dipswitches have no function' should be opened, although I'm kinda inclined to think that's just how it is
User avatar
27 days ago
Depending on how the hardware works, cocktail always on may not be a real bug, either. Some early games lack hardware to actually draw the image upside down, and instead use a relay board to reverse the deflection coil connections to the monitor. For example Midway Space Invaders works like this (pin 12 of the 16-pin connector on the game logic board drives the relay board to flip the screen in a cocktail cabinet), as do the Zaccaria-developed Laser Battle/Lazarian and Cat and Mouse.

Laser Battle/Lazarian and Cat and Mouse always output the signal to flip the screen for the second player, irrespective of the cabinet type. Upright cabinets lack the relay board for flipping the screen, so the signal just doesn’t do anything in an upright cabinet. Tranquillizer Gun could work the same way. We need schematics/wiring diagrams to confirm.

I’m also inclined to believe that the game options that can be changed with DIP switches. It doesn’t appear to have any code to behaviour depending on DIP switch positions. The instruction sheet attached here says nothing about DIP switches. The table shows the anesthesia time/scores for the first round and multipliers for subsequent rounds.
User avatar
25 days ago
edited on: 25 days ago
U4.BIN rom controls cocktail mode - change 1 byte

34A: 28 Cocktail Mode Flip for 2 players.
34A: 18 Upright Mode only.